svamp-cli 0.2.107 → 0.2.109
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/skills/loop/SKILL.md +1 -1
- package/bin/skills/loop/bin/inject-loop.mjs +20 -6
- package/bin/skills/loop/bin/loop-init.mjs +21 -8
- package/bin/skills/loop/bin/loop-status.mjs +17 -4
- package/bin/skills/loop/bin/precompact.mjs +5 -2
- package/bin/skills/loop/bin/state-fp.mjs +5 -7
- package/bin/skills/loop/bin/stop-gate.mjs +17 -4
- package/bin/skills/loop/test/test-loop-gate.mjs +55 -18
- package/dist/{agentCommands-CduKZKhS.mjs → agentCommands-CoGlvh8y.mjs} +37 -7
- package/dist/{auth-Df9Vbe1o.mjs → auth-DMERa7I8.mjs} +2 -2
- package/dist/cli.mjs +60 -52
- package/dist/{commands-DkDAm71w.mjs → commands-BhkiEmV8.mjs} +5 -5
- package/dist/{commands-Db5oGiGF.mjs → commands-D2kGC5mL.mjs} +3 -3
- package/dist/{commands-DMfzyn8l.mjs → commands-DJgTzFWk.mjs} +38 -17
- package/dist/{commands-B6uZpAXr.mjs → commands-Dy6X_MM5.mjs} +2 -2
- package/dist/{commands-Bq2anCn7.mjs → commands-j38M6llT.mjs} +2 -2
- package/dist/{fleet-kxxGXRSB.mjs → fleet-Pg9X2izv.mjs} +2 -2
- package/dist/{frpc-C9lPF2nK.mjs → frpc-BmpNco2u.mjs} +2 -2
- package/dist/{headlessCli-BgWGL3_l.mjs → headlessCli-6WuIXZ9F.mjs} +3 -3
- package/dist/index.mjs +2 -2
- package/dist/{package-VWSohGLN.mjs → package-Bz0dbAvV.mjs} +2 -2
- package/dist/{run-CvT9o581.mjs → run-B3epzMIw.mjs} +3 -3
- package/dist/{run-CCsUvTEL.mjs → run-CvXWD1x2.mjs} +313 -58
- package/dist/{serveCommands-tid4kA9J.mjs → serveCommands-J44oCE_D.mjs} +5 -5
- package/dist/{serveManager-CeM1exTU.mjs → serveManager-DU4OuM57.mjs} +3 -3
- package/dist/{sideband-fu9NMI64.mjs → sideband-Dt9N8vh6.mjs} +2 -2
- package/package.json +2 -2
package/dist/cli.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { e as clearStopMarker, f as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-
|
|
1
|
+
import { e as clearStopMarker, f as stopMarkerExists, s as startDaemon, b as stopDaemon, d as daemonStatus } from './run-CvXWD1x2.mjs';
|
|
2
2
|
import { ensureSupervisorViaServiceManager, LAUNCHD_LABEL } from './serviceManager-hlOVxkhW.mjs';
|
|
3
3
|
import 'os';
|
|
4
4
|
import 'fs/promises';
|
|
@@ -7,11 +7,11 @@ import 'path';
|
|
|
7
7
|
import 'url';
|
|
8
8
|
import 'child_process';
|
|
9
9
|
import 'crypto';
|
|
10
|
+
import 'node:crypto';
|
|
10
11
|
import 'node:fs';
|
|
11
12
|
import 'node:child_process';
|
|
12
13
|
import 'util';
|
|
13
14
|
import 'node:path';
|
|
14
|
-
import 'node:crypto';
|
|
15
15
|
import 'node:os';
|
|
16
16
|
import 'node:events';
|
|
17
17
|
import '@agentclientprotocol/sdk';
|
|
@@ -34,7 +34,7 @@ const subcommand = args[0];
|
|
|
34
34
|
let daemonSubcommand = args[1];
|
|
35
35
|
async function main() {
|
|
36
36
|
try {
|
|
37
|
-
const { getLoadedConfig } = await import('./run-
|
|
37
|
+
const { getLoadedConfig } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n._; });
|
|
38
38
|
getLoadedConfig();
|
|
39
39
|
} catch {
|
|
40
40
|
}
|
|
@@ -51,7 +51,7 @@ async function main() {
|
|
|
51
51
|
console.error(`svamp daemon restart: ${err.message || err}`);
|
|
52
52
|
process.exit(1);
|
|
53
53
|
}
|
|
54
|
-
const { restartDaemon } = await import('./run-
|
|
54
|
+
const { restartDaemon } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.a0; });
|
|
55
55
|
await restartDaemon();
|
|
56
56
|
process.exit(0);
|
|
57
57
|
}
|
|
@@ -344,7 +344,7 @@ async function main() {
|
|
|
344
344
|
console.error("svamp service: Service commands are not available in sandboxed sessions.");
|
|
345
345
|
process.exit(1);
|
|
346
346
|
}
|
|
347
|
-
const { handleServiceCommand } = await import('./commands-
|
|
347
|
+
const { handleServiceCommand } = await import('./commands-BhkiEmV8.mjs');
|
|
348
348
|
await handleServiceCommand();
|
|
349
349
|
} else if (subcommand === "serve") {
|
|
350
350
|
const { isSandboxed: isSandboxedServe } = await import('./sandboxDetect-DNTcbgWD.mjs');
|
|
@@ -352,7 +352,7 @@ async function main() {
|
|
|
352
352
|
console.error("svamp serve: Serve commands are not available in sandboxed sessions.");
|
|
353
353
|
process.exit(1);
|
|
354
354
|
}
|
|
355
|
-
const { handleServeCommand } = await import('./serveCommands-
|
|
355
|
+
const { handleServeCommand } = await import('./serveCommands-J44oCE_D.mjs');
|
|
356
356
|
await handleServeCommand();
|
|
357
357
|
process.exit(0);
|
|
358
358
|
} else if (subcommand === "process" || subcommand === "proc") {
|
|
@@ -361,7 +361,7 @@ async function main() {
|
|
|
361
361
|
console.error("svamp process: Process commands are not available in sandboxed sessions.");
|
|
362
362
|
process.exit(1);
|
|
363
363
|
}
|
|
364
|
-
const { processCommand } = await import('./commands-
|
|
364
|
+
const { processCommand } = await import('./commands-D2kGC5mL.mjs');
|
|
365
365
|
let machineId;
|
|
366
366
|
const processArgs = args.slice(1);
|
|
367
367
|
const mIdx = processArgs.findIndex((a) => a === "--machine" || a === "-m");
|
|
@@ -375,7 +375,7 @@ async function main() {
|
|
|
375
375
|
}), machineId);
|
|
376
376
|
process.exit(0);
|
|
377
377
|
} else if (subcommand === "routine" || subcommand === "routines") {
|
|
378
|
-
const { routineCommand } = await import('./commands-
|
|
378
|
+
const { routineCommand } = await import('./commands-j38M6llT.mjs');
|
|
379
379
|
await routineCommand(args.slice(1));
|
|
380
380
|
process.exit(0);
|
|
381
381
|
} else if (subcommand === "wise-agent" || subcommand === "wise") {
|
|
@@ -386,7 +386,7 @@ async function main() {
|
|
|
386
386
|
} else if (!subcommand || subcommand === "start") {
|
|
387
387
|
await handleInteractiveCommand();
|
|
388
388
|
} else if (subcommand === "--version" || subcommand === "-v") {
|
|
389
|
-
const pkg = await import('./package-
|
|
389
|
+
const pkg = await import('./package-Bz0dbAvV.mjs').catch(() => ({ default: { version: "unknown" } }));
|
|
390
390
|
console.log(`svamp version: ${pkg.default.version}`);
|
|
391
391
|
} else {
|
|
392
392
|
console.error(`Unknown command: ${subcommand}`);
|
|
@@ -395,7 +395,7 @@ async function main() {
|
|
|
395
395
|
}
|
|
396
396
|
}
|
|
397
397
|
async function handleInteractiveCommand() {
|
|
398
|
-
const { runInteractive } = await import('./run-
|
|
398
|
+
const { runInteractive } = await import('./run-B3epzMIw.mjs');
|
|
399
399
|
const interactiveArgs = subcommand === "start" ? args.slice(1) : args;
|
|
400
400
|
let directory = process.cwd();
|
|
401
401
|
let resumeSessionId;
|
|
@@ -440,7 +440,7 @@ async function handleAgentCommand() {
|
|
|
440
440
|
return;
|
|
441
441
|
}
|
|
442
442
|
if (agentArgs[0] === "list") {
|
|
443
|
-
const { KNOWN_ACP_AGENTS, KNOWN_MCP_AGENTS: KNOWN_MCP_AGENTS2 } = await import('./run-
|
|
443
|
+
const { KNOWN_ACP_AGENTS, KNOWN_MCP_AGENTS: KNOWN_MCP_AGENTS2 } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.W; });
|
|
444
444
|
console.log("Known agents:");
|
|
445
445
|
for (const [name, config2] of Object.entries(KNOWN_ACP_AGENTS)) {
|
|
446
446
|
console.log(` ${name.padEnd(12)} ${config2.command} ${config2.args.join(" ")} (ACP)`);
|
|
@@ -452,7 +452,7 @@ async function handleAgentCommand() {
|
|
|
452
452
|
console.log('Use "svamp agent -- <command> [args]" for a custom ACP agent.');
|
|
453
453
|
return;
|
|
454
454
|
}
|
|
455
|
-
const { resolveAcpAgentConfig, KNOWN_MCP_AGENTS } = await import('./run-
|
|
455
|
+
const { resolveAcpAgentConfig, KNOWN_MCP_AGENTS } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.W; });
|
|
456
456
|
let cwd = process.cwd();
|
|
457
457
|
const filteredArgs = [];
|
|
458
458
|
for (let i = 0; i < agentArgs.length; i++) {
|
|
@@ -476,12 +476,12 @@ async function handleAgentCommand() {
|
|
|
476
476
|
console.log(`Starting ${config.agentName} agent in ${cwd}...`);
|
|
477
477
|
let backend;
|
|
478
478
|
if (KNOWN_MCP_AGENTS[config.agentName]) {
|
|
479
|
-
const { CodexMcpBackend } = await import('./run-
|
|
479
|
+
const { CodexMcpBackend } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.X; });
|
|
480
480
|
backend = new CodexMcpBackend({ cwd, log: logFn });
|
|
481
481
|
} else {
|
|
482
|
-
const { AcpBackend } = await import('./run-
|
|
483
|
-
const { GeminiTransport } = await import('./run-
|
|
484
|
-
const { DefaultTransport } = await import('./run-
|
|
482
|
+
const { AcpBackend } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.V; });
|
|
483
|
+
const { GeminiTransport } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.Y; });
|
|
484
|
+
const { DefaultTransport } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.U; });
|
|
485
485
|
const transportHandler = config.agentName === "gemini" ? new GeminiTransport() : new DefaultTransport(config.agentName);
|
|
486
486
|
backend = new AcpBackend({
|
|
487
487
|
agentName: config.agentName,
|
|
@@ -599,7 +599,7 @@ async function handleSessionCommand() {
|
|
|
599
599
|
printSessionHelp();
|
|
600
600
|
return;
|
|
601
601
|
}
|
|
602
|
-
const SANDBOX_SAFE_SESSION_CMDS = /* @__PURE__ */ new Set(["set-title", "set-link"]);
|
|
602
|
+
const SANDBOX_SAFE_SESSION_CMDS = /* @__PURE__ */ new Set(["set-title", "set-link", "set-project-description", "set-project"]);
|
|
603
603
|
if (!SANDBOX_SAFE_SESSION_CMDS.has(sessionSubcommand)) {
|
|
604
604
|
const { isSandboxed } = await import('./sandboxDetect-DNTcbgWD.mjs');
|
|
605
605
|
if (isSandboxed()) {
|
|
@@ -608,7 +608,7 @@ async function handleSessionCommand() {
|
|
|
608
608
|
process.exit(1);
|
|
609
609
|
}
|
|
610
610
|
}
|
|
611
|
-
const { sessionList, sessionWhoami, sessionSpawn, sessionArchive, sessionResume, sessionDelete, sessionInfo, sessionMessages, sessionAttach, sessionMachines, sessionSend, sessionWait, sessionShare, sessionLoopStart, sessionLoopCancel, sessionLoopStatus, sessionInboxSend, sessionInboxList, sessionInboxRead, sessionInboxReply, sessionInboxClear } = await import('./commands-
|
|
611
|
+
const { sessionList, sessionWhoami, sessionSpawn, sessionArchive, sessionResume, sessionDelete, sessionInfo, sessionMessages, sessionAttach, sessionMachines, sessionSend, sessionWait, sessionShare, sessionLoopStart, sessionLoopCancel, sessionLoopStatus, sessionInboxSend, sessionInboxList, sessionInboxRead, sessionInboxReply, sessionInboxClear } = await import('./commands-DJgTzFWk.mjs');
|
|
612
612
|
const parseFlagStr = (flag, shortFlag) => {
|
|
613
613
|
for (let i = 1; i < sessionArgs.length; i++) {
|
|
614
614
|
if ((sessionArgs[i] === flag || shortFlag) && i + 1 < sessionArgs.length) {
|
|
@@ -676,7 +676,7 @@ async function handleSessionCommand() {
|
|
|
676
676
|
allowDomain.push(sessionArgs[++i]);
|
|
677
677
|
}
|
|
678
678
|
}
|
|
679
|
-
const { parseShareArg } = await import('./commands-
|
|
679
|
+
const { parseShareArg } = await import('./commands-DJgTzFWk.mjs');
|
|
680
680
|
const shareEntries = share.map((s) => parseShareArg(s));
|
|
681
681
|
await sessionSpawn(agent, dir, targetMachineId, {
|
|
682
682
|
message,
|
|
@@ -763,7 +763,7 @@ async function handleSessionCommand() {
|
|
|
763
763
|
console.error(" Spawns a stateless Claude session in <directory>, sends <prompt>, prints the answer, then deletes the session.");
|
|
764
764
|
process.exit(1);
|
|
765
765
|
}
|
|
766
|
-
const { sessionQuery } = await import('./commands-
|
|
766
|
+
const { sessionQuery } = await import('./commands-DJgTzFWk.mjs');
|
|
767
767
|
await sessionQuery(dir, prompt, targetMachineId, {
|
|
768
768
|
timeout: parseFlagInt("--timeout"),
|
|
769
769
|
json: hasFlag("--json"),
|
|
@@ -796,7 +796,7 @@ async function handleSessionCommand() {
|
|
|
796
796
|
console.error("Usage: svamp session approve <session-id> [request-id] [--json]");
|
|
797
797
|
process.exit(1);
|
|
798
798
|
}
|
|
799
|
-
const { sessionApprove } = await import('./commands-
|
|
799
|
+
const { sessionApprove } = await import('./commands-DJgTzFWk.mjs');
|
|
800
800
|
const approveReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
801
801
|
await sessionApprove(sessionArgs[1], approveReqId, targetMachineId, {
|
|
802
802
|
json: hasFlag("--json")
|
|
@@ -806,7 +806,7 @@ async function handleSessionCommand() {
|
|
|
806
806
|
console.error("Usage: svamp session deny <session-id> [request-id] [--json]");
|
|
807
807
|
process.exit(1);
|
|
808
808
|
}
|
|
809
|
-
const { sessionDeny } = await import('./commands-
|
|
809
|
+
const { sessionDeny } = await import('./commands-DJgTzFWk.mjs');
|
|
810
810
|
const denyReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
811
811
|
await sessionDeny(sessionArgs[1], denyReqId, targetMachineId, {
|
|
812
812
|
json: hasFlag("--json")
|
|
@@ -841,8 +841,16 @@ async function handleSessionCommand() {
|
|
|
841
841
|
console.error("Usage: svamp session set-title <title>");
|
|
842
842
|
process.exit(1);
|
|
843
843
|
}
|
|
844
|
-
const { sessionSetTitle } = await import('./agentCommands-
|
|
844
|
+
const { sessionSetTitle } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
845
845
|
await sessionSetTitle(title);
|
|
846
|
+
} else if (sessionSubcommand === "set-project-description" || sessionSubcommand === "set-project") {
|
|
847
|
+
const desc = sessionArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
848
|
+
if (!desc) {
|
|
849
|
+
console.error("Usage: svamp session set-project-description <text>");
|
|
850
|
+
process.exit(1);
|
|
851
|
+
}
|
|
852
|
+
const { sessionSetProjectDescription } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
853
|
+
await sessionSetProjectDescription(desc);
|
|
846
854
|
} else if (sessionSubcommand === "set-link") {
|
|
847
855
|
const url = sessionArgs[1];
|
|
848
856
|
if (!url) {
|
|
@@ -850,7 +858,7 @@ async function handleSessionCommand() {
|
|
|
850
858
|
process.exit(1);
|
|
851
859
|
}
|
|
852
860
|
const label = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
853
|
-
const { sessionSetLink } = await import('./agentCommands-
|
|
861
|
+
const { sessionSetLink } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
854
862
|
await sessionSetLink(url, label);
|
|
855
863
|
} else if (sessionSubcommand === "notify") {
|
|
856
864
|
const message = sessionArgs[1];
|
|
@@ -859,7 +867,7 @@ async function handleSessionCommand() {
|
|
|
859
867
|
process.exit(1);
|
|
860
868
|
}
|
|
861
869
|
const level = parseFlagStr("--level") || "info";
|
|
862
|
-
const { sessionNotify } = await import('./agentCommands-
|
|
870
|
+
const { sessionNotify } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
863
871
|
await sessionNotify(message, level);
|
|
864
872
|
} else if (sessionSubcommand === "broadcast") {
|
|
865
873
|
const action = sessionArgs[1];
|
|
@@ -867,7 +875,7 @@ async function handleSessionCommand() {
|
|
|
867
875
|
console.error("Usage: svamp session broadcast <action> [args...]\nActions: open-canvas <url> [label], close-canvas, toast <message>");
|
|
868
876
|
process.exit(1);
|
|
869
877
|
}
|
|
870
|
-
const { sessionBroadcast } = await import('./agentCommands-
|
|
878
|
+
const { sessionBroadcast } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
871
879
|
await sessionBroadcast(action, sessionArgs.slice(2).filter((a) => !a.startsWith("--")));
|
|
872
880
|
} else if (sessionSubcommand === "inbox") {
|
|
873
881
|
const inboxSubcmd = sessionArgs[1];
|
|
@@ -878,7 +886,7 @@ async function handleSessionCommand() {
|
|
|
878
886
|
process.exit(1);
|
|
879
887
|
}
|
|
880
888
|
if (agentSessionId) {
|
|
881
|
-
const { inboxSend } = await import('./agentCommands-
|
|
889
|
+
const { inboxSend } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
882
890
|
await inboxSend(sessionArgs[2], {
|
|
883
891
|
body: sessionArgs[3],
|
|
884
892
|
subject: parseFlagStr("--subject"),
|
|
@@ -893,7 +901,7 @@ async function handleSessionCommand() {
|
|
|
893
901
|
}
|
|
894
902
|
} else if (inboxSubcmd === "list" || inboxSubcmd === "ls") {
|
|
895
903
|
if (agentSessionId && !sessionArgs[2]) {
|
|
896
|
-
const { inboxList } = await import('./agentCommands-
|
|
904
|
+
const { inboxList } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
897
905
|
await inboxList({
|
|
898
906
|
unread: hasFlag("--unread"),
|
|
899
907
|
limit: parseFlagInt("--limit"),
|
|
@@ -915,7 +923,7 @@ async function handleSessionCommand() {
|
|
|
915
923
|
process.exit(1);
|
|
916
924
|
}
|
|
917
925
|
if (agentSessionId && !sessionArgs[3]) {
|
|
918
|
-
const { inboxList } = await import('./agentCommands-
|
|
926
|
+
const { inboxList } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
919
927
|
await sessionInboxRead(agentSessionId, sessionArgs[2], targetMachineId);
|
|
920
928
|
} else if (sessionArgs[3]) {
|
|
921
929
|
await sessionInboxRead(sessionArgs[2], sessionArgs[3], targetMachineId);
|
|
@@ -925,7 +933,7 @@ async function handleSessionCommand() {
|
|
|
925
933
|
}
|
|
926
934
|
} else if (inboxSubcmd === "reply") {
|
|
927
935
|
if (agentSessionId && sessionArgs[2] && sessionArgs[3] && !sessionArgs[4]) {
|
|
928
|
-
const { inboxReply } = await import('./agentCommands-
|
|
936
|
+
const { inboxReply } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
929
937
|
await inboxReply(sessionArgs[2], sessionArgs[3]);
|
|
930
938
|
} else if (sessionArgs[2] && sessionArgs[3] && sessionArgs[4]) {
|
|
931
939
|
await sessionInboxReply(sessionArgs[2], sessionArgs[3], sessionArgs[4], targetMachineId);
|
|
@@ -961,7 +969,7 @@ async function handleMachineCommand() {
|
|
|
961
969
|
return;
|
|
962
970
|
}
|
|
963
971
|
if (machineSubcommand === "share") {
|
|
964
|
-
const { machineShare } = await import('./commands-
|
|
972
|
+
const { machineShare } = await import('./commands-DJgTzFWk.mjs');
|
|
965
973
|
let machineId;
|
|
966
974
|
const shareArgs = [];
|
|
967
975
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
@@ -991,7 +999,7 @@ async function handleMachineCommand() {
|
|
|
991
999
|
}
|
|
992
1000
|
await machineShare(machineId, { add, remove, list, configPath, showConfig });
|
|
993
1001
|
} else if (machineSubcommand === "exec") {
|
|
994
|
-
const { machineExec } = await import('./commands-
|
|
1002
|
+
const { machineExec } = await import('./commands-DJgTzFWk.mjs');
|
|
995
1003
|
let machineId;
|
|
996
1004
|
let cwd;
|
|
997
1005
|
const cmdParts = [];
|
|
@@ -1011,7 +1019,7 @@ async function handleMachineCommand() {
|
|
|
1011
1019
|
}
|
|
1012
1020
|
await machineExec(machineId, command, cwd);
|
|
1013
1021
|
} else if (machineSubcommand === "info") {
|
|
1014
|
-
const { machineInfo } = await import('./commands-
|
|
1022
|
+
const { machineInfo } = await import('./commands-DJgTzFWk.mjs');
|
|
1015
1023
|
let machineId;
|
|
1016
1024
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
1017
1025
|
if ((machineArgs[i] === "--machine" || machineArgs[i] === "-m") && i + 1 < machineArgs.length) {
|
|
@@ -1031,10 +1039,10 @@ async function handleMachineCommand() {
|
|
|
1031
1039
|
level = machineArgs[++i];
|
|
1032
1040
|
}
|
|
1033
1041
|
}
|
|
1034
|
-
const { machineNotify } = await import('./agentCommands-
|
|
1042
|
+
const { machineNotify } = await import('./agentCommands-CoGlvh8y.mjs');
|
|
1035
1043
|
await machineNotify(message, level);
|
|
1036
1044
|
} else if (machineSubcommand === "ls") {
|
|
1037
|
-
const { machineLs } = await import('./commands-
|
|
1045
|
+
const { machineLs } = await import('./commands-DJgTzFWk.mjs');
|
|
1038
1046
|
let machineId;
|
|
1039
1047
|
let showHidden = false;
|
|
1040
1048
|
let path;
|
|
@@ -1092,24 +1100,24 @@ Examples:
|
|
|
1092
1100
|
};
|
|
1093
1101
|
const hasFlag = (name) => fleetArgs.includes(`--${name}`);
|
|
1094
1102
|
if (sub === "status") {
|
|
1095
|
-
const { fleetStatus } = await import('./fleet-
|
|
1103
|
+
const { fleetStatus } = await import('./fleet-Pg9X2izv.mjs');
|
|
1096
1104
|
await fleetStatus();
|
|
1097
1105
|
} else if (sub === "exec") {
|
|
1098
1106
|
const command = fleetArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
1099
|
-
const { fleetExec } = await import('./fleet-
|
|
1107
|
+
const { fleetExec } = await import('./fleet-Pg9X2izv.mjs');
|
|
1100
1108
|
await fleetExec(command, { cwd: flag("cwd") });
|
|
1101
1109
|
} else if (sub === "upgrade-claude") {
|
|
1102
|
-
const { fleetUpgradeClaude } = await import('./fleet-
|
|
1110
|
+
const { fleetUpgradeClaude } = await import('./fleet-Pg9X2izv.mjs');
|
|
1103
1111
|
await fleetUpgradeClaude({ version: flag("version", "-v") });
|
|
1104
1112
|
} else if (sub === "upgrade-svamp") {
|
|
1105
|
-
const { fleetUpgradeSvamp } = await import('./fleet-
|
|
1113
|
+
const { fleetUpgradeSvamp } = await import('./fleet-Pg9X2izv.mjs');
|
|
1106
1114
|
await fleetUpgradeSvamp({ version: flag("version", "-v"), excludeSelf: hasFlag("exclude-self") });
|
|
1107
1115
|
} else if (sub === "daemon-restart") {
|
|
1108
|
-
const { fleetDaemonRestart } = await import('./fleet-
|
|
1116
|
+
const { fleetDaemonRestart } = await import('./fleet-Pg9X2izv.mjs');
|
|
1109
1117
|
await fleetDaemonRestart({ graceful: !hasFlag("cleanup") });
|
|
1110
1118
|
} else if (sub === "push-skill") {
|
|
1111
1119
|
const name = fleetArgs[1];
|
|
1112
|
-
const { fleetPushSkill } = await import('./fleet-
|
|
1120
|
+
const { fleetPushSkill } = await import('./fleet-Pg9X2izv.mjs');
|
|
1113
1121
|
await fleetPushSkill(name);
|
|
1114
1122
|
} else {
|
|
1115
1123
|
console.error(`Unknown fleet subcommand: ${sub}`);
|
|
@@ -1125,7 +1133,7 @@ async function handleSkillsCommand() {
|
|
|
1125
1133
|
await printSkillsHelp();
|
|
1126
1134
|
return;
|
|
1127
1135
|
}
|
|
1128
|
-
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-
|
|
1136
|
+
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-Dy6X_MM5.mjs');
|
|
1129
1137
|
if (skillsSubcommand === "find" || skillsSubcommand === "search") {
|
|
1130
1138
|
const query = skillsArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
1131
1139
|
if (!query) {
|
|
@@ -1172,7 +1180,7 @@ async function loginToHypha() {
|
|
|
1172
1180
|
process.exit(1);
|
|
1173
1181
|
}
|
|
1174
1182
|
const anchor = anchorArg.replace(/\/+$/, "");
|
|
1175
|
-
const { loadInstanceConfig } = await import('./run-
|
|
1183
|
+
const { loadInstanceConfig } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n._; });
|
|
1176
1184
|
let cfg = null;
|
|
1177
1185
|
try {
|
|
1178
1186
|
cfg = await loadInstanceConfig({ anchor, force: true });
|
|
@@ -1283,7 +1291,7 @@ async function logoutFromHypha() {
|
|
|
1283
1291
|
} catch {
|
|
1284
1292
|
}
|
|
1285
1293
|
try {
|
|
1286
|
-
const { clearInstanceConfigCache } = await import('./run-
|
|
1294
|
+
const { clearInstanceConfigCache } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n._; });
|
|
1287
1295
|
clearInstanceConfigCache();
|
|
1288
1296
|
} catch {
|
|
1289
1297
|
}
|
|
@@ -1614,7 +1622,7 @@ async function applyClaudeAuthFlags(argv) {
|
|
|
1614
1622
|
"--use-hypha-proxy, --use-claude-login, and --anthropic-base-url/--anthropic-api-key are mutually exclusive"
|
|
1615
1623
|
);
|
|
1616
1624
|
}
|
|
1617
|
-
const mod = await import('./run-
|
|
1625
|
+
const mod = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.Z; });
|
|
1618
1626
|
if (hasHypha) {
|
|
1619
1627
|
let url;
|
|
1620
1628
|
const hyphaIdx = argv.indexOf("--use-hypha-proxy");
|
|
@@ -1668,7 +1676,7 @@ async function applyDaemonShareFlag(argv) {
|
|
|
1668
1676
|
}
|
|
1669
1677
|
}
|
|
1670
1678
|
if (collected.length === 0) return;
|
|
1671
|
-
const { updateEnvFile } = await import('./run-
|
|
1679
|
+
const { updateEnvFile } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.Z; });
|
|
1672
1680
|
const seen = /* @__PURE__ */ new Set();
|
|
1673
1681
|
const deduped = collected.filter((e) => {
|
|
1674
1682
|
const k = e.toLowerCase();
|
|
@@ -1701,7 +1709,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1701
1709
|
}
|
|
1702
1710
|
});
|
|
1703
1711
|
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(" ");
|
|
1704
|
-
const { wiseAskCli } = await import('./commands-
|
|
1712
|
+
const { wiseAskCli } = await import('./commands-DJgTzFWk.mjs');
|
|
1705
1713
|
await wiseAskCli(machineId, message, sessionId, { json });
|
|
1706
1714
|
return;
|
|
1707
1715
|
}
|
|
@@ -1713,7 +1721,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1713
1721
|
}
|
|
1714
1722
|
return void 0;
|
|
1715
1723
|
};
|
|
1716
|
-
const { runWiseVoiceCli } = await import('./headlessCli-
|
|
1724
|
+
const { runWiseVoiceCli } = await import('./headlessCli-6WuIXZ9F.mjs');
|
|
1717
1725
|
await runWiseVoiceCli({ voice: valueOf(["--voice"]), wakeKeywordPath: valueOf(["--wake"]), model: valueOf(["--model"]) });
|
|
1718
1726
|
return;
|
|
1719
1727
|
}
|
|
@@ -1755,7 +1763,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
1755
1763
|
return;
|
|
1756
1764
|
}
|
|
1757
1765
|
const authArgs = rest.slice(1);
|
|
1758
|
-
const mod = await import('./auth-
|
|
1766
|
+
const mod = await import('./auth-DMERa7I8.mjs');
|
|
1759
1767
|
let action;
|
|
1760
1768
|
try {
|
|
1761
1769
|
action = mod.parseWiseAgentAuthArgs(authArgs);
|
|
@@ -1765,7 +1773,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
1765
1773
|
return;
|
|
1766
1774
|
}
|
|
1767
1775
|
if (action) {
|
|
1768
|
-
const { updateEnvFile } = await import('./run-
|
|
1776
|
+
const { updateEnvFile } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.Z; });
|
|
1769
1777
|
const updates = mod.buildWiseAgentEnvUpdates(action);
|
|
1770
1778
|
updateEnvFile(updates);
|
|
1771
1779
|
for (const [k, v] of Object.entries(updates)) {
|
|
@@ -1779,7 +1787,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
1779
1787
|
}
|
|
1780
1788
|
async function handleDaemonAuthCommand(argv) {
|
|
1781
1789
|
const sub = (argv[0] || "status").toLowerCase();
|
|
1782
|
-
const mod = await import('./run-
|
|
1790
|
+
const mod = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.Z; });
|
|
1783
1791
|
if (sub === "--help" || sub === "-h" || sub === "help") {
|
|
1784
1792
|
console.log(`
|
|
1785
1793
|
svamp daemon auth \u2014 Configure how Claude subprocesses authenticate
|
|
@@ -2082,7 +2090,7 @@ Examples:
|
|
|
2082
2090
|
async function printSkillsHelp() {
|
|
2083
2091
|
let browseUrl = "<HYPHA_SERVER_URL>/<workspace>/artifacts/marketplace (set HYPHA_SERVER_URL)";
|
|
2084
2092
|
try {
|
|
2085
|
-
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-
|
|
2093
|
+
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-CvXWD1x2.mjs').then(function (n) { return n.$; });
|
|
2086
2094
|
browseUrl = `${getArtifactBaseUrl()}/${getSkillsCollectionName()}`;
|
|
2087
2095
|
} catch {
|
|
2088
2096
|
}
|
|
@@ -58,7 +58,7 @@ async function serviceExpose(args) {
|
|
|
58
58
|
process.exit(1);
|
|
59
59
|
}
|
|
60
60
|
if (foreground) {
|
|
61
|
-
const { runFrpcTunnel } = await import('./frpc-
|
|
61
|
+
const { runFrpcTunnel } = await import('./frpc-BmpNco2u.mjs');
|
|
62
62
|
await runFrpcTunnel(name, ports, void 0, {
|
|
63
63
|
group,
|
|
64
64
|
groupKey,
|
|
@@ -68,7 +68,7 @@ async function serviceExpose(args) {
|
|
|
68
68
|
});
|
|
69
69
|
return;
|
|
70
70
|
}
|
|
71
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
71
|
+
const { connectAndGetMachine } = await import('./commands-DJgTzFWk.mjs');
|
|
72
72
|
const { server, machine } = await connectAndGetMachine();
|
|
73
73
|
try {
|
|
74
74
|
const status = await machine.tunnelStart({
|
|
@@ -123,7 +123,7 @@ async function serviceServe(args) {
|
|
|
123
123
|
};
|
|
124
124
|
process.on("SIGINT", cleanup);
|
|
125
125
|
process.on("SIGTERM", cleanup);
|
|
126
|
-
const { runFrpcTunnel } = await import('./frpc-
|
|
126
|
+
const { runFrpcTunnel } = await import('./frpc-BmpNco2u.mjs');
|
|
127
127
|
await runFrpcTunnel(name, [caddyPort]);
|
|
128
128
|
} catch (err) {
|
|
129
129
|
console.error(`Error serving directory: ${err.message}`);
|
|
@@ -132,7 +132,7 @@ async function serviceServe(args) {
|
|
|
132
132
|
}
|
|
133
133
|
async function serviceList(_args) {
|
|
134
134
|
try {
|
|
135
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
135
|
+
const { connectAndGetMachine } = await import('./commands-DJgTzFWk.mjs');
|
|
136
136
|
const { server, machine } = await connectAndGetMachine();
|
|
137
137
|
try {
|
|
138
138
|
const tunnels = await machine.tunnelList({});
|
|
@@ -161,7 +161,7 @@ async function serviceDelete(args) {
|
|
|
161
161
|
process.exit(1);
|
|
162
162
|
}
|
|
163
163
|
try {
|
|
164
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
164
|
+
const { connectAndGetMachine } = await import('./commands-DJgTzFWk.mjs');
|
|
165
165
|
const { server, machine } = await connectAndGetMachine();
|
|
166
166
|
try {
|
|
167
167
|
await machine.tunnelStop({ name });
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { writeFileSync, readFileSync } from 'fs';
|
|
2
2
|
import { resolve } from 'path';
|
|
3
|
-
import { connectAndGetMachine } from './commands-
|
|
3
|
+
import { connectAndGetMachine } from './commands-DJgTzFWk.mjs';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'node:child_process';
|
|
6
6
|
import 'node:path';
|
|
7
7
|
import 'node:os';
|
|
8
|
-
import './run-
|
|
8
|
+
import './run-CvXWD1x2.mjs';
|
|
9
9
|
import 'os';
|
|
10
10
|
import 'fs/promises';
|
|
11
11
|
import 'url';
|
|
12
12
|
import 'child_process';
|
|
13
13
|
import 'crypto';
|
|
14
|
-
import 'util';
|
|
15
14
|
import 'node:crypto';
|
|
15
|
+
import 'util';
|
|
16
16
|
import 'node:events';
|
|
17
17
|
import '@agentclientprotocol/sdk';
|
|
18
18
|
import '@modelcontextprotocol/sdk/client/index.js';
|
|
@@ -2,7 +2,7 @@ import { existsSync, readFileSync } from 'node:fs';
|
|
|
2
2
|
import { execSync } from 'node:child_process';
|
|
3
3
|
import { basename, resolve, join } from 'node:path';
|
|
4
4
|
import os from 'node:os';
|
|
5
|
-
import {
|
|
5
|
+
import { G as normalizeAllowedUser, H as loadSecurityContextConfig, I as resolveSecurityContext, J as buildSecurityContextFromFlags, K as mergeSecurityContexts, c as connectToHypha, L as buildSessionShareUrl, M as computeOutboundHop, n as shortId, N as buildMachineShareUrl } from './run-CvXWD1x2.mjs';
|
|
6
6
|
import 'os';
|
|
7
7
|
import 'fs/promises';
|
|
8
8
|
import 'fs';
|
|
@@ -10,8 +10,8 @@ import 'path';
|
|
|
10
10
|
import 'url';
|
|
11
11
|
import 'child_process';
|
|
12
12
|
import 'crypto';
|
|
13
|
-
import 'util';
|
|
14
13
|
import 'node:crypto';
|
|
14
|
+
import 'util';
|
|
15
15
|
import 'node:events';
|
|
16
16
|
import '@agentclientprotocol/sdk';
|
|
17
17
|
import '@modelcontextprotocol/sdk/client/index.js';
|
|
@@ -55,7 +55,9 @@ function formatSessionStatus(data) {
|
|
|
55
55
|
`- Agent: ${data.flavor}`
|
|
56
56
|
];
|
|
57
57
|
if (data.name) lines.push(`- Title: ${data.name}`);
|
|
58
|
-
if (data.summary && data.summary !== data.name) lines.push(`-
|
|
58
|
+
if (data.summary && data.summary !== data.name) lines.push(`- Topic: ${data.summary}`);
|
|
59
|
+
if (data.projectName) lines.push(`- Project: ${data.projectName}`);
|
|
60
|
+
if (data.projectDescription) lines.push(`- Project Description: ${data.projectDescription}`);
|
|
59
61
|
if (data.path) lines.push(`- Path: ${data.path}`);
|
|
60
62
|
if (data.host) lines.push(`- Host: ${data.host}`);
|
|
61
63
|
if (data.lifecycleState) lines.push(`- Lifecycle: ${data.lifecycleState}`);
|
|
@@ -97,6 +99,7 @@ const SESSION_RPC_PARAMS = {
|
|
|
97
99
|
switchMode: ["mode"],
|
|
98
100
|
restartClaude: [],
|
|
99
101
|
archiveSession: [],
|
|
102
|
+
regenerateSummary: [],
|
|
100
103
|
keepAlive: ["thinking", "mode"],
|
|
101
104
|
sessionEnd: [],
|
|
102
105
|
getActivityState: [],
|
|
@@ -847,10 +850,13 @@ async function sessionWhoami(opts) {
|
|
|
847
850
|
const m = currentSession.metadata || {};
|
|
848
851
|
lines.push("## This session");
|
|
849
852
|
lines.push(`- id: ${currentSession.sessionId}`);
|
|
850
|
-
lines.push(`-
|
|
853
|
+
lines.push(`- topic: ${resolveDisplayName(m, currentSession.directory)}`);
|
|
851
854
|
lines.push(`- agent: ${m.flavor || "claude"}`);
|
|
852
855
|
lines.push(`- dir: ${m.path || currentSession.directory || "-"}`);
|
|
853
856
|
lines.push(`- machine: ${machineLabel(current.info)}`);
|
|
857
|
+
if (m.projectName || m.projectDescription) {
|
|
858
|
+
lines.push(`- project: ${m.projectName || "-"}${m.projectDescription ? ` \u2014 ${m.projectDescription}` : ""}`);
|
|
859
|
+
}
|
|
854
860
|
} else if (currentSessionId) {
|
|
855
861
|
lines.push("## This session");
|
|
856
862
|
lines.push(`- id: ${currentSessionId} (not yet visible in the machine registry)`);
|
|
@@ -1229,6 +1235,8 @@ async function sessionInfo(sessionId, machineId, opts) {
|
|
|
1229
1235
|
thinking: activity.thinking ?? false,
|
|
1230
1236
|
startedBy: metadata.startedBy || "",
|
|
1231
1237
|
summary: metadata.summary?.text || void 0,
|
|
1238
|
+
projectName: metadata.projectName || void 0,
|
|
1239
|
+
projectDescription: metadata.projectDescription || void 0,
|
|
1232
1240
|
claudeSessionId: metadata.claudeSessionId || void 0,
|
|
1233
1241
|
sessionLink: metadata.sessionLink?.url || void 0,
|
|
1234
1242
|
tags: metadata.tags?.length ? metadata.tags : void 0,
|
|
@@ -1679,13 +1687,12 @@ async function sendCore(machine, fullId, message, opts) {
|
|
|
1679
1687
|
}
|
|
1680
1688
|
}
|
|
1681
1689
|
const preSeq = wantResponse ? await snapshotLatestSeq(machine, fullId) : 0;
|
|
1682
|
-
const { randomUUID } = await import('node:crypto');
|
|
1683
1690
|
const callerSessionId = process.env.SVAMP_SESSION_ID;
|
|
1684
1691
|
const hop = computeOutboundHop(callerSessionId);
|
|
1685
1692
|
let urgency = opts?.urgency ? opts.urgency : shouldWait ? "urgent" : "normal";
|
|
1686
1693
|
if (hop.fromInboxTurn) urgency = "normal";
|
|
1687
1694
|
const inboxMessage = {
|
|
1688
|
-
messageId:
|
|
1695
|
+
messageId: shortId(),
|
|
1689
1696
|
body: message,
|
|
1690
1697
|
timestamp: Date.now(),
|
|
1691
1698
|
read: false,
|
|
@@ -2313,21 +2320,37 @@ async function sessionLoopStatus(sessionIdPartial, machineId) {
|
|
|
2313
2320
|
const { server, machine, fullId } = await connectAndResolveSession(sessionIdPartial, machineId);
|
|
2314
2321
|
try {
|
|
2315
2322
|
const svc = getSessionProxy(machine, fullId);
|
|
2316
|
-
|
|
2317
|
-
|
|
2318
|
-
|
|
2319
|
-
|
|
2320
|
-
|
|
2321
|
-
|
|
2323
|
+
const readJsonFile = async (relPath) => {
|
|
2324
|
+
try {
|
|
2325
|
+
const raw = await svc.readFile(relPath);
|
|
2326
|
+
const content = typeof raw === "string" ? raw : raw?.content;
|
|
2327
|
+
if (content) return JSON.parse(Buffer.from(content, "base64").toString("utf-8"));
|
|
2328
|
+
} catch {
|
|
2329
|
+
}
|
|
2330
|
+
return null;
|
|
2331
|
+
};
|
|
2332
|
+
const loopRel = `.svamp/${fullId}/loop`;
|
|
2333
|
+
let base = loopRel;
|
|
2334
|
+
let state = await readJsonFile(`${loopRel}/loop-state.json`);
|
|
2335
|
+
if (!state) {
|
|
2336
|
+
base = ".claude/loop";
|
|
2337
|
+
state = await readJsonFile(`${base}/loop-state.json`);
|
|
2322
2338
|
}
|
|
2323
2339
|
if (!state) {
|
|
2324
2340
|
console.log("No loop configured on this session.");
|
|
2325
2341
|
return;
|
|
2326
2342
|
}
|
|
2343
|
+
const config = await readJsonFile(`${base}/loop.config.json`);
|
|
2344
|
+
const verdict = await readJsonFile(`${base}/evaluator-verdict.json`);
|
|
2327
2345
|
console.log(`Loop on session ${fullId.slice(0, 8)}:`);
|
|
2346
|
+
const maxN = config?.max_iterations;
|
|
2328
2347
|
console.log(` Phase: ${state.phase || (state.active === false ? "inactive" : "running")}`);
|
|
2329
|
-
console.log(` Iteration: ${state.iteration ?? 0}`);
|
|
2348
|
+
console.log(` Iteration: ${state.iteration ?? 0}${maxN ? ` / ${maxN}` : ""}`);
|
|
2349
|
+
if (config?.oracle?.command) console.log(` Oracle: ${config.oracle.command}`);
|
|
2330
2350
|
if (state.last_oracle) console.log(` Last oracle: ${String(state.last_oracle).split("\n")[0]}`);
|
|
2351
|
+
if (config && config.evaluator?.enabled !== false) {
|
|
2352
|
+
console.log(` Evaluator: ${verdict ? `${verdict.verdict}${verdict.reason ? ` \u2014 ${verdict.reason}` : ""}` : "on (no verdict yet)"}`);
|
|
2353
|
+
}
|
|
2331
2354
|
if (state.gave_up_reason) console.log(` Gave up: ${state.gave_up_reason}`);
|
|
2332
2355
|
if (state.started_at) console.log(` Started at: ${state.started_at}`);
|
|
2333
2356
|
} finally {
|
|
@@ -2337,13 +2360,12 @@ async function sessionLoopStatus(sessionIdPartial, machineId) {
|
|
|
2337
2360
|
async function sessionInboxSend(sessionIdPartial, body, machineId, opts) {
|
|
2338
2361
|
const { server, machine, fullId } = await connectAndResolveSession(sessionIdPartial, machineId);
|
|
2339
2362
|
try {
|
|
2340
|
-
const { randomUUID } = await import('node:crypto');
|
|
2341
2363
|
const callerSessionId = process.env.SVAMP_SESSION_ID;
|
|
2342
2364
|
const hop = computeOutboundHop(callerSessionId);
|
|
2343
2365
|
let urgency = opts?.urgency || "normal";
|
|
2344
2366
|
if (hop.fromInboxTurn) urgency = "normal";
|
|
2345
2367
|
const message = {
|
|
2346
|
-
messageId:
|
|
2368
|
+
messageId: shortId(),
|
|
2347
2369
|
body,
|
|
2348
2370
|
timestamp: Date.now(),
|
|
2349
2371
|
read: false,
|
|
@@ -2444,10 +2466,9 @@ async function sessionInboxReply(sessionIdPartial, messageId, body, machineId) {
|
|
|
2444
2466
|
console.error("Cannot reply: original message has no fromSession (and not a channel message).");
|
|
2445
2467
|
process.exit(1);
|
|
2446
2468
|
}
|
|
2447
|
-
const { randomUUID } = await import('node:crypto');
|
|
2448
2469
|
const hop = computeOutboundHop(process.env.SVAMP_SESSION_ID || fullId);
|
|
2449
2470
|
const reply = {
|
|
2450
|
-
messageId:
|
|
2471
|
+
messageId: shortId(),
|
|
2451
2472
|
body,
|
|
2452
2473
|
timestamp: Date.now(),
|
|
2453
2474
|
read: false,
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import os from 'os';
|
|
2
2
|
import fs__default from 'fs';
|
|
3
3
|
import { resolve, join, relative } from 'path';
|
|
4
|
-
import { p as parseFrontmatter,
|
|
4
|
+
import { p as parseFrontmatter, o as getSkillsServer, q as getSkillsWorkspaceName, t as getSkillsCollectionName, u as fetchWithTimeout, v as searchSkills, w as SKILLS_DIR, x as getSkillInfo, y as downloadSkillFile, z as listSkillFiles } from './run-CvXWD1x2.mjs';
|
|
5
5
|
import 'fs/promises';
|
|
6
6
|
import 'url';
|
|
7
7
|
import 'child_process';
|
|
8
8
|
import 'crypto';
|
|
9
|
+
import 'node:crypto';
|
|
9
10
|
import 'node:fs';
|
|
10
11
|
import 'node:child_process';
|
|
11
12
|
import 'util';
|
|
12
13
|
import 'node:path';
|
|
13
|
-
import 'node:crypto';
|
|
14
14
|
import 'node:os';
|
|
15
15
|
import 'node:events';
|
|
16
16
|
import '@agentclientprotocol/sdk';
|