agent-yes 1.300.3 → 1.300.4-beta.775.1

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 (58) hide show
  1. package/dist/{SUPPORTED_CLIS-ChSO8FiS.js → SUPPORTED_CLIS-Dca1WOkk.js} +3 -3
  2. package/dist/{SUPPORTED_CLIS-CWJr4TJH.js → SUPPORTED_CLIS-R-XtD570.js} +2 -2
  3. package/dist/{agentShare-NkW0b0mg.js → agentShare-CPfzAr28.js} +4 -4
  4. package/dist/{callback-B8CUyag4.js → callback-DrbPZRQc.js} +3 -3
  5. package/dist/{callback-CjlaFXp1.js → callback-eekD5aBe.js} +3 -3
  6. package/dist/{channels-aYwLMbFV.js → channels-rhxQArqN.js} +2 -2
  7. package/dist/cli.js +5 -5
  8. package/dist/{cmdPs-C8DIl8V6.js → cmdPs-7EkZHFbz.js} +3 -3
  9. package/dist/index.js +2 -2
  10. package/dist/{notifyDaemon-DWIfzEE7.js → notifyDaemon-Cmf8ppK6.js} +3 -3
  11. package/dist/{parentPingLoop-Bh3KuFcW.js → parentPingLoop-BQfHtucu.js} +2 -2
  12. package/dist/{remotes-B4v0Nowo.js → remotes-B4CNXwDS.js} +2 -2
  13. package/dist/{remotes-DnMQWaqQ.js → remotes-CQTEY8Gt.js} +1 -1
  14. package/dist/rustBinary-DkOJW7Ss.js +4 -0
  15. package/dist/{rustBinary-gI_r3g9K.js → rustBinary-PgvSiDzh.js} +48 -5
  16. package/dist/{schedule-DryC--yx.js → schedule-Bpy5K-SJ.js} +4 -4
  17. package/dist/{serve-DVoYVgBo.js → serve-DTZA4xqX.js} +100 -32
  18. package/dist/{serveRust-DDQiZmMf.js → serveRust-BAawe83i.js} +16 -2
  19. package/dist/{setup--1zRHaGW.js → setup-_HaO-pOs.js} +2 -2
  20. package/dist/{share-C9oGvjXT.js → share-CLataFnI.js} +18 -12
  21. package/dist/share-nmgSIjYP.js +4 -0
  22. package/dist/{shareCmd-BI3hRWGO.js → shareCmd-DTCJK1RC.js} +25 -7
  23. package/dist/{subcommands-BviFOQZE.js → subcommands-B94mFwcB.js} +2 -2
  24. package/dist/{subcommands-UWLkF5pq.js → subcommands-BUEujBnq.js} +404 -77
  25. package/dist/{terminal-DviH1E3C.js → terminal-BaZH3wbu.js} +2 -2
  26. package/dist/{trayApp-PJrwfyDs.js → trayApp-CixEBRfS.js} +2 -2
  27. package/dist/trayApp-DKA53L4c.js +5 -0
  28. package/dist/{ts--JmSY117.js → ts-lNj8kZSk.js} +5 -5
  29. package/dist/{versionChecker-CCGSbjio.js → versionChecker-B-4-p3q_.js} +2 -2
  30. package/dist/{webrtcRemote-Cd4vTrgv.js → webrtcRemote-Cy5kB8aR.js} +115 -14
  31. package/dist/{widget-DgBDIGRQ.js → widget-C2jzpM5a.js} +3 -3
  32. package/dist/{ws-dc7MP054.js → ws-BszLSq2p.js} +2 -2
  33. package/dist/{ws-DnBg8-g-.js → ws-DncmqAsv.js} +3 -3
  34. package/package.json +1 -1
  35. package/ts/remoteCache.bun.spec.ts +191 -0
  36. package/ts/remoteCache.spec.ts +191 -0
  37. package/ts/remoteCache.ts +193 -0
  38. package/ts/rustBinary.bun.spec.ts +39 -2
  39. package/ts/rustBinary.spec.ts +53 -2
  40. package/ts/rustBinary.ts +61 -3
  41. package/ts/serve.spec.ts +103 -0
  42. package/ts/serve.ts +106 -15
  43. package/ts/serveRust.spec.ts +24 -1
  44. package/ts/serveRust.ts +19 -0
  45. package/ts/share.bun.spec.ts +54 -2
  46. package/ts/share.spec.ts +54 -2
  47. package/ts/share.ts +40 -15
  48. package/ts/shareCmd.ts +33 -2
  49. package/ts/strayServe.ts +1 -0
  50. package/ts/subcommands.spec.ts +36 -3
  51. package/ts/subcommands.ts +384 -98
  52. package/ts/webrtcRemote.ts +66 -20
  53. package/ts/webrtcSignal.bun.spec.ts +120 -0
  54. package/ts/webrtcSignal.spec.ts +120 -0
  55. package/ts/webrtcSignal.ts +143 -0
  56. package/dist/rustBinary-BNmAJEBb.js +0 -4
  57. package/dist/share-Bmnd_qT0.js +0 -4
  58. package/dist/trayApp-BDIb8fOj.js +0 -5
@@ -1,12 +1,12 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-CCGSbjio.js";
3
- import "./ts--JmSY117.js";
2
+ import "./versionChecker-B-4-p3q_.js";
3
+ import "./ts-lNj8kZSk.js";
4
4
  import "./todoAutomation-CbVVS4re.js";
5
5
  import "./JsonlStore-BqF7AQ6E.js";
6
6
  import "./globalPidIndex-CRH9L9tn.js";
7
7
  import "./pidStore-DXWqzTSz.js";
8
8
  import "./messageLog-Brx3w6zT.js";
9
9
  import "./todoStore-DF6vxHgV.js";
10
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-CWJr4TJH.js";
10
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-R-XtD570.js";
11
11
 
12
12
  export { SUPPORTED_CLIS };
@@ -1,8 +1,8 @@
1
- import { t as CLIS_CONFIG } from "./ts--JmSY117.js";
1
+ import { t as CLIS_CONFIG } from "./ts-lNj8kZSk.js";
2
2
 
3
3
  //#region ts/SUPPORTED_CLIS.ts
4
4
  const SUPPORTED_CLIS = Object.keys(CLIS_CONFIG);
5
5
 
6
6
  //#endregion
7
7
  export { SUPPORTED_CLIS as t };
8
- //# sourceMappingURL=SUPPORTED_CLIS-CWJr4TJH.js.map
8
+ //# sourceMappingURL=SUPPORTED_CLIS-R-XtD570.js.map
@@ -5,11 +5,11 @@ import "./pidStore-DXWqzTSz.js";
5
5
  import "./messageLog-Brx3w6zT.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import { nt as resolveOne } from "./subcommands-UWLkF5pq.js";
8
+ import { nt as resolveOne } from "./subcommands-BUEujBnq.js";
9
9
  import "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DFRyWNMs.js";
11
- import "./remotes-B4v0Nowo.js";
12
- import { o as startShare } from "./share-C9oGvjXT.js";
11
+ import "./remotes-B4CNXwDS.js";
12
+ import { l as startShare } from "./share-CLataFnI.js";
13
13
 
14
14
  //#region ts/agentShare.ts
15
15
  const MAX_SHARES = 8;
@@ -232,4 +232,4 @@ function transformEvent(rawEvent, agentId, forwarded) {
232
232
 
233
233
  //#endregion
234
234
  export { createScopedShare, listShares, revokeAllShares, revokeShare };
235
- //# sourceMappingURL=agentShare-NkW0b0mg.js.map
235
+ //# sourceMappingURL=agentShare-CPfzAr28.js.map
@@ -5,11 +5,11 @@ import "./pidStore-DXWqzTSz.js";
5
5
  import "./messageLog-Brx3w6zT.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import "./subcommands-UWLkF5pq.js";
8
+ import "./subcommands-BUEujBnq.js";
9
9
  import "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DFRyWNMs.js";
11
- import "./remotes-B4v0Nowo.js";
11
+ import "./remotes-B4CNXwDS.js";
12
12
  import "./callbackCore-Bl2gGcxg.js";
13
- import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-CjlaFXp1.js";
13
+ import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-eekD5aBe.js";
14
14
 
15
15
  export { cmdCallback };
@@ -1,5 +1,5 @@
1
1
  import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
2
- import { nt as resolveOne } from "./subcommands-UWLkF5pq.js";
2
+ import { nt as resolveOne } from "./subcommands-BUEujBnq.js";
3
3
  import { a as mintCapability, o as parseExpires } from "./callbackCore-Bl2gGcxg.js";
4
4
  import { randomBytes } from "node:crypto";
5
5
  import { chmodSync, readFileSync, renameSync, writeFileSync } from "node:fs";
@@ -72,7 +72,7 @@ async function resolveBase(flag) {
72
72
  if (flag) return flag;
73
73
  if (process.env.AGENT_YES_CALLBACK_BASE) return process.env.AGENT_YES_CALLBACK_BASE;
74
74
  try {
75
- const { resolveLocalServeUrl } = await import("./serve-DVoYVgBo.js");
75
+ const { resolveLocalServeUrl } = await import("./serve-DTZA4xqX.js");
76
76
  const url = await resolveLocalServeUrl();
77
77
  if (url) return url;
78
78
  } catch {}
@@ -187,4 +187,4 @@ async function cmdCallback(rest) {
187
187
 
188
188
  //#endregion
189
189
  export { loadOrCreateCallbackSecret as i, isCallbackRevoked as n, loadCallbackSecretReadOnly as r, cmdCallback as t };
190
- //# sourceMappingURL=callback-CjlaFXp1.js.map
190
+ //# sourceMappingURL=callback-eekD5aBe.js.map
@@ -387,7 +387,7 @@ function printOp(op) {
387
387
  */
388
388
  async function runMesh(cwd, entry, opts) {
389
389
  const { ChannelPeer } = await import("./peer-CGSJluSw.js");
390
- const { importRTC, getIceServers } = await import("./share-Bmnd_qT0.js");
390
+ const { importRTC, getIceServers } = await import("./share-nmgSIjYP.js");
391
391
  const rtc = await importRTC();
392
392
  const seen = new Set((await readOps(cwd, entry.channelId)).map((o) => o.id));
393
393
  const peer = new ChannelPeer({
@@ -567,4 +567,4 @@ async function cmdCh(args) {
567
567
 
568
568
  //#endregion
569
569
  export { cmdCh };
570
- //# sourceMappingURL=channels-aYwLMbFV.js.map
570
+ //# sourceMappingURL=channels-rhxQArqN.js.map
package/dist/cli.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bun
2
2
  import { t as invokedCliName } from "./invokedCli-zdFbz1ST.js";
3
3
  import { n as logger } from "./logger-CDIsZ-Pp.js";
4
- import { a as versionString, r as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-CCGSbjio.js";
5
- import { d as getRustBinary } from "./rustBinary-gI_r3g9K.js";
4
+ import { a as versionString, r as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-B-4-p3q_.js";
5
+ import { p as getRustBinary } from "./rustBinary-PgvSiDzh.js";
6
6
  import { argv } from "process";
7
7
  import { spawn } from "child_process";
8
8
  import ms from "ms";
@@ -295,7 +295,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
295
295
  const rawArg = process.argv[2];
296
296
  const managerCommands = !invokedCliName(process.argv);
297
297
  const isHelpFlag = rawArg === "-h" || rawArg === "--help";
298
- const { isSubcommand, runSubcommand, cmdHelp, isUnknownManagerToken, isBareManagerInvocation } = await import("./subcommands-BviFOQZE.js");
298
+ const { isSubcommand, runSubcommand, cmdHelp, isUnknownManagerToken, isBareManagerInvocation } = await import("./subcommands-B94mFwcB.js");
299
299
  if (isHelpFlag && process.argv.length === 3) {
300
300
  await cmdHelp(managerCommands);
301
301
  process.exit(0);
@@ -309,7 +309,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
309
309
  process.exit(code ?? 0);
310
310
  }
311
311
  {
312
- const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-ChSO8FiS.js");
312
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-Dca1WOkk.js");
313
313
  if (isUnknownManagerToken(rawArg, managerCommands, SUPPORTED_CLIS)) {
314
314
  process.stderr.write(`ay: unknown subcommand or CLI '${rawArg}'.\n See 'ay help' for subcommands. To run an agent, name a CLI:\n 'ay <cli> …' (e.g. 'ay claude …') or 'ay --cli <cli> …'.\n`);
315
315
  process.exit(1);
@@ -360,7 +360,7 @@ if (config.useRust) {
360
360
  }
361
361
  }
362
362
  if (rustBinary) {
363
- const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-ChSO8FiS.js");
363
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-Dca1WOkk.js");
364
364
  const rustArgs = buildRustArgs(process.argv, config.cli, SUPPORTED_CLIS);
365
365
  if (config.verbose) {
366
366
  console.log(`[rust] Using binary: ${rustBinary}`);
@@ -5,10 +5,10 @@ import "./pidStore-DXWqzTSz.js";
5
5
  import "./messageLog-Brx3w6zT.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import { V as listRecords, bt as flattenForest, v as deriveLiveState, yt as buildAgentForest } from "./subcommands-UWLkF5pq.js";
8
+ import { V as listRecords, bt as flattenForest, v as deriveLiveState, yt as buildAgentForest } from "./subcommands-BUEujBnq.js";
9
9
  import "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DFRyWNMs.js";
11
- import "./remotes-B4v0Nowo.js";
11
+ import "./remotes-B4CNXwDS.js";
12
12
  import { i as systemStats, n as sampleTrees, r as snapshotProcs, t as humanBytes } from "./procStats-CyD8h5nx.js";
13
13
  import yargs from "yargs";
14
14
  import { readFileSync } from "node:fs";
@@ -330,4 +330,4 @@ function readPpidSync(pid) {
330
330
 
331
331
  //#endregion
332
332
  export { cmdPs };
333
- //# sourceMappingURL=cmdPs-C8DIl8V6.js.map
333
+ //# sourceMappingURL=cmdPs-7EkZHFbz.js.map
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-CCGSbjio.js";
3
- import { a as hasTodoStore, i as answerAsk, l as AgentContext, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts--JmSY117.js";
2
+ import "./versionChecker-B-4-p3q_.js";
3
+ import { a as hasTodoStore, i as answerAsk, l as AgentContext, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts-lNj8kZSk.js";
4
4
  import { a as renderTree, c as describeBlock, i as renderDigest, l as monitorHint, o as unblockedTasks, r as openBlockers, t as reconcileTodos, u as removeControlCharacters } from "./todoAutomation-CbVVS4re.js";
5
5
  import "./JsonlStore-BqF7AQ6E.js";
6
6
  import "./globalPidIndex-CRH9L9tn.js";
@@ -5,10 +5,10 @@ import "./pidStore-DXWqzTSz.js";
5
5
  import "./messageLog-Brx3w6zT.js";
6
6
  import "./e2e-z1xpwSAg.js";
7
7
  import "./configShared-DKTgiz7K.js";
8
- import { $ as renderLogTailLines, N as isPidAlive, V as listRecords, v as deriveLiveState } from "./subcommands-UWLkF5pq.js";
8
+ import { $ as renderLogTailLines, N as isPidAlive, V as listRecords, v as deriveLiveState } from "./subcommands-BUEujBnq.js";
9
9
  import { f as readInbox, g as daemonLockOwnerPath, h as daemonLockDir, i as gcInboxes, l as listInboxParents, m as shouldStealLock, n as appendEvent, s as hostId, u as liveWatchers, x as notifyDir } from "./notifyStore-2SWKGwZI.js";
10
10
  import "./webrtcLink-DFRyWNMs.js";
11
- import "./remotes-B4v0Nowo.js";
11
+ import "./remotes-B4CNXwDS.js";
12
12
  import { mkdir, readFile, rename, rm, stat, writeFile } from "fs/promises";
13
13
  import { randomUUID } from "node:crypto";
14
14
  import { execFile, execFileSync } from "node:child_process";
@@ -879,4 +879,4 @@ async function ensureDaemon() {
879
879
 
880
880
  //#endregion
881
881
  export { daemonStatus, ensureDaemon, requestDaemonStop, runDaemon };
882
- //# sourceMappingURL=notifyDaemon-DWIfzEE7.js.map
882
+ //# sourceMappingURL=notifyDaemon-Cmf8ppK6.js.map
@@ -338,7 +338,7 @@ async function isParentWatching(parentWrapperPid, parentAgentPid, selfAgentPid,
338
338
  logger.debug("[parent-ping] watcher lookup failed:", error);
339
339
  }
340
340
  try {
341
- const { lastReadAt, READ_WINDOW_MS } = await import("./subcommands-BviFOQZE.js");
341
+ const { lastReadAt, READ_WINDOW_MS } = await import("./subcommands-B94mFwcB.js");
342
342
  const last = await lastReadAt(`agent:${parentAgentPid}`, selfAgentPid);
343
343
  if (last !== null && now - last <= READ_WINDOW_MS) return true;
344
344
  } catch (error) {
@@ -466,4 +466,4 @@ function startParentPingLoop(opts) {
466
466
 
467
467
  //#endregion
468
468
  export { startParentPingLoop };
469
- //# sourceMappingURL=parentPingLoop-Bh3KuFcW.js.map
469
+ //# sourceMappingURL=parentPingLoop-BQfHtucu.js.map
@@ -136,7 +136,7 @@ async function resolveRemoteSpec(spec) {
136
136
  * The bridge lives for the rest of the process (torn down on `process.exit`).
137
137
  */
138
138
  async function resolveWebrtc(link, keyword, label) {
139
- const { startWebrtcBridge } = await import("./webrtcRemote-Cd4vTrgv.js");
139
+ const { startWebrtcBridge } = await import("./webrtcRemote-Cy5kB8aR.js");
140
140
  const bridge = await startWebrtcBridge(link);
141
141
  return {
142
142
  url: bridge.baseUrl,
@@ -321,4 +321,4 @@ async function cmdConnect(rest) {
321
321
 
322
322
  //#endregion
323
323
  export { deleteRemoteAlias as a, parseShareUrl as c, writeRemoteAlias as d, defaultConnectAlias as i, readRemotes as l, cmdConnect as n, maskRemoteUrl as o, cmdRemote as r, parseDirectRemoteSpec as s, MASK as t, resolveRemoteSpec as u };
324
- //# sourceMappingURL=remotes-B4v0Nowo.js.map
324
+ //# sourceMappingURL=remotes-B4CNXwDS.js.map
@@ -1,5 +1,5 @@
1
1
  import "./e2e-z1xpwSAg.js";
2
2
  import "./webrtcLink-DFRyWNMs.js";
3
- import { a as deleteRemoteAlias, c as parseShareUrl, d as writeRemoteAlias, i as defaultConnectAlias, l as readRemotes, n as cmdConnect, o as maskRemoteUrl, r as cmdRemote, s as parseDirectRemoteSpec, t as MASK, u as resolveRemoteSpec } from "./remotes-B4v0Nowo.js";
3
+ import { a as deleteRemoteAlias, c as parseShareUrl, d as writeRemoteAlias, i as defaultConnectAlias, l as readRemotes, n as cmdConnect, o as maskRemoteUrl, r as cmdRemote, s as parseDirectRemoteSpec, t as MASK, u as resolveRemoteSpec } from "./remotes-B4CNXwDS.js";
4
4
 
5
5
  export { cmdConnect, cmdRemote };
@@ -0,0 +1,4 @@
1
+ import "./versionChecker-B-4-p3q_.js";
2
+ import { a as findAyrsBinary, c as findTrayLauncher, d as getBinaryName, f as getDownloadUrl, i as ensureExecutable, l as gcOldBinaryDirs, m as hasValidMacSignature, n as devBuildInfo, o as findRustBinary, p as getRustBinary, r as downloadBinary, s as findSpawnHiddenLauncher, t as chmodExtractedBinaries, u as getBinDir } from "./rustBinary-PgvSiDzh.js";
3
+
4
+ export { findAyrsBinary, gcOldBinaryDirs };
@@ -1,6 +1,6 @@
1
- import { i as getInstalledPackage, n as compareVersions } from "./versionChecker-CCGSbjio.js";
1
+ import { i as getInstalledPackage, n as compareVersions } from "./versionChecker-B-4-p3q_.js";
2
2
  import { execFileSync } from "child_process";
3
- import { existsSync, mkdirSync, readdirSync, rmSync, statSync, unlinkSync } from "fs";
3
+ import { accessSync, chmodSync, constants, existsSync, mkdirSync, readdirSync, rmSync, statSync, unlinkSync } from "fs";
4
4
  import { chmod, copyFile } from "fs/promises";
5
5
  import path from "path";
6
6
 
@@ -172,7 +172,49 @@ function findAyrsBinary() {
172
172
  path.join(getBinDir(), exe),
173
173
  Bun.which("ayrs") ?? ""
174
174
  ];
175
- for (const p of searchPaths) if (p && existsSync(p)) return p;
175
+ for (const p of searchPaths) if (p && existsSync(p)) return ensureExecutable(p);
176
+ }
177
+ /**
178
+ * Repair a binary that is present but not executable (POSIX only; Windows has
179
+ * no exec bit). A release bundle that lost its modes in transit, or a cache
180
+ * written by an older fetcher that only chmod'ed the main binary, leaves
181
+ * `ayrs` as a plain file: the daemon then dies with EACCES on every restart
182
+ * and the supervisor loops forever. Best effort — a read-only cache keeps
183
+ * failing, and the caller's spawn reports that.
184
+ */
185
+ function ensureExecutable(p) {
186
+ if (process.platform === "win32") return p;
187
+ try {
188
+ accessSync(p, constants.X_OK);
189
+ } catch {
190
+ try {
191
+ chmodSync(p, 493);
192
+ } catch {}
193
+ }
194
+ return p;
195
+ }
196
+ /**
197
+ * Mark every regular file a release bundle extracted into `dir` executable.
198
+ * The tarball carries ayrs (and friends) next to the main binary; the modes
199
+ * they arrive with are whatever the packaging pipeline preserved, which has
200
+ * been "none" (CI artifacts drop Unix permissions). Chmod'ing the main binary
201
+ * alone (the old behaviour) left ayrs non-executable — see ensureExecutable.
202
+ */
203
+ async function chmodExtractedBinaries(dir) {
204
+ const fixed = [];
205
+ for (const name of readdirSync(dir)) {
206
+ const p = path.join(dir, name);
207
+ let isFile = false;
208
+ try {
209
+ isFile = statSync(p).isFile();
210
+ } catch {
211
+ continue;
212
+ }
213
+ if (!isFile || /\.(tar\.gz|zip|json|txt|md)$/i.test(name)) continue;
214
+ await chmod(p, 493);
215
+ fixed.push(name);
216
+ }
217
+ return fixed;
176
218
  }
177
219
  /**
178
220
  * Get GitHub release download URL for the binary
@@ -248,6 +290,7 @@ async function downloadBinary(verbose = false) {
248
290
  try {
249
291
  unlinkSync(tarPath);
250
292
  } catch {}
293
+ await chmodExtractedBinaries(binDir);
251
294
  await chmod(binaryPath, 493);
252
295
  }
253
296
  if (verbose) console.log(`[rust] Binary downloaded to: ${binaryPath}`);
@@ -370,5 +413,5 @@ async function getRustBinary(options = {}) {
370
413
  }
371
414
 
372
415
  //#endregion
373
- export { findSpawnHiddenLauncher as a, getBinDir as c, getRustBinary as d, hasValidMacSignature as f, findRustBinary as i, getBinaryName as l, downloadBinary as n, findTrayLauncher as o, findAyrsBinary as r, gcOldBinaryDirs as s, devBuildInfo as t, getDownloadUrl as u };
374
- //# sourceMappingURL=rustBinary-gI_r3g9K.js.map
416
+ export { findAyrsBinary as a, findTrayLauncher as c, getBinaryName as d, getDownloadUrl as f, ensureExecutable as i, gcOldBinaryDirs as l, hasValidMacSignature as m, devBuildInfo as n, findRustBinary as o, getRustBinary as p, downloadBinary as r, findSpawnHiddenLauncher as s, chmodExtractedBinaries as t, getBinDir as u };
417
+ //# sourceMappingURL=rustBinary-PgvSiDzh.js.map
@@ -1,13 +1,13 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-CCGSbjio.js";
3
- import "./ts--JmSY117.js";
2
+ import "./versionChecker-B-4-p3q_.js";
3
+ import "./ts-lNj8kZSk.js";
4
4
  import "./todoAutomation-CbVVS4re.js";
5
5
  import "./JsonlStore-BqF7AQ6E.js";
6
6
  import "./globalPidIndex-CRH9L9tn.js";
7
7
  import "./pidStore-DXWqzTSz.js";
8
8
  import "./messageLog-Brx3w6zT.js";
9
9
  import "./todoStore-DF6vxHgV.js";
10
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-CWJr4TJH.js";
10
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-R-XtD570.js";
11
11
  import { f as resolveSpawnCwd } from "./workspaceConfig-DTvPtr5j.js";
12
12
  import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-CipjIwfO.js";
13
13
  import { createHash } from "node:crypto";
@@ -154,4 +154,4 @@ async function cmdSchedule(rest) {
154
154
 
155
155
  //#endregion
156
156
  export { cmdSchedule };
157
- //# sourceMappingURL=schedule-DryC--yx.js.map
157
+ //# sourceMappingURL=schedule-Bpy5K-SJ.js.map
@@ -1,7 +1,7 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import { i as getInstalledPackage } from "./versionChecker-CCGSbjio.js";
3
- import { a as findSpawnHiddenLauncher } from "./rustBinary-gI_r3g9K.js";
4
- import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts--JmSY117.js";
2
+ import { i as getInstalledPackage } from "./versionChecker-B-4-p3q_.js";
3
+ import { s as findSpawnHiddenLauncher } from "./rustBinary-PgvSiDzh.js";
4
+ import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts-lNj8kZSk.js";
5
5
  import { t as agentYesHome$1 } from "./agentYesHome-BNtn19J4.js";
6
6
  import { u as removeControlCharacters } from "./todoAutomation-CbVVS4re.js";
7
7
  import "./JsonlStore-BqF7AQ6E.js";
@@ -12,25 +12,25 @@ import { t as pgidForWrapper } from "./reaper-UimuuTfO.js";
12
12
  import "./todoStore-DF6vxHgV.js";
13
13
  import "./e2e-z1xpwSAg.js";
14
14
  import "./configShared-DKTgiz7K.js";
15
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-CWJr4TJH.js";
16
- import { $ as renderLogTailLines, C as extractBadges, E as extractTaskCounts, J as readLogForRender, P as isSlashCommand, Q as recentReadEdges, R as isUserTyping, T as extractNeedsInput, V as listRecords, X as readPtysize, Y as readNotes, Z as recentMessageEdges, _t as shouldFramePaste, ct as snapshotStatus, et as renderRawLog, f as cliDefaults, gt as framePaste, h as controlCodeFromName, ht as withIpcLock, mt as writeToIpc, nt as resolveOne, tt as renderRawLogLines, vt as TYPING_BADGE, y as deriveLiveStatus } from "./subcommands-UWLkF5pq.js";
15
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-R-XtD570.js";
16
+ import { $ as renderLogTailLines, C as extractBadges, E as extractTaskCounts, J as readLogForRender, P as isSlashCommand, Q as recentReadEdges, R as isUserTyping, T as extractNeedsInput, V as listRecords, X as readPtysize, Y as readNotes, Z as recentMessageEdges, _t as shouldFramePaste, ct as snapshotStatus, et as renderRawLog, f as cliDefaults, gt as framePaste, h as controlCodeFromName, ht as withIpcLock, mt as writeToIpc, nt as resolveOne, tt as renderRawLogLines, vt as TYPING_BADGE, y as deriveLiveStatus } from "./subcommands-BUEujBnq.js";
17
17
  import { c as isTransientLockMkdirError } from "./notifyStore-2SWKGwZI.js";
18
18
  import { i as toWebrtcUrl, n as isWebrtcSpec } from "./webrtcLink-DFRyWNMs.js";
19
- import "./remotes-B4v0Nowo.js";
19
+ import "./remotes-B4CNXwDS.js";
20
20
  import { i as frameVisitorMessage, s as verifyCapability, t as MAX_CALLBACK_MSG_BYTES } from "./callbackCore-Bl2gGcxg.js";
21
- import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-CjlaFXp1.js";
21
+ import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-eekD5aBe.js";
22
22
  import { n as sampleTrees } from "./procStats-CyD8h5nx.js";
23
23
  import { a as getProvisionRoot, d as isProvisionAllowed, f as resolveSpawnCwd, i as getProvisionHook, l as hasProvisionHook, o as getSpawnHook, t as allowsSkipPermissions, u as hasSpawnHook } from "./workspaceConfig-DTvPtr5j.js";
24
24
  import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-CipjIwfO.js";
25
- import { i as importProvisionModule } from "./ws-dc7MP054.js";
25
+ import { i as importProvisionModule } from "./ws-BszLSq2p.js";
26
26
  import { r as spawnRejectionReason } from "./spawnGate-YpHopveO.js";
27
- import { i as launchTray } from "./trayApp-PJrwfyDs.js";
27
+ import { i as launchTray } from "./trayApp-CixEBRfS.js";
28
28
  import yargs from "yargs";
29
29
  import { appendFile, mkdir, open, readFile, readdir, rename, rm, stat, unlink, writeFile } from "fs/promises";
30
30
  import { arch, cpus, freemem, homedir, hostname, loadavg, platform, totalmem, uptime, userInfo } from "os";
31
31
  import path from "path";
32
32
  import { execFileSync } from "node:child_process";
33
- import { existsSync, renameSync, watch, writeFileSync } from "node:fs";
33
+ import { existsSync, realpathSync, renameSync, watch, writeFileSync } from "node:fs";
34
34
  import { fileURLToPath } from "node:url";
35
35
  import { createHash, createHmac, randomBytes, timingSafeEqual } from "crypto";
36
36
 
@@ -459,7 +459,7 @@ function negotiateSize(caps) {
459
459
  //#region ts/strayServe.ts
460
460
  const MANAGEMENT_COMMAND_RE = /\b(?:install|uninstall|status|logs|restart)\b/;
461
461
  function isServeCommand(command) {
462
- return /\bay(?:\.js)?\s+serve\b/.test(command) || /\bagent-yes(?:\.js)?\s+serve\b/.test(command) || /\bagent-yes\.js\s+serve\b/.test(command);
462
+ return /\bay(?:\.js)?\s+serve\b/.test(command) || /\bayrs(?:\.exe)?\s+serve\b/.test(command) || /\bagent-yes(?:\.js)?\s+serve\b/.test(command) || /\bagent-yes\.js\s+serve\b/.test(command);
463
463
  }
464
464
  function parseStrayServeProcesses(psOutput, opts) {
465
465
  const ignoredPids = new Set([opts.selfPid, opts.parentPid]);
@@ -1102,14 +1102,66 @@ async function bootstrapDaemonManager() {
1102
1102
  function oxmgrCmd(argv) {
1103
1103
  return argv.map((a) => /[\\\s"]/.test(a) ? `"${a.replace(/"/g, "\\\"")}"` : a).join(" ");
1104
1104
  }
1105
+ /**
1106
+ * The argv a daemon manager runs for `ay serve …`. Pure so the contract is
1107
+ * testable: `which` is the `ay` on PATH (or null), `script` is THIS process's
1108
+ * own entry (`process.argv[1]`, always present), `realpath` resolves symlinks.
1109
+ *
1110
+ * Never bake in the `~/.bun/bin/ay` symlink: `bun add -g` removes and recreates
1111
+ * it on every upgrade, and some images ship without it until the first update
1112
+ * — a manager that stored it then restarts into ENOENT thousands of times.
1113
+ * Resolve to the real file instead, and when nothing is on PATH fall back to
1114
+ * the script running this very install (never a bare `ay`, which a manager's
1115
+ * minimal PATH cannot resolve). On POSIX the entry is a `#!/usr/bin/env bun`
1116
+ * script run via bun; on Windows it is a self-contained exe.
1117
+ */
1118
+ function serveLauncher(opts) {
1119
+ const resolve = (p) => {
1120
+ try {
1121
+ return opts.realpath(p);
1122
+ } catch {
1123
+ return p;
1124
+ }
1125
+ };
1126
+ const entry = opts.which ? resolve(opts.which) : opts.script ? resolve(opts.script) : null;
1127
+ if (!entry) return ["ay"];
1128
+ if (opts.platform === "win32") return /\.(exe|cmd|bat)$/i.test(entry) ? [entry] : [opts.execPath, entry];
1129
+ return [opts.execPath, entry];
1130
+ }
1105
1131
  function ayServeArgv(args) {
1106
- const ayBin = Bun.which("ay");
1107
1132
  return [
1108
- ...ayBin ? process.platform === "win32" ? [ayBin] : [process.execPath, ayBin] : ["ay"],
1133
+ ...serveLauncher({
1134
+ which: Bun.which("ay"),
1135
+ script: process.argv[1],
1136
+ execPath: process.execPath,
1137
+ platform: process.platform,
1138
+ realpath: realpathSync
1139
+ }),
1109
1140
  "serve",
1110
1141
  ...args
1111
1142
  ];
1112
1143
  }
1144
+ const LEGACY_AYRS_TASK = "com.snomiao.ayrs-serve";
1145
+ function legacyAyrsTaskArgv(step) {
1146
+ const base = [
1147
+ "schtasks",
1148
+ `/${step}`,
1149
+ "/tn",
1150
+ LEGACY_AYRS_TASK
1151
+ ];
1152
+ return step === "query" ? [
1153
+ ...base,
1154
+ "/fo",
1155
+ "LIST"
1156
+ ] : step === "delete" ? [...base, "/f"] : base;
1157
+ }
1158
+ async function stopLegacyAyrsTask() {
1159
+ if (process.platform !== "win32") return;
1160
+ if (await spawnExit(legacyAyrsTaskArgv("query")) !== 0) return;
1161
+ process.stdout.write(`stopping legacy scheduled task '${LEGACY_AYRS_TASK}' (it would keep hosting the WebRTC room)\n`);
1162
+ await spawnExit(legacyAyrsTaskArgv("end"));
1163
+ await spawnExit(legacyAyrsTaskArgv("delete"));
1164
+ }
1113
1165
  const WIN_RUN_KEY = "HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run";
1114
1166
  const WIN_RUN_VALUE = DAEMON_NAME;
1115
1167
  async function ensureBootAutostart(mgr) {
@@ -1290,6 +1342,11 @@ async function warnStrayServeProcesses() {
1290
1342
  const pids = stray.map((p) => p.pid);
1291
1343
  process.stderr.write(`warning: ${stray.length} unmanaged ay serve process(es) running (pid ${pids.join(", ")}) — they will fight the daemon for the WebRTC room; stop them: kill ${pids.join(" ")}\n`);
1292
1344
  }
1345
+ async function daemonShareRuntime(args) {
1346
+ const { daemonShareRuntime: decide } = await import("./serveRust-BAawe83i.js");
1347
+ const { findAyrsBinary } = await import("./rustBinary-DkOJW7Ss.js");
1348
+ return decide(args, () => !!findAyrsBinary());
1349
+ }
1293
1350
  function explicitWebrtcUrl(args) {
1294
1351
  for (let i = 0; i < args.length; i++) {
1295
1352
  const a = args[i];
@@ -1401,6 +1458,7 @@ async function cmdServeDaemon(sub, args) {
1401
1458
  }
1402
1459
  }
1403
1460
  if (removed === 0 && failed === 0) process.stdout.write(`no '${DAEMON_NAME}' daemon registered with any manager\n`);
1461
+ await stopLegacyAyrsTask();
1404
1462
  await warnStrayServeProcesses();
1405
1463
  return failed ? 1 : 0;
1406
1464
  }
@@ -1422,19 +1480,25 @@ async function cmdServeDaemon(sub, args) {
1422
1480
  const webrtcDaemon = effArgs.some((a) => a.startsWith("--webrtc") || a.startsWith("--share"));
1423
1481
  let shareLink = null;
1424
1482
  let shareLinkMinted = false;
1483
+ let roomFile = ".share-room";
1425
1484
  if (webrtcDaemon) try {
1426
- const { loadOrCreateShareRoom, shareLinkFromRoomUrl } = await import("./share-Bmnd_qT0.js");
1485
+ const { loadOrCreateShareRoom, shareLinkFromRoomUrl, shareRoomFileName } = await import("./share-nmgSIjYP.js");
1486
+ const runtime = await daemonShareRuntime(effArgs);
1487
+ roomFile = shareRoomFileName(runtime);
1427
1488
  const explicit = explicitWebrtcUrl(effArgs);
1428
- shareLink = shareLinkFromRoomUrl(explicit ?? await loadOrCreateShareRoom());
1489
+ shareLink = shareLinkFromRoomUrl(explicit ?? await loadOrCreateShareRoom(void 0, runtime));
1429
1490
  shareLinkMinted = !explicit;
1430
1491
  } catch {}
1431
1492
  const emitShareLink = async () => {
1432
1493
  if (!webrtcDaemon) return;
1433
1494
  if (shareLink) {
1434
- process.stdout.write(`\nshared over WebRTC — open this link (the token is eaten from the URL on open):\n ${shareLink}\n` + (shareLinkMinted ? ` (persistent room — same link across restarts; delete ~/.agent-yes/.share-room to rotate)\n` : ``));
1495
+ process.stdout.write(`\nshared over WebRTC — open this link (the token is eaten from the URL on open):\n ${shareLink}\n` + (shareLinkMinted ? ` (persistent room — same link across restarts; delete ~/.agent-yes/${roomFile} to rotate)\n` : ``));
1435
1496
  const { offerOpenInBrowser } = await import("./openBrowser-THOzOGNm.js");
1436
1497
  await offerOpenInBrowser(shareLink);
1437
- } else process.stdout.write("\nthe WebRTC share link carries a secret, so the daemon does NOT log it —\nread it from ~/.agent-yes/.share-link (mode 0600). The room persists in\n~/.agent-yes/.share-room, so the link survives restarts.\n");
1498
+ } else process.stdout.write(`
1499
+ the WebRTC share link carries a secret, so the daemon does NOT log it —
1500
+ read it with \`ay share status\`. The room persists in
1501
+ ~/.agent-yes/${roomFile}, so the link survives restarts.\n`);
1438
1502
  };
1439
1503
  if (priorArgs !== null) {
1440
1504
  const sameConfig = JSON.stringify(effArgs) === JSON.stringify(priorArgs);
@@ -1457,7 +1521,9 @@ async function cmdServeDaemon(sub, args) {
1457
1521
  DAEMON_NAME
1458
1522
  ]);
1459
1523
  }
1524
+ await stopLegacyAyrsTask();
1460
1525
  await warnStrayServeProcesses();
1526
+ await unlink(heartbeatPath()).catch(() => {});
1461
1527
  const serveArgv = ayServeArgv(effArgs);
1462
1528
  const spawnHidden = findSpawnHiddenLauncher();
1463
1529
  const managedArgv = spawnHidden ? [spawnHidden, ...serveArgv] : serveArgv;
@@ -1574,9 +1640,10 @@ async function cmdServeStatus(args) {
1574
1640
  const json = args.includes("--json");
1575
1641
  const mgr = await resolveActiveManager();
1576
1642
  const token = await loadTokenReadOnly();
1577
- const shareLink = await readShareLink();
1578
1643
  const daemonArgs = mgr ? await readDaemonServeArgs(mgr) : null;
1579
1644
  const installed = daemonArgs !== null;
1645
+ const { daemonShareLink } = await import("./shareCmd-DTCJK1RC.js");
1646
+ const shareLink = (installed ? await daemonShareLink(daemonArgs) : null) ?? await readShareLink();
1580
1647
  const running = installed ? await readDaemonRunning(mgr) : false;
1581
1648
  const a = daemonArgs ?? [];
1582
1649
  const local = argsUsePortless(a);
@@ -1681,8 +1748,9 @@ Modes (default: --http):
1681
1748
  agent-yes.com, or pass a room link to join that room:
1682
1749
  https://agent-yes.com/room/#room=<id>&s=e1.<secret>).
1683
1750
  Alone it needs NO port — combine with --http for both.
1684
- The minted room persists in ~/.agent-yes/.share-room
1685
- (stable link across restarts; delete the file to rotate).
1751
+ The minted room persists in ~/.agent-yes/.share-room-ayrs
1752
+ (.share-room under --no-rust); stable link across restarts,
1753
+ delete the file to rotate.
1686
1754
  --share [URL] Legacy alias for --http --webrtc
1687
1755
 
1688
1756
  Runtime: like \`ay <cli>\`, the Rust daemon (ayrs serve) runs by default for
@@ -1701,10 +1769,10 @@ Options:
1701
1769
  return 0;
1702
1770
  }
1703
1771
  {
1704
- const { planRustServe } = await import("./serveRust-DDQiZmMf.js");
1772
+ const { planRustServe } = await import("./serveRust-BAawe83i.js");
1705
1773
  const plan = planRustServe(rest);
1706
1774
  if (plan.kind === "rust") {
1707
- const { findAyrsBinary } = await import("./rustBinary-BNmAJEBb.js");
1775
+ const { findAyrsBinary } = await import("./rustBinary-DkOJW7Ss.js");
1708
1776
  const ayrs = findAyrsBinary();
1709
1777
  if (ayrs) return runAyrsServe(ayrs, plan.argv);
1710
1778
  process.stderr.write("ay serve: ayrs binary not found — running the TypeScript server (bun run build:rs, or reinstall, to get the Rust daemon)\n");
@@ -2679,7 +2747,7 @@ Options:
2679
2747
  }
2680
2748
  });
2681
2749
  if (req.method === "GET" && p === "/api/ws") {
2682
- const ws = await import("./ws-DnBg8-g-.js");
2750
+ const ws = await import("./ws-DncmqAsv.js");
2683
2751
  try {
2684
2752
  await ws.loadProvision();
2685
2753
  } catch (e) {
@@ -2699,7 +2767,7 @@ Options:
2699
2767
  if (req.method === "GET" && p === "/api/ws/status") {
2700
2768
  const dirRaw = url.searchParams.get("path");
2701
2769
  if (!dirRaw) return new Response("missing ?path=<workspace dir>", { status: 400 });
2702
- const ws = await import("./ws-DnBg8-g-.js");
2770
+ const ws = await import("./ws-DncmqAsv.js");
2703
2771
  let prov;
2704
2772
  try {
2705
2773
  prov = await ws.loadProvision();
@@ -2721,7 +2789,7 @@ Options:
2721
2789
  }
2722
2790
  }
2723
2791
  if (req.method === "GET" && p === "/api/ws/repos") {
2724
- const ws = await import("./ws-DnBg8-g-.js");
2792
+ const ws = await import("./ws-DncmqAsv.js");
2725
2793
  try {
2726
2794
  await ws.loadProvision();
2727
2795
  } catch (e) {
@@ -2802,7 +2870,7 @@ Options:
2802
2870
  const m = /^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)$/.exec(repoParam);
2803
2871
  if (!m || m[1] === "." || m[1] === ".." || m[2] === "." || m[2] === "..") return new Response("missing/invalid ?repo=<owner>/<repo>", { status: 400 });
2804
2872
  const [, owner, repo] = m;
2805
- const ws = await import("./ws-DnBg8-g-.js");
2873
+ const ws = await import("./ws-DncmqAsv.js");
2806
2874
  let prov;
2807
2875
  try {
2808
2876
  prov = await ws.loadProvision();
@@ -3720,7 +3788,7 @@ Options:
3720
3788
  const perm = body.perm ?? "r";
3721
3789
  if (perm !== "r" && perm !== "rw") return new Response(`invalid perm ${perm} (want r or rw)`, { status: 400 });
3722
3790
  try {
3723
- const { createScopedShare } = await import("./agentShare-NkW0b0mg.js");
3791
+ const { createScopedShare } = await import("./agentShare-CPfzAr28.js");
3724
3792
  const share = await createScopedShare({
3725
3793
  agent: body.agent,
3726
3794
  perm,
@@ -3735,12 +3803,12 @@ Options:
3735
3803
  }
3736
3804
  }
3737
3805
  if (req.method === "GET" && p === "/api/shares") {
3738
- const { listShares } = await import("./agentShare-NkW0b0mg.js");
3806
+ const { listShares } = await import("./agentShare-CPfzAr28.js");
3739
3807
  return Response.json(listShares());
3740
3808
  }
3741
3809
  const revokeM = /^\/api\/share\/([^/]+)$/.exec(p);
3742
3810
  if (req.method === "DELETE" && revokeM) {
3743
- const { revokeShare } = await import("./agentShare-NkW0b0mg.js");
3811
+ const { revokeShare } = await import("./agentShare-CPfzAr28.js");
3744
3812
  const ok = revokeShare(decodeURIComponent(revokeM[1]));
3745
3813
  return new Response(ok ? "revoked" : "no such share", { status: ok ? 200 : 404 });
3746
3814
  }
@@ -4002,7 +4070,7 @@ Options:
4002
4070
  if (wantWebrtc) {
4003
4071
  const explicitUrl = explicitRoomUrl;
4004
4072
  try {
4005
- const { startShare, loadOrCreateShareRoom } = await import("./share-Bmnd_qT0.js");
4073
+ const { startShare, loadOrCreateShareRoom } = await import("./share-nmgSIjYP.js");
4006
4074
  const linkFile = path.join(process.env.AGENT_YES_HOME ?? path.join(homedir(), ".agent-yes"), ".share-link");
4007
4075
  const announce = async (room, link, joinLink, rotated) => {
4008
4076
  const lead = rotated ? "the room was rejected by signaling (stale generation) — rotated to a fresh link" : "shared over WebRTC — open this link (the token is eaten from the URL on open)";
@@ -4052,7 +4120,7 @@ Options:
4052
4120
  const shutdown = (resolve) => {
4053
4121
  if (heartbeat) clearInterval(heartbeat);
4054
4122
  closeShare?.();
4055
- import("./agentShare-NkW0b0mg.js").then((m) => m.revokeAllShares()).catch(() => {});
4123
+ import("./agentShare-CPfzAr28.js").then((m) => m.revokeAllShares()).catch(() => {});
4056
4124
  server?.stop();
4057
4125
  Promise.resolve(releaseHostLock?.()).catch(() => {}).then(resolve);
4058
4126
  };
@@ -4065,4 +4133,4 @@ Options:
4065
4133
 
4066
4134
  //#endregion
4067
4135
  export { cmdServe, inspectServeDaemon, loadTokenReadOnly, mintScopedTermToken, resolveDaemonHttpBase, resolveLocalServeUrl };
4068
- //# sourceMappingURL=serve-DVoYVgBo.js.map
4136
+ //# sourceMappingURL=serve-DTZA4xqX.js.map