clawborrator-cli 0.2.12 → 0.2.14

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.
@@ -68987,9 +68987,12 @@ var probeCmd = new Command("probe").description("fan-out the same prompt to many
68987
68987
  });
68988
68988
 
68989
68989
  // src/commands/webhook.ts
68990
- var webhookAdd = new Command("add").description("register a webhook subscription").requiredOption("--url <url>", "https://\u2026 target endpoint").requiredOption("--events <csv>", 'comma-separated event types (or "*" for all)').option("--routing-name <handle>", "narrow to events for one session by routing name (e.g. @orchard-viper). Stable across managed-session restart / autoStart-respawn / kill+restart cycles, where sessionId would churn.").action(async (opts) => {
68990
+ var webhookAdd = new Command("add").description("register a webhook subscription").requiredOption("--url <url>", "https://\u2026 target endpoint").requiredOption("--events <csv>", 'comma-separated event types (or "*" for all)').option("--session <sessionId>", "narrow to one specific session by UUID. Durable for unmanaged sessions and managed sessions with preserveSessionId=true; goes silent on impermanent managed restarts (sessionId churns).").option("--routing-name <handle>", "narrow by routing name (e.g. @orchard-viper). Stable across managed-session restart / autoStart-respawn / kill+restart cycles. Combine with --session to AND-narrow.").action(async (opts) => {
68991
68991
  const events = opts.events.split(",").map((s) => s.trim()).filter(Boolean);
68992
68992
  const filters = {};
68993
+ if (opts.session) {
68994
+ filters.sessionId = opts.session;
68995
+ }
68993
68996
  if (opts.routingName) {
68994
68997
  filters.routingName = opts.routingName.startsWith("@") ? opts.routingName : "@" + opts.routingName;
68995
68998
  }
@@ -69408,16 +69411,20 @@ var desktopDelete = new Command("delete").description("hard-delete a desktop dae
69408
69411
  console.log(` sessions unmanaged: ${out.sessionsUnmanaged}`);
69409
69412
  if (out.wsClosed) console.log(` closed the live /supervisor WS`);
69410
69413
  });
69411
- var desktopCreate = new Command("create-session").description("ask a desktop daemon to spawn a managed CC session in a folder").argument("<machineId>", "desktop machine id (from `claw desktop list`)").argument("<folder>", "absolute path on the desktop where CC should be spawned").option("--routing-name <name>", "optional routing name for the new session (e.g. @frontend)").option("--flag <flag...>", "extra CLI flag to pass to claude. Repeat for multiple. Use one argv slot per --flag (e.g. --flag --model --flag opus, or --flag --model=opus). Reference: https://code.claude.com/docs/en/cli-reference#cli-flags").option("--manual-start", "do NOT auto-press Enter on startup; operator answers prompts via screenshot PIP / `claw session input`").action(async (machineId, folder, opts) => {
69414
+ var desktopCreate = new Command("create-session").description("ask a desktop daemon to spawn a managed CC session in a folder").argument("<machineId>", "desktop machine id (from `claw desktop list`)").argument("<folder>", "absolute path on the desktop where CC should be spawned").option("--routing-name <name>", "optional routing name for the new session (e.g. @frontend)").option("--flag <flag...>", "extra CLI flag to pass to claude. Repeat for multiple. Use one argv slot per --flag (e.g. --flag --model --flag opus, or --flag --model=opus). Reference: https://code.claude.com/docs/en/cli-reference#cli-flags").option("--manual-start", "do NOT auto-press Enter on startup; operator answers prompts via screenshot PIP / `claw session input`").option("--auto-start", "respawn this session whenever the desktop daemon reconnects (e.g. after PC reboot). With --preserve-session-id, the respawn keeps the same sessionId; without it, each respawn mints a fresh sessionId + token.").option("--preserve-session-id", "opt the session into sessionId-permanence: Reset (soft restart) becomes available, autoStart-respawn keeps the same sessionId, and history + agent.session_id + webhook pins survive across all restart shapes. Default false (impermanent \u2014 every restart rotates state).").action(async (machineId, folder, opts) => {
69412
69415
  const body = { folder };
69413
69416
  if (opts.routingName) body.routingName = opts.routingName;
69414
69417
  if (opts.flag && opts.flag.length > 0) body.flags = opts.flag;
69415
69418
  if (opts.manualStart) body.autoEnter = false;
69419
+ if (opts.autoStart) body.autoStart = true;
69420
+ if (opts.preserveSessionId) body.preserveSessionId = true;
69416
69421
  const out = await api.post(
69417
69422
  `/api/v1/desktops/${encodeURIComponent(machineId)}/sessions`,
69418
69423
  body
69419
69424
  );
69420
69425
  console.log(`\u2713 session created: ${out.sessionId}`);
69426
+ if (opts.autoStart) console.log(` auto-start: ON`);
69427
+ if (opts.preserveSessionId) console.log(` preserve session id: ON`);
69421
69428
  });
69422
69429
  var desktopCmd = new Command("desktop").description("inspect + control desktop daemons (clawborrator-supervisor)").addCommand(desktopList).addCommand(desktopDelete).addCommand(desktopCreate);
69423
69430
  function fmtAgo4(iso) {
@@ -69430,7 +69437,7 @@ function fmtAgo4(iso) {
69430
69437
 
69431
69438
  // src/index.ts
69432
69439
  var program2 = new Command();
69433
- program2.name("claw").description("clawborrator CLI \u2014 control your Claude Code sessions from the terminal").version("0.2.12");
69440
+ program2.name("claw").description("clawborrator CLI \u2014 control your Claude Code sessions from the terminal").version("0.2.14");
69434
69441
  program2.addCommand(loginCmd);
69435
69442
  program2.addCommand(logoutCmd);
69436
69443
  program2.addCommand(whoamiCmd);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawborrator-cli",
3
- "version": "0.2.12",
3
+ "version": "0.2.14",
4
4
  "type": "module",
5
5
  "description": "claw — command-line client for clawborrator. Attach to remote Claude Code sessions, send prompts, resolve permission gates, route across sessions, manage public agents and webhooks. Auth via GitHub OAuth + PKCE.",
6
6
  "license": "MIT",