{ "version": 1, "jobs": [ { "id": "77e0c1fa-1a84-4bd0-850b-62c5a8f8a59e", "agentId": "main", "name": "Daily Weather Report", "enabled": true, "createdAtMs": 1770270803088, "updatedAtMs": 1770304235810, "schedule": { "kind": "cron", "expr": "30 6 * * *", "tz": "America/Denver" }, "sessionTarget": "main", "wakeMode": "next-heartbeat", "payload": { "kind": "systemEvent", "text": "Fetch Denver weather: current conditions + today's high/low forecast. Use Open-Meteo API with both current_weather and daily forecast endpoints. Format as: Current: X°F, High: Y°F, Low: Z°F, conditions. Keep it brief and send to Discord." }, "state": { "nextRunAtMs": 1770384600000, "lastRunAtMs": 1770303600006, "lastStatus": "ok", "lastDurationMs": 8 } }, { "id": "6f19d187-7dd1-4409-af62-8f7d2bce6d7c", "agentId": "main", "name": "Daily Cost Report", "enabled": true, "createdAtMs": 1770270803116, "updatedAtMs": 1770304235831, "schedule": { "kind": "cron", "expr": "30 6 * * *", "tz": "America/Denver" }, "sessionTarget": "main", "wakeMode": "next-heartbeat", "payload": { "kind": "systemEvent", "text": "Generate daily cost report: 1) Run session_status to get token usage, 2) Calculate session cost (Sonnet 4.5: $3/1M input, $15/1M output), 3) Read budget-tracker.json, update total_spent and remaining, 4) Save updated budget-tracker.json, 5) Send brief report to Discord with: session tokens, estimated cost, remaining budget of $20 starting credit. Keep concise." }, "state": { "nextRunAtMs": 1770384600000, "lastRunAtMs": 1770303600021, "lastStatus": "ok", "lastDurationMs": 0 } }, { "id": "227933d9-1aba-400f-b421-ec1af923c399", "agentId": "main", "name": "Evening Cost Report", "enabled": true, "createdAtMs": 1770304320377, "updatedAtMs": 1770304320377, "schedule": { "kind": "cron", "expr": "0 20 * * *", "tz": "America/Denver" }, "sessionTarget": "main", "wakeMode": "next-heartbeat", "payload": { "kind": "systemEvent", "text": "Generate evening cost report: 1) Run session_status, 2) Calculate today's session cost (Sonnet 4.5: $3/1M input, $15/1M output), 3) Read budget-tracker.json, update totals, 4) Save budget-tracker.json, 5) Send brief evening update to Discord: today's usage and remaining budget. Keep concise." }, "state": { "nextRunAtMs": 1770346800000 } } ] }