@tuttiai/cli 0.11.1 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -0
- package/dist/index.js +605 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -231,6 +231,96 @@ Resume from turn 2? (y/n) y
|
|
|
231
231
|
Final turn: 3
|
|
232
232
|
```
|
|
233
233
|
|
|
234
|
+
### `tutti-ai schedule [score]`
|
|
235
|
+
|
|
236
|
+
Start the scheduler daemon — reads a score file, registers all agents
|
|
237
|
+
that have a `schedule` config, and runs on their configured triggers
|
|
238
|
+
(cron, interval, or one-shot datetime) until the process is killed.
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
tutti-ai schedule # defaults to ./tutti.score.ts
|
|
242
|
+
tutti-ai schedule ./custom-score.ts # specify a score file
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Score file example:
|
|
246
|
+
|
|
247
|
+
```ts
|
|
248
|
+
const score = defineScore({
|
|
249
|
+
provider: new AnthropicProvider(),
|
|
250
|
+
agents: {
|
|
251
|
+
reporter: {
|
|
252
|
+
name: "Reporter",
|
|
253
|
+
system_prompt: "Generate a daily status report.",
|
|
254
|
+
voices: [],
|
|
255
|
+
schedule: {
|
|
256
|
+
cron: "0 9 * * *", // 9 AM daily
|
|
257
|
+
input: "Generate the daily status report",
|
|
258
|
+
max_runs: 30, // auto-disable after 30 runs
|
|
259
|
+
},
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
});
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
Environment:
|
|
266
|
+
|
|
267
|
+
| Variable | Required | Description |
|
|
268
|
+
|---|---|---|
|
|
269
|
+
| `TUTTI_PG_URL` | Recommended | PostgreSQL URL for durable schedule persistence. Falls back to in-memory (lost on restart). |
|
|
270
|
+
|
|
271
|
+
The daemon logs `schedule:triggered`, `schedule:completed`, and
|
|
272
|
+
`schedule:error` events to stdout with timestamps.
|
|
273
|
+
|
|
274
|
+
### `tutti-ai schedules list`
|
|
275
|
+
|
|
276
|
+
Show all registered schedules:
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
tutti-ai schedules list
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Output:
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
ID AGENT TRIGGER ENABLED RUNS CREATED
|
|
286
|
+
──────────────────────────────────────────────────────────────────────────────────────
|
|
287
|
+
nightly-report reporter cron: 0 9 * * * yes 12 2026-04-14
|
|
288
|
+
health-check monitor every 30m yes 48/100 2026-04-14
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### `tutti-ai schedules enable <id>`
|
|
292
|
+
|
|
293
|
+
Re-enable a disabled schedule:
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
tutti-ai schedules enable nightly-report
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### `tutti-ai schedules disable <id>`
|
|
300
|
+
|
|
301
|
+
Disable a schedule without deleting it:
|
|
302
|
+
|
|
303
|
+
```bash
|
|
304
|
+
tutti-ai schedules disable nightly-report
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
### `tutti-ai schedules trigger <id>`
|
|
308
|
+
|
|
309
|
+
Manually trigger a scheduled run immediately (useful for testing):
|
|
310
|
+
|
|
311
|
+
```bash
|
|
312
|
+
tutti-ai schedules trigger nightly-report
|
|
313
|
+
tutti-ai schedules trigger nightly-report --score ./custom-score.ts
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### `tutti-ai schedules runs <id>`
|
|
317
|
+
|
|
318
|
+
Show run history for a schedule (last 20 runs):
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
tutti-ai schedules runs nightly-report
|
|
322
|
+
```
|
|
323
|
+
|
|
234
324
|
## Links
|
|
235
325
|
|
|
236
326
|
- [Tutti](https://tutti-ai.com)
|