svamp-cli 0.2.340 → 0.2.342
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/dist/{adminCommands-K1oo5Zxr.mjs → adminCommands-CRTBDZan.mjs} +1 -1
- package/dist/{agentCommands-ChVM6K3a.mjs → agentCommands-BuO988tJ.mjs} +5 -5
- package/dist/{auth-D3lxMSjT.mjs → auth--WS0wezs.mjs} +1 -1
- package/dist/{cli-DS4Xb1_k.mjs → cli-B24CmIli.mjs} +137 -83
- package/dist/cli.mjs +2 -2
- package/dist/{commands-CQ37lyCn.mjs → commands-BKb1g8Gq.mjs} +2 -2
- package/dist/{commands-CENM3waA.mjs → commands-BsKgZ5sQ.mjs} +1 -1
- package/dist/{commands-CTusBMbx.mjs → commands-C0HQiu-S.mjs} +3 -3
- package/dist/{commands-oblvzodh.mjs → commands-Cwxy-C5N.mjs} +11 -11
- package/dist/{commands-Daivh0OQ.mjs → commands-DDuGBSsz.mjs} +12 -17
- package/dist/{commands-i4sJJo_T.mjs → commands-DU4B-4Gh.mjs} +3 -3
- package/dist/{commands-CIfNXKBb.mjs → commands-DXLOKJOj.mjs} +3 -3
- package/dist/{commands-B--vQWTy.mjs → commands-DXM17M6n.mjs} +3 -3
- package/dist/{fleet-C4R6E2Hp.mjs → fleet-BHzlAvnu.mjs} +1 -1
- package/dist/{headlessCli-CTp95z2R.mjs → headlessCli-C2gvOpOt.mjs} +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{notifyCommands-CYQ80UQK.mjs → notifyCommands-0aZUwKQK.mjs} +1 -1
- package/dist/{package-4ZZ-NyHo.mjs → package-CTbGYaJG.mjs} +3 -3
- package/dist/{rpc-Hzx79dRT.mjs → rpc-B2Lc2BAB.mjs} +4 -4
- package/dist/{rpc-C_4D0N6G.mjs → rpc-rAQQ1q8t.mjs} +1 -1
- package/dist/{run-DQnBdAxD.mjs → run-C7QVfyw4.mjs} +1 -1
- package/dist/{run-zvn6DVUS.mjs → run-CF4kAVPW.mjs} +15402 -15007
- package/dist/{scheduler-BiHJvgws.mjs → scheduler-CzF4lOe_.mjs} +1 -1
- package/dist/{serveCommands-CQMkfTEw.mjs → serveCommands-EIEqdaVu.mjs} +31 -16
- package/dist/{sideband-BskNkJLx.mjs → sideband-BoutiRJi.mjs} +1 -1
- package/package.json +4 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ai as clearStopMarker, aj as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-CF4kAVPW.mjs';
|
|
2
2
|
import { ensureSupervisorViaServiceManager, LAUNCHD_LABEL } from './serviceManager-hlOVxkhW.mjs';
|
|
3
3
|
|
|
4
4
|
function flushAndExit(code) {
|
|
@@ -37,7 +37,7 @@ const subcommand = args[0];
|
|
|
37
37
|
let daemonSubcommand = args[1];
|
|
38
38
|
async function main() {
|
|
39
39
|
try {
|
|
40
|
-
const { getLoadedConfig } = await import('./run-
|
|
40
|
+
const { getLoadedConfig } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.ar; });
|
|
41
41
|
getLoadedConfig();
|
|
42
42
|
} catch {
|
|
43
43
|
}
|
|
@@ -56,7 +56,7 @@ async function main() {
|
|
|
56
56
|
}
|
|
57
57
|
const whenIdle = args.includes("--when-idle");
|
|
58
58
|
const force = args.includes("--force");
|
|
59
|
-
const mod = await import('./run-
|
|
59
|
+
const mod = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aI; });
|
|
60
60
|
if (whenIdle && !force) {
|
|
61
61
|
if (mod.isDaemonAlive()) {
|
|
62
62
|
mod.writePendingRestart({ reason: "svamp daemon restart --when-idle" });
|
|
@@ -100,8 +100,27 @@ async function main() {
|
|
|
100
100
|
} catch {
|
|
101
101
|
}
|
|
102
102
|
if (supervisorAlive) {
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
const { readBootStatus: readBootStatus2, describeSupervisorState } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aF; });
|
|
104
|
+
const bootStatus = readBootStatus2(svampHome);
|
|
105
|
+
let daemonState = null;
|
|
106
|
+
try {
|
|
107
|
+
daemonState = JSON.parse(readFileSync(join(svampHome, "daemon.state.json"), "utf-8"));
|
|
108
|
+
} catch {
|
|
109
|
+
}
|
|
110
|
+
const verdict = describeSupervisorState({ bootStatus, daemonState, now: Date.now() });
|
|
111
|
+
if (verdict.kind === "healthy") {
|
|
112
|
+
console.log("Daemon already running");
|
|
113
|
+
process.exit(0);
|
|
114
|
+
}
|
|
115
|
+
console.error("Daemon supervisor is running but the daemon is NOT healthy:");
|
|
116
|
+
console.error(` ${verdict.message}`);
|
|
117
|
+
console.error(` ${verdict.hint}`);
|
|
118
|
+
process.exit(1);
|
|
119
|
+
}
|
|
120
|
+
try {
|
|
121
|
+
const { clearBootStatus } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aF; });
|
|
122
|
+
clearBootStatus(svampHome);
|
|
123
|
+
} catch {
|
|
105
124
|
}
|
|
106
125
|
const startedViaService = await ensureSupervisorViaServiceManager();
|
|
107
126
|
const bootLogPath = join(logsDir, "daemon-boot.log");
|
|
@@ -134,7 +153,10 @@ async function main() {
|
|
|
134
153
|
beforeMtimeMs = statSync(stateFile).mtimeMs;
|
|
135
154
|
} catch {
|
|
136
155
|
}
|
|
156
|
+
const { readBootStatus } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aF; });
|
|
157
|
+
const beforeBootAt = readBootStatus(svampHome)?.at ?? 0;
|
|
137
158
|
let started = false;
|
|
159
|
+
let bootFailure = null;
|
|
138
160
|
for (let i = 0; i < 600; i++) {
|
|
139
161
|
await new Promise((r) => setTimeout(r, 100));
|
|
140
162
|
try {
|
|
@@ -145,9 +167,18 @@ async function main() {
|
|
|
145
167
|
}
|
|
146
168
|
} catch {
|
|
147
169
|
}
|
|
170
|
+
const bs = readBootStatus(svampHome);
|
|
171
|
+
if (bs && bs.ok === false && bs.at > beforeBootAt) {
|
|
172
|
+
bootFailure = { message: bs.message || "The daemon failed to connect to Hypha.", hint: bs.hint || "" };
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
148
175
|
}
|
|
149
176
|
if (started) {
|
|
150
177
|
console.log("Daemon started successfully");
|
|
178
|
+
} else if (bootFailure) {
|
|
179
|
+
console.error(`Failed to start daemon: ${bootFailure.message}`);
|
|
180
|
+
if (bootFailure.hint) console.error(` ${bootFailure.hint}`);
|
|
181
|
+
process.exit(1);
|
|
151
182
|
} else {
|
|
152
183
|
let bootHint = "";
|
|
153
184
|
try {
|
|
@@ -183,7 +214,7 @@ async function main() {
|
|
|
183
214
|
releaseSupervisorLock,
|
|
184
215
|
findOrphanedSyncPids,
|
|
185
216
|
killOrphanedSyncs
|
|
186
|
-
} = await import('./run-
|
|
217
|
+
} = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aH; });
|
|
187
218
|
const supervisorPidFile = pathJoin(svampHome, "supervisor.pid");
|
|
188
219
|
const lock = acquireSupervisorLockWithRetry(supervisorPidFile, process.pid);
|
|
189
220
|
if (!lock.acquired) {
|
|
@@ -363,7 +394,7 @@ async function main() {
|
|
|
363
394
|
console.error("svamp service: Service commands are not available in sandboxed sessions.");
|
|
364
395
|
process.exit(1);
|
|
365
396
|
}
|
|
366
|
-
const { handleServiceCommand } = await import('./commands-
|
|
397
|
+
const { handleServiceCommand } = await import('./commands-Cwxy-C5N.mjs');
|
|
367
398
|
await handleServiceCommand();
|
|
368
399
|
} else if (subcommand === "serve") {
|
|
369
400
|
const { isSandboxed: isSandboxedServe } = await import('./sandboxDetect-DNTcbgWD.mjs');
|
|
@@ -371,7 +402,7 @@ async function main() {
|
|
|
371
402
|
console.error("svamp serve: Serve commands are not available in sandboxed sessions.");
|
|
372
403
|
process.exit(1);
|
|
373
404
|
}
|
|
374
|
-
const { handleServeCommand } = await import('./serveCommands-
|
|
405
|
+
const { handleServeCommand } = await import('./serveCommands-EIEqdaVu.mjs');
|
|
375
406
|
await handleServeCommand();
|
|
376
407
|
process.exit(0);
|
|
377
408
|
} else if (subcommand === "process" || subcommand === "proc") {
|
|
@@ -380,7 +411,7 @@ async function main() {
|
|
|
380
411
|
console.error("svamp process: Process commands are not available in sandboxed sessions.");
|
|
381
412
|
process.exit(1);
|
|
382
413
|
}
|
|
383
|
-
const { processCommand } = await import('./commands-
|
|
414
|
+
const { processCommand } = await import('./commands-DU4B-4Gh.mjs');
|
|
384
415
|
let machineId;
|
|
385
416
|
const processArgs = args.slice(1);
|
|
386
417
|
const mIdx = processArgs.findIndex((a) => a === "--machine" || a === "-m");
|
|
@@ -394,26 +425,26 @@ async function main() {
|
|
|
394
425
|
}), machineId);
|
|
395
426
|
process.exit(0);
|
|
396
427
|
} else if (subcommand === "outpost") {
|
|
397
|
-
const { outpostCommand } = await import('./commands-
|
|
428
|
+
const { outpostCommand } = await import('./commands-DXM17M6n.mjs');
|
|
398
429
|
await outpostCommand(args.slice(1));
|
|
399
430
|
process.exit(0);
|
|
400
431
|
} else if (subcommand === "issue" || subcommand === "issues") {
|
|
401
|
-
const { issueCommand } = await import('./commands-
|
|
432
|
+
const { issueCommand } = await import('./commands-DXLOKJOj.mjs');
|
|
402
433
|
await issueCommand(args.slice(1));
|
|
403
434
|
await flushAndExit(0);
|
|
404
435
|
} else if (subcommand === "workflow" || subcommand === "workflows") {
|
|
405
|
-
const { workflowCommand } = await import('./commands-
|
|
436
|
+
const { workflowCommand } = await import('./commands-BKb1g8Gq.mjs');
|
|
406
437
|
await workflowCommand(args.slice(1));
|
|
407
438
|
await flushAndExit(0);
|
|
408
439
|
} else if (subcommand === "wise-agent" || subcommand === "wise") {
|
|
409
440
|
await handleWiseAgentCommand(args.slice(1));
|
|
410
441
|
process.exit(0);
|
|
411
442
|
} else if (subcommand === "feature" || subcommand === "crew") {
|
|
412
|
-
const { crewCommand } = await import('./commands-
|
|
443
|
+
const { crewCommand } = await import('./commands-C0HQiu-S.mjs');
|
|
413
444
|
await crewCommand(args.slice(1));
|
|
414
445
|
process.exit(0);
|
|
415
446
|
} else if (subcommand === "notify") {
|
|
416
|
-
const { notifyUser } = await import('./notifyCommands-
|
|
447
|
+
const { notifyUser } = await import('./notifyCommands-0aZUwKQK.mjs');
|
|
417
448
|
const rest = args.slice(1);
|
|
418
449
|
let email;
|
|
419
450
|
const o = {};
|
|
@@ -430,7 +461,7 @@ async function main() {
|
|
|
430
461
|
} else if (subcommand === "admin") {
|
|
431
462
|
const adminSub = args[1];
|
|
432
463
|
if (adminSub === "set-collection-config") {
|
|
433
|
-
const { setCollectionConfig } = await import('./adminCommands-
|
|
464
|
+
const { setCollectionConfig } = await import('./adminCommands-CRTBDZan.mjs');
|
|
434
465
|
const rest = args.slice(2);
|
|
435
466
|
let alias;
|
|
436
467
|
let configJson;
|
|
@@ -440,10 +471,10 @@ async function main() {
|
|
|
440
471
|
}
|
|
441
472
|
await setCollectionConfig(alias, configJson);
|
|
442
473
|
} else if (adminSub === "create-system-collections") {
|
|
443
|
-
const { createSystemCollections } = await import('./adminCommands-
|
|
474
|
+
const { createSystemCollections } = await import('./adminCommands-CRTBDZan.mjs');
|
|
444
475
|
await createSystemCollections();
|
|
445
476
|
} else if (adminSub === "migrate-collection-children") {
|
|
446
|
-
const { migrateCollectionChildren } = await import('./adminCommands-
|
|
477
|
+
const { migrateCollectionChildren } = await import('./adminCommands-CRTBDZan.mjs');
|
|
447
478
|
const rest = args.slice(2).filter((a) => !a.startsWith("-"));
|
|
448
479
|
await migrateCollectionChildren(rest[0], rest[1]);
|
|
449
480
|
} else {
|
|
@@ -451,7 +482,7 @@ async function main() {
|
|
|
451
482
|
}
|
|
452
483
|
process.exit(0);
|
|
453
484
|
} else if (subcommand === "events") {
|
|
454
|
-
const { listEvents, ackEvent } = await import('./notifyCommands-
|
|
485
|
+
const { listEvents, ackEvent } = await import('./notifyCommands-0aZUwKQK.mjs');
|
|
455
486
|
const sub = args[1];
|
|
456
487
|
const rest = args.slice(2);
|
|
457
488
|
let email;
|
|
@@ -472,7 +503,7 @@ async function main() {
|
|
|
472
503
|
} else if (!subcommand || subcommand === "start") {
|
|
473
504
|
await handleInteractiveCommand();
|
|
474
505
|
} else if (subcommand === "--version" || subcommand === "-v") {
|
|
475
|
-
const pkg = await import('./package-
|
|
506
|
+
const pkg = await import('./package-CTbGYaJG.mjs').catch(() => ({ default: { version: "unknown" } }));
|
|
476
507
|
console.log(`svamp version: ${pkg.default.version}`);
|
|
477
508
|
} else {
|
|
478
509
|
console.error(`Unknown command: ${subcommand}`);
|
|
@@ -481,7 +512,7 @@ async function main() {
|
|
|
481
512
|
}
|
|
482
513
|
}
|
|
483
514
|
async function handleInteractiveCommand() {
|
|
484
|
-
const { runInteractive } = await import('./run-
|
|
515
|
+
const { runInteractive } = await import('./run-C7QVfyw4.mjs');
|
|
485
516
|
const interactiveArgs = subcommand === "start" ? args.slice(1) : args;
|
|
486
517
|
let directory = process.cwd();
|
|
487
518
|
let resumeSessionId;
|
|
@@ -526,7 +557,7 @@ async function handleAgentCommand() {
|
|
|
526
557
|
return;
|
|
527
558
|
}
|
|
528
559
|
if (agentArgs[0] === "list") {
|
|
529
|
-
const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-
|
|
560
|
+
const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.az; });
|
|
530
561
|
console.log("Known agents:");
|
|
531
562
|
for (const [name, config2] of Object.entries(KNOWN_ACP_AGENTS)) {
|
|
532
563
|
console.log(` ${name.padEnd(12)} ${config2.command} ${config2.args.join(" ")} (ACP)`);
|
|
@@ -538,7 +569,7 @@ async function handleAgentCommand() {
|
|
|
538
569
|
console.log('Use "svamp agent -- <command> [args]" for a custom ACP agent.');
|
|
539
570
|
return;
|
|
540
571
|
}
|
|
541
|
-
const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-
|
|
572
|
+
const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.az; });
|
|
542
573
|
let cwd = process.cwd();
|
|
543
574
|
const filteredArgs = [];
|
|
544
575
|
for (let i = 0; i < agentArgs.length; i++) {
|
|
@@ -562,18 +593,18 @@ async function handleAgentCommand() {
|
|
|
562
593
|
console.log(`Starting ${config.agentName} agent in ${cwd}...`);
|
|
563
594
|
let backend;
|
|
564
595
|
if (KNOWN_CODEX_AGENTS[config.agentName]) {
|
|
565
|
-
const { CodexAppServerBackend } = await import('./run-
|
|
596
|
+
const { CodexAppServerBackend } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aA; });
|
|
566
597
|
backend = new CodexAppServerBackend({ cwd, log: logFn });
|
|
567
598
|
} else {
|
|
568
|
-
const { AcpBackend } = await import('./run-
|
|
569
|
-
const { GeminiTransport } = await import('./run-
|
|
570
|
-
const { KimiTransport } = await import('./run-
|
|
571
|
-
const { DefaultTransport } = await import('./run-
|
|
599
|
+
const { AcpBackend } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.ay; });
|
|
600
|
+
const { GeminiTransport } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aB; });
|
|
601
|
+
const { KimiTransport } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aC; });
|
|
602
|
+
const { DefaultTransport } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.ax; });
|
|
572
603
|
const transportHandler = config.agentName === "gemini" ? new GeminiTransport() : config.agentName === "kimi" ? new KimiTransport() : new DefaultTransport(config.agentName);
|
|
573
604
|
let acpEnv;
|
|
574
605
|
if (config.agentName === "kimi") {
|
|
575
|
-
const { ensureKimiProviderConfigured } = await import('./run-
|
|
576
|
-
const { kimiSpawnEnv } = await import('./run-
|
|
606
|
+
const { ensureKimiProviderConfigured } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aE; });
|
|
607
|
+
const { kimiSpawnEnv } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aD; });
|
|
577
608
|
await ensureKimiProviderConfigured(process.env, config.command, logFn);
|
|
578
609
|
acpEnv = kimiSpawnEnv(process.env);
|
|
579
610
|
}
|
|
@@ -703,7 +734,7 @@ async function handleSessionCommand() {
|
|
|
703
734
|
process.exit(1);
|
|
704
735
|
}
|
|
705
736
|
}
|
|
706
|
-
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-
|
|
737
|
+
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-DDuGBSsz.mjs');
|
|
707
738
|
const parseFlagStr = (flag, shortFlag) => {
|
|
708
739
|
for (let i = 1; i < sessionArgs.length; i++) {
|
|
709
740
|
if ((sessionArgs[i] === flag || shortFlag) && i + 1 < sessionArgs.length) {
|
|
@@ -777,7 +808,7 @@ async function handleSessionCommand() {
|
|
|
777
808
|
console.warn(" --allow-write / a securityContext allowedDirectories, or keep the");
|
|
778
809
|
console.warn(" sensitive path outside the workspace.");
|
|
779
810
|
}
|
|
780
|
-
const { parseShareArg } = await import('./commands-
|
|
811
|
+
const { parseShareArg } = await import('./commands-DDuGBSsz.mjs');
|
|
781
812
|
const shareEntries = share.map((s) => parseShareArg(s));
|
|
782
813
|
await sessionSpawn(agent, dir, targetMachineId, {
|
|
783
814
|
message,
|
|
@@ -868,7 +899,7 @@ async function handleSessionCommand() {
|
|
|
868
899
|
console.error(" Rewinds history: rewrites the message + drops everything after it, then restarts Claude.");
|
|
869
900
|
process.exit(1);
|
|
870
901
|
}
|
|
871
|
-
const { sessionEditMessage } = await import('./commands-
|
|
902
|
+
const { sessionEditMessage } = await import('./commands-DDuGBSsz.mjs');
|
|
872
903
|
await sessionEditMessage(sessionArgs[1], sessionArgs[2], sessionArgs[3], targetMachineId);
|
|
873
904
|
} else if (sessionSubcommand === "refine") {
|
|
874
905
|
if (!sessionArgs[1] || !sessionArgs[2]) {
|
|
@@ -876,7 +907,7 @@ async function handleSessionCommand() {
|
|
|
876
907
|
console.error(" Asks the agent to revise its latest reply in place (no extra round).");
|
|
877
908
|
process.exit(1);
|
|
878
909
|
}
|
|
879
|
-
const { sessionRefineLastReply } = await import('./commands-
|
|
910
|
+
const { sessionRefineLastReply } = await import('./commands-DDuGBSsz.mjs');
|
|
880
911
|
await sessionRefineLastReply(sessionArgs[1], sessionArgs[2], targetMachineId);
|
|
881
912
|
} else if (sessionSubcommand === "undo-edit" || sessionSubcommand === "undo") {
|
|
882
913
|
if (!sessionArgs[1]) {
|
|
@@ -884,7 +915,7 @@ async function handleSessionCommand() {
|
|
|
884
915
|
console.error(" Reverts the most recent edit/refine, restoring the pre-edit history.");
|
|
885
916
|
process.exit(1);
|
|
886
917
|
}
|
|
887
|
-
const { sessionUndoEdit } = await import('./commands-
|
|
918
|
+
const { sessionUndoEdit } = await import('./commands-DDuGBSsz.mjs');
|
|
888
919
|
await sessionUndoEdit(sessionArgs[1], targetMachineId);
|
|
889
920
|
} else if (sessionSubcommand === "query") {
|
|
890
921
|
const dir = sessionArgs[1];
|
|
@@ -894,7 +925,7 @@ async function handleSessionCommand() {
|
|
|
894
925
|
console.error(" Spawns a stateless Claude session in <directory>, sends <prompt>, prints the answer, then deletes the session.");
|
|
895
926
|
process.exit(1);
|
|
896
927
|
}
|
|
897
|
-
const { sessionQuery } = await import('./commands-
|
|
928
|
+
const { sessionQuery } = await import('./commands-DDuGBSsz.mjs');
|
|
898
929
|
await sessionQuery(dir, prompt, targetMachineId, {
|
|
899
930
|
timeout: parseFlagInt("--timeout"),
|
|
900
931
|
json: hasFlag("--json"),
|
|
@@ -927,7 +958,7 @@ async function handleSessionCommand() {
|
|
|
927
958
|
console.error("Usage: svamp session approve <session-id> [request-id] [--json]");
|
|
928
959
|
process.exit(1);
|
|
929
960
|
}
|
|
930
|
-
const { sessionApprove } = await import('./commands-
|
|
961
|
+
const { sessionApprove } = await import('./commands-DDuGBSsz.mjs');
|
|
931
962
|
const approveReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
932
963
|
await sessionApprove(sessionArgs[1], approveReqId, targetMachineId, {
|
|
933
964
|
json: hasFlag("--json")
|
|
@@ -937,7 +968,7 @@ async function handleSessionCommand() {
|
|
|
937
968
|
console.error("Usage: svamp session deny <session-id> [request-id] [--json]");
|
|
938
969
|
process.exit(1);
|
|
939
970
|
}
|
|
940
|
-
const { sessionDeny } = await import('./commands-
|
|
971
|
+
const { sessionDeny } = await import('./commands-DDuGBSsz.mjs');
|
|
941
972
|
const denyReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
942
973
|
await sessionDeny(sessionArgs[1], denyReqId, targetMachineId, {
|
|
943
974
|
json: hasFlag("--json")
|
|
@@ -989,7 +1020,7 @@ async function handleSessionCommand() {
|
|
|
989
1020
|
console.error("Usage: svamp session set-title <title>");
|
|
990
1021
|
process.exit(1);
|
|
991
1022
|
}
|
|
992
|
-
const { sessionSetTitle } = await import('./agentCommands-
|
|
1023
|
+
const { sessionSetTitle } = await import('./agentCommands-BuO988tJ.mjs');
|
|
993
1024
|
await sessionSetTitle(title);
|
|
994
1025
|
} else if (sessionSubcommand === "set-project-description" || sessionSubcommand === "set-project") {
|
|
995
1026
|
const desc = sessionArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
@@ -997,7 +1028,7 @@ async function handleSessionCommand() {
|
|
|
997
1028
|
console.error("Usage: svamp session set-project-description <text>");
|
|
998
1029
|
process.exit(1);
|
|
999
1030
|
}
|
|
1000
|
-
const { sessionSetProjectDescription } = await import('./agentCommands-
|
|
1031
|
+
const { sessionSetProjectDescription } = await import('./agentCommands-BuO988tJ.mjs');
|
|
1001
1032
|
await sessionSetProjectDescription(desc);
|
|
1002
1033
|
} else if (sessionSubcommand === "set-link") {
|
|
1003
1034
|
const url = sessionArgs[1];
|
|
@@ -1006,11 +1037,11 @@ async function handleSessionCommand() {
|
|
|
1006
1037
|
process.exit(1);
|
|
1007
1038
|
}
|
|
1008
1039
|
const label = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
1009
|
-
const { sessionSetLink } = await import('./agentCommands-
|
|
1040
|
+
const { sessionSetLink } = await import('./agentCommands-BuO988tJ.mjs');
|
|
1010
1041
|
await sessionSetLink(url, label);
|
|
1011
1042
|
} else if (sessionSubcommand === "link") {
|
|
1012
1043
|
const op = sessionArgs[1];
|
|
1013
|
-
const lm = await import('./agentCommands-
|
|
1044
|
+
const lm = await import('./agentCommands-BuO988tJ.mjs');
|
|
1014
1045
|
if (op === "add") {
|
|
1015
1046
|
const url = sessionArgs[2];
|
|
1016
1047
|
if (!url || url.startsWith("--")) {
|
|
@@ -1045,7 +1076,7 @@ async function handleSessionCommand() {
|
|
|
1045
1076
|
process.exit(1);
|
|
1046
1077
|
}
|
|
1047
1078
|
const level = parseFlagStr("--level") || "info";
|
|
1048
|
-
const { sessionNotify } = await import('./agentCommands-
|
|
1079
|
+
const { sessionNotify } = await import('./agentCommands-BuO988tJ.mjs');
|
|
1049
1080
|
await sessionNotify(message, level);
|
|
1050
1081
|
} else if (sessionSubcommand === "broadcast") {
|
|
1051
1082
|
const action = sessionArgs[1];
|
|
@@ -1053,7 +1084,7 @@ async function handleSessionCommand() {
|
|
|
1053
1084
|
console.error("Usage: svamp session broadcast <action> [args...]\nActions: open-canvas <url> [label], close-canvas, toast <message>");
|
|
1054
1085
|
process.exit(1);
|
|
1055
1086
|
}
|
|
1056
|
-
const { sessionBroadcast } = await import('./agentCommands-
|
|
1087
|
+
const { sessionBroadcast } = await import('./agentCommands-BuO988tJ.mjs');
|
|
1057
1088
|
await sessionBroadcast(action, sessionArgs.slice(2).filter((a) => !a.startsWith("--")));
|
|
1058
1089
|
} else if (sessionSubcommand === "inbox") {
|
|
1059
1090
|
const inboxSubcmd = sessionArgs[1];
|
|
@@ -1064,7 +1095,7 @@ async function handleSessionCommand() {
|
|
|
1064
1095
|
process.exit(1);
|
|
1065
1096
|
}
|
|
1066
1097
|
if (agentSessionId) {
|
|
1067
|
-
const { inboxSend } = await import('./agentCommands-
|
|
1098
|
+
const { inboxSend } = await import('./agentCommands-BuO988tJ.mjs');
|
|
1068
1099
|
await inboxSend(sessionArgs[2], {
|
|
1069
1100
|
body: sessionArgs[3],
|
|
1070
1101
|
subject: parseFlagStr("--subject"),
|
|
@@ -1081,7 +1112,7 @@ async function handleSessionCommand() {
|
|
|
1081
1112
|
}
|
|
1082
1113
|
} else if (inboxSubcmd === "list" || inboxSubcmd === "ls") {
|
|
1083
1114
|
if (agentSessionId && !sessionArgs[2]) {
|
|
1084
|
-
const { inboxList } = await import('./agentCommands-
|
|
1115
|
+
const { inboxList } = await import('./agentCommands-BuO988tJ.mjs');
|
|
1085
1116
|
await inboxList({
|
|
1086
1117
|
unread: hasFlag("--unread"),
|
|
1087
1118
|
limit: parseFlagInt("--limit"),
|
|
@@ -1103,7 +1134,7 @@ async function handleSessionCommand() {
|
|
|
1103
1134
|
process.exit(1);
|
|
1104
1135
|
}
|
|
1105
1136
|
if (agentSessionId && !sessionArgs[3]) {
|
|
1106
|
-
const { inboxList } = await import('./agentCommands-
|
|
1137
|
+
const { inboxList } = await import('./agentCommands-BuO988tJ.mjs');
|
|
1107
1138
|
await sessionInboxRead(agentSessionId, sessionArgs[2], targetMachineId);
|
|
1108
1139
|
} else if (sessionArgs[3]) {
|
|
1109
1140
|
await sessionInboxRead(sessionArgs[2], sessionArgs[3], targetMachineId);
|
|
@@ -1113,7 +1144,7 @@ async function handleSessionCommand() {
|
|
|
1113
1144
|
}
|
|
1114
1145
|
} else if (inboxSubcmd === "reply") {
|
|
1115
1146
|
if (agentSessionId && sessionArgs[2] && sessionArgs[3] && !sessionArgs[4]) {
|
|
1116
|
-
const { inboxReply } = await import('./agentCommands-
|
|
1147
|
+
const { inboxReply } = await import('./agentCommands-BuO988tJ.mjs');
|
|
1117
1148
|
await inboxReply(sessionArgs[2], sessionArgs[3]);
|
|
1118
1149
|
} else if (sessionArgs[2] && sessionArgs[3] && sessionArgs[4]) {
|
|
1119
1150
|
await sessionInboxReply(sessionArgs[2], sessionArgs[3], sessionArgs[4], targetMachineId);
|
|
@@ -1151,7 +1182,7 @@ async function handleMachineCommand() {
|
|
|
1151
1182
|
return;
|
|
1152
1183
|
}
|
|
1153
1184
|
if (machineSubcommand === "share") {
|
|
1154
|
-
const { machineShare } = await import('./commands-
|
|
1185
|
+
const { machineShare } = await import('./commands-DDuGBSsz.mjs');
|
|
1155
1186
|
let machineId;
|
|
1156
1187
|
const shareArgs = [];
|
|
1157
1188
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
@@ -1202,14 +1233,14 @@ async function handleMachineCommand() {
|
|
|
1202
1233
|
process.exit(1);
|
|
1203
1234
|
}
|
|
1204
1235
|
if (all) {
|
|
1205
|
-
const { fleetExec } = await import('./fleet-
|
|
1236
|
+
const { fleetExec } = await import('./fleet-BHzlAvnu.mjs');
|
|
1206
1237
|
await fleetExec(command, { cwd });
|
|
1207
1238
|
} else {
|
|
1208
|
-
const { machineExec } = await import('./commands-
|
|
1239
|
+
const { machineExec } = await import('./commands-DDuGBSsz.mjs');
|
|
1209
1240
|
await machineExec(machineId, command, cwd);
|
|
1210
1241
|
}
|
|
1211
1242
|
} else if (machineSubcommand === "info") {
|
|
1212
|
-
const { machineInfo } = await import('./commands-
|
|
1243
|
+
const { machineInfo } = await import('./commands-DDuGBSsz.mjs');
|
|
1213
1244
|
let machineId;
|
|
1214
1245
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
1215
1246
|
if ((machineArgs[i] === "--machine" || machineArgs[i] === "-m") && i + 1 < machineArgs.length) {
|
|
@@ -1238,10 +1269,10 @@ async function handleMachineCommand() {
|
|
|
1238
1269
|
console.error("Usage: svamp machine notify <message> [--level info|warning|error]");
|
|
1239
1270
|
process.exit(1);
|
|
1240
1271
|
}
|
|
1241
|
-
const { machineNotify } = await import('./agentCommands-
|
|
1272
|
+
const { machineNotify } = await import('./agentCommands-BuO988tJ.mjs');
|
|
1242
1273
|
await machineNotify(message, level);
|
|
1243
1274
|
} else if (machineSubcommand === "ls") {
|
|
1244
|
-
const { machineLs } = await import('./commands-
|
|
1275
|
+
const { machineLs } = await import('./commands-DDuGBSsz.mjs');
|
|
1245
1276
|
let machineId;
|
|
1246
1277
|
let showHidden = false;
|
|
1247
1278
|
let path;
|
|
@@ -1307,26 +1338,26 @@ Examples:
|
|
|
1307
1338
|
};
|
|
1308
1339
|
const hasFlag = (name) => fleetArgs.includes(`--${name}`);
|
|
1309
1340
|
if (sub === "status") {
|
|
1310
|
-
const { fleetStatus } = await import('./fleet-
|
|
1341
|
+
const { fleetStatus } = await import('./fleet-BHzlAvnu.mjs');
|
|
1311
1342
|
await fleetStatus();
|
|
1312
1343
|
} else if (sub === "upgrade-claude") {
|
|
1313
|
-
const { fleetUpgradeClaude } = await import('./fleet-
|
|
1344
|
+
const { fleetUpgradeClaude } = await import('./fleet-BHzlAvnu.mjs');
|
|
1314
1345
|
await fleetUpgradeClaude({ version: flag("version", "-v") });
|
|
1315
1346
|
} else if (sub === "upgrade-codex") {
|
|
1316
|
-
const { fleetUpgradeCodex } = await import('./fleet-
|
|
1347
|
+
const { fleetUpgradeCodex } = await import('./fleet-BHzlAvnu.mjs');
|
|
1317
1348
|
await fleetUpgradeCodex({ version: flag("version", "-v") });
|
|
1318
1349
|
} else if (sub === "upgrade-kimi") {
|
|
1319
|
-
const { fleetUpgradeKimi } = await import('./fleet-
|
|
1350
|
+
const { fleetUpgradeKimi } = await import('./fleet-BHzlAvnu.mjs');
|
|
1320
1351
|
await fleetUpgradeKimi({ version: flag("version", "-v") });
|
|
1321
1352
|
} else if (sub === "upgrade-svamp") {
|
|
1322
|
-
const { fleetUpgradeSvamp } = await import('./fleet-
|
|
1353
|
+
const { fleetUpgradeSvamp } = await import('./fleet-BHzlAvnu.mjs');
|
|
1323
1354
|
await fleetUpgradeSvamp({ version: flag("version", "-v"), excludeSelf: hasFlag("exclude-self"), force: hasFlag("force") });
|
|
1324
1355
|
} else if (sub === "daemon-restart") {
|
|
1325
|
-
const { fleetDaemonRestart } = await import('./fleet-
|
|
1356
|
+
const { fleetDaemonRestart } = await import('./fleet-BHzlAvnu.mjs');
|
|
1326
1357
|
await fleetDaemonRestart({ graceful: !hasFlag("cleanup") });
|
|
1327
1358
|
} else if (sub === "push-skill") {
|
|
1328
1359
|
const name = fleetArgs[1];
|
|
1329
|
-
const { fleetPushSkill } = await import('./fleet-
|
|
1360
|
+
const { fleetPushSkill } = await import('./fleet-BHzlAvnu.mjs');
|
|
1330
1361
|
await fleetPushSkill(name);
|
|
1331
1362
|
} else {
|
|
1332
1363
|
console.error(`Unknown fleet subcommand: ${sub}`);
|
|
@@ -1342,7 +1373,7 @@ async function handleSkillsCommand() {
|
|
|
1342
1373
|
await printSkillsHelp();
|
|
1343
1374
|
return;
|
|
1344
1375
|
}
|
|
1345
|
-
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-
|
|
1376
|
+
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-BsKgZ5sQ.mjs');
|
|
1346
1377
|
if (skillsSubcommand === "find" || skillsSubcommand === "search") {
|
|
1347
1378
|
const query = skillsArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
1348
1379
|
if (!query) {
|
|
@@ -1381,6 +1412,19 @@ async function handleSkillsCommand() {
|
|
|
1381
1412
|
process.exit(0);
|
|
1382
1413
|
}
|
|
1383
1414
|
async function loginToHypha() {
|
|
1415
|
+
if (wantsHelp(args.slice(1))) {
|
|
1416
|
+
console.log("Usage: svamp login <frontend-url> (e.g. https://svamp.aicell.io)");
|
|
1417
|
+
console.log("");
|
|
1418
|
+
console.log(" Authenticates this machine with Hypha and stores a long-lived token in");
|
|
1419
|
+
console.log(" ~/.svamp/.env. The frontend URL serves /svamp.json, which carries the Hypha");
|
|
1420
|
+
console.log(" server URL and routing config; a Hypha server URL also works (legacy mode).");
|
|
1421
|
+
console.log("");
|
|
1422
|
+
console.log(" A browser window opens to complete the login. Run `svamp daemon restart`");
|
|
1423
|
+
console.log(" afterwards so the running daemon picks up the new token.");
|
|
1424
|
+
console.log("");
|
|
1425
|
+
console.log(" Env: SVAMP_LOGIN_TIMEOUT seconds to wait for the browser step (default 120)");
|
|
1426
|
+
return;
|
|
1427
|
+
}
|
|
1384
1428
|
const anchorArg = args[1] || process.env.SVAMP_INSTANCE_URL || process.env.HYPHA_SERVER_URL;
|
|
1385
1429
|
if (!anchorArg) {
|
|
1386
1430
|
console.error("Usage: svamp login <frontend-url> (e.g. https://svamp.aicell.io)");
|
|
@@ -1389,7 +1433,7 @@ async function loginToHypha() {
|
|
|
1389
1433
|
process.exit(1);
|
|
1390
1434
|
}
|
|
1391
1435
|
const anchor = anchorArg.replace(/\/+$/, "");
|
|
1392
|
-
const { loadInstanceConfig } = await import('./run-
|
|
1436
|
+
const { loadInstanceConfig } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.ar; });
|
|
1393
1437
|
let cfg = null;
|
|
1394
1438
|
try {
|
|
1395
1439
|
cfg = await loadInstanceConfig({ anchor, force: true });
|
|
@@ -1413,7 +1457,15 @@ async function loginToHypha() {
|
|
|
1413
1457
|
}
|
|
1414
1458
|
const token = await hyphaWebsocketClient.login({
|
|
1415
1459
|
server_url: serverUrl,
|
|
1416
|
-
|
|
1460
|
+
// Overridable, but the DEFAULT stays 120s deliberately. Raising it looks like an
|
|
1461
|
+
// obvious kindness on this recovery path (a human has to switch to a browser and
|
|
1462
|
+
// complete an OAuth round-trip while the machine is offline), but the server keeps
|
|
1463
|
+
// its OWN login-key lifetime: waiting past it does not extend the window, it just
|
|
1464
|
+
// parks until the key is gone and then fails inside hypha's check_login with
|
|
1465
|
+
// "the JSON object must be str, bytes or bytearray, not NoneType" — strictly worse
|
|
1466
|
+
// than a clean client-side timeout. Verified against hypha.aicell.io on 2026-08-30.
|
|
1467
|
+
// Raise SVAMP_LOGIN_TIMEOUT only against a server known to hold keys longer.
|
|
1468
|
+
login_timeout: Number(process.env.SVAMP_LOGIN_TIMEOUT) || 120,
|
|
1417
1469
|
login_callback: (context) => {
|
|
1418
1470
|
console.log(`
|
|
1419
1471
|
Please open this URL in your browser:
|
|
@@ -1504,7 +1556,7 @@ async function logoutFromHypha() {
|
|
|
1504
1556
|
} catch {
|
|
1505
1557
|
}
|
|
1506
1558
|
try {
|
|
1507
|
-
const { clearInstanceConfigCache } = await import('./run-
|
|
1559
|
+
const { clearInstanceConfigCache } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.ar; });
|
|
1508
1560
|
clearInstanceConfigCache();
|
|
1509
1561
|
} catch {
|
|
1510
1562
|
}
|
|
@@ -1857,7 +1909,7 @@ async function applyClaudeAuthFlags(argv) {
|
|
|
1857
1909
|
"--use-hypha-proxy, --use-claude-login, and --anthropic-base-url/--anthropic-api-key are mutually exclusive"
|
|
1858
1910
|
);
|
|
1859
1911
|
}
|
|
1860
|
-
const mod = await import('./run-
|
|
1912
|
+
const mod = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.au; });
|
|
1861
1913
|
if (hasHypha) {
|
|
1862
1914
|
let url;
|
|
1863
1915
|
const hyphaIdx = argv.indexOf("--use-hypha-proxy");
|
|
@@ -1911,7 +1963,7 @@ async function applyDaemonShareFlag(argv) {
|
|
|
1911
1963
|
}
|
|
1912
1964
|
}
|
|
1913
1965
|
if (collected.length === 0) return;
|
|
1914
|
-
const { updateEnvFile } = await import('./run-
|
|
1966
|
+
const { updateEnvFile } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.au; });
|
|
1915
1967
|
const seen = /* @__PURE__ */ new Set();
|
|
1916
1968
|
const deduped = collected.filter((e) => {
|
|
1917
1969
|
const k = e.toLowerCase();
|
|
@@ -1944,7 +1996,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1944
1996
|
}
|
|
1945
1997
|
});
|
|
1946
1998
|
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(" ");
|
|
1947
|
-
const { wiseAskCli } = await import('./commands-
|
|
1999
|
+
const { wiseAskCli } = await import('./commands-DDuGBSsz.mjs');
|
|
1948
2000
|
await wiseAskCli(machineId, message, sessionId, { json });
|
|
1949
2001
|
return;
|
|
1950
2002
|
}
|
|
@@ -1956,7 +2008,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1956
2008
|
}
|
|
1957
2009
|
return void 0;
|
|
1958
2010
|
};
|
|
1959
|
-
const { runWiseVoiceCli } = await import('./headlessCli-
|
|
2011
|
+
const { runWiseVoiceCli } = await import('./headlessCli-C2gvOpOt.mjs');
|
|
1960
2012
|
await runWiseVoiceCli({ voice: valueOf(["--voice"]), wakeKeywordPath: valueOf(["--wake"]), model: valueOf(["--model"]) });
|
|
1961
2013
|
return;
|
|
1962
2014
|
}
|
|
@@ -1974,7 +2026,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1974
2026
|
const mode = valueOf(["--mode"]);
|
|
1975
2027
|
const mission = valueOf(["--mission"]);
|
|
1976
2028
|
const url = rest.slice(1).find((a) => /^https?:\/\//.test(a)) || "";
|
|
1977
|
-
const { wiseJoinMeetingCli } = await import('./commands-
|
|
2029
|
+
const { wiseJoinMeetingCli } = await import('./commands-DDuGBSsz.mjs');
|
|
1978
2030
|
await wiseJoinMeetingCli(machineId, url, sessionId, { json, mode, mission });
|
|
1979
2031
|
return;
|
|
1980
2032
|
}
|
|
@@ -1986,7 +2038,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1986
2038
|
}
|
|
1987
2039
|
return void 0;
|
|
1988
2040
|
};
|
|
1989
|
-
const { wiseLeaveMeetingCli } = await import('./commands-
|
|
2041
|
+
const { wiseLeaveMeetingCli } = await import('./commands-DDuGBSsz.mjs');
|
|
1990
2042
|
await wiseLeaveMeetingCli(valueOf(["--machine", "-m"]), valueOf(["--session", "-s"]), { json: rest.includes("--json") });
|
|
1991
2043
|
return;
|
|
1992
2044
|
}
|
|
@@ -2010,7 +2062,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
2010
2062
|
}
|
|
2011
2063
|
});
|
|
2012
2064
|
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(" ");
|
|
2013
|
-
const { wiseAnnounceCli } = await import('./commands-
|
|
2065
|
+
const { wiseAnnounceCli } = await import('./commands-DDuGBSsz.mjs');
|
|
2014
2066
|
await wiseAnnounceCli(machineId, text, sessionId, { json });
|
|
2015
2067
|
return;
|
|
2016
2068
|
}
|
|
@@ -2022,7 +2074,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
2022
2074
|
}
|
|
2023
2075
|
return void 0;
|
|
2024
2076
|
};
|
|
2025
|
-
const { wiseMeetingsCli } = await import('./commands-
|
|
2077
|
+
const { wiseMeetingsCli } = await import('./commands-DDuGBSsz.mjs');
|
|
2026
2078
|
await wiseMeetingsCli(valueOf(["--machine", "-m"]), { json: rest.includes("--json") });
|
|
2027
2079
|
return;
|
|
2028
2080
|
}
|
|
@@ -2073,7 +2125,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
2073
2125
|
return;
|
|
2074
2126
|
}
|
|
2075
2127
|
const authArgs = rest.slice(1);
|
|
2076
|
-
const mod = await import('./auth
|
|
2128
|
+
const mod = await import('./auth--WS0wezs.mjs');
|
|
2077
2129
|
let action;
|
|
2078
2130
|
try {
|
|
2079
2131
|
action = mod.parseWiseAgentAuthArgs(authArgs);
|
|
@@ -2083,7 +2135,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
2083
2135
|
return;
|
|
2084
2136
|
}
|
|
2085
2137
|
if (action) {
|
|
2086
|
-
const { updateEnvFile } = await import('./run-
|
|
2138
|
+
const { updateEnvFile } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.au; });
|
|
2087
2139
|
const updates = mod.buildWiseAgentEnvUpdates(action);
|
|
2088
2140
|
updateEnvFile(updates);
|
|
2089
2141
|
for (const [k, v] of Object.entries(updates)) {
|
|
@@ -2097,7 +2149,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
2097
2149
|
}
|
|
2098
2150
|
async function handleDaemonAuthCommand(argv) {
|
|
2099
2151
|
const sub = wantsHelp(argv) ? "--help" : (argv[0] || "status").toLowerCase();
|
|
2100
|
-
const mod = await import('./run-
|
|
2152
|
+
const mod = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.au; });
|
|
2101
2153
|
if (sub === "--help" || sub === "-h" || sub === "help") {
|
|
2102
2154
|
console.log(`
|
|
2103
2155
|
svamp daemon auth \u2014 Configure how Claude subprocesses authenticate
|
|
@@ -2171,8 +2223,8 @@ one step: --use-hypha-proxy / --use-claude-login / --anthropic-base-url URL --an
|
|
|
2171
2223
|
}
|
|
2172
2224
|
async function handleDaemonCodexAuthCommand(argv) {
|
|
2173
2225
|
const sub = wantsHelp(argv) ? "--help" : (argv[0] || "status").toLowerCase();
|
|
2174
|
-
const { updateEnvFile } = await import('./run-
|
|
2175
|
-
const { resolveCodexProvider } = await import('./run-
|
|
2226
|
+
const { updateEnvFile } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.au; });
|
|
2227
|
+
const { resolveCodexProvider } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.av; });
|
|
2176
2228
|
const redact = (k) => k && k.length > 10 ? `${k.slice(0, 6)}\u2026${k.slice(-4)}` : k ? "***" : "(unset)";
|
|
2177
2229
|
if (sub === "--help" || sub === "-h" || sub === "help") {
|
|
2178
2230
|
console.log(`
|
|
@@ -2258,8 +2310,8 @@ The generic LLM_API_BASE / LLM_API_KEY / LLM_MODEL env vars are also honored if
|
|
|
2258
2310
|
}
|
|
2259
2311
|
async function handleDaemonKimiAuthCommand(argv) {
|
|
2260
2312
|
const sub = wantsHelp(argv) ? "--help" : (argv[0] || "status").toLowerCase();
|
|
2261
|
-
const { updateEnvFile } = await import('./run-
|
|
2262
|
-
const { resolveKimiProvider, buildKimiCatalogAddArgs, DEFAULT_KIMI_PROVIDER } = await import('./run-
|
|
2313
|
+
const { updateEnvFile } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.au; });
|
|
2314
|
+
const { resolveKimiProvider, buildKimiCatalogAddArgs, DEFAULT_KIMI_PROVIDER } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aD; });
|
|
2263
2315
|
const redact = (k) => k && k.length > 10 ? `${k.slice(0, 6)}\u2026${k.slice(-4)}` : k ? "***" : "(unset)";
|
|
2264
2316
|
const PRESETS = {
|
|
2265
2317
|
"use-moonshot": { provider: "moonshotai", base: "https://api.moonshot.ai/v1", label: "Moonshot AI (moonshotai)" },
|
|
@@ -2454,8 +2506,9 @@ COMMANDS:
|
|
|
2454
2506
|
|
|
2455
2507
|
Sharing:
|
|
2456
2508
|
share <id> --list List shared users
|
|
2457
|
-
share <id> --add <email>
|
|
2458
|
-
|
|
2509
|
+
share <id> --add <email>[:<role>] Share with user. role = view|interact|admin
|
|
2510
|
+
(default admin = owner-equivalent). #1246: the
|
|
2511
|
+
:role suffix is HONORED \u2014 it used to be dropped.
|
|
2459
2512
|
share <id> --remove <email> Remove shared user
|
|
2460
2513
|
share <id> --public <view|interact|off> Set public link access
|
|
2461
2514
|
|
|
@@ -2520,7 +2573,8 @@ PERMISSION WORKFLOW (only relevant for "default" and "acceptEdits" modes):
|
|
|
2520
2573
|
ISOLATION & SHARING OPTIONS (for spawn):
|
|
2521
2574
|
--isolate Force OS-level sandbox (even without sharing)
|
|
2522
2575
|
--security-context <path> Apply security context config (JSON file)
|
|
2523
|
-
--share <email>
|
|
2576
|
+
--share <email>[:<role>] Share session with user (repeatable). role = view|interact|admin;
|
|
2577
|
+
default admin (owner-equivalent). #1246: roles ARE enforced.
|
|
2524
2578
|
--deny-network Block all network access
|
|
2525
2579
|
--deny-read <path> Deny reading path (repeatable)
|
|
2526
2580
|
WARNING: NOT ENFORCED by any sandbox backend (#0878).
|
|
@@ -2644,7 +2698,7 @@ Examples:
|
|
|
2644
2698
|
async function printSkillsHelp() {
|
|
2645
2699
|
let browseUrl = "<HYPHA_SERVER_URL>/<workspace>/artifacts/marketplace (set HYPHA_SERVER_URL)";
|
|
2646
2700
|
try {
|
|
2647
|
-
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-
|
|
2701
|
+
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-CF4kAVPW.mjs').then(function (n) { return n.aG; });
|
|
2648
2702
|
browseUrl = `${getArtifactBaseUrl()}/${getSkillsCollectionName()}`;
|
|
2649
2703
|
} catch {
|
|
2650
2704
|
}
|