svamp-cli 0.2.300 → 0.2.301
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-lOuwAyXW.mjs → adminCommands-DMiliv55.mjs} +1 -1
- package/dist/{agentCommands-C56-TSwf.mjs → agentCommands-BCkWdFFW.mjs} +5 -5
- package/dist/{auth-y5EinW_c.mjs → auth-Ba1_zl1h.mjs} +1 -1
- package/dist/{cli-BbbzgMWX.mjs → cli-Bv0Zhf3M.mjs} +69 -69
- package/dist/cli.mjs +2 -2
- package/dist/{commands-Db1SMhcL.mjs → commands-B2mRza8S.mjs} +2 -2
- package/dist/{commands-Qz7oTXdj.mjs → commands-BA3eBROn.mjs} +1 -1
- package/dist/{commands-Cb00JySn.mjs → commands-BAlaK67Y.mjs} +1 -1
- package/dist/{commands-VtqFEtFc.mjs → commands-BC3RuhRx.mjs} +2 -2
- package/dist/commands-BnirT9RR.mjs +161 -0
- package/dist/{commands-BlVHxX-n.mjs → commands-DhB2iz0_.mjs} +7 -7
- package/dist/{commands-Bjbq2pJg.mjs → commands-bIioWHWe.mjs} +2 -2
- package/dist/{commands-BLFj8bE8.mjs → commands-hHZu5qJh.mjs} +1 -1
- package/dist/{fleet-DKAN08u-.mjs → fleet-BFurNsSA.mjs} +1 -1
- package/dist/{frpc-Bx0J5hIR.mjs → frpc-Cb6jUvED.mjs} +1 -1
- package/dist/{headlessCli-DaqkPy9x.mjs → headlessCli-DP9gpAxv.mjs} +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{notifyCommands-DaAd67p4.mjs → notifyCommands-C0i6P1yC.mjs} +1 -1
- package/dist/package-D8lHDQja.mjs +64 -0
- package/dist/{rpc-C2l4b6gk.mjs → rpc-B-bxS-Pv.mjs} +1 -1
- package/dist/{rpc-D1Vg26a1.mjs → rpc-CNkfUlz1.mjs} +1 -1
- package/dist/{run-DrG6nwGm.mjs → run-C0GhrtVf.mjs} +347 -58
- package/dist/{run-CVRu9pzU.mjs → run-CvT_37Ov.mjs} +1 -1
- package/dist/{scheduler-CGmlf3VQ.mjs → scheduler-DT1_BBdZ.mjs} +1 -1
- package/dist/{serveCommands-CiYytaPO.mjs → serveCommands-CUabu97u.mjs} +5 -5
- package/dist/{sideband-BQz9FNc9.mjs → sideband-BlZBmbji.mjs} +1 -1
- package/package.json +2 -2
- package/dist/commands-Beysszfu.mjs +0 -293
- package/dist/package-B5_N_B9C.mjs +0 -64
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { connectAndResolveSession } from './commands-BAlaK67Y.mjs';
|
|
2
|
+
import 'node:fs';
|
|
3
|
+
import 'node:child_process';
|
|
4
|
+
import 'node:path';
|
|
5
|
+
import 'node:os';
|
|
6
|
+
import './run-C0GhrtVf.mjs';
|
|
7
|
+
import 'os';
|
|
8
|
+
import 'fs/promises';
|
|
9
|
+
import 'fs';
|
|
10
|
+
import 'path';
|
|
11
|
+
import 'url';
|
|
12
|
+
import 'child_process';
|
|
13
|
+
import 'crypto';
|
|
14
|
+
import 'node:crypto';
|
|
15
|
+
import 'util';
|
|
16
|
+
import 'http';
|
|
17
|
+
import 'net';
|
|
18
|
+
import 'node:events';
|
|
19
|
+
import '@agentclientprotocol/sdk';
|
|
20
|
+
import 'node:readline';
|
|
21
|
+
import 'node:fs/promises';
|
|
22
|
+
import 'node:util';
|
|
23
|
+
import 'yaml';
|
|
24
|
+
|
|
25
|
+
function argVal(args, name) {
|
|
26
|
+
const i = args.indexOf(name);
|
|
27
|
+
return i >= 0 && i + 1 < args.length ? args[i + 1] : void 0;
|
|
28
|
+
}
|
|
29
|
+
async function withSession(fn) {
|
|
30
|
+
const session = process.env.SVAMP_SESSION_ID;
|
|
31
|
+
if (!session) {
|
|
32
|
+
console.error("SVAMP_SESSION_ID not set \u2014 run `svamp outpost \u2026` inside a Svamp session.");
|
|
33
|
+
process.exit(1);
|
|
34
|
+
}
|
|
35
|
+
const { server, machine, fullId } = await connectAndResolveSession(".");
|
|
36
|
+
try {
|
|
37
|
+
return await fn(machine, fullId);
|
|
38
|
+
} finally {
|
|
39
|
+
try {
|
|
40
|
+
await server.disconnect();
|
|
41
|
+
} catch {
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function outpostUp(args) {
|
|
46
|
+
const dl = argVal(args, "--download-base");
|
|
47
|
+
const info = await withSession((m, id) => m.sessionRPC(id, "outpostConnectInfo", dl ? { params: { downloadBase: dl } } : {}));
|
|
48
|
+
if (!info || info.error) {
|
|
49
|
+
console.error(`Could not set up the outpost: ${info?.error || "unknown error"}`);
|
|
50
|
+
process.exit(1);
|
|
51
|
+
}
|
|
52
|
+
const gen = info.install || {};
|
|
53
|
+
console.log(`\u2713 outpost ready for this session \u2014 a remote machine can now connect.
|
|
54
|
+
`);
|
|
55
|
+
console.log("Give this to the person at the remote machine:\n");
|
|
56
|
+
if (gen.unix) console.log(" macOS / Linux:\n " + gen.unix + "\n");
|
|
57
|
+
if (gen.windows) console.log(" Windows (PowerShell):\n " + gen.windows + "\n");
|
|
58
|
+
if (info.pairingCode) {
|
|
59
|
+
console.log(` \u2026or type this short pairing code into the outpost app: ${info.pairingCode}`);
|
|
60
|
+
if (info.pairingExpiresAt) console.log(` (expires ${new Date(info.pairingExpiresAt).toLocaleString()})`);
|
|
61
|
+
console.log("");
|
|
62
|
+
}
|
|
63
|
+
if (info.downloadBase) console.log(" Direct binaries: " + info.downloadBase);
|
|
64
|
+
console.log('\nThen drive it from this session: svamp outpost exec "<command>" \xB7 svamp outpost list');
|
|
65
|
+
}
|
|
66
|
+
async function outpostExec(args) {
|
|
67
|
+
const target = argVal(args, "--machine") || argVal(args, "-m");
|
|
68
|
+
const cmd = args.filter((a, i, arr) => a !== "--machine" && a !== "-m" && arr[i - 1] !== "--machine" && arr[i - 1] !== "-m").join(" ").trim();
|
|
69
|
+
if (!cmd) {
|
|
70
|
+
console.error('usage: svamp outpost exec [--machine <id>] "<command>"');
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
const r = await withSession((m, id) => m.sessionRPC(id, "outpostExec", { params: { cmd, target: target || void 0 } }));
|
|
74
|
+
if (!r || r.error && typeof r.exitCode !== "number") {
|
|
75
|
+
console.error(r?.error || "exec failed");
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
if (r.stdout) process.stdout.write(r.stdout);
|
|
79
|
+
if (r.stderr) process.stderr.write(r.stderr.endsWith("\n") || !r.stderr ? r.stderr : r.stderr + "\n");
|
|
80
|
+
process.exit(typeof r.exitCode === "number" ? r.exitCode : 0);
|
|
81
|
+
}
|
|
82
|
+
async function outpostList() {
|
|
83
|
+
const r = await withSession((m, id) => m.sessionRPC(id, "outpostList", {}));
|
|
84
|
+
if (!r || r.error) {
|
|
85
|
+
console.error(r?.error || "could not list outposts");
|
|
86
|
+
process.exit(1);
|
|
87
|
+
}
|
|
88
|
+
const outposts = r.outposts || [];
|
|
89
|
+
if (!outposts.length) {
|
|
90
|
+
console.log("No remote outpost is connected. Run `svamp outpost up` and paste the install command on the remote machine.");
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
console.log(`Connected outpost${outposts.length > 1 ? "s" : ""}:`);
|
|
94
|
+
for (const o of outposts) {
|
|
95
|
+
const plat = [o.os, o.arch].filter(Boolean).join("/") || "unknown";
|
|
96
|
+
const secs = Math.max(0, Math.round((Date.now() - (o.lastSeen || 0)) / 1e3));
|
|
97
|
+
console.log(` \u2022 ${o.label || o.machine} [${o.machine}] (${plat}) last seen ${secs}s ago`);
|
|
98
|
+
}
|
|
99
|
+
if (outposts.length > 1) console.log('\nTarget one with: svamp outpost exec --machine <id> "<command>"');
|
|
100
|
+
}
|
|
101
|
+
async function outpostInstall(args) {
|
|
102
|
+
const info = await withSession((m, id) => m.sessionRPC(id, "outpostConnectInfo", {}));
|
|
103
|
+
if (!info || info.error) {
|
|
104
|
+
console.error(info?.error || "could not get install command");
|
|
105
|
+
process.exit(1);
|
|
106
|
+
}
|
|
107
|
+
const gen = info.install || {};
|
|
108
|
+
const only = argVal(args, "--os");
|
|
109
|
+
if (only === "windows") console.log(gen.windows);
|
|
110
|
+
else if (only === "unix" || only === "linux" || only === "darwin" || only === "macos") console.log(gen.unix);
|
|
111
|
+
else {
|
|
112
|
+
if (gen.unix) console.log("macOS / Linux:\n " + gen.unix + "\n");
|
|
113
|
+
if (gen.windows) console.log("Windows (PowerShell):\n " + gen.windows + "\n");
|
|
114
|
+
if (info.pairingCode) console.log("Pairing code: " + info.pairingCode + "\n");
|
|
115
|
+
if (info.downloadBase) console.log("Direct download: " + info.downloadBase);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
function usage() {
|
|
119
|
+
console.log(`svamp outpost \u2014 drive a connected remote machine (FDE outpost)
|
|
120
|
+
|
|
121
|
+
svamp outpost up Provision this session's outpost + print the install command
|
|
122
|
+
svamp outpost list (or: status) List the outposts connected to this session
|
|
123
|
+
svamp outpost exec [--machine <id>] "<command>"
|
|
124
|
+
Run a shell command on a connected outpost and print its REAL
|
|
125
|
+
stdout/stderr/exit code synchronously (like a local command).
|
|
126
|
+
With one outpost connected, --machine is optional.
|
|
127
|
+
svamp outpost install [--os <os>] Reprint the install one-liner(s) for this session's outpost
|
|
128
|
+
|
|
129
|
+
With several machines connected, target each by id, e.g.:
|
|
130
|
+
svamp outpost exec --machine build-mac "uname -a"
|
|
131
|
+
|
|
132
|
+
All subcommands act on the CURRENT session (SVAMP_SESSION_ID); the daemon owns the connection + token.`);
|
|
133
|
+
}
|
|
134
|
+
async function outpostCommand(args) {
|
|
135
|
+
const sub = args[0];
|
|
136
|
+
if (!sub || sub === "help" || sub === "--help") {
|
|
137
|
+
usage();
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
if (sub === "up") {
|
|
141
|
+
await outpostUp(args.slice(1));
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
if (sub === "exec") {
|
|
145
|
+
await outpostExec(args.slice(1));
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
if (sub === "list" || sub === "status") {
|
|
149
|
+
await outpostList();
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (sub === "install") {
|
|
153
|
+
await outpostInstall(args.slice(1));
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
console.error(`unknown outpost command: ${sub}`);
|
|
157
|
+
usage();
|
|
158
|
+
process.exit(1);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export { outpostCommand };
|
|
@@ -60,7 +60,7 @@ async function serviceExpose(args) {
|
|
|
60
60
|
process.exit(1);
|
|
61
61
|
}
|
|
62
62
|
if (foreground) {
|
|
63
|
-
const { runFrpcTunnel } = await import('./frpc-
|
|
63
|
+
const { runFrpcTunnel } = await import('./frpc-Cb6jUvED.mjs');
|
|
64
64
|
await runFrpcTunnel(name, ports, void 0, {
|
|
65
65
|
group,
|
|
66
66
|
groupKey,
|
|
@@ -70,7 +70,7 @@ async function serviceExpose(args) {
|
|
|
70
70
|
});
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
73
|
+
const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
|
|
74
74
|
const { server, machine } = await connectAndGetMachine();
|
|
75
75
|
try {
|
|
76
76
|
const status = await machine.tunnelStart({
|
|
@@ -92,7 +92,7 @@ async function serviceExpose(args) {
|
|
|
92
92
|
console.log(` port ${port}: ${url}`);
|
|
93
93
|
}
|
|
94
94
|
if (process.env.SVAMP_SESSION_ID) {
|
|
95
|
-
const { autoAddSessionLink } = await import('./agentCommands-
|
|
95
|
+
const { autoAddSessionLink } = await import('./agentCommands-BCkWdFFW.mjs');
|
|
96
96
|
let added = 0;
|
|
97
97
|
for (const [port, url] of urlEntries) {
|
|
98
98
|
const label = urlEntries.length > 1 ? `${name}:${port}` : name;
|
|
@@ -129,7 +129,7 @@ async function serviceServe(args) {
|
|
|
129
129
|
console.log(`Serving ${resolvedDir}`);
|
|
130
130
|
const servePort = 18080;
|
|
131
131
|
const http = await import('http');
|
|
132
|
-
const { serveStaticMount } = await import('./run-
|
|
132
|
+
const { serveStaticMount } = await import('./run-C0GhrtVf.mjs').then(function (n) { return n.al; });
|
|
133
133
|
const server = http.createServer((req, res) => {
|
|
134
134
|
const u = new URL(req.url || "/", "http://127.0.0.1");
|
|
135
135
|
let rel = u.pathname;
|
|
@@ -140,7 +140,7 @@ async function serviceServe(args) {
|
|
|
140
140
|
server.once("error", reject);
|
|
141
141
|
server.listen(servePort, "127.0.0.1", () => resolve());
|
|
142
142
|
});
|
|
143
|
-
const { runFrpcTunnel } = await import('./frpc-
|
|
143
|
+
const { runFrpcTunnel } = await import('./frpc-Cb6jUvED.mjs');
|
|
144
144
|
void server;
|
|
145
145
|
await runFrpcTunnel(name, [servePort]);
|
|
146
146
|
} catch (err) {
|
|
@@ -150,7 +150,7 @@ async function serviceServe(args) {
|
|
|
150
150
|
}
|
|
151
151
|
async function serviceList(_args) {
|
|
152
152
|
try {
|
|
153
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
153
|
+
const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
|
|
154
154
|
const { server, machine } = await connectAndGetMachine();
|
|
155
155
|
try {
|
|
156
156
|
const tunnels = await machine.tunnelList({});
|
|
@@ -190,7 +190,7 @@ async function serviceDelete(args) {
|
|
|
190
190
|
process.exit(1);
|
|
191
191
|
}
|
|
192
192
|
try {
|
|
193
|
-
const { connectAndGetMachine } = await import('./commands-
|
|
193
|
+
const { connectAndGetMachine } = await import('./commands-BAlaK67Y.mjs');
|
|
194
194
|
const { server, machine } = await connectAndGetMachine();
|
|
195
195
|
try {
|
|
196
196
|
await machine.tunnelStop({ name });
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { resolve } from 'node:path';
|
|
3
|
-
import { connectAndGetMachine, resolveSessionId, createWorktree, connectAndResolveSession } from './commands-
|
|
3
|
+
import { connectAndGetMachine, resolveSessionId, createWorktree, connectAndResolveSession } from './commands-BAlaK67Y.mjs';
|
|
4
4
|
import { execFileSync } from 'node:child_process';
|
|
5
|
-
import { u as updateIssue, m as addComment, n as addIssue, i as shortId } from './run-
|
|
5
|
+
import { u as updateIssue, m as addComment, n as addIssue, i as shortId } from './run-C0GhrtVf.mjs';
|
|
6
6
|
import 'node:os';
|
|
7
7
|
import 'os';
|
|
8
8
|
import 'fs/promises';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawnSync } from 'node:child_process';
|
|
2
|
-
import { j as resolveProjectRoot,
|
|
2
|
+
import { j as resolveProjectRoot, I as workflowSteps, z as setWorkflowEnabled, E as isWorkflowEnabled, A as removeWorkflow, x as getWorkflow, D as listWorkflows, B as saveWorkflow, C as rawWorkflow } from './run-C0GhrtVf.mjs';
|
|
3
3
|
import 'os';
|
|
4
4
|
import 'fs/promises';
|
|
5
5
|
import 'fs';
|
|
@@ -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-C0GhrtVf.mjs';
|
|
5
5
|
import { PINNED_CLAUDE_CODE_VERSION } from './pinnedClaudeCode-BaMR97BE.mjs';
|
|
6
6
|
import 'os';
|
|
7
7
|
import 'fs/promises';
|
|
@@ -4,7 +4,7 @@ import { mkdirSync, chmodSync, writeFileSync, unlinkSync, existsSync, readFileSy
|
|
|
4
4
|
import { join } from 'path';
|
|
5
5
|
import { homedir, platform, arch } from 'os';
|
|
6
6
|
import { randomUUID, createHash } from 'crypto';
|
|
7
|
-
import { e as getFrpsSubdomainHost, f as getFrpsServerPort, h as getFrpsServerAddr } from './run-
|
|
7
|
+
import { e as getFrpsSubdomainHost, f as getFrpsServerPort, h as getFrpsServerAddr } from './run-C0GhrtVf.mjs';
|
|
8
8
|
import 'fs/promises';
|
|
9
9
|
import 'url';
|
|
10
10
|
import 'node:crypto';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-
|
|
1
|
+
import { a0 as resolveModel, af as describeMisconfiguration, ag as buildMachineDeps } from './run-C0GhrtVf.mjs';
|
|
2
|
+
import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-BlZBmbji.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-C0GhrtVf.mjs';
|
|
2
2
|
import 'os';
|
|
3
3
|
import 'fs/promises';
|
|
4
4
|
import 'fs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { c as connectToHypha, S as SharingNotificationSync,
|
|
1
|
+
import { c as connectToHypha, S as SharingNotificationSync, J as parseJwtEmail } from './run-C0GhrtVf.mjs';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { existsSync, readFileSync } from 'node:fs';
|
|
4
4
|
import { join } from 'node:path';
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
var name = "svamp-cli";
|
|
2
|
+
var version = "0.2.301";
|
|
3
|
+
var description = "Svamp CLI — AI workspace daemon on Hypha Cloud";
|
|
4
|
+
var author = "Amun AI AB";
|
|
5
|
+
var license = "SEE LICENSE IN LICENSE";
|
|
6
|
+
var type = "module";
|
|
7
|
+
var bin = {
|
|
8
|
+
svamp: "./bin/svamp.mjs"
|
|
9
|
+
};
|
|
10
|
+
var files = [
|
|
11
|
+
"dist",
|
|
12
|
+
"bin"
|
|
13
|
+
];
|
|
14
|
+
var main = "./dist/index.mjs";
|
|
15
|
+
var exports$1 = {
|
|
16
|
+
".": "./dist/index.mjs",
|
|
17
|
+
"./cli": "./dist/cli.mjs"
|
|
18
|
+
};
|
|
19
|
+
var scripts = {
|
|
20
|
+
build: "rm -rf dist bin/skills bin/commands && mkdir -p bin/skills && cp -r ../../skills/artifact bin/skills/artifact && cp -r ../../skills/crew bin/skills/crew && cp -r ../../commands bin/commands && tsc --noEmit && pkgroll",
|
|
21
|
+
typecheck: "tsc --noEmit",
|
|
22
|
+
test: "npx tsx test/test-context-window.mjs && npx tsx test/test-ratelimit-retry.mjs && npx tsx test/test-instance-config.mjs && npx tsx test/test-authorize.mjs && npx tsx test/test-normalize-allowed-user.mjs && npx tsx test/test-share-url.mjs && npx tsx test/test-update-sharing-normalization.mjs && npx tsx test/test-sharing-notify-sync.mjs && npx tsx test/test-staged-homes-sweep.mjs && npx tsx test/test-session-helpers.mjs && npx tsx test/test-cli-routing.mjs && npx tsx test/test-security-context.mjs && npx tsx test/test-isolation-decision.mjs && npx tsx test/test-message-helpers.mjs && npx tsx test/test-agent-config.mjs && npx tsx test/test-wrap-command.mjs && npx tsx test/test-credential-staging.mjs && npx tsx test/test-claude-auth.mjs && npx tsx test/test-backend-accounts.mjs && npx tsx test/test-codex-force-model.mjs && npx tsx test/test-backend-oauth.mjs && npx tsx test/test-btw-proxy-env.mjs && npx tsx test/test-output-formatters.mjs && npx tsx test/test-inbox-guard.mjs && npx tsx test/test-user-events.mjs && npx tsx test/test-migrate-children.mjs && npx tsx test/test-outpost-install.mjs && npx tsx test/test-outpost-setup.mjs && npx tsx test/test-outpost-pairing.mjs && npx tsx test/test-outpost-coordinator.mjs && npx tsx test/e2e-outpost-transport.mjs && npx tsx test/test-inbox-reconcile.mjs && npx tsx test/test-auto-topic.mjs && npx tsx test/test-project-info.mjs && npx tsx test/test-agent-types.mjs && npx tsx test/test-transport.mjs && npx tsx test/test-session-update-handlers.mjs && npx tsx test/test-session-scanner.mjs && npx tsx test/test-hypha-client.mjs && npx tsx test/test-hook-settings.mjs && npx tsx test/test-session-service-logic.mjs && npx tsx test/test-daemon-persistence.mjs && npx tsx test/test-detect-isolation.mjs && npx tsx test/test-isolation-disable.mjs && npx tsx test/test-machine-service-logic.mjs && npx tsx test/test-session-access-fallback.mjs && npx tsx test/test-interactive-helpers.mjs && npx tsx test/test-codex-app-server.mjs && npx tsx test/test-acp-backend.mjs && npx tsx test/test-acp-bridge.mjs && npx tsx test/test-listener-backoff.mjs && npx tsx test/test-session-identity-env.mjs && npx tsx test/test-hook-server.mjs && npx tsx test/test-session-commands.mjs && npx tsx test/test-interactive-console.mjs && npx tsx test/test-session-messages.mjs && npx tsx test/test-session-send-query.mjs && npx tsx test/test-skills.mjs && npx tsx test/test-agent-grouping.mjs && npx tsx test/test-machine-list-directory.mjs && npx tsx test/test-service-commands.mjs && npx tsx test/test-supervisor.mjs && npx tsx test/test-supervisor-lock.mjs && node test/test-supervisor-restart.mjs && npx tsx test/test-clear-detection.mjs && npx tsx test/test-compact-detect.mjs && npx tsx test/test-session-consolidation.mjs && npx tsx test/test-inbox-store.mjs && npx tsx test/test-inbox.mjs && npx tsx test/test-inbox-cross-machine.mjs && npx tsx test/test-issue-store.mjs && npx tsx test/test-issue-close-gate.mjs && npx tsx test/test-loop-verify.mjs && npx tsx test/test-restore-decision.mjs && npx tsx test/test-issue-rpc.mjs && npx tsx test/test-issue-pause.mjs && npx tsx test/test-workflow-store.mjs && npx tsx test/test-workflow-rpc.mjs && npx tsx test/test-workflow-scheduler.mjs && npx tsx test/test-cron.mjs && npx tsx test/test-workflow-runs.mjs && npx tsx test/test-workflow-idle.mjs && npx tsx test/test-serve-link-subdomain.mjs && npx tsx test/test-short-id.mjs && npx tsx test/test-transcript-edit.mjs && npx tsx test/test-edit-history.mjs && npx tsx test/test-friendly-name.mjs && npx tsx test/test-session-rpc-dispatch.mjs && npx tsx test/test-sandbox-cli.mjs && npx tsx test/test-serve-manager.mjs && npx tsx test/test-serve-ws-upgrade.mjs && npx tsx test/test-serve-auth.mjs && npx tsx test/test-static-file-server.mjs && npx tsx test/test-serve-stability.mjs && npx tsx test/test-frpc-e2e.mjs --unit-only && npx tsx test/test-frpc-status.mjs && node test/pinnedClaudeCode.test.mjs && node test/fleet.test.mjs && npx tsx test/test-session-file.mjs && npx tsx test/test-channel-rpc.mjs && npx tsx test/test-wise-agent.mjs && npx tsx test/test-channel-agent.mjs && npx tsx test/test-channels-service.mjs && npx tsx test/test-hotreload-seam.mjs && npx tsx test/test-hot-reload.mjs && npx tsx test/test-hot-reload-live.mjs && npx tsx test/test-session-core.mjs && npx tsx test/test-channel-async-reply.mjs && npx tsx test/test-outbox-reload.mjs && npx tsx test/test-channel-binding.mjs && npx tsx test/test-channel-identity.mjs && npx tsx test/test-stateless-dispatch-limiter.mjs && npx tsx test/test-shared-session-identity.mjs && npx tsx test/test-wise-agent-auth.mjs && npx tsx test/test-channel-http.mjs && npx tsx test/test-channel-upload.mjs && npx tsx test/test-wise-voice.mjs && npx tsx test/test-wise-headless.mjs && npx tsx test/test-wise-machine.mjs && npx tsx test/test-crew-merge.mjs && npx tsx test/test-crew-verdict-routing.mjs && npx tsx test/test-crew-standalone.mjs && npx tsx test/test-session-links.mjs && npx tsx test/test-issue-loop-pause-guard.mjs && npx tsx test/test-artifact-guard.mjs && npx tsx test/test-artifact-sync-pagination.mjs && npx tsx test/test-graceful-restart.mjs && npx tsx test/test-flush-exit.mjs && npx tsx test/test-codex-skills.mjs",
|
|
23
|
+
"test:hypha": "node --no-warnings test/test-hypha-service.mjs",
|
|
24
|
+
dev: "tsx src/cli.ts",
|
|
25
|
+
"dev:daemon": "tsx src/cli.ts daemon start-sync",
|
|
26
|
+
"test:e2e": "node --no-warnings test/e2e-session-tests.mjs",
|
|
27
|
+
"test:frpc": "npx tsx test/test-frpc-e2e.mjs",
|
|
28
|
+
prepublishOnly: "yarn build"
|
|
29
|
+
};
|
|
30
|
+
var dependencies = {
|
|
31
|
+
"@agentclientprotocol/sdk": "^0.14.1",
|
|
32
|
+
"@modelcontextprotocol/sdk": "^1.25.3",
|
|
33
|
+
"hypha-rpc": "0.21.42",
|
|
34
|
+
"node-pty": "1.2.0-beta.11",
|
|
35
|
+
ws: "^8.18.0",
|
|
36
|
+
yaml: "^2.8.2",
|
|
37
|
+
zod: "^3.24.4"
|
|
38
|
+
};
|
|
39
|
+
var devDependencies = {
|
|
40
|
+
"@types/node": ">=20",
|
|
41
|
+
"@types/ws": "^8.5.14",
|
|
42
|
+
pkgroll: "^2.14.2",
|
|
43
|
+
tsx: "^4.20.6",
|
|
44
|
+
typescript: "5.9.3"
|
|
45
|
+
};
|
|
46
|
+
var packageManager = "yarn@1.22.22";
|
|
47
|
+
var _package = {
|
|
48
|
+
name: name,
|
|
49
|
+
version: version,
|
|
50
|
+
description: description,
|
|
51
|
+
author: author,
|
|
52
|
+
license: license,
|
|
53
|
+
type: type,
|
|
54
|
+
bin: bin,
|
|
55
|
+
files: files,
|
|
56
|
+
main: main,
|
|
57
|
+
exports: exports$1,
|
|
58
|
+
scripts: scripts,
|
|
59
|
+
dependencies: dependencies,
|
|
60
|
+
devDependencies: devDependencies,
|
|
61
|
+
packageManager: packageManager
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export { author, bin, _package as default, dependencies, description, devDependencies, exports$1 as exports, files, license, main, name, packageManager, scripts, type, version };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as resolveProjectRoot, u as updateIssue, k as getIssue, l as resumeIssue, p as pauseIssue, m as addComment, n as addIssue, o as listIssues, q as searchIssues, t as isVisibleTo } from './run-
|
|
1
|
+
import { j as resolveProjectRoot, u as updateIssue, k as getIssue, l as resumeIssue, p as pauseIssue, m as addComment, n as addIssue, o as listIssues, q as searchIssues, t as isVisibleTo } from './run-C0GhrtVf.mjs';
|
|
2
2
|
import 'os';
|
|
3
3
|
import 'fs/promises';
|
|
4
4
|
import 'fs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as resolveProjectRoot, v as getRun, w as listRuns, x as getWorkflow, y as runWorkflow, z as setWorkflowEnabled, A as removeWorkflow, B as saveWorkflow, C as rawWorkflow, D as listWorkflows } from './run-
|
|
1
|
+
import { j as resolveProjectRoot, v as getRun, w as listRuns, x as getWorkflow, y as runWorkflow, z as setWorkflowEnabled, A as removeWorkflow, B as saveWorkflow, C as rawWorkflow, D as listWorkflows } from './run-C0GhrtVf.mjs';
|
|
2
2
|
import 'os';
|
|
3
3
|
import 'fs/promises';
|
|
4
4
|
import 'fs';
|