svamp-cli 0.2.296 → 0.2.298
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-CGpZCy6r.mjs → adminCommands-Bch_7RdC.mjs} +1 -1
- package/dist/{agentCommands-BB9V70n7.mjs → agentCommands-Dqch6hZW.mjs} +5 -5
- package/dist/{auth-CTcFSmNv.mjs → auth-DvOlpBsc.mjs} +1 -1
- package/dist/{cli-DLq5wuL-.mjs → cli-DCIMj3_N.mjs} +69 -69
- package/dist/cli.mjs +2 -2
- package/dist/{commands-C91Cya-X.mjs → commands-BCxFuxJr.mjs} +1 -1
- package/dist/{commands-C6-J2cYh.mjs → commands-BJICOSCT.mjs} +2 -2
- package/dist/{commands-llyYnyLR.mjs → commands-BaOgAmnK.mjs} +7 -7
- package/dist/{commands-COqzlq3t.mjs → commands-C9p_QDvD.mjs} +2 -2
- package/dist/{commands-DOHvsmKj.mjs → commands-CVpXWCAO.mjs} +1 -1
- package/dist/{commands-BY4rS-E4.mjs → commands-DEBQ9zCx.mjs} +1 -1
- package/dist/{commands-BGyQASCT.mjs → commands-DLTXom9F.mjs} +2 -2
- package/dist/{commands-glTd_gyw.mjs → commands-DXyzmcqs.mjs} +2 -2
- package/dist/{fleet-PEJuRu8I.mjs → fleet-BIxyLu1y.mjs} +1 -1
- package/dist/{frpc-BtNpheHe.mjs → frpc-Bbs5obvd.mjs} +1 -1
- package/dist/{headlessCli-CsNSt80-.mjs → headlessCli-ByPAQwqS.mjs} +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{notifyCommands-5tlRpkjz.mjs → notifyCommands-BfFNEXPi.mjs} +1 -1
- package/dist/package-wsh2ruw2.mjs +64 -0
- package/dist/{rpc-DmQuRSyU.mjs → rpc-Bx0VmbdB.mjs} +1 -1
- package/dist/{rpc-Dm2C8f67.mjs → rpc-Dd_mLC0z.mjs} +1 -1
- package/dist/{run-BLmCDxvV.mjs → run-D6GGHdd6.mjs} +175 -16
- package/dist/{run-zUX_Ur8D.mjs → run-DP690TqB.mjs} +1 -1
- package/dist/{scheduler-Bup5XvL_.mjs → scheduler-CL1EzUgq.mjs} +1 -1
- package/dist/{serveCommands-Qj1CYwXe.mjs → serveCommands-C97TqDGu.mjs} +5 -5
- package/dist/{sideband-COVIgnXL.mjs → sideband-Bcv-ssVq.mjs} +1 -1
- package/package.json +2 -2
- package/dist/package-B3cVZ2-p.mjs +0 -64
|
@@ -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-Bbs5obvd.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-DEBQ9zCx.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-Dqch6hZW.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-D6GGHdd6.mjs').then(function (n) { return n.ap; });
|
|
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-Bbs5obvd.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-DEBQ9zCx.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-DEBQ9zCx.mjs');
|
|
194
194
|
const { server, machine } = await connectAndGetMachine();
|
|
195
195
|
try {
|
|
196
196
|
await machine.tunnelStop({ name });
|
|
@@ -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-DEBQ9zCx.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-D6GGHdd6.mjs';
|
|
9
9
|
import 'os';
|
|
10
10
|
import 'fs/promises';
|
|
11
11
|
import 'url';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { spawnSync } from 'node:child_process';
|
|
2
|
-
import { j as resolveProjectRoot, M 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-
|
|
2
|
+
import { j as resolveProjectRoot, M 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-D6GGHdd6.mjs';
|
|
3
3
|
import 'os';
|
|
4
4
|
import 'fs/promises';
|
|
5
5
|
import 'fs';
|
|
@@ -2,7 +2,7 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
2
2
|
import { execSync, execFileSync } from 'node:child_process';
|
|
3
3
|
import { basename, resolve, join, isAbsolute } from 'node:path';
|
|
4
4
|
import os from 'node:os';
|
|
5
|
-
import { a7 as formatHandle, a8 as normalizeAllowedUser, a9 as loadSecurityContextConfig, aa as resolveSecurityContext, ab as buildSecurityContextFromFlags, ac as mergeSecurityContexts, c as connectToHypha, ad as buildSessionShareUrl, ae as computeOutboundHop, i as shortId, af as registerAwaitingReply, ag as buildMachineShareUrl, ah as parseHandle, ai as handleMatchesMetadata } from './run-
|
|
5
|
+
import { a7 as formatHandle, a8 as normalizeAllowedUser, a9 as loadSecurityContextConfig, aa as resolveSecurityContext, ab as buildSecurityContextFromFlags, ac as mergeSecurityContexts, c as connectToHypha, ad as buildSessionShareUrl, ae as computeOutboundHop, i as shortId, af as registerAwaitingReply, ag as buildMachineShareUrl, ah as parseHandle, ai as handleMatchesMetadata } from './run-D6GGHdd6.mjs';
|
|
6
6
|
import 'os';
|
|
7
7
|
import 'fs/promises';
|
|
8
8
|
import 'fs';
|
|
@@ -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-DEBQ9zCx.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-D6GGHdd6.mjs';
|
|
6
6
|
import 'node:os';
|
|
7
7
|
import 'os';
|
|
8
8
|
import 'fs/promises';
|
|
@@ -2,7 +2,7 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
|
|
|
2
2
|
import { execSync } from 'node:child_process';
|
|
3
3
|
import { join } from 'node:path';
|
|
4
4
|
import os from 'node:os';
|
|
5
|
-
import { H as buildOutpostInstall, I as ChannelStore, J as DEFAULT_OUTPOST_DOWNLOAD_BASE, K as setupOutpostChannel } from './run-
|
|
5
|
+
import { H as buildOutpostInstall, I as ChannelStore, J as DEFAULT_OUTPOST_DOWNLOAD_BASE, K as setupOutpostChannel } from './run-D6GGHdd6.mjs';
|
|
6
6
|
import 'os';
|
|
7
7
|
import 'fs/promises';
|
|
8
8
|
import 'fs';
|
|
@@ -187,7 +187,7 @@ async function outpostCommand(args) {
|
|
|
187
187
|
console.error('usage: svamp outpost exec [--machine <id>] "<command>"');
|
|
188
188
|
process.exit(1);
|
|
189
189
|
}
|
|
190
|
-
const { ChannelOutbox } = await import('./run-
|
|
190
|
+
const { ChannelOutbox } = await import('./run-D6GGHdd6.mjs').then(function (n) { return n.at; });
|
|
191
191
|
const outbox = new ChannelOutbox(projectDir());
|
|
192
192
|
const id = "x" + Date.now().toString(36);
|
|
193
193
|
outbox.append(cfg.channel, { to: "outpost", body: JSON.stringify({ type: "exec", id, cmd, target: target || "" }) });
|
|
@@ -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-D6GGHdd6.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-D6GGHdd6.mjs';
|
|
8
8
|
import 'fs/promises';
|
|
9
9
|
import 'url';
|
|
10
10
|
import 'node:crypto';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a4 as resolveModel, aj as describeMisconfiguration, ak as buildMachineDeps } from './run-
|
|
2
|
-
import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-
|
|
1
|
+
import { a4 as resolveModel, aj as describeMisconfiguration, ak as buildMachineDeps } from './run-D6GGHdd6.mjs';
|
|
2
|
+
import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-Bcv-ssVq.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-D6GGHdd6.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, N as parseJwtEmail } from './run-
|
|
1
|
+
import { c as connectToHypha, S as SharingNotificationSync, N as parseJwtEmail } from './run-D6GGHdd6.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.298";
|
|
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-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-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, 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-D6GGHdd6.mjs';
|
|
2
2
|
import 'os';
|
|
3
3
|
import 'fs/promises';
|
|
4
4
|
import 'fs';
|
|
@@ -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-D6GGHdd6.mjs';
|
|
2
2
|
import 'os';
|
|
3
3
|
import 'fs/promises';
|
|
4
4
|
import 'fs';
|
|
@@ -2973,7 +2973,7 @@ Connection: close\r
|
|
|
2973
2973
|
const mount = this.mounts.get(mountName);
|
|
2974
2974
|
const subdomainOverride = mount?.access === "link" && mount.linkToken ? /* @__PURE__ */ new Map([[this.port, buildLinkSubdomain(subdomainSafe, mount.linkToken)]]) : void 0;
|
|
2975
2975
|
try {
|
|
2976
|
-
const { FrpcTunnel } = await import('./frpc-
|
|
2976
|
+
const { FrpcTunnel } = await import('./frpc-Bbs5obvd.mjs');
|
|
2977
2977
|
let tunnel;
|
|
2978
2978
|
tunnel = new FrpcTunnel({
|
|
2979
2979
|
name: tunnelName,
|
|
@@ -5869,7 +5869,7 @@ async function registerMachineService(server, machineId, metadata, daemonState,
|
|
|
5869
5869
|
const tunnels = handlers.tunnels;
|
|
5870
5870
|
if (!tunnels) throw new Error("Tunnel management not available");
|
|
5871
5871
|
if (tunnels.has(params.name)) throw new Error(`Tunnel '${params.name}' already running`);
|
|
5872
|
-
const { FrpcTunnel } = await import('./frpc-
|
|
5872
|
+
const { FrpcTunnel } = await import('./frpc-Bbs5obvd.mjs');
|
|
5873
5873
|
const tunnel = new FrpcTunnel({
|
|
5874
5874
|
name: params.name,
|
|
5875
5875
|
ports: params.ports,
|
|
@@ -6345,7 +6345,7 @@ QUESTION: ${params.question || "Summarize this concisely."}` }
|
|
|
6345
6345
|
}
|
|
6346
6346
|
const deps = buildSessionDeps(rpc, { cwd, ownerEmail: owner });
|
|
6347
6347
|
const sender = { name: context?.user?.email || context?.user?.id || "user", kind: "user", verified: true };
|
|
6348
|
-
const { toolsForRole } = await import('./sideband-
|
|
6348
|
+
const { toolsForRole } = await import('./sideband-Bcv-ssVq.mjs');
|
|
6349
6349
|
const r2 = await runWiseAgent({ message: params.message, sender, config: { tools: toolsForRole(role2) }, deps, transport, model: resolved.model });
|
|
6350
6350
|
return fmt(r2);
|
|
6351
6351
|
}
|
|
@@ -6450,7 +6450,7 @@ QUESTION: ${params.question || "Summarize this concisely."}` }
|
|
|
6450
6450
|
return { ok: false, call_id: callId, status: "busy", error: "channel is busy (too many concurrent requests) \u2014 retry shortly" };
|
|
6451
6451
|
}
|
|
6452
6452
|
const rendered = renderMessage(c, { sender: r.sender, body: { message: kwargs.message }, callId });
|
|
6453
|
-
const { queryCore } = await import('./commands-
|
|
6453
|
+
const { queryCore } = await import('./commands-DEBQ9zCx.mjs');
|
|
6454
6454
|
const timeout = c.reply?.timeout_sec || 120;
|
|
6455
6455
|
let result;
|
|
6456
6456
|
try {
|
|
@@ -6960,6 +6960,124 @@ function setupOutpostChannel(params) {
|
|
|
6960
6960
|
};
|
|
6961
6961
|
}
|
|
6962
6962
|
|
|
6963
|
+
const CODE_ALPHABET = "abcdefghjkmnpqrstuvwxyz23456789";
|
|
6964
|
+
const CODE_LEN = 7;
|
|
6965
|
+
const DEFAULT_PAIRING_TTL_MS = 30 * 60 * 1e3;
|
|
6966
|
+
function pairingsFilePath(svampHome) {
|
|
6967
|
+
const home = svampHome || process.env.SVAMP_HOME || join$1(homedir$1(), ".svamp");
|
|
6968
|
+
return join$1(home, "outpost-pairings.json");
|
|
6969
|
+
}
|
|
6970
|
+
function loadPairings(svampHome) {
|
|
6971
|
+
const file = pairingsFilePath(svampHome);
|
|
6972
|
+
if (!existsSync(file)) return [];
|
|
6973
|
+
try {
|
|
6974
|
+
const parsed = JSON.parse(readFileSync(file, "utf-8"));
|
|
6975
|
+
if (!parsed || !Array.isArray(parsed.pairings)) return [];
|
|
6976
|
+
return parsed.pairings;
|
|
6977
|
+
} catch {
|
|
6978
|
+
return [];
|
|
6979
|
+
}
|
|
6980
|
+
}
|
|
6981
|
+
function savePairings(pairings, svampHome) {
|
|
6982
|
+
const file = pairingsFilePath(svampHome);
|
|
6983
|
+
const dir = join$1(file, "..");
|
|
6984
|
+
if (!existsSync(dir)) mkdirSync$1(dir, { recursive: true });
|
|
6985
|
+
const payload = { version: 1, pairings };
|
|
6986
|
+
writeFileSync$1(file, JSON.stringify(payload, null, 2) + "\n", { encoding: "utf-8", mode: 384 });
|
|
6987
|
+
try {
|
|
6988
|
+
chmodSync(file, 384);
|
|
6989
|
+
} catch {
|
|
6990
|
+
}
|
|
6991
|
+
}
|
|
6992
|
+
function generatePairingCode(len = CODE_LEN) {
|
|
6993
|
+
const n = CODE_ALPHABET.length;
|
|
6994
|
+
const max = Math.floor(256 / n) * n;
|
|
6995
|
+
let out = "";
|
|
6996
|
+
while (out.length < len) {
|
|
6997
|
+
const buf = randomBytes(len * 2);
|
|
6998
|
+
for (let i = 0; i < buf.length && out.length < len; i++) {
|
|
6999
|
+
const b = buf[i];
|
|
7000
|
+
if (b < max) out += CODE_ALPHABET[b % n];
|
|
7001
|
+
}
|
|
7002
|
+
}
|
|
7003
|
+
return out;
|
|
7004
|
+
}
|
|
7005
|
+
async function deletePairingArtifact(am, artifactId, log) {
|
|
7006
|
+
try {
|
|
7007
|
+
await am.delete({ artifact_id: artifactId, _rkwargs: true });
|
|
7008
|
+
} catch (e) {
|
|
7009
|
+
log?.(`[OUTPOST PAIRING] delete ${artifactId} failed (ok if already gone): ${e?.message || e}`);
|
|
7010
|
+
}
|
|
7011
|
+
}
|
|
7012
|
+
async function sweepExpiredPairings(am, svampHome, log) {
|
|
7013
|
+
const now = Date.now();
|
|
7014
|
+
const all = loadPairings(svampHome);
|
|
7015
|
+
const expired = all.filter((p) => p.expiresAt <= now);
|
|
7016
|
+
if (expired.length === 0) return;
|
|
7017
|
+
for (const p of expired) await deletePairingArtifact(am, p.artifactId, log);
|
|
7018
|
+
savePairings(all.filter((p) => p.expiresAt > now), svampHome);
|
|
7019
|
+
}
|
|
7020
|
+
async function burnSessionPairings(am, session, svampHome, log) {
|
|
7021
|
+
const all = loadPairings(svampHome);
|
|
7022
|
+
const mine = all.filter((p) => p.session === session);
|
|
7023
|
+
if (mine.length === 0) return;
|
|
7024
|
+
for (const p of mine) await deletePairingArtifact(am, p.artifactId, log);
|
|
7025
|
+
savePairings(all.filter((p) => p.session !== session), svampHome);
|
|
7026
|
+
}
|
|
7027
|
+
async function mintPairingCode(opts) {
|
|
7028
|
+
const { am, session, payload, log } = opts;
|
|
7029
|
+
const resolver = (opts.resolverBase || "https://hypha.aicell.io").replace(/\/$/, "");
|
|
7030
|
+
const ttlMs = opts.ttlMs && opts.ttlMs > 0 ? opts.ttlMs : DEFAULT_PAIRING_TTL_MS;
|
|
7031
|
+
await sweepExpiredPairings(am, opts.svampHome, log).catch(() => {
|
|
7032
|
+
});
|
|
7033
|
+
const now = Date.now();
|
|
7034
|
+
const existing = loadPairings(opts.svampHome).find((p) => p.session === session && p.expiresAt > now + 3e4);
|
|
7035
|
+
if (existing) {
|
|
7036
|
+
return { code: existing.code, resolver, expiresAt: existing.expiresAt };
|
|
7037
|
+
}
|
|
7038
|
+
const code = generatePairingCode();
|
|
7039
|
+
const alias = `svamp-op-${code}`;
|
|
7040
|
+
const artifactId = `public/${alias}`;
|
|
7041
|
+
const expiresAt = now + ttlMs;
|
|
7042
|
+
const pairJson = JSON.stringify({
|
|
7043
|
+
server: payload.server,
|
|
7044
|
+
channel: payload.channel,
|
|
7045
|
+
token: payload.token,
|
|
7046
|
+
session: payload.session,
|
|
7047
|
+
expiresAt
|
|
7048
|
+
});
|
|
7049
|
+
await am.create({
|
|
7050
|
+
alias,
|
|
7051
|
+
workspace: "public",
|
|
7052
|
+
type: "generic",
|
|
7053
|
+
manifest: { name: `Svamp outpost pairing ${code}`, description: "One-time short-code pairing for an FDE outpost. Single-use, TTL-limited." },
|
|
7054
|
+
config: { permissions: { "*": "r" } },
|
|
7055
|
+
stage: true,
|
|
7056
|
+
_rkwargs: true
|
|
7057
|
+
});
|
|
7058
|
+
const putUrl = await am.put_file({ artifact_id: artifactId, file_path: "pair.json", download_weight: 0, _rkwargs: true });
|
|
7059
|
+
if (!putUrl || typeof putUrl !== "string") throw new Error(`put_file returned invalid URL: ${putUrl}`);
|
|
7060
|
+
const controller = new AbortController();
|
|
7061
|
+
const timer = setTimeout(() => controller.abort(), 3e4);
|
|
7062
|
+
try {
|
|
7063
|
+
const resp = await fetch(putUrl, {
|
|
7064
|
+
method: "PUT",
|
|
7065
|
+
body: pairJson,
|
|
7066
|
+
headers: { "Content-Type": "application/json" },
|
|
7067
|
+
signal: controller.signal
|
|
7068
|
+
});
|
|
7069
|
+
if (!resp.ok) throw new Error(`pair.json upload failed: ${resp.status} ${resp.statusText}`);
|
|
7070
|
+
} finally {
|
|
7071
|
+
clearTimeout(timer);
|
|
7072
|
+
}
|
|
7073
|
+
await am.commit({ artifact_id: artifactId, _rkwargs: true });
|
|
7074
|
+
const all = loadPairings(opts.svampHome);
|
|
7075
|
+
all.push({ session, code, artifactId, expiresAt, createdAt: now });
|
|
7076
|
+
savePairings(all, opts.svampHome);
|
|
7077
|
+
log?.(`[OUTPOST PAIRING] minted ${code} for ${session} (expires in ${Math.round(ttlMs / 6e4)}m)`);
|
|
7078
|
+
return { code, resolver, expiresAt };
|
|
7079
|
+
}
|
|
7080
|
+
|
|
6963
7081
|
const PARTICIPANTS_CHANNEL_ID = "sys-participants";
|
|
6964
7082
|
function channelPublicView(c) {
|
|
6965
7083
|
const u = c.upload;
|
|
@@ -7716,7 +7834,27 @@ function createSessionStore(server, sessionId, initialMetadata, initialAgentStat
|
|
|
7716
7834
|
downloadBase: params?.downloadBase || process.env.SVAMP_OUTPOST_DL
|
|
7717
7835
|
});
|
|
7718
7836
|
syncChannelsToMetadata();
|
|
7719
|
-
|
|
7837
|
+
let pairing = {};
|
|
7838
|
+
try {
|
|
7839
|
+
const am = await server.getService("public/artifact-manager");
|
|
7840
|
+
if (am) {
|
|
7841
|
+
if (info.connectedCount > 0) {
|
|
7842
|
+
await burnSessionPairings(am, sessionId, void 0, (m) => console.log(m));
|
|
7843
|
+
} else {
|
|
7844
|
+
const r = await mintPairingCode({
|
|
7845
|
+
am,
|
|
7846
|
+
session: sessionId,
|
|
7847
|
+
payload: { server: info.serverBase, channel: info.channelId, token: info.token, session: sessionId },
|
|
7848
|
+
resolverBase: channelsBaseUrl,
|
|
7849
|
+
log: (m) => console.log(m)
|
|
7850
|
+
});
|
|
7851
|
+
pairing = { pairingCode: r.code, pairingResolver: r.resolver, pairingExpiresAt: r.expiresAt };
|
|
7852
|
+
}
|
|
7853
|
+
}
|
|
7854
|
+
} catch (e) {
|
|
7855
|
+
console.log(`[OUTPOST PAIRING] mint skipped (Form 1 still works): ${e?.message || e}`);
|
|
7856
|
+
}
|
|
7857
|
+
return { ok: true, ...info, ...pairing };
|
|
7720
7858
|
} catch (e) {
|
|
7721
7859
|
return { error: e?.message || String(e) };
|
|
7722
7860
|
}
|
|
@@ -11046,13 +11184,21 @@ var acpAgentConfig = /*#__PURE__*/Object.freeze({
|
|
|
11046
11184
|
|
|
11047
11185
|
function bridgeAcpToSession(backend, sessionService, getMetadata, setMetadata, log, onTurnEnd, getModelLabel) {
|
|
11048
11186
|
let pendingText = "";
|
|
11187
|
+
let pendingThinking = "";
|
|
11049
11188
|
let turnText = "";
|
|
11050
11189
|
let bridgeStopped = false;
|
|
11051
11190
|
const pushAssistant = (content) => {
|
|
11052
11191
|
const model = getModelLabel?.() || "agent";
|
|
11053
11192
|
sessionService.pushMessage({ type: "assistant", message: { role: "assistant", model, content } }, "agent");
|
|
11054
11193
|
};
|
|
11194
|
+
function flushThinking() {
|
|
11195
|
+
if (pendingThinking) {
|
|
11196
|
+
pushAssistant([{ type: "thinking", thinking: pendingThinking }]);
|
|
11197
|
+
pendingThinking = "";
|
|
11198
|
+
}
|
|
11199
|
+
}
|
|
11055
11200
|
function flushText() {
|
|
11201
|
+
flushThinking();
|
|
11056
11202
|
if (pendingText) {
|
|
11057
11203
|
turnText += pendingText;
|
|
11058
11204
|
pushAssistant([{ type: "text", text: pendingText }]);
|
|
@@ -11064,6 +11210,7 @@ function bridgeAcpToSession(backend, sessionService, getMetadata, setMetadata, l
|
|
|
11064
11210
|
switch (msg.type) {
|
|
11065
11211
|
case "model-output": {
|
|
11066
11212
|
if (msg.fullText) {
|
|
11213
|
+
flushThinking();
|
|
11067
11214
|
pendingText = "";
|
|
11068
11215
|
turnText += msg.fullText;
|
|
11069
11216
|
pushAssistant([{ type: "text", text: msg.fullText }]);
|
|
@@ -11165,8 +11312,15 @@ function bridgeAcpToSession(backend, sessionService, getMetadata, setMetadata, l
|
|
|
11165
11312
|
case "event": {
|
|
11166
11313
|
if (msg.name === "thinking") {
|
|
11167
11314
|
const payload = msg.payload;
|
|
11168
|
-
const text = payload?.text || JSON.stringify(payload);
|
|
11169
|
-
|
|
11315
|
+
const text = payload?.text || (typeof payload === "string" ? payload : JSON.stringify(payload));
|
|
11316
|
+
if (payload?.delta === true) {
|
|
11317
|
+
pendingThinking += text;
|
|
11318
|
+
} else if (payload?.delta === false) {
|
|
11319
|
+
pendingThinking = "";
|
|
11320
|
+
if (text) pushAssistant([{ type: "thinking", thinking: text }]);
|
|
11321
|
+
} else {
|
|
11322
|
+
if (text) pushAssistant([{ type: "thinking", thinking: text }]);
|
|
11323
|
+
}
|
|
11170
11324
|
} else {
|
|
11171
11325
|
sessionService.pushMessage({
|
|
11172
11326
|
type: "session_event",
|
|
@@ -11180,6 +11334,7 @@ function bridgeAcpToSession(backend, sessionService, getMetadata, setMetadata, l
|
|
|
11180
11334
|
return () => {
|
|
11181
11335
|
bridgeStopped = true;
|
|
11182
11336
|
pendingText = "";
|
|
11337
|
+
pendingThinking = "";
|
|
11183
11338
|
};
|
|
11184
11339
|
}
|
|
11185
11340
|
class HyphaPermissionHandler {
|
|
@@ -11845,10 +12000,14 @@ class CodexAppServerBackend {
|
|
|
11845
12000
|
if (text) this.emit({ type: "model-output", fullText: text });
|
|
11846
12001
|
break;
|
|
11847
12002
|
}
|
|
11848
|
-
case "agent_reasoning_delta":
|
|
12003
|
+
case "agent_reasoning_delta": {
|
|
12004
|
+
const text = event.delta?.text || event.text || (Array.isArray(event.content) ? event.content.map((c) => c?.text).join("") : "");
|
|
12005
|
+
if (text) this.emit({ type: "event", name: "thinking", payload: { text, delta: true } });
|
|
12006
|
+
break;
|
|
12007
|
+
}
|
|
11849
12008
|
case "agent_reasoning": {
|
|
11850
12009
|
const text = event.delta?.text || event.text || (Array.isArray(event.content) ? event.content.map((c) => c?.text).join("") : "");
|
|
11851
|
-
if (text) this.emit({ type: "event", name: "thinking", payload: { text } });
|
|
12010
|
+
if (text) this.emit({ type: "event", name: "thinking", payload: { text, delta: false } });
|
|
11852
12011
|
break;
|
|
11853
12012
|
}
|
|
11854
12013
|
case "exec_command_begin": {
|
|
@@ -16446,7 +16605,7 @@ async function startDaemon(options) {
|
|
|
16446
16605
|
try {
|
|
16447
16606
|
const dir = loadSessionIndex()[sessionId]?.directory;
|
|
16448
16607
|
if (!dir) return;
|
|
16449
|
-
const { reconcileServiceLinks } = await import('./agentCommands-
|
|
16608
|
+
const { reconcileServiceLinks } = await import('./agentCommands-Dqch6hZW.mjs');
|
|
16450
16609
|
const configPath = getSvampConfigPath(dir, sessionId);
|
|
16451
16610
|
const config = readSvampConfig(configPath);
|
|
16452
16611
|
const entries = Array.from(urls.entries());
|
|
@@ -16464,7 +16623,7 @@ async function startDaemon(options) {
|
|
|
16464
16623
|
}
|
|
16465
16624
|
}
|
|
16466
16625
|
async function createExposedTunnel(spec) {
|
|
16467
|
-
const { FrpcTunnel } = await import('./frpc-
|
|
16626
|
+
const { FrpcTunnel } = await import('./frpc-Bbs5obvd.mjs');
|
|
16468
16627
|
const tunnel = new FrpcTunnel({
|
|
16469
16628
|
name: spec.name,
|
|
16470
16629
|
ports: spec.ports,
|
|
@@ -18680,11 +18839,11 @@ ${capturedError}${buildClaudeErrorHint(capturedError)}`;
|
|
|
18680
18839
|
});
|
|
18681
18840
|
},
|
|
18682
18841
|
onIssue: async (params) => {
|
|
18683
|
-
const { issueRpc } = await import('./rpc-
|
|
18842
|
+
const { issueRpc } = await import('./rpc-Dd_mLC0z.mjs');
|
|
18684
18843
|
return issueRpc(params?.cwd || directory, params || {}, { notifySession: notifyIssueOwner, rekickLoopOwner });
|
|
18685
18844
|
},
|
|
18686
18845
|
onWorkflow: async (params) => {
|
|
18687
|
-
const { workflowRpc } = await import('./rpc-
|
|
18846
|
+
const { workflowRpc } = await import('./rpc-Bx0VmbdB.mjs');
|
|
18688
18847
|
return workflowRpc(params?.cwd || directory, params || {});
|
|
18689
18848
|
},
|
|
18690
18849
|
onRipgrep: async (args, cwd) => {
|
|
@@ -19297,11 +19456,11 @@ ${capturedError}${buildClaudeErrorHint(capturedError)}`;
|
|
|
19297
19456
|
});
|
|
19298
19457
|
},
|
|
19299
19458
|
onIssue: async (params) => {
|
|
19300
|
-
const { issueRpc } = await import('./rpc-
|
|
19459
|
+
const { issueRpc } = await import('./rpc-Dd_mLC0z.mjs');
|
|
19301
19460
|
return issueRpc(params?.cwd || directory, params || {}, { notifySession: notifyIssueOwner, rekickLoopOwner });
|
|
19302
19461
|
},
|
|
19303
19462
|
onWorkflow: async (params) => {
|
|
19304
|
-
const { workflowRpc } = await import('./rpc-
|
|
19463
|
+
const { workflowRpc } = await import('./rpc-Bx0VmbdB.mjs');
|
|
19305
19464
|
return workflowRpc(params?.cwd || directory, params || {});
|
|
19306
19465
|
},
|
|
19307
19466
|
onRipgrep: async (args, cwd) => {
|
|
@@ -20428,7 +20587,7 @@ ${oracle.output.trim().slice(0, 500)}`, "\u{1F501} Continuing loop");
|
|
|
20428
20587
|
const PING_TIMEOUT_MS = 15e3;
|
|
20429
20588
|
const POST_RECONNECT_GRACE_MS = 2e4;
|
|
20430
20589
|
const RECONNECT_JITTER_MS = 2500;
|
|
20431
|
-
const { WorkflowScheduler } = await import('./scheduler-
|
|
20590
|
+
const { WorkflowScheduler } = await import('./scheduler-CL1EzUgq.mjs');
|
|
20432
20591
|
const workflowScheduler = new WorkflowScheduler({
|
|
20433
20592
|
projectRoots: () => {
|
|
20434
20593
|
const dirs = /* @__PURE__ */ new Set();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import { al as applyClaudeProxyEnv, am as composeSessionId, an as generateFriendlyName, c as connectToHypha, a as createSessionStore, r as registerMachineService, ao as generateHookSettings } from './run-
|
|
1
|
+
import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import { al as applyClaudeProxyEnv, am as composeSessionId, an as generateFriendlyName, c as connectToHypha, a as createSessionStore, r as registerMachineService, ao as generateHookSettings } from './run-D6GGHdd6.mjs';
|
|
2
2
|
import os from 'node:os';
|
|
3
3
|
import { resolve, join } from 'node:path';
|
|
4
4
|
import { existsSync, readFileSync, watch } from 'node:fs';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as resolveProjectRoot, D as listWorkflows, E as isWorkflowEnabled, F as workflowCrons, y as runWorkflow, G as cronMatches } from './run-
|
|
1
|
+
import { j as resolveProjectRoot, D as listWorkflows, E as isWorkflowEnabled, F as workflowCrons, y as runWorkflow, G as cronMatches } from './run-D6GGHdd6.mjs';
|
|
2
2
|
import 'os';
|
|
3
3
|
import 'fs/promises';
|
|
4
4
|
import 'fs';
|
|
@@ -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-DEBQ9zCx.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-DEBQ9zCx.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-DEBQ9zCx.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-DEBQ9zCx.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-DEBQ9zCx.mjs');
|
|
239
239
|
const { machine, server } = await connectAndGetMachine(machineId);
|
|
240
240
|
try {
|
|
241
241
|
const info = await machine.serveInfo();
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { R as READ_ONLY_TOOLS, Q as loadMachineContext, T as buildMachineInstructions, U as machineToolsForRole, V as buildMachineTools } from './run-
|
|
1
|
+
import { R as READ_ONLY_TOOLS, Q as loadMachineContext, T as buildMachineInstructions, U as machineToolsForRole, V as buildMachineTools } from './run-D6GGHdd6.mjs';
|
|
2
2
|
import 'node:child_process';
|
|
3
3
|
import 'os';
|
|
4
4
|
import 'fs/promises';
|