svamp-cli 0.2.100 → 0.2.101
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/{agentCommands-muy26BZI.mjs → agentCommands-CAqLhLOH.mjs} +2 -2
- package/dist/{auth-RVq9wRhV.mjs → auth-CYA0e4mT.mjs} +1 -1
- package/dist/cli.mjs +50 -50
- package/dist/{commands-Cu96nDGv.mjs → commands-B2uNdsyR.mjs} +2 -2
- package/dist/{commands-ChzeHFd3.mjs → commands-Bxn_4u7d.mjs} +1 -1
- package/dist/{commands-rSREfaQg.mjs → commands-CdxEOPUt.mjs} +1 -1
- package/dist/{commands-lSqc48Ib.mjs → commands-D-3h8H0C.mjs} +5 -5
- package/dist/{commands-EwE87XNi.mjs → commands-DRQUzw4j.mjs} +1 -1
- package/dist/{fleet-qN96q6Qb.mjs → fleet-CNF84yJV.mjs} +1 -1
- package/dist/{frpc-CIkmTNdJ.mjs → frpc-WVnBbyjf.mjs} +1 -1
- package/dist/{headlessCli-BVcAcLr1.mjs → headlessCli-DcP8eawK.mjs} +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{package-B7S5w1VE.mjs → package-DHxiXJ3N.mjs} +1 -1
- package/dist/{run-zXRdkYtk.mjs → run-C7WSV8zx.mjs} +1 -1
- package/dist/{run-CdtYIBbd.mjs → run-CsMTSngP.mjs} +92 -4
- package/dist/{serveCommands-BZd0reEj.mjs → serveCommands-Can8WtLI.mjs} +5 -5
- package/dist/{serveManager-lmPtmRnR.mjs → serveManager-DfETVSOb.mjs} +2 -2
- package/dist/{sideband-JeID_jF-.mjs → sideband-C10Ni7p_.mjs} +1 -1
- package/package.json +1 -1
|
@@ -148,7 +148,7 @@ async function sessionBroadcast(action, args) {
|
|
|
148
148
|
console.log(`Broadcast sent: ${action}`);
|
|
149
149
|
}
|
|
150
150
|
async function connectToMachineService() {
|
|
151
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
151
|
+
const { connectAndGetMachine } = await import('./commands-CdxEOPUt.mjs');
|
|
152
152
|
return connectAndGetMachine();
|
|
153
153
|
}
|
|
154
154
|
async function inboxSend(targetSessionId, opts) {
|
|
@@ -165,7 +165,7 @@ async function inboxSend(targetSessionId, opts) {
|
|
|
165
165
|
}
|
|
166
166
|
const { server, machine } = await connectToMachineService();
|
|
167
167
|
try {
|
|
168
|
-
const { resolveSessionId } = await import('./commands-
|
|
168
|
+
const { resolveSessionId } = await import('./commands-CdxEOPUt.mjs');
|
|
169
169
|
const sessions = await machine.listSessions();
|
|
170
170
|
const match = resolveSessionId(sessions, targetSessionId);
|
|
171
171
|
const fullTargetId = match.sessionId;
|
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-CsMTSngP.mjs';
|
|
2
2
|
import { ensureSupervisorViaServiceManager, LAUNCHD_LABEL } from './serviceManager-hlOVxkhW.mjs';
|
|
3
3
|
import 'os';
|
|
4
4
|
import 'fs/promises';
|
|
@@ -33,7 +33,7 @@ const subcommand = args[0];
|
|
|
33
33
|
let daemonSubcommand = args[1];
|
|
34
34
|
async function main() {
|
|
35
35
|
try {
|
|
36
|
-
const { getLoadedConfig } = await import('./run-
|
|
36
|
+
const { getLoadedConfig } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.Y; });
|
|
37
37
|
getLoadedConfig();
|
|
38
38
|
} catch {
|
|
39
39
|
}
|
|
@@ -50,7 +50,7 @@ async function main() {
|
|
|
50
50
|
console.error(`svamp daemon restart: ${err.message || err}`);
|
|
51
51
|
process.exit(1);
|
|
52
52
|
}
|
|
53
|
-
const { restartDaemon } = await import('./run-
|
|
53
|
+
const { restartDaemon } = await import('./run-CsMTSngP.mjs').then(function (n) { return n._; });
|
|
54
54
|
await restartDaemon();
|
|
55
55
|
process.exit(0);
|
|
56
56
|
}
|
|
@@ -343,7 +343,7 @@ async function main() {
|
|
|
343
343
|
console.error("svamp service: Service commands are not available in sandboxed sessions.");
|
|
344
344
|
process.exit(1);
|
|
345
345
|
}
|
|
346
|
-
const { handleServiceCommand } = await import('./commands-
|
|
346
|
+
const { handleServiceCommand } = await import('./commands-D-3h8H0C.mjs');
|
|
347
347
|
await handleServiceCommand();
|
|
348
348
|
} else if (subcommand === "serve") {
|
|
349
349
|
const { isSandboxed: isSandboxedServe } = await import('./sandboxDetect-DNTcbgWD.mjs');
|
|
@@ -351,7 +351,7 @@ async function main() {
|
|
|
351
351
|
console.error("svamp serve: Serve commands are not available in sandboxed sessions.");
|
|
352
352
|
process.exit(1);
|
|
353
353
|
}
|
|
354
|
-
const { handleServeCommand } = await import('./serveCommands-
|
|
354
|
+
const { handleServeCommand } = await import('./serveCommands-Can8WtLI.mjs');
|
|
355
355
|
await handleServeCommand();
|
|
356
356
|
process.exit(0);
|
|
357
357
|
} else if (subcommand === "process" || subcommand === "proc") {
|
|
@@ -360,7 +360,7 @@ async function main() {
|
|
|
360
360
|
console.error("svamp process: Process commands are not available in sandboxed sessions.");
|
|
361
361
|
process.exit(1);
|
|
362
362
|
}
|
|
363
|
-
const { processCommand } = await import('./commands-
|
|
363
|
+
const { processCommand } = await import('./commands-B2uNdsyR.mjs');
|
|
364
364
|
let machineId;
|
|
365
365
|
const processArgs = args.slice(1);
|
|
366
366
|
const mIdx = processArgs.findIndex((a) => a === "--machine" || a === "-m");
|
|
@@ -374,7 +374,7 @@ async function main() {
|
|
|
374
374
|
}), machineId);
|
|
375
375
|
process.exit(0);
|
|
376
376
|
} else if (subcommand === "routine" || subcommand === "routines") {
|
|
377
|
-
const { routineCommand } = await import('./commands-
|
|
377
|
+
const { routineCommand } = await import('./commands-Bxn_4u7d.mjs');
|
|
378
378
|
await routineCommand(args.slice(1));
|
|
379
379
|
process.exit(0);
|
|
380
380
|
} else if (subcommand === "wise-agent" || subcommand === "wise") {
|
|
@@ -385,7 +385,7 @@ async function main() {
|
|
|
385
385
|
} else if (!subcommand || subcommand === "start") {
|
|
386
386
|
await handleInteractiveCommand();
|
|
387
387
|
} else if (subcommand === "--version" || subcommand === "-v") {
|
|
388
|
-
const pkg = await import('./package-
|
|
388
|
+
const pkg = await import('./package-DHxiXJ3N.mjs').catch(() => ({ default: { version: "unknown" } }));
|
|
389
389
|
console.log(`svamp version: ${pkg.default.version}`);
|
|
390
390
|
} else {
|
|
391
391
|
console.error(`Unknown command: ${subcommand}`);
|
|
@@ -394,7 +394,7 @@ async function main() {
|
|
|
394
394
|
}
|
|
395
395
|
}
|
|
396
396
|
async function handleInteractiveCommand() {
|
|
397
|
-
const { runInteractive } = await import('./run-
|
|
397
|
+
const { runInteractive } = await import('./run-C7WSV8zx.mjs');
|
|
398
398
|
const interactiveArgs = subcommand === "start" ? args.slice(1) : args;
|
|
399
399
|
let directory = process.cwd();
|
|
400
400
|
let resumeSessionId;
|
|
@@ -439,7 +439,7 @@ async function handleAgentCommand() {
|
|
|
439
439
|
return;
|
|
440
440
|
}
|
|
441
441
|
if (agentArgs[0] === "list") {
|
|
442
|
-
const { KNOWN_ACP_AGENTS, KNOWN_MCP_AGENTS: KNOWN_MCP_AGENTS2 } = await import('./run-
|
|
442
|
+
const { KNOWN_ACP_AGENTS, KNOWN_MCP_AGENTS: KNOWN_MCP_AGENTS2 } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.U; });
|
|
443
443
|
console.log("Known agents:");
|
|
444
444
|
for (const [name, config2] of Object.entries(KNOWN_ACP_AGENTS)) {
|
|
445
445
|
console.log(` ${name.padEnd(12)} ${config2.command} ${config2.args.join(" ")} (ACP)`);
|
|
@@ -451,7 +451,7 @@ async function handleAgentCommand() {
|
|
|
451
451
|
console.log('Use "svamp agent -- <command> [args]" for a custom ACP agent.');
|
|
452
452
|
return;
|
|
453
453
|
}
|
|
454
|
-
const { resolveAcpAgentConfig, KNOWN_MCP_AGENTS } = await import('./run-
|
|
454
|
+
const { resolveAcpAgentConfig, KNOWN_MCP_AGENTS } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.U; });
|
|
455
455
|
let cwd = process.cwd();
|
|
456
456
|
const filteredArgs = [];
|
|
457
457
|
for (let i = 0; i < agentArgs.length; i++) {
|
|
@@ -475,12 +475,12 @@ async function handleAgentCommand() {
|
|
|
475
475
|
console.log(`Starting ${config.agentName} agent in ${cwd}...`);
|
|
476
476
|
let backend;
|
|
477
477
|
if (KNOWN_MCP_AGENTS[config.agentName]) {
|
|
478
|
-
const { CodexMcpBackend } = await import('./run-
|
|
478
|
+
const { CodexMcpBackend } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.V; });
|
|
479
479
|
backend = new CodexMcpBackend({ cwd, log: logFn });
|
|
480
480
|
} else {
|
|
481
|
-
const { AcpBackend } = await import('./run-
|
|
482
|
-
const { GeminiTransport } = await import('./run-
|
|
483
|
-
const { DefaultTransport } = await import('./run-
|
|
481
|
+
const { AcpBackend } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.T; });
|
|
482
|
+
const { GeminiTransport } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.W; });
|
|
483
|
+
const { DefaultTransport } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.Q; });
|
|
484
484
|
const transportHandler = config.agentName === "gemini" ? new GeminiTransport() : new DefaultTransport(config.agentName);
|
|
485
485
|
backend = new AcpBackend({
|
|
486
486
|
agentName: config.agentName,
|
|
@@ -607,7 +607,7 @@ async function handleSessionCommand() {
|
|
|
607
607
|
process.exit(1);
|
|
608
608
|
}
|
|
609
609
|
}
|
|
610
|
-
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-
|
|
610
|
+
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-CdxEOPUt.mjs');
|
|
611
611
|
const parseFlagStr = (flag, shortFlag) => {
|
|
612
612
|
for (let i = 1; i < sessionArgs.length; i++) {
|
|
613
613
|
if ((sessionArgs[i] === flag || shortFlag) && i + 1 < sessionArgs.length) {
|
|
@@ -675,7 +675,7 @@ async function handleSessionCommand() {
|
|
|
675
675
|
allowDomain.push(sessionArgs[++i]);
|
|
676
676
|
}
|
|
677
677
|
}
|
|
678
|
-
const { parseShareArg } = await import('./commands-
|
|
678
|
+
const { parseShareArg } = await import('./commands-CdxEOPUt.mjs');
|
|
679
679
|
const shareEntries = share.map((s) => parseShareArg(s));
|
|
680
680
|
await sessionSpawn(agent, dir, targetMachineId, {
|
|
681
681
|
message,
|
|
@@ -762,7 +762,7 @@ async function handleSessionCommand() {
|
|
|
762
762
|
console.error(" Spawns a stateless Claude session in <directory>, sends <prompt>, prints the answer, then deletes the session.");
|
|
763
763
|
process.exit(1);
|
|
764
764
|
}
|
|
765
|
-
const { sessionQuery } = await import('./commands-
|
|
765
|
+
const { sessionQuery } = await import('./commands-CdxEOPUt.mjs');
|
|
766
766
|
await sessionQuery(dir, prompt, targetMachineId, {
|
|
767
767
|
timeout: parseFlagInt("--timeout"),
|
|
768
768
|
json: hasFlag("--json"),
|
|
@@ -795,7 +795,7 @@ async function handleSessionCommand() {
|
|
|
795
795
|
console.error("Usage: svamp session approve <session-id> [request-id] [--json]");
|
|
796
796
|
process.exit(1);
|
|
797
797
|
}
|
|
798
|
-
const { sessionApprove } = await import('./commands-
|
|
798
|
+
const { sessionApprove } = await import('./commands-CdxEOPUt.mjs');
|
|
799
799
|
const approveReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
800
800
|
await sessionApprove(sessionArgs[1], approveReqId, targetMachineId, {
|
|
801
801
|
json: hasFlag("--json")
|
|
@@ -805,7 +805,7 @@ async function handleSessionCommand() {
|
|
|
805
805
|
console.error("Usage: svamp session deny <session-id> [request-id] [--json]");
|
|
806
806
|
process.exit(1);
|
|
807
807
|
}
|
|
808
|
-
const { sessionDeny } = await import('./commands-
|
|
808
|
+
const { sessionDeny } = await import('./commands-CdxEOPUt.mjs');
|
|
809
809
|
const denyReqId = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
810
810
|
await sessionDeny(sessionArgs[1], denyReqId, targetMachineId, {
|
|
811
811
|
json: hasFlag("--json")
|
|
@@ -840,7 +840,7 @@ async function handleSessionCommand() {
|
|
|
840
840
|
console.error("Usage: svamp session set-title <title>");
|
|
841
841
|
process.exit(1);
|
|
842
842
|
}
|
|
843
|
-
const { sessionSetTitle } = await import('./agentCommands-
|
|
843
|
+
const { sessionSetTitle } = await import('./agentCommands-CAqLhLOH.mjs');
|
|
844
844
|
await sessionSetTitle(title);
|
|
845
845
|
} else if (sessionSubcommand === "set-link") {
|
|
846
846
|
const url = sessionArgs[1];
|
|
@@ -849,7 +849,7 @@ async function handleSessionCommand() {
|
|
|
849
849
|
process.exit(1);
|
|
850
850
|
}
|
|
851
851
|
const label = sessionArgs[2] && !sessionArgs[2].startsWith("--") ? sessionArgs[2] : void 0;
|
|
852
|
-
const { sessionSetLink } = await import('./agentCommands-
|
|
852
|
+
const { sessionSetLink } = await import('./agentCommands-CAqLhLOH.mjs');
|
|
853
853
|
await sessionSetLink(url, label);
|
|
854
854
|
} else if (sessionSubcommand === "notify") {
|
|
855
855
|
const message = sessionArgs[1];
|
|
@@ -858,7 +858,7 @@ async function handleSessionCommand() {
|
|
|
858
858
|
process.exit(1);
|
|
859
859
|
}
|
|
860
860
|
const level = parseFlagStr("--level") || "info";
|
|
861
|
-
const { sessionNotify } = await import('./agentCommands-
|
|
861
|
+
const { sessionNotify } = await import('./agentCommands-CAqLhLOH.mjs');
|
|
862
862
|
await sessionNotify(message, level);
|
|
863
863
|
} else if (sessionSubcommand === "broadcast") {
|
|
864
864
|
const action = sessionArgs[1];
|
|
@@ -866,7 +866,7 @@ async function handleSessionCommand() {
|
|
|
866
866
|
console.error("Usage: svamp session broadcast <action> [args...]\nActions: open-canvas <url> [label], close-canvas, toast <message>");
|
|
867
867
|
process.exit(1);
|
|
868
868
|
}
|
|
869
|
-
const { sessionBroadcast } = await import('./agentCommands-
|
|
869
|
+
const { sessionBroadcast } = await import('./agentCommands-CAqLhLOH.mjs');
|
|
870
870
|
await sessionBroadcast(action, sessionArgs.slice(2).filter((a) => !a.startsWith("--")));
|
|
871
871
|
} else if (sessionSubcommand === "inbox") {
|
|
872
872
|
const inboxSubcmd = sessionArgs[1];
|
|
@@ -877,7 +877,7 @@ async function handleSessionCommand() {
|
|
|
877
877
|
process.exit(1);
|
|
878
878
|
}
|
|
879
879
|
if (agentSessionId) {
|
|
880
|
-
const { inboxSend } = await import('./agentCommands-
|
|
880
|
+
const { inboxSend } = await import('./agentCommands-CAqLhLOH.mjs');
|
|
881
881
|
await inboxSend(sessionArgs[2], {
|
|
882
882
|
body: sessionArgs[3],
|
|
883
883
|
subject: parseFlagStr("--subject"),
|
|
@@ -892,7 +892,7 @@ async function handleSessionCommand() {
|
|
|
892
892
|
}
|
|
893
893
|
} else if (inboxSubcmd === "list" || inboxSubcmd === "ls") {
|
|
894
894
|
if (agentSessionId && !sessionArgs[2]) {
|
|
895
|
-
const { inboxList } = await import('./agentCommands-
|
|
895
|
+
const { inboxList } = await import('./agentCommands-CAqLhLOH.mjs');
|
|
896
896
|
await inboxList({
|
|
897
897
|
unread: hasFlag("--unread"),
|
|
898
898
|
limit: parseFlagInt("--limit"),
|
|
@@ -914,7 +914,7 @@ async function handleSessionCommand() {
|
|
|
914
914
|
process.exit(1);
|
|
915
915
|
}
|
|
916
916
|
if (agentSessionId && !sessionArgs[3]) {
|
|
917
|
-
const { inboxList } = await import('./agentCommands-
|
|
917
|
+
const { inboxList } = await import('./agentCommands-CAqLhLOH.mjs');
|
|
918
918
|
await sessionInboxRead(agentSessionId, sessionArgs[2], targetMachineId);
|
|
919
919
|
} else if (sessionArgs[3]) {
|
|
920
920
|
await sessionInboxRead(sessionArgs[2], sessionArgs[3], targetMachineId);
|
|
@@ -924,7 +924,7 @@ async function handleSessionCommand() {
|
|
|
924
924
|
}
|
|
925
925
|
} else if (inboxSubcmd === "reply") {
|
|
926
926
|
if (agentSessionId && sessionArgs[2] && sessionArgs[3] && !sessionArgs[4]) {
|
|
927
|
-
const { inboxReply } = await import('./agentCommands-
|
|
927
|
+
const { inboxReply } = await import('./agentCommands-CAqLhLOH.mjs');
|
|
928
928
|
await inboxReply(sessionArgs[2], sessionArgs[3]);
|
|
929
929
|
} else if (sessionArgs[2] && sessionArgs[3] && sessionArgs[4]) {
|
|
930
930
|
await sessionInboxReply(sessionArgs[2], sessionArgs[3], sessionArgs[4], targetMachineId);
|
|
@@ -960,7 +960,7 @@ async function handleMachineCommand() {
|
|
|
960
960
|
return;
|
|
961
961
|
}
|
|
962
962
|
if (machineSubcommand === "share") {
|
|
963
|
-
const { machineShare } = await import('./commands-
|
|
963
|
+
const { machineShare } = await import('./commands-CdxEOPUt.mjs');
|
|
964
964
|
let machineId;
|
|
965
965
|
const shareArgs = [];
|
|
966
966
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
@@ -990,7 +990,7 @@ async function handleMachineCommand() {
|
|
|
990
990
|
}
|
|
991
991
|
await machineShare(machineId, { add, remove, list, configPath, showConfig });
|
|
992
992
|
} else if (machineSubcommand === "exec") {
|
|
993
|
-
const { machineExec } = await import('./commands-
|
|
993
|
+
const { machineExec } = await import('./commands-CdxEOPUt.mjs');
|
|
994
994
|
let machineId;
|
|
995
995
|
let cwd;
|
|
996
996
|
const cmdParts = [];
|
|
@@ -1010,7 +1010,7 @@ async function handleMachineCommand() {
|
|
|
1010
1010
|
}
|
|
1011
1011
|
await machineExec(machineId, command, cwd);
|
|
1012
1012
|
} else if (machineSubcommand === "info") {
|
|
1013
|
-
const { machineInfo } = await import('./commands-
|
|
1013
|
+
const { machineInfo } = await import('./commands-CdxEOPUt.mjs');
|
|
1014
1014
|
let machineId;
|
|
1015
1015
|
for (let i = 1; i < machineArgs.length; i++) {
|
|
1016
1016
|
if ((machineArgs[i] === "--machine" || machineArgs[i] === "-m") && i + 1 < machineArgs.length) {
|
|
@@ -1030,10 +1030,10 @@ async function handleMachineCommand() {
|
|
|
1030
1030
|
level = machineArgs[++i];
|
|
1031
1031
|
}
|
|
1032
1032
|
}
|
|
1033
|
-
const { machineNotify } = await import('./agentCommands-
|
|
1033
|
+
const { machineNotify } = await import('./agentCommands-CAqLhLOH.mjs');
|
|
1034
1034
|
await machineNotify(message, level);
|
|
1035
1035
|
} else if (machineSubcommand === "ls") {
|
|
1036
|
-
const { machineLs } = await import('./commands-
|
|
1036
|
+
const { machineLs } = await import('./commands-CdxEOPUt.mjs');
|
|
1037
1037
|
let machineId;
|
|
1038
1038
|
let showHidden = false;
|
|
1039
1039
|
let path;
|
|
@@ -1091,24 +1091,24 @@ Examples:
|
|
|
1091
1091
|
};
|
|
1092
1092
|
const hasFlag = (name) => fleetArgs.includes(`--${name}`);
|
|
1093
1093
|
if (sub === "status") {
|
|
1094
|
-
const { fleetStatus } = await import('./fleet-
|
|
1094
|
+
const { fleetStatus } = await import('./fleet-CNF84yJV.mjs');
|
|
1095
1095
|
await fleetStatus();
|
|
1096
1096
|
} else if (sub === "exec") {
|
|
1097
1097
|
const command = fleetArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
1098
|
-
const { fleetExec } = await import('./fleet-
|
|
1098
|
+
const { fleetExec } = await import('./fleet-CNF84yJV.mjs');
|
|
1099
1099
|
await fleetExec(command, { cwd: flag("cwd") });
|
|
1100
1100
|
} else if (sub === "upgrade-claude") {
|
|
1101
|
-
const { fleetUpgradeClaude } = await import('./fleet-
|
|
1101
|
+
const { fleetUpgradeClaude } = await import('./fleet-CNF84yJV.mjs');
|
|
1102
1102
|
await fleetUpgradeClaude({ version: flag("version", "-v") });
|
|
1103
1103
|
} else if (sub === "upgrade-svamp") {
|
|
1104
|
-
const { fleetUpgradeSvamp } = await import('./fleet-
|
|
1104
|
+
const { fleetUpgradeSvamp } = await import('./fleet-CNF84yJV.mjs');
|
|
1105
1105
|
await fleetUpgradeSvamp({ version: flag("version", "-v"), excludeSelf: hasFlag("exclude-self") });
|
|
1106
1106
|
} else if (sub === "daemon-restart") {
|
|
1107
|
-
const { fleetDaemonRestart } = await import('./fleet-
|
|
1107
|
+
const { fleetDaemonRestart } = await import('./fleet-CNF84yJV.mjs');
|
|
1108
1108
|
await fleetDaemonRestart({ graceful: !hasFlag("cleanup") });
|
|
1109
1109
|
} else if (sub === "push-skill") {
|
|
1110
1110
|
const name = fleetArgs[1];
|
|
1111
|
-
const { fleetPushSkill } = await import('./fleet-
|
|
1111
|
+
const { fleetPushSkill } = await import('./fleet-CNF84yJV.mjs');
|
|
1112
1112
|
await fleetPushSkill(name);
|
|
1113
1113
|
} else {
|
|
1114
1114
|
console.error(`Unknown fleet subcommand: ${sub}`);
|
|
@@ -1124,7 +1124,7 @@ async function handleSkillsCommand() {
|
|
|
1124
1124
|
await printSkillsHelp();
|
|
1125
1125
|
return;
|
|
1126
1126
|
}
|
|
1127
|
-
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-
|
|
1127
|
+
const { skillsFind, skillsInstall, skillsList, skillsRemove, skillsPublish } = await import('./commands-DRQUzw4j.mjs');
|
|
1128
1128
|
if (skillsSubcommand === "find" || skillsSubcommand === "search") {
|
|
1129
1129
|
const query = skillsArgs.slice(1).filter((a) => !a.startsWith("--")).join(" ");
|
|
1130
1130
|
if (!query) {
|
|
@@ -1171,7 +1171,7 @@ async function loginToHypha() {
|
|
|
1171
1171
|
process.exit(1);
|
|
1172
1172
|
}
|
|
1173
1173
|
const anchor = anchorArg.replace(/\/+$/, "");
|
|
1174
|
-
const { loadInstanceConfig } = await import('./run-
|
|
1174
|
+
const { loadInstanceConfig } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.Y; });
|
|
1175
1175
|
let cfg = null;
|
|
1176
1176
|
try {
|
|
1177
1177
|
cfg = await loadInstanceConfig({ anchor, force: true });
|
|
@@ -1282,7 +1282,7 @@ async function logoutFromHypha() {
|
|
|
1282
1282
|
} catch {
|
|
1283
1283
|
}
|
|
1284
1284
|
try {
|
|
1285
|
-
const { clearInstanceConfigCache } = await import('./run-
|
|
1285
|
+
const { clearInstanceConfigCache } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.Y; });
|
|
1286
1286
|
clearInstanceConfigCache();
|
|
1287
1287
|
} catch {
|
|
1288
1288
|
}
|
|
@@ -1613,7 +1613,7 @@ async function applyClaudeAuthFlags(argv) {
|
|
|
1613
1613
|
"--use-hypha-proxy, --use-claude-login, and --anthropic-base-url/--anthropic-api-key are mutually exclusive"
|
|
1614
1614
|
);
|
|
1615
1615
|
}
|
|
1616
|
-
const mod = await import('./run-
|
|
1616
|
+
const mod = await import('./run-CsMTSngP.mjs').then(function (n) { return n.X; });
|
|
1617
1617
|
if (hasHypha) {
|
|
1618
1618
|
let url;
|
|
1619
1619
|
const hyphaIdx = argv.indexOf("--use-hypha-proxy");
|
|
@@ -1667,7 +1667,7 @@ async function applyDaemonShareFlag(argv) {
|
|
|
1667
1667
|
}
|
|
1668
1668
|
}
|
|
1669
1669
|
if (collected.length === 0) return;
|
|
1670
|
-
const { updateEnvFile } = await import('./run-
|
|
1670
|
+
const { updateEnvFile } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.X; });
|
|
1671
1671
|
const seen = /* @__PURE__ */ new Set();
|
|
1672
1672
|
const deduped = collected.filter((e) => {
|
|
1673
1673
|
const k = e.toLowerCase();
|
|
@@ -1700,7 +1700,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1700
1700
|
}
|
|
1701
1701
|
});
|
|
1702
1702
|
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(" ");
|
|
1703
|
-
const { wiseAskCli } = await import('./commands-
|
|
1703
|
+
const { wiseAskCli } = await import('./commands-CdxEOPUt.mjs');
|
|
1704
1704
|
await wiseAskCli(machineId, message, sessionId, { json });
|
|
1705
1705
|
return;
|
|
1706
1706
|
}
|
|
@@ -1712,7 +1712,7 @@ async function handleWiseAgentCommand(rest) {
|
|
|
1712
1712
|
}
|
|
1713
1713
|
return void 0;
|
|
1714
1714
|
};
|
|
1715
|
-
const { runWiseVoiceCli } = await import('./headlessCli-
|
|
1715
|
+
const { runWiseVoiceCli } = await import('./headlessCli-DcP8eawK.mjs');
|
|
1716
1716
|
await runWiseVoiceCli({ voice: valueOf(["--voice"]), wakeKeywordPath: valueOf(["--wake"]), model: valueOf(["--model"]) });
|
|
1717
1717
|
return;
|
|
1718
1718
|
}
|
|
@@ -1754,7 +1754,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
1754
1754
|
return;
|
|
1755
1755
|
}
|
|
1756
1756
|
const authArgs = rest.slice(1);
|
|
1757
|
-
const mod = await import('./auth-
|
|
1757
|
+
const mod = await import('./auth-CYA0e4mT.mjs');
|
|
1758
1758
|
let action;
|
|
1759
1759
|
try {
|
|
1760
1760
|
action = mod.parseWiseAgentAuthArgs(authArgs);
|
|
@@ -1764,7 +1764,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
1764
1764
|
return;
|
|
1765
1765
|
}
|
|
1766
1766
|
if (action) {
|
|
1767
|
-
const { updateEnvFile } = await import('./run-
|
|
1767
|
+
const { updateEnvFile } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.X; });
|
|
1768
1768
|
const updates = mod.buildWiseAgentEnvUpdates(action);
|
|
1769
1769
|
updateEnvFile(updates);
|
|
1770
1770
|
for (const [k, v] of Object.entries(updates)) {
|
|
@@ -1778,7 +1778,7 @@ If none is set, hitting a WISE Agent channel returns a clear "not configured" er
|
|
|
1778
1778
|
}
|
|
1779
1779
|
async function handleDaemonAuthCommand(argv) {
|
|
1780
1780
|
const sub = (argv[0] || "status").toLowerCase();
|
|
1781
|
-
const mod = await import('./run-
|
|
1781
|
+
const mod = await import('./run-CsMTSngP.mjs').then(function (n) { return n.X; });
|
|
1782
1782
|
if (sub === "--help" || sub === "-h" || sub === "help") {
|
|
1783
1783
|
console.log(`
|
|
1784
1784
|
svamp daemon auth \u2014 Configure how Claude subprocesses authenticate
|
|
@@ -2081,7 +2081,7 @@ Examples:
|
|
|
2081
2081
|
async function printSkillsHelp() {
|
|
2082
2082
|
let browseUrl = "<HYPHA_SERVER_URL>/<workspace>/artifacts/marketplace (set HYPHA_SERVER_URL)";
|
|
2083
2083
|
try {
|
|
2084
|
-
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-
|
|
2084
|
+
const { getArtifactBaseUrl, getSkillsCollectionName } = await import('./run-CsMTSngP.mjs').then(function (n) { return n.Z; });
|
|
2085
2085
|
browseUrl = `${getArtifactBaseUrl()}/${getSkillsCollectionName()}`;
|
|
2086
2086
|
} catch {
|
|
2087
2087
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { writeFileSync, readFileSync } from 'fs';
|
|
2
2
|
import { resolve } from 'path';
|
|
3
|
-
import { connectAndGetMachine } from './commands-
|
|
3
|
+
import { connectAndGetMachine } from './commands-CdxEOPUt.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-CsMTSngP.mjs';
|
|
9
9
|
import 'os';
|
|
10
10
|
import 'fs/promises';
|
|
11
11
|
import 'url';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { execFileSync } from 'node:child_process';
|
|
2
2
|
import { createServer } from 'node:http';
|
|
3
|
-
import { R as RoutineStore, m as RoutineRunner } from './run-
|
|
3
|
+
import { R as RoutineStore, m as RoutineRunner } from './run-CsMTSngP.mjs';
|
|
4
4
|
import 'os';
|
|
5
5
|
import 'fs/promises';
|
|
6
6
|
import 'fs';
|
|
@@ -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 { F as normalizeAllowedUser, G as loadSecurityContextConfig, H as resolveSecurityContext, I as buildSecurityContextFromFlags, J as mergeSecurityContexts, c as connectToHypha, K as buildSessionShareUrl, L as computeOutboundHop, M as buildMachineShareUrl } from './run-
|
|
5
|
+
import { F as normalizeAllowedUser, G as loadSecurityContextConfig, H as resolveSecurityContext, I as buildSecurityContextFromFlags, J as mergeSecurityContexts, c as connectToHypha, K as buildSessionShareUrl, L as computeOutboundHop, M as buildMachineShareUrl } from './run-CsMTSngP.mjs';
|
|
6
6
|
import 'os';
|
|
7
7
|
import 'fs/promises';
|
|
8
8
|
import 'fs';
|
|
@@ -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-WVnBbyjf.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-CdxEOPUt.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-WVnBbyjf.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-CdxEOPUt.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-CdxEOPUt.mjs');
|
|
165
165
|
const { server, machine } = await connectAndGetMachine();
|
|
166
166
|
try {
|
|
167
167
|
await machine.tunnelStop({ name });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import os from 'os';
|
|
2
2
|
import fs__default from 'fs';
|
|
3
3
|
import { resolve, join, relative } from 'path';
|
|
4
|
-
import { p as parseFrontmatter, n as getSkillsServer, o as getSkillsWorkspaceName, q as getSkillsCollectionName, t as fetchWithTimeout, u as searchSkills, v as SKILLS_DIR, w as getSkillInfo, x as downloadSkillFile, y as listSkillFiles } from './run-
|
|
4
|
+
import { p as parseFrontmatter, n as getSkillsServer, o as getSkillsWorkspaceName, q as getSkillsCollectionName, t as fetchWithTimeout, u as searchSkills, v as SKILLS_DIR, w as getSkillInfo, x as downloadSkillFile, y as listSkillFiles } from './run-CsMTSngP.mjs';
|
|
5
5
|
import 'fs/promises';
|
|
6
6
|
import 'url';
|
|
7
7
|
import 'child_process';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
2
|
import { join } from 'node:path';
|
|
3
3
|
import os from 'node:os';
|
|
4
|
-
import { c as connectToHypha } from './run-
|
|
4
|
+
import { c as connectToHypha } from './run-CsMTSngP.mjs';
|
|
5
5
|
import { PINNED_CLAUDE_CODE_VERSION } from './pinnedClaudeCode-HydRNEt7.mjs';
|
|
6
6
|
import 'os';
|
|
7
7
|
import 'fs/promises';
|
|
@@ -3,7 +3,7 @@ import { mkdirSync, writeFileSync, unlinkSync, existsSync, chmodSync, readFileSy
|
|
|
3
3
|
import { join } from 'path';
|
|
4
4
|
import { homedir, platform, arch } from 'os';
|
|
5
5
|
import { createHash, randomUUID } from 'crypto';
|
|
6
|
-
import { h as getFrpsSubdomainHost, i as getFrpsServerPort, j as getFrpsServerAddr } from './run-
|
|
6
|
+
import { h as getFrpsSubdomainHost, i as getFrpsServerPort, j as getFrpsServerAddr } from './run-CsMTSngP.mjs';
|
|
7
7
|
import 'fs/promises';
|
|
8
8
|
import 'url';
|
|
9
9
|
import 'node:fs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as resolveModel, N as describeMisconfiguration, O as buildMachineDeps } from './run-
|
|
2
|
-
import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-
|
|
1
|
+
import { E as resolveModel, N as describeMisconfiguration, O as buildMachineDeps } from './run-CsMTSngP.mjs';
|
|
2
|
+
import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-C10Ni7p_.mjs';
|
|
3
3
|
import { WebSocket } from 'ws';
|
|
4
4
|
import { execSync, spawn } from 'child_process';
|
|
5
5
|
import 'os';
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { c as connectToHypha, a as createSessionStore, d as daemonStatus, g as getHyphaServerUrl, r as registerMachineService, s as startDaemon, b as stopDaemon } from './run-
|
|
1
|
+
export { c as connectToHypha, a as createSessionStore, d as daemonStatus, g as getHyphaServerUrl, r as registerMachineService, s as startDaemon, b as stopDaemon } from './run-CsMTSngP.mjs';
|
|
2
2
|
import 'os';
|
|
3
3
|
import 'fs/promises';
|
|
4
4
|
import 'fs';
|
|
@@ -2,7 +2,7 @@ import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(im
|
|
|
2
2
|
import os from 'node:os';
|
|
3
3
|
import { resolve, join } from 'node:path';
|
|
4
4
|
import { existsSync, readFileSync, watch } from 'node:fs';
|
|
5
|
-
import { c as connectToHypha, a as createSessionStore, r as registerMachineService, P as generateHookSettings } from './run-
|
|
5
|
+
import { c as connectToHypha, a as createSessionStore, r as registerMachineService, P as generateHookSettings } from './run-CsMTSngP.mjs';
|
|
6
6
|
import { createServer } from 'node:http';
|
|
7
7
|
import { spawn } from 'node:child_process';
|
|
8
8
|
import { createInterface } from 'node:readline';
|
|
@@ -433,6 +433,75 @@ function buildTools(deps, skills) {
|
|
|
433
433
|
}
|
|
434
434
|
return "(sent to the coding agent)";
|
|
435
435
|
}
|
|
436
|
+
},
|
|
437
|
+
// Create routine / loop / channel. ONLY call after the caller confirmed the
|
|
438
|
+
// proposed config (see the propose-then-confirm instruction in context.ts).
|
|
439
|
+
{
|
|
440
|
+
name: "create_routine",
|
|
441
|
+
readOnly: false,
|
|
442
|
+
description: "Create a session-scoped routine (cron schedule or webhook \u2192 message or loop). ONLY after the caller confirmed the proposal.",
|
|
443
|
+
parameters: { type: "object", properties: {
|
|
444
|
+
name: { type: "string", description: "Short human name." },
|
|
445
|
+
cron: { type: "string", description: 'Cron for a schedule trigger, e.g. "0 9 * * 1-5". Omit for a webhook.' },
|
|
446
|
+
tz: { type: "string", description: "IANA timezone for the schedule." },
|
|
447
|
+
action_kind: { type: "string", enum: ["message", "loop"], description: '"message" sends text to this session; "loop" starts a self-verifying loop.' },
|
|
448
|
+
message: { type: "string", description: "For message action: the text/template to deliver." },
|
|
449
|
+
task: { type: "string", description: "For loop action: the loop task." },
|
|
450
|
+
oracle: { type: "string", description: "For loop action: optional pass/fail command." }
|
|
451
|
+
}, required: ["name", "action_kind"], additionalProperties: false },
|
|
452
|
+
run: async (a) => {
|
|
453
|
+
const cron = a?.cron ? str$1(a.cron) : "";
|
|
454
|
+
const routine = {
|
|
455
|
+
name: str$1(a?.name),
|
|
456
|
+
enabled: true,
|
|
457
|
+
trigger: cron ? { type: "schedule", cron, ...a?.tz ? { tz: str$1(a.tz) } : {} } : { type: "webhook" },
|
|
458
|
+
action: str$1(a?.action_kind) === "loop" ? { kind: "loop", task_template: str$1(a?.task), loop: { task: str$1(a?.task), ...a?.oracle ? { oracle: str$1(a.oracle) } : {} } } : { kind: "message", template: str$1(a?.message) }
|
|
459
|
+
};
|
|
460
|
+
const r = await deps.saveRoutine(routine);
|
|
461
|
+
return r.success ? `Created routine "${str$1(a?.name)}" (${r.routine?.id || "saved"}).` : `Could not create routine: ${r.error || "unknown error"}.`;
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
name: "create_loop",
|
|
466
|
+
readOnly: false,
|
|
467
|
+
description: "Start a self-verifying loop in the bound session (iterates until an evaluator + optional oracle confirm done). ONLY after the caller confirmed the proposal.",
|
|
468
|
+
parameters: { type: "object", properties: {
|
|
469
|
+
task: { type: "string", description: "What the loop should accomplish." },
|
|
470
|
+
criteria: { type: "string", description: "How we know it is genuinely done." },
|
|
471
|
+
oracle: { type: "string", description: 'Optional pass/fail command (e.g. "npm test").' },
|
|
472
|
+
max_iterations: { type: "number", description: "Iteration ceiling (default 20)." }
|
|
473
|
+
}, required: ["task"], additionalProperties: false },
|
|
474
|
+
run: async (a) => {
|
|
475
|
+
await deps.startLoop({
|
|
476
|
+
task: str$1(a?.task),
|
|
477
|
+
criteria: a?.criteria ? str$1(a.criteria) : void 0,
|
|
478
|
+
oracle: a?.oracle ? str$1(a.oracle) : void 0,
|
|
479
|
+
maxIterations: typeof a?.max_iterations === "number" ? a.max_iterations : void 0
|
|
480
|
+
});
|
|
481
|
+
return `Started a loop: "${str$1(a?.task).slice(0, 80)}".`;
|
|
482
|
+
}
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
name: "create_channel",
|
|
486
|
+
readOnly: false,
|
|
487
|
+
description: "Create an inbound channel so other users/agents can message this session (identity-tagged). ONLY after the caller confirmed the proposal.",
|
|
488
|
+
parameters: { type: "object", properties: {
|
|
489
|
+
name: { type: "string", description: "Short channel name." },
|
|
490
|
+
description: { type: "string", description: "What this channel is for." },
|
|
491
|
+
identity_mode: { type: "string", enum: ["per-key", "caller-supplied", "fixed"], description: 'How callers are identified (default "per-key").' }
|
|
492
|
+
}, required: ["name"], additionalProperties: false },
|
|
493
|
+
run: async (a) => {
|
|
494
|
+
const mode = a?.identity_mode ? str$1(a.identity_mode) : "per-key";
|
|
495
|
+
const channel = {
|
|
496
|
+
name: str$1(a?.name),
|
|
497
|
+
...a?.description ? { description: str$1(a.description) } : {},
|
|
498
|
+
enabled: true,
|
|
499
|
+
identity: mode === "fixed" ? { mode, fixed: { name: "caller", kind: "agent" } } : { mode },
|
|
500
|
+
action: { kind: "message" }
|
|
501
|
+
};
|
|
502
|
+
const r = await deps.saveChannel(channel);
|
|
503
|
+
return r.success ? `Created channel "${str$1(a?.name)}" (${r.channel?.id || "saved"}).` : `Could not create channel: ${r.error || "unknown error"}.`;
|
|
504
|
+
}
|
|
436
505
|
}
|
|
437
506
|
];
|
|
438
507
|
}
|
|
@@ -560,10 +629,12 @@ You are WISE Agent, a fast, text-mode companion to the deep coding agent (Claude
|
|
|
560
629
|
- use_skill \u2014 load a project skill's full steps by name, then carry them out with run_bash.
|
|
561
630
|
- run_bash \u2014 run a shell command on the session's machine (when granted).
|
|
562
631
|
- send_to_session \u2014 hand a clear, reformulated instruction to the deep coding agent (when granted); pass wait=true to block for its reply.
|
|
632
|
+
- create_routine / create_loop / create_channel \u2014 set up a scheduled/triggered routine, a self-verifying loop, or an inbound channel for this session (when granted). ALWAYS propose first and confirm before calling these (see below).
|
|
563
633
|
|
|
564
634
|
# Instructions
|
|
565
635
|
- Answer general questions and questions about yourself directly. Use tools only to act on the machine/session.
|
|
566
636
|
- Take the cheap path: read state directly; delegate anything LONG to summarize_session \u2014 keep your own context small.
|
|
637
|
+
- To create a routine, loop, or channel: first restate the resolved config in one line and ask the caller to reply "confirm" to proceed. Only call create_routine / create_loop / create_channel after they confirm in a follow-up message. Never create without confirmation.
|
|
567
638
|
- For destructive actions (deleting, stopping, killing), require a verified caller and confirm intent; for safe reads, just do it.
|
|
568
639
|
- If a tool fails or returns nothing useful, say so plainly \u2014 never fabricate a result.
|
|
569
640
|
- Report the outcome in one line.`;
|
|
@@ -936,6 +1007,23 @@ function buildSessionDeps(rpc, opts = {}) {
|
|
|
936
1007
|
recentMessageCount: messages.length,
|
|
937
1008
|
latestMessage: latestText
|
|
938
1009
|
};
|
|
1010
|
+
},
|
|
1011
|
+
async saveRoutine(routine) {
|
|
1012
|
+
return await rpc.saveRoutine(routine, ctx);
|
|
1013
|
+
},
|
|
1014
|
+
async startLoop(cfg) {
|
|
1015
|
+
await rpc.updateConfig({
|
|
1016
|
+
loop: {
|
|
1017
|
+
task: cfg.task,
|
|
1018
|
+
...cfg.criteria ? { criteria: cfg.criteria } : {},
|
|
1019
|
+
...cfg.oracle ? { oracle: cfg.oracle } : {},
|
|
1020
|
+
max_iterations: cfg.maxIterations ?? 20,
|
|
1021
|
+
evaluator: true
|
|
1022
|
+
}
|
|
1023
|
+
}, ctx);
|
|
1024
|
+
},
|
|
1025
|
+
async saveChannel(channel) {
|
|
1026
|
+
return await rpc.saveChannel(channel, ctx);
|
|
939
1027
|
}
|
|
940
1028
|
};
|
|
941
1029
|
}
|
|
@@ -2077,7 +2165,7 @@ async function registerMachineService(server, machineId, metadata, daemonState,
|
|
|
2077
2165
|
const tunnels = handlers.tunnels;
|
|
2078
2166
|
if (!tunnels) throw new Error("Tunnel management not available");
|
|
2079
2167
|
if (tunnels.has(params.name)) throw new Error(`Tunnel '${params.name}' already running`);
|
|
2080
|
-
const { FrpcTunnel } = await import('./frpc-
|
|
2168
|
+
const { FrpcTunnel } = await import('./frpc-WVnBbyjf.mjs');
|
|
2081
2169
|
const tunnel = new FrpcTunnel({
|
|
2082
2170
|
name: params.name,
|
|
2083
2171
|
ports: params.ports,
|
|
@@ -2338,7 +2426,7 @@ QUESTION: ${params.question || "Summarize this concisely."}` }
|
|
|
2338
2426
|
}
|
|
2339
2427
|
const deps = buildSessionDeps(rpc, { cwd, ownerEmail: owner });
|
|
2340
2428
|
const sender = { name: context?.user?.email || context?.user?.id || "user", kind: "user", verified: true };
|
|
2341
|
-
const { toolsForRole } = await import('./sideband-
|
|
2429
|
+
const { toolsForRole } = await import('./sideband-C10Ni7p_.mjs');
|
|
2342
2430
|
const r2 = await runWiseAgent({ message: params.message, sender, config: { tools: toolsForRole(role2) }, deps, transport, model: resolved.model });
|
|
2343
2431
|
return fmt(r2);
|
|
2344
2432
|
}
|
|
@@ -9834,7 +9922,7 @@ async function startDaemon(options) {
|
|
|
9834
9922
|
const list = loadExposedTunnels().filter((t) => t.name !== name);
|
|
9835
9923
|
saveExposedTunnels(list);
|
|
9836
9924
|
}
|
|
9837
|
-
const { ServeManager } = await import('./serveManager-
|
|
9925
|
+
const { ServeManager } = await import('./serveManager-DfETVSOb.mjs');
|
|
9838
9926
|
const serveManager = new ServeManager(SVAMP_HOME, (msg) => logger.log(`[SERVE] ${msg}`), hyphaServerUrl);
|
|
9839
9927
|
ensureAutoInstalledSkills(logger).catch(() => {
|
|
9840
9928
|
});
|
|
@@ -12145,7 +12233,7 @@ ${capturedError}${buildClaudeErrorHint(capturedError)}`;
|
|
|
12145
12233
|
const specs = loadExposedTunnels();
|
|
12146
12234
|
if (specs.length === 0) return;
|
|
12147
12235
|
logger.log(`[exposed-tunnels] Restoring ${specs.length} tunnel(s) from ${EXPOSED_TUNNELS_FILE}`);
|
|
12148
|
-
const { FrpcTunnel } = await import('./frpc-
|
|
12236
|
+
const { FrpcTunnel } = await import('./frpc-WVnBbyjf.mjs');
|
|
12149
12237
|
for (const spec of specs) {
|
|
12150
12238
|
if (tunnels.has(spec.name)) continue;
|
|
12151
12239
|
try {
|
|
@@ -54,7 +54,7 @@ async function handleServeCommand() {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
async function serveAdd(args, machineId) {
|
|
57
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
57
|
+
const { connectAndGetMachine } = await import('./commands-CdxEOPUt.mjs');
|
|
58
58
|
const pos = positionalArgs(args);
|
|
59
59
|
const name = pos[0];
|
|
60
60
|
if (!name) {
|
|
@@ -93,7 +93,7 @@ async function serveAdd(args, machineId) {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
async function serveApply(args, machineId) {
|
|
96
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
96
|
+
const { connectAndGetMachine } = await import('./commands-CdxEOPUt.mjs');
|
|
97
97
|
const fs = await import('fs');
|
|
98
98
|
const yaml = await import('yaml');
|
|
99
99
|
const file = positionalArgs(args)[0];
|
|
@@ -182,7 +182,7 @@ async function serveApply(args, machineId) {
|
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
async function serveRemove(args, machineId) {
|
|
185
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
185
|
+
const { connectAndGetMachine } = await import('./commands-CdxEOPUt.mjs');
|
|
186
186
|
const pos = positionalArgs(args);
|
|
187
187
|
const name = pos[0];
|
|
188
188
|
if (!name) {
|
|
@@ -202,7 +202,7 @@ async function serveRemove(args, machineId) {
|
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
async function serveList(args, machineId) {
|
|
205
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
205
|
+
const { connectAndGetMachine } = await import('./commands-CdxEOPUt.mjs');
|
|
206
206
|
const all = hasFlag(args, "--all", "-a");
|
|
207
207
|
const json = hasFlag(args, "--json");
|
|
208
208
|
const sessionId = getFlag(args, "--session");
|
|
@@ -235,7 +235,7 @@ async function serveList(args, machineId) {
|
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
async function serveInfo(machineId) {
|
|
238
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
238
|
+
const { connectAndGetMachine } = await import('./commands-CdxEOPUt.mjs');
|
|
239
239
|
const { machine, server } = await connectAndGetMachine(machineId);
|
|
240
240
|
try {
|
|
241
241
|
const info = await machine.serveInfo();
|
|
@@ -4,7 +4,7 @@ import * as fs from 'fs';
|
|
|
4
4
|
import * as http from 'http';
|
|
5
5
|
import * as net from 'net';
|
|
6
6
|
import * as path from 'path';
|
|
7
|
-
import { k as getHyphaServerUrl, S as ServeAuth, l as hasCookieToken } from './run-
|
|
7
|
+
import { k as getHyphaServerUrl, S as ServeAuth, l as hasCookieToken } from './run-CsMTSngP.mjs';
|
|
8
8
|
import 'os';
|
|
9
9
|
import 'fs/promises';
|
|
10
10
|
import 'url';
|
|
@@ -712,7 +712,7 @@ class ServeManager {
|
|
|
712
712
|
const mount = this.mounts.get(mountName);
|
|
713
713
|
const subdomainOverride = mount?.access === "link" && mount.linkToken ? /* @__PURE__ */ new Map([[this.port, `static-${subdomainSafe}-${mount.linkToken}`]]) : void 0;
|
|
714
714
|
try {
|
|
715
|
-
const { FrpcTunnel } = await import('./frpc-
|
|
715
|
+
const { FrpcTunnel } = await import('./frpc-WVnBbyjf.mjs');
|
|
716
716
|
let tunnel;
|
|
717
717
|
tunnel = new FrpcTunnel({
|
|
718
718
|
name: tunnelName,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z as READ_ONLY_TOOLS, A as loadMachineContext, B as buildMachineInstructions, C as machineToolsForRole, D as buildMachineTools } from './run-
|
|
1
|
+
import { z as READ_ONLY_TOOLS, A as loadMachineContext, B as buildMachineInstructions, C as machineToolsForRole, D as buildMachineTools } from './run-CsMTSngP.mjs';
|
|
2
2
|
import 'node:child_process';
|
|
3
3
|
import 'os';
|
|
4
4
|
import 'fs/promises';
|