svamp-cli 0.2.314 → 0.2.317
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.
- package/bin/commands/workflow.md +3 -2
- package/dist/{adminCommands-DCttALYO.mjs → adminCommands-fJVu-h9l.mjs} +1 -1
- package/dist/{agentCommands-BUsSOz5M.mjs → agentCommands-DdOSpUEW.mjs} +5 -5
- package/dist/{auth-D5yTcsy2.mjs → auth-B2XK13r-.mjs} +1 -1
- package/dist/{cli-ahWO_ULm.mjs → cli-DGVQaDbd.mjs} +115 -85
- package/dist/cli.mjs +2 -2
- package/dist/{commands-ZML4FIzg.mjs → commands-Bx2JkNft.mjs} +1 -1
- package/dist/{commands-CJmKY6Qo.mjs → commands-C4p4v9eO.mjs} +2 -2
- package/dist/{commands-bS4ErsEr.mjs → commands-CoBMjrtP.mjs} +2 -2
- package/dist/{commands-Ce7MP6Ut.mjs → commands-DEsDSuMW.mjs} +3 -3
- package/dist/{commands-Cl-TIip1.mjs → commands-DUdStLKb.mjs} +2 -2
- package/dist/{commands-CuinsdU0.mjs → commands-I9jHLkrI.mjs} +1 -1
- package/dist/{commands-BSHZGcCC.mjs → commands-ino-Gtcu.mjs} +8 -8
- package/dist/{commands-r4QVEq12.mjs → commands-wQYdc5EK.mjs} +1 -1
- package/dist/{fleet-CSwFR8B0.mjs → fleet-NRi2YMso.mjs} +6 -5
- package/dist/{frpc-CpuE7d3Y.mjs → frpc-CNZJM3qC.mjs} +1 -1
- package/dist/{headlessCli-Dg-awx4h.mjs → headlessCli-DpTQ00fL.mjs} +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{notifyCommands-Dlm4RafU.mjs → notifyCommands-BFRuzxXP.mjs} +1 -1
- package/dist/package-DN_Oa_OT.mjs +64 -0
- package/dist/{pinnedClaudeCode-mM9Q6Q2G.mjs → pinnedClaudeCode-CnCpensV.mjs} +1 -1
- package/dist/{rpc-BN7kFhGk.mjs → rpc-CclCeDcu.mjs} +1 -1
- package/dist/{rpc-CLTPF1K6.mjs → rpc-Cx6KsBYC.mjs} +2 -2
- package/dist/{run-B6-6GYde.mjs → run-DKhnAl2f.mjs} +1 -1
- package/dist/{run-Y3YLx8x7.mjs → run-RA4Vr6lj.mjs} +595 -90
- package/dist/{scheduler-CWlkmpMz.mjs → scheduler-Wzzed1CU.mjs} +1 -1
- package/dist/{serveCommands-mnocpHcO.mjs → serveCommands-DQeSesYI.mjs} +5 -5
- package/dist/{sideband-c4lkIKWJ.mjs → sideband-gQ7oQEsx.mjs} +1 -1
- package/package.json +4 -4
- package/dist/package-DO2e6EnU.mjs +0 -64
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { a4 as clearStopMarker, a5 as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-RA4Vr6lj.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-
|
|
36
|
+
const { getLoadedConfig } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.ar; });
|
|
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-
|
|
55
|
+
const mod = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.aE; });
|
|
56
56
|
if (whenIdle && !force) {
|
|
57
57
|
if (mod.isDaemonAlive()) {
|
|
58
58
|
mod.writePendingRestart({ reason: "svamp daemon restart --when-idle" });
|
|
@@ -359,7 +359,7 @@ async function main() {
|
|
|
359
359
|
console.error("svamp service: Service commands are not available in sandboxed sessions.");
|
|
360
360
|
process.exit(1);
|
|
361
361
|
}
|
|
362
|
-
const { handleServiceCommand } = await import('./commands-
|
|
362
|
+
const { handleServiceCommand } = await import('./commands-ino-Gtcu.mjs');
|
|
363
363
|
await handleServiceCommand();
|
|
364
364
|
} else if (subcommand === "serve") {
|
|
365
365
|
const { isSandboxed: isSandboxedServe } = await import('./sandboxDetect-DNTcbgWD.mjs');
|
|
@@ -367,7 +367,7 @@ async function main() {
|
|
|
367
367
|
console.error("svamp serve: Serve commands are not available in sandboxed sessions.");
|
|
368
368
|
process.exit(1);
|
|
369
369
|
}
|
|
370
|
-
const { handleServeCommand } = await import('./serveCommands-
|
|
370
|
+
const { handleServeCommand } = await import('./serveCommands-DQeSesYI.mjs');
|
|
371
371
|
await handleServeCommand();
|
|
372
372
|
process.exit(0);
|
|
373
373
|
} else if (subcommand === "process" || subcommand === "proc") {
|
|
@@ -376,7 +376,7 @@ async function main() {
|
|
|
376
376
|
console.error("svamp process: Process commands are not available in sandboxed sessions.");
|
|
377
377
|
process.exit(1);
|
|
378
378
|
}
|
|
379
|
-
const { processCommand } = await import('./commands-
|
|
379
|
+
const { processCommand } = await import('./commands-DUdStLKb.mjs');
|
|
380
380
|
let machineId;
|
|
381
381
|
const processArgs = args.slice(1);
|
|
382
382
|
const mIdx = processArgs.findIndex((a) => a === "--machine" || a === "-m");
|
|
@@ -390,26 +390,26 @@ async function main() {
|
|
|
390
390
|
}), machineId);
|
|
391
391
|
process.exit(0);
|
|
392
392
|
} else if (subcommand === "outpost") {
|
|
393
|
-
const { outpostCommand } = await import('./commands-
|
|
393
|
+
const { outpostCommand } = await import('./commands-C4p4v9eO.mjs');
|
|
394
394
|
await outpostCommand(args.slice(1));
|
|
395
395
|
process.exit(0);
|
|
396
396
|
} else if (subcommand === "issue" || subcommand === "issues") {
|
|
397
|
-
const { issueCommand } = await import('./commands-
|
|
397
|
+
const { issueCommand } = await import('./commands-DEsDSuMW.mjs');
|
|
398
398
|
await issueCommand(args.slice(1));
|
|
399
399
|
await flushAndExit(0);
|
|
400
400
|
} else if (subcommand === "workflow" || subcommand === "workflows") {
|
|
401
|
-
const { workflowCommand } = await import('./commands-
|
|
401
|
+
const { workflowCommand } = await import('./commands-I9jHLkrI.mjs');
|
|
402
402
|
await workflowCommand(args.slice(1));
|
|
403
403
|
await flushAndExit(0);
|
|
404
404
|
} else if (subcommand === "wise-agent" || subcommand === "wise") {
|
|
405
405
|
await handleWiseAgentCommand(args.slice(1));
|
|
406
406
|
process.exit(0);
|
|
407
407
|
} else if (subcommand === "feature" || subcommand === "crew") {
|
|
408
|
-
const { crewCommand } = await import('./commands-
|
|
408
|
+
const { crewCommand } = await import('./commands-CoBMjrtP.mjs');
|
|
409
409
|
await crewCommand(args.slice(1));
|
|
410
410
|
process.exit(0);
|
|
411
411
|
} else if (subcommand === "notify") {
|
|
412
|
-
const { notifyUser } = await import('./notifyCommands-
|
|
412
|
+
const { notifyUser } = await import('./notifyCommands-BFRuzxXP.mjs');
|
|
413
413
|
const rest = args.slice(1);
|
|
414
414
|
let email;
|
|
415
415
|
const o = {};
|
|
@@ -426,7 +426,7 @@ async function main() {
|
|
|
426
426
|
} else if (subcommand === "admin") {
|
|
427
427
|
const adminSub = args[1];
|
|
428
428
|
if (adminSub === "set-collection-config") {
|
|
429
|
-
const { setCollectionConfig } = await import('./adminCommands-
|
|
429
|
+
const { setCollectionConfig } = await import('./adminCommands-fJVu-h9l.mjs');
|
|
430
430
|
const rest = args.slice(2);
|
|
431
431
|
let alias;
|
|
432
432
|
let configJson;
|
|
@@ -436,10 +436,10 @@ async function main() {
|
|
|
436
436
|
}
|
|
437
437
|
await setCollectionConfig(alias, configJson);
|
|
438
438
|
} else if (adminSub === "create-system-collections") {
|
|
439
|
-
const { createSystemCollections } = await import('./adminCommands-
|
|
439
|
+
const { createSystemCollections } = await import('./adminCommands-fJVu-h9l.mjs');
|
|
440
440
|
await createSystemCollections();
|
|
441
441
|
} else if (adminSub === "migrate-collection-children") {
|
|
442
|
-
const { migrateCollectionChildren } = await import('./adminCommands-
|
|
442
|
+
const { migrateCollectionChildren } = await import('./adminCommands-fJVu-h9l.mjs');
|
|
443
443
|
const rest = args.slice(2).filter((a) => !a.startsWith("-"));
|
|
444
444
|
await migrateCollectionChildren(rest[0], rest[1]);
|
|
445
445
|
} else {
|
|
@@ -447,7 +447,7 @@ async function main() {
|
|
|
447
447
|
}
|
|
448
448
|
process.exit(0);
|
|
449
449
|
} else if (subcommand === "events") {
|
|
450
|
-
const { listEvents, ackEvent } = await import('./notifyCommands-
|
|
450
|
+
const { listEvents, ackEvent } = await import('./notifyCommands-BFRuzxXP.mjs');
|
|
451
451
|
const sub = args[1];
|
|
452
452
|
const rest = args.slice(2);
|
|
453
453
|
let email;
|
|
@@ -468,7 +468,7 @@ async function main() {
|
|
|
468
468
|
} else if (!subcommand || subcommand === "start") {
|
|
469
469
|
await handleInteractiveCommand();
|
|
470
470
|
} else if (subcommand === "--version" || subcommand === "-v") {
|
|
471
|
-
const pkg = await import('./package-
|
|
471
|
+
const pkg = await import('./package-DN_Oa_OT.mjs').catch(() => ({ default: { version: "unknown" } }));
|
|
472
472
|
console.log(`svamp version: ${pkg.default.version}`);
|
|
473
473
|
} else {
|
|
474
474
|
console.error(`Unknown command: ${subcommand}`);
|
|
@@ -477,7 +477,7 @@ async function main() {
|
|
|
477
477
|
}
|
|
478
478
|
}
|
|
479
479
|
async function handleInteractiveCommand() {
|
|
480
|
-
const { runInteractive } = await import('./run-
|
|
480
|
+
const { runInteractive } = await import('./run-DKhnAl2f.mjs');
|
|
481
481
|
const interactiveArgs = subcommand === "start" ? args.slice(1) : args;
|
|
482
482
|
let directory = process.cwd();
|
|
483
483
|
let resumeSessionId;
|
|
@@ -522,7 +522,7 @@ async function handleAgentCommand() {
|
|
|
522
522
|
return;
|
|
523
523
|
}
|
|
524
524
|
if (agentArgs[0] === "list") {
|
|
525
|
-
const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-
|
|
525
|
+
const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.ax; });
|
|
526
526
|
console.log("Known agents:");
|
|
527
527
|
for (const [name, config2] of Object.entries(KNOWN_ACP_AGENTS)) {
|
|
528
528
|
console.log(` ${name.padEnd(12)} ${config2.command} ${config2.args.join(" ")} (ACP)`);
|
|
@@ -534,7 +534,7 @@ async function handleAgentCommand() {
|
|
|
534
534
|
console.log('Use "svamp agent -- <command> [args]" for a custom ACP agent.');
|
|
535
535
|
return;
|
|
536
536
|
}
|
|
537
|
-
const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-
|
|
537
|
+
const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.ax; });
|
|
538
538
|
let cwd = process.cwd();
|
|
539
539
|
const filteredArgs = [];
|
|
540
540
|
for (let i = 0; i < agentArgs.length; i++) {
|
|
@@ -558,19 +558,19 @@ async function handleAgentCommand() {
|
|
|
558
558
|
console.log(`Starting ${config.agentName} agent in ${cwd}...`);
|
|
559
559
|
let backend;
|
|
560
560
|
if (KNOWN_CODEX_AGENTS[config.agentName]) {
|
|
561
|
-
const { CodexAppServerBackend } = await import('./run-
|
|
561
|
+
const { CodexAppServerBackend } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.ay; });
|
|
562
562
|
backend = new CodexAppServerBackend({ cwd, log: logFn });
|
|
563
563
|
} else {
|
|
564
|
-
const { AcpBackend } = await import('./run-
|
|
565
|
-
const { GeminiTransport } = await import('./run-
|
|
566
|
-
const { KimiTransport } = await import('./run-
|
|
567
|
-
const { DefaultTransport } = await import('./run-
|
|
564
|
+
const { AcpBackend } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.aw; });
|
|
565
|
+
const { GeminiTransport } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.az; });
|
|
566
|
+
const { KimiTransport } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.aA; });
|
|
567
|
+
const { DefaultTransport } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.av; });
|
|
568
568
|
const transportHandler = config.agentName === "gemini" ? new GeminiTransport() : config.agentName === "kimi" ? new KimiTransport() : new DefaultTransport(config.agentName);
|
|
569
569
|
let acpEnv;
|
|
570
570
|
if (config.agentName === "kimi") {
|
|
571
|
-
const { ensureKimiProviderConfigured } = await import('./run-
|
|
572
|
-
const { kimiSpawnEnv } = await import('./run-
|
|
573
|
-
ensureKimiProviderConfigured(process.env, config.command, logFn);
|
|
571
|
+
const { ensureKimiProviderConfigured } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.aC; });
|
|
572
|
+
const { kimiSpawnEnv } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.aB; });
|
|
573
|
+
await ensureKimiProviderConfigured(process.env, config.command, logFn);
|
|
574
574
|
acpEnv = kimiSpawnEnv(process.env);
|
|
575
575
|
}
|
|
576
576
|
backend = new AcpBackend({
|
|
@@ -699,7 +699,7 @@ async function handleSessionCommand() {
|
|
|
699
699
|
process.exit(1);
|
|
700
700
|
}
|
|
701
701
|
}
|
|
702
|
-
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-
|
|
702
|
+
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-wQYdc5EK.mjs');
|
|
703
703
|
const parseFlagStr = (flag, shortFlag) => {
|
|
704
704
|
for (let i = 1; i < sessionArgs.length; i++) {
|
|
705
705
|
if ((sessionArgs[i] === flag || shortFlag) && i + 1 < sessionArgs.length) {
|
|
@@ -767,7 +767,13 @@ async function handleSessionCommand() {
|
|
|
767
767
|
allowDomain.push(sessionArgs[++i]);
|
|
768
768
|
}
|
|
769
769
|
}
|
|
770
|
-
|
|
770
|
+
if (denyRead.length > 0) {
|
|
771
|
+
console.warn("Warning: --deny-read is NOT ENFORCED by the sandbox (#0878). The session workspace");
|
|
772
|
+
console.warn(" is granted wholesale, so denying a path inside it has no effect. Use");
|
|
773
|
+
console.warn(" --allow-write / a securityContext allowedDirectories, or keep the");
|
|
774
|
+
console.warn(" sensitive path outside the workspace.");
|
|
775
|
+
}
|
|
776
|
+
const { parseShareArg } = await import('./commands-wQYdc5EK.mjs');
|
|
771
777
|
const shareEntries = share.map((s) => parseShareArg(s));
|
|
772
778
|
await sessionSpawn(agent, dir, targetMachineId, {
|
|
773
779
|
message,
|
|
@@ -858,7 +864,7 @@ async function handleSessionCommand() {
|
|
|
858
864
|
console.error(" Rewinds history: rewrites the message + drops everything after it, then restarts Claude.");
|
|
859
865
|
process.exit(1);
|
|
860
866
|
}
|
|
861
|
-
const { sessionEditMessage } = await import('./commands-
|
|
867
|
+
const { sessionEditMessage } = await import('./commands-wQYdc5EK.mjs');
|
|
862
868
|
await sessionEditMessage(sessionArgs[1], sessionArgs[2], sessionArgs[3], targetMachineId);
|
|
863
869
|
} else if (sessionSubcommand === "refine") {
|
|
864
870
|
if (!sessionArgs[1] || !sessionArgs[2]) {
|
|
@@ -866,7 +872,7 @@ async function handleSessionCommand() {
|
|
|
866
872
|
console.error(" Asks the agent to revise its latest reply in place (no extra round).");
|
|
867
873
|
process.exit(1);
|
|
868
874
|
}
|
|
869
|
-
const { sessionRefineLastReply } = await import('./commands-
|
|
875
|
+
const { sessionRefineLastReply } = await import('./commands-wQYdc5EK.mjs');
|
|
870
876
|
await sessionRefineLastReply(sessionArgs[1], sessionArgs[2], targetMachineId);
|
|
871
877
|
} else if (sessionSubcommand === "undo-edit" || sessionSubcommand === "undo") {
|
|
872
878
|
if (!sessionArgs[1]) {
|
|
@@ -874,7 +880,7 @@ async function handleSessionCommand() {
|
|
|
874
880
|
console.error(" Reverts the most recent edit/refine, restoring the pre-edit history.");
|
|
875
881
|
process.exit(1);
|
|
876
882
|
}
|
|
877
|
-
const { sessionUndoEdit } = await import('./commands-
|
|
883
|
+
const { sessionUndoEdit } = await import('./commands-wQYdc5EK.mjs');
|
|
878
884
|
await sessionUndoEdit(sessionArgs[1], targetMachineId);
|
|
879
885
|
} else if (sessionSubcommand === "query") {
|
|
880
886
|
const dir = sessionArgs[1];
|
|
@@ -884,7 +890,7 @@ async function handleSessionCommand() {
|
|
|
884
890
|
console.error(" Spawns a stateless Claude session in <directory>, sends <prompt>, prints the answer, then deletes the session.");
|
|
885
891
|
process.exit(1);
|
|
886
892
|
}
|
|
887
|
-
const { sessionQuery } = await import('./commands-
|
|
893
|
+
const { sessionQuery } = await import('./commands-wQYdc5EK.mjs');
|
|
888
894
|
await sessionQuery(dir, prompt, targetMachineId, {
|
|
889
895
|
timeout: parseFlagInt("--timeout"),
|
|
890
896
|
json: hasFlag("--json"),
|
|
@@ -917,7 +923,7 @@ async function handleSessionCommand() {
|
|
|
917
923
|
console.error("Usage: svamp session approve <session-id> [request-id] [--json]");
|
|
918
924
|
process.exit(1);
|
|
919
925
|
}
|
|
920
|
-
const { sessionApprove } = await import('./commands-
|
|
926
|
+
const { sessionApprove } = await import('./commands-wQYdc5EK.mjs');
|
|
921
927
|
const approveReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
922
928
|
await sessionApprove(sessionArgs[1], approveReqId, targetMachineId, {
|
|
923
929
|
json: hasFlag("--json")
|
|
@@ -927,7 +933,7 @@ async function handleSessionCommand() {
|
|
|
927
933
|
console.error("Usage: svamp session deny <session-id> [request-id] [--json]");
|
|
928
934
|
process.exit(1);
|
|
929
935
|
}
|
|
930
|
-
const { sessionDeny } = await import('./commands-
|
|
936
|
+
const { sessionDeny } = await import('./commands-wQYdc5EK.mjs');
|
|
931
937
|
const denyReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
932
938
|
await sessionDeny(sessionArgs[1], denyReqId, targetMachineId, {
|
|
933
939
|
json: hasFlag("--json")
|
|
@@ -979,7 +985,7 @@ async function handleSessionCommand() {
|
|
|
979
985
|
console.error("Usage: svamp session set-title <title>");
|
|
980
986
|
process.exit(1);
|
|
981
987
|
}
|
|
982
|
-
const { sessionSetTitle } = await import('./agentCommands-
|
|
988
|
+
const { sessionSetTitle } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
983
989
|
await sessionSetTitle(title);
|
|
984
990
|
} else if (sessionSubcommand === "set-project-description" || sessionSubcommand === "set-project") {
|
|
985
991
|
const desc = sessionArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
@@ -987,7 +993,7 @@ async function handleSessionCommand() {
|
|
|
987
993
|
console.error("Usage: svamp session set-project-description <text>");
|
|
988
994
|
process.exit(1);
|
|
989
995
|
}
|
|
990
|
-
const { sessionSetProjectDescription } = await import('./agentCommands-
|
|
996
|
+
const { sessionSetProjectDescription } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
991
997
|
await sessionSetProjectDescription(desc);
|
|
992
998
|
} else if (sessionSubcommand === "set-link") {
|
|
993
999
|
const url = sessionArgs[1];
|
|
@@ -996,11 +1002,11 @@ async function handleSessionCommand() {
|
|
|
996
1002
|
process.exit(1);
|
|
997
1003
|
}
|
|
998
1004
|
const label = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
999
|
-
const { sessionSetLink } = await import('./agentCommands-
|
|
1005
|
+
const { sessionSetLink } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
1000
1006
|
await sessionSetLink(url, label);
|
|
1001
1007
|
} else if (sessionSubcommand === "link") {
|
|
1002
1008
|
const op = sessionArgs[1];
|
|
1003
|
-
const lm = await import('./agentCommands-
|
|
1009
|
+
const lm = await import('./agentCommands-DdOSpUEW.mjs');
|
|
1004
1010
|
if (op === "add") {
|
|
1005
1011
|
const url = sessionArgs[2];
|
|
1006
1012
|
if (!url || url.startsWith("--")) {
|
|
@@ -1035,7 +1041,7 @@ async function handleSessionCommand() {
|
|
|
1035
1041
|
process.exit(1);
|
|
1036
1042
|
}
|
|
1037
1043
|
const level = parseFlagStr("--level") || "info";
|
|
1038
|
-
const { sessionNotify } = await import('./agentCommands-
|
|
1044
|
+
const { sessionNotify } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
1039
1045
|
await sessionNotify(message, level);
|
|
1040
1046
|
} else if (sessionSubcommand === "broadcast") {
|
|
1041
1047
|
const action = sessionArgs[1];
|
|
@@ -1043,7 +1049,7 @@ async function handleSessionCommand() {
|
|
|
1043
1049
|
console.error("Usage: svamp session broadcast <action> [args...]\nActions: open-canvas <url> [label], close-canvas, toast <message>");
|
|
1044
1050
|
process.exit(1);
|
|
1045
1051
|
}
|
|
1046
|
-
const { sessionBroadcast } = await import('./agentCommands-
|
|
1052
|
+
const { sessionBroadcast } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
1047
1053
|
await sessionBroadcast(action, sessionArgs.slice(2).filter((a) => !a.startsWith("--")));
|
|
1048
1054
|
} else if (sessionSubcommand === "inbox") {
|
|
1049
1055
|
const inboxSubcmd = sessionArgs[1];
|
|
@@ -1054,7 +1060,7 @@ async function handleSessionCommand() {
|
|
|
1054
1060
|
process.exit(1);
|
|
1055
1061
|
}
|
|
1056
1062
|
if (agentSessionId) {
|
|
1057
|
-
const { inboxSend } = await import('./agentCommands-
|
|
1063
|
+
const { inboxSend } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
1058
1064
|
await inboxSend(sessionArgs[2], {
|
|
1059
1065
|
body: sessionArgs[3],
|
|
1060
1066
|
subject: parseFlagStr("--subject"),
|
|
@@ -1071,7 +1077,7 @@ async function handleSessionCommand() {
|
|
|
1071
1077
|
}
|
|
1072
1078
|
} else if (inboxSubcmd === "list" || inboxSubcmd === "ls") {
|
|
1073
1079
|
if (agentSessionId && !sessionArgs[2]) {
|
|
1074
|
-
const { inboxList } = await import('./agentCommands-
|
|
1080
|
+
const { inboxList } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
1075
1081
|
await inboxList({
|
|
1076
1082
|
unread: hasFlag("--unread"),
|
|
1077
1083
|
limit: parseFlagInt("--limit"),
|
|
@@ -1093,7 +1099,7 @@ async function handleSessionCommand() {
|
|
|
1093
1099
|
process.exit(1);
|
|
1094
1100
|
}
|
|
1095
1101
|
if (agentSessionId && !sessionArgs[3]) {
|
|
1096
|
-
const { inboxList } = await import('./agentCommands-
|
|
1102
|
+
const { inboxList } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
1097
1103
|
await sessionInboxRead(agentSessionId, sessionArgs[2], targetMachineId);
|
|
1098
1104
|
} else if (sessionArgs[3]) {
|
|
1099
1105
|
await sessionInboxRead(sessionArgs[2], sessionArgs[3], targetMachineId);
|
|
@@ -1103,7 +1109,7 @@ async function handleSessionCommand() {
|
|
|
1103
1109
|
}
|
|
1104
1110
|
} else if (inboxSubcmd === "reply") {
|
|
1105
1111
|
if (agentSessionId && sessionArgs[2] && sessionArgs[3] && !sessionArgs[4]) {
|
|
1106
|
-
const { inboxReply } = await import('./agentCommands-
|
|
1112
|
+
const { inboxReply } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
1107
1113
|
await inboxReply(sessionArgs[2], sessionArgs[3]);
|
|
1108
1114
|
} else if (sessionArgs[2] && sessionArgs[3] && sessionArgs[4]) {
|
|
1109
1115
|
await sessionInboxReply(sessionArgs[2], sessionArgs[3], sessionArgs[4], targetMachineId);
|
|
@@ -1141,7 +1147,7 @@ async function handleMachineCommand() {
|
|
|
1141
1147
|
return;
|
|
1142
1148
|
}
|
|
1143
1149
|
if (machineSubcommand === "share") {
|
|
1144
|
-
const { machineShare } = await import('./commands-
|
|
1150
|
+
const { machineShare } = await import('./commands-wQYdc5EK.mjs');
|
|
1145
1151
|
let machineId;
|
|
1146
1152
|
const shareArgs = [];
|
|
1147
1153
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
@@ -1192,14 +1198,14 @@ async function handleMachineCommand() {
|
|
|
1192
1198
|
process.exit(1);
|
|
1193
1199
|
}
|
|
1194
1200
|
if (all) {
|
|
1195
|
-
const { fleetExec } = await import('./fleet-
|
|
1201
|
+
const { fleetExec } = await import('./fleet-NRi2YMso.mjs');
|
|
1196
1202
|
await fleetExec(command, { cwd });
|
|
1197
1203
|
} else {
|
|
1198
|
-
const { machineExec } = await import('./commands-
|
|
1204
|
+
const { machineExec } = await import('./commands-wQYdc5EK.mjs');
|
|
1199
1205
|
await machineExec(machineId, command, cwd);
|
|
1200
1206
|
}
|
|
1201
1207
|
} else if (machineSubcommand === "info") {
|
|
1202
|
-
const { machineInfo } = await import('./commands-
|
|
1208
|
+
const { machineInfo } = await import('./commands-wQYdc5EK.mjs');
|
|
1203
1209
|
let machineId;
|
|
1204
1210
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
1205
1211
|
if ((machineArgs[i] === "--machine" || machineArgs[i] === "-m") && i + 1 < machineArgs.length) {
|
|
@@ -1217,12 +1223,21 @@ async function handleMachineCommand() {
|
|
|
1217
1223
|
for (let i = 2; i < machineArgs.length; i++) {
|
|
1218
1224
|
if (machineArgs[i] === "--level" && i + 1 < machineArgs.length) {
|
|
1219
1225
|
level = machineArgs[++i];
|
|
1226
|
+
continue;
|
|
1227
|
+
}
|
|
1228
|
+
if (machineArgs[i] === "-m" || machineArgs[i] === "--machine" || machineArgs[i] === "--all") {
|
|
1229
|
+
console.error(`svamp machine notify does not support ${machineArgs[i]} \u2014 it always notifies THIS machine's sessions.`);
|
|
1230
|
+
console.error(' To reach another machine: svamp session send <id> "<message>" (or svamp machine exec -m <id>).');
|
|
1231
|
+
process.exit(1);
|
|
1220
1232
|
}
|
|
1233
|
+
console.error(`Unknown option for 'svamp machine notify': ${machineArgs[i]}`);
|
|
1234
|
+
console.error("Usage: svamp machine notify <message> [--level info|warning|error]");
|
|
1235
|
+
process.exit(1);
|
|
1221
1236
|
}
|
|
1222
|
-
const { machineNotify } = await import('./agentCommands-
|
|
1237
|
+
const { machineNotify } = await import('./agentCommands-DdOSpUEW.mjs');
|
|
1223
1238
|
await machineNotify(message, level);
|
|
1224
1239
|
} else if (machineSubcommand === "ls") {
|
|
1225
|
-
const { machineLs } = await import('./commands-
|
|
1240
|
+
const { machineLs } = await import('./commands-wQYdc5EK.mjs');
|
|
1226
1241
|
let machineId;
|
|
1227
1242
|
let showHidden = false;
|
|
1228
1243
|
let path;
|
|
@@ -1288,26 +1303,26 @@ Examples:
|
|
|
1288
1303
|
};
|
|
1289
1304
|
const hasFlag = (name) => fleetArgs.includes(`--${name}`);
|
|
1290
1305
|
if (sub === "status") {
|
|
1291
|
-
const { fleetStatus } = await import('./fleet-
|
|
1306
|
+
const { fleetStatus } = await import('./fleet-NRi2YMso.mjs');
|
|
1292
1307
|
await fleetStatus();
|
|
1293
1308
|
} else if (sub === "upgrade-claude") {
|
|
1294
|
-
const { fleetUpgradeClaude } = await import('./fleet-
|
|
1309
|
+
const { fleetUpgradeClaude } = await import('./fleet-NRi2YMso.mjs');
|
|
1295
1310
|
await fleetUpgradeClaude({ version: flag("version", "-v") });
|
|
1296
1311
|
} else if (sub === "upgrade-codex") {
|
|
1297
|
-
const { fleetUpgradeCodex } = await import('./fleet-
|
|
1312
|
+
const { fleetUpgradeCodex } = await import('./fleet-NRi2YMso.mjs');
|
|
1298
1313
|
await fleetUpgradeCodex({ version: flag("version", "-v") });
|
|
1299
1314
|
} else if (sub === "upgrade-kimi") {
|
|
1300
|
-
const { fleetUpgradeKimi } = await import('./fleet-
|
|
1315
|
+
const { fleetUpgradeKimi } = await import('./fleet-NRi2YMso.mjs');
|
|
1301
1316
|
await fleetUpgradeKimi({ version: flag("version", "-v") });
|
|
1302
1317
|
} else if (sub === "upgrade-svamp") {
|
|
1303
|
-
const { fleetUpgradeSvamp } = await import('./fleet-
|
|
1318
|
+
const { fleetUpgradeSvamp } = await import('./fleet-NRi2YMso.mjs');
|
|
1304
1319
|
await fleetUpgradeSvamp({ version: flag("version", "-v"), excludeSelf: hasFlag("exclude-self"), force: hasFlag("force") });
|
|
1305
1320
|
} else if (sub === "daemon-restart") {
|
|
1306
|
-
const { fleetDaemonRestart } = await import('./fleet-
|
|
1321
|
+
const { fleetDaemonRestart } = await import('./fleet-NRi2YMso.mjs');
|
|
1307
1322
|
await fleetDaemonRestart({ graceful: !hasFlag("cleanup") });
|
|
1308
1323
|
} else if (sub === "push-skill") {
|
|
1309
1324
|
const name = fleetArgs[1];
|
|
1310
|
-
const { fleetPushSkill } = await import('./fleet-
|
|
1325
|
+
const { fleetPushSkill } = await import('./fleet-NRi2YMso.mjs');
|
|
1311
1326
|
await fleetPushSkill(name);
|
|
1312
1327
|
} else {
|
|
1313
1328
|
console.error(`Unknown fleet subcommand: ${sub}`);
|
|
@@ -1323,7 +1338,7 @@ async function handleSkillsCommand() {
|
|
|
1323
1338
|
await printSkillsHelp();
|
|
1324
1339
|
return;
|
|
1325
1340
|
}
|
|
1326
|
-
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-
|
|
1341
|
+
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-Bx2JkNft.mjs');
|
|
1327
1342
|
if (skillsSubcommand === "find" || skillsSubcommand === "search") {
|
|
1328
1343
|
const query = skillsArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
1329
1344
|
if (!query) {
|
|
@@ -1370,7 +1385,7 @@ async function loginToHypha() {
|
|
|
1370
1385
|
process.exit(1);
|
|
1371
1386
|
}
|
|
1372
1387
|
const anchor = anchorArg.replace(/\/+$/, "");
|
|
1373
|
-
const { loadInstanceConfig } = await import('./run-
|
|
1388
|
+
const { loadInstanceConfig } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.ar; });
|
|
1374
1389
|
let cfg = null;
|
|
1375
1390
|
try {
|
|
1376
1391
|
cfg = await loadInstanceConfig({ anchor, force: true });
|
|
@@ -1449,7 +1464,11 @@ Please open this URL in your browser:
|
|
|
1449
1464
|
while (envLines.length > 0 && envLines[envLines.length - 1].trim() === "") {
|
|
1450
1465
|
envLines.pop();
|
|
1451
1466
|
}
|
|
1452
|
-
fs.writeFileSync(envFile, envLines.join("\n") + "\n", "utf-8");
|
|
1467
|
+
fs.writeFileSync(envFile, envLines.join("\n") + "\n", { encoding: "utf-8", mode: 384 });
|
|
1468
|
+
try {
|
|
1469
|
+
fs.chmodSync(envFile, 384);
|
|
1470
|
+
} catch {
|
|
1471
|
+
}
|
|
1453
1472
|
console.log(`
|
|
1454
1473
|
Login successful!`);
|
|
1455
1474
|
console.log(` User: ${userId}`);
|
|
@@ -1481,7 +1500,7 @@ async function logoutFromHypha() {
|
|
|
1481
1500
|
} catch {
|
|
1482
1501
|
}
|
|
1483
1502
|
try {
|
|
1484
|
-
const { clearInstanceConfigCache } = await import('./run-
|
|
1503
|
+
const { clearInstanceConfigCache } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.ar; });
|
|
1485
1504
|
clearInstanceConfigCache();
|
|
1486
1505
|
} catch {
|
|
1487
1506
|
}
|
|
@@ -1499,7 +1518,11 @@ async function logoutFromHypha() {
|
|
|
1499
1518
|
kept.pop();
|
|
1500
1519
|
}
|
|
1501
1520
|
if (kept.length > 0) {
|
|
1502
|
-
fs.writeFileSync(envFile, kept.join("\n") + "\n", "utf-8");
|
|
1521
|
+
fs.writeFileSync(envFile, kept.join("\n") + "\n", { encoding: "utf-8", mode: 384 });
|
|
1522
|
+
try {
|
|
1523
|
+
fs.chmodSync(envFile, 384);
|
|
1524
|
+
} catch {
|
|
1525
|
+
}
|
|
1503
1526
|
} else {
|
|
1504
1527
|
fs.unlinkSync(envFile);
|
|
1505
1528
|
}
|
|
@@ -1726,7 +1749,7 @@ Commands:
|
|
|
1726
1749
|
svamp daemon --help Show all daemon commands
|
|
1727
1750
|
|
|
1728
1751
|
Session management (requires daemon running):
|
|
1729
|
-
svamp session spawn <agent> [opts] Spawn a new agent session (agents: claude, gemini, codex)
|
|
1752
|
+
svamp session spawn <agent> [opts] Spawn a new agent session (agents: claude, gemini, codex, kimi)
|
|
1730
1753
|
svamp session send <id> <message> Send message to a session (urgent by default \u2014 wakes the recipient; --when-idle to defer to their next idle turn)
|
|
1731
1754
|
svamp session query <dir> <prompt> Stateless one-shot: spawn \u2192 ask \u2192 answer \u2192 delete
|
|
1732
1755
|
svamp session wait <id> Wait for agent to become idle
|
|
@@ -1764,6 +1787,7 @@ Commands:
|
|
|
1764
1787
|
svamp skills --help Skills marketplace (find, install, publish)
|
|
1765
1788
|
svamp service --help Service exposure (HTTP services from sandboxes)
|
|
1766
1789
|
svamp outpost --help Connect a remote machine (FDE outpost): up, exec, list, install
|
|
1790
|
+
svamp wise --help WISE voice & meeting agent (ask, join-meeting, announce, meetings, voice)
|
|
1767
1791
|
svamp notify <email> \u2026 Send a cross-user notification (bell inbox); --title/--body/--action/--level
|
|
1768
1792
|
svamp events list|ack Read / dismiss your notification bell inbox
|
|
1769
1793
|
svamp admin \u2026 System-collection ops (create-system-collections, set-collection-config, migrate-collection-children)
|
|
@@ -1802,6 +1826,8 @@ Usage:
|
|
|
1802
1826
|
for the hypha-cloud cluster, or your own deployment's proxy.
|
|
1803
1827
|
svamp daemon auth use-login Use ~/.claude credentials (run "claude login" to set them)
|
|
1804
1828
|
svamp daemon auth set <URL> <KEY> Use a custom Anthropic gateway (base URL must not end in /v1)
|
|
1829
|
+
svamp daemon codex-auth --help Configure how Codex authenticates (status/set/use-openai/use-chatgpt/clear)
|
|
1830
|
+
svamp daemon kimi-auth --help Configure how Kimi Code authenticates (status/use-moonshot/use-coding/set/clear)
|
|
1805
1831
|
|
|
1806
1832
|
Claude auth flags (take effect on next start/restart):
|
|
1807
1833
|
svamp daemon start --use-hypha-proxy <URL> (or --hypha-proxy-url URL)
|
|
@@ -1827,7 +1853,7 @@ async function applyClaudeAuthFlags(argv) {
|
|
|
1827
1853
|
"--use-hypha-proxy, --use-claude-login, and --anthropic-base-url/--anthropic-api-key are mutually exclusive"
|
|
1828
1854
|
);
|
|
1829
1855
|
}
|
|
1830
|
-
const mod = await import('./run-
|
|
1856
|
+
const mod = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.as; });
|
|
1831
1857
|
if (hasHypha) {
|
|
1832
1858
|
let url;
|
|
1833
1859
|
const hyphaIdx = argv.indexOf("--use-hypha-proxy");
|
|
@@ -1881,7 +1907,7 @@ async function applyDaemonShareFlag(argv) {
|
|
|
1881
1907
|
}
|
|
1882
1908
|
}
|
|
1883
1909
|
if (collected.length === 0) return;
|
|
1884
|
-
const { updateEnvFile } = await import('./run-
|
|
1910
|
+
const { updateEnvFile } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.as; });
|
|
1885
1911
|
const seen = /* @__PURE__ */ new Set();
|
|
1886
1912
|
const deduped = collected.filter((e) => {
|
|
1887
1913
|
const k = e.toLowerCase();
|
|
@@ -1914,7 +1940,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1914
1940
|
}
|
|
1915
1941
|
});
|
|
1916
1942
|
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(" ");
|
|
1917
|
-
const { wiseAskCli } = await import('./commands-
|
|
1943
|
+
const { wiseAskCli } = await import('./commands-wQYdc5EK.mjs');
|
|
1918
1944
|
await wiseAskCli(machineId, message, sessionId, { json });
|
|
1919
1945
|
return;
|
|
1920
1946
|
}
|
|
@@ -1926,7 +1952,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1926
1952
|
}
|
|
1927
1953
|
return void 0;
|
|
1928
1954
|
};
|
|
1929
|
-
const { runWiseVoiceCli } = await import('./headlessCli-
|
|
1955
|
+
const { runWiseVoiceCli } = await import('./headlessCli-DpTQ00fL.mjs');
|
|
1930
1956
|
await runWiseVoiceCli({ voice: valueOf(["--voice"]), wakeKeywordPath: valueOf(["--wake"]), model: valueOf(["--model"]) });
|
|
1931
1957
|
return;
|
|
1932
1958
|
}
|
|
@@ -1944,7 +1970,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1944
1970
|
const mode = valueOf(["--mode"]);
|
|
1945
1971
|
const mission = valueOf(["--mission"]);
|
|
1946
1972
|
const url = rest.slice(1).find((a) => /^https?:\/\//.test(a)) || "";
|
|
1947
|
-
const { wiseJoinMeetingCli } = await import('./commands-
|
|
1973
|
+
const { wiseJoinMeetingCli } = await import('./commands-wQYdc5EK.mjs');
|
|
1948
1974
|
await wiseJoinMeetingCli(machineId, url, sessionId, { json, mode, mission });
|
|
1949
1975
|
return;
|
|
1950
1976
|
}
|
|
@@ -1956,7 +1982,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1956
1982
|
}
|
|
1957
1983
|
return void 0;
|
|
1958
1984
|
};
|
|
1959
|
-
const { wiseLeaveMeetingCli } = await import('./commands-
|
|
1985
|
+
const { wiseLeaveMeetingCli } = await import('./commands-wQYdc5EK.mjs');
|
|
1960
1986
|
await wiseLeaveMeetingCli(valueOf(["--machine", "-m"]), valueOf(["--session", "-s"]), { json: rest.includes("--json") });
|
|
1961
1987
|
return;
|
|
1962
1988
|
}
|
|
@@ -1980,7 +2006,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1980
2006
|
}
|
|
1981
2007
|
});
|
|
1982
2008
|
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(" ");
|
|
1983
|
-
const { wiseAnnounceCli } = await import('./commands-
|
|
2009
|
+
const { wiseAnnounceCli } = await import('./commands-wQYdc5EK.mjs');
|
|
1984
2010
|
await wiseAnnounceCli(machineId, text, sessionId, { json });
|
|
1985
2011
|
return;
|
|
1986
2012
|
}
|
|
@@ -1992,13 +2018,15 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1992
2018
|
}
|
|
1993
2019
|
return void 0;
|
|
1994
2020
|
};
|
|
1995
|
-
const { wiseMeetingsCli } = await import('./commands-
|
|
2021
|
+
const { wiseMeetingsCli } = await import('./commands-wQYdc5EK.mjs');
|
|
1996
2022
|
await wiseMeetingsCli(valueOf(["--machine", "-m"]), { json: rest.includes("--json") });
|
|
1997
2023
|
return;
|
|
1998
2024
|
}
|
|
1999
2025
|
if (sub === "--help" || sub === "-h") {
|
|
2000
2026
|
console.log(`Usage:
|
|
2001
2027
|
svamp wise ask "<message>" [--session <id>] [-m <machine>] [--json]
|
|
2028
|
+
Fast WISE turn \u2014 GLOBAL machine-manager by default (daemon status, run
|
|
2029
|
+
commands, inspect/spawn/drive any session); --session <id> scopes to one.
|
|
2002
2030
|
svamp wise join-meeting <zoom|meet|teams url> [--session <id>|--global] [--mode listen|text|voice] [--mission "<prompt>"] [-m <machine>]
|
|
2003
2031
|
--mode listen=silent (transcribe only), text=reply in meeting chat, voice=speak aloud (default).
|
|
2004
2032
|
--mission optional focus prompt for the agent; omit for a general meeting mission.
|
|
@@ -2007,8 +2035,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
2007
2035
|
Post a chat message into the live meeting (defaults --session to
|
|
2008
2036
|
$SVAMP_SESSION_ID, so the deep agent can announce when work is done).
|
|
2009
2037
|
svamp wise meetings [-m <machine>]
|
|
2010
|
-
|
|
2011
|
-
commands, inspect/spawn/drive any session); --session <id> scopes to one.
|
|
2038
|
+
List the meeting agents currently active on the machine.
|
|
2012
2039
|
|
|
2013
2040
|
svamp wise voice [--voice <name>] [--wake <keyword.ppn>] [--model <id>]
|
|
2014
2041
|
HEADLESS voice on this machine (mic + speaker, no browser). Needs \`sox\`.
|
|
@@ -2042,7 +2069,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
2042
2069
|
return;
|
|
2043
2070
|
}
|
|
2044
2071
|
const authArgs = rest.slice(1);
|
|
2045
|
-
const mod = await import('./auth-
|
|
2072
|
+
const mod = await import('./auth-B2XK13r-.mjs');
|
|
2046
2073
|
let action;
|
|
2047
2074
|
try {
|
|
2048
2075
|
action = mod.parseWiseAgentAuthArgs(authArgs);
|
|
@@ -2052,7 +2079,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
2052
2079
|
return;
|
|
2053
2080
|
}
|
|
2054
2081
|
if (action) {
|
|
2055
|
-
const { updateEnvFile } = await import('./run-
|
|
2082
|
+
const { updateEnvFile } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.as; });
|
|
2056
2083
|
const updates = mod.buildWiseAgentEnvUpdates(action);
|
|
2057
2084
|
updateEnvFile(updates);
|
|
2058
2085
|
for (const [k, v] of Object.entries(updates)) {
|
|
@@ -2066,7 +2093,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
2066
2093
|
}
|
|
2067
2094
|
async function handleDaemonAuthCommand(argv) {
|
|
2068
2095
|
const sub = (argv[0] || "status").toLowerCase();
|
|
2069
|
-
const mod = await import('./run-
|
|
2096
|
+
const mod = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.as; });
|
|
2070
2097
|
if (sub === "--help" || sub === "-h" || sub === "help") {
|
|
2071
2098
|
console.log(`
|
|
2072
2099
|
svamp daemon auth \u2014 Configure how Claude subprocesses authenticate
|
|
@@ -2140,8 +2167,8 @@ one step: --use-hypha-proxy / --use-claude-login / --anthropic-base-url URL --an
|
|
|
2140
2167
|
}
|
|
2141
2168
|
async function handleDaemonCodexAuthCommand(argv) {
|
|
2142
2169
|
const sub = (argv[0] || "status").toLowerCase();
|
|
2143
|
-
const { updateEnvFile } = await import('./run-
|
|
2144
|
-
const { resolveCodexProvider } = await import('./run-
|
|
2170
|
+
const { updateEnvFile } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.as; });
|
|
2171
|
+
const { resolveCodexProvider } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.at; });
|
|
2145
2172
|
const redact = (k) => k && k.length > 10 ? `${k.slice(0, 6)}\u2026${k.slice(-4)}` : k ? "***" : "(unset)";
|
|
2146
2173
|
if (sub === "--help" || sub === "-h" || sub === "help") {
|
|
2147
2174
|
console.log(`
|
|
@@ -2227,8 +2254,8 @@ The generic LLM_API_BASE / LLM_API_KEY / LLM_MODEL env vars are also honored if
|
|
|
2227
2254
|
}
|
|
2228
2255
|
async function handleDaemonKimiAuthCommand(argv) {
|
|
2229
2256
|
const sub = (argv[0] || "status").toLowerCase();
|
|
2230
|
-
const { updateEnvFile } = await import('./run-
|
|
2231
|
-
const { resolveKimiProvider, buildKimiCatalogAddArgs, DEFAULT_KIMI_PROVIDER } = await import('./run-
|
|
2257
|
+
const { updateEnvFile } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.as; });
|
|
2258
|
+
const { resolveKimiProvider, buildKimiCatalogAddArgs, DEFAULT_KIMI_PROVIDER } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.aB; });
|
|
2232
2259
|
const redact = (k) => k && k.length > 10 ? `${k.slice(0, 6)}\u2026${k.slice(-4)}` : k ? "***" : "(unset)";
|
|
2233
2260
|
const PRESETS = {
|
|
2234
2261
|
"use-moonshot": { provider: "moonshotai", base: "https://api.moonshot.ai/v1", label: "Moonshot AI (moonshotai)" },
|
|
@@ -2361,6 +2388,7 @@ AGENTS:
|
|
|
2361
2388
|
claude Claude Code \u2014 full coding agent (default)
|
|
2362
2389
|
gemini Google Gemini via ACP protocol
|
|
2363
2390
|
codex OpenAI Codex via app-server (streaming, resume, custom providers)
|
|
2391
|
+
kimi MoonshotAI Kimi Code via ACP (auth: svamp daemon kimi-auth)
|
|
2364
2392
|
|
|
2365
2393
|
Usage: svamp session spawn <agent> [options]
|
|
2366
2394
|
The <agent> argument is required. Use "claude" if unsure.
|
|
@@ -2382,7 +2410,8 @@ COMMANDS:
|
|
|
2382
2410
|
same-user sessions on other machines, and how to reach them (alias: env)
|
|
2383
2411
|
|
|
2384
2412
|
Communicate:
|
|
2385
|
-
send <id> <message> [--
|
|
2413
|
+
send <id> <message> [--model <id>] [--plain] [--subject "..."] [--when-idle] [--wait] [--response] [--btw]
|
|
2414
|
+
[--require-approval] [--as-issue [--issue-title "..."]] [--timeout N] [--json] [--urgency urgent|normal]
|
|
2386
2415
|
Send a message to a running session.
|
|
2387
2416
|
By default this is URGENT: it wakes the recipient so they
|
|
2388
2417
|
handle it promptly. Pass --when-idle to defer instead \u2014
|
|
@@ -2567,10 +2596,11 @@ Usage:
|
|
|
2567
2596
|
svamp machine share --remove <email> Remove shared user
|
|
2568
2597
|
svamp machine share --config <path> Apply security context config
|
|
2569
2598
|
svamp machine share --show-config Show current security context config
|
|
2570
|
-
svamp machine notify <message> [--level ...]
|
|
2599
|
+
svamp machine notify <message> [--level ...] Notify THIS machine's sessions (local-only, no -m/--all)
|
|
2571
2600
|
|
|
2572
2601
|
Options:
|
|
2573
|
-
--machine <id>, -m <id> Target a specific machine (prefix match supported)
|
|
2602
|
+
--machine <id>, -m <id> Target a specific machine (prefix match supported).
|
|
2603
|
+
Applies to info/exec/ls \u2014 NOT to notify, which is local-only.
|
|
2574
2604
|
--cwd <path> Working directory for exec (default: home dir)
|
|
2575
2605
|
--hidden, -a Show hidden files in ls
|
|
2576
2606
|
|
|
@@ -2588,7 +2618,7 @@ Examples:
|
|
|
2588
2618
|
async function printSkillsHelp() {
|
|
2589
2619
|
let browseUrl = "<HYPHA_SERVER_URL>/<workspace>/artifacts/marketplace (set HYPHA_SERVER_URL)";
|
|
2590
2620
|
try {
|
|
2591
|
-
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-
|
|
2621
|
+
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-RA4Vr6lj.mjs').then(function (n) { return n.aD; });
|
|
2592
2622
|
browseUrl = `${getArtifactBaseUrl()}/${getSkillsCollectionName()}`;
|
|
2593
2623
|
} catch {
|
|
2594
2624
|
}
|