svamp-cli 0.2.280 → 0.2.281

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 (26) hide show
  1. package/dist/{adminCommands-7A_djft2.mjs → adminCommands-Dc-nM2T4.mjs} +2 -7
  2. package/dist/{agentCommands-SejhmIxj.mjs → agentCommands-i-qaq_2s.mjs} +5 -5
  3. package/dist/{auth-Bp-lcNvX.mjs → auth-DDr5dyj0.mjs} +1 -1
  4. package/dist/{cli-DqFchp_7.mjs → cli-Bp0pUO_8.mjs} +66 -66
  5. package/dist/cli.mjs +2 -2
  6. package/dist/{commands-CBIRneT7.mjs → commands-BFLKkIyS.mjs} +1 -1
  7. package/dist/{commands-DVQTULwh.mjs → commands-BnI1mRkf.mjs} +2 -2
  8. package/dist/{commands-BXRsOufU.mjs → commands-CKM28jKj.mjs} +7 -7
  9. package/dist/{commands-BiJbQChb.mjs → commands-CdjKMUGJ.mjs} +1 -1
  10. package/dist/{commands-D95wyAGb.mjs → commands-Cz4cl4Th.mjs} +2 -2
  11. package/dist/{commands-3oQU6Zbl.mjs → commands-D8OeSTxb.mjs} +1 -1
  12. package/dist/{commands-BzMbBsGM.mjs → commands-DmdJbFhU.mjs} +2 -2
  13. package/dist/{fleet-CIFev16_.mjs → fleet-DCwX4RTF.mjs} +1 -1
  14. package/dist/{frpc-Czt8diGB.mjs → frpc-Dst1Xkue.mjs} +1 -1
  15. package/dist/{headlessCli-CfRDf2kB.mjs → headlessCli-CyCQlRjV.mjs} +2 -2
  16. package/dist/index.mjs +1 -1
  17. package/dist/{notifyCommands-Db7qJUME.mjs → notifyCommands-CfvUfjfP.mjs} +1 -1
  18. package/dist/{package-Cuybud2_.mjs → package-DoBwyCNL.mjs} +1 -1
  19. package/dist/{rpc-B_zN6Jvr.mjs → rpc-DXZSyYAh.mjs} +1 -1
  20. package/dist/{rpc-AkzY2NVv.mjs → rpc-Dt3gekac.mjs} +1 -1
  21. package/dist/{run-CRuLlPmv.mjs → run-C75iKIIt.mjs} +1 -1
  22. package/dist/{run-CumVWywx.mjs → run-DSlJ62Xb.mjs} +35 -12
  23. package/dist/{scheduler-MPYVrdzd.mjs → scheduler-CTndQ5_D.mjs} +1 -1
  24. package/dist/{serveCommands-DPVITK3a.mjs → serveCommands-CC32Vh-8.mjs} +5 -5
  25. package/dist/{sideband-CHcbWta4.mjs → sideband-DAZlMFIi.mjs} +1 -1
  26. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import { c as connectToHypha } from './run-CumVWywx.mjs';
1
+ import { c as connectToHypha, K as computeCollectionConfigUpdate } from './run-DSlJ62Xb.mjs';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
4
  import os from 'node:os';
@@ -21,11 +21,6 @@ import 'node:fs/promises';
21
21
  import 'node:util';
22
22
  import 'yaml';
23
23
 
24
- function computeCollectionConfigUpdate(existingConfig, extra) {
25
- const cfg = existingConfig || {};
26
- const changed = Object.entries(extra).some(([k, v]) => JSON.stringify(cfg[k]) !== JSON.stringify(v));
27
- return { changed, merged: { ...cfg, ...extra } };
28
- }
29
24
  function loadEnv() {
30
25
  const SVAMP_HOME = process.env.SVAMP_HOME || join(os.homedir(), ".svamp");
31
26
  for (const f of [join(SVAMP_HOME, ".env"), join(os.homedir(), ".hypha", ".env")]) {
@@ -102,4 +97,4 @@ async function setCollectionConfig(alias, configJson) {
102
97
  }
103
98
  }
104
99
 
105
- export { computeCollectionConfigUpdate, setCollectionConfig };
100
+ export { setCollectionConfig };
@@ -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-CumVWywx.mjs';
5
+ import { i as shortId } from './run-DSlJ62Xb.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-CumVWywx.mjs').then(function (n) { return n.an; });
99
+ const { projectName, writeProjectInfo, sanitizeDescription, projectInfoPath } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.ao; });
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-BiJbQChb.mjs');
346
+ const { connectAndGetMachine } = await import('./commands-CdjKMUGJ.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-BiJbQChb.mjs');
424
+ const { connectAndResolveSession } = await import('./commands-CdjKMUGJ.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-BiJbQChb.mjs');
478
+ const { connectAndResolveSession } = await import('./commands-CdjKMUGJ.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 { _ as resolveModel } from './run-CumVWywx.mjs';
1
+ import { $ as resolveModel } from './run-DSlJ62Xb.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -1,4 +1,4 @@
1
- import { $ as clearStopMarker, a0 as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-CumVWywx.mjs';
1
+ import { a0 as clearStopMarker, a1 as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-DSlJ62Xb.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-CumVWywx.mjs').then(function (n) { return n.ak; });
36
+ const { getLoadedConfig } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.al; });
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-CumVWywx.mjs').then(function (n) { return n.au; });
55
+ const mod = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.av; });
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-BXRsOufU.mjs');
359
+ const { handleServiceCommand } = await import('./commands-CKM28jKj.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-DPVITK3a.mjs');
367
+ const { handleServeCommand } = await import('./serveCommands-CC32Vh-8.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-D95wyAGb.mjs');
376
+ const { processCommand } = await import('./commands-Cz4cl4Th.mjs');
377
377
  let machineId;
378
378
  const processArgs = args.slice(1);
379
379
  const mIdx = processArgs.findIndex((a) => a === "--machine" || a === "-m");
@@ -387,22 +387,22 @@ 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-DVQTULwh.mjs');
390
+ const { issueCommand } = await import('./commands-BnI1mRkf.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-CBIRneT7.mjs');
394
+ const { workflowCommand } = await import('./commands-BFLKkIyS.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-BzMbBsGM.mjs');
401
+ const { crewCommand } = await import('./commands-DmdJbFhU.mjs');
402
402
  await crewCommand(args.slice(1));
403
403
  process.exit(0);
404
404
  } else if (subcommand === "notify") {
405
- const { notifyUser } = await import('./notifyCommands-Db7qJUME.mjs');
405
+ const { notifyUser } = await import('./notifyCommands-CfvUfjfP.mjs');
406
406
  const rest = args.slice(1);
407
407
  let email;
408
408
  const o = {};
@@ -419,7 +419,7 @@ async function main() {
419
419
  } else if (subcommand === "admin") {
420
420
  const adminSub = args[1];
421
421
  if (adminSub === "set-collection-config") {
422
- const { setCollectionConfig } = await import('./adminCommands-7A_djft2.mjs');
422
+ const { setCollectionConfig } = await import('./adminCommands-Dc-nM2T4.mjs');
423
423
  const rest = args.slice(2);
424
424
  let alias;
425
425
  let configJson;
@@ -433,7 +433,7 @@ async function main() {
433
433
  }
434
434
  process.exit(0);
435
435
  } else if (subcommand === "events") {
436
- const { listEvents, ackEvent } = await import('./notifyCommands-Db7qJUME.mjs');
436
+ const { listEvents, ackEvent } = await import('./notifyCommands-CfvUfjfP.mjs');
437
437
  const sub = args[1];
438
438
  const rest = args.slice(2);
439
439
  let email;
@@ -454,7 +454,7 @@ async function main() {
454
454
  } else if (!subcommand || subcommand === "start") {
455
455
  await handleInteractiveCommand();
456
456
  } else if (subcommand === "--version" || subcommand === "-v") {
457
- const pkg = await import('./package-Cuybud2_.mjs').catch(() => ({ default: { version: "unknown" } }));
457
+ const pkg = await import('./package-DoBwyCNL.mjs').catch(() => ({ default: { version: "unknown" } }));
458
458
  console.log(`svamp version: ${pkg.default.version}`);
459
459
  } else {
460
460
  console.error(`Unknown command: ${subcommand}`);
@@ -463,7 +463,7 @@ async function main() {
463
463
  }
464
464
  }
465
465
  async function handleInteractiveCommand() {
466
- const { runInteractive } = await import('./run-CRuLlPmv.mjs');
466
+ const { runInteractive } = await import('./run-C75iKIIt.mjs');
467
467
  const interactiveArgs = subcommand === "start" ? args.slice(1) : args;
468
468
  let directory = process.cwd();
469
469
  let resumeSessionId;
@@ -508,7 +508,7 @@ async function handleAgentCommand() {
508
508
  return;
509
509
  }
510
510
  if (agentArgs[0] === "list") {
511
- const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-CumVWywx.mjs').then(function (n) { return n.aq; });
511
+ const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.ar; });
512
512
  console.log("Known agents:");
513
513
  for (const [name, config2] of Object.entries(KNOWN_ACP_AGENTS)) {
514
514
  console.log(` ${name.padEnd(12)} ${config2.command} ${config2.args.join(" ")} (ACP)`);
@@ -520,7 +520,7 @@ async function handleAgentCommand() {
520
520
  console.log('Use "svamp agent -- <command> [args]" for a custom ACP agent.');
521
521
  return;
522
522
  }
523
- const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-CumVWywx.mjs').then(function (n) { return n.aq; });
523
+ const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.ar; });
524
524
  let cwd = process.cwd();
525
525
  const filteredArgs = [];
526
526
  for (let i = 0; i < agentArgs.length; i++) {
@@ -544,12 +544,12 @@ async function handleAgentCommand() {
544
544
  console.log(`Starting ${config.agentName} agent in ${cwd}...`);
545
545
  let backend;
546
546
  if (KNOWN_CODEX_AGENTS[config.agentName]) {
547
- const { CodexAppServerBackend } = await import('./run-CumVWywx.mjs').then(function (n) { return n.ar; });
547
+ const { CodexAppServerBackend } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.as; });
548
548
  backend = new CodexAppServerBackend({ cwd, log: logFn });
549
549
  } else {
550
- const { AcpBackend } = await import('./run-CumVWywx.mjs').then(function (n) { return n.ap; });
551
- const { GeminiTransport } = await import('./run-CumVWywx.mjs').then(function (n) { return n.as; });
552
- const { DefaultTransport } = await import('./run-CumVWywx.mjs').then(function (n) { return n.ao; });
550
+ const { AcpBackend } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.aq; });
551
+ const { GeminiTransport } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.at; });
552
+ const { DefaultTransport } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.ap; });
553
553
  const transportHandler = config.agentName === "gemini" ? new GeminiTransport() : new DefaultTransport(config.agentName);
554
554
  backend = new AcpBackend({
555
555
  agentName: config.agentName,
@@ -676,7 +676,7 @@ async function handleSessionCommand() {
676
676
  process.exit(1);
677
677
  }
678
678
  }
679
- 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-BiJbQChb.mjs');
679
+ 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-CdjKMUGJ.mjs');
680
680
  const parseFlagStr = (flag, shortFlag) => {
681
681
  for (let i = 1; i < sessionArgs.length; i++) {
682
682
  if ((sessionArgs[i] === flag || shortFlag) && i + 1 < sessionArgs.length) {
@@ -744,7 +744,7 @@ async function handleSessionCommand() {
744
744
  allowDomain.push(sessionArgs[++i]);
745
745
  }
746
746
  }
747
- const { parseShareArg } = await import('./commands-BiJbQChb.mjs');
747
+ const { parseShareArg } = await import('./commands-CdjKMUGJ.mjs');
748
748
  const shareEntries = share.map((s) => parseShareArg(s));
749
749
  await sessionSpawn(agent, dir, targetMachineId, {
750
750
  message,
@@ -834,7 +834,7 @@ async function handleSessionCommand() {
834
834
  console.error(" Rewinds history: rewrites the message + drops everything after it, then restarts Claude.");
835
835
  process.exit(1);
836
836
  }
837
- const { sessionEditMessage } = await import('./commands-BiJbQChb.mjs');
837
+ const { sessionEditMessage } = await import('./commands-CdjKMUGJ.mjs');
838
838
  await sessionEditMessage(sessionArgs[1], sessionArgs[2], sessionArgs[3], targetMachineId);
839
839
  } else if (sessionSubcommand === "refine") {
840
840
  if (!sessionArgs[1] || !sessionArgs[2]) {
@@ -842,7 +842,7 @@ async function handleSessionCommand() {
842
842
  console.error(" Asks the agent to revise its latest reply in place (no extra round).");
843
843
  process.exit(1);
844
844
  }
845
- const { sessionRefineLastReply } = await import('./commands-BiJbQChb.mjs');
845
+ const { sessionRefineLastReply } = await import('./commands-CdjKMUGJ.mjs');
846
846
  await sessionRefineLastReply(sessionArgs[1], sessionArgs[2], targetMachineId);
847
847
  } else if (sessionSubcommand === "undo-edit" || sessionSubcommand === "undo") {
848
848
  if (!sessionArgs[1]) {
@@ -850,7 +850,7 @@ async function handleSessionCommand() {
850
850
  console.error(" Reverts the most recent edit/refine, restoring the pre-edit history.");
851
851
  process.exit(1);
852
852
  }
853
- const { sessionUndoEdit } = await import('./commands-BiJbQChb.mjs');
853
+ const { sessionUndoEdit } = await import('./commands-CdjKMUGJ.mjs');
854
854
  await sessionUndoEdit(sessionArgs[1], targetMachineId);
855
855
  } else if (sessionSubcommand === "query") {
856
856
  const dir = sessionArgs[1];
@@ -860,7 +860,7 @@ async function handleSessionCommand() {
860
860
  console.error(" Spawns a stateless Claude session in <directory>, sends <prompt>, prints the answer, then deletes the session.");
861
861
  process.exit(1);
862
862
  }
863
- const { sessionQuery } = await import('./commands-BiJbQChb.mjs');
863
+ const { sessionQuery } = await import('./commands-CdjKMUGJ.mjs');
864
864
  await sessionQuery(dir, prompt, targetMachineId, {
865
865
  timeout: parseFlagInt("--timeout"),
866
866
  json: hasFlag("--json"),
@@ -893,7 +893,7 @@ async function handleSessionCommand() {
893
893
  console.error("Usage: svamp session approve <session-id> [request-id] [--json]");
894
894
  process.exit(1);
895
895
  }
896
- const { sessionApprove } = await import('./commands-BiJbQChb.mjs');
896
+ const { sessionApprove } = await import('./commands-CdjKMUGJ.mjs');
897
897
  const approveReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
898
898
  await sessionApprove(sessionArgs[1], approveReqId, targetMachineId, {
899
899
  json: hasFlag("--json")
@@ -903,7 +903,7 @@ async function handleSessionCommand() {
903
903
  console.error("Usage: svamp session deny <session-id> [request-id] [--json]");
904
904
  process.exit(1);
905
905
  }
906
- const { sessionDeny } = await import('./commands-BiJbQChb.mjs');
906
+ const { sessionDeny } = await import('./commands-CdjKMUGJ.mjs');
907
907
  const denyReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
908
908
  await sessionDeny(sessionArgs[1], denyReqId, targetMachineId, {
909
909
  json: hasFlag("--json")
@@ -955,7 +955,7 @@ async function handleSessionCommand() {
955
955
  console.error("Usage: svamp session set-title <title>");
956
956
  process.exit(1);
957
957
  }
958
- const { sessionSetTitle } = await import('./agentCommands-SejhmIxj.mjs');
958
+ const { sessionSetTitle } = await import('./agentCommands-i-qaq_2s.mjs');
959
959
  await sessionSetTitle(title);
960
960
  } else if (sessionSubcommand === "set-project-description" || sessionSubcommand === "set-project") {
961
961
  const desc = sessionArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
@@ -963,7 +963,7 @@ async function handleSessionCommand() {
963
963
  console.error("Usage: svamp session set-project-description <text>");
964
964
  process.exit(1);
965
965
  }
966
- const { sessionSetProjectDescription } = await import('./agentCommands-SejhmIxj.mjs');
966
+ const { sessionSetProjectDescription } = await import('./agentCommands-i-qaq_2s.mjs');
967
967
  await sessionSetProjectDescription(desc);
968
968
  } else if (sessionSubcommand === "set-link") {
969
969
  const url = sessionArgs[1];
@@ -972,11 +972,11 @@ async function handleSessionCommand() {
972
972
  process.exit(1);
973
973
  }
974
974
  const label = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
975
- const { sessionSetLink } = await import('./agentCommands-SejhmIxj.mjs');
975
+ const { sessionSetLink } = await import('./agentCommands-i-qaq_2s.mjs');
976
976
  await sessionSetLink(url, label);
977
977
  } else if (sessionSubcommand === "link") {
978
978
  const op = sessionArgs[1];
979
- const lm = await import('./agentCommands-SejhmIxj.mjs');
979
+ const lm = await import('./agentCommands-i-qaq_2s.mjs');
980
980
  if (op === "add") {
981
981
  const url = sessionArgs[2];
982
982
  if (!url || url.startsWith("--")) {
@@ -1011,7 +1011,7 @@ async function handleSessionCommand() {
1011
1011
  process.exit(1);
1012
1012
  }
1013
1013
  const level = parseFlagStr("--level") || "info";
1014
- const { sessionNotify } = await import('./agentCommands-SejhmIxj.mjs');
1014
+ const { sessionNotify } = await import('./agentCommands-i-qaq_2s.mjs');
1015
1015
  await sessionNotify(message, level);
1016
1016
  } else if (sessionSubcommand === "broadcast") {
1017
1017
  const action = sessionArgs[1];
@@ -1019,7 +1019,7 @@ async function handleSessionCommand() {
1019
1019
  console.error("Usage: svamp session broadcast <action> [args...]\nActions: open-canvas <url> [label], close-canvas, toast <message>");
1020
1020
  process.exit(1);
1021
1021
  }
1022
- const { sessionBroadcast } = await import('./agentCommands-SejhmIxj.mjs');
1022
+ const { sessionBroadcast } = await import('./agentCommands-i-qaq_2s.mjs');
1023
1023
  await sessionBroadcast(action, sessionArgs.slice(2).filter((a) => !a.startsWith("--")));
1024
1024
  } else if (sessionSubcommand === "inbox") {
1025
1025
  const inboxSubcmd = sessionArgs[1];
@@ -1030,7 +1030,7 @@ async function handleSessionCommand() {
1030
1030
  process.exit(1);
1031
1031
  }
1032
1032
  if (agentSessionId) {
1033
- const { inboxSend } = await import('./agentCommands-SejhmIxj.mjs');
1033
+ const { inboxSend } = await import('./agentCommands-i-qaq_2s.mjs');
1034
1034
  await inboxSend(sessionArgs[2], {
1035
1035
  body: sessionArgs[3],
1036
1036
  subject: parseFlagStr("--subject"),
@@ -1045,7 +1045,7 @@ async function handleSessionCommand() {
1045
1045
  }
1046
1046
  } else if (inboxSubcmd === "list" || inboxSubcmd === "ls") {
1047
1047
  if (agentSessionId && !sessionArgs[2]) {
1048
- const { inboxList } = await import('./agentCommands-SejhmIxj.mjs');
1048
+ const { inboxList } = await import('./agentCommands-i-qaq_2s.mjs');
1049
1049
  await inboxList({
1050
1050
  unread: hasFlag("--unread"),
1051
1051
  limit: parseFlagInt("--limit"),
@@ -1067,7 +1067,7 @@ async function handleSessionCommand() {
1067
1067
  process.exit(1);
1068
1068
  }
1069
1069
  if (agentSessionId && !sessionArgs[3]) {
1070
- const { inboxList } = await import('./agentCommands-SejhmIxj.mjs');
1070
+ const { inboxList } = await import('./agentCommands-i-qaq_2s.mjs');
1071
1071
  await sessionInboxRead(agentSessionId, sessionArgs[2], targetMachineId);
1072
1072
  } else if (sessionArgs[3]) {
1073
1073
  await sessionInboxRead(sessionArgs[2], sessionArgs[3], targetMachineId);
@@ -1077,7 +1077,7 @@ async function handleSessionCommand() {
1077
1077
  }
1078
1078
  } else if (inboxSubcmd === "reply") {
1079
1079
  if (agentSessionId && sessionArgs[2] && sessionArgs[3] && !sessionArgs[4]) {
1080
- const { inboxReply } = await import('./agentCommands-SejhmIxj.mjs');
1080
+ const { inboxReply } = await import('./agentCommands-i-qaq_2s.mjs');
1081
1081
  await inboxReply(sessionArgs[2], sessionArgs[3]);
1082
1082
  } else if (sessionArgs[2] && sessionArgs[3] && sessionArgs[4]) {
1083
1083
  await sessionInboxReply(sessionArgs[2], sessionArgs[3], sessionArgs[4], targetMachineId);
@@ -1115,7 +1115,7 @@ async function handleMachineCommand() {
1115
1115
  return;
1116
1116
  }
1117
1117
  if (machineSubcommand === "share") {
1118
- const { machineShare } = await import('./commands-BiJbQChb.mjs');
1118
+ const { machineShare } = await import('./commands-CdjKMUGJ.mjs');
1119
1119
  let machineId;
1120
1120
  const shareArgs = [];
1121
1121
  for (let i = 1; i < machineArgs.length; i++) {
@@ -1166,14 +1166,14 @@ async function handleMachineCommand() {
1166
1166
  process.exit(1);
1167
1167
  }
1168
1168
  if (all) {
1169
- const { fleetExec } = await import('./fleet-CIFev16_.mjs');
1169
+ const { fleetExec } = await import('./fleet-DCwX4RTF.mjs');
1170
1170
  await fleetExec(command, { cwd });
1171
1171
  } else {
1172
- const { machineExec } = await import('./commands-BiJbQChb.mjs');
1172
+ const { machineExec } = await import('./commands-CdjKMUGJ.mjs');
1173
1173
  await machineExec(machineId, command, cwd);
1174
1174
  }
1175
1175
  } else if (machineSubcommand === "info") {
1176
- const { machineInfo } = await import('./commands-BiJbQChb.mjs');
1176
+ const { machineInfo } = await import('./commands-CdjKMUGJ.mjs');
1177
1177
  let machineId;
1178
1178
  for (let i = 1; i < machineArgs.length; i++) {
1179
1179
  if ((machineArgs[i] === "--machine" || machineArgs[i] === "-m") && i + 1 < machineArgs.length) {
@@ -1193,10 +1193,10 @@ async function handleMachineCommand() {
1193
1193
  level = machineArgs[++i];
1194
1194
  }
1195
1195
  }
1196
- const { machineNotify } = await import('./agentCommands-SejhmIxj.mjs');
1196
+ const { machineNotify } = await import('./agentCommands-i-qaq_2s.mjs');
1197
1197
  await machineNotify(message, level);
1198
1198
  } else if (machineSubcommand === "ls") {
1199
- const { machineLs } = await import('./commands-BiJbQChb.mjs');
1199
+ const { machineLs } = await import('./commands-CdjKMUGJ.mjs');
1200
1200
  let machineId;
1201
1201
  let showHidden = false;
1202
1202
  let path;
@@ -1255,20 +1255,20 @@ Examples:
1255
1255
  };
1256
1256
  const hasFlag = (name) => fleetArgs.includes(`--${name}`);
1257
1257
  if (sub === "status") {
1258
- const { fleetStatus } = await import('./fleet-CIFev16_.mjs');
1258
+ const { fleetStatus } = await import('./fleet-DCwX4RTF.mjs');
1259
1259
  await fleetStatus();
1260
1260
  } else if (sub === "upgrade-claude") {
1261
- const { fleetUpgradeClaude } = await import('./fleet-CIFev16_.mjs');
1261
+ const { fleetUpgradeClaude } = await import('./fleet-DCwX4RTF.mjs');
1262
1262
  await fleetUpgradeClaude({ version: flag("version", "-v") });
1263
1263
  } else if (sub === "upgrade-svamp") {
1264
- const { fleetUpgradeSvamp } = await import('./fleet-CIFev16_.mjs');
1264
+ const { fleetUpgradeSvamp } = await import('./fleet-DCwX4RTF.mjs');
1265
1265
  await fleetUpgradeSvamp({ version: flag("version", "-v"), excludeSelf: hasFlag("exclude-self"), force: hasFlag("force") });
1266
1266
  } else if (sub === "daemon-restart") {
1267
- const { fleetDaemonRestart } = await import('./fleet-CIFev16_.mjs');
1267
+ const { fleetDaemonRestart } = await import('./fleet-DCwX4RTF.mjs');
1268
1268
  await fleetDaemonRestart({ graceful: !hasFlag("cleanup") });
1269
1269
  } else if (sub === "push-skill") {
1270
1270
  const name = fleetArgs[1];
1271
- const { fleetPushSkill } = await import('./fleet-CIFev16_.mjs');
1271
+ const { fleetPushSkill } = await import('./fleet-DCwX4RTF.mjs');
1272
1272
  await fleetPushSkill(name);
1273
1273
  } else {
1274
1274
  console.error(`Unknown fleet subcommand: ${sub}`);
@@ -1284,7 +1284,7 @@ async function handleSkillsCommand() {
1284
1284
  await printSkillsHelp();
1285
1285
  return;
1286
1286
  }
1287
- const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-3oQU6Zbl.mjs');
1287
+ const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-D8OeSTxb.mjs');
1288
1288
  if (skillsSubcommand === "find" || skillsSubcommand === "search") {
1289
1289
  const query = skillsArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
1290
1290
  if (!query) {
@@ -1331,7 +1331,7 @@ async function loginToHypha() {
1331
1331
  process.exit(1);
1332
1332
  }
1333
1333
  const anchor = anchorArg.replace(/\/+$/, "");
1334
- const { loadInstanceConfig } = await import('./run-CumVWywx.mjs').then(function (n) { return n.ak; });
1334
+ const { loadInstanceConfig } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.al; });
1335
1335
  let cfg = null;
1336
1336
  try {
1337
1337
  cfg = await loadInstanceConfig({ anchor, force: true });
@@ -1442,7 +1442,7 @@ async function logoutFromHypha() {
1442
1442
  } catch {
1443
1443
  }
1444
1444
  try {
1445
- const { clearInstanceConfigCache } = await import('./run-CumVWywx.mjs').then(function (n) { return n.ak; });
1445
+ const { clearInstanceConfigCache } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.al; });
1446
1446
  clearInstanceConfigCache();
1447
1447
  } catch {
1448
1448
  }
@@ -1781,7 +1781,7 @@ async function applyClaudeAuthFlags(argv) {
1781
1781
  "--use-hypha-proxy, --use-claude-login, and --anthropic-base-url/--anthropic-api-key are mutually exclusive"
1782
1782
  );
1783
1783
  }
1784
- const mod = await import('./run-CumVWywx.mjs').then(function (n) { return n.al; });
1784
+ const mod = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.am; });
1785
1785
  if (hasHypha) {
1786
1786
  let url;
1787
1787
  const hyphaIdx = argv.indexOf("--use-hypha-proxy");
@@ -1835,7 +1835,7 @@ async function applyDaemonShareFlag(argv) {
1835
1835
  }
1836
1836
  }
1837
1837
  if (collected.length === 0) return;
1838
- const { updateEnvFile } = await import('./run-CumVWywx.mjs').then(function (n) { return n.al; });
1838
+ const { updateEnvFile } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.am; });
1839
1839
  const seen = /* @__PURE__ */ new Set();
1840
1840
  const deduped = collected.filter((e) => {
1841
1841
  const k = e.toLowerCase();
@@ -1868,7 +1868,7 @@ async function handleWiseAgentCommand(rest) {
1868
1868
  }
1869
1869
  });
1870
1870
  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(" ");
1871
- const { wiseAskCli } = await import('./commands-BiJbQChb.mjs');
1871
+ const { wiseAskCli } = await import('./commands-CdjKMUGJ.mjs');
1872
1872
  await wiseAskCli(machineId, message, sessionId, { json });
1873
1873
  return;
1874
1874
  }
@@ -1880,7 +1880,7 @@ async function handleWiseAgentCommand(rest) {
1880
1880
  }
1881
1881
  return void 0;
1882
1882
  };
1883
- const { runWiseVoiceCli } = await import('./headlessCli-CfRDf2kB.mjs');
1883
+ const { runWiseVoiceCli } = await import('./headlessCli-CyCQlRjV.mjs');
1884
1884
  await runWiseVoiceCli({ voice: valueOf(["--voice"]), wakeKeywordPath: valueOf(["--wake"]), model: valueOf(["--model"]) });
1885
1885
  return;
1886
1886
  }
@@ -1898,7 +1898,7 @@ async function handleWiseAgentCommand(rest) {
1898
1898
  const mode = valueOf(["--mode"]);
1899
1899
  const mission = valueOf(["--mission"]);
1900
1900
  const url = rest.slice(1).find((a) => /^https?:\/\//.test(a)) || "";
1901
- const { wiseJoinMeetingCli } = await import('./commands-BiJbQChb.mjs');
1901
+ const { wiseJoinMeetingCli } = await import('./commands-CdjKMUGJ.mjs');
1902
1902
  await wiseJoinMeetingCli(machineId, url, sessionId, { json, mode, mission });
1903
1903
  return;
1904
1904
  }
@@ -1910,7 +1910,7 @@ async function handleWiseAgentCommand(rest) {
1910
1910
  }
1911
1911
  return void 0;
1912
1912
  };
1913
- const { wiseLeaveMeetingCli } = await import('./commands-BiJbQChb.mjs');
1913
+ const { wiseLeaveMeetingCli } = await import('./commands-CdjKMUGJ.mjs');
1914
1914
  await wiseLeaveMeetingCli(valueOf(["--machine", "-m"]), valueOf(["--session", "-s"]), { json: rest.includes("--json") });
1915
1915
  return;
1916
1916
  }
@@ -1934,7 +1934,7 @@ async function handleWiseAgentCommand(rest) {
1934
1934
  }
1935
1935
  });
1936
1936
  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(" ");
1937
- const { wiseAnnounceCli } = await import('./commands-BiJbQChb.mjs');
1937
+ const { wiseAnnounceCli } = await import('./commands-CdjKMUGJ.mjs');
1938
1938
  await wiseAnnounceCli(machineId, text, sessionId, { json });
1939
1939
  return;
1940
1940
  }
@@ -1946,7 +1946,7 @@ async function handleWiseAgentCommand(rest) {
1946
1946
  }
1947
1947
  return void 0;
1948
1948
  };
1949
- const { wiseMeetingsCli } = await import('./commands-BiJbQChb.mjs');
1949
+ const { wiseMeetingsCli } = await import('./commands-CdjKMUGJ.mjs');
1950
1950
  await wiseMeetingsCli(valueOf(["--machine", "-m"]), { json: rest.includes("--json") });
1951
1951
  return;
1952
1952
  }
@@ -1996,7 +1996,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
1996
1996
  return;
1997
1997
  }
1998
1998
  const authArgs = rest.slice(1);
1999
- const mod = await import('./auth-Bp-lcNvX.mjs');
1999
+ const mod = await import('./auth-DDr5dyj0.mjs');
2000
2000
  let action;
2001
2001
  try {
2002
2002
  action = mod.parseWiseAgentAuthArgs(authArgs);
@@ -2006,7 +2006,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
2006
2006
  return;
2007
2007
  }
2008
2008
  if (action) {
2009
- const { updateEnvFile } = await import('./run-CumVWywx.mjs').then(function (n) { return n.al; });
2009
+ const { updateEnvFile } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.am; });
2010
2010
  const updates = mod.buildWiseAgentEnvUpdates(action);
2011
2011
  updateEnvFile(updates);
2012
2012
  for (const [k, v] of Object.entries(updates)) {
@@ -2020,7 +2020,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
2020
2020
  }
2021
2021
  async function handleDaemonAuthCommand(argv) {
2022
2022
  const sub = (argv[0] || "status").toLowerCase();
2023
- const mod = await import('./run-CumVWywx.mjs').then(function (n) { return n.al; });
2023
+ const mod = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.am; });
2024
2024
  if (sub === "--help" || sub === "-h" || sub === "help") {
2025
2025
  console.log(`
2026
2026
  svamp daemon auth \u2014 Configure how Claude subprocesses authenticate
@@ -2094,8 +2094,8 @@ one step: --use-hypha-proxy / --use-claude-login / --anthropic-base-url URL --an
2094
2094
  }
2095
2095
  async function handleDaemonCodexAuthCommand(argv) {
2096
2096
  const sub = (argv[0] || "status").toLowerCase();
2097
- const { updateEnvFile } = await import('./run-CumVWywx.mjs').then(function (n) { return n.al; });
2098
- const { resolveCodexProvider } = await import('./run-CumVWywx.mjs').then(function (n) { return n.am; });
2097
+ const { updateEnvFile } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.am; });
2098
+ const { resolveCodexProvider } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.an; });
2099
2099
  const redact = (k) => k && k.length > 10 ? `${k.slice(0, 6)}\u2026${k.slice(-4)}` : k ? "***" : "(unset)";
2100
2100
  if (sub === "--help" || sub === "-h" || sub === "help") {
2101
2101
  console.log(`
@@ -2427,7 +2427,7 @@ Examples:
2427
2427
  async function printSkillsHelp() {
2428
2428
  let browseUrl = "<HYPHA_SERVER_URL>/<workspace>/artifacts/marketplace (set HYPHA_SERVER_URL)";
2429
2429
  try {
2430
- const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-CumVWywx.mjs').then(function (n) { return n.at; });
2430
+ const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.au; });
2431
2431
  browseUrl = `${getArtifactBaseUrl()}/${getSkillsCollectionName()}`;
2432
2432
  } catch {
2433
2433
  }
package/dist/cli.mjs CHANGED
@@ -1,6 +1,6 @@
1
- import './run-CumVWywx.mjs';
1
+ import './run-DSlJ62Xb.mjs';
2
2
  import './serviceManager-hlOVxkhW.mjs';
3
- import './cli-DqFchp_7.mjs';
3
+ import './cli-Bp0pUO_8.mjs';
4
4
  import 'os';
5
5
  import 'fs/promises';
6
6
  import 'fs';
@@ -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-CumVWywx.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-DSlJ62Xb.mjs';
3
3
  import 'os';
4
4
  import 'fs/promises';
5
5
  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-DqFchp_7.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-CumVWywx.mjs';
4
+ import { f as flushAndExit } from './cli-Bp0pUO_8.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-DSlJ62Xb.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-Czt8diGB.mjs');
63
+ const { runFrpcTunnel } = await import('./frpc-Dst1Xkue.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-BiJbQChb.mjs');
73
+ const { connectAndGetMachine } = await import('./commands-CdjKMUGJ.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-SejhmIxj.mjs');
95
+ const { autoAddSessionLink } = await import('./agentCommands-i-qaq_2s.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-CumVWywx.mjs').then(function (n) { return n.aj; });
132
+ const { serveStaticMount } = await import('./run-DSlJ62Xb.mjs').then(function (n) { return n.ak; });
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-Czt8diGB.mjs');
143
+ const { runFrpcTunnel } = await import('./frpc-Dst1Xkue.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-BiJbQChb.mjs');
153
+ const { connectAndGetMachine } = await import('./commands-CdjKMUGJ.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-BiJbQChb.mjs');
193
+ const { connectAndGetMachine } = await import('./commands-CdjKMUGJ.mjs');
194
194
  const { server, machine } = await connectAndGetMachine();
195
195
  try {
196
196
  await machine.tunnelStop({ name });
@@ -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 { 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-CumVWywx.mjs';
5
+ import { a2 as formatHandle, a3 as normalizeAllowedUser, a4 as loadSecurityContextConfig, a5 as resolveSecurityContext, a6 as buildSecurityContextFromFlags, a7 as mergeSecurityContexts, c as connectToHypha, a8 as buildSessionShareUrl, a9 as computeOutboundHop, i as shortId, aa as registerAwaitingReply, ab as buildMachineShareUrl, ac as parseHandle, ad as handleMatchesMetadata } from './run-DSlJ62Xb.mjs';
6
6
  import 'os';
7
7
  import 'fs/promises';
8
8
  import 'fs';
@@ -1,11 +1,11 @@
1
1
  import { writeFileSync, readFileSync } from 'fs';
2
2
  import { resolve } from 'path';
3
- import { connectAndGetMachine } from './commands-BiJbQChb.mjs';
3
+ import { connectAndGetMachine } from './commands-CdjKMUGJ.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-CumVWywx.mjs';
8
+ import './run-DSlJ62Xb.mjs';
9
9
  import 'os';
10
10
  import 'fs/promises';
11
11
  import 'url';
@@ -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 { 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-CumVWywx.mjs';
4
+ import { P as parseFrontmatter, Q as getSkillsServer, T as getSkillsWorkspaceName, U as getSkillsCollectionName, V as fetchWithTimeout, W as searchSkills, X as SKILLS_DIR, Y as getSkillInfo, Z as downloadSkillFile, _ as listSkillFiles } from './run-DSlJ62Xb.mjs';
5
5
  import 'fs/promises';
6
6
  import 'url';
7
7
  import 'child_process';
@@ -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-BiJbQChb.mjs';
3
+ import { connectAndGetMachine, resolveSessionId, createWorktree, connectAndResolveSession } from './commands-CdjKMUGJ.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-CumVWywx.mjs';
5
+ import { u as updateIssue, m as addComment, n as addIssue, i as shortId } from './run-DSlJ62Xb.mjs';
6
6
  import 'node:os';
7
7
  import 'os';
8
8
  import 'fs/promises';
@@ -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-CumVWywx.mjs';
4
+ import { c as connectToHypha } from './run-DSlJ62Xb.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-CumVWywx.mjs';
7
+ import { e as getFrpsSubdomainHost, f as getFrpsServerPort, h as getFrpsServerAddr } from './run-DSlJ62Xb.mjs';
8
8
  import 'fs/promises';
9
9
  import 'url';
10
10
  import 'node:crypto';
@@ -1,5 +1,5 @@
1
- import { _ as resolveModel, ad as describeMisconfiguration, ae as buildMachineDeps } from './run-CumVWywx.mjs';
2
- import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-CHcbWta4.mjs';
1
+ import { $ as resolveModel, ae as describeMisconfiguration, af as buildMachineDeps } from './run-DSlJ62Xb.mjs';
2
+ import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-DAZlMFIi.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-CumVWywx.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-DSlJ62Xb.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-CumVWywx.mjs';
1
+ import { c as connectToHypha, S as SharingNotificationSync, J as parseJwtEmail } from './run-DSlJ62Xb.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.280";
2
+ var version = "0.2.281";
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-CumVWywx.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-DSlJ62Xb.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-CumVWywx.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-DSlJ62Xb.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 { af as applyClaudeProxyEnv, ag as composeSessionId, ah as generateFriendlyName, c as connectToHypha, a as createSessionStore, r as registerMachineService, ai as generateHookSettings } from './run-CumVWywx.mjs';
1
+ import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import { ag as applyClaudeProxyEnv, ah as composeSessionId, ai as generateFriendlyName, c as connectToHypha, a as createSessionStore, r as registerMachineService, aj as generateHookSettings } from './run-DSlJ62Xb.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-Czt8diGB.mjs');
2976
+ const { FrpcTunnel } = await import('./frpc-Dst1Xkue.mjs');
2977
2977
  let tunnel;
2978
2978
  tunnel = new FrpcTunnel({
2979
2979
  name: tunnelName,
@@ -5816,7 +5816,7 @@ async function registerMachineService(server, machineId, metadata, daemonState,
5816
5816
  const tunnels = handlers.tunnels;
5817
5817
  if (!tunnels) throw new Error("Tunnel management not available");
5818
5818
  if (tunnels.has(params.name)) throw new Error(`Tunnel '${params.name}' already running`);
5819
- const { FrpcTunnel } = await import('./frpc-Czt8diGB.mjs');
5819
+ const { FrpcTunnel } = await import('./frpc-Dst1Xkue.mjs');
5820
5820
  const tunnel = new FrpcTunnel({
5821
5821
  name: params.name,
5822
5822
  ports: params.ports,
@@ -6292,7 +6292,7 @@ QUESTION: ${params.question || "Summarize this concisely."}` }
6292
6292
  }
6293
6293
  const deps = buildSessionDeps(rpc, { cwd, ownerEmail: owner });
6294
6294
  const sender = { name: context?.user?.email || context?.user?.id || "user", kind: "user", verified: true };
6295
- const { toolsForRole } = await import('./sideband-CHcbWta4.mjs');
6295
+ const { toolsForRole } = await import('./sideband-DAZlMFIi.mjs');
6296
6296
  const r2 = await runWiseAgent({ message: params.message, sender, config: { tools: toolsForRole(role2) }, deps, transport, model: resolved.model });
6297
6297
  return fmt(r2);
6298
6298
  }
@@ -6391,7 +6391,7 @@ QUESTION: ${params.question || "Summarize this concisely."}` }
6391
6391
  if (r.error || !r.sender) return { error: r.error || "unauthorized" };
6392
6392
  const callId = "call_" + Math.random().toString(16).slice(2, 12);
6393
6393
  const rendered = renderMessage(c, { sender: r.sender, body: { message: kwargs.message }, callId });
6394
- const { queryCore } = await import('./commands-BiJbQChb.mjs');
6394
+ const { queryCore } = await import('./commands-CdjKMUGJ.mjs');
6395
6395
  const timeout = c.reply?.timeout_sec || 120;
6396
6396
  let result;
6397
6397
  try {
@@ -9449,6 +9449,11 @@ class SessionArtifactSync {
9449
9449
  const SHARE_COLLECTION_ALIAS = "svamp-shared-sessions";
9450
9450
  const EVENT_COLLECTION_ALIAS = "svamp-user-events";
9451
9451
  const RECIPIENT_SCOPING_CONFIG = { recipient_field: "recipientEmail", private_children: true };
9452
+ function computeCollectionConfigUpdate(existingConfig, extra) {
9453
+ const cfg = existingConfig || {};
9454
+ const changed = Object.entries(extra).some(([k, v]) => JSON.stringify(cfg[k]) !== JSON.stringify(v));
9455
+ return { changed, merged: { ...cfg, ...extra } };
9456
+ }
9452
9457
  function emailHash(email) {
9453
9458
  return createHash("sha256").update(email.toLowerCase()).digest("hex").slice(0, 12);
9454
9459
  }
@@ -9496,6 +9501,7 @@ class SharingNotificationSync {
9496
9501
  artifact_id: alias,
9497
9502
  _rkwargs: true
9498
9503
  });
9504
+ if (extraConfig) await this.reconcileCollectionConfig(alias, existing, extraConfig);
9499
9505
  return existing.id;
9500
9506
  } catch {
9501
9507
  const collection = await this.artifactManager.create({
@@ -9514,6 +9520,23 @@ class SharingNotificationSync {
9514
9520
  return collection.id;
9515
9521
  }
9516
9522
  }
9523
+ /**
9524
+ * Best-effort: add `extraConfig` keys to an EXISTING collection's config if missing (merged with
9525
+ * existing config/permissions). No-throw — a perms error on a non-owner daemon is expected and
9526
+ * harmless. See ensureCollection for the ownership rationale.
9527
+ */
9528
+ async reconcileCollectionConfig(alias, existing, extraConfig) {
9529
+ try {
9530
+ const { changed, merged } = computeCollectionConfigUpdate(existing?.config, extraConfig);
9531
+ if (!changed) return;
9532
+ await this.artifactManager.edit({ artifact_id: existing.id, config: merged, _rkwargs: true });
9533
+ await this.artifactManager.commit({ artifact_id: existing.id, _rkwargs: true }).catch(() => {
9534
+ });
9535
+ this.log(`[SHARING NOTIFY] Reconciled config on ${alias} \u2014 added recipient-scoping flag`);
9536
+ } catch (err) {
9537
+ this.log(`[SHARING NOTIFY] Config reconcile on ${alias} skipped (need owner/admin rights): ${err?.message || err}`);
9538
+ }
9539
+ }
9517
9540
  // ── Share bookmark artifacts (svamp-shared-sessions) ──────────────
9518
9541
  async notifyShare(params) {
9519
9542
  if (!this.initialized || !this.shareCollectionId) return;
@@ -16185,7 +16208,7 @@ async function startDaemon(options) {
16185
16208
  try {
16186
16209
  const dir = loadSessionIndex()[sessionId]?.directory;
16187
16210
  if (!dir) return;
16188
- const { reconcileServiceLinks } = await import('./agentCommands-SejhmIxj.mjs');
16211
+ const { reconcileServiceLinks } = await import('./agentCommands-i-qaq_2s.mjs');
16189
16212
  const configPath = getSvampConfigPath(dir, sessionId);
16190
16213
  const config = readSvampConfig(configPath);
16191
16214
  const entries = Array.from(urls.entries());
@@ -16203,7 +16226,7 @@ async function startDaemon(options) {
16203
16226
  }
16204
16227
  }
16205
16228
  async function createExposedTunnel(spec) {
16206
- const { FrpcTunnel } = await import('./frpc-Czt8diGB.mjs');
16229
+ const { FrpcTunnel } = await import('./frpc-Dst1Xkue.mjs');
16207
16230
  const tunnel = new FrpcTunnel({
16208
16231
  name: spec.name,
16209
16232
  ports: spec.ports,
@@ -18419,11 +18442,11 @@ ${capturedError}${buildClaudeErrorHint(capturedError)}`;
18419
18442
  });
18420
18443
  },
18421
18444
  onIssue: async (params) => {
18422
- const { issueRpc } = await import('./rpc-B_zN6Jvr.mjs');
18445
+ const { issueRpc } = await import('./rpc-DXZSyYAh.mjs');
18423
18446
  return issueRpc(params?.cwd || directory, params || {}, { notifySession: notifyIssueOwner, rekickLoopOwner });
18424
18447
  },
18425
18448
  onWorkflow: async (params) => {
18426
- const { workflowRpc } = await import('./rpc-AkzY2NVv.mjs');
18449
+ const { workflowRpc } = await import('./rpc-Dt3gekac.mjs');
18427
18450
  return workflowRpc(params?.cwd || directory, params || {});
18428
18451
  },
18429
18452
  onRipgrep: async (args, cwd) => {
@@ -19035,11 +19058,11 @@ ${capturedError}${buildClaudeErrorHint(capturedError)}`;
19035
19058
  });
19036
19059
  },
19037
19060
  onIssue: async (params) => {
19038
- const { issueRpc } = await import('./rpc-B_zN6Jvr.mjs');
19061
+ const { issueRpc } = await import('./rpc-DXZSyYAh.mjs');
19039
19062
  return issueRpc(params?.cwd || directory, params || {}, { notifySession: notifyIssueOwner, rekickLoopOwner });
19040
19063
  },
19041
19064
  onWorkflow: async (params) => {
19042
- const { workflowRpc } = await import('./rpc-AkzY2NVv.mjs');
19065
+ const { workflowRpc } = await import('./rpc-Dt3gekac.mjs');
19043
19066
  return workflowRpc(params?.cwd || directory, params || {});
19044
19067
  },
19045
19068
  onRipgrep: async (args, cwd) => {
@@ -20154,7 +20177,7 @@ ${oracle.output.trim().slice(0, 500)}`, "\u{1F501} Continuing loop");
20154
20177
  const PING_TIMEOUT_MS = 15e3;
20155
20178
  const POST_RECONNECT_GRACE_MS = 2e4;
20156
20179
  const RECONNECT_JITTER_MS = 2500;
20157
- const { WorkflowScheduler } = await import('./scheduler-MPYVrdzd.mjs');
20180
+ const { WorkflowScheduler } = await import('./scheduler-CTndQ5_D.mjs');
20158
20181
  const workflowScheduler = new WorkflowScheduler({
20159
20182
  projectRoots: () => {
20160
20183
  const dirs = /* @__PURE__ */ new Set();
@@ -20777,4 +20800,4 @@ var run = /*#__PURE__*/Object.freeze({
20777
20800
  writeStopMarker: writeStopMarker
20778
20801
  });
20779
20802
 
20780
- export { clearStopMarker as $, removeWorkflow as A, saveWorkflow as B, rawWorkflow as C, listWorkflows as D, isWorkflowEnabled as E, workflowCrons as F, cronMatches as G, summarize as H, workflowSteps as I, parseJwtEmail as J, loadMachineContext as K, buildMachineInstructions as L, machineToolsForRole as M, buildMachineTools as N, parseFrontmatter as O, getSkillsServer as P, getSkillsWorkspaceName as Q, READ_ONLY_TOOLS as R, SharingNotificationSync as S, getSkillsCollectionName as T, fetchWithTimeout as U, searchSkills as V, SKILLS_DIR as W, getSkillInfo as X, downloadSkillFile as Y, listSkillFiles as Z, resolveModel as _, createSessionStore as a, stopMarkerExists as a0, formatHandle as a1, normalizeAllowedUser as a2, loadSecurityContextConfig as a3, resolveSecurityContext as a4, buildSecurityContextFromFlags as a5, mergeSecurityContexts as a6, buildSessionShareUrl as a7, computeOutboundHop as a8, registerAwaitingReply as a9, buildMachineShareUrl as aa, parseHandle as ab, handleMatchesMetadata as ac, describeMisconfiguration as ad, buildMachineDeps as ae, applyClaudeProxyEnv as af, composeSessionId as ag, generateFriendlyName as ah, generateHookSettings as ai, staticFileServer as aj, instanceConfig as ak, claudeAuth as al, codexProvider as am, projectInfo as an, DefaultTransport$1 as ao, acpBackend as ap, acpAgentConfig as aq, codexAppServerBackend as ar, GeminiTransport$1 as as, api as at, run as au, stopDaemon as b, connectToHypha as c, daemonStatus as d, getFrpsSubdomainHost as e, getFrpsServerPort as f, getHyphaServerUrl$1 as g, getFrpsServerAddr as h, shortId as i, resolveProjectRoot as j, getIssue as k, resumeIssue as l, addComment as m, addIssue as n, listIssues as o, pauseIssue as p, searchIssues as q, registerMachineService as r, startDaemon as s, isVisibleTo as t, updateIssue as u, getRun as v, listRuns as w, getWorkflow as x, runWorkflow as y, setWorkflowEnabled as z };
20803
+ export { resolveModel as $, removeWorkflow as A, saveWorkflow as B, rawWorkflow as C, listWorkflows as D, isWorkflowEnabled as E, workflowCrons as F, cronMatches as G, summarize as H, workflowSteps as I, parseJwtEmail as J, computeCollectionConfigUpdate as K, loadMachineContext as L, buildMachineInstructions as M, machineToolsForRole as N, buildMachineTools as O, parseFrontmatter as P, getSkillsServer as Q, READ_ONLY_TOOLS as R, SharingNotificationSync as S, getSkillsWorkspaceName as T, getSkillsCollectionName as U, fetchWithTimeout as V, searchSkills as W, SKILLS_DIR as X, getSkillInfo as Y, downloadSkillFile as Z, listSkillFiles as _, createSessionStore as a, clearStopMarker as a0, stopMarkerExists as a1, formatHandle as a2, normalizeAllowedUser as a3, loadSecurityContextConfig as a4, resolveSecurityContext as a5, buildSecurityContextFromFlags as a6, mergeSecurityContexts as a7, buildSessionShareUrl as a8, computeOutboundHop as a9, registerAwaitingReply as aa, buildMachineShareUrl as ab, parseHandle as ac, handleMatchesMetadata as ad, describeMisconfiguration as ae, buildMachineDeps as af, applyClaudeProxyEnv as ag, composeSessionId as ah, generateFriendlyName as ai, generateHookSettings as aj, staticFileServer as ak, instanceConfig as al, claudeAuth as am, codexProvider as an, projectInfo as ao, DefaultTransport$1 as ap, acpBackend as aq, acpAgentConfig as ar, codexAppServerBackend as as, GeminiTransport$1 as at, api as au, run as av, stopDaemon as b, connectToHypha as c, daemonStatus as d, getFrpsSubdomainHost as e, getFrpsServerPort as f, getHyphaServerUrl$1 as g, getFrpsServerAddr as h, shortId as i, resolveProjectRoot as j, getIssue as k, resumeIssue as l, addComment as m, addIssue as n, listIssues as o, pauseIssue as p, searchIssues as q, registerMachineService as r, startDaemon as s, isVisibleTo as t, updateIssue as u, getRun as v, listRuns as w, getWorkflow as x, runWorkflow as y, setWorkflowEnabled as z };
@@ -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-CumVWywx.mjs';
1
+ import { j as resolveProjectRoot, D as listWorkflows, E as isWorkflowEnabled, F as workflowCrons, y as runWorkflow, G as cronMatches } from './run-DSlJ62Xb.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-BiJbQChb.mjs');
57
+ const { connectAndGetMachine } = await import('./commands-CdjKMUGJ.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-BiJbQChb.mjs');
96
+ const { connectAndGetMachine } = await import('./commands-CdjKMUGJ.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-BiJbQChb.mjs');
185
+ const { connectAndGetMachine } = await import('./commands-CdjKMUGJ.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-BiJbQChb.mjs');
205
+ const { connectAndGetMachine } = await import('./commands-CdjKMUGJ.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-BiJbQChb.mjs');
238
+ const { connectAndGetMachine } = await import('./commands-CdjKMUGJ.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, K as loadMachineContext, L as buildMachineInstructions, M as machineToolsForRole, N as buildMachineTools } from './run-CumVWywx.mjs';
1
+ import { R as READ_ONLY_TOOLS, L as loadMachineContext, M as buildMachineInstructions, N as machineToolsForRole, O as buildMachineTools } from './run-DSlJ62Xb.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.280",
3
+ "version": "0.2.281",
4
4
  "description": "Svamp CLI — AI workspace daemon on Hypha Cloud",
5
5
  "author": "Amun AI AB",
6
6
  "license": "SEE LICENSE IN LICENSE",