@sideboard-ai/cli 0.1.318 → 0.1.320
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 +1 -1
- package/dist/index.js +8 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -15,4 +15,4 @@ Also installs `side` as a short alias. The MCP server is available as `sideboard
|
|
|
15
15
|
|
|
16
16
|
The phone app is the remote. Pair it from Settings → Remote on the Mac, then pick that desktop in the app. Agents stay on the Mac. Details: [README — Phone](../../README.md#phone).
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
Automations (sidebar after Board, CLI `sideboard schedule`, or MCP `create_schedule`) fire only while Sideboard.app is running. Overnight: Settings → Advanced → Caffeinate while automations are enabled. Details: [README — Automations](../../README.md#automations).
|
package/dist/index.js
CHANGED
|
@@ -515,7 +515,7 @@ ${preview.diffStat}`);
|
|
|
515
515
|
program.command("mcp").description("Run the Sideboard MCP stdio server").action(async () => {
|
|
516
516
|
await startMcpServer();
|
|
517
517
|
});
|
|
518
|
-
program.command("serve").description("Keep
|
|
518
|
+
program.command("serve").description("Keep automations and the phone relay running after the desktop window quits").option("--lan", "Also listen on this Mac so the phone can use ws://<lan-ip>:<port>/remote").action(async (opts) => {
|
|
519
519
|
const ac = new AbortController();
|
|
520
520
|
const stop = () => ac.abort();
|
|
521
521
|
process.on("SIGINT", stop);
|
|
@@ -542,12 +542,12 @@ ${preview.diffStat}`);
|
|
|
542
542
|
process.exit(code);
|
|
543
543
|
});
|
|
544
544
|
const scheduleCmd = program.command("schedule").description(
|
|
545
|
-
"
|
|
545
|
+
"Automations that trigger a chat (Sideboard.app or `sideboard serve` must be running to fire)"
|
|
546
546
|
);
|
|
547
|
-
scheduleCmd.command("ls").description("List
|
|
547
|
+
scheduleCmd.command("ls").description("List automations").action(() => {
|
|
548
548
|
const rows = listSchedules();
|
|
549
549
|
if (rows.length === 0) {
|
|
550
|
-
console.log(chalk.dim("No
|
|
550
|
+
console.log(chalk.dim("No automations"));
|
|
551
551
|
return;
|
|
552
552
|
}
|
|
553
553
|
for (const row of rows) {
|
|
@@ -582,7 +582,7 @@ ${preview.diffStat}`);
|
|
|
582
582
|
}
|
|
583
583
|
const agent = opts.agent ? parseAgent(String(opts.agent)) : void 0;
|
|
584
584
|
if (agent === "brightsy") {
|
|
585
|
-
throw new Error("
|
|
585
|
+
throw new Error("automations cannot use brightsy \u2014 pick claude, cursor, codex, or opencode");
|
|
586
586
|
}
|
|
587
587
|
const row = createSchedule({
|
|
588
588
|
name: opts.name,
|
|
@@ -595,13 +595,13 @@ ${preview.diffStat}`);
|
|
|
595
595
|
if (!row.threadId && row.when.kind !== "once") {
|
|
596
596
|
console.log(
|
|
597
597
|
chalk.yellow(
|
|
598
|
-
"Recurring
|
|
598
|
+
"Recurring automation has no --thread: each run opens a new orchestration chat."
|
|
599
599
|
)
|
|
600
600
|
);
|
|
601
601
|
}
|
|
602
602
|
console.log(
|
|
603
603
|
chalk.green(
|
|
604
|
-
`
|
|
604
|
+
`Automation ${row.id.slice(0, 8)} ${formatScheduleWhen(row.when)} next ${row.nextRunAt}`
|
|
605
605
|
)
|
|
606
606
|
);
|
|
607
607
|
console.log(chalk.dim("Fires while Sideboard.app is running on this Mac."));
|
|
@@ -616,7 +616,7 @@ ${preview.diffStat}`);
|
|
|
616
616
|
});
|
|
617
617
|
scheduleCmd.command("rm").argument("<id>", "schedule id").action((id) => {
|
|
618
618
|
const row = getSchedule(id);
|
|
619
|
-
if (!row) throw new Error(`
|
|
619
|
+
if (!row) throw new Error(`Automation not found: ${id}`);
|
|
620
620
|
deleteSchedule(row.id);
|
|
621
621
|
console.log(chalk.yellow(`Removed ${row.id.slice(0, 8)}`));
|
|
622
622
|
});
|