svamp-cli 0.2.301 → 0.2.303

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/{adminCommands-DMiliv55.mjs → adminCommands-DdFE0lME.mjs} +1 -1
  2. package/dist/{agentCommands-BCkWdFFW.mjs → agentCommands-RW8riLgc.mjs} +5 -5
  3. package/dist/{auth-Ba1_zl1h.mjs → auth-8ntB7y8N.mjs} +1 -1
  4. package/dist/{cli-Bv0Zhf3M.mjs → cli-BC8JtFfc.mjs} +69 -69
  5. package/dist/cli.mjs +2 -2
  6. package/dist/{commands-BnirT9RR.mjs → commands-B5gatixv.mjs} +2 -2
  7. package/dist/{commands-B2mRza8S.mjs → commands-BXmMeGBQ.mjs} +2 -2
  8. package/dist/{commands-DhB2iz0_.mjs → commands-C4tqqLyr.mjs} +7 -7
  9. package/dist/{commands-bIioWHWe.mjs → commands-C7fDzDVG.mjs} +2 -2
  10. package/dist/{commands-BAlaK67Y.mjs → commands-CWo-Qy-e.mjs} +1 -1
  11. package/dist/{commands-BA3eBROn.mjs → commands-DsVpS-kk.mjs} +1 -1
  12. package/dist/{commands-BC3RuhRx.mjs → commands-S6KPeRij.mjs} +2 -2
  13. package/dist/{commands-hHZu5qJh.mjs → commands-wbnciaNh.mjs} +1 -1
  14. package/dist/{fleet-BFurNsSA.mjs → fleet-DBUicMjO.mjs} +1 -1
  15. package/dist/{frpc-Cb6jUvED.mjs → frpc-Dkda80Ga.mjs} +1 -1
  16. package/dist/{headlessCli-DP9gpAxv.mjs → headlessCli-DxPFqj7M.mjs} +2 -2
  17. package/dist/index.mjs +1 -1
  18. package/dist/{notifyCommands-C0i6P1yC.mjs → notifyCommands-D2ZfCkFA.mjs} +1 -1
  19. package/dist/{package-D8lHDQja.mjs → package-BbYkLoT-.mjs} +1 -1
  20. package/dist/{rpc-B-bxS-Pv.mjs → rpc-CkTVR7CW.mjs} +1 -1
  21. package/dist/{rpc-CNkfUlz1.mjs → rpc-DX0vfqOs.mjs} +1 -1
  22. package/dist/{run-CvT_37Ov.mjs → run-5dQT-Op_.mjs} +1 -1
  23. package/dist/{run-C0GhrtVf.mjs → run-BYDlRsuL.mjs} +93 -22
  24. package/dist/{scheduler-DT1_BBdZ.mjs → scheduler-CO4CAUvy.mjs} +1 -1
  25. package/dist/{serveCommands-CUabu97u.mjs → serveCommands-CpDQZ4U6.mjs} +5 -5
  26. package/dist/{sideband-BlZBmbji.mjs → sideband-B3K9zjW3.mjs} +1 -1
  27. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { c as connectToHypha, K as computeCollectionConfigUpdate, L as SYSTEM_COLLECTION_CONFIG } from './run-C0GhrtVf.mjs';
1
+ import { c as connectToHypha, K as computeCollectionConfigUpdate, L as SYSTEM_COLLECTION_CONFIG } from './run-BYDlRsuL.mjs';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import os from 'node:os';
@@ -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-C0GhrtVf.mjs';
5
+ import { i as shortId } from './run-BYDlRsuL.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-C0GhrtVf.mjs').then(function (n) { return n.ap; });
99
+ const { projectName, writeProjectInfo, sanitizeDescription, projectInfoPath } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.ap; });
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-BAlaK67Y.mjs');
346
+ const { connectAndGetMachine } = await import('./commands-CWo-Qy-e.mjs');
347
347
  return connectAndGetMachine();
348
348
  }
349
349
  function buildInboxMessage(args) {
@@ -426,7 +426,7 @@ async function inboxSend(targetSessionId, opts) {
426
426
  console.error("Message body is required.");
427
427
  process.exit(1);
428
428
  }
429
- const { connectAndResolveSession } = await import('./commands-BAlaK67Y.mjs');
429
+ const { connectAndResolveSession } = await import('./commands-CWo-Qy-e.mjs');
430
430
  let server;
431
431
  try {
432
432
  const { targetId, messageId } = await inboxSendCore(
@@ -481,7 +481,7 @@ async function inboxReply(messageId, body, opts) {
481
481
  console.error("SVAMP_SESSION_ID not set. This command must be run inside a Svamp session.");
482
482
  process.exit(1);
483
483
  }
484
- const { connectAndResolveSession } = await import('./commands-BAlaK67Y.mjs');
484
+ const { connectAndResolveSession } = await import('./commands-CWo-Qy-e.mjs');
485
485
  const { server: localServer, machine: localMachine } = await connectToMachineService();
486
486
  let localDisconnected = false;
487
487
  const disconnectLocal = async () => {
@@ -1,4 +1,4 @@
1
- import { a0 as resolveModel } from './run-C0GhrtVf.mjs';
1
+ import { a0 as resolveModel } from './run-BYDlRsuL.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -1,4 +1,4 @@
1
- import { a1 as clearStopMarker, a2 as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-C0GhrtVf.mjs';
1
+ import { a1 as clearStopMarker, a2 as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-BYDlRsuL.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-C0GhrtVf.mjs').then(function (n) { return n.am; });
36
+ const { getLoadedConfig } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.am; });
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-C0GhrtVf.mjs').then(function (n) { return n.aw; });
55
+ const mod = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.aw; });
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-DhB2iz0_.mjs');
359
+ const { handleServiceCommand } = await import('./commands-C4tqqLyr.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-CUabu97u.mjs');
367
+ const { handleServeCommand } = await import('./serveCommands-CpDQZ4U6.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-BC3RuhRx.mjs');
376
+ const { processCommand } = await import('./commands-S6KPeRij.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,26 @@ async function main() {
387
387
  }), machineId);
388
388
  process.exit(0);
389
389
  } else if (subcommand === "outpost") {
390
- const { outpostCommand } = await import('./commands-BnirT9RR.mjs');
390
+ const { outpostCommand } = await import('./commands-B5gatixv.mjs');
391
391
  await outpostCommand(args.slice(1));
392
392
  process.exit(0);
393
393
  } else if (subcommand === "issue" || subcommand === "issues") {
394
- const { issueCommand } = await import('./commands-B2mRza8S.mjs');
394
+ const { issueCommand } = await import('./commands-BXmMeGBQ.mjs');
395
395
  await issueCommand(args.slice(1));
396
396
  await flushAndExit(0);
397
397
  } else if (subcommand === "workflow" || subcommand === "workflows") {
398
- const { workflowCommand } = await import('./commands-hHZu5qJh.mjs');
398
+ const { workflowCommand } = await import('./commands-wbnciaNh.mjs');
399
399
  await workflowCommand(args.slice(1));
400
400
  await flushAndExit(0);
401
401
  } else if (subcommand === "wise-agent" || subcommand === "wise") {
402
402
  await handleWiseAgentCommand(args.slice(1));
403
403
  process.exit(0);
404
404
  } else if (subcommand === "feature" || subcommand === "crew") {
405
- const { crewCommand } = await import('./commands-bIioWHWe.mjs');
405
+ const { crewCommand } = await import('./commands-C7fDzDVG.mjs');
406
406
  await crewCommand(args.slice(1));
407
407
  process.exit(0);
408
408
  } else if (subcommand === "notify") {
409
- const { notifyUser } = await import('./notifyCommands-C0i6P1yC.mjs');
409
+ const { notifyUser } = await import('./notifyCommands-D2ZfCkFA.mjs');
410
410
  const rest = args.slice(1);
411
411
  let email;
412
412
  const o = {};
@@ -423,7 +423,7 @@ async function main() {
423
423
  } else if (subcommand === "admin") {
424
424
  const adminSub = args[1];
425
425
  if (adminSub === "set-collection-config") {
426
- const { setCollectionConfig } = await import('./adminCommands-DMiliv55.mjs');
426
+ const { setCollectionConfig } = await import('./adminCommands-DdFE0lME.mjs');
427
427
  const rest = args.slice(2);
428
428
  let alias;
429
429
  let configJson;
@@ -433,10 +433,10 @@ async function main() {
433
433
  }
434
434
  await setCollectionConfig(alias, configJson);
435
435
  } else if (adminSub === "create-system-collections") {
436
- const { createSystemCollections } = await import('./adminCommands-DMiliv55.mjs');
436
+ const { createSystemCollections } = await import('./adminCommands-DdFE0lME.mjs');
437
437
  await createSystemCollections();
438
438
  } else if (adminSub === "migrate-collection-children") {
439
- const { migrateCollectionChildren } = await import('./adminCommands-DMiliv55.mjs');
439
+ const { migrateCollectionChildren } = await import('./adminCommands-DdFE0lME.mjs');
440
440
  const rest = args.slice(2).filter((a) => !a.startsWith("-"));
441
441
  await migrateCollectionChildren(rest[0], rest[1]);
442
442
  } else {
@@ -444,7 +444,7 @@ async function main() {
444
444
  }
445
445
  process.exit(0);
446
446
  } else if (subcommand === "events") {
447
- const { listEvents, ackEvent } = await import('./notifyCommands-C0i6P1yC.mjs');
447
+ const { listEvents, ackEvent } = await import('./notifyCommands-D2ZfCkFA.mjs');
448
448
  const sub = args[1];
449
449
  const rest = args.slice(2);
450
450
  let email;
@@ -465,7 +465,7 @@ async function main() {
465
465
  } else if (!subcommand || subcommand === "start") {
466
466
  await handleInteractiveCommand();
467
467
  } else if (subcommand === "--version" || subcommand === "-v") {
468
- const pkg = await import('./package-D8lHDQja.mjs').catch(() => ({ default: { version: "unknown" } }));
468
+ const pkg = await import('./package-BbYkLoT-.mjs').catch(() => ({ default: { version: "unknown" } }));
469
469
  console.log(`svamp version: ${pkg.default.version}`);
470
470
  } else {
471
471
  console.error(`Unknown command: ${subcommand}`);
@@ -474,7 +474,7 @@ async function main() {
474
474
  }
475
475
  }
476
476
  async function handleInteractiveCommand() {
477
- const { runInteractive } = await import('./run-CvT_37Ov.mjs');
477
+ const { runInteractive } = await import('./run-5dQT-Op_.mjs');
478
478
  const interactiveArgs = subcommand === "start" ? args.slice(1) : args;
479
479
  let directory = process.cwd();
480
480
  let resumeSessionId;
@@ -519,7 +519,7 @@ async function handleAgentCommand() {
519
519
  return;
520
520
  }
521
521
  if (agentArgs[0] === "list") {
522
- const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.as; });
522
+ const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.as; });
523
523
  console.log("Known agents:");
524
524
  for (const [name, config2] of Object.entries(KNOWN_ACP_AGENTS)) {
525
525
  console.log(` ${name.padEnd(12)} ${config2.command} ${config2.args.join(" ")} (ACP)`);
@@ -531,7 +531,7 @@ async function handleAgentCommand() {
531
531
  console.log('Use "svamp agent -- <command> [args]" for a custom ACP agent.');
532
532
  return;
533
533
  }
534
- const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.as; });
534
+ const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.as; });
535
535
  let cwd = process.cwd();
536
536
  const filteredArgs = [];
537
537
  for (let i = 0; i < agentArgs.length; i++) {
@@ -555,12 +555,12 @@ async function handleAgentCommand() {
555
555
  console.log(`Starting ${config.agentName} agent in ${cwd}...`);
556
556
  let backend;
557
557
  if (KNOWN_CODEX_AGENTS[config.agentName]) {
558
- const { CodexAppServerBackend } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.at; });
558
+ const { CodexAppServerBackend } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.at; });
559
559
  backend = new CodexAppServerBackend({ cwd, log: logFn });
560
560
  } else {
561
- const { AcpBackend } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.ar; });
562
- const { GeminiTransport } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.au; });
563
- const { DefaultTransport } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.aq; });
561
+ const { AcpBackend } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.ar; });
562
+ const { GeminiTransport } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.au; });
563
+ const { DefaultTransport } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.aq; });
564
564
  const transportHandler = config.agentName === "gemini" ? new GeminiTransport() : new DefaultTransport(config.agentName);
565
565
  backend = new AcpBackend({
566
566
  agentName: config.agentName,
@@ -687,7 +687,7 @@ async function handleSessionCommand() {
687
687
  process.exit(1);
688
688
  }
689
689
  }
690
- 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-BAlaK67Y.mjs');
690
+ 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-CWo-Qy-e.mjs');
691
691
  const parseFlagStr = (flag, shortFlag) => {
692
692
  for (let i = 1; i < sessionArgs.length; i++) {
693
693
  if ((sessionArgs[i] === flag || shortFlag) && i + 1 < sessionArgs.length) {
@@ -755,7 +755,7 @@ async function handleSessionCommand() {
755
755
  allowDomain.push(sessionArgs[++i]);
756
756
  }
757
757
  }
758
- const { parseShareArg } = await import('./commands-BAlaK67Y.mjs');
758
+ const { parseShareArg } = await import('./commands-CWo-Qy-e.mjs');
759
759
  const shareEntries = share.map((s) => parseShareArg(s));
760
760
  await sessionSpawn(agent, dir, targetMachineId, {
761
761
  message,
@@ -845,7 +845,7 @@ async function handleSessionCommand() {
845
845
  console.error(" Rewinds history: rewrites the message + drops everything after it, then restarts Claude.");
846
846
  process.exit(1);
847
847
  }
848
- const { sessionEditMessage } = await import('./commands-BAlaK67Y.mjs');
848
+ const { sessionEditMessage } = await import('./commands-CWo-Qy-e.mjs');
849
849
  await sessionEditMessage(sessionArgs[1], sessionArgs[2], sessionArgs[3], targetMachineId);
850
850
  } else if (sessionSubcommand === "refine") {
851
851
  if (!sessionArgs[1] || !sessionArgs[2]) {
@@ -853,7 +853,7 @@ async function handleSessionCommand() {
853
853
  console.error(" Asks the agent to revise its latest reply in place (no extra round).");
854
854
  process.exit(1);
855
855
  }
856
- const { sessionRefineLastReply } = await import('./commands-BAlaK67Y.mjs');
856
+ const { sessionRefineLastReply } = await import('./commands-CWo-Qy-e.mjs');
857
857
  await sessionRefineLastReply(sessionArgs[1], sessionArgs[2], targetMachineId);
858
858
  } else if (sessionSubcommand === "undo-edit" || sessionSubcommand === "undo") {
859
859
  if (!sessionArgs[1]) {
@@ -861,7 +861,7 @@ async function handleSessionCommand() {
861
861
  console.error(" Reverts the most recent edit/refine, restoring the pre-edit history.");
862
862
  process.exit(1);
863
863
  }
864
- const { sessionUndoEdit } = await import('./commands-BAlaK67Y.mjs');
864
+ const { sessionUndoEdit } = await import('./commands-CWo-Qy-e.mjs');
865
865
  await sessionUndoEdit(sessionArgs[1], targetMachineId);
866
866
  } else if (sessionSubcommand === "query") {
867
867
  const dir = sessionArgs[1];
@@ -871,7 +871,7 @@ async function handleSessionCommand() {
871
871
  console.error(" Spawns a stateless Claude session in <directory>, sends <prompt>, prints the answer, then deletes the session.");
872
872
  process.exit(1);
873
873
  }
874
- const { sessionQuery } = await import('./commands-BAlaK67Y.mjs');
874
+ const { sessionQuery } = await import('./commands-CWo-Qy-e.mjs');
875
875
  await sessionQuery(dir, prompt, targetMachineId, {
876
876
  timeout: parseFlagInt("--timeout"),
877
877
  json: hasFlag("--json"),
@@ -904,7 +904,7 @@ async function handleSessionCommand() {
904
904
  console.error("Usage: svamp session approve <session-id> [request-id] [--json]");
905
905
  process.exit(1);
906
906
  }
907
- const { sessionApprove } = await import('./commands-BAlaK67Y.mjs');
907
+ const { sessionApprove } = await import('./commands-CWo-Qy-e.mjs');
908
908
  const approveReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
909
909
  await sessionApprove(sessionArgs[1], approveReqId, targetMachineId, {
910
910
  json: hasFlag("--json")
@@ -914,7 +914,7 @@ async function handleSessionCommand() {
914
914
  console.error("Usage: svamp session deny <session-id> [request-id] [--json]");
915
915
  process.exit(1);
916
916
  }
917
- const { sessionDeny } = await import('./commands-BAlaK67Y.mjs');
917
+ const { sessionDeny } = await import('./commands-CWo-Qy-e.mjs');
918
918
  const denyReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
919
919
  await sessionDeny(sessionArgs[1], denyReqId, targetMachineId, {
920
920
  json: hasFlag("--json")
@@ -966,7 +966,7 @@ async function handleSessionCommand() {
966
966
  console.error("Usage: svamp session set-title <title>");
967
967
  process.exit(1);
968
968
  }
969
- const { sessionSetTitle } = await import('./agentCommands-BCkWdFFW.mjs');
969
+ const { sessionSetTitle } = await import('./agentCommands-RW8riLgc.mjs');
970
970
  await sessionSetTitle(title);
971
971
  } else if (sessionSubcommand === "set-project-description" || sessionSubcommand === "set-project") {
972
972
  const desc = sessionArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
@@ -974,7 +974,7 @@ async function handleSessionCommand() {
974
974
  console.error("Usage: svamp session set-project-description <text>");
975
975
  process.exit(1);
976
976
  }
977
- const { sessionSetProjectDescription } = await import('./agentCommands-BCkWdFFW.mjs');
977
+ const { sessionSetProjectDescription } = await import('./agentCommands-RW8riLgc.mjs');
978
978
  await sessionSetProjectDescription(desc);
979
979
  } else if (sessionSubcommand === "set-link") {
980
980
  const url = sessionArgs[1];
@@ -983,11 +983,11 @@ async function handleSessionCommand() {
983
983
  process.exit(1);
984
984
  }
985
985
  const label = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
986
- const { sessionSetLink } = await import('./agentCommands-BCkWdFFW.mjs');
986
+ const { sessionSetLink } = await import('./agentCommands-RW8riLgc.mjs');
987
987
  await sessionSetLink(url, label);
988
988
  } else if (sessionSubcommand === "link") {
989
989
  const op = sessionArgs[1];
990
- const lm = await import('./agentCommands-BCkWdFFW.mjs');
990
+ const lm = await import('./agentCommands-RW8riLgc.mjs');
991
991
  if (op === "add") {
992
992
  const url = sessionArgs[2];
993
993
  if (!url || url.startsWith("--")) {
@@ -1022,7 +1022,7 @@ async function handleSessionCommand() {
1022
1022
  process.exit(1);
1023
1023
  }
1024
1024
  const level = parseFlagStr("--level") || "info";
1025
- const { sessionNotify } = await import('./agentCommands-BCkWdFFW.mjs');
1025
+ const { sessionNotify } = await import('./agentCommands-RW8riLgc.mjs');
1026
1026
  await sessionNotify(message, level);
1027
1027
  } else if (sessionSubcommand === "broadcast") {
1028
1028
  const action = sessionArgs[1];
@@ -1030,7 +1030,7 @@ async function handleSessionCommand() {
1030
1030
  console.error("Usage: svamp session broadcast <action> [args...]\nActions: open-canvas <url> [label], close-canvas, toast <message>");
1031
1031
  process.exit(1);
1032
1032
  }
1033
- const { sessionBroadcast } = await import('./agentCommands-BCkWdFFW.mjs');
1033
+ const { sessionBroadcast } = await import('./agentCommands-RW8riLgc.mjs');
1034
1034
  await sessionBroadcast(action, sessionArgs.slice(2).filter((a) => !a.startsWith("--")));
1035
1035
  } else if (sessionSubcommand === "inbox") {
1036
1036
  const inboxSubcmd = sessionArgs[1];
@@ -1041,7 +1041,7 @@ async function handleSessionCommand() {
1041
1041
  process.exit(1);
1042
1042
  }
1043
1043
  if (agentSessionId) {
1044
- const { inboxSend } = await import('./agentCommands-BCkWdFFW.mjs');
1044
+ const { inboxSend } = await import('./agentCommands-RW8riLgc.mjs');
1045
1045
  await inboxSend(sessionArgs[2], {
1046
1046
  body: sessionArgs[3],
1047
1047
  subject: parseFlagStr("--subject"),
@@ -1058,7 +1058,7 @@ async function handleSessionCommand() {
1058
1058
  }
1059
1059
  } else if (inboxSubcmd === "list" || inboxSubcmd === "ls") {
1060
1060
  if (agentSessionId && !sessionArgs[2]) {
1061
- const { inboxList } = await import('./agentCommands-BCkWdFFW.mjs');
1061
+ const { inboxList } = await import('./agentCommands-RW8riLgc.mjs');
1062
1062
  await inboxList({
1063
1063
  unread: hasFlag("--unread"),
1064
1064
  limit: parseFlagInt("--limit"),
@@ -1080,7 +1080,7 @@ async function handleSessionCommand() {
1080
1080
  process.exit(1);
1081
1081
  }
1082
1082
  if (agentSessionId && !sessionArgs[3]) {
1083
- const { inboxList } = await import('./agentCommands-BCkWdFFW.mjs');
1083
+ const { inboxList } = await import('./agentCommands-RW8riLgc.mjs');
1084
1084
  await sessionInboxRead(agentSessionId, sessionArgs[2], targetMachineId);
1085
1085
  } else if (sessionArgs[3]) {
1086
1086
  await sessionInboxRead(sessionArgs[2], sessionArgs[3], targetMachineId);
@@ -1090,7 +1090,7 @@ async function handleSessionCommand() {
1090
1090
  }
1091
1091
  } else if (inboxSubcmd === "reply") {
1092
1092
  if (agentSessionId && sessionArgs[2] && sessionArgs[3] && !sessionArgs[4]) {
1093
- const { inboxReply } = await import('./agentCommands-BCkWdFFW.mjs');
1093
+ const { inboxReply } = await import('./agentCommands-RW8riLgc.mjs');
1094
1094
  await inboxReply(sessionArgs[2], sessionArgs[3]);
1095
1095
  } else if (sessionArgs[2] && sessionArgs[3] && sessionArgs[4]) {
1096
1096
  await sessionInboxReply(sessionArgs[2], sessionArgs[3], sessionArgs[4], targetMachineId);
@@ -1128,7 +1128,7 @@ async function handleMachineCommand() {
1128
1128
  return;
1129
1129
  }
1130
1130
  if (machineSubcommand === "share") {
1131
- const { machineShare } = await import('./commands-BAlaK67Y.mjs');
1131
+ const { machineShare } = await import('./commands-CWo-Qy-e.mjs');
1132
1132
  let machineId;
1133
1133
  const shareArgs = [];
1134
1134
  for (let i = 1; i < machineArgs.length; i++) {
@@ -1179,14 +1179,14 @@ async function handleMachineCommand() {
1179
1179
  process.exit(1);
1180
1180
  }
1181
1181
  if (all) {
1182
- const { fleetExec } = await import('./fleet-BFurNsSA.mjs');
1182
+ const { fleetExec } = await import('./fleet-DBUicMjO.mjs');
1183
1183
  await fleetExec(command, { cwd });
1184
1184
  } else {
1185
- const { machineExec } = await import('./commands-BAlaK67Y.mjs');
1185
+ const { machineExec } = await import('./commands-CWo-Qy-e.mjs');
1186
1186
  await machineExec(machineId, command, cwd);
1187
1187
  }
1188
1188
  } else if (machineSubcommand === "info") {
1189
- const { machineInfo } = await import('./commands-BAlaK67Y.mjs');
1189
+ const { machineInfo } = await import('./commands-CWo-Qy-e.mjs');
1190
1190
  let machineId;
1191
1191
  for (let i = 1; i < machineArgs.length; i++) {
1192
1192
  if ((machineArgs[i] === "--machine" || machineArgs[i] === "-m") && i + 1 < machineArgs.length) {
@@ -1206,10 +1206,10 @@ async function handleMachineCommand() {
1206
1206
  level = machineArgs[++i];
1207
1207
  }
1208
1208
  }
1209
- const { machineNotify } = await import('./agentCommands-BCkWdFFW.mjs');
1209
+ const { machineNotify } = await import('./agentCommands-RW8riLgc.mjs');
1210
1210
  await machineNotify(message, level);
1211
1211
  } else if (machineSubcommand === "ls") {
1212
- const { machineLs } = await import('./commands-BAlaK67Y.mjs');
1212
+ const { machineLs } = await import('./commands-CWo-Qy-e.mjs');
1213
1213
  let machineId;
1214
1214
  let showHidden = false;
1215
1215
  let path;
@@ -1268,20 +1268,20 @@ Examples:
1268
1268
  };
1269
1269
  const hasFlag = (name) => fleetArgs.includes(`--${name}`);
1270
1270
  if (sub === "status") {
1271
- const { fleetStatus } = await import('./fleet-BFurNsSA.mjs');
1271
+ const { fleetStatus } = await import('./fleet-DBUicMjO.mjs');
1272
1272
  await fleetStatus();
1273
1273
  } else if (sub === "upgrade-claude") {
1274
- const { fleetUpgradeClaude } = await import('./fleet-BFurNsSA.mjs');
1274
+ const { fleetUpgradeClaude } = await import('./fleet-DBUicMjO.mjs');
1275
1275
  await fleetUpgradeClaude({ version: flag("version", "-v") });
1276
1276
  } else if (sub === "upgrade-svamp") {
1277
- const { fleetUpgradeSvamp } = await import('./fleet-BFurNsSA.mjs');
1277
+ const { fleetUpgradeSvamp } = await import('./fleet-DBUicMjO.mjs');
1278
1278
  await fleetUpgradeSvamp({ version: flag("version", "-v"), excludeSelf: hasFlag("exclude-self"), force: hasFlag("force") });
1279
1279
  } else if (sub === "daemon-restart") {
1280
- const { fleetDaemonRestart } = await import('./fleet-BFurNsSA.mjs');
1280
+ const { fleetDaemonRestart } = await import('./fleet-DBUicMjO.mjs');
1281
1281
  await fleetDaemonRestart({ graceful: !hasFlag("cleanup") });
1282
1282
  } else if (sub === "push-skill") {
1283
1283
  const name = fleetArgs[1];
1284
- const { fleetPushSkill } = await import('./fleet-BFurNsSA.mjs');
1284
+ const { fleetPushSkill } = await import('./fleet-DBUicMjO.mjs');
1285
1285
  await fleetPushSkill(name);
1286
1286
  } else {
1287
1287
  console.error(`Unknown fleet subcommand: ${sub}`);
@@ -1297,7 +1297,7 @@ async function handleSkillsCommand() {
1297
1297
  await printSkillsHelp();
1298
1298
  return;
1299
1299
  }
1300
- const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-BA3eBROn.mjs');
1300
+ const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-DsVpS-kk.mjs');
1301
1301
  if (skillsSubcommand === "find" || skillsSubcommand === "search") {
1302
1302
  const query = skillsArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
1303
1303
  if (!query) {
@@ -1344,7 +1344,7 @@ async function loginToHypha() {
1344
1344
  process.exit(1);
1345
1345
  }
1346
1346
  const anchor = anchorArg.replace(/\/+$/, "");
1347
- const { loadInstanceConfig } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.am; });
1347
+ const { loadInstanceConfig } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.am; });
1348
1348
  let cfg = null;
1349
1349
  try {
1350
1350
  cfg = await loadInstanceConfig({ anchor, force: true });
@@ -1455,7 +1455,7 @@ async function logoutFromHypha() {
1455
1455
  } catch {
1456
1456
  }
1457
1457
  try {
1458
- const { clearInstanceConfigCache } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.am; });
1458
+ const { clearInstanceConfigCache } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.am; });
1459
1459
  clearInstanceConfigCache();
1460
1460
  } catch {
1461
1461
  }
@@ -1797,7 +1797,7 @@ async function applyClaudeAuthFlags(argv) {
1797
1797
  "--use-hypha-proxy, --use-claude-login, and --anthropic-base-url/--anthropic-api-key are mutually exclusive"
1798
1798
  );
1799
1799
  }
1800
- const mod = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.an; });
1800
+ const mod = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.an; });
1801
1801
  if (hasHypha) {
1802
1802
  let url;
1803
1803
  const hyphaIdx = argv.indexOf("--use-hypha-proxy");
@@ -1851,7 +1851,7 @@ async function applyDaemonShareFlag(argv) {
1851
1851
  }
1852
1852
  }
1853
1853
  if (collected.length === 0) return;
1854
- const { updateEnvFile } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.an; });
1854
+ const { updateEnvFile } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.an; });
1855
1855
  const seen = /* @__PURE__ */ new Set();
1856
1856
  const deduped = collected.filter((e) => {
1857
1857
  const k = e.toLowerCase();
@@ -1884,7 +1884,7 @@ async function handleWiseAgentCommand(rest) {
1884
1884
  }
1885
1885
  });
1886
1886
  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(" ");
1887
- const { wiseAskCli } = await import('./commands-BAlaK67Y.mjs');
1887
+ const { wiseAskCli } = await import('./commands-CWo-Qy-e.mjs');
1888
1888
  await wiseAskCli(machineId, message, sessionId, { json });
1889
1889
  return;
1890
1890
  }
@@ -1896,7 +1896,7 @@ async function handleWiseAgentCommand(rest) {
1896
1896
  }
1897
1897
  return void 0;
1898
1898
  };
1899
- const { runWiseVoiceCli } = await import('./headlessCli-DP9gpAxv.mjs');
1899
+ const { runWiseVoiceCli } = await import('./headlessCli-DxPFqj7M.mjs');
1900
1900
  await runWiseVoiceCli({ voice: valueOf(["--voice"]), wakeKeywordPath: valueOf(["--wake"]), model: valueOf(["--model"]) });
1901
1901
  return;
1902
1902
  }
@@ -1914,7 +1914,7 @@ async function handleWiseAgentCommand(rest) {
1914
1914
  const mode = valueOf(["--mode"]);
1915
1915
  const mission = valueOf(["--mission"]);
1916
1916
  const url = rest.slice(1).find((a) => /^https?:\/\//.test(a)) || "";
1917
- const { wiseJoinMeetingCli } = await import('./commands-BAlaK67Y.mjs');
1917
+ const { wiseJoinMeetingCli } = await import('./commands-CWo-Qy-e.mjs');
1918
1918
  await wiseJoinMeetingCli(machineId, url, sessionId, { json, mode, mission });
1919
1919
  return;
1920
1920
  }
@@ -1926,7 +1926,7 @@ async function handleWiseAgentCommand(rest) {
1926
1926
  }
1927
1927
  return void 0;
1928
1928
  };
1929
- const { wiseLeaveMeetingCli } = await import('./commands-BAlaK67Y.mjs');
1929
+ const { wiseLeaveMeetingCli } = await import('./commands-CWo-Qy-e.mjs');
1930
1930
  await wiseLeaveMeetingCli(valueOf(["--machine", "-m"]), valueOf(["--session", "-s"]), { json: rest.includes("--json") });
1931
1931
  return;
1932
1932
  }
@@ -1950,7 +1950,7 @@ async function handleWiseAgentCommand(rest) {
1950
1950
  }
1951
1951
  });
1952
1952
  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(" ");
1953
- const { wiseAnnounceCli } = await import('./commands-BAlaK67Y.mjs');
1953
+ const { wiseAnnounceCli } = await import('./commands-CWo-Qy-e.mjs');
1954
1954
  await wiseAnnounceCli(machineId, text, sessionId, { json });
1955
1955
  return;
1956
1956
  }
@@ -1962,7 +1962,7 @@ async function handleWiseAgentCommand(rest) {
1962
1962
  }
1963
1963
  return void 0;
1964
1964
  };
1965
- const { wiseMeetingsCli } = await import('./commands-BAlaK67Y.mjs');
1965
+ const { wiseMeetingsCli } = await import('./commands-CWo-Qy-e.mjs');
1966
1966
  await wiseMeetingsCli(valueOf(["--machine", "-m"]), { json: rest.includes("--json") });
1967
1967
  return;
1968
1968
  }
@@ -2012,7 +2012,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
2012
2012
  return;
2013
2013
  }
2014
2014
  const authArgs = rest.slice(1);
2015
- const mod = await import('./auth-Ba1_zl1h.mjs');
2015
+ const mod = await import('./auth-8ntB7y8N.mjs');
2016
2016
  let action;
2017
2017
  try {
2018
2018
  action = mod.parseWiseAgentAuthArgs(authArgs);
@@ -2022,7 +2022,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
2022
2022
  return;
2023
2023
  }
2024
2024
  if (action) {
2025
- const { updateEnvFile } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.an; });
2025
+ const { updateEnvFile } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.an; });
2026
2026
  const updates = mod.buildWiseAgentEnvUpdates(action);
2027
2027
  updateEnvFile(updates);
2028
2028
  for (const [k, v] of Object.entries(updates)) {
@@ -2036,7 +2036,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
2036
2036
  }
2037
2037
  async function handleDaemonAuthCommand(argv) {
2038
2038
  const sub = (argv[0] || "status").toLowerCase();
2039
- const mod = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.an; });
2039
+ const mod = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.an; });
2040
2040
  if (sub === "--help" || sub === "-h" || sub === "help") {
2041
2041
  console.log(`
2042
2042
  svamp daemon auth \u2014 Configure how Claude subprocesses authenticate
@@ -2110,8 +2110,8 @@ one step: --use-hypha-proxy / --use-claude-login / --anthropic-base-url URL --an
2110
2110
  }
2111
2111
  async function handleDaemonCodexAuthCommand(argv) {
2112
2112
  const sub = (argv[0] || "status").toLowerCase();
2113
- const { updateEnvFile } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.an; });
2114
- const { resolveCodexProvider } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.ao; });
2113
+ const { updateEnvFile } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.an; });
2114
+ const { resolveCodexProvider } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.ao; });
2115
2115
  const redact = (k) => k && k.length > 10 ? `${k.slice(0, 6)}\u2026${k.slice(-4)}` : k ? "***" : "(unset)";
2116
2116
  if (sub === "--help" || sub === "-h" || sub === "help") {
2117
2117
  console.log(`
@@ -2443,7 +2443,7 @@ Examples:
2443
2443
  async function printSkillsHelp() {
2444
2444
  let browseUrl = "<HYPHA_SERVER_URL>/<workspace>/artifacts/marketplace (set HYPHA_SERVER_URL)";
2445
2445
  try {
2446
- const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.av; });
2446
+ const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.av; });
2447
2447
  browseUrl = `${getArtifactBaseUrl()}/${getSkillsCollectionName()}`;
2448
2448
  } catch {
2449
2449
  }
package/dist/cli.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import './run-C0GhrtVf.mjs';
1
+ import './run-BYDlRsuL.mjs';
2
2
  import './serviceManager-hlOVxkhW.mjs';
3
- import './cli-Bv0Zhf3M.mjs';
3
+ import './cli-BC8JtFfc.mjs';
4
4
  import 'os';
5
5
  import 'fs/promises';
6
6
  import 'fs';
@@ -1,9 +1,9 @@
1
- import { connectAndResolveSession } from './commands-BAlaK67Y.mjs';
1
+ import { connectAndResolveSession } from './commands-CWo-Qy-e.mjs';
2
2
  import 'node:fs';
3
3
  import 'node:child_process';
4
4
  import 'node:path';
5
5
  import 'node:os';
6
- import './run-C0GhrtVf.mjs';
6
+ import './run-BYDlRsuL.mjs';
7
7
  import 'os';
8
8
  import 'fs/promises';
9
9
  import 'fs';
@@ -1,8 +1,8 @@
1
1
  import { execSync } from 'node:child_process';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
- import { f as flushAndExit } from './cli-Bv0Zhf3M.mjs';
5
- import { j as resolveProjectRoot, q as searchIssues, o as listIssues, l as resumeIssue, p as pauseIssue, m as addComment, u as updateIssue, k as getIssue, t as isVisibleTo, H as summarize, n as addIssue } from './run-C0GhrtVf.mjs';
4
+ import { f as flushAndExit } from './cli-BC8JtFfc.mjs';
5
+ import { j as resolveProjectRoot, q as searchIssues, o as listIssues, l as resumeIssue, p as pauseIssue, m as addComment, u as updateIssue, k as getIssue, t as isVisibleTo, H as summarize, n as addIssue } from './run-BYDlRsuL.mjs';
6
6
  import './serviceManager-hlOVxkhW.mjs';
7
7
  import 'os';
8
8
  import 'fs/promises';
@@ -60,7 +60,7 @@ async function serviceExpose(args) {
60
60
  process.exit(1);
61
61
  }
62
62
  if (foreground) {
63
- const { runFrpcTunnel } = await import('./frpc-Cb6jUvED.mjs');
63
+ const { runFrpcTunnel } = await import('./frpc-Dkda80Ga.mjs');
64
64
  await runFrpcTunnel(name, ports, void 0, {
65
65
  group,
66
66
  groupKey,
@@ -70,7 +70,7 @@ async function serviceExpose(args) {
70
70
  });
71
71
  return;
72
72
  }
73
- const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
73
+ const { connectAndGetMachine } = await import('./commands-CWo-Qy-e.mjs');
74
74
  const { server, machine } = await connectAndGetMachine();
75
75
  try {
76
76
  const status = await machine.tunnelStart({
@@ -92,7 +92,7 @@ async function serviceExpose(args) {
92
92
  console.log(` port ${port}: ${url}`);
93
93
  }
94
94
  if (process.env.SVAMP_SESSION_ID) {
95
- const { autoAddSessionLink } = await import('./agentCommands-BCkWdFFW.mjs');
95
+ const { autoAddSessionLink } = await import('./agentCommands-RW8riLgc.mjs');
96
96
  let added = 0;
97
97
  for (const [port, url] of urlEntries) {
98
98
  const label = urlEntries.length > 1 ? `${name}:${port}` : name;
@@ -129,7 +129,7 @@ async function serviceServe(args) {
129
129
  console.log(`Serving ${resolvedDir}`);
130
130
  const servePort = 18080;
131
131
  const http = await import('http');
132
- const { serveStaticMount } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.al; });
132
+ const { serveStaticMount } = await import('./run-BYDlRsuL.mjs').then(function (n) { return n.al; });
133
133
  const server = http.createServer((req, res) => {
134
134
  const u = new URL(req.url || "/", "http://127.0.0.1");
135
135
  let rel = u.pathname;
@@ -140,7 +140,7 @@ async function serviceServe(args) {
140
140
  server.once("error", reject);
141
141
  server.listen(servePort, "127.0.0.1", () => resolve());
142
142
  });
143
- const { runFrpcTunnel } = await import('./frpc-Cb6jUvED.mjs');
143
+ const { runFrpcTunnel } = await import('./frpc-Dkda80Ga.mjs');
144
144
  void server;
145
145
  await runFrpcTunnel(name, [servePort]);
146
146
  } catch (err) {
@@ -150,7 +150,7 @@ async function serviceServe(args) {
150
150
  }
151
151
  async function serviceList(_args) {
152
152
  try {
153
- const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
153
+ const { connectAndGetMachine } = await import('./commands-CWo-Qy-e.mjs');
154
154
  const { server, machine } = await connectAndGetMachine();
155
155
  try {
156
156
  const tunnels = await machine.tunnelList({});
@@ -190,7 +190,7 @@ async function serviceDelete(args) {
190
190
  process.exit(1);
191
191
  }
192
192
  try {
193
- const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
193
+ const { connectAndGetMachine } = await import('./commands-CWo-Qy-e.mjs');
194
194
  const { server, machine } = await connectAndGetMachine();
195
195
  try {
196
196
  await machine.tunnelStop({ name });
@@ -1,8 +1,8 @@
1
1
  import { existsSync } from 'node:fs';
2
2
  import { resolve } from 'node:path';
3
- import { connectAndGetMachine, resolveSessionId, createWorktree, connectAndResolveSession } from './commands-BAlaK67Y.mjs';
3
+ import { connectAndGetMachine, resolveSessionId, createWorktree, connectAndResolveSession } from './commands-CWo-Qy-e.mjs';
4
4
  import { execFileSync } from 'node:child_process';
5
- import { u as updateIssue, m as addComment, n as addIssue, i as shortId } from './run-C0GhrtVf.mjs';
5
+ import { u as updateIssue, m as addComment, n as addIssue, i as shortId } from './run-BYDlRsuL.mjs';
6
6
  import 'node:os';
7
7
  import 'os';
8
8
  import 'fs/promises';
@@ -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 { a3 as formatHandle, a4 as normalizeAllowedUser, a5 as loadSecurityContextConfig, a6 as resolveSecurityContext, a7 as buildSecurityContextFromFlags, a8 as mergeSecurityContexts, c as connectToHypha, a9 as buildSessionShareUrl, aa as computeOutboundHop, i as shortId, ab as registerAwaitingReply, ac as buildMachineShareUrl, ad as parseHandle, ae as handleMatchesMetadata } from './run-C0GhrtVf.mjs';
5
+ import { a3 as formatHandle, a4 as normalizeAllowedUser, a5 as loadSecurityContextConfig, a6 as resolveSecurityContext, a7 as buildSecurityContextFromFlags, a8 as mergeSecurityContexts, c as connectToHypha, a9 as buildSessionShareUrl, aa as computeOutboundHop, i as shortId, ab as registerAwaitingReply, ac as buildMachineShareUrl, ad as parseHandle, ae as handleMatchesMetadata } from './run-BYDlRsuL.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 { Q as parseFrontmatter, T as getSkillsServer, U as getSkillsWorkspaceName, V as getSkillsCollectionName, W as fetchWithTimeout, X as searchSkills, Y as SKILLS_DIR, Z as getSkillInfo, _ as downloadSkillFile, $ as listSkillFiles } from './run-C0GhrtVf.mjs';
4
+ import { Q as parseFrontmatter, T as getSkillsServer, U as getSkillsWorkspaceName, V as getSkillsCollectionName, W as fetchWithTimeout, X as searchSkills, Y as SKILLS_DIR, Z as getSkillInfo, _ as downloadSkillFile, $ as listSkillFiles } from './run-BYDlRsuL.mjs';
5
5
  import 'fs/promises';
6
6
  import 'url';
7
7
  import 'child_process';
@@ -1,11 +1,11 @@
1
1
  import { writeFileSync, readFileSync } from 'fs';
2
2
  import { resolve } from 'path';
3
- import { connectAndGetMachine } from './commands-BAlaK67Y.mjs';
3
+ import { connectAndGetMachine } from './commands-CWo-Qy-e.mjs';
4
4
  import 'node:fs';
5
5
  import 'node:child_process';
6
6
  import 'node:path';
7
7
  import 'node:os';
8
- import './run-C0GhrtVf.mjs';
8
+ import './run-BYDlRsuL.mjs';
9
9
  import 'os';
10
10
  import 'fs/promises';
11
11
  import 'url';
@@ -1,5 +1,5 @@
1
1
  import { spawnSync } from 'node:child_process';
2
- import { j as resolveProjectRoot, I as workflowSteps, z as setWorkflowEnabled, E as isWorkflowEnabled, A as removeWorkflow, x as getWorkflow, D as listWorkflows, B as saveWorkflow, C as rawWorkflow } from './run-C0GhrtVf.mjs';
2
+ import { j as resolveProjectRoot, I as workflowSteps, z as setWorkflowEnabled, E as isWorkflowEnabled, A as removeWorkflow, x as getWorkflow, D as listWorkflows, B as saveWorkflow, C as rawWorkflow } from './run-BYDlRsuL.mjs';
3
3
  import 'os';
4
4
  import 'fs/promises';
5
5
  import 'fs';
@@ -1,7 +1,7 @@
1
1
  import { existsSync, readFileSync } from 'node:fs';
2
2
  import { join } from 'node:path';
3
3
  import os from 'node:os';
4
- import { c as connectToHypha } from './run-C0GhrtVf.mjs';
4
+ import { c as connectToHypha } from './run-BYDlRsuL.mjs';
5
5
  import { PINNED_CLAUDE_CODE_VERSION } from './pinnedClaudeCode-BaMR97BE.mjs';
6
6
  import 'os';
7
7
  import 'fs/promises';
@@ -4,7 +4,7 @@ import { mkdirSync, chmodSync, writeFileSync, unlinkSync, existsSync, readFileSy
4
4
  import { join } from 'path';
5
5
  import { homedir, platform, arch } from 'os';
6
6
  import { randomUUID, createHash } from 'crypto';
7
- import { e as getFrpsSubdomainHost, f as getFrpsServerPort, h as getFrpsServerAddr } from './run-C0GhrtVf.mjs';
7
+ import { e as getFrpsSubdomainHost, f as getFrpsServerPort, h as getFrpsServerAddr } from './run-BYDlRsuL.mjs';
8
8
  import 'fs/promises';
9
9
  import 'url';
10
10
  import 'node:crypto';
@@ -1,5 +1,5 @@
1
- import { a0 as resolveModel, af as describeMisconfiguration, ag as buildMachineDeps } from './run-C0GhrtVf.mjs';
2
- import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-BlZBmbji.mjs';
1
+ import { a0 as resolveModel, af as describeMisconfiguration, ag as buildMachineDeps } from './run-BYDlRsuL.mjs';
2
+ import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-B3K9zjW3.mjs';
3
3
  import { WebSocket } from 'ws';
4
4
  import { execSync, spawn } from 'child_process';
5
5
  import 'os';
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- export { c as connectToHypha, a as createSessionStore, d as daemonStatus, g as getHyphaServerUrl, r as registerMachineService, s as startDaemon, b as stopDaemon } from './run-C0GhrtVf.mjs';
1
+ export { c as connectToHypha, a as createSessionStore, d as daemonStatus, g as getHyphaServerUrl, r as registerMachineService, s as startDaemon, b as stopDaemon } from './run-BYDlRsuL.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -1,4 +1,4 @@
1
- import { c as connectToHypha, S as SharingNotificationSync, J as parseJwtEmail } from './run-C0GhrtVf.mjs';
1
+ import { c as connectToHypha, S as SharingNotificationSync, J as parseJwtEmail } from './run-BYDlRsuL.mjs';
2
2
  import { randomUUID } from 'node:crypto';
3
3
  import { existsSync, readFileSync } from 'node:fs';
4
4
  import { join } from 'node:path';
@@ -1,5 +1,5 @@
1
1
  var name = "svamp-cli";
2
- var version = "0.2.301";
2
+ var version = "0.2.303";
3
3
  var description = "Svamp CLI — AI workspace daemon on Hypha Cloud";
4
4
  var author = "Amun AI AB";
5
5
  var license = "SEE LICENSE IN LICENSE";
@@ -1,4 +1,4 @@
1
- import { j as resolveProjectRoot, u as updateIssue, k as getIssue, l as resumeIssue, p as pauseIssue, m as addComment, n as addIssue, o as listIssues, q as searchIssues, t as isVisibleTo } from './run-C0GhrtVf.mjs';
1
+ import { j as resolveProjectRoot, u as updateIssue, k as getIssue, l as resumeIssue, p as pauseIssue, m as addComment, n as addIssue, o as listIssues, q as searchIssues, t as isVisibleTo } from './run-BYDlRsuL.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -1,4 +1,4 @@
1
- import { j as resolveProjectRoot, v as getRun, w as listRuns, x as getWorkflow, y as runWorkflow, z as setWorkflowEnabled, A as removeWorkflow, B as saveWorkflow, C as rawWorkflow, D as listWorkflows } from './run-C0GhrtVf.mjs';
1
+ import { j as resolveProjectRoot, v as getRun, w as listRuns, x as getWorkflow, y as runWorkflow, z as setWorkflowEnabled, A as removeWorkflow, B as saveWorkflow, C as rawWorkflow, D as listWorkflows } from './run-BYDlRsuL.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -1,4 +1,4 @@
1
- import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import { ah as applyClaudeProxyEnv, ai as composeSessionId, aj as generateFriendlyName, c as connectToHypha, a as createSessionStore, r as registerMachineService, ak as generateHookSettings } from './run-C0GhrtVf.mjs';
1
+ import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import { ah as applyClaudeProxyEnv, ai as composeSessionId, aj as generateFriendlyName, c as connectToHypha, a as createSessionStore, r as registerMachineService, ak as generateHookSettings } from './run-BYDlRsuL.mjs';
2
2
  import os from 'node:os';
3
3
  import { resolve, join } from 'node:path';
4
4
  import { existsSync, readFileSync, watch } from 'node:fs';
@@ -2973,7 +2973,7 @@ Connection: close\r
2973
2973
  const mount = this.mounts.get(mountName);
2974
2974
  const subdomainOverride = mount?.access === "link" && mount.linkToken ? /* @__PURE__ */ new Map([[this.port, buildLinkSubdomain(subdomainSafe, mount.linkToken)]]) : void 0;
2975
2975
  try {
2976
- const { FrpcTunnel } = await import('./frpc-Cb6jUvED.mjs');
2976
+ const { FrpcTunnel } = await import('./frpc-Dkda80Ga.mjs');
2977
2977
  let tunnel;
2978
2978
  tunnel = new FrpcTunnel({
2979
2979
  name: tunnelName,
@@ -5867,7 +5867,7 @@ async function registerMachineService(server, machineId, metadata, daemonState,
5867
5867
  const tunnels = handlers.tunnels;
5868
5868
  if (!tunnels) throw new Error("Tunnel management not available");
5869
5869
  if (tunnels.has(params.name)) throw new Error(`Tunnel '${params.name}' already running`);
5870
- const { FrpcTunnel } = await import('./frpc-Cb6jUvED.mjs');
5870
+ const { FrpcTunnel } = await import('./frpc-Dkda80Ga.mjs');
5871
5871
  const tunnel = new FrpcTunnel({
5872
5872
  name: params.name,
5873
5873
  ports: params.ports,
@@ -6343,7 +6343,7 @@ QUESTION: ${params.question || "Summarize this concisely."}` }
6343
6343
  }
6344
6344
  const deps = buildSessionDeps(rpc, { cwd, ownerEmail: owner });
6345
6345
  const sender = { name: context?.user?.email || context?.user?.id || "user", kind: "user", verified: true };
6346
- const { toolsForRole } = await import('./sideband-BlZBmbji.mjs');
6346
+ const { toolsForRole } = await import('./sideband-B3K9zjW3.mjs');
6347
6347
  const r2 = await runWiseAgent({ message: params.message, sender, config: { tools: toolsForRole(role2) }, deps, transport, model: resolved.model });
6348
6348
  return fmt(r2);
6349
6349
  }
@@ -6448,7 +6448,7 @@ QUESTION: ${params.question || "Summarize this concisely."}` }
6448
6448
  return { ok: false, call_id: callId, status: "busy", error: "channel is busy (too many concurrent requests) \u2014 retry shortly" };
6449
6449
  }
6450
6450
  const rendered = renderMessage(c, { sender: r.sender, body: { message: kwargs.message }, callId });
6451
- const { queryCore } = await import('./commands-BAlaK67Y.mjs');
6451
+ const { queryCore } = await import('./commands-CWo-Qy-e.mjs');
6452
6452
  const timeout = c.reply?.timeout_sec || 120;
6453
6453
  let result;
6454
6454
  try {
@@ -11783,6 +11783,20 @@ function mapCodexEventToText(event) {
11783
11783
  if (typeof delta === "string") return delta;
11784
11784
  return "";
11785
11785
  }
11786
+ function summarizeCodexChanges(changes) {
11787
+ if (!Array.isArray(changes) || changes.length === 0) return { filePath: null, patch: "", kind: null };
11788
+ const parts = changes.map((c) => {
11789
+ const path = typeof c?.path === "string" ? c.path : "";
11790
+ const kind2 = c?.kind?.type ?? (typeof c?.kind === "string" ? c.kind : null);
11791
+ const diff = typeof c?.diff === "string" ? c.diff : "";
11792
+ return { path, kind: kind2, diff };
11793
+ });
11794
+ const filePath = parts.length === 1 ? parts[0].path || null : `${parts.length} files`;
11795
+ const patch = parts.map((x) => parts.length > 1 && x.path ? `--- ${x.path}
11796
+ ${x.diff}` : x.diff).join("\n");
11797
+ const kind = parts.length === 1 ? parts[0].kind : null;
11798
+ return { filePath, patch, kind };
11799
+ }
11786
11800
  function normalizeNotification(method, params) {
11787
11801
  if (method === "item/agentMessage/delta") {
11788
11802
  return typeof params?.delta === "string" ? { type: "agent_message_delta", delta: params.delta } : null;
@@ -11805,7 +11819,7 @@ function normalizeNotification(method, params) {
11805
11819
  case "commandExecution":
11806
11820
  return done ? { type: "exec_command_end", call_id: item.id, exit_code: item.exitCode, stdout: item.aggregatedOutput ?? "", stderr: "" } : { type: "exec_command_begin", call_id: item.id, command: item.command, cwd: item.cwd };
11807
11821
  case "fileChange":
11808
- return done ? { type: "patch_apply_end", call_id: item.id, applied: item.status === "completed" || item.status === "applied" } : { type: "patch_apply_begin", call_id: item.id, changes: item.changes };
11822
+ return done ? { type: "patch_apply_end", call_id: item.id, applied: item.status === "completed" || item.status === "applied", changes: item.changes } : { type: "patch_apply_begin", call_id: item.id, changes: item.changes };
11809
11823
  case "mcpToolCall":
11810
11824
  return done ? { type: "mcp_tool_call_end", call_id: item.id, tool: item.tool, result: item.result, error: item.error } : { type: "mcp_tool_call_begin", call_id: item.id, tool: item.tool, server: item.server, arguments: item.arguments };
11811
11825
  case "userMessage":
@@ -12000,6 +12014,23 @@ class CodexAppServerClient {
12000
12014
  if (timer) clearTimeout(timer);
12001
12015
  return { aborted };
12002
12016
  }
12017
+ /**
12018
+ * Inject additional input into the CURRENTLY RUNNING turn (Claude-Code-style mid-turn steering).
12019
+ *
12020
+ * codex app-server FOLDS a second `turn/start` sent mid-turn into the active turn: the new input's
12021
+ * items are emitted under the RUNNING turn's id and NO separate `turn/completed` fires for the
12022
+ * injected turn (verified empirically — probe-codex-midturn). So we send it WITHOUT arming a new
12023
+ * `pendingTurn` slot and WITHOUT overwriting `_turnId` (which must keep pointing at the turn to
12024
+ * interrupt). The single in-flight completion still resolves the original `sendTurnAndWait`.
12025
+ *
12026
+ * Returns false when there is NO active turn to fold into (the caller then falls back to a normal
12027
+ * turn via sendPrompt). `pendingTurn` is the in-flight signal.
12028
+ */
12029
+ async injectInput(prompt, o) {
12030
+ if (!this._threadId || !this.pendingTurn) return false;
12031
+ await this.request("turn/start", this.buildTurnParams(prompt, o));
12032
+ return true;
12033
+ }
12003
12034
  /** Interrupt the in-flight turn (real server-side abort — the old MCP path couldn't do this). */
12004
12035
  async interrupt() {
12005
12036
  if (!this._threadId || !this._turnId) return;
@@ -12278,6 +12309,18 @@ class CodexAppServerBackend {
12278
12309
  await this.client.interrupt();
12279
12310
  this.emit({ type: "status", status: "cancelled" });
12280
12311
  }
12312
+ /**
12313
+ * Mid-turn message injection (Claude-Code parity): fold `prompt` into the RUNNING turn instead
12314
+ * of deferring it to a separate post-turn turn. Codex app-server absorbs a mid-turn `turn/start`
12315
+ * into the active turn (see CodexAppServerClient.injectInput). Returns true if it was injected
12316
+ * into an in-flight turn; false when no turn is running (the daemon then falls back to a normal
12317
+ * sendPrompt, which properly tracks completion). Guards on `turnDone` to minimize the race where
12318
+ * the turn ends between the daemon's busy-check and this call.
12319
+ */
12320
+ async injectInput(prompt) {
12321
+ if (!this.started || !this.turnDone) return false;
12322
+ return this.client.injectInput(prompt, { model: this.model, approvalPolicy: this.approvalPolicy, sandbox: this.sandbox });
12323
+ }
12281
12324
  onMessage(handler) {
12282
12325
  this.listeners.push(handler);
12283
12326
  }
@@ -12400,12 +12443,22 @@ class CodexAppServerBackend {
12400
12443
  }
12401
12444
  case "patch_apply_begin": {
12402
12445
  const callId = String(event.call_id ?? event.callId ?? randomUUID());
12403
- this.emit({ type: "tool-call", toolName: "CodexPatch", callId, args: { filePath: event.file_path ?? event.filePath, patch: event.patch } });
12446
+ const { filePath, patch, kind } = summarizeCodexChanges(event.changes);
12447
+ this.emit({ type: "tool-call", toolName: "CodexPatch", callId, args: {
12448
+ filePath: filePath ?? event.file_path ?? event.filePath ?? null,
12449
+ patch: patch || (typeof event.patch === "string" ? event.patch : ""),
12450
+ ...kind ? { kind } : {}
12451
+ } });
12404
12452
  break;
12405
12453
  }
12406
12454
  case "patch_apply_end": {
12407
12455
  const callId = String(event.call_id ?? event.callId ?? "");
12408
- this.emit({ type: "tool-result", toolName: "CodexPatch", callId, result: { filePath: event.file_path ?? event.filePath, applied: event.applied, error: event.error } });
12456
+ const { filePath } = summarizeCodexChanges(event.changes);
12457
+ this.emit({ type: "tool-result", toolName: "CodexPatch", callId, result: {
12458
+ filePath: filePath ?? event.file_path ?? event.filePath ?? null,
12459
+ applied: event.applied,
12460
+ error: event.error
12461
+ } });
12409
12462
  break;
12410
12463
  }
12411
12464
  case "mcp_tool_call_begin": {
@@ -16982,7 +17035,7 @@ async function startDaemon(options) {
16982
17035
  try {
16983
17036
  const dir = loadSessionIndex()[sessionId]?.directory;
16984
17037
  if (!dir) return;
16985
- const { reconcileServiceLinks } = await import('./agentCommands-BCkWdFFW.mjs');
17038
+ const { reconcileServiceLinks } = await import('./agentCommands-RW8riLgc.mjs');
16986
17039
  const configPath = getSvampConfigPath(dir, sessionId);
16987
17040
  const config = readSvampConfig(configPath);
16988
17041
  const entries = Array.from(urls.entries());
@@ -17000,7 +17053,7 @@ async function startDaemon(options) {
17000
17053
  }
17001
17054
  }
17002
17055
  async function createExposedTunnel(spec) {
17003
- const { FrpcTunnel } = await import('./frpc-Cb6jUvED.mjs');
17056
+ const { FrpcTunnel } = await import('./frpc-Dkda80Ga.mjs');
17004
17057
  const tunnel = new FrpcTunnel({
17005
17058
  name: spec.name,
17006
17059
  ports: spec.ports,
@@ -19216,11 +19269,11 @@ ${capturedError}${buildClaudeErrorHint(capturedError)}`;
19216
19269
  });
19217
19270
  },
19218
19271
  onIssue: async (params) => {
19219
- const { issueRpc } = await import('./rpc-B-bxS-Pv.mjs');
19272
+ const { issueRpc } = await import('./rpc-CkTVR7CW.mjs');
19220
19273
  return issueRpc(params?.cwd || directory, params || {}, { notifySession: notifyIssueOwner, rekickLoopOwner });
19221
19274
  },
19222
19275
  onWorkflow: async (params) => {
19223
- const { workflowRpc } = await import('./rpc-CNkfUlz1.mjs');
19276
+ const { workflowRpc } = await import('./rpc-DX0vfqOs.mjs');
19224
19277
  return workflowRpc(params?.cwd || directory, params || {});
19225
19278
  },
19226
19279
  onRipgrep: async (args, cwd) => {
@@ -19614,15 +19667,33 @@ ${capturedError}${buildClaudeErrorHint(capturedError)}`;
19614
19667
  return;
19615
19668
  }
19616
19669
  if (sessionMetadata.lifecycleState === "running") {
19617
- logger.log(`[${agentName} Session ${sessionId}] Agent busy \u2014 queuing message`);
19618
- const existingQueue = sessionMetadata.messageQueue || [];
19619
- sessionMetadata = {
19620
- ...sessionMetadata,
19621
- // #0411: alreadyStored — see Claude path. deliverUserMessageCore already stored
19622
- // this user message; the drain must not re-push a localId:null duplicate.
19623
- messageQueue: [...existingQueue, { id: randomUUID$1(), text, createdAt: Date.now(), alreadyStored: true }]
19670
+ const enqueueBusy = () => {
19671
+ const existingQueue = sessionMetadata.messageQueue || [];
19672
+ sessionMetadata = {
19673
+ ...sessionMetadata,
19674
+ // #0411: alreadyStored — deliverUserMessageCore already stored this
19675
+ // user message; the drain must not re-push a localId:null duplicate.
19676
+ messageQueue: [...existingQueue, { id: randomUUID$1(), text, createdAt: Date.now(), alreadyStored: true }]
19677
+ };
19678
+ sessionService.updateMetadata(sessionMetadata);
19624
19679
  };
19625
- sessionService.updateMetadata(sessionMetadata);
19680
+ const injectFn = agentBackend.injectInput;
19681
+ if (typeof injectFn === "function") {
19682
+ Promise.resolve(injectFn.call(agentBackend, text)).then((injected) => {
19683
+ if (injected) {
19684
+ logger.log(`[${agentName} Session ${sessionId}] Mid-turn message injected into running turn`);
19685
+ } else {
19686
+ logger.log(`[${agentName} Session ${sessionId}] No active turn to inject \u2014 queuing message`);
19687
+ enqueueBusy();
19688
+ }
19689
+ }).catch((err) => {
19690
+ logger.error(`[${agentName} Session ${sessionId}] Mid-turn inject failed \u2014 queuing:`, err?.message ?? err);
19691
+ enqueueBusy();
19692
+ });
19693
+ return;
19694
+ }
19695
+ logger.log(`[${agentName} Session ${sessionId}] Agent busy \u2014 queuing message`);
19696
+ enqueueBusy();
19626
19697
  return;
19627
19698
  }
19628
19699
  sessionMetadata = { ...sessionMetadata, lifecycleState: "running" };
@@ -19833,11 +19904,11 @@ ${capturedError}${buildClaudeErrorHint(capturedError)}`;
19833
19904
  });
19834
19905
  },
19835
19906
  onIssue: async (params) => {
19836
- const { issueRpc } = await import('./rpc-B-bxS-Pv.mjs');
19907
+ const { issueRpc } = await import('./rpc-CkTVR7CW.mjs');
19837
19908
  return issueRpc(params?.cwd || directory, params || {}, { notifySession: notifyIssueOwner, rekickLoopOwner });
19838
19909
  },
19839
19910
  onWorkflow: async (params) => {
19840
- const { workflowRpc } = await import('./rpc-CNkfUlz1.mjs');
19911
+ const { workflowRpc } = await import('./rpc-DX0vfqOs.mjs');
19841
19912
  return workflowRpc(params?.cwd || directory, params || {});
19842
19913
  },
19843
19914
  onRipgrep: async (args, cwd) => {
@@ -20972,7 +21043,7 @@ ${oracle.output.trim().slice(0, 500)}`, "\u{1F501} Continuing loop");
20972
21043
  const PING_TIMEOUT_MS = 15e3;
20973
21044
  const POST_RECONNECT_GRACE_MS = 2e4;
20974
21045
  const RECONNECT_JITTER_MS = 2500;
20975
- const { WorkflowScheduler } = await import('./scheduler-DT1_BBdZ.mjs');
21046
+ const { WorkflowScheduler } = await import('./scheduler-CO4CAUvy.mjs');
20976
21047
  const workflowScheduler = new WorkflowScheduler({
20977
21048
  projectRoots: () => {
20978
21049
  const dirs = /* @__PURE__ */ new Set();
@@ -1,4 +1,4 @@
1
- import { j as resolveProjectRoot, D as listWorkflows, E as isWorkflowEnabled, F as workflowCrons, y as runWorkflow, G as cronMatches } from './run-C0GhrtVf.mjs';
1
+ import { j as resolveProjectRoot, D as listWorkflows, E as isWorkflowEnabled, F as workflowCrons, y as runWorkflow, G as cronMatches } from './run-BYDlRsuL.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -54,7 +54,7 @@ async function handleServeCommand() {
54
54
  }
55
55
  }
56
56
  async function serveAdd(args, machineId) {
57
- const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
57
+ const { connectAndGetMachine } = await import('./commands-CWo-Qy-e.mjs');
58
58
  const pos = positionalArgs(args);
59
59
  const name = pos[0];
60
60
  if (!name) {
@@ -93,7 +93,7 @@ async function serveAdd(args, machineId) {
93
93
  }
94
94
  }
95
95
  async function serveApply(args, machineId) {
96
- const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
96
+ const { connectAndGetMachine } = await import('./commands-CWo-Qy-e.mjs');
97
97
  const fs = await import('fs');
98
98
  const yaml = await import('yaml');
99
99
  const file = positionalArgs(args)[0];
@@ -182,7 +182,7 @@ async function serveApply(args, machineId) {
182
182
  }
183
183
  }
184
184
  async function serveRemove(args, machineId) {
185
- const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
185
+ const { connectAndGetMachine } = await import('./commands-CWo-Qy-e.mjs');
186
186
  const pos = positionalArgs(args);
187
187
  const name = pos[0];
188
188
  if (!name) {
@@ -202,7 +202,7 @@ async function serveRemove(args, machineId) {
202
202
  }
203
203
  }
204
204
  async function serveList(args, machineId) {
205
- const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
205
+ const { connectAndGetMachine } = await import('./commands-CWo-Qy-e.mjs');
206
206
  const all = hasFlag(args, "--all", "-a");
207
207
  const json = hasFlag(args, "--json");
208
208
  const sessionId = getFlag(args, "--session");
@@ -235,7 +235,7 @@ async function serveList(args, machineId) {
235
235
  }
236
236
  }
237
237
  async function serveInfo(machineId) {
238
- const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
238
+ const { connectAndGetMachine } = await import('./commands-CWo-Qy-e.mjs');
239
239
  const { machine, server } = await connectAndGetMachine(machineId);
240
240
  try {
241
241
  const info = await machine.serveInfo();
@@ -1,4 +1,4 @@
1
- import { R as READ_ONLY_TOOLS, M as loadMachineContext, N as buildMachineInstructions, O as machineToolsForRole, P as buildMachineTools } from './run-C0GhrtVf.mjs';
1
+ import { R as READ_ONLY_TOOLS, M as loadMachineContext, N as buildMachineInstructions, O as machineToolsForRole, P as buildMachineTools } from './run-BYDlRsuL.mjs';
2
2
  import 'node:child_process';
3
3
  import 'os';
4
4
  import 'fs/promises';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "svamp-cli",
3
- "version": "0.2.301",
3
+ "version": "0.2.303",
4
4
  "description": "Svamp CLI — AI workspace daemon on Hypha Cloud",
5
5
  "author": "Amun AI AB",
6
6
  "license": "SEE LICENSE IN LICENSE",