svamp-cli 0.2.275 → 0.2.277

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.
Files changed (27) hide show
  1. package/dist/{agentCommands-DGT-1wjo.mjs → agentCommands-DN7hb_oL.mjs} +5 -5
  2. package/dist/{auth-CT55Rse4.mjs → auth-Ci70oWRc.mjs} +1 -1
  3. package/dist/{cli-DYTmO9JL.mjs → cli-Cgzvydbh.mjs} +97 -65
  4. package/dist/cli.mjs +2 -2
  5. package/dist/{commands-D7fIWAgz.mjs → commands-BryGjm3r.mjs} +1 -1
  6. package/dist/{commands-CVPcbtWV.mjs → commands-CT7m_PBV.mjs} +1 -1
  7. package/dist/{commands-C8Zc5axO.mjs → commands-CWVq7FHR.mjs} +7 -7
  8. package/dist/{commands-CXHZapLH.mjs → commands-Cc2BZW1I.mjs} +8 -7
  9. package/dist/{commands-C0rRjhMD.mjs → commands-CgQ3wXOd.mjs} +2 -2
  10. package/dist/{commands-BvmFXAmu.mjs → commands-Dx-uU1hc.mjs} +2 -2
  11. package/dist/{commands-BV_9mFkz.mjs → commands-KWZkSbXH.mjs} +2 -2
  12. package/dist/{fleet-BCel6ZVc.mjs → fleet-w3MI6ljI.mjs} +2 -2
  13. package/dist/{frpc-D3faR6iR.mjs → frpc-DnxvF_Mx.mjs} +7 -5
  14. package/dist/{headlessCli-DVBFm7og.mjs → headlessCli-CqxD6lTs.mjs} +2 -2
  15. package/dist/index.mjs +1 -1
  16. package/dist/notifyCommands-D8tYXxPA.mjs +128 -0
  17. package/dist/package-D5iaKvt5.mjs +64 -0
  18. package/dist/{pinnedClaudeCode-CgEtGkX2.mjs → pinnedClaudeCode-BaMR97BE.mjs} +1 -1
  19. package/dist/{rpc-xlV-4-BG.mjs → rpc-BKDKqllr.mjs} +1 -3
  20. package/dist/{rpc-BQ8zLSUc.mjs → rpc-BvXiNu-z.mjs} +1 -1
  21. package/dist/{run-C3Fcbk-H.mjs → run-CzXwL-ig.mjs} +277 -55
  22. package/dist/{run-DMPVho7i.mjs → run-pAWQPn46.mjs} +4 -3
  23. package/dist/{scheduler-DaFZY2ob.mjs → scheduler-D-25wsin.mjs} +1 -1
  24. package/dist/{serveCommands-B9Yhx1fl.mjs → serveCommands-DIckIiqD.mjs} +5 -5
  25. package/dist/{sideband-CYqmMG_m.mjs → sideband-Bk0GhfIX.mjs} +1 -1
  26. package/package.json +2 -2
  27. package/dist/package-DIuZ7Wfp.mjs +0 -64
@@ -2,7 +2,7 @@ import { existsSync, readFileSync, mkdirSync, writeFileSync, renameSync } from '
2
2
  import { join, dirname } from 'node:path';
3
3
  import os from 'node:os';
4
4
  import { requireNotSandboxed } from './sandboxDetect-DNTcbgWD.mjs';
5
- import { i as shortId } from './run-C3Fcbk-H.mjs';
5
+ import { i as shortId } from './run-CzXwL-ig.mjs';
6
6
  import 'os';
7
7
  import 'fs/promises';
8
8
  import 'fs';
@@ -96,7 +96,7 @@ async function sessionSetTitle(title) {
96
96
  }
97
97
  async function sessionSetProjectDescription(description) {
98
98
  const dir = process.cwd();
99
- const { projectName, writeProjectInfo, sanitizeDescription, projectInfoPath } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.al; });
99
+ const { projectName, writeProjectInfo, sanitizeDescription, projectInfoPath } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.an; });
100
100
  const desc = sanitizeDescription(description, 240);
101
101
  if (!desc) {
102
102
  console.error("Project description is empty.");
@@ -343,7 +343,7 @@ async function sessionBroadcast(action, args) {
343
343
  console.log(`Broadcast sent: ${action}`);
344
344
  }
345
345
  async function connectToMachineService() {
346
- const { connectAndGetMachine } = await import('./commands-D7fIWAgz.mjs');
346
+ const { connectAndGetMachine } = await import('./commands-BryGjm3r.mjs');
347
347
  return connectAndGetMachine();
348
348
  }
349
349
  function buildInboxMessage(args) {
@@ -421,7 +421,7 @@ async function inboxSend(targetSessionId, opts) {
421
421
  console.error("Message body is required.");
422
422
  process.exit(1);
423
423
  }
424
- const { connectAndResolveSession } = await import('./commands-D7fIWAgz.mjs');
424
+ const { connectAndResolveSession } = await import('./commands-BryGjm3r.mjs');
425
425
  let server;
426
426
  try {
427
427
  const { targetId, messageId } = await inboxSendCore(
@@ -475,7 +475,7 @@ async function inboxReply(messageId, body) {
475
475
  console.error("SVAMP_SESSION_ID not set. This command must be run inside a Svamp session.");
476
476
  process.exit(1);
477
477
  }
478
- const { connectAndResolveSession } = await import('./commands-D7fIWAgz.mjs');
478
+ const { connectAndResolveSession } = await import('./commands-BryGjm3r.mjs');
479
479
  const { server: localServer, machine: localMachine } = await connectToMachineService();
480
480
  let localDisconnected = false;
481
481
  const disconnectLocal = async () => {
@@ -1,4 +1,4 @@
1
- import { Y as resolveModel } from './run-C3Fcbk-H.mjs';
1
+ import { _ as resolveModel } from './run-CzXwL-ig.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -1,4 +1,4 @@
1
- import { Z as clearStopMarker, _ as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-C3Fcbk-H.mjs';
1
+ import { $ as clearStopMarker, a0 as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-CzXwL-ig.mjs';
2
2
  import { ensureSupervisorViaServiceManager, LAUNCHD_LABEL } from './serviceManager-hlOVxkhW.mjs';
3
3
 
4
4
  function flushAndExit(code) {
@@ -33,7 +33,7 @@ const subcommand = args[0];
33
33
  let daemonSubcommand = args[1];
34
34
  async function main() {
35
35
  try {
36
- const { getLoadedConfig } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.ai; });
36
+ const { getLoadedConfig } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.ak; });
37
37
  getLoadedConfig();
38
38
  } catch {
39
39
  }
@@ -52,7 +52,7 @@ async function main() {
52
52
  }
53
53
  const whenIdle = args.includes("--when-idle");
54
54
  const force = args.includes("--force");
55
- const mod = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.as; });
55
+ const mod = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.au; });
56
56
  if (whenIdle && !force) {
57
57
  if (mod.isDaemonAlive()) {
58
58
  mod.writePendingRestart({ reason: "svamp daemon restart --when-idle" });
@@ -356,7 +356,7 @@ async function main() {
356
356
  console.error("svamp service: Service commands are not available in sandboxed sessions.");
357
357
  process.exit(1);
358
358
  }
359
- const { handleServiceCommand } = await import('./commands-C8Zc5axO.mjs');
359
+ const { handleServiceCommand } = await import('./commands-CWVq7FHR.mjs');
360
360
  await handleServiceCommand();
361
361
  } else if (subcommand === "serve") {
362
362
  const { isSandboxed: isSandboxedServe } = await import('./sandboxDetect-DNTcbgWD.mjs');
@@ -364,7 +364,7 @@ async function main() {
364
364
  console.error("svamp serve: Serve commands are not available in sandboxed sessions.");
365
365
  process.exit(1);
366
366
  }
367
- const { handleServeCommand } = await import('./serveCommands-B9Yhx1fl.mjs');
367
+ const { handleServeCommand } = await import('./serveCommands-DIckIiqD.mjs');
368
368
  await handleServeCommand();
369
369
  process.exit(0);
370
370
  } else if (subcommand === "process" || subcommand === "proc") {
@@ -373,7 +373,7 @@ async function main() {
373
373
  console.error("svamp process: Process commands are not available in sandboxed sessions.");
374
374
  process.exit(1);
375
375
  }
376
- const { processCommand } = await import('./commands-BV_9mFkz.mjs');
376
+ const { processCommand } = await import('./commands-KWZkSbXH.mjs');
377
377
  let machineId;
378
378
  const processArgs = args.slice(1);
379
379
  const mIdx = processArgs.findIndex((a) => a === "--machine" || a === "-m");
@@ -387,26 +387,58 @@ async function main() {
387
387
  }), machineId);
388
388
  process.exit(0);
389
389
  } else if (subcommand === "issue" || subcommand === "issues") {
390
- const { issueCommand } = await import('./commands-BvmFXAmu.mjs');
390
+ const { issueCommand } = await import('./commands-Dx-uU1hc.mjs');
391
391
  await issueCommand(args.slice(1));
392
392
  await flushAndExit(0);
393
393
  } else if (subcommand === "workflow" || subcommand === "workflows") {
394
- const { workflowCommand } = await import('./commands-CXHZapLH.mjs');
394
+ const { workflowCommand } = await import('./commands-Cc2BZW1I.mjs');
395
395
  await workflowCommand(args.slice(1));
396
396
  await flushAndExit(0);
397
397
  } else if (subcommand === "wise-agent" || subcommand === "wise") {
398
398
  await handleWiseAgentCommand(args.slice(1));
399
399
  process.exit(0);
400
400
  } else if (subcommand === "feature" || subcommand === "crew") {
401
- const { crewCommand } = await import('./commands-C0rRjhMD.mjs');
401
+ const { crewCommand } = await import('./commands-CgQ3wXOd.mjs');
402
402
  await crewCommand(args.slice(1));
403
403
  process.exit(0);
404
+ } else if (subcommand === "notify") {
405
+ const { notifyUser } = await import('./notifyCommands-D8tYXxPA.mjs');
406
+ const rest = args.slice(1);
407
+ let email;
408
+ const o = {};
409
+ for (let i = 0; i < rest.length; i++) {
410
+ const a = rest[i];
411
+ if (a === "--title" && i + 1 < rest.length) o.title = rest[++i];
412
+ else if (a === "--body" && i + 1 < rest.length) o.body = rest[++i];
413
+ else if (a === "--action" && i + 1 < rest.length) o.action = rest[++i];
414
+ else if (a === "--level" && i + 1 < rest.length) o.level = rest[++i];
415
+ else if (!a.startsWith("-") && !email) email = a;
416
+ }
417
+ await notifyUser(email, o);
418
+ process.exit(0);
419
+ } else if (subcommand === "events") {
420
+ const { listEvents, ackEvent } = await import('./notifyCommands-D8tYXxPA.mjs');
421
+ const sub = args[1];
422
+ const rest = args.slice(2);
423
+ let email;
424
+ let json = false;
425
+ let positional;
426
+ for (let i = 0; i < rest.length; i++) {
427
+ const a = rest[i];
428
+ if (a === "--email" && i + 1 < rest.length) email = rest[++i];
429
+ else if (a === "--json") json = true;
430
+ else if (!a.startsWith("-") && !positional) positional = a;
431
+ }
432
+ if (sub === "list" || !sub) await listEvents({ email, json });
433
+ else if (sub === "ack") await ackEvent(positional, { email });
434
+ else console.error("Usage: svamp events list [--email <e>] [--json] | svamp events ack <id> [--email <e>]");
435
+ process.exit(0);
404
436
  } else if (subcommand === "--help" || subcommand === "-h") {
405
437
  printHelp();
406
438
  } else if (!subcommand || subcommand === "start") {
407
439
  await handleInteractiveCommand();
408
440
  } else if (subcommand === "--version" || subcommand === "-v") {
409
- const pkg = await import('./package-DIuZ7Wfp.mjs').catch(() => ({ default: { version: "unknown" } }));
441
+ const pkg = await import('./package-D5iaKvt5.mjs').catch(() => ({ default: { version: "unknown" } }));
410
442
  console.log(`svamp version: ${pkg.default.version}`);
411
443
  } else {
412
444
  console.error(`Unknown command: ${subcommand}`);
@@ -415,7 +447,7 @@ async function main() {
415
447
  }
416
448
  }
417
449
  async function handleInteractiveCommand() {
418
- const { runInteractive } = await import('./run-DMPVho7i.mjs');
450
+ const { runInteractive } = await import('./run-pAWQPn46.mjs');
419
451
  const interactiveArgs = subcommand === "start" ? args.slice(1) : args;
420
452
  let directory = process.cwd();
421
453
  let resumeSessionId;
@@ -460,7 +492,7 @@ async function handleAgentCommand() {
460
492
  return;
461
493
  }
462
494
  if (agentArgs[0] === "list") {
463
- const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.ao; });
495
+ const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.aq; });
464
496
  console.log("Known agents:");
465
497
  for (const [name, config2] of Object.entries(KNOWN_ACP_AGENTS)) {
466
498
  console.log(` ${name.padEnd(12)} ${config2.command} ${config2.args.join(" ")} (ACP)`);
@@ -472,7 +504,7 @@ async function handleAgentCommand() {
472
504
  console.log('Use "svamp agent -- <command> [args]" for a custom ACP agent.');
473
505
  return;
474
506
  }
475
- const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.ao; });
507
+ const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.aq; });
476
508
  let cwd = process.cwd();
477
509
  const filteredArgs = [];
478
510
  for (let i = 0; i < agentArgs.length; i++) {
@@ -496,12 +528,12 @@ async function handleAgentCommand() {
496
528
  console.log(`Starting ${config.agentName} agent in ${cwd}...`);
497
529
  let backend;
498
530
  if (KNOWN_CODEX_AGENTS[config.agentName]) {
499
- const { CodexAppServerBackend } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.ap; });
531
+ const { CodexAppServerBackend } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.ar; });
500
532
  backend = new CodexAppServerBackend({ cwd, log: logFn });
501
533
  } else {
502
- const { AcpBackend } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.an; });
503
- const { GeminiTransport } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.aq; });
504
- const { DefaultTransport } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.am; });
534
+ const { AcpBackend } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.ap; });
535
+ const { GeminiTransport } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.as; });
536
+ const { DefaultTransport } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.ao; });
505
537
  const transportHandler = config.agentName === "gemini" ? new GeminiTransport() : new DefaultTransport(config.agentName);
506
538
  backend = new AcpBackend({
507
539
  agentName: config.agentName,
@@ -628,7 +660,7 @@ async function handleSessionCommand() {
628
660
  process.exit(1);
629
661
  }
630
662
  }
631
- const { sessionList, sessionWhoami, sessionSpawn, sessionArchive, sessionResume, sessionDelete, sessionInfo, sessionMessages, sessionAttach, sessionMachines, sessionSend, sessionWait, sessionShare, sessionLoopStart, sessionLoopCancel, sessionLoopStatus, sessionLoopExtend, sessionInboxSend, sessionInboxList, sessionInboxRead, sessionInboxReply, sessionInboxClear } = await import('./commands-D7fIWAgz.mjs');
663
+ const { sessionList, sessionWhoami, sessionSpawn, sessionArchive, sessionResume, sessionDelete, sessionInfo, sessionMessages, sessionAttach, sessionMachines, sessionSend, sessionWait, sessionShare, sessionLoopStart, sessionLoopCancel, sessionLoopStatus, sessionLoopExtend, sessionInboxSend, sessionInboxList, sessionInboxRead, sessionInboxReply, sessionInboxClear } = await import('./commands-BryGjm3r.mjs');
632
664
  const parseFlagStr = (flag, shortFlag) => {
633
665
  for (let i = 1; i < sessionArgs.length; i++) {
634
666
  if ((sessionArgs[i] === flag || shortFlag) && i + 1 < sessionArgs.length) {
@@ -696,7 +728,7 @@ async function handleSessionCommand() {
696
728
  allowDomain.push(sessionArgs[++i]);
697
729
  }
698
730
  }
699
- const { parseShareArg } = await import('./commands-D7fIWAgz.mjs');
731
+ const { parseShareArg } = await import('./commands-BryGjm3r.mjs');
700
732
  const shareEntries = share.map((s) => parseShareArg(s));
701
733
  await sessionSpawn(agent, dir, targetMachineId, {
702
734
  message,
@@ -786,7 +818,7 @@ async function handleSessionCommand() {
786
818
  console.error(" Rewinds history: rewrites the message + drops everything after it, then restarts Claude.");
787
819
  process.exit(1);
788
820
  }
789
- const { sessionEditMessage } = await import('./commands-D7fIWAgz.mjs');
821
+ const { sessionEditMessage } = await import('./commands-BryGjm3r.mjs');
790
822
  await sessionEditMessage(sessionArgs[1], sessionArgs[2], sessionArgs[3], targetMachineId);
791
823
  } else if (sessionSubcommand === "refine") {
792
824
  if (!sessionArgs[1] || !sessionArgs[2]) {
@@ -794,7 +826,7 @@ async function handleSessionCommand() {
794
826
  console.error(" Asks the agent to revise its latest reply in place (no extra round).");
795
827
  process.exit(1);
796
828
  }
797
- const { sessionRefineLastReply } = await import('./commands-D7fIWAgz.mjs');
829
+ const { sessionRefineLastReply } = await import('./commands-BryGjm3r.mjs');
798
830
  await sessionRefineLastReply(sessionArgs[1], sessionArgs[2], targetMachineId);
799
831
  } else if (sessionSubcommand === "undo-edit" || sessionSubcommand === "undo") {
800
832
  if (!sessionArgs[1]) {
@@ -802,7 +834,7 @@ async function handleSessionCommand() {
802
834
  console.error(" Reverts the most recent edit/refine, restoring the pre-edit history.");
803
835
  process.exit(1);
804
836
  }
805
- const { sessionUndoEdit } = await import('./commands-D7fIWAgz.mjs');
837
+ const { sessionUndoEdit } = await import('./commands-BryGjm3r.mjs');
806
838
  await sessionUndoEdit(sessionArgs[1], targetMachineId);
807
839
  } else if (sessionSubcommand === "query") {
808
840
  const dir = sessionArgs[1];
@@ -812,7 +844,7 @@ async function handleSessionCommand() {
812
844
  console.error(" Spawns a stateless Claude session in <directory>, sends <prompt>, prints the answer, then deletes the session.");
813
845
  process.exit(1);
814
846
  }
815
- const { sessionQuery } = await import('./commands-D7fIWAgz.mjs');
847
+ const { sessionQuery } = await import('./commands-BryGjm3r.mjs');
816
848
  await sessionQuery(dir, prompt, targetMachineId, {
817
849
  timeout: parseFlagInt("--timeout"),
818
850
  json: hasFlag("--json"),
@@ -845,7 +877,7 @@ async function handleSessionCommand() {
845
877
  console.error("Usage: svamp session approve <session-id> [request-id] [--json]");
846
878
  process.exit(1);
847
879
  }
848
- const { sessionApprove } = await import('./commands-D7fIWAgz.mjs');
880
+ const { sessionApprove } = await import('./commands-BryGjm3r.mjs');
849
881
  const approveReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
850
882
  await sessionApprove(sessionArgs[1], approveReqId, targetMachineId, {
851
883
  json: hasFlag("--json")
@@ -855,7 +887,7 @@ async function handleSessionCommand() {
855
887
  console.error("Usage: svamp session deny <session-id> [request-id] [--json]");
856
888
  process.exit(1);
857
889
  }
858
- const { sessionDeny } = await import('./commands-D7fIWAgz.mjs');
890
+ const { sessionDeny } = await import('./commands-BryGjm3r.mjs');
859
891
  const denyReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
860
892
  await sessionDeny(sessionArgs[1], denyReqId, targetMachineId, {
861
893
  json: hasFlag("--json")
@@ -907,7 +939,7 @@ async function handleSessionCommand() {
907
939
  console.error("Usage: svamp session set-title <title>");
908
940
  process.exit(1);
909
941
  }
910
- const { sessionSetTitle } = await import('./agentCommands-DGT-1wjo.mjs');
942
+ const { sessionSetTitle } = await import('./agentCommands-DN7hb_oL.mjs');
911
943
  await sessionSetTitle(title);
912
944
  } else if (sessionSubcommand === "set-project-description" || sessionSubcommand === "set-project") {
913
945
  const desc = sessionArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
@@ -915,7 +947,7 @@ async function handleSessionCommand() {
915
947
  console.error("Usage: svamp session set-project-description <text>");
916
948
  process.exit(1);
917
949
  }
918
- const { sessionSetProjectDescription } = await import('./agentCommands-DGT-1wjo.mjs');
950
+ const { sessionSetProjectDescription } = await import('./agentCommands-DN7hb_oL.mjs');
919
951
  await sessionSetProjectDescription(desc);
920
952
  } else if (sessionSubcommand === "set-link") {
921
953
  const url = sessionArgs[1];
@@ -924,11 +956,11 @@ async function handleSessionCommand() {
924
956
  process.exit(1);
925
957
  }
926
958
  const label = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
927
- const { sessionSetLink } = await import('./agentCommands-DGT-1wjo.mjs');
959
+ const { sessionSetLink } = await import('./agentCommands-DN7hb_oL.mjs');
928
960
  await sessionSetLink(url, label);
929
961
  } else if (sessionSubcommand === "link") {
930
962
  const op = sessionArgs[1];
931
- const lm = await import('./agentCommands-DGT-1wjo.mjs');
963
+ const lm = await import('./agentCommands-DN7hb_oL.mjs');
932
964
  if (op === "add") {
933
965
  const url = sessionArgs[2];
934
966
  if (!url || url.startsWith("--")) {
@@ -963,7 +995,7 @@ async function handleSessionCommand() {
963
995
  process.exit(1);
964
996
  }
965
997
  const level = parseFlagStr("--level") || "info";
966
- const { sessionNotify } = await import('./agentCommands-DGT-1wjo.mjs');
998
+ const { sessionNotify } = await import('./agentCommands-DN7hb_oL.mjs');
967
999
  await sessionNotify(message, level);
968
1000
  } else if (sessionSubcommand === "broadcast") {
969
1001
  const action = sessionArgs[1];
@@ -971,7 +1003,7 @@ async function handleSessionCommand() {
971
1003
  console.error("Usage: svamp session broadcast <action> [args...]\nActions: open-canvas <url> [label], close-canvas, toast <message>");
972
1004
  process.exit(1);
973
1005
  }
974
- const { sessionBroadcast } = await import('./agentCommands-DGT-1wjo.mjs');
1006
+ const { sessionBroadcast } = await import('./agentCommands-DN7hb_oL.mjs');
975
1007
  await sessionBroadcast(action, sessionArgs.slice(2).filter((a) => !a.startsWith("--")));
976
1008
  } else if (sessionSubcommand === "inbox") {
977
1009
  const inboxSubcmd = sessionArgs[1];
@@ -982,7 +1014,7 @@ async function handleSessionCommand() {
982
1014
  process.exit(1);
983
1015
  }
984
1016
  if (agentSessionId) {
985
- const { inboxSend } = await import('./agentCommands-DGT-1wjo.mjs');
1017
+ const { inboxSend } = await import('./agentCommands-DN7hb_oL.mjs');
986
1018
  await inboxSend(sessionArgs[2], {
987
1019
  body: sessionArgs[3],
988
1020
  subject: parseFlagStr("--subject"),
@@ -997,7 +1029,7 @@ async function handleSessionCommand() {
997
1029
  }
998
1030
  } else if (inboxSubcmd === "list" || inboxSubcmd === "ls") {
999
1031
  if (agentSessionId && !sessionArgs[2]) {
1000
- const { inboxList } = await import('./agentCommands-DGT-1wjo.mjs');
1032
+ const { inboxList } = await import('./agentCommands-DN7hb_oL.mjs');
1001
1033
  await inboxList({
1002
1034
  unread: hasFlag("--unread"),
1003
1035
  limit: parseFlagInt("--limit"),
@@ -1019,7 +1051,7 @@ async function handleSessionCommand() {
1019
1051
  process.exit(1);
1020
1052
  }
1021
1053
  if (agentSessionId && !sessionArgs[3]) {
1022
- const { inboxList } = await import('./agentCommands-DGT-1wjo.mjs');
1054
+ const { inboxList } = await import('./agentCommands-DN7hb_oL.mjs');
1023
1055
  await sessionInboxRead(agentSessionId, sessionArgs[2], targetMachineId);
1024
1056
  } else if (sessionArgs[3]) {
1025
1057
  await sessionInboxRead(sessionArgs[2], sessionArgs[3], targetMachineId);
@@ -1029,7 +1061,7 @@ async function handleSessionCommand() {
1029
1061
  }
1030
1062
  } else if (inboxSubcmd === "reply") {
1031
1063
  if (agentSessionId && sessionArgs[2] && sessionArgs[3] && !sessionArgs[4]) {
1032
- const { inboxReply } = await import('./agentCommands-DGT-1wjo.mjs');
1064
+ const { inboxReply } = await import('./agentCommands-DN7hb_oL.mjs');
1033
1065
  await inboxReply(sessionArgs[2], sessionArgs[3]);
1034
1066
  } else if (sessionArgs[2] && sessionArgs[3] && sessionArgs[4]) {
1035
1067
  await sessionInboxReply(sessionArgs[2], sessionArgs[3], sessionArgs[4], targetMachineId);
@@ -1067,7 +1099,7 @@ async function handleMachineCommand() {
1067
1099
  return;
1068
1100
  }
1069
1101
  if (machineSubcommand === "share") {
1070
- const { machineShare } = await import('./commands-D7fIWAgz.mjs');
1102
+ const { machineShare } = await import('./commands-BryGjm3r.mjs');
1071
1103
  let machineId;
1072
1104
  const shareArgs = [];
1073
1105
  for (let i = 1; i < machineArgs.length; i++) {
@@ -1118,14 +1150,14 @@ async function handleMachineCommand() {
1118
1150
  process.exit(1);
1119
1151
  }
1120
1152
  if (all) {
1121
- const { fleetExec } = await import('./fleet-BCel6ZVc.mjs');
1153
+ const { fleetExec } = await import('./fleet-w3MI6ljI.mjs');
1122
1154
  await fleetExec(command, { cwd });
1123
1155
  } else {
1124
- const { machineExec } = await import('./commands-D7fIWAgz.mjs');
1156
+ const { machineExec } = await import('./commands-BryGjm3r.mjs');
1125
1157
  await machineExec(machineId, command, cwd);
1126
1158
  }
1127
1159
  } else if (machineSubcommand === "info") {
1128
- const { machineInfo } = await import('./commands-D7fIWAgz.mjs');
1160
+ const { machineInfo } = await import('./commands-BryGjm3r.mjs');
1129
1161
  let machineId;
1130
1162
  for (let i = 1; i < machineArgs.length; i++) {
1131
1163
  if ((machineArgs[i] === "--machine" || machineArgs[i] === "-m") && i + 1 < machineArgs.length) {
@@ -1145,10 +1177,10 @@ async function handleMachineCommand() {
1145
1177
  level = machineArgs[++i];
1146
1178
  }
1147
1179
  }
1148
- const { machineNotify } = await import('./agentCommands-DGT-1wjo.mjs');
1180
+ const { machineNotify } = await import('./agentCommands-DN7hb_oL.mjs');
1149
1181
  await machineNotify(message, level);
1150
1182
  } else if (machineSubcommand === "ls") {
1151
- const { machineLs } = await import('./commands-D7fIWAgz.mjs');
1183
+ const { machineLs } = await import('./commands-BryGjm3r.mjs');
1152
1184
  let machineId;
1153
1185
  let showHidden = false;
1154
1186
  let path;
@@ -1207,20 +1239,20 @@ Examples:
1207
1239
  };
1208
1240
  const hasFlag = (name) => fleetArgs.includes(`--${name}`);
1209
1241
  if (sub === "status") {
1210
- const { fleetStatus } = await import('./fleet-BCel6ZVc.mjs');
1242
+ const { fleetStatus } = await import('./fleet-w3MI6ljI.mjs');
1211
1243
  await fleetStatus();
1212
1244
  } else if (sub === "upgrade-claude") {
1213
- const { fleetUpgradeClaude } = await import('./fleet-BCel6ZVc.mjs');
1245
+ const { fleetUpgradeClaude } = await import('./fleet-w3MI6ljI.mjs');
1214
1246
  await fleetUpgradeClaude({ version: flag("version", "-v") });
1215
1247
  } else if (sub === "upgrade-svamp") {
1216
- const { fleetUpgradeSvamp } = await import('./fleet-BCel6ZVc.mjs');
1248
+ const { fleetUpgradeSvamp } = await import('./fleet-w3MI6ljI.mjs');
1217
1249
  await fleetUpgradeSvamp({ version: flag("version", "-v"), excludeSelf: hasFlag("exclude-self"), force: hasFlag("force") });
1218
1250
  } else if (sub === "daemon-restart") {
1219
- const { fleetDaemonRestart } = await import('./fleet-BCel6ZVc.mjs');
1251
+ const { fleetDaemonRestart } = await import('./fleet-w3MI6ljI.mjs');
1220
1252
  await fleetDaemonRestart({ graceful: !hasFlag("cleanup") });
1221
1253
  } else if (sub === "push-skill") {
1222
1254
  const name = fleetArgs[1];
1223
- const { fleetPushSkill } = await import('./fleet-BCel6ZVc.mjs');
1255
+ const { fleetPushSkill } = await import('./fleet-w3MI6ljI.mjs');
1224
1256
  await fleetPushSkill(name);
1225
1257
  } else {
1226
1258
  console.error(`Unknown fleet subcommand: ${sub}`);
@@ -1236,7 +1268,7 @@ async function handleSkillsCommand() {
1236
1268
  await printSkillsHelp();
1237
1269
  return;
1238
1270
  }
1239
- const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-CVPcbtWV.mjs');
1271
+ const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-CT7m_PBV.mjs');
1240
1272
  if (skillsSubcommand === "find" || skillsSubcommand === "search") {
1241
1273
  const query = skillsArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
1242
1274
  if (!query) {
@@ -1283,7 +1315,7 @@ async function loginToHypha() {
1283
1315
  process.exit(1);
1284
1316
  }
1285
1317
  const anchor = anchorArg.replace(/\/+$/, "");
1286
- const { loadInstanceConfig } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.ai; });
1318
+ const { loadInstanceConfig } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.ak; });
1287
1319
  let cfg = null;
1288
1320
  try {
1289
1321
  cfg = await loadInstanceConfig({ anchor, force: true });
@@ -1394,7 +1426,7 @@ async function logoutFromHypha() {
1394
1426
  } catch {
1395
1427
  }
1396
1428
  try {
1397
- const { clearInstanceConfigCache } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.ai; });
1429
+ const { clearInstanceConfigCache } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.ak; });
1398
1430
  clearInstanceConfigCache();
1399
1431
  } catch {
1400
1432
  }
@@ -1733,7 +1765,7 @@ async function applyClaudeAuthFlags(argv) {
1733
1765
  "--use-hypha-proxy, --use-claude-login, and --anthropic-base-url/--anthropic-api-key are mutually exclusive"
1734
1766
  );
1735
1767
  }
1736
- const mod = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.aj; });
1768
+ const mod = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.al; });
1737
1769
  if (hasHypha) {
1738
1770
  let url;
1739
1771
  const hyphaIdx = argv.indexOf("--use-hypha-proxy");
@@ -1787,7 +1819,7 @@ async function applyDaemonShareFlag(argv) {
1787
1819
  }
1788
1820
  }
1789
1821
  if (collected.length === 0) return;
1790
- const { updateEnvFile } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.aj; });
1822
+ const { updateEnvFile } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.al; });
1791
1823
  const seen = /* @__PURE__ */ new Set();
1792
1824
  const deduped = collected.filter((e) => {
1793
1825
  const k = e.toLowerCase();
@@ -1820,7 +1852,7 @@ async function handleWiseAgentCommand(rest) {
1820
1852
  }
1821
1853
  });
1822
1854
  const message = rest.slice(1).map((a, idx) => ({ a, idx: idx + 1 })).filter(({ a, idx }) => !a.startsWith("-") && !consumed.has(String(idx))).map(({ a }) => a).join(" ");
1823
- const { wiseAskCli } = await import('./commands-D7fIWAgz.mjs');
1855
+ const { wiseAskCli } = await import('./commands-BryGjm3r.mjs');
1824
1856
  await wiseAskCli(machineId, message, sessionId, { json });
1825
1857
  return;
1826
1858
  }
@@ -1832,7 +1864,7 @@ async function handleWiseAgentCommand(rest) {
1832
1864
  }
1833
1865
  return void 0;
1834
1866
  };
1835
- const { runWiseVoiceCli } = await import('./headlessCli-DVBFm7og.mjs');
1867
+ const { runWiseVoiceCli } = await import('./headlessCli-CqxD6lTs.mjs');
1836
1868
  await runWiseVoiceCli({ voice: valueOf(["--voice"]), wakeKeywordPath: valueOf(["--wake"]), model: valueOf(["--model"]) });
1837
1869
  return;
1838
1870
  }
@@ -1850,7 +1882,7 @@ async function handleWiseAgentCommand(rest) {
1850
1882
  const mode = valueOf(["--mode"]);
1851
1883
  const mission = valueOf(["--mission"]);
1852
1884
  const url = rest.slice(1).find((a) => /^https?:\/\//.test(a)) || "";
1853
- const { wiseJoinMeetingCli } = await import('./commands-D7fIWAgz.mjs');
1885
+ const { wiseJoinMeetingCli } = await import('./commands-BryGjm3r.mjs');
1854
1886
  await wiseJoinMeetingCli(machineId, url, sessionId, { json, mode, mission });
1855
1887
  return;
1856
1888
  }
@@ -1862,7 +1894,7 @@ async function handleWiseAgentCommand(rest) {
1862
1894
  }
1863
1895
  return void 0;
1864
1896
  };
1865
- const { wiseLeaveMeetingCli } = await import('./commands-D7fIWAgz.mjs');
1897
+ const { wiseLeaveMeetingCli } = await import('./commands-BryGjm3r.mjs');
1866
1898
  await wiseLeaveMeetingCli(valueOf(["--machine", "-m"]), valueOf(["--session", "-s"]), { json: rest.includes("--json") });
1867
1899
  return;
1868
1900
  }
@@ -1886,7 +1918,7 @@ async function handleWiseAgentCommand(rest) {
1886
1918
  }
1887
1919
  });
1888
1920
  const text = rest.slice(1).map((a, idx) => ({ a, idx: idx + 1 })).filter(({ a, idx }) => !a.startsWith("-") && !consumed.has(String(idx))).map(({ a }) => a).join(" ");
1889
- const { wiseAnnounceCli } = await import('./commands-D7fIWAgz.mjs');
1921
+ const { wiseAnnounceCli } = await import('./commands-BryGjm3r.mjs');
1890
1922
  await wiseAnnounceCli(machineId, text, sessionId, { json });
1891
1923
  return;
1892
1924
  }
@@ -1898,7 +1930,7 @@ async function handleWiseAgentCommand(rest) {
1898
1930
  }
1899
1931
  return void 0;
1900
1932
  };
1901
- const { wiseMeetingsCli } = await import('./commands-D7fIWAgz.mjs');
1933
+ const { wiseMeetingsCli } = await import('./commands-BryGjm3r.mjs');
1902
1934
  await wiseMeetingsCli(valueOf(["--machine", "-m"]), { json: rest.includes("--json") });
1903
1935
  return;
1904
1936
  }
@@ -1948,7 +1980,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
1948
1980
  return;
1949
1981
  }
1950
1982
  const authArgs = rest.slice(1);
1951
- const mod = await import('./auth-CT55Rse4.mjs');
1983
+ const mod = await import('./auth-Ci70oWRc.mjs');
1952
1984
  let action;
1953
1985
  try {
1954
1986
  action = mod.parseWiseAgentAuthArgs(authArgs);
@@ -1958,7 +1990,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
1958
1990
  return;
1959
1991
  }
1960
1992
  if (action) {
1961
- const { updateEnvFile } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.aj; });
1993
+ const { updateEnvFile } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.al; });
1962
1994
  const updates = mod.buildWiseAgentEnvUpdates(action);
1963
1995
  updateEnvFile(updates);
1964
1996
  for (const [k, v] of Object.entries(updates)) {
@@ -1972,7 +2004,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
1972
2004
  }
1973
2005
  async function handleDaemonAuthCommand(argv) {
1974
2006
  const sub = (argv[0] || "status").toLowerCase();
1975
- const mod = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.aj; });
2007
+ const mod = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.al; });
1976
2008
  if (sub === "--help" || sub === "-h" || sub === "help") {
1977
2009
  console.log(`
1978
2010
  svamp daemon auth \u2014 Configure how Claude subprocesses authenticate
@@ -2046,8 +2078,8 @@ one step: --use-hypha-proxy / --use-claude-login / --anthropic-base-url URL --an
2046
2078
  }
2047
2079
  async function handleDaemonCodexAuthCommand(argv) {
2048
2080
  const sub = (argv[0] || "status").toLowerCase();
2049
- const { updateEnvFile } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.aj; });
2050
- const { resolveCodexProvider } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.ak; });
2081
+ const { updateEnvFile } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.al; });
2082
+ const { resolveCodexProvider } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.am; });
2051
2083
  const redact = (k) => k && k.length > 10 ? `${k.slice(0, 6)}\u2026${k.slice(-4)}` : k ? "***" : "(unset)";
2052
2084
  if (sub === "--help" || sub === "-h" || sub === "help") {
2053
2085
  console.log(`
@@ -2282,9 +2314,9 @@ MESSAGES OPTIONS:
2282
2314
  LOOP OPTIONS (for loop):
2283
2315
  --until <text> Success criteria \u2014 how we'll know it's done (the gate's goal)
2284
2316
  --oracle <cmd> Pass/fail command (tests/build/lint) the gate runs each iteration
2285
- --agent Independent evaluator judge (on by default)
2317
+ --agent Alias for --evaluator on (force the independent evaluator on)
2286
2318
  --parent <id> Route the verdict to a lead session (crew)
2287
- --max <n> Max iterations before giving up (default: 20)
2319
+ --max <n> Soft iteration cap (omit = effectively unlimited; a start defaults to 10000)
2288
2320
  --evaluator <on|off> Independent evaluator that judges "done" (default: on)
2289
2321
  (omit the task and pass only --until to HOT-PLUG the gate onto a running session)
2290
2322
 
@@ -2379,7 +2411,7 @@ Examples:
2379
2411
  async function printSkillsHelp() {
2380
2412
  let browseUrl = "<HYPHA_SERVER_URL>/<workspace>/artifacts/marketplace (set HYPHA_SERVER_URL)";
2381
2413
  try {
2382
- const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-C3Fcbk-H.mjs').then(function (n) { return n.ar; });
2414
+ const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-CzXwL-ig.mjs').then(function (n) { return n.at; });
2383
2415
  browseUrl = `${getArtifactBaseUrl()}/${getSkillsCollectionName()}`;
2384
2416
  } catch {
2385
2417
  }
package/dist/cli.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import './run-C3Fcbk-H.mjs';
1
+ import './run-CzXwL-ig.mjs';
2
2
  import './serviceManager-hlOVxkhW.mjs';
3
- import './cli-DYTmO9JL.mjs';
3
+ import './cli-Cgzvydbh.mjs';
4
4
  import 'os';
5
5
  import 'fs/promises';
6
6
  import 'fs';
@@ -2,7 +2,7 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { execSync, execFileSync } from 'node:child_process';
3
3
  import { basename, resolve, join, isAbsolute } from 'node:path';
4
4
  import os from 'node:os';
5
- import { $ as formatHandle, a0 as normalizeAllowedUser, a1 as loadSecurityContextConfig, a2 as resolveSecurityContext, a3 as buildSecurityContextFromFlags, a4 as mergeSecurityContexts, c as connectToHypha, a5 as buildSessionShareUrl, a6 as computeOutboundHop, i as shortId, a7 as registerAwaitingReply, a8 as buildMachineShareUrl, a9 as parseHandle, aa as handleMatchesMetadata } from './run-C3Fcbk-H.mjs';
5
+ import { a1 as formatHandle, a2 as normalizeAllowedUser, a3 as loadSecurityContextConfig, a4 as resolveSecurityContext, a5 as buildSecurityContextFromFlags, a6 as mergeSecurityContexts, c as connectToHypha, a7 as buildSessionShareUrl, a8 as computeOutboundHop, i as shortId, a9 as registerAwaitingReply, aa as buildMachineShareUrl, ab as parseHandle, ac as handleMatchesMetadata } from './run-CzXwL-ig.mjs';
6
6
  import 'os';
7
7
  import 'fs/promises';
8
8
  import 'fs';
@@ -1,7 +1,7 @@
1
1
  import os from 'os';
2
2
  import fs__default from 'fs';
3
3
  import { resolve, join, relative } from 'path';
4
- import { N as parseFrontmatter, O as getSkillsServer, P as getSkillsWorkspaceName, Q as getSkillsCollectionName, S as fetchWithTimeout, T as searchSkills, U as SKILLS_DIR, V as getSkillInfo, W as downloadSkillFile, X as listSkillFiles } from './run-C3Fcbk-H.mjs';
4
+ import { O as parseFrontmatter, P as getSkillsServer, Q as getSkillsWorkspaceName, T as getSkillsCollectionName, U as fetchWithTimeout, V as searchSkills, W as SKILLS_DIR, X as getSkillInfo, Y as downloadSkillFile, Z as listSkillFiles } from './run-CzXwL-ig.mjs';
5
5
  import 'fs/promises';
6
6
  import 'url';
7
7
  import 'child_process';