svamp-cli 0.2.257 → 0.2.259

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.
Files changed (27) hide show
  1. package/dist/{agentCommands-fCsOp7ko.mjs → agentCommands-w72BRYhk.mjs} +6 -9
  2. package/dist/{auth-BH6Awl3O.mjs → auth-CLFNmaXL.mjs} +2 -5
  3. package/dist/cli.mjs +156 -69
  4. package/dist/{commands-DNIxtTXe.mjs → commands-BPxSEwAc.mjs} +3 -6
  5. package/dist/{commands-B6BkPRui.mjs → commands-BpcWHrQ7.mjs} +8 -9
  6. package/dist/{commands-CE1PdEJJ.mjs → commands-BtXxn3tI.mjs} +2 -5
  7. package/dist/{commands-B5veY89L.mjs → commands-CXiGBP6w.mjs} +2 -5
  8. package/dist/{commands-BpNDUqvv.mjs → commands-D3jsQ9Sj.mjs} +21 -18
  9. package/dist/{commands-BzF6GzdR.mjs → commands-DVEsNZUB.mjs} +2 -5
  10. package/dist/{commands-BCmpKBjg.mjs → commands-bQxTpr-M.mjs} +2 -5
  11. package/dist/{fleet-XYsLuf-3.mjs → fleet-BC9JHEWF.mjs} +3 -6
  12. package/dist/{frpc-QESvQN-s.mjs → frpc-BCOnJSAM.mjs} +11 -10
  13. package/dist/{headlessCli-DuCmcrAL.mjs → headlessCli-fagwmUja.mjs} +3 -6
  14. package/dist/index.mjs +2 -5
  15. package/dist/{package-BA3c2JLu.mjs → package-Dn7kNPhz.mjs} +2 -2
  16. package/dist/{pinnedClaudeCode-DuLXaoGP.mjs → pinnedClaudeCode-B9O-hKxm.mjs} +1 -1
  17. package/dist/{rpc-DCeDG4c7.mjs → rpc-D-1o_gWF.mjs} +2 -5
  18. package/dist/{rpc-Bscxex4z.mjs → rpc-Dko-Fkk6.mjs} +2 -5
  19. package/dist/{run-BmOCcZRG.mjs → run-BWBtm0gY.mjs} +1 -5
  20. package/dist/{run-BtGnnEMI.mjs → run-CT8Leg3-.mjs} +729 -425
  21. package/dist/{scheduler-Dbqmnd_o.mjs → scheduler-CN8jChyQ.mjs} +2 -5
  22. package/dist/{serveCommands-DueTsJSe.mjs → serveCommands-sWtLnJRW.mjs} +5 -5
  23. package/dist/{serveManager-BclzoPIb.mjs → serveManager-BuXk1_SH.mjs} +180 -77
  24. package/dist/{sideband-C_ifGgde.mjs → sideband-ByYvGtj3.mjs} +2 -5
  25. package/dist/staticFileServer-CbYnj2bH.mjs +255 -0
  26. package/package.json +2 -2
  27. package/dist/caddy-CuTbE3NY.mjs +0 -322
@@ -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-CE1PdEJJ.mjs';
3
+ import { connectAndGetMachine, resolveSessionId, createWorktree, connectAndResolveSession } from './commands-BtXxn3tI.mjs';
4
4
  import { execSync } from 'node:child_process';
5
- import { u as updateIssue, t as addComment, v as addIssue, k as shortId } from './run-BtGnnEMI.mjs';
5
+ import { u as updateIssue, t as addComment, v as addIssue, k as shortId } from './run-CT8Leg3-.mjs';
6
6
  import 'node:os';
7
7
  import 'os';
8
8
  import 'fs/promises';
@@ -15,10 +15,7 @@ import 'node:crypto';
15
15
  import 'util';
16
16
  import 'node:events';
17
17
  import '@agentclientprotocol/sdk';
18
- import '@modelcontextprotocol/sdk/client/index.js';
19
- import '@modelcontextprotocol/sdk/client/stdio.js';
20
- import '@modelcontextprotocol/sdk/types.js';
21
- import 'zod';
18
+ import 'node:readline';
22
19
  import 'node:fs/promises';
23
20
  import 'node:util';
24
21
  import 'yaml';
@@ -106,6 +103,7 @@ ${childStatus}`
106
103
  return { ok: false, stage: "merge", rework: true, detail: `merge conflict \u2014 aborted:
107
104
  ${detail.trim()}` };
108
105
  }
106
+ let cleanupWarning;
109
107
  if (!isMainWorkingTree(projectRoot, worktreePath)) try {
110
108
  git(projectRoot, `worktree remove --force ${worktreePath}`);
111
109
  } catch (e) {
@@ -120,7 +118,7 @@ ${detail.trim()}` };
120
118
  }
121
119
  if (stillRegistered) {
122
120
  const detail = e.stderr?.toString() || "" || e.message;
123
- return { ok: false, stage: "remove-worktree", detail: `merged OK but worktree removal failed: ${detail.trim()}` };
121
+ cleanupWarning = `worktree removal failed (left on disk): ${detail.trim()}. Remove manually: git worktree remove --force ${worktreePath}`;
124
122
  }
125
123
  }
126
124
  if (input.deleteBranch !== false && branch !== baseBranch) {
@@ -129,7 +127,7 @@ ${detail.trim()}` };
129
127
  } catch {
130
128
  }
131
129
  }
132
- return { ok: true, stage: "done", detail: `merged ${branch} into ${baseBranch}` };
130
+ return { ok: true, stage: "done", detail: `merged ${branch} into ${baseBranch}`, ...cleanupWarning ? { cleanupWarning } : {} };
133
131
  }
134
132
  function isMainWorkingTree(projectRoot, worktreePath) {
135
133
  if (resolve(worktreePath) === resolve(projectRoot)) return true;
@@ -612,7 +610,8 @@ Stop editing and hold \u2014 do not keep working. Once the blocker is resolved,
612
610
  console.warn(`Merged, but could not archive child: ${e.message}`);
613
611
  }
614
612
  }
615
- const cleanup = isMainWorkingTree(projectRoot, worktreePath) ? "ran in the lead tree (no worktree to remove)" : "worktree removed";
613
+ const cleanup = r.cleanupWarning ? "worktree NOT removed (see warning)" : isMainWorkingTree(projectRoot, worktreePath) ? "ran in the lead tree (no worktree to remove)" : "worktree removed";
614
+ if (r.cleanupWarning) console.warn(`\u26A0\uFE0F ${r.cleanupWarning}`);
616
615
  console.log(`\u2705 Merged ${branch} \u2192 ${base}; ${cleanup}; child ${childId.slice(0, 8)} ${opts.keepChild ? "kept" : "archived"}.`);
617
616
  } finally {
618
617
  await server.disconnect();
@@ -2,7 +2,7 @@ import { existsSync, readFileSync, writeFileSync } from 'node:fs';
2
2
  import { execSync } from 'node:child_process';
3
3
  import { basename, resolve, join, isAbsolute } from 'node:path';
4
4
  import os from 'node:os';
5
- import { a2 as formatHandle, a3 as normalizeAllowedUser, a4 as loadSecurityContextConfig, a5 as resolveSecurityContext, a6 as buildSecurityContextFromFlags, a7 as mergeSecurityContexts, c as connectToHypha, a8 as buildSessionShareUrl, a9 as computeOutboundHop, k as shortId, aa as registerAwaitingReply, ab as buildMachineShareUrl, ac as parseHandle, ad as handleMatchesMetadata } from './run-BtGnnEMI.mjs';
5
+ import { a2 as formatHandle, a3 as normalizeAllowedUser, a4 as loadSecurityContextConfig, a5 as resolveSecurityContext, a6 as buildSecurityContextFromFlags, a7 as mergeSecurityContexts, c as connectToHypha, a8 as buildSessionShareUrl, a9 as computeOutboundHop, k as shortId, aa as registerAwaitingReply, ab as buildMachineShareUrl, ac as parseHandle, ad as handleMatchesMetadata } from './run-CT8Leg3-.mjs';
6
6
  import 'os';
7
7
  import 'fs/promises';
8
8
  import 'fs';
@@ -14,10 +14,7 @@ import 'node:crypto';
14
14
  import 'util';
15
15
  import 'node:events';
16
16
  import '@agentclientprotocol/sdk';
17
- import '@modelcontextprotocol/sdk/client/index.js';
18
- import '@modelcontextprotocol/sdk/client/stdio.js';
19
- import '@modelcontextprotocol/sdk/types.js';
20
- import 'zod';
17
+ import 'node:readline';
21
18
  import 'node:fs/promises';
22
19
  import 'node:util';
23
20
  import 'yaml';
@@ -1,5 +1,5 @@
1
1
  import { spawnSync } from 'node:child_process';
2
- import { n as resolveProjectRoot, M as workflowSteps, D as setWorkflowEnabled, I as isWorkflowEnabled, E as removeWorkflow, B as getWorkflow, H as listWorkflows, F as saveWorkflow, G as rawWorkflow } from './run-BtGnnEMI.mjs';
2
+ import { n as resolveProjectRoot, M as workflowSteps, D as setWorkflowEnabled, I as isWorkflowEnabled, E as removeWorkflow, B as getWorkflow, H as listWorkflows, F as saveWorkflow, G as rawWorkflow } from './run-CT8Leg3-.mjs';
3
3
  import 'os';
4
4
  import 'fs/promises';
5
5
  import 'fs';
@@ -14,10 +14,7 @@ import 'node:path';
14
14
  import 'node:events';
15
15
  import 'node:os';
16
16
  import '@agentclientprotocol/sdk';
17
- import '@modelcontextprotocol/sdk/client/index.js';
18
- import '@modelcontextprotocol/sdk/client/stdio.js';
19
- import '@modelcontextprotocol/sdk/types.js';
20
- import 'zod';
17
+ import 'node:readline';
21
18
  import 'node:fs/promises';
22
19
  import 'node:util';
23
20
  import 'yaml';
@@ -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-QESvQN-s.mjs');
61
+ const { runFrpcTunnel } = await import('./frpc-BCOnJSAM.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-CE1PdEJJ.mjs');
71
+ const { connectAndGetMachine } = await import('./commands-BtXxn3tI.mjs');
72
72
  const { server, machine } = await connectAndGetMachine();
73
73
  try {
74
74
  const status = await machine.tunnelStart({
@@ -90,7 +90,7 @@ async function serviceExpose(args) {
90
90
  console.log(` port ${port}: ${url}`);
91
91
  }
92
92
  if (process.env.SVAMP_SESSION_ID) {
93
- const { autoAddSessionLink } = await import('./agentCommands-fCsOp7ko.mjs');
93
+ const { autoAddSessionLink } = await import('./agentCommands-w72BRYhk.mjs');
94
94
  let added = 0;
95
95
  for (const [port, url] of urlEntries) {
96
96
  const label = urlEntries.length > 1 ? `${name}:${port}` : name;
@@ -125,19 +125,22 @@ async function serviceServe(args) {
125
125
  try {
126
126
  const resolvedDir = path.resolve(directory);
127
127
  console.log(`Serving ${resolvedDir}`);
128
- const caddyPort = 18080;
129
- const { CaddyManager } = await import('./caddy-CuTbE3NY.mjs');
130
- const caddy = new CaddyManager({ listenPort: caddyPort });
131
- await caddy.addMount(name, resolvedDir, !noListing);
132
- await caddy.start();
133
- const cleanup = () => {
134
- caddy.stop();
135
- process.exit(0);
136
- };
137
- process.on("SIGINT", cleanup);
138
- process.on("SIGTERM", cleanup);
139
- const { runFrpcTunnel } = await import('./frpc-QESvQN-s.mjs');
140
- await runFrpcTunnel(name, [caddyPort]);
128
+ const servePort = 18080;
129
+ const http = await import('http');
130
+ const { serveStaticMount } = await import('./staticFileServer-CbYnj2bH.mjs');
131
+ const server = http.createServer((req, res) => {
132
+ const u = new URL(req.url || "/", "http://127.0.0.1");
133
+ let rel = u.pathname;
134
+ if (rel === `/${name}` || rel.startsWith(`/${name}/`)) rel = rel.slice(`/${name}`.length) || "/";
135
+ serveStaticMount(req, res, { rootDir: resolvedDir, relPath: rel || "/", mountUrlPrefix: "", browse: !noListing });
136
+ });
137
+ await new Promise((resolve, reject) => {
138
+ server.once("error", reject);
139
+ server.listen(servePort, "127.0.0.1", () => resolve());
140
+ });
141
+ const { runFrpcTunnel } = await import('./frpc-BCOnJSAM.mjs');
142
+ void server;
143
+ await runFrpcTunnel(name, [servePort]);
141
144
  } catch (err) {
142
145
  console.error(`Error serving directory: ${err.message}`);
143
146
  process.exit(1);
@@ -145,7 +148,7 @@ async function serviceServe(args) {
145
148
  }
146
149
  async function serviceList(_args) {
147
150
  try {
148
- const { connectAndGetMachine } = await import('./commands-CE1PdEJJ.mjs');
151
+ const { connectAndGetMachine } = await import('./commands-BtXxn3tI.mjs');
149
152
  const { server, machine } = await connectAndGetMachine();
150
153
  try {
151
154
  const tunnels = await machine.tunnelList({});
@@ -185,7 +188,7 @@ async function serviceDelete(args) {
185
188
  process.exit(1);
186
189
  }
187
190
  try {
188
- const { connectAndGetMachine } = await import('./commands-CE1PdEJJ.mjs');
191
+ const { connectAndGetMachine } = await import('./commands-BtXxn3tI.mjs');
189
192
  const { server, machine } = await connectAndGetMachine();
190
193
  try {
191
194
  await machine.tunnelStop({ name });
@@ -1,7 +1,7 @@
1
1
  import { execSync } from 'node:child_process';
2
2
  import { existsSync, readFileSync } from 'node:fs';
3
3
  import { join } from 'node:path';
4
- import { n as resolveProjectRoot, x as searchIssues, w as listIssues, p as resumeIssue, q as pauseIssue, t as addComment, u as updateIssue, o as getIssue, y as isVisibleTo, L as summarize, v as addIssue } from './run-BtGnnEMI.mjs';
4
+ import { n as resolveProjectRoot, x as searchIssues, w as listIssues, p as resumeIssue, q as pauseIssue, t as addComment, u as updateIssue, o as getIssue, y as isVisibleTo, L as summarize, v as addIssue } from './run-CT8Leg3-.mjs';
5
5
  import 'os';
6
6
  import 'fs/promises';
7
7
  import 'fs';
@@ -14,10 +14,7 @@ import 'util';
14
14
  import 'node:events';
15
15
  import 'node:os';
16
16
  import '@agentclientprotocol/sdk';
17
- import '@modelcontextprotocol/sdk/client/index.js';
18
- import '@modelcontextprotocol/sdk/client/stdio.js';
19
- import '@modelcontextprotocol/sdk/types.js';
20
- import 'zod';
17
+ import 'node:readline';
21
18
  import 'node:fs/promises';
22
19
  import 'node:util';
23
20
  import 'yaml';
@@ -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 { T as parseFrontmatter, U as getSkillsServer, V as getSkillsWorkspaceName, W as getSkillsCollectionName, X as fetchWithTimeout, Y as searchSkills, Z as SKILLS_DIR, _ as getSkillInfo, $ as downloadSkillFile, a0 as listSkillFiles } from './run-BtGnnEMI.mjs';
4
+ import { T as parseFrontmatter, U as getSkillsServer, V as getSkillsWorkspaceName, W as getSkillsCollectionName, X as fetchWithTimeout, Y as searchSkills, Z as SKILLS_DIR, _ as getSkillInfo, $ as downloadSkillFile, a0 as listSkillFiles } from './run-CT8Leg3-.mjs';
5
5
  import 'fs/promises';
6
6
  import 'url';
7
7
  import 'child_process';
@@ -14,10 +14,7 @@ import 'node:path';
14
14
  import 'node:events';
15
15
  import 'node:os';
16
16
  import '@agentclientprotocol/sdk';
17
- import '@modelcontextprotocol/sdk/client/index.js';
18
- import '@modelcontextprotocol/sdk/client/stdio.js';
19
- import '@modelcontextprotocol/sdk/types.js';
20
- import 'zod';
17
+ import 'node:readline';
21
18
  import 'node:fs/promises';
22
19
  import 'node:util';
23
20
  import 'yaml';
@@ -1,8 +1,8 @@
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-BtGnnEMI.mjs';
5
- import { PINNED_CLAUDE_CODE_VERSION } from './pinnedClaudeCode-DuLXaoGP.mjs';
4
+ import { c as connectToHypha } from './run-CT8Leg3-.mjs';
5
+ import { PINNED_CLAUDE_CODE_VERSION } from './pinnedClaudeCode-B9O-hKxm.mjs';
6
6
  import 'os';
7
7
  import 'fs/promises';
8
8
  import 'fs';
@@ -15,10 +15,7 @@ import 'node:child_process';
15
15
  import 'util';
16
16
  import 'node:events';
17
17
  import '@agentclientprotocol/sdk';
18
- import '@modelcontextprotocol/sdk/client/index.js';
19
- import '@modelcontextprotocol/sdk/client/stdio.js';
20
- import '@modelcontextprotocol/sdk/types.js';
21
- import 'zod';
18
+ import 'node:readline';
22
19
  import 'node:fs/promises';
23
20
  import 'node:util';
24
21
  import 'yaml';
@@ -1,10 +1,10 @@
1
1
  import { spawn, execSync } from 'child_process';
2
2
  import { createServer } from 'net';
3
- import { mkdirSync, writeFileSync, unlinkSync, existsSync, chmodSync, readFileSync } from 'fs';
3
+ import { mkdirSync, chmodSync, writeFileSync, unlinkSync, existsSync, readFileSync } from 'fs';
4
4
  import { join } from 'path';
5
5
  import { homedir, platform, arch } from 'os';
6
6
  import { randomUUID, createHash } from 'crypto';
7
- import { h as getFrpsSubdomainHost, i as getFrpsServerPort, j as getFrpsServerAddr } from './run-BtGnnEMI.mjs';
7
+ import { h as getFrpsSubdomainHost, i as getFrpsServerPort, j as getFrpsServerAddr } from './run-CT8Leg3-.mjs';
8
8
  import 'fs/promises';
9
9
  import 'url';
10
10
  import 'node:crypto';
@@ -15,10 +15,7 @@ import 'node:path';
15
15
  import 'node:events';
16
16
  import 'node:os';
17
17
  import '@agentclientprotocol/sdk';
18
- import '@modelcontextprotocol/sdk/client/index.js';
19
- import '@modelcontextprotocol/sdk/client/stdio.js';
20
- import '@modelcontextprotocol/sdk/types.js';
21
- import 'zod';
18
+ import 'node:readline';
22
19
  import 'node:fs/promises';
23
20
  import 'node:util';
24
21
  import 'yaml';
@@ -298,7 +295,11 @@ class FrpcTunnel {
298
295
  };
299
296
  });
300
297
  const configDir = join(homedir(), ".svamp", "frpc");
301
- mkdirSync(configDir, { recursive: true });
298
+ mkdirSync(configDir, { recursive: true, mode: 448 });
299
+ try {
300
+ chmodSync(configDir, 448);
301
+ } catch {
302
+ }
302
303
  this.configPath = join(configDir, `${options.name}.toml`);
303
304
  }
304
305
  /** Connect to frps by starting the frpc process. */
@@ -318,7 +319,7 @@ class FrpcTunnel {
318
319
  if (this._adminPort) admin = { port: this._adminPort, user: this._adminUser, password: this._adminPassword };
319
320
  }
320
321
  const configContent = generateFrpcConfig(this.serverConfig, this.proxies, admin);
321
- writeFileSync(this.configPath, configContent);
322
+ writeFileSync(this.configPath, configContent, { mode: 384 });
322
323
  this.log(`Config written to ${this.configPath}`);
323
324
  return new Promise((resolve, reject) => {
324
325
  const child = spawn(frpcPath, ["-c", this.configPath], {
@@ -374,7 +375,7 @@ class FrpcTunnel {
374
375
  resolved = true;
375
376
  reject(new Error(`frpc exited with code ${code}`));
376
377
  }
377
- if (!this._destroyed && code !== 0) {
378
+ if (!this._destroyed) {
378
379
  const STABILITY_WINDOW_MS = 3e4;
379
380
  if (this._lastConnectedAt > 0 && Date.now() - this._lastConnectedAt >= STABILITY_WINDOW_MS) {
380
381
  this._restartAttempts = 0;
@@ -629,7 +630,7 @@ class FrpcTunnel {
629
630
  this.serverConfig.hyphaToken = newToken;
630
631
  const admin = this.options.adminStatus && this._adminPort ? { port: this._adminPort, user: this._adminUser, password: this._adminPassword } : void 0;
631
632
  const configContent = generateFrpcConfig(this.serverConfig, this.proxies, admin);
632
- writeFileSync(this.configPath, configContent);
633
+ writeFileSync(this.configPath, configContent, { mode: 384 });
633
634
  this.log("Config updated with fresh token");
634
635
  }
635
636
  /** Get the public URLs for each port. */
@@ -1,5 +1,5 @@
1
- import { a1 as resolveModel, ae as describeMisconfiguration, af as buildMachineDeps } from './run-BtGnnEMI.mjs';
2
- import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-C_ifGgde.mjs';
1
+ import { a1 as resolveModel, ae as describeMisconfiguration, af as buildMachineDeps } from './run-CT8Leg3-.mjs';
2
+ import { handleRealtimeEvent, initMachineVoiceSession } from './sideband-ByYvGtj3.mjs';
3
3
  import { WebSocket } from 'ws';
4
4
  import { execSync, spawn } from 'child_process';
5
5
  import 'os';
@@ -16,10 +16,7 @@ import 'node:path';
16
16
  import 'node:events';
17
17
  import 'node:os';
18
18
  import '@agentclientprotocol/sdk';
19
- import '@modelcontextprotocol/sdk/client/index.js';
20
- import '@modelcontextprotocol/sdk/client/stdio.js';
21
- import '@modelcontextprotocol/sdk/types.js';
22
- import 'zod';
19
+ import 'node:readline';
23
20
  import 'node:fs/promises';
24
21
  import 'node:util';
25
22
  import 'yaml';
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-BtGnnEMI.mjs';
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-CT8Leg3-.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -14,10 +14,7 @@ import 'node:path';
14
14
  import 'node:events';
15
15
  import 'node:os';
16
16
  import '@agentclientprotocol/sdk';
17
- import '@modelcontextprotocol/sdk/client/index.js';
18
- import '@modelcontextprotocol/sdk/client/stdio.js';
19
- import '@modelcontextprotocol/sdk/types.js';
20
- import 'zod';
17
+ import 'node:readline';
21
18
  import 'node:fs/promises';
22
19
  import 'node:util';
23
20
  import 'yaml';
@@ -1,5 +1,5 @@
1
1
  var name = "svamp-cli";
2
- var version = "0.2.257";
2
+ var version = "0.2.259";
3
3
  var description = "Svamp CLI — AI workspace daemon on Hypha Cloud";
4
4
  var author = "Amun AI AB";
5
5
  var license = "SEE LICENSE IN LICENSE";
@@ -19,7 +19,7 @@ var exports$1 = {
19
19
  var scripts = {
20
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
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-btw-proxy-env.mjs && npx tsx test/test-output-formatters.mjs && npx tsx test/test-inbox-guard.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-machine-service-logic.mjs && npx tsx test/test-interactive-helpers.mjs && npx tsx test/test-codex-backend.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-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-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-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-channel-binding.mjs && npx tsx test/test-channel-identity.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-graceful-restart.mjs",
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-btw-proxy-env.mjs && npx tsx test/test-output-formatters.mjs && npx tsx test/test-inbox-guard.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-machine-service-logic.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-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-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-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-graceful-restart.mjs",
23
23
  "test:hypha": "node --no-warnings test/test-hypha-service.mjs",
24
24
  dev: "tsx src/cli.ts",
25
25
  "dev:daemon": "tsx src/cli.ts daemon start-sync",
@@ -1,7 +1,7 @@
1
1
  import { spawn, exec as exec$1 } from 'node:child_process';
2
2
  import { promisify } from 'node:util';
3
3
 
4
- const PINNED_CLAUDE_CODE_VERSION = "2.1.206";
4
+ const PINNED_CLAUDE_CODE_VERSION = "2.1.210";
5
5
  const exec = promisify(exec$1);
6
6
  let _reconcile = null;
7
7
  function beginClaudeVersionReconcile(log) {
@@ -1,4 +1,4 @@
1
- import { n as resolveProjectRoot, z as getRun, A as listRuns, B as getWorkflow, C as runWorkflow, D as setWorkflowEnabled, E as removeWorkflow, F as saveWorkflow, G as rawWorkflow, H as listWorkflows } from './run-BtGnnEMI.mjs';
1
+ import { n as resolveProjectRoot, z as getRun, A as listRuns, B as getWorkflow, C as runWorkflow, D as setWorkflowEnabled, E as removeWorkflow, F as saveWorkflow, G as rawWorkflow, H as listWorkflows } from './run-CT8Leg3-.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -14,10 +14,7 @@ import 'node:path';
14
14
  import 'node:events';
15
15
  import 'node:os';
16
16
  import '@agentclientprotocol/sdk';
17
- import '@modelcontextprotocol/sdk/client/index.js';
18
- import '@modelcontextprotocol/sdk/client/stdio.js';
19
- import '@modelcontextprotocol/sdk/types.js';
20
- import 'zod';
17
+ import 'node:readline';
21
18
  import 'node:fs/promises';
22
19
  import 'node:util';
23
20
  import 'yaml';
@@ -1,4 +1,4 @@
1
- import { n as resolveProjectRoot, u as updateIssue, o as getIssue, p as resumeIssue, q as pauseIssue, t as addComment, v as addIssue, w as listIssues, x as searchIssues, y as isVisibleTo } from './run-BtGnnEMI.mjs';
1
+ import { n as resolveProjectRoot, u as updateIssue, o as getIssue, p as resumeIssue, q as pauseIssue, t as addComment, v as addIssue, w as listIssues, x as searchIssues, y as isVisibleTo } from './run-CT8Leg3-.mjs';
2
2
  import 'os';
3
3
  import 'fs/promises';
4
4
  import 'fs';
@@ -14,10 +14,7 @@ import 'node:path';
14
14
  import 'node:events';
15
15
  import 'node:os';
16
16
  import '@agentclientprotocol/sdk';
17
- import '@modelcontextprotocol/sdk/client/index.js';
18
- import '@modelcontextprotocol/sdk/client/stdio.js';
19
- import '@modelcontextprotocol/sdk/types.js';
20
- import 'zod';
17
+ import 'node:readline';
21
18
  import 'node:fs/promises';
22
19
  import 'node:util';
23
20
  import 'yaml';
@@ -1,4 +1,4 @@
1
- import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import { ag as applyClaudeProxyEnv, ah as composeSessionId, ai as generateFriendlyName, c as connectToHypha, a as createSessionStore, r as registerMachineService, aj as generateHookSettings } from './run-BtGnnEMI.mjs';
1
+ import{createRequire as _pkgrollCR}from"node:module";const require=_pkgrollCR(import.meta.url);import { ag as applyClaudeProxyEnv, ah as composeSessionId, ai as generateFriendlyName, c as connectToHypha, a as createSessionStore, r as registerMachineService, aj as generateHookSettings } from './run-CT8Leg3-.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';
@@ -16,10 +16,6 @@ import 'node:crypto';
16
16
  import 'util';
17
17
  import 'node:events';
18
18
  import '@agentclientprotocol/sdk';
19
- import '@modelcontextprotocol/sdk/client/index.js';
20
- import '@modelcontextprotocol/sdk/client/stdio.js';
21
- import '@modelcontextprotocol/sdk/types.js';
22
- import 'zod';
23
19
  import 'node:fs/promises';
24
20
  import 'node:util';
25
21
  import 'yaml';