svamp-cli 0.2.340 → 0.2.341
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-Btl3is3z.mjs} +1 -1
- package/dist/{agentCommands-ChVM6K3a.mjs → agentCommands-B7JaByb0.mjs} +5 -5
- package/dist/{auth-D3lxMSjT.mjs → auth-pTUm-zt4.mjs} +1 -1
- package/dist/{cli-DS4Xb1_k.mjs → cli-pFCLXDrP.mjs} +104 -81
- package/dist/cli.mjs +2 -2
- package/dist/{commands-i4sJJo_T.mjs → commands-BUkV04q6.mjs} +3 -3
- package/dist/{commands-B--vQWTy.mjs → commands-BaxjRuxM.mjs} +3 -3
- package/dist/{commands-CTusBMbx.mjs → commands-C1L_R1H6.mjs} +3 -3
- package/dist/{commands-Daivh0OQ.mjs → commands-C4whLEwv.mjs} +12 -17
- package/dist/{commands-CQ37lyCn.mjs → commands-CMCSUI4A.mjs} +2 -2
- package/dist/{commands-CENM3waA.mjs → commands-CfP6gPZF.mjs} +1 -1
- package/dist/{commands-CIfNXKBb.mjs → commands-EcIOSJHF.mjs} +3 -3
- package/dist/{commands-oblvzodh.mjs → commands-znQSQbTX.mjs} +11 -11
- package/dist/{fleet-C4R6E2Hp.mjs → fleet-U-WXVbW_.mjs} +1 -1
- package/dist/{headlessCli-CTp95z2R.mjs → headlessCli-CptF7_lZ.mjs} +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{notifyCommands-CYQ80UQK.mjs → notifyCommands-DitnhzYz.mjs} +1 -1
- package/dist/{package-4ZZ-NyHo.mjs → package-CigJ8nhu.mjs} +3 -3
- package/dist/{rpc-Hzx79dRT.mjs → rpc-BPT9DJXL.mjs} +4 -4
- package/dist/{rpc-C_4D0N6G.mjs → rpc-zndUgvJ7.mjs} +1 -1
- package/dist/{run-DQnBdAxD.mjs → run-CrUTBmi4.mjs} +1 -1
- package/dist/{run-zvn6DVUS.mjs → run-LHJh7jLy.mjs} +15276 -15005
- package/dist/{scheduler-BiHJvgws.mjs → scheduler-B0h2sfGn.mjs} +1 -1
- package/dist/{serveCommands-CQMkfTEw.mjs → serveCommands-DpF0xKvz.mjs} +31 -16
- package/dist/{sideband-BskNkJLx.mjs → sideband-B5n9fNxM.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-LHJh7jLy.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-LHJh7jLy.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-LHJh7jLy.mjs').then(function (n) { return n.aH; });
|
|
60
60
|
if (whenIdle && !force) {
|
|
61
61
|
if (mod.isDaemonAlive()) {
|
|
62
62
|
mod.writePendingRestart({ reason: "svamp daemon restart --when-idle" });
|
|
@@ -183,7 +183,7 @@ async function main() {
|
|
|
183
183
|
releaseSupervisorLock,
|
|
184
184
|
findOrphanedSyncPids,
|
|
185
185
|
killOrphanedSyncs
|
|
186
|
-
} = await import('./run-
|
|
186
|
+
} = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.aG; });
|
|
187
187
|
const supervisorPidFile = pathJoin(svampHome, "supervisor.pid");
|
|
188
188
|
const lock = acquireSupervisorLockWithRetry(supervisorPidFile, process.pid);
|
|
189
189
|
if (!lock.acquired) {
|
|
@@ -363,7 +363,7 @@ async function main() {
|
|
|
363
363
|
console.error("svamp service: Service commands are not available in sandboxed sessions.");
|
|
364
364
|
process.exit(1);
|
|
365
365
|
}
|
|
366
|
-
const { handleServiceCommand } = await import('./commands-
|
|
366
|
+
const { handleServiceCommand } = await import('./commands-znQSQbTX.mjs');
|
|
367
367
|
await handleServiceCommand();
|
|
368
368
|
} else if (subcommand === "serve") {
|
|
369
369
|
const { isSandboxed: isSandboxedServe } = await import('./sandboxDetect-DNTcbgWD.mjs');
|
|
@@ -371,7 +371,7 @@ async function main() {
|
|
|
371
371
|
console.error("svamp serve: Serve commands are not available in sandboxed sessions.");
|
|
372
372
|
process.exit(1);
|
|
373
373
|
}
|
|
374
|
-
const { handleServeCommand } = await import('./serveCommands-
|
|
374
|
+
const { handleServeCommand } = await import('./serveCommands-DpF0xKvz.mjs');
|
|
375
375
|
await handleServeCommand();
|
|
376
376
|
process.exit(0);
|
|
377
377
|
} else if (subcommand === "process" || subcommand === "proc") {
|
|
@@ -380,7 +380,7 @@ async function main() {
|
|
|
380
380
|
console.error("svamp process: Process commands are not available in sandboxed sessions.");
|
|
381
381
|
process.exit(1);
|
|
382
382
|
}
|
|
383
|
-
const { processCommand } = await import('./commands-
|
|
383
|
+
const { processCommand } = await import('./commands-BUkV04q6.mjs');
|
|
384
384
|
let machineId;
|
|
385
385
|
const processArgs = args.slice(1);
|
|
386
386
|
const mIdx = processArgs.findIndex((a) => a === "--machine" || a === "-m");
|
|
@@ -394,26 +394,26 @@ async function main() {
|
|
|
394
394
|
}), machineId);
|
|
395
395
|
process.exit(0);
|
|
396
396
|
} else if (subcommand === "outpost") {
|
|
397
|
-
const { outpostCommand } = await import('./commands-
|
|
397
|
+
const { outpostCommand } = await import('./commands-BaxjRuxM.mjs');
|
|
398
398
|
await outpostCommand(args.slice(1));
|
|
399
399
|
process.exit(0);
|
|
400
400
|
} else if (subcommand === "issue" || subcommand === "issues") {
|
|
401
|
-
const { issueCommand } = await import('./commands-
|
|
401
|
+
const { issueCommand } = await import('./commands-EcIOSJHF.mjs');
|
|
402
402
|
await issueCommand(args.slice(1));
|
|
403
403
|
await flushAndExit(0);
|
|
404
404
|
} else if (subcommand === "workflow" || subcommand === "workflows") {
|
|
405
|
-
const { workflowCommand } = await import('./commands-
|
|
405
|
+
const { workflowCommand } = await import('./commands-CMCSUI4A.mjs');
|
|
406
406
|
await workflowCommand(args.slice(1));
|
|
407
407
|
await flushAndExit(0);
|
|
408
408
|
} else if (subcommand === "wise-agent" || subcommand === "wise") {
|
|
409
409
|
await handleWiseAgentCommand(args.slice(1));
|
|
410
410
|
process.exit(0);
|
|
411
411
|
} else if (subcommand === "feature" || subcommand === "crew") {
|
|
412
|
-
const { crewCommand } = await import('./commands-
|
|
412
|
+
const { crewCommand } = await import('./commands-C1L_R1H6.mjs');
|
|
413
413
|
await crewCommand(args.slice(1));
|
|
414
414
|
process.exit(0);
|
|
415
415
|
} else if (subcommand === "notify") {
|
|
416
|
-
const { notifyUser } = await import('./notifyCommands-
|
|
416
|
+
const { notifyUser } = await import('./notifyCommands-DitnhzYz.mjs');
|
|
417
417
|
const rest = args.slice(1);
|
|
418
418
|
let email;
|
|
419
419
|
const o = {};
|
|
@@ -430,7 +430,7 @@ async function main() {
|
|
|
430
430
|
} else if (subcommand === "admin") {
|
|
431
431
|
const adminSub = args[1];
|
|
432
432
|
if (adminSub === "set-collection-config") {
|
|
433
|
-
const { setCollectionConfig } = await import('./adminCommands-
|
|
433
|
+
const { setCollectionConfig } = await import('./adminCommands-Btl3is3z.mjs');
|
|
434
434
|
const rest = args.slice(2);
|
|
435
435
|
let alias;
|
|
436
436
|
let configJson;
|
|
@@ -440,10 +440,10 @@ async function main() {
|
|
|
440
440
|
}
|
|
441
441
|
await setCollectionConfig(alias, configJson);
|
|
442
442
|
} else if (adminSub === "create-system-collections") {
|
|
443
|
-
const { createSystemCollections } = await import('./adminCommands-
|
|
443
|
+
const { createSystemCollections } = await import('./adminCommands-Btl3is3z.mjs');
|
|
444
444
|
await createSystemCollections();
|
|
445
445
|
} else if (adminSub === "migrate-collection-children") {
|
|
446
|
-
const { migrateCollectionChildren } = await import('./adminCommands-
|
|
446
|
+
const { migrateCollectionChildren } = await import('./adminCommands-Btl3is3z.mjs');
|
|
447
447
|
const rest = args.slice(2).filter((a) => !a.startsWith("-"));
|
|
448
448
|
await migrateCollectionChildren(rest[0], rest[1]);
|
|
449
449
|
} else {
|
|
@@ -451,7 +451,7 @@ async function main() {
|
|
|
451
451
|
}
|
|
452
452
|
process.exit(0);
|
|
453
453
|
} else if (subcommand === "events") {
|
|
454
|
-
const { listEvents, ackEvent } = await import('./notifyCommands-
|
|
454
|
+
const { listEvents, ackEvent } = await import('./notifyCommands-DitnhzYz.mjs');
|
|
455
455
|
const sub = args[1];
|
|
456
456
|
const rest = args.slice(2);
|
|
457
457
|
let email;
|
|
@@ -472,7 +472,7 @@ async function main() {
|
|
|
472
472
|
} else if (!subcommand || subcommand === "start") {
|
|
473
473
|
await handleInteractiveCommand();
|
|
474
474
|
} else if (subcommand === "--version" || subcommand === "-v") {
|
|
475
|
-
const pkg = await import('./package-
|
|
475
|
+
const pkg = await import('./package-CigJ8nhu.mjs').catch(() => ({ default: { version: "unknown" } }));
|
|
476
476
|
console.log(`svamp version: ${pkg.default.version}`);
|
|
477
477
|
} else {
|
|
478
478
|
console.error(`Unknown command: ${subcommand}`);
|
|
@@ -481,7 +481,7 @@ async function main() {
|
|
|
481
481
|
}
|
|
482
482
|
}
|
|
483
483
|
async function handleInteractiveCommand() {
|
|
484
|
-
const { runInteractive } = await import('./run-
|
|
484
|
+
const { runInteractive } = await import('./run-CrUTBmi4.mjs');
|
|
485
485
|
const interactiveArgs = subcommand === "start" ? args.slice(1) : args;
|
|
486
486
|
let directory = process.cwd();
|
|
487
487
|
let resumeSessionId;
|
|
@@ -526,7 +526,7 @@ async function handleAgentCommand() {
|
|
|
526
526
|
return;
|
|
527
527
|
}
|
|
528
528
|
if (agentArgs[0] === "list") {
|
|
529
|
-
const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-
|
|
529
|
+
const { KNOWN_ACP_AGENTS, KNOWN_CODEX_AGENTS: KNOWN_CODEX_AGENTS2 } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.az; });
|
|
530
530
|
console.log("Known agents:");
|
|
531
531
|
for (const [name, config2] of Object.entries(KNOWN_ACP_AGENTS)) {
|
|
532
532
|
console.log(` ${name.padEnd(12)} ${config2.command} ${config2.args.join(" ")} (ACP)`);
|
|
@@ -538,7 +538,7 @@ async function handleAgentCommand() {
|
|
|
538
538
|
console.log('Use "svamp agent -- <command> [args]" for a custom ACP agent.');
|
|
539
539
|
return;
|
|
540
540
|
}
|
|
541
|
-
const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-
|
|
541
|
+
const { resolveAcpAgentConfig, KNOWN_CODEX_AGENTS } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.az; });
|
|
542
542
|
let cwd = process.cwd();
|
|
543
543
|
const filteredArgs = [];
|
|
544
544
|
for (let i = 0; i < agentArgs.length; i++) {
|
|
@@ -562,18 +562,18 @@ async function handleAgentCommand() {
|
|
|
562
562
|
console.log(`Starting ${config.agentName} agent in ${cwd}...`);
|
|
563
563
|
let backend;
|
|
564
564
|
if (KNOWN_CODEX_AGENTS[config.agentName]) {
|
|
565
|
-
const { CodexAppServerBackend } = await import('./run-
|
|
565
|
+
const { CodexAppServerBackend } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.aA; });
|
|
566
566
|
backend = new CodexAppServerBackend({ cwd, log: logFn });
|
|
567
567
|
} 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-
|
|
568
|
+
const { AcpBackend } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.ay; });
|
|
569
|
+
const { GeminiTransport } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.aB; });
|
|
570
|
+
const { KimiTransport } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.aC; });
|
|
571
|
+
const { DefaultTransport } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.ax; });
|
|
572
572
|
const transportHandler = config.agentName === "gemini" ? new GeminiTransport() : config.agentName === "kimi" ? new KimiTransport() : new DefaultTransport(config.agentName);
|
|
573
573
|
let acpEnv;
|
|
574
574
|
if (config.agentName === "kimi") {
|
|
575
|
-
const { ensureKimiProviderConfigured } = await import('./run-
|
|
576
|
-
const { kimiSpawnEnv } = await import('./run-
|
|
575
|
+
const { ensureKimiProviderConfigured } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.aE; });
|
|
576
|
+
const { kimiSpawnEnv } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.aD; });
|
|
577
577
|
await ensureKimiProviderConfigured(process.env, config.command, logFn);
|
|
578
578
|
acpEnv = kimiSpawnEnv(process.env);
|
|
579
579
|
}
|
|
@@ -703,7 +703,7 @@ async function handleSessionCommand() {
|
|
|
703
703
|
process.exit(1);
|
|
704
704
|
}
|
|
705
705
|
}
|
|
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-
|
|
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-C4whLEwv.mjs');
|
|
707
707
|
const parseFlagStr = (flag, shortFlag) => {
|
|
708
708
|
for (let i = 1; i < sessionArgs.length; i++) {
|
|
709
709
|
if ((sessionArgs[i] === flag || shortFlag) && i + 1 < sessionArgs.length) {
|
|
@@ -777,7 +777,7 @@ async function handleSessionCommand() {
|
|
|
777
777
|
console.warn(" --allow-write / a securityContext allowedDirectories, or keep the");
|
|
778
778
|
console.warn(" sensitive path outside the workspace.");
|
|
779
779
|
}
|
|
780
|
-
const { parseShareArg } = await import('./commands-
|
|
780
|
+
const { parseShareArg } = await import('./commands-C4whLEwv.mjs');
|
|
781
781
|
const shareEntries = share.map((s) => parseShareArg(s));
|
|
782
782
|
await sessionSpawn(agent, dir, targetMachineId, {
|
|
783
783
|
message,
|
|
@@ -868,7 +868,7 @@ async function handleSessionCommand() {
|
|
|
868
868
|
console.error(" Rewinds history: rewrites the message + drops everything after it, then restarts Claude.");
|
|
869
869
|
process.exit(1);
|
|
870
870
|
}
|
|
871
|
-
const { sessionEditMessage } = await import('./commands-
|
|
871
|
+
const { sessionEditMessage } = await import('./commands-C4whLEwv.mjs');
|
|
872
872
|
await sessionEditMessage(sessionArgs[1], sessionArgs[2], sessionArgs[3], targetMachineId);
|
|
873
873
|
} else if (sessionSubcommand === "refine") {
|
|
874
874
|
if (!sessionArgs[1] || !sessionArgs[2]) {
|
|
@@ -876,7 +876,7 @@ async function handleSessionCommand() {
|
|
|
876
876
|
console.error(" Asks the agent to revise its latest reply in place (no extra round).");
|
|
877
877
|
process.exit(1);
|
|
878
878
|
}
|
|
879
|
-
const { sessionRefineLastReply } = await import('./commands-
|
|
879
|
+
const { sessionRefineLastReply } = await import('./commands-C4whLEwv.mjs');
|
|
880
880
|
await sessionRefineLastReply(sessionArgs[1], sessionArgs[2], targetMachineId);
|
|
881
881
|
} else if (sessionSubcommand === "undo-edit" || sessionSubcommand === "undo") {
|
|
882
882
|
if (!sessionArgs[1]) {
|
|
@@ -884,7 +884,7 @@ async function handleSessionCommand() {
|
|
|
884
884
|
console.error(" Reverts the most recent edit/refine, restoring the pre-edit history.");
|
|
885
885
|
process.exit(1);
|
|
886
886
|
}
|
|
887
|
-
const { sessionUndoEdit } = await import('./commands-
|
|
887
|
+
const { sessionUndoEdit } = await import('./commands-C4whLEwv.mjs');
|
|
888
888
|
await sessionUndoEdit(sessionArgs[1], targetMachineId);
|
|
889
889
|
} else if (sessionSubcommand === "query") {
|
|
890
890
|
const dir = sessionArgs[1];
|
|
@@ -894,7 +894,7 @@ async function handleSessionCommand() {
|
|
|
894
894
|
console.error(" Spawns a stateless Claude session in <directory>, sends <prompt>, prints the answer, then deletes the session.");
|
|
895
895
|
process.exit(1);
|
|
896
896
|
}
|
|
897
|
-
const { sessionQuery } = await import('./commands-
|
|
897
|
+
const { sessionQuery } = await import('./commands-C4whLEwv.mjs');
|
|
898
898
|
await sessionQuery(dir, prompt, targetMachineId, {
|
|
899
899
|
timeout: parseFlagInt("--timeout"),
|
|
900
900
|
json: hasFlag("--json"),
|
|
@@ -927,7 +927,7 @@ async function handleSessionCommand() {
|
|
|
927
927
|
console.error("Usage: svamp session approve <session-id> [request-id] [--json]");
|
|
928
928
|
process.exit(1);
|
|
929
929
|
}
|
|
930
|
-
const { sessionApprove } = await import('./commands-
|
|
930
|
+
const { sessionApprove } = await import('./commands-C4whLEwv.mjs');
|
|
931
931
|
const approveReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
932
932
|
await sessionApprove(sessionArgs[1], approveReqId, targetMachineId, {
|
|
933
933
|
json: hasFlag("--json")
|
|
@@ -937,7 +937,7 @@ async function handleSessionCommand() {
|
|
|
937
937
|
console.error("Usage: svamp session deny <session-id> [request-id] [--json]");
|
|
938
938
|
process.exit(1);
|
|
939
939
|
}
|
|
940
|
-
const { sessionDeny } = await import('./commands-
|
|
940
|
+
const { sessionDeny } = await import('./commands-C4whLEwv.mjs');
|
|
941
941
|
const denyReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
942
942
|
await sessionDeny(sessionArgs[1], denyReqId, targetMachineId, {
|
|
943
943
|
json: hasFlag("--json")
|
|
@@ -989,7 +989,7 @@ async function handleSessionCommand() {
|
|
|
989
989
|
console.error("Usage: svamp session set-title <title>");
|
|
990
990
|
process.exit(1);
|
|
991
991
|
}
|
|
992
|
-
const { sessionSetTitle } = await import('./agentCommands-
|
|
992
|
+
const { sessionSetTitle } = await import('./agentCommands-B7JaByb0.mjs');
|
|
993
993
|
await sessionSetTitle(title);
|
|
994
994
|
} else if (sessionSubcommand === "set-project-description" || sessionSubcommand === "set-project") {
|
|
995
995
|
const desc = sessionArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
@@ -997,7 +997,7 @@ async function handleSessionCommand() {
|
|
|
997
997
|
console.error("Usage: svamp session set-project-description <text>");
|
|
998
998
|
process.exit(1);
|
|
999
999
|
}
|
|
1000
|
-
const { sessionSetProjectDescription } = await import('./agentCommands-
|
|
1000
|
+
const { sessionSetProjectDescription } = await import('./agentCommands-B7JaByb0.mjs');
|
|
1001
1001
|
await sessionSetProjectDescription(desc);
|
|
1002
1002
|
} else if (sessionSubcommand === "set-link") {
|
|
1003
1003
|
const url = sessionArgs[1];
|
|
@@ -1006,11 +1006,11 @@ async function handleSessionCommand() {
|
|
|
1006
1006
|
process.exit(1);
|
|
1007
1007
|
}
|
|
1008
1008
|
const label = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
1009
|
-
const { sessionSetLink } = await import('./agentCommands-
|
|
1009
|
+
const { sessionSetLink } = await import('./agentCommands-B7JaByb0.mjs');
|
|
1010
1010
|
await sessionSetLink(url, label);
|
|
1011
1011
|
} else if (sessionSubcommand === "link") {
|
|
1012
1012
|
const op = sessionArgs[1];
|
|
1013
|
-
const lm = await import('./agentCommands-
|
|
1013
|
+
const lm = await import('./agentCommands-B7JaByb0.mjs');
|
|
1014
1014
|
if (op === "add") {
|
|
1015
1015
|
const url = sessionArgs[2];
|
|
1016
1016
|
if (!url || url.startsWith("--")) {
|
|
@@ -1045,7 +1045,7 @@ async function handleSessionCommand() {
|
|
|
1045
1045
|
process.exit(1);
|
|
1046
1046
|
}
|
|
1047
1047
|
const level = parseFlagStr("--level") || "info";
|
|
1048
|
-
const { sessionNotify } = await import('./agentCommands-
|
|
1048
|
+
const { sessionNotify } = await import('./agentCommands-B7JaByb0.mjs');
|
|
1049
1049
|
await sessionNotify(message, level);
|
|
1050
1050
|
} else if (sessionSubcommand === "broadcast") {
|
|
1051
1051
|
const action = sessionArgs[1];
|
|
@@ -1053,7 +1053,7 @@ async function handleSessionCommand() {
|
|
|
1053
1053
|
console.error("Usage: svamp session broadcast <action> [args...]\nActions: open-canvas <url> [label], close-canvas, toast <message>");
|
|
1054
1054
|
process.exit(1);
|
|
1055
1055
|
}
|
|
1056
|
-
const { sessionBroadcast } = await import('./agentCommands-
|
|
1056
|
+
const { sessionBroadcast } = await import('./agentCommands-B7JaByb0.mjs');
|
|
1057
1057
|
await sessionBroadcast(action, sessionArgs.slice(2).filter((a) => !a.startsWith("--")));
|
|
1058
1058
|
} else if (sessionSubcommand === "inbox") {
|
|
1059
1059
|
const inboxSubcmd = sessionArgs[1];
|
|
@@ -1064,7 +1064,7 @@ async function handleSessionCommand() {
|
|
|
1064
1064
|
process.exit(1);
|
|
1065
1065
|
}
|
|
1066
1066
|
if (agentSessionId) {
|
|
1067
|
-
const { inboxSend } = await import('./agentCommands-
|
|
1067
|
+
const { inboxSend } = await import('./agentCommands-B7JaByb0.mjs');
|
|
1068
1068
|
await inboxSend(sessionArgs[2], {
|
|
1069
1069
|
body: sessionArgs[3],
|
|
1070
1070
|
subject: parseFlagStr("--subject"),
|
|
@@ -1081,7 +1081,7 @@ async function handleSessionCommand() {
|
|
|
1081
1081
|
}
|
|
1082
1082
|
} else if (inboxSubcmd === "list" || inboxSubcmd === "ls") {
|
|
1083
1083
|
if (agentSessionId && !sessionArgs[2]) {
|
|
1084
|
-
const { inboxList } = await import('./agentCommands-
|
|
1084
|
+
const { inboxList } = await import('./agentCommands-B7JaByb0.mjs');
|
|
1085
1085
|
await inboxList({
|
|
1086
1086
|
unread: hasFlag("--unread"),
|
|
1087
1087
|
limit: parseFlagInt("--limit"),
|
|
@@ -1103,7 +1103,7 @@ async function handleSessionCommand() {
|
|
|
1103
1103
|
process.exit(1);
|
|
1104
1104
|
}
|
|
1105
1105
|
if (agentSessionId && !sessionArgs[3]) {
|
|
1106
|
-
const { inboxList } = await import('./agentCommands-
|
|
1106
|
+
const { inboxList } = await import('./agentCommands-B7JaByb0.mjs');
|
|
1107
1107
|
await sessionInboxRead(agentSessionId, sessionArgs[2], targetMachineId);
|
|
1108
1108
|
} else if (sessionArgs[3]) {
|
|
1109
1109
|
await sessionInboxRead(sessionArgs[2], sessionArgs[3], targetMachineId);
|
|
@@ -1113,7 +1113,7 @@ async function handleSessionCommand() {
|
|
|
1113
1113
|
}
|
|
1114
1114
|
} else if (inboxSubcmd === "reply") {
|
|
1115
1115
|
if (agentSessionId && sessionArgs[2] && sessionArgs[3] && !sessionArgs[4]) {
|
|
1116
|
-
const { inboxReply } = await import('./agentCommands-
|
|
1116
|
+
const { inboxReply } = await import('./agentCommands-B7JaByb0.mjs');
|
|
1117
1117
|
await inboxReply(sessionArgs[2], sessionArgs[3]);
|
|
1118
1118
|
} else if (sessionArgs[2] && sessionArgs[3] && sessionArgs[4]) {
|
|
1119
1119
|
await sessionInboxReply(sessionArgs[2], sessionArgs[3], sessionArgs[4], targetMachineId);
|
|
@@ -1151,7 +1151,7 @@ async function handleMachineCommand() {
|
|
|
1151
1151
|
return;
|
|
1152
1152
|
}
|
|
1153
1153
|
if (machineSubcommand === "share") {
|
|
1154
|
-
const { machineShare } = await import('./commands-
|
|
1154
|
+
const { machineShare } = await import('./commands-C4whLEwv.mjs');
|
|
1155
1155
|
let machineId;
|
|
1156
1156
|
const shareArgs = [];
|
|
1157
1157
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
@@ -1202,14 +1202,14 @@ async function handleMachineCommand() {
|
|
|
1202
1202
|
process.exit(1);
|
|
1203
1203
|
}
|
|
1204
1204
|
if (all) {
|
|
1205
|
-
const { fleetExec } = await import('./fleet-
|
|
1205
|
+
const { fleetExec } = await import('./fleet-U-WXVbW_.mjs');
|
|
1206
1206
|
await fleetExec(command, { cwd });
|
|
1207
1207
|
} else {
|
|
1208
|
-
const { machineExec } = await import('./commands-
|
|
1208
|
+
const { machineExec } = await import('./commands-C4whLEwv.mjs');
|
|
1209
1209
|
await machineExec(machineId, command, cwd);
|
|
1210
1210
|
}
|
|
1211
1211
|
} else if (machineSubcommand === "info") {
|
|
1212
|
-
const { machineInfo } = await import('./commands-
|
|
1212
|
+
const { machineInfo } = await import('./commands-C4whLEwv.mjs');
|
|
1213
1213
|
let machineId;
|
|
1214
1214
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
1215
1215
|
if ((machineArgs[i] === "--machine" || machineArgs[i] === "-m") && i + 1 < machineArgs.length) {
|
|
@@ -1238,10 +1238,10 @@ async function handleMachineCommand() {
|
|
|
1238
1238
|
console.error("Usage: svamp machine notify <message> [--level info|warning|error]");
|
|
1239
1239
|
process.exit(1);
|
|
1240
1240
|
}
|
|
1241
|
-
const { machineNotify } = await import('./agentCommands-
|
|
1241
|
+
const { machineNotify } = await import('./agentCommands-B7JaByb0.mjs');
|
|
1242
1242
|
await machineNotify(message, level);
|
|
1243
1243
|
} else if (machineSubcommand === "ls") {
|
|
1244
|
-
const { machineLs } = await import('./commands-
|
|
1244
|
+
const { machineLs } = await import('./commands-C4whLEwv.mjs');
|
|
1245
1245
|
let machineId;
|
|
1246
1246
|
let showHidden = false;
|
|
1247
1247
|
let path;
|
|
@@ -1307,26 +1307,26 @@ Examples:
|
|
|
1307
1307
|
};
|
|
1308
1308
|
const hasFlag = (name) => fleetArgs.includes(`--${name}`);
|
|
1309
1309
|
if (sub === "status") {
|
|
1310
|
-
const { fleetStatus } = await import('./fleet-
|
|
1310
|
+
const { fleetStatus } = await import('./fleet-U-WXVbW_.mjs');
|
|
1311
1311
|
await fleetStatus();
|
|
1312
1312
|
} else if (sub === "upgrade-claude") {
|
|
1313
|
-
const { fleetUpgradeClaude } = await import('./fleet-
|
|
1313
|
+
const { fleetUpgradeClaude } = await import('./fleet-U-WXVbW_.mjs');
|
|
1314
1314
|
await fleetUpgradeClaude({ version: flag("version", "-v") });
|
|
1315
1315
|
} else if (sub === "upgrade-codex") {
|
|
1316
|
-
const { fleetUpgradeCodex } = await import('./fleet-
|
|
1316
|
+
const { fleetUpgradeCodex } = await import('./fleet-U-WXVbW_.mjs');
|
|
1317
1317
|
await fleetUpgradeCodex({ version: flag("version", "-v") });
|
|
1318
1318
|
} else if (sub === "upgrade-kimi") {
|
|
1319
|
-
const { fleetUpgradeKimi } = await import('./fleet-
|
|
1319
|
+
const { fleetUpgradeKimi } = await import('./fleet-U-WXVbW_.mjs');
|
|
1320
1320
|
await fleetUpgradeKimi({ version: flag("version", "-v") });
|
|
1321
1321
|
} else if (sub === "upgrade-svamp") {
|
|
1322
|
-
const { fleetUpgradeSvamp } = await import('./fleet-
|
|
1322
|
+
const { fleetUpgradeSvamp } = await import('./fleet-U-WXVbW_.mjs');
|
|
1323
1323
|
await fleetUpgradeSvamp({ version: flag("version", "-v"), excludeSelf: hasFlag("exclude-self"), force: hasFlag("force") });
|
|
1324
1324
|
} else if (sub === "daemon-restart") {
|
|
1325
|
-
const { fleetDaemonRestart } = await import('./fleet-
|
|
1325
|
+
const { fleetDaemonRestart } = await import('./fleet-U-WXVbW_.mjs');
|
|
1326
1326
|
await fleetDaemonRestart({ graceful: !hasFlag("cleanup") });
|
|
1327
1327
|
} else if (sub === "push-skill") {
|
|
1328
1328
|
const name = fleetArgs[1];
|
|
1329
|
-
const { fleetPushSkill } = await import('./fleet-
|
|
1329
|
+
const { fleetPushSkill } = await import('./fleet-U-WXVbW_.mjs');
|
|
1330
1330
|
await fleetPushSkill(name);
|
|
1331
1331
|
} else {
|
|
1332
1332
|
console.error(`Unknown fleet subcommand: ${sub}`);
|
|
@@ -1342,7 +1342,7 @@ async function handleSkillsCommand() {
|
|
|
1342
1342
|
await printSkillsHelp();
|
|
1343
1343
|
return;
|
|
1344
1344
|
}
|
|
1345
|
-
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-
|
|
1345
|
+
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-CfP6gPZF.mjs');
|
|
1346
1346
|
if (skillsSubcommand === "find" || skillsSubcommand === "search") {
|
|
1347
1347
|
const query = skillsArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
1348
1348
|
if (!query) {
|
|
@@ -1381,6 +1381,19 @@ async function handleSkillsCommand() {
|
|
|
1381
1381
|
process.exit(0);
|
|
1382
1382
|
}
|
|
1383
1383
|
async function loginToHypha() {
|
|
1384
|
+
if (wantsHelp(args.slice(1))) {
|
|
1385
|
+
console.log("Usage: svamp login <frontend-url> (e.g. https://svamp.aicell.io)");
|
|
1386
|
+
console.log("");
|
|
1387
|
+
console.log(" Authenticates this machine with Hypha and stores a long-lived token in");
|
|
1388
|
+
console.log(" ~/.svamp/.env. The frontend URL serves /svamp.json, which carries the Hypha");
|
|
1389
|
+
console.log(" server URL and routing config; a Hypha server URL also works (legacy mode).");
|
|
1390
|
+
console.log("");
|
|
1391
|
+
console.log(" A browser window opens to complete the login. Run `svamp daemon restart`");
|
|
1392
|
+
console.log(" afterwards so the running daemon picks up the new token.");
|
|
1393
|
+
console.log("");
|
|
1394
|
+
console.log(" Env: SVAMP_LOGIN_TIMEOUT seconds to wait for the browser step (default 120)");
|
|
1395
|
+
return;
|
|
1396
|
+
}
|
|
1384
1397
|
const anchorArg = args[1] || process.env.SVAMP_INSTANCE_URL || process.env.HYPHA_SERVER_URL;
|
|
1385
1398
|
if (!anchorArg) {
|
|
1386
1399
|
console.error("Usage: svamp login <frontend-url> (e.g. https://svamp.aicell.io)");
|
|
@@ -1389,7 +1402,7 @@ async function loginToHypha() {
|
|
|
1389
1402
|
process.exit(1);
|
|
1390
1403
|
}
|
|
1391
1404
|
const anchor = anchorArg.replace(/\/+$/, "");
|
|
1392
|
-
const { loadInstanceConfig } = await import('./run-
|
|
1405
|
+
const { loadInstanceConfig } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.ar; });
|
|
1393
1406
|
let cfg = null;
|
|
1394
1407
|
try {
|
|
1395
1408
|
cfg = await loadInstanceConfig({ anchor, force: true });
|
|
@@ -1413,7 +1426,15 @@ async function loginToHypha() {
|
|
|
1413
1426
|
}
|
|
1414
1427
|
const token = await hyphaWebsocketClient.login({
|
|
1415
1428
|
server_url: serverUrl,
|
|
1416
|
-
|
|
1429
|
+
// Overridable, but the DEFAULT stays 120s deliberately. Raising it looks like an
|
|
1430
|
+
// obvious kindness on this recovery path (a human has to switch to a browser and
|
|
1431
|
+
// complete an OAuth round-trip while the machine is offline), but the server keeps
|
|
1432
|
+
// its OWN login-key lifetime: waiting past it does not extend the window, it just
|
|
1433
|
+
// parks until the key is gone and then fails inside hypha's check_login with
|
|
1434
|
+
// "the JSON object must be str, bytes or bytearray, not NoneType" — strictly worse
|
|
1435
|
+
// than a clean client-side timeout. Verified against hypha.aicell.io on 2026-08-30.
|
|
1436
|
+
// Raise SVAMP_LOGIN_TIMEOUT only against a server known to hold keys longer.
|
|
1437
|
+
login_timeout: Number(process.env.SVAMP_LOGIN_TIMEOUT) || 120,
|
|
1417
1438
|
login_callback: (context) => {
|
|
1418
1439
|
console.log(`
|
|
1419
1440
|
Please open this URL in your browser:
|
|
@@ -1504,7 +1525,7 @@ async function logoutFromHypha() {
|
|
|
1504
1525
|
} catch {
|
|
1505
1526
|
}
|
|
1506
1527
|
try {
|
|
1507
|
-
const { clearInstanceConfigCache } = await import('./run-
|
|
1528
|
+
const { clearInstanceConfigCache } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.ar; });
|
|
1508
1529
|
clearInstanceConfigCache();
|
|
1509
1530
|
} catch {
|
|
1510
1531
|
}
|
|
@@ -1857,7 +1878,7 @@ async function applyClaudeAuthFlags(argv) {
|
|
|
1857
1878
|
"--use-hypha-proxy, --use-claude-login, and --anthropic-base-url/--anthropic-api-key are mutually exclusive"
|
|
1858
1879
|
);
|
|
1859
1880
|
}
|
|
1860
|
-
const mod = await import('./run-
|
|
1881
|
+
const mod = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.au; });
|
|
1861
1882
|
if (hasHypha) {
|
|
1862
1883
|
let url;
|
|
1863
1884
|
const hyphaIdx = argv.indexOf("--use-hypha-proxy");
|
|
@@ -1911,7 +1932,7 @@ async function applyDaemonShareFlag(argv) {
|
|
|
1911
1932
|
}
|
|
1912
1933
|
}
|
|
1913
1934
|
if (collected.length === 0) return;
|
|
1914
|
-
const { updateEnvFile } = await import('./run-
|
|
1935
|
+
const { updateEnvFile } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.au; });
|
|
1915
1936
|
const seen = /* @__PURE__ */ new Set();
|
|
1916
1937
|
const deduped = collected.filter((e) => {
|
|
1917
1938
|
const k = e.toLowerCase();
|
|
@@ -1944,7 +1965,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1944
1965
|
}
|
|
1945
1966
|
});
|
|
1946
1967
|
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-
|
|
1968
|
+
const { wiseAskCli } = await import('./commands-C4whLEwv.mjs');
|
|
1948
1969
|
await wiseAskCli(machineId, message, sessionId, { json });
|
|
1949
1970
|
return;
|
|
1950
1971
|
}
|
|
@@ -1956,7 +1977,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1956
1977
|
}
|
|
1957
1978
|
return void 0;
|
|
1958
1979
|
};
|
|
1959
|
-
const { runWiseVoiceCli } = await import('./headlessCli-
|
|
1980
|
+
const { runWiseVoiceCli } = await import('./headlessCli-CptF7_lZ.mjs');
|
|
1960
1981
|
await runWiseVoiceCli({ voice: valueOf(["--voice"]), wakeKeywordPath: valueOf(["--wake"]), model: valueOf(["--model"]) });
|
|
1961
1982
|
return;
|
|
1962
1983
|
}
|
|
@@ -1974,7 +1995,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1974
1995
|
const mode = valueOf(["--mode"]);
|
|
1975
1996
|
const mission = valueOf(["--mission"]);
|
|
1976
1997
|
const url = rest.slice(1).find((a) => /^https?:\/\//.test(a)) || "";
|
|
1977
|
-
const { wiseJoinMeetingCli } = await import('./commands-
|
|
1998
|
+
const { wiseJoinMeetingCli } = await import('./commands-C4whLEwv.mjs');
|
|
1978
1999
|
await wiseJoinMeetingCli(machineId, url, sessionId, { json, mode, mission });
|
|
1979
2000
|
return;
|
|
1980
2001
|
}
|
|
@@ -1986,7 +2007,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1986
2007
|
}
|
|
1987
2008
|
return void 0;
|
|
1988
2009
|
};
|
|
1989
|
-
const { wiseLeaveMeetingCli } = await import('./commands-
|
|
2010
|
+
const { wiseLeaveMeetingCli } = await import('./commands-C4whLEwv.mjs');
|
|
1990
2011
|
await wiseLeaveMeetingCli(valueOf(["--machine", "-m"]), valueOf(["--session", "-s"]), { json: rest.includes("--json") });
|
|
1991
2012
|
return;
|
|
1992
2013
|
}
|
|
@@ -2010,7 +2031,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
2010
2031
|
}
|
|
2011
2032
|
});
|
|
2012
2033
|
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-
|
|
2034
|
+
const { wiseAnnounceCli } = await import('./commands-C4whLEwv.mjs');
|
|
2014
2035
|
await wiseAnnounceCli(machineId, text, sessionId, { json });
|
|
2015
2036
|
return;
|
|
2016
2037
|
}
|
|
@@ -2022,7 +2043,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
2022
2043
|
}
|
|
2023
2044
|
return void 0;
|
|
2024
2045
|
};
|
|
2025
|
-
const { wiseMeetingsCli } = await import('./commands-
|
|
2046
|
+
const { wiseMeetingsCli } = await import('./commands-C4whLEwv.mjs');
|
|
2026
2047
|
await wiseMeetingsCli(valueOf(["--machine", "-m"]), { json: rest.includes("--json") });
|
|
2027
2048
|
return;
|
|
2028
2049
|
}
|
|
@@ -2073,7 +2094,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
2073
2094
|
return;
|
|
2074
2095
|
}
|
|
2075
2096
|
const authArgs = rest.slice(1);
|
|
2076
|
-
const mod = await import('./auth-
|
|
2097
|
+
const mod = await import('./auth-pTUm-zt4.mjs');
|
|
2077
2098
|
let action;
|
|
2078
2099
|
try {
|
|
2079
2100
|
action = mod.parseWiseAgentAuthArgs(authArgs);
|
|
@@ -2083,7 +2104,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
2083
2104
|
return;
|
|
2084
2105
|
}
|
|
2085
2106
|
if (action) {
|
|
2086
|
-
const { updateEnvFile } = await import('./run-
|
|
2107
|
+
const { updateEnvFile } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.au; });
|
|
2087
2108
|
const updates = mod.buildWiseAgentEnvUpdates(action);
|
|
2088
2109
|
updateEnvFile(updates);
|
|
2089
2110
|
for (const [k, v] of Object.entries(updates)) {
|
|
@@ -2097,7 +2118,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
2097
2118
|
}
|
|
2098
2119
|
async function handleDaemonAuthCommand(argv) {
|
|
2099
2120
|
const sub = wantsHelp(argv) ? "--help" : (argv[0] || "status").toLowerCase();
|
|
2100
|
-
const mod = await import('./run-
|
|
2121
|
+
const mod = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.au; });
|
|
2101
2122
|
if (sub === "--help" || sub === "-h" || sub === "help") {
|
|
2102
2123
|
console.log(`
|
|
2103
2124
|
svamp daemon auth \u2014 Configure how Claude subprocesses authenticate
|
|
@@ -2171,8 +2192,8 @@ one step: --use-hypha-proxy / --use-claude-login / --anthropic-base-url URL --an
|
|
|
2171
2192
|
}
|
|
2172
2193
|
async function handleDaemonCodexAuthCommand(argv) {
|
|
2173
2194
|
const sub = wantsHelp(argv) ? "--help" : (argv[0] || "status").toLowerCase();
|
|
2174
|
-
const { updateEnvFile } = await import('./run-
|
|
2175
|
-
const { resolveCodexProvider } = await import('./run-
|
|
2195
|
+
const { updateEnvFile } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.au; });
|
|
2196
|
+
const { resolveCodexProvider } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.av; });
|
|
2176
2197
|
const redact = (k) => k && k.length > 10 ? `${k.slice(0, 6)}\u2026${k.slice(-4)}` : k ? "***" : "(unset)";
|
|
2177
2198
|
if (sub === "--help" || sub === "-h" || sub === "help") {
|
|
2178
2199
|
console.log(`
|
|
@@ -2258,8 +2279,8 @@ The generic LLM_API_BASE / LLM_API_KEY / LLM_MODEL env vars are also honored if
|
|
|
2258
2279
|
}
|
|
2259
2280
|
async function handleDaemonKimiAuthCommand(argv) {
|
|
2260
2281
|
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-
|
|
2282
|
+
const { updateEnvFile } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.au; });
|
|
2283
|
+
const { resolveKimiProvider, buildKimiCatalogAddArgs, DEFAULT_KIMI_PROVIDER } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.aD; });
|
|
2263
2284
|
const redact = (k) => k && k.length > 10 ? `${k.slice(0, 6)}\u2026${k.slice(-4)}` : k ? "***" : "(unset)";
|
|
2264
2285
|
const PRESETS = {
|
|
2265
2286
|
"use-moonshot": { provider: "moonshotai", base: "https://api.moonshot.ai/v1", label: "Moonshot AI (moonshotai)" },
|
|
@@ -2454,8 +2475,9 @@ COMMANDS:
|
|
|
2454
2475
|
|
|
2455
2476
|
Sharing:
|
|
2456
2477
|
share <id> --list List shared users
|
|
2457
|
-
share <id> --add <email>
|
|
2458
|
-
|
|
2478
|
+
share <id> --add <email>[:<role>] Share with user. role = view|interact|admin
|
|
2479
|
+
(default admin = owner-equivalent). #1246: the
|
|
2480
|
+
:role suffix is HONORED \u2014 it used to be dropped.
|
|
2459
2481
|
share <id> --remove <email> Remove shared user
|
|
2460
2482
|
share <id> --public <view|interact|off> Set public link access
|
|
2461
2483
|
|
|
@@ -2520,7 +2542,8 @@ PERMISSION WORKFLOW (only relevant for "default" and "acceptEdits" modes):
|
|
|
2520
2542
|
ISOLATION & SHARING OPTIONS (for spawn):
|
|
2521
2543
|
--isolate Force OS-level sandbox (even without sharing)
|
|
2522
2544
|
--security-context <path> Apply security context config (JSON file)
|
|
2523
|
-
--share <email>
|
|
2545
|
+
--share <email>[:<role>] Share session with user (repeatable). role = view|interact|admin;
|
|
2546
|
+
default admin (owner-equivalent). #1246: roles ARE enforced.
|
|
2524
2547
|
--deny-network Block all network access
|
|
2525
2548
|
--deny-read <path> Deny reading path (repeatable)
|
|
2526
2549
|
WARNING: NOT ENFORCED by any sandbox backend (#0878).
|
|
@@ -2644,7 +2667,7 @@ Examples:
|
|
|
2644
2667
|
async function printSkillsHelp() {
|
|
2645
2668
|
let browseUrl = "<HYPHA_SERVER_URL>/<workspace>/artifacts/marketplace (set HYPHA_SERVER_URL)";
|
|
2646
2669
|
try {
|
|
2647
|
-
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-
|
|
2670
|
+
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-LHJh7jLy.mjs').then(function (n) { return n.aF; });
|
|
2648
2671
|
browseUrl = `${getArtifactBaseUrl()}/${getSkillsCollectionName()}`;
|
|
2649
2672
|
} catch {
|
|
2650
2673
|
}
|
package/dist/cli.mjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { writeFileSync, readFileSync } from 'fs';
|
|
2
2
|
import { resolve } from 'path';
|
|
3
|
-
import { connectAndGetMachine } from './commands-
|
|
4
|
-
import { w as wantsHelp } from './cli-
|
|
3
|
+
import { connectAndGetMachine } from './commands-C4whLEwv.mjs';
|
|
4
|
+
import { w as wantsHelp } from './cli-pFCLXDrP.mjs';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:child_process';
|
|
7
7
|
import 'node:path';
|
|
8
8
|
import 'node:os';
|
|
9
|
-
import './run-
|
|
9
|
+
import './run-LHJh7jLy.mjs';
|
|
10
10
|
import 'os';
|
|
11
11
|
import 'fs/promises';
|
|
12
12
|
import 'url';
|