svamp-cli 0.2.91 → 0.2.92

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.
@@ -148,7 +148,7 @@ async function sessionBroadcast(action, args) {
148
148
  console.log(`Broadcast sent: ${action}`);
149
149
  }
150
150
  async function connectToMachineService() {
151
- const { connectAndGetMachine } = await import('./commands-kGkSBEMq.mjs');
151
+ const { connectAndGetMachine } = await import('./commands-BR_lAgZ0.mjs');
152
152
  return connectAndGetMachine();
153
153
  }
154
154
  async function inboxSend(targetSessionId, opts) {
@@ -165,7 +165,7 @@ async function inboxSend(targetSessionId, opts) {
165
165
  }
166
166
  const { server, machine } = await connectToMachineService();
167
167
  try {
168
- const { resolveSessionId } = await import('./commands-kGkSBEMq.mjs');
168
+ const { resolveSessionId } = await import('./commands-BR_lAgZ0.mjs');
169
169
  const sessions = await machine.listSessions();
170
170
  const match = resolveSessionId(sessions, targetSessionId);
171
171
  const fullTargetId = match.sessionId;
@@ -1,4 +1,4 @@
1
- import { z as resolveModel } from './run-DWr_h85y.mjs';
1
+ import { z as resolveModel } from './run-BF4AmFz8.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -7,7 +7,6 @@ import 'url';
7
7
  import 'child_process';
8
8
  import 'crypto';
9
9
  import 'node:fs';
10
- import 'node:vm';
11
10
  import 'node:child_process';
12
11
  import 'ws';
13
12
  import 'util';
package/dist/cli.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { e as clearStopMarker, f as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-DWr_h85y.mjs';
1
+ import { e as clearStopMarker, f as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-BF4AmFz8.mjs';
2
2
  import { ensureSupervisorViaServiceManager, LAUNCHD_LABEL } from './serviceManager-hlOVxkhW.mjs';
3
3
  import 'os';
4
4
  import 'fs/promises';
@@ -8,7 +8,6 @@ import 'url';
8
8
  import 'child_process';
9
9
  import 'crypto';
10
10
  import 'node:fs';
11
- import 'node:vm';
12
11
  import 'node:child_process';
13
12
  import 'ws';
14
13
  import 'util';
@@ -35,7 +34,7 @@ const subcommand = args[0];
35
34
  let daemonSubcommand = args[1];
36
35
  async function main() {
37
36
  try {
38
- const { getLoadedConfig } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.P; });
37
+ const { getLoadedConfig } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.V; });
39
38
  getLoadedConfig();
40
39
  } catch {
41
40
  }
@@ -52,7 +51,7 @@ async function main() {
52
51
  console.error(`svamp daemon restart: ${err.message || err}`);
53
52
  process.exit(1);
54
53
  }
55
- const { restartDaemon } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.T; });
54
+ const { restartDaemon } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.X; });
56
55
  await restartDaemon();
57
56
  process.exit(0);
58
57
  }
@@ -345,7 +344,7 @@ async function main() {
345
344
  console.error("svamp service: Service commands are not available in sandboxed sessions.");
346
345
  process.exit(1);
347
346
  }
348
- const { handleServiceCommand } = await import('./commands-B9ssOqX0.mjs');
347
+ const { handleServiceCommand } = await import('./commands-Dfyuenmi.mjs');
349
348
  await handleServiceCommand();
350
349
  } else if (subcommand === "serve") {
351
350
  const { isSandboxed: isSandboxedServe } = await import('./sandboxDetect-DNTcbgWD.mjs');
@@ -353,7 +352,7 @@ async function main() {
353
352
  console.error("svamp serve: Serve commands are not available in sandboxed sessions.");
354
353
  process.exit(1);
355
354
  }
356
- const { handleServeCommand } = await import('./serveCommands-Js_HSnLs.mjs');
355
+ const { handleServeCommand } = await import('./serveCommands-CvhlM4Iz.mjs');
357
356
  await handleServeCommand();
358
357
  process.exit(0);
359
358
  } else if (subcommand === "process" || subcommand === "proc") {
@@ -362,7 +361,7 @@ async function main() {
362
361
  console.error("svamp process: Process commands are not available in sandboxed sessions.");
363
362
  process.exit(1);
364
363
  }
365
- const { processCommand } = await import('./commands-C6HpuYOB.mjs');
364
+ const { processCommand } = await import('./commands-pVw3CcRo.mjs');
366
365
  let machineId;
367
366
  const processArgs = args.slice(1);
368
367
  const mIdx = processArgs.findIndex((a) => a === "--machine" || a === "-m");
@@ -376,7 +375,7 @@ async function main() {
376
375
  }), machineId);
377
376
  process.exit(0);
378
377
  } else if (subcommand === "routine" || subcommand === "routines") {
379
- const { routineCommand } = await import('./commands-DemyBiUh.mjs');
378
+ const { routineCommand } = await import('./commands-BxluPors.mjs');
380
379
  await routineCommand(args.slice(1));
381
380
  process.exit(0);
382
381
  } else if (subcommand === "wise-agent" || subcommand === "wise") {
@@ -387,7 +386,7 @@ async function main() {
387
386
  } else if (!subcommand || subcommand === "start") {
388
387
  await handleInteractiveCommand();
389
388
  } else if (subcommand === "--version" || subcommand === "-v") {
390
- const pkg = await import('./package-GxcmHBEB.mjs').catch(() => ({ default: { version: "unknown" } }));
389
+ const pkg = await import('./package-_Qk8lnvq.mjs').catch(() => ({ default: { version: "unknown" } }));
391
390
  console.log(`svamp version: ${pkg.default.version}`);
392
391
  } else {
393
392
  console.error(`Unknown command: ${subcommand}`);
@@ -396,7 +395,7 @@ async function main() {
396
395
  }
397
396
  }
398
397
  async function handleInteractiveCommand() {
399
- const { runInteractive } = await import('./run-YihZemmc.mjs');
398
+ const { runInteractive } = await import('./run-l1OtW948.mjs');
400
399
  const interactiveArgs = subcommand === "start" ? args.slice(1) : args;
401
400
  let directory = process.cwd();
402
401
  let resumeSessionId;
@@ -441,7 +440,7 @@ async function handleAgentCommand() {
441
440
  return;
442
441
  }
443
442
  if (agentArgs[0] === "list") {
444
- const { KNOWN_ACP_AGENTS, KNOWN_MCP_AGENTS: KNOWN_MCP_AGENTS2 } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.L; });
443
+ const { KNOWN_ACP_AGENTS, KNOWN_MCP_AGENTS: KNOWN_MCP_AGENTS2 } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.P; });
445
444
  console.log("Known agents:");
446
445
  for (const [name, config2] of Object.entries(KNOWN_ACP_AGENTS)) {
447
446
  console.log(` ${name.padEnd(12)} ${config2.command} ${config2.args.join(" ")} (ACP)`);
@@ -453,7 +452,7 @@ async function handleAgentCommand() {
453
452
  console.log('Use "svamp agent -- <command> [args]" for a custom ACP agent.');
454
453
  return;
455
454
  }
456
- const { resolveAcpAgentConfig, KNOWN_MCP_AGENTS } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.L; });
455
+ const { resolveAcpAgentConfig, KNOWN_MCP_AGENTS } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.P; });
457
456
  let cwd = process.cwd();
458
457
  const filteredArgs = [];
459
458
  for (let i = 0; i < agentArgs.length; i++) {
@@ -477,12 +476,12 @@ async function handleAgentCommand() {
477
476
  console.log(`Starting ${config.agentName} agent in ${cwd}...`);
478
477
  let backend;
479
478
  if (KNOWN_MCP_AGENTS[config.agentName]) {
480
- const { CodexMcpBackend } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.M; });
479
+ const { CodexMcpBackend } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.Q; });
481
480
  backend = new CodexMcpBackend({ cwd, log: logFn });
482
481
  } else {
483
- const { AcpBackend } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.K; });
484
- const { GeminiTransport } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.N; });
485
- const { DefaultTransport } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.J; });
482
+ const { AcpBackend } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.O; });
483
+ const { GeminiTransport } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.T; });
484
+ const { DefaultTransport } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.N; });
486
485
  const transportHandler = config.agentName === "gemini" ? new GeminiTransport() : new DefaultTransport(config.agentName);
487
486
  backend = new AcpBackend({
488
487
  agentName: config.agentName,
@@ -609,7 +608,7 @@ async function handleSessionCommand() {
609
608
  process.exit(1);
610
609
  }
611
610
  }
612
- const { sessionList, sessionWhoami, sessionSpawn, sessionArchive, sessionResume, sessionDelete, sessionInfo, sessionMessages, sessionAttach, sessionMachines, sessionSend, sessionWait, sessionShare, sessionRalphStart, sessionRalphCancel, sessionRalphStatus, sessionInboxSend, sessionInboxList, sessionInboxRead, sessionInboxReply, sessionInboxClear } = await import('./commands-kGkSBEMq.mjs');
611
+ const { sessionList, sessionWhoami, sessionSpawn, sessionArchive, sessionResume, sessionDelete, sessionInfo, sessionMessages, sessionAttach, sessionMachines, sessionSend, sessionWait, sessionShare, sessionRalphStart, sessionRalphCancel, sessionRalphStatus, sessionInboxSend, sessionInboxList, sessionInboxRead, sessionInboxReply, sessionInboxClear } = await import('./commands-BR_lAgZ0.mjs');
613
612
  const parseFlagStr = (flag, shortFlag) => {
614
613
  for (let i = 1; i < sessionArgs.length; i++) {
615
614
  if ((sessionArgs[i] === flag || shortFlag) && i + 1 < sessionArgs.length) {
@@ -677,7 +676,7 @@ async function handleSessionCommand() {
677
676
  allowDomain.push(sessionArgs[++i]);
678
677
  }
679
678
  }
680
- const { parseShareArg } = await import('./commands-kGkSBEMq.mjs');
679
+ const { parseShareArg } = await import('./commands-BR_lAgZ0.mjs');
681
680
  const shareEntries = share.map((s) => parseShareArg(s));
682
681
  await sessionSpawn(agent, dir, targetMachineId, {
683
682
  message,
@@ -764,7 +763,7 @@ async function handleSessionCommand() {
764
763
  console.error(" Spawns a stateless Claude session in <directory>, sends <prompt>, prints the answer, then deletes the session.");
765
764
  process.exit(1);
766
765
  }
767
- const { sessionQuery } = await import('./commands-kGkSBEMq.mjs');
766
+ const { sessionQuery } = await import('./commands-BR_lAgZ0.mjs');
768
767
  await sessionQuery(dir, prompt, targetMachineId, {
769
768
  timeout: parseFlagInt("--timeout"),
770
769
  json: hasFlag("--json"),
@@ -797,7 +796,7 @@ async function handleSessionCommand() {
797
796
  console.error("Usage: svamp session approve <session-id> [request-id] [--json]");
798
797
  process.exit(1);
799
798
  }
800
- const { sessionApprove } = await import('./commands-kGkSBEMq.mjs');
799
+ const { sessionApprove } = await import('./commands-BR_lAgZ0.mjs');
801
800
  const approveReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
802
801
  await sessionApprove(sessionArgs[1], approveReqId, targetMachineId, {
803
802
  json: hasFlag("--json")
@@ -807,7 +806,7 @@ async function handleSessionCommand() {
807
806
  console.error("Usage: svamp session deny <session-id> [request-id] [--json]");
808
807
  process.exit(1);
809
808
  }
810
- const { sessionDeny } = await import('./commands-kGkSBEMq.mjs');
809
+ const { sessionDeny } = await import('./commands-BR_lAgZ0.mjs');
811
810
  const denyReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
812
811
  await sessionDeny(sessionArgs[1], denyReqId, targetMachineId, {
813
812
  json: hasFlag("--json")
@@ -843,7 +842,7 @@ async function handleSessionCommand() {
843
842
  console.error("Usage: svamp session set-title <title>");
844
843
  process.exit(1);
845
844
  }
846
- const { sessionSetTitle } = await import('./agentCommands-Cq5-Dj_E.mjs');
845
+ const { sessionSetTitle } = await import('./agentCommands-t6HbehoC.mjs');
847
846
  await sessionSetTitle(title);
848
847
  } else if (sessionSubcommand === "set-link") {
849
848
  const url = sessionArgs[1];
@@ -852,7 +851,7 @@ async function handleSessionCommand() {
852
851
  process.exit(1);
853
852
  }
854
853
  const label = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
855
- const { sessionSetLink } = await import('./agentCommands-Cq5-Dj_E.mjs');
854
+ const { sessionSetLink } = await import('./agentCommands-t6HbehoC.mjs');
856
855
  await sessionSetLink(url, label);
857
856
  } else if (sessionSubcommand === "notify") {
858
857
  const message = sessionArgs[1];
@@ -861,7 +860,7 @@ async function handleSessionCommand() {
861
860
  process.exit(1);
862
861
  }
863
862
  const level = parseFlagStr("--level") || "info";
864
- const { sessionNotify } = await import('./agentCommands-Cq5-Dj_E.mjs');
863
+ const { sessionNotify } = await import('./agentCommands-t6HbehoC.mjs');
865
864
  await sessionNotify(message, level);
866
865
  } else if (sessionSubcommand === "broadcast") {
867
866
  const action = sessionArgs[1];
@@ -869,7 +868,7 @@ async function handleSessionCommand() {
869
868
  console.error("Usage: svamp session broadcast <action> [args...]\nActions: open-canvas <url> [label], close-canvas, toast <message>");
870
869
  process.exit(1);
871
870
  }
872
- const { sessionBroadcast } = await import('./agentCommands-Cq5-Dj_E.mjs');
871
+ const { sessionBroadcast } = await import('./agentCommands-t6HbehoC.mjs');
873
872
  await sessionBroadcast(action, sessionArgs.slice(2).filter((a) => !a.startsWith("--")));
874
873
  } else if (sessionSubcommand === "inbox") {
875
874
  const inboxSubcmd = sessionArgs[1];
@@ -880,7 +879,7 @@ async function handleSessionCommand() {
880
879
  process.exit(1);
881
880
  }
882
881
  if (agentSessionId) {
883
- const { inboxSend } = await import('./agentCommands-Cq5-Dj_E.mjs');
882
+ const { inboxSend } = await import('./agentCommands-t6HbehoC.mjs');
884
883
  await inboxSend(sessionArgs[2], {
885
884
  body: sessionArgs[3],
886
885
  subject: parseFlagStr("--subject"),
@@ -895,7 +894,7 @@ async function handleSessionCommand() {
895
894
  }
896
895
  } else if (inboxSubcmd === "list" || inboxSubcmd === "ls") {
897
896
  if (agentSessionId && !sessionArgs[2]) {
898
- const { inboxList } = await import('./agentCommands-Cq5-Dj_E.mjs');
897
+ const { inboxList } = await import('./agentCommands-t6HbehoC.mjs');
899
898
  await inboxList({
900
899
  unread: hasFlag("--unread"),
901
900
  limit: parseFlagInt("--limit"),
@@ -917,7 +916,7 @@ async function handleSessionCommand() {
917
916
  process.exit(1);
918
917
  }
919
918
  if (agentSessionId && !sessionArgs[3]) {
920
- const { inboxList } = await import('./agentCommands-Cq5-Dj_E.mjs');
919
+ const { inboxList } = await import('./agentCommands-t6HbehoC.mjs');
921
920
  await sessionInboxRead(agentSessionId, sessionArgs[2], targetMachineId);
922
921
  } else if (sessionArgs[3]) {
923
922
  await sessionInboxRead(sessionArgs[2], sessionArgs[3], targetMachineId);
@@ -927,7 +926,7 @@ async function handleSessionCommand() {
927
926
  }
928
927
  } else if (inboxSubcmd === "reply") {
929
928
  if (agentSessionId && sessionArgs[2] && sessionArgs[3] && !sessionArgs[4]) {
930
- const { inboxReply } = await import('./agentCommands-Cq5-Dj_E.mjs');
929
+ const { inboxReply } = await import('./agentCommands-t6HbehoC.mjs');
931
930
  await inboxReply(sessionArgs[2], sessionArgs[3]);
932
931
  } else if (sessionArgs[2] && sessionArgs[3] && sessionArgs[4]) {
933
932
  await sessionInboxReply(sessionArgs[2], sessionArgs[3], sessionArgs[4], targetMachineId);
@@ -963,7 +962,7 @@ async function handleMachineCommand() {
963
962
  return;
964
963
  }
965
964
  if (machineSubcommand === "share") {
966
- const { machineShare } = await import('./commands-kGkSBEMq.mjs');
965
+ const { machineShare } = await import('./commands-BR_lAgZ0.mjs');
967
966
  let machineId;
968
967
  const shareArgs = [];
969
968
  for (let i = 1; i < machineArgs.length; i++) {
@@ -993,7 +992,7 @@ async function handleMachineCommand() {
993
992
  }
994
993
  await machineShare(machineId, { add, remove, list, configPath, showConfig });
995
994
  } else if (machineSubcommand === "exec") {
996
- const { machineExec } = await import('./commands-kGkSBEMq.mjs');
995
+ const { machineExec } = await import('./commands-BR_lAgZ0.mjs');
997
996
  let machineId;
998
997
  let cwd;
999
998
  const cmdParts = [];
@@ -1013,7 +1012,7 @@ async function handleMachineCommand() {
1013
1012
  }
1014
1013
  await machineExec(machineId, command, cwd);
1015
1014
  } else if (machineSubcommand === "info") {
1016
- const { machineInfo } = await import('./commands-kGkSBEMq.mjs');
1015
+ const { machineInfo } = await import('./commands-BR_lAgZ0.mjs');
1017
1016
  let machineId;
1018
1017
  for (let i = 1; i < machineArgs.length; i++) {
1019
1018
  if ((machineArgs[i] === "--machine" || machineArgs[i] === "-m") && i + 1 < machineArgs.length) {
@@ -1033,10 +1032,10 @@ async function handleMachineCommand() {
1033
1032
  level = machineArgs[++i];
1034
1033
  }
1035
1034
  }
1036
- const { machineNotify } = await import('./agentCommands-Cq5-Dj_E.mjs');
1035
+ const { machineNotify } = await import('./agentCommands-t6HbehoC.mjs');
1037
1036
  await machineNotify(message, level);
1038
1037
  } else if (machineSubcommand === "ls") {
1039
- const { machineLs } = await import('./commands-kGkSBEMq.mjs');
1038
+ const { machineLs } = await import('./commands-BR_lAgZ0.mjs');
1040
1039
  let machineId;
1041
1040
  let showHidden = false;
1042
1041
  let path;
@@ -1094,24 +1093,24 @@ Examples:
1094
1093
  };
1095
1094
  const hasFlag = (name) => fleetArgs.includes(`--${name}`);
1096
1095
  if (sub === "status") {
1097
- const { fleetStatus } = await import('./fleet-DRQS1weD.mjs');
1096
+ const { fleetStatus } = await import('./fleet-C3KLMFeD.mjs');
1098
1097
  await fleetStatus();
1099
1098
  } else if (sub === "exec") {
1100
1099
  const command = fleetArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
1101
- const { fleetExec } = await import('./fleet-DRQS1weD.mjs');
1100
+ const { fleetExec } = await import('./fleet-C3KLMFeD.mjs');
1102
1101
  await fleetExec(command, { cwd: flag("cwd") });
1103
1102
  } else if (sub === "upgrade-claude") {
1104
- const { fleetUpgradeClaude } = await import('./fleet-DRQS1weD.mjs');
1103
+ const { fleetUpgradeClaude } = await import('./fleet-C3KLMFeD.mjs');
1105
1104
  await fleetUpgradeClaude({ version: flag("version", "-v") });
1106
1105
  } else if (sub === "upgrade-svamp") {
1107
- const { fleetUpgradeSvamp } = await import('./fleet-DRQS1weD.mjs');
1106
+ const { fleetUpgradeSvamp } = await import('./fleet-C3KLMFeD.mjs');
1108
1107
  await fleetUpgradeSvamp({ version: flag("version", "-v"), excludeSelf: hasFlag("exclude-self") });
1109
1108
  } else if (sub === "daemon-restart") {
1110
- const { fleetDaemonRestart } = await import('./fleet-DRQS1weD.mjs');
1109
+ const { fleetDaemonRestart } = await import('./fleet-C3KLMFeD.mjs');
1111
1110
  await fleetDaemonRestart({ graceful: !hasFlag("cleanup") });
1112
1111
  } else if (sub === "push-skill") {
1113
1112
  const name = fleetArgs[1];
1114
- const { fleetPushSkill } = await import('./fleet-DRQS1weD.mjs');
1113
+ const { fleetPushSkill } = await import('./fleet-C3KLMFeD.mjs');
1115
1114
  await fleetPushSkill(name);
1116
1115
  } else {
1117
1116
  console.error(`Unknown fleet subcommand: ${sub}`);
@@ -1127,7 +1126,7 @@ async function handleSkillsCommand() {
1127
1126
  await printSkillsHelp();
1128
1127
  return;
1129
1128
  }
1130
- const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-LfAaLGbG.mjs');
1129
+ const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-BHSvizSp.mjs');
1131
1130
  if (skillsSubcommand === "find" || skillsSubcommand === "search") {
1132
1131
  const query = skillsArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
1133
1132
  if (!query) {
@@ -1174,7 +1173,7 @@ async function loginToHypha() {
1174
1173
  process.exit(1);
1175
1174
  }
1176
1175
  const anchor = anchorArg.replace(/\/+$/, "");
1177
- const { loadInstanceConfig } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.P; });
1176
+ const { loadInstanceConfig } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.V; });
1178
1177
  let cfg = null;
1179
1178
  try {
1180
1179
  cfg = await loadInstanceConfig({ anchor, force: true });
@@ -1285,7 +1284,7 @@ async function logoutFromHypha() {
1285
1284
  } catch {
1286
1285
  }
1287
1286
  try {
1288
- const { clearInstanceConfigCache } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.P; });
1287
+ const { clearInstanceConfigCache } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.V; });
1289
1288
  clearInstanceConfigCache();
1290
1289
  } catch {
1291
1290
  }
@@ -1616,7 +1615,7 @@ async function applyClaudeAuthFlags(argv) {
1616
1615
  "--use-hypha-proxy, --use-claude-login, and --anthropic-base-url/--anthropic-api-key are mutually exclusive"
1617
1616
  );
1618
1617
  }
1619
- const mod = await import('./run-DWr_h85y.mjs').then(function (n) { return n.O; });
1618
+ const mod = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.U; });
1620
1619
  if (hasHypha) {
1621
1620
  let url;
1622
1621
  const hyphaIdx = argv.indexOf("--use-hypha-proxy");
@@ -1670,7 +1669,7 @@ async function applyDaemonShareFlag(argv) {
1670
1669
  }
1671
1670
  }
1672
1671
  if (collected.length === 0) return;
1673
- const { updateEnvFile } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.O; });
1672
+ const { updateEnvFile } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.U; });
1674
1673
  const seen = /* @__PURE__ */ new Set();
1675
1674
  const deduped = collected.filter((e) => {
1676
1675
  const k = e.toLowerCase();
@@ -1703,16 +1702,33 @@ async function handleWiseAgentCommand(rest) {
1703
1702
  }
1704
1703
  });
1705
1704
  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(" ");
1706
- const { wiseAskCli } = await import('./commands-kGkSBEMq.mjs');
1705
+ const { wiseAskCli } = await import('./commands-BR_lAgZ0.mjs');
1707
1706
  await wiseAskCli(machineId, message, sessionId, { json });
1708
1707
  return;
1709
1708
  }
1709
+ if (sub === "voice") {
1710
+ const valueOf = (flags) => {
1711
+ for (const f of flags) {
1712
+ const i = rest.indexOf(f);
1713
+ if (i >= 0 && rest[i + 1]) return rest[i + 1];
1714
+ }
1715
+ return void 0;
1716
+ };
1717
+ const { runWiseVoiceCli } = await import('./headlessCli-D-unuCQt.mjs');
1718
+ await runWiseVoiceCli({ voice: valueOf(["--voice"]), wakeKeywordPath: valueOf(["--wake"]), model: valueOf(["--model"]) });
1719
+ return;
1720
+ }
1710
1721
  if (sub === "--help" || sub === "-h") {
1711
1722
  console.log(`Usage:
1712
1723
  svamp wise ask "<message>" [--session <id>] [-m <machine>] [--json]
1713
1724
  Fast WISE turn \u2014 GLOBAL machine-manager by default (daemon status, run
1714
1725
  commands, inspect/spawn/drive any session); --session <id> scopes to one.
1715
1726
 
1727
+ svamp wise voice [--voice <name>] [--wake <keyword.ppn>] [--model <id>]
1728
+ HEADLESS voice on this machine (mic + speaker, no browser). Needs \`sox\`.
1729
+ --wake <keyword.ppn> = always-on "Hey WISE" (needs PICOVOICE_ACCESS_KEY);
1730
+ omit it for a single always-listening session (Ctrl-C to stop).
1731
+
1716
1732
  svamp wise-agent auth <command>
1717
1733
 
1718
1734
  Configure the server-side WISE Agent's fast model (text companion to the deep agent).
@@ -1740,7 +1756,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
1740
1756
  return;
1741
1757
  }
1742
1758
  const authArgs = rest.slice(1);
1743
- const mod = await import('./auth-DPhc_hNc.mjs');
1759
+ const mod = await import('./auth-Dx09pKt3.mjs');
1744
1760
  let action;
1745
1761
  try {
1746
1762
  action = mod.parseWiseAgentAuthArgs(authArgs);
@@ -1750,7 +1766,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
1750
1766
  return;
1751
1767
  }
1752
1768
  if (action) {
1753
- const { updateEnvFile } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.O; });
1769
+ const { updateEnvFile } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.U; });
1754
1770
  const updates = mod.buildWiseAgentEnvUpdates(action);
1755
1771
  updateEnvFile(updates);
1756
1772
  for (const [k, v] of Object.entries(updates)) {
@@ -1764,7 +1780,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
1764
1780
  }
1765
1781
  async function handleDaemonAuthCommand(argv) {
1766
1782
  const sub = (argv[0] || "status").toLowerCase();
1767
- const mod = await import('./run-DWr_h85y.mjs').then(function (n) { return n.O; });
1783
+ const mod = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.U; });
1768
1784
  if (sub === "--help" || sub === "-h" || sub === "help") {
1769
1785
  console.log(`
1770
1786
  svamp daemon auth \u2014 Configure how Claude subprocesses authenticate
@@ -2067,7 +2083,7 @@ Examples:
2067
2083
  async function printSkillsHelp() {
2068
2084
  let browseUrl = "<HYPHA_SERVER_URL>/<workspace>/artifacts/marketplace (set HYPHA_SERVER_URL)";
2069
2085
  try {
2070
- const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-DWr_h85y.mjs').then(function (n) { return n.Q; });
2086
+ const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-BF4AmFz8.mjs').then(function (n) { return n.W; });
2071
2087
  browseUrl = `${getArtifactBaseUrl()}/${getSkillsCollectionName()}`;
2072
2088
  } catch {
2073
2089
  }
@@ -1,13 +1,12 @@
1
1
  import os from 'os';
2
2
  import fs__default from 'fs';
3
3
  import { resolve, join, relative } from 'path';
4
- import { p as parseFrontmatter, n as getSkillsServer, o as getSkillsWorkspaceName, q as getSkillsCollectionName, t as fetchWithTimeout, u as searchSkills, v as SKILLS_DIR, w as getSkillInfo, x as downloadSkillFile, y as listSkillFiles } from './run-DWr_h85y.mjs';
4
+ import { p as parseFrontmatter, n as getSkillsServer, o as getSkillsWorkspaceName, q as getSkillsCollectionName, t as fetchWithTimeout, u as searchSkills, v as SKILLS_DIR, w as getSkillInfo, x as downloadSkillFile, y as listSkillFiles } from './run-BF4AmFz8.mjs';
5
5
  import 'fs/promises';
6
6
  import 'url';
7
7
  import 'child_process';
8
8
  import 'crypto';
9
9
  import 'node:fs';
10
- import 'node:vm';
11
10
  import 'node:child_process';
12
11
  import 'ws';
13
12
  import 'util';
@@ -2,7 +2,7 @@ import { existsSync, readFileSync } from 'node:fs';
2
2
  import { execSync } from 'node:child_process';
3
3
  import { basename, resolve, join } from 'node:path';
4
4
  import os from 'node:os';
5
- import { A as normalizeAllowedUser, B as loadSecurityContextConfig, C as resolveSecurityContext, D as buildSecurityContextFromFlags, E as mergeSecurityContexts, c as connectToHypha, F as buildSessionShareUrl, G as computeOutboundHop, H as buildMachineShareUrl } from './run-DWr_h85y.mjs';
5
+ import { A as normalizeAllowedUser, B as loadSecurityContextConfig, C as resolveSecurityContext, D as buildSecurityContextFromFlags, E as mergeSecurityContexts, c as connectToHypha, F as buildSessionShareUrl, G as computeOutboundHop, H as buildMachineShareUrl } from './run-BF4AmFz8.mjs';
6
6
  import 'os';
7
7
  import 'fs/promises';
8
8
  import 'fs';
@@ -10,7 +10,6 @@ import 'path';
10
10
  import 'url';
11
11
  import 'child_process';
12
12
  import 'crypto';
13
- import 'node:vm';
14
13
  import 'ws';
15
14
  import 'util';
16
15
  import 'node:crypto';
@@ -1,6 +1,6 @@
1
1
  import { execFileSync } from 'node:child_process';
2
2
  import { createServer } from 'node:http';
3
- import { R as RoutineStore, m as RoutineRunner } from './run-DWr_h85y.mjs';
3
+ import { R as RoutineStore, m as RoutineRunner } from './run-BF4AmFz8.mjs';
4
4
  import 'os';
5
5
  import 'fs/promises';
6
6
  import 'fs';
@@ -9,7 +9,6 @@ import 'url';
9
9
  import 'child_process';
10
10
  import 'crypto';
11
11
  import 'node:fs';
12
- import 'node:vm';
13
12
  import 'ws';
14
13
  import 'util';
15
14
  import 'node:crypto';
@@ -58,7 +58,7 @@ async function serviceExpose(args) {
58
58
  process.exit(1);
59
59
  }
60
60
  if (foreground) {
61
- const { runFrpcTunnel } = await import('./frpc-BBNWJChC.mjs');
61
+ const { runFrpcTunnel } = await import('./frpc-D_1pEpUY.mjs');
62
62
  await runFrpcTunnel(name, ports, void 0, {
63
63
  group,
64
64
  groupKey,
@@ -68,7 +68,7 @@ async function serviceExpose(args) {
68
68
  });
69
69
  return;
70
70
  }
71
- const { connectAndGetMachine } = await import('./commands-kGkSBEMq.mjs');
71
+ const { connectAndGetMachine } = await import('./commands-BR_lAgZ0.mjs');
72
72
  const { server, machine } = await connectAndGetMachine();
73
73
  try {
74
74
  const status = await machine.tunnelStart({
@@ -123,7 +123,7 @@ async function serviceServe(args) {
123
123
  };
124
124
  process.on("SIGINT", cleanup);
125
125
  process.on("SIGTERM", cleanup);
126
- const { runFrpcTunnel } = await import('./frpc-BBNWJChC.mjs');
126
+ const { runFrpcTunnel } = await import('./frpc-D_1pEpUY.mjs');
127
127
  await runFrpcTunnel(name, [caddyPort]);
128
128
  } catch (err) {
129
129
  console.error(`Error serving directory: ${err.message}`);
@@ -132,7 +132,7 @@ async function serviceServe(args) {
132
132
  }
133
133
  async function serviceList(_args) {
134
134
  try {
135
- const { connectAndGetMachine } = await import('./commands-kGkSBEMq.mjs');
135
+ const { connectAndGetMachine } = await import('./commands-BR_lAgZ0.mjs');
136
136
  const { server, machine } = await connectAndGetMachine();
137
137
  try {
138
138
  const tunnels = await machine.tunnelList({});
@@ -161,7 +161,7 @@ async function serviceDelete(args) {
161
161
  process.exit(1);
162
162
  }
163
163
  try {
164
- const { connectAndGetMachine } = await import('./commands-kGkSBEMq.mjs');
164
+ const { connectAndGetMachine } = await import('./commands-BR_lAgZ0.mjs');
165
165
  const { server, machine } = await connectAndGetMachine();
166
166
  try {
167
167
  await machine.tunnelStop({ name });
@@ -1,17 +1,16 @@
1
1
  import { writeFileSync, readFileSync } from 'fs';
2
2
  import { resolve } from 'path';
3
- import { connectAndGetMachine } from './commands-kGkSBEMq.mjs';
3
+ import { connectAndGetMachine } from './commands-BR_lAgZ0.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-DWr_h85y.mjs';
8
+ import './run-BF4AmFz8.mjs';
9
9
  import 'os';
10
10
  import 'fs/promises';
11
11
  import 'url';
12
12
  import 'child_process';
13
13
  import 'crypto';
14
- import 'node:vm';
15
14
  import 'ws';
16
15
  import 'util';
17
16
  import 'node:crypto';
@@ -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-DWr_h85y.mjs';
4
+ import { c as connectToHypha } from './run-BF4AmFz8.mjs';
5
5
  import { PINNED_CLAUDE_CODE_VERSION } from './pinnedClaudeCode-HydRNEt7.mjs';
6
6
  import 'os';
7
7
  import 'fs/promises';
@@ -10,7 +10,6 @@ import 'path';
10
10
  import 'url';
11
11
  import 'child_process';
12
12
  import 'crypto';
13
- import 'node:vm';
14
13
  import 'node:child_process';
15
14
  import 'ws';
16
15
  import 'util';
@@ -3,11 +3,10 @@ import { mkdirSync, writeFileSync, unlinkSync, existsSync, chmodSync, readFileSy
3
3
  import { join } from 'path';
4
4
  import { homedir, platform, arch } from 'os';
5
5
  import { createHash, randomUUID } from 'crypto';
6
- import { h as getFrpsSubdomainHost, i as getFrpsServerPort, j as getFrpsServerAddr } from './run-DWr_h85y.mjs';
6
+ import { h as getFrpsSubdomainHost, i as getFrpsServerPort, j as getFrpsServerAddr } from './run-BF4AmFz8.mjs';
7
7
  import 'fs/promises';
8
8
  import 'url';
9
9
  import 'node:fs';
10
- import 'node:vm';
11
10
  import 'node:child_process';
12
11
  import 'ws';
13
12
  import 'util';