agent-yes 1.272.0 → 1.274.0

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 (125) hide show
  1. package/README.md +9 -44
  2. package/agent-yes.config.schema.json +0 -1
  3. package/default.config.yaml +0 -138
  4. package/dist/{JsonlStore-CPGIR0Wy.js → JsonlStore-BqF7AQ6E.js} +1 -1
  5. package/dist/{SUPPORTED_CLIS-DFOStQkx.js → SUPPORTED_CLIS-CNrMN-89.js} +2 -2
  6. package/dist/SUPPORTED_CLIS-DibEQVjZ.js +12 -0
  7. package/dist/{agent-yes.config-2xKNJM5Y.js → agent-yes.config-C77SodMP.js} +2 -2
  8. package/dist/{agentShare-CLhjMsHZ.js → agentShare-YWrrxqN2.js} +10 -10
  9. package/dist/{agentYesHome-CtmsY6I-.js → agentYesHome-BNtn19J4.js} +1 -1
  10. package/dist/{askCli-Bbxt9Umz.js → askCli-DR9vhdcV.js} +6 -6
  11. package/dist/{browser-_2ndf80G.js → browser-XQnbPssj.js} +5 -5
  12. package/dist/{browser-CorYp8Yu.js → browser-oqC3Ln2a.js} +1 -1
  13. package/dist/callback-DK1hFHPw.js +13 -0
  14. package/dist/{callback-BVKHRbUE.js → callback-DwnU5Bnx.js} +6 -6
  15. package/dist/{callbackCore-Bbe7rpN2.js → callbackCore-Bl2gGcxg.js} +1 -1
  16. package/dist/{callbackCore-C0Cg9RbS.js → callbackCore-LDxJc8LY.js} +1 -1
  17. package/dist/{channels-CkaCyvEp.js → channels-C3w3eAES.js} +2 -2
  18. package/dist/{channels-3gz9gHP7.js → channels-hOG3-R_3.js} +6 -6
  19. package/dist/channels.js +5 -5
  20. package/dist/cli.js +14 -14
  21. package/dist/{cmdPs-Cu__YsO7.js → cmdPs-tpr2ARd3.js} +9 -9
  22. package/dist/{configShared-DYxlvrH0.js → configShared-DKTgiz7K.js} +1 -1
  23. package/dist/{cwdConflictWarn-Buy3r_qc.js → cwdConflictWarn-CqN5pJ-7.js} +2 -2
  24. package/dist/{cwdPassthroughHint-BlWO-h5w.js → cwdPassthroughHint-DxdqgwEN.js} +1 -1
  25. package/dist/{e2e-OLfcNxiv.js → e2e-z1xpwSAg.js} +1 -1
  26. package/dist/{expose-Bfo-dZdy.js → expose-DTxYWQeW.js} +1 -1
  27. package/dist/{forkNested-jc2ER9xn.js → forkNested-CZAvQj0y.js} +8 -5
  28. package/dist/{globalPidIndex-Dq4KY2IV.js → globalPidIndex-DoaKEUkO.js} +1 -1
  29. package/dist/{globalPidIndex-CQX_0JSB.js → globalPidIndex-yvWZXeWT.js} +1 -1
  30. package/dist/{hist-DiOYRXuD.js → hist-QkZZBp-y.js} +1 -1
  31. package/dist/{html2canvas-pro.esm-D19oTQeV.js → html2canvas-pro.esm-DbGFekkq.js} +1 -1
  32. package/dist/{identity-CLaJ9-uE.js → identity-CKRuYUFi.js} +1 -1
  33. package/dist/{identity-BmDYOuZE.js → identity-DFr3dfTO.js} +1 -1
  34. package/dist/index.js +8 -8
  35. package/dist/{initMsg-CTAIqBWF.js → initMsg-C8ISz_C7.js} +1 -1
  36. package/dist/{initMsg-Bat5PUDf.js → initMsg-DAwRS89d.js} +1 -1
  37. package/dist/{invokedCli-uqM2YYA7.js → invokedCli-zdFbz1ST.js} +2 -5
  38. package/dist/{messageLog-BYFwioFY.js → messageLog-DdjBNqgt.js} +1 -1
  39. package/dist/{needsInput-DhfIwxse.js → needsInput-BHopZGM8.js} +1 -1
  40. package/dist/{nodeRuntime-CKc1BN5J.js → nodeRuntime-C_LtZrpR.js} +2 -2
  41. package/dist/{notifyDaemon-BmtjtW5L.js → notifyDaemon-Dx5sjDIx.js} +9 -9
  42. package/dist/{notifyStore-Dus2D1XA.js → notifyStore-2SWKGwZI.js} +2 -2
  43. package/dist/{notifyStore-0hlFPa6z.js → notifyStore-CdsB3crt.js} +1 -1
  44. package/dist/{openBrowser-Dmg2Oi4q.js → openBrowser-B50Lhaob.js} +1 -1
  45. package/dist/{parentLink-DS-XflaJ.js → parentLink-i817PzXK.js} +2 -2
  46. package/dist/{parentLink-BwX4jaGD.js → parentLink-svMgYhEi.js} +2 -2
  47. package/dist/{parentPingLoop-BtggDU06.js → parentPingLoop-DV7fBiMN.js} +7 -7
  48. package/dist/{peer-Dr4zvtcd.js → peer-BZyUyCt3.js} +3 -3
  49. package/dist/peer-CGSJluSw.js +4 -0
  50. package/dist/{pidStore-DJqSZPJi.js → pidStore-B73xnAeT.js} +4 -4
  51. package/dist/pidStore-V51mbgZY.js +6 -0
  52. package/dist/{reaper-B231i49s.js → reaper-BDMiMfwK.js} +1 -1
  53. package/dist/{reaper-C4BvNylH.js → reaper-UimuuTfO.js} +2 -2
  54. package/dist/{remotes-IzQHupeo.js → remotes-Cdlaj7AP.js} +17 -9
  55. package/dist/{remotes-BiftUp09.js → remotes-gAI6-nv9.js} +3 -3
  56. package/dist/{runningLock-DBoONoM-.js → runningLock-BOIPD_Vs.js} +1 -1
  57. package/dist/rustBinary-B7cNTxWn.js +4 -0
  58. package/dist/{rustBinary-ISnNc7Uf.js → rustBinary-DDwz4LdD.js} +73 -6
  59. package/dist/{schedule-D37Q9LGO.js → schedule-Bc5tKPJi.js} +12 -12
  60. package/dist/{serve-Dw0x9Of9.js → serve-ClCAkuSj.js} +41 -41
  61. package/dist/{setup-BmBjOyza.js → setup-D6v3wsXq.js} +4 -4
  62. package/dist/{share-DTPZgbfH.js → share-BvU4I8BI.js} +2 -2
  63. package/dist/{share-RgJUhzqG.js → share-DTlaFn6s.js} +2 -2
  64. package/dist/spawnGate-CdewnL8m.js +5 -0
  65. package/dist/{spawnGate-CS3oFdJ9.js → spawnGate-DtC_ffme.js} +3 -3
  66. package/dist/{store-C7I2CAu9.js → store-CnxYGoia.js} +1 -1
  67. package/dist/{subcommands-DKqbwkvb.js → subcommands-D0TqxBxb.js} +67 -85
  68. package/dist/subcommands-DLqtyQdw.js +11 -0
  69. package/dist/{systemPathLink-DGVcx0fg.js → systemPathLink-Df_pstm2.js} +1 -1
  70. package/dist/{terminal-BQ79zaFa.js → terminal-Dzu-PTIU.js} +2 -2
  71. package/dist/terminal.js +1 -1
  72. package/dist/{todoAutomation-BETGOik9.js → todoAutomation-CbVVS4re.js} +2 -2
  73. package/dist/{todoCli-DUoxA1dh.js → todoCli-Cf0EHvfy.js} +6 -6
  74. package/dist/{todoIdentity-BffBxRHA.js → todoIdentity-NEceTmEe.js} +2 -2
  75. package/dist/{todoStore-Wk8U4zJ8.js → todoStore-DF6vxHgV.js} +2 -2
  76. package/dist/{tray-Bxq_sfvU.js → tray-BeIs4ffu.js} +2 -2
  77. package/dist/{trayApp-BsETHuMR.js → trayApp-DCG8CjCV.js} +3 -3
  78. package/dist/trayApp-kjebnTl9.js +5 -0
  79. package/dist/{ts-Bb-h7XQP.js → ts-BmGAFUb7.js} +15 -19
  80. package/dist/{versionChecker-D9LB-MW5.js → versionChecker-DzWZizq2.js} +3 -3
  81. package/dist/{webrtcLink-B72AQ2eb.js → webrtcLink-DLaJfTcB.js} +2 -2
  82. package/dist/{webrtcRemote-D68dkqFp.js → webrtcRemote-CIbq5Hdt.js} +3 -3
  83. package/dist/{widget-gRjJprB5.js → widget-hU12_Sog.js} +3 -3
  84. package/dist/widget.js +1 -1
  85. package/dist/widgets.js +5 -5
  86. package/dist/{workspaceConfig-EK7XNsgR.js → workspaceConfig-DctWuxUP.js} +2 -2
  87. package/dist/ws-jKReYJJw.js +12 -0
  88. package/dist/{ws-BFli3FKi.js → ws-pRbF59zo.js} +3 -3
  89. package/examples/.agent-yes.config.yaml +0 -9
  90. package/examples/spawn-notify.sh +1 -1
  91. package/lab/ui/index.html +123 -34
  92. package/lab/ui/landing.html +7 -8
  93. package/package.json +1 -6
  94. package/ts/buildRustArgs.spec.ts +8 -10
  95. package/ts/configLoader.spec.ts +2 -2
  96. package/ts/cwdConflictWarn.spec.ts +1 -1
  97. package/ts/cwdConflictWarn.ts +1 -1
  98. package/ts/forkNested.spec.ts +2 -0
  99. package/ts/forkNested.ts +5 -2
  100. package/ts/index.ts +2 -8
  101. package/ts/invokedCli.spec.ts +0 -1
  102. package/ts/invokedCli.ts +1 -2
  103. package/ts/needsInput.spec.ts +7 -3
  104. package/ts/needsInput.ts +1 -1
  105. package/ts/parseCliArgs.spec.ts +1 -1
  106. package/ts/parseCliArgs.ts +1 -1
  107. package/ts/postbuild.ts +1 -1
  108. package/ts/remotes.ts +24 -7
  109. package/ts/rustBinary.spec.ts +81 -0
  110. package/ts/rustBinary.ts +106 -9
  111. package/ts/subcommands.spec.ts +7 -9
  112. package/ts/subcommands.ts +90 -64
  113. package/ts/todoParse.ts +1 -1
  114. package/dist/SUPPORTED_CLIS-C1rgBiLd.js +0 -12
  115. package/dist/callback-C64-nP2U.js +0 -13
  116. package/dist/gemini-yes.js +0 -10
  117. package/dist/openrouter-yes.js +0 -10
  118. package/dist/orcy.js +0 -10
  119. package/dist/peer-u1AUAZeA.js +0 -4
  120. package/dist/pidStore-D-b8I6Qx.js +0 -6
  121. package/dist/spawnGate-C6YKlnmb.js +0 -5
  122. package/dist/subcommands-TAOmVCxo.js +0 -11
  123. package/dist/trayApp-BHx2FN2d.js +0 -5
  124. package/dist/ws-CklRMQwW.js +0 -12
  125. package/scripts/deepseek-codex.ts +0 -580
@@ -1,12 +1,12 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./globalPidIndex-Dq4KY2IV.js";
3
- import "./messageLog-BYFwioFY.js";
4
- import "./e2e-OLfcNxiv.js";
5
- import "./configShared-DYxlvrH0.js";
6
- import { O as listRecords, d as deriveLiveState, et as buildAgentForest, tt as flattenForest } from "./subcommands-DKqbwkvb.js";
7
- import "./notifyStore-Dus2D1XA.js";
8
- import "./webrtcLink-B72AQ2eb.js";
9
- import "./remotes-IzQHupeo.js";
2
+ import "./globalPidIndex-DoaKEUkO.js";
3
+ import "./messageLog-DdjBNqgt.js";
4
+ import "./e2e-z1xpwSAg.js";
5
+ import "./configShared-DKTgiz7K.js";
6
+ import { $ as buildAgentForest, D as listRecords, et as flattenForest, u as deriveLiveState } from "./subcommands-D0TqxBxb.js";
7
+ import "./notifyStore-2SWKGwZI.js";
8
+ import "./webrtcLink-DLaJfTcB.js";
9
+ import "./remotes-Cdlaj7AP.js";
10
10
  import yargs from "yargs";
11
11
  import { execFile } from "node:child_process";
12
12
  import { readFileSync } from "node:fs";
@@ -574,4 +574,4 @@ function readPpidSync(pid) {
574
574
 
575
575
  //#endregion
576
576
  export { cmdPs };
577
- //# sourceMappingURL=cmdPs-Cu__YsO7.js.map
577
+ //# sourceMappingURL=cmdPs-tpr2ARd3.js.map
@@ -69,4 +69,4 @@ async function loadSharedCliDefaults(fromUrl = import.meta.url) {
69
69
 
70
70
  //#endregion
71
71
  export { normalizeAgentYesConfig as n, loadSharedCliDefaults as t };
72
- //# sourceMappingURL=configShared-DYxlvrH0.js.map
72
+ //# sourceMappingURL=configShared-DKTgiz7K.js.map
@@ -1,5 +1,5 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import { i as readGlobalPids } from "./globalPidIndex-Dq4KY2IV.js";
2
+ import { i as readGlobalPids } from "./globalPidIndex-DoaKEUkO.js";
3
3
  import path from "path";
4
4
 
5
5
  //#region ts/cwdConflictWarn.ts
@@ -61,4 +61,4 @@ async function warnIfCwdOccupied(rawArgv) {
61
61
 
62
62
  //#endregion
63
63
  export { warnIfCwdOccupied };
64
- //# sourceMappingURL=cwdConflictWarn-Buy3r_qc.js.map
64
+ //# sourceMappingURL=cwdConflictWarn-CqN5pJ-7.js.map
@@ -85,4 +85,4 @@ function detectCwdPassthrough(argv) {
85
85
 
86
86
  //#endregion
87
87
  export { SUPPRESS_CWD_WARN_ENV, detectCwdPassthrough };
88
- //# sourceMappingURL=cwdPassthroughHint-BlWO-h5w.js.map
88
+ //# sourceMappingURL=cwdPassthroughHint-DxdqgwEN.js.map
@@ -172,4 +172,4 @@ function randomHex(n) {
172
172
 
173
173
  //#endregion
174
174
  export { computeTranscriptHash as a, open as c, randomHex as d, seal as f, MAX_CHUNK as i, packEnvelope as l, validateS as m, FLAG_CONFIRM as n, deriveAuthToken as o, unpackEnvelope as p, MARKER as r, deriveDirKeys as s, CONFIRM_TIMEOUT_MS as t, parseSecret as u };
175
- //# sourceMappingURL=e2e-OLfcNxiv.js.map
175
+ //# sourceMappingURL=e2e-z1xpwSAg.js.map
@@ -549,4 +549,4 @@ async function cmdExpose(args) {
549
549
 
550
550
  //#endregion
551
551
  export { cmdExpose, ensureExposure, listExposures, stopExposure };
552
- //# sourceMappingURL=expose-Bfo-dZdy.js.map
552
+ //# sourceMappingURL=expose-DTxYWQeW.js.map
@@ -34,8 +34,11 @@ function buildSpawnTutorial(cli, pid) {
34
34
  ` ay exit ${pid} # stop it`,
35
35
  ``,
36
36
  `Two ways to keep up with it — use whichever fits your harness:`,
37
- ` Monitor (preferred if you have a monitor/polling loop):`,
38
- ` ay ls --watch --json # NDJSON stream of state changes across agents`,
37
+ ` Monitor (preferred, works even without a native monitor tool):`,
38
+ ` ay notify watch --unread # get notified when it finishes / goes idle / crashes`,
39
+ ` # (a background daemon polls liveness every 2s, so even a`,
40
+ ` # hard crash — this wrapper dies too — still reaches you)`,
41
+ ` ay ls --watch --json # PULL alternative: NDJSON stream of state changes`,
39
42
  ` ay status ${pid} # one-shot: working | idle | needs_input | stopped`,
40
43
  ` ay status ${pid} --wait-idle # block until it's done (add --timeout=Ns)`,
41
44
  ` Or do nothing: it was told to report back to you, and its wrapper will`,
@@ -59,7 +62,7 @@ function buildSpawnTutorial(cli, pid) {
59
62
  * fast instead of waiting out the whole window).
60
63
  */
61
64
  async function waitForRegistration(pid, timeoutMs = 5e3, aborted) {
62
- const { readGlobalPids } = await import("./globalPidIndex-CQX_0JSB.js");
65
+ const { readGlobalPids } = await import("./globalPidIndex-yvWZXeWT.js");
63
66
  const isRegistered = async () => (await readGlobalPids()).some((r) => r.pid === pid && r.status !== "exited");
64
67
  const deadline = Date.now() + timeoutMs;
65
68
  while (Date.now() < deadline) {
@@ -107,7 +110,7 @@ async function tailFile(file, max = 400) {
107
110
  * success, keeping the previous behaviour for anything this can't decide.
108
111
  */
109
112
  async function confirmAgentStarted(pid, graceMs = 1500, aborted) {
110
- const { readGlobalPids } = await import("./globalPidIndex-CQX_0JSB.js");
113
+ const { readGlobalPids } = await import("./globalPidIndex-yvWZXeWT.js");
111
114
  const { stat } = await import("fs/promises");
112
115
  const deadline = Date.now() + graceMs;
113
116
  while (Date.now() < deadline) {
@@ -138,4 +141,4 @@ async function confirmAgentStarted(pid, graceMs = 1500, aborted) {
138
141
 
139
142
  //#endregion
140
143
  export { buildSpawnTutorial, confirmAgentStarted, predictedLogPath, shouldForkNested, waitForRegistration };
141
- //# sourceMappingURL=forkNested-jc2ER9xn.js.map
144
+ //# sourceMappingURL=forkNested-CZAvQj0y.js.map
@@ -188,4 +188,4 @@ async function pruneOldLogs(maxAgeMs = retentionMs()) {
188
188
 
189
189
  //#endregion
190
190
  export { updateGlobalPidStatus as a, readGlobalPids as i, maybeCompactGlobalPids as n, pruneOldLogs as r, appendGlobalPid as t };
191
- //# sourceMappingURL=globalPidIndex-Dq4KY2IV.js.map
191
+ //# sourceMappingURL=globalPidIndex-DoaKEUkO.js.map
@@ -1,4 +1,4 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import { a as updateGlobalPidStatus, i as readGlobalPids, n as maybeCompactGlobalPids, r as pruneOldLogs, t as appendGlobalPid } from "./globalPidIndex-Dq4KY2IV.js";
2
+ import { a as updateGlobalPidStatus, i as readGlobalPids, n as maybeCompactGlobalPids, r as pruneOldLogs, t as appendGlobalPid } from "./globalPidIndex-DoaKEUkO.js";
3
3
 
4
4
  export { readGlobalPids };
@@ -439,4 +439,4 @@ async function cmdHist(rest) {
439
439
 
440
440
  //#endregion
441
441
  export { cmdHist };
442
- //# sourceMappingURL=hist-DiOYRXuD.js.map
442
+ //# sourceMappingURL=hist-QkZZBp-y.js.map
@@ -10895,4 +10895,4 @@ const html2canvas = (element, options = {}, config) => {
10895
10895
 
10896
10896
  //#endregion
10897
10897
  export { Html2CanvasConfig, PerformanceMonitor, Validator, createDefaultValidator, html2canvas as default, html2canvas };
10898
- //# sourceMappingURL=html2canvas-pro.esm-D19oTQeV.js.map
10898
+ //# sourceMappingURL=html2canvas-pro.esm-DbGFekkq.js.map
@@ -106,4 +106,4 @@ function formatIdentity(parts) {
106
106
 
107
107
  //#endregion
108
108
  export { safeBranch as a, readGitBranch as i, localHost as n, safeToken as o, localUser as r, tildify as s, formatIdentity as t };
109
- //# sourceMappingURL=identity-CLaJ9-uE.js.map
109
+ //# sourceMappingURL=identity-CKRuYUFi.js.map
@@ -1,3 +1,3 @@
1
- import { a as safeBranch, i as readGitBranch, n as localHost, o as safeToken, r as localUser, s as tildify, t as formatIdentity } from "./identity-CLaJ9-uE.js";
1
+ import { a as safeBranch, i as readGitBranch, n as localHost, o as safeToken, r as localUser, s as tildify, t as formatIdentity } from "./identity-CKRuYUFi.js";
2
2
 
3
3
  export { formatIdentity };
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-D9LB-MW5.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-Bb-h7XQP.js";
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-BETGOik9.js";
5
- import "./JsonlStore-CPGIR0Wy.js";
6
- import "./globalPidIndex-Dq4KY2IV.js";
7
- import "./pidStore-DJqSZPJi.js";
8
- import "./messageLog-BYFwioFY.js";
9
- import { a as LIFECYCLES, c as initialState, d as requiredGate, f as statesOf, i as DONE_STATE, l as isKnownKind, n as TodoStore, o as ORPHANED_STATE, r as openStore, s as canTransition, t as CycleError, u as nextStates } from "./todoStore-Wk8U4zJ8.js";
2
+ import "./versionChecker-DzWZizq2.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-BmGAFUb7.js";
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
+ import "./JsonlStore-BqF7AQ6E.js";
6
+ import "./globalPidIndex-DoaKEUkO.js";
7
+ import "./pidStore-B73xnAeT.js";
8
+ import "./messageLog-DdjBNqgt.js";
9
+ import { a as LIFECYCLES, c as initialState, d as requiredGate, f as statesOf, i as DONE_STATE, l as isKnownKind, n as TodoStore, o as ORPHANED_STATE, r as openStore, s as canTransition, t as CycleError, u as nextStates } from "./todoStore-DF6vxHgV.js";
10
10
 
11
11
  export { AgentContext, CLIS_CONFIG, CycleError, DONE_STATE, LIFECYCLES, ORPHANED_STATE, TodoStore, answerAsk, canTransition, config, agentYes as default, describeBlock, hasTodoStore, initialState, isKnownKind, listAsks, listAsksForProject, monitorHint, nextStates, openBlockers, openStore, reconcileTodos, removeControlCharacters, renderDigest, renderTree, requiredGate, statesOf, unblockedTasks };
@@ -86,4 +86,4 @@ function buildInitMsg(prompt, spawner, nonce, identity) {
86
86
 
87
87
  //#endregion
88
88
  export { replyTargetOf as n, shortenHome as r, buildInitMsg as t };
89
- //# sourceMappingURL=initMsg-CTAIqBWF.js.map
89
+ //# sourceMappingURL=initMsg-C8ISz_C7.js.map
@@ -1,3 +1,3 @@
1
- import { n as replyTargetOf, r as shortenHome, t as buildInitMsg } from "./initMsg-CTAIqBWF.js";
1
+ import { n as replyTargetOf, r as shortenHome, t as buildInitMsg } from "./initMsg-C8ISz_C7.js";
2
2
 
3
3
  export { buildInitMsg };
@@ -10,10 +10,7 @@
10
10
  * resolves to `undefined`. Callers use that `undefined` to tell "the agent-yes
11
11
  * manager" apart from "a cli-bound runner alias".
12
12
  */
13
- const CLI_ALIASES = {
14
- cy: "claude",
15
- orcy: "openrouter"
16
- };
13
+ const CLI_ALIASES = { cy: "claude" };
17
14
  /**
18
15
  * The agent CLI implied by argv[1] (cy / claude-yes → "claude", codex-yes →
19
16
  * "codex", …), or `undefined` for the generic `ay` / `agent-yes` / `cli` entry.
@@ -25,4 +22,4 @@ function invokedCliName(argv) {
25
22
 
26
23
  //#endregion
27
24
  export { invokedCliName as t };
28
- //# sourceMappingURL=invokedCli-uqM2YYA7.js.map
25
+ //# sourceMappingURL=invokedCli-zdFbz1ST.js.map
@@ -91,4 +91,4 @@ async function readMailbox(cwd, box) {
91
91
 
92
92
  //#endregion
93
93
  export { recordOutbox as a, recordMessage as i, readMailbox as n, recordInbox as r, partyMatches as t };
94
- //# sourceMappingURL=messageLog-BYFwioFY.js.map
94
+ //# sourceMappingURL=messageLog-DdjBNqgt.js.map
@@ -76,4 +76,4 @@ function isWorkingScreen(lines, working) {
76
76
 
77
77
  //#endregion
78
78
  export { isWorkingScreen as n, parseMenu as r, classifyNeedsInput as t };
79
- //# sourceMappingURL=needsInput-DhfIwxse.js.map
79
+ //# sourceMappingURL=needsInput-BHopZGM8.js.map
@@ -1,4 +1,4 @@
1
- import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
1
+ import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
2
2
  import { chmod, mkdir, readFile, writeFile } from "fs/promises";
3
3
  import path from "path";
4
4
 
@@ -53,4 +53,4 @@ async function ensureNodeRuntime(which = Bun.which) {
53
53
 
54
54
  //#endregion
55
55
  export { liveEnv as n, ensureNodeRuntime as t };
56
- //# sourceMappingURL=nodeRuntime-CKc1BN5J.js.map
56
+ //# sourceMappingURL=nodeRuntime-C_LtZrpR.js.map
@@ -1,12 +1,12 @@
1
1
  import { n as logger } from "./logger-CDIsZ-Pp.js";
2
- import "./globalPidIndex-Dq4KY2IV.js";
3
- import "./messageLog-BYFwioFY.js";
4
- import "./e2e-OLfcNxiv.js";
5
- import "./configShared-DYxlvrH0.js";
6
- import { L as renderLogTailLines, O as listRecords, d as deriveLiveState, x as isPidAlive } from "./subcommands-DKqbwkvb.js";
7
- 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-Dus2D1XA.js";
8
- import "./webrtcLink-B72AQ2eb.js";
9
- import "./remotes-IzQHupeo.js";
2
+ import "./globalPidIndex-DoaKEUkO.js";
3
+ import "./messageLog-DdjBNqgt.js";
4
+ import "./e2e-z1xpwSAg.js";
5
+ import "./configShared-DKTgiz7K.js";
6
+ import { D as listRecords, I as renderLogTailLines, b as isPidAlive, u as deriveLiveState } from "./subcommands-D0TqxBxb.js";
7
+ 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";
8
+ import "./webrtcLink-DLaJfTcB.js";
9
+ import "./remotes-Cdlaj7AP.js";
10
10
  import { mkdir, readFile, rename, rm, stat, writeFile } from "fs/promises";
11
11
  import { randomUUID } from "node:crypto";
12
12
  import { execFile, execFileSync } from "node:child_process";
@@ -863,4 +863,4 @@ async function ensureDaemon() {
863
863
 
864
864
  //#endregion
865
865
  export { daemonStatus, ensureDaemon, requestDaemonStop, runDaemon };
866
- //# sourceMappingURL=notifyDaemon-BmtjtW5L.js.map
866
+ //# sourceMappingURL=notifyDaemon-Dx5sjDIx.js.map
@@ -1,5 +1,5 @@
1
1
  import { n as logger } from "./logger-CDIsZ-Pp.js";
2
- import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
2
+ import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
3
3
  import { appendFile, mkdir, readFile, readdir, rename, rm, stat, writeFile } from "fs/promises";
4
4
  import path from "path";
5
5
  import { randomUUID } from "node:crypto";
@@ -556,4 +556,4 @@ async function liveWatchers(now = Date.now()) {
556
556
 
557
557
  //#endregion
558
558
  export { postmortemStartedAt as S, filterSinceSeq as _, getCursor as a, maxSeq as b, isTransientLockMkdirError as c, minConsumerCursor as d, readInbox as f, daemonLockOwnerPath as g, daemonLockDir as h, gcInboxes as i, listInboxParents as l, shouldStealLock as m, appendEvent as n, heartbeatWatcher as o, setCursor as p, clearWatcher as r, hostId as s, acquireLock as t, liveWatchers as u, filterSinceTs as v, notifyDir as x, filterUnread as y };
559
- //# sourceMappingURL=notifyStore-Dus2D1XA.js.map
559
+ //# sourceMappingURL=notifyStore-2SWKGwZI.js.map
@@ -1,4 +1,4 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import { a as getCursor, c as isTransientLockMkdirError, d as minConsumerCursor, f as readInbox, i as gcInboxes, l as listInboxParents, m as shouldStealLock, n as appendEvent, o as heartbeatWatcher, p as setCursor, r as clearWatcher, s as hostId, t as acquireLock, u as liveWatchers } from "./notifyStore-Dus2D1XA.js";
2
+ import { a as getCursor, c as isTransientLockMkdirError, d as minConsumerCursor, f as readInbox, i as gcInboxes, l as listInboxParents, m as shouldStealLock, n as appendEvent, o as heartbeatWatcher, p as setCursor, r as clearWatcher, s as hostId, t as acquireLock, u as liveWatchers } from "./notifyStore-2SWKGwZI.js";
3
3
 
4
4
  export { liveWatchers };
@@ -68,4 +68,4 @@ async function offerOpenInBrowser(url, prompt = "Open in browser now? [Y/n] ") {
68
68
 
69
69
  //#endregion
70
70
  export { offerOpenInBrowser };
71
- //# sourceMappingURL=openBrowser-Dmg2Oi4q.js.map
71
+ //# sourceMappingURL=openBrowser-B50Lhaob.js.map
@@ -1,5 +1,5 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./globalPidIndex-Dq4KY2IV.js";
3
- import { n as spawnerFromRecords, t as resolveSpawner } from "./parentLink-BwX4jaGD.js";
2
+ import "./globalPidIndex-DoaKEUkO.js";
3
+ import { n as spawnerFromRecords, t as resolveSpawner } from "./parentLink-svMgYhEi.js";
4
4
 
5
5
  export { resolveSpawner };
@@ -1,4 +1,4 @@
1
- import { i as readGlobalPids } from "./globalPidIndex-Dq4KY2IV.js";
1
+ import { i as readGlobalPids } from "./globalPidIndex-DoaKEUkO.js";
2
2
 
3
3
  //#region ts/parentLink.ts
4
4
  /**
@@ -50,4 +50,4 @@ function spawnerFromRecords(records, parentPid) {
50
50
 
51
51
  //#endregion
52
52
  export { spawnerFromRecords as n, resolveSpawner as t };
53
- //# sourceMappingURL=parentLink-BwX4jaGD.js.map
53
+ //# sourceMappingURL=parentLink-svMgYhEi.js.map
@@ -1,8 +1,8 @@
1
1
  import { n as logger } from "./logger-CDIsZ-Pp.js";
2
- import "./globalPidIndex-Dq4KY2IV.js";
3
- import { t as classifyNeedsInput } from "./needsInput-DhfIwxse.js";
4
- import { n as replyTargetOf, r as shortenHome } from "./initMsg-CTAIqBWF.js";
5
- import { t as resolveSpawner } from "./parentLink-BwX4jaGD.js";
2
+ import "./globalPidIndex-DoaKEUkO.js";
3
+ import { t as classifyNeedsInput } from "./needsInput-BHopZGM8.js";
4
+ import { n as replyTargetOf, r as shortenHome } from "./initMsg-C8ISz_C7.js";
5
+ import { t as resolveSpawner } from "./parentLink-svMgYhEi.js";
6
6
  import { spawn } from "node:child_process";
7
7
 
8
8
  //#region ts/parentPing.ts
@@ -332,13 +332,13 @@ function shouldDeliverReport(opts) {
332
332
  */
333
333
  async function isParentWatching(parentWrapperPid, parentAgentPid, selfAgentPid, now = Date.now()) {
334
334
  try {
335
- const { liveWatchers } = await import("./notifyStore-0hlFPa6z.js");
335
+ const { liveWatchers } = await import("./notifyStore-CdsB3crt.js");
336
336
  if ((await liveWatchers(now)).has(parentWrapperPid)) return true;
337
337
  } catch (error) {
338
338
  logger.debug("[parent-ping] watcher lookup failed:", error);
339
339
  }
340
340
  try {
341
- const { lastReadAt, READ_WINDOW_MS } = await import("./subcommands-TAOmVCxo.js");
341
+ const { lastReadAt, READ_WINDOW_MS } = await import("./subcommands-DLqtyQdw.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-BtggDU06.js.map
469
+ //# sourceMappingURL=parentPingLoop-DV7fBiMN.js.map
@@ -1,5 +1,5 @@
1
- import { a as computeTranscriptHash, c as open, d as randomHex, f as seal, l as packEnvelope, n as FLAG_CONFIRM, o as deriveAuthToken, p as unpackEnvelope, s as deriveDirKeys, t as CONFIRM_TIMEOUT_MS } from "./e2e-OLfcNxiv.js";
2
- import { i as opsMissing, s as isValidOp, t as haveVector } from "./store-C7I2CAu9.js";
1
+ import { a as computeTranscriptHash, c as open, d as randomHex, f as seal, l as packEnvelope, n as FLAG_CONFIRM, o as deriveAuthToken, p as unpackEnvelope, s as deriveDirKeys, t as CONFIRM_TIMEOUT_MS } from "./e2e-z1xpwSAg.js";
2
+ import { i as opsMissing, s as isValidOp, t as haveVector } from "./store-CnxYGoia.js";
3
3
 
4
4
  //#region ts/channels/peer.ts
5
5
  const SIGNAL_SUBPROTOCOL = "ay-signal-1";
@@ -363,4 +363,4 @@ var ChannelPeer = class {
363
363
 
364
364
  //#endregion
365
365
  export { ChannelPeer as t };
366
- //# sourceMappingURL=peer-Dr4zvtcd.js.map
366
+ //# sourceMappingURL=peer-BZyUyCt3.js.map
@@ -0,0 +1,4 @@
1
+ import "./e2e-z1xpwSAg.js";
2
+ import { t as ChannelPeer } from "./peer-BZyUyCt3.js";
3
+
4
+ export { ChannelPeer };
@@ -1,7 +1,7 @@
1
1
  import { n as logger } from "./logger-CDIsZ-Pp.js";
2
- import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
3
- import { t as JsonlStore } from "./JsonlStore-CPGIR0Wy.js";
4
- import { a as updateGlobalPidStatus, n as maybeCompactGlobalPids, r as pruneOldLogs, t as appendGlobalPid } from "./globalPidIndex-Dq4KY2IV.js";
2
+ import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
3
+ import { t as JsonlStore } from "./JsonlStore-BqF7AQ6E.js";
4
+ import { a as updateGlobalPidStatus, n as maybeCompactGlobalPids, r as pruneOldLogs, t as appendGlobalPid } from "./globalPidIndex-DoaKEUkO.js";
5
5
  import { mkdir, writeFile } from "fs/promises";
6
6
  import path from "path";
7
7
  import { randomBytes } from "node:crypto";
@@ -197,4 +197,4 @@ pid-db/
197
197
 
198
198
  //#endregion
199
199
  export { PidStore as t };
200
- //# sourceMappingURL=pidStore-DJqSZPJi.js.map
200
+ //# sourceMappingURL=pidStore-B73xnAeT.js.map
@@ -0,0 +1,6 @@
1
+ import "./logger-CDIsZ-Pp.js";
2
+ import "./JsonlStore-BqF7AQ6E.js";
3
+ import "./globalPidIndex-DoaKEUkO.js";
4
+ import { t as PidStore } from "./pidStore-B73xnAeT.js";
5
+
6
+ export { PidStore };
@@ -1,3 +1,3 @@
1
- import { n as register, r as sweep, t as pgidForWrapper } from "./reaper-C4BvNylH.js";
1
+ import { n as register, r as sweep, t as pgidForWrapper } from "./reaper-UimuuTfO.js";
2
2
 
3
3
  export { sweep };
@@ -1,4 +1,4 @@
1
- import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
1
+ import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
2
2
  import { appendFile, mkdir, readFile, readdir, rename, unlink, writeFile } from "fs/promises";
3
3
  import path from "path";
4
4
 
@@ -107,4 +107,4 @@ async function pruneStaleActivityMarkers() {
107
107
 
108
108
  //#endregion
109
109
  export { register as n, sweep as r, pgidForWrapper as t };
110
- //# sourceMappingURL=reaper-C4BvNylH.js.map
110
+ //# sourceMappingURL=reaper-UimuuTfO.js.map
@@ -1,4 +1,4 @@
1
- import { n as isWebrtcSpec } from "./webrtcLink-B72AQ2eb.js";
1
+ import { n as isWebrtcSpec, r as parseWebrtcLink } from "./webrtcLink-DLaJfTcB.js";
2
2
  import { mkdir, readFile, writeFile } from "fs/promises";
3
3
  import { homedir } from "os";
4
4
  import path from "path";
@@ -9,6 +9,11 @@ function remotesPath() {
9
9
  const dir = process.env.AGENT_YES_HOME ?? path.join(homedir(), ".agent-yes");
10
10
  return path.join(dir, "remotes.yaml");
11
11
  }
12
+ /** A display label for a WebRTC share link: the room id, never the local bridge. */
13
+ function webrtcLabel(link) {
14
+ const parsed = parseWebrtcLink(link);
15
+ return parsed ? `webrtc:${parsed.room}` : "webrtc";
16
+ }
12
17
  async function readRemotes() {
13
18
  let raw;
14
19
  try {
@@ -61,23 +66,25 @@ function parseDirectRemoteSpec(spec) {
61
66
  * Returns null if the spec doesn't match any remote.
62
67
  */
63
68
  async function resolveRemoteSpec(spec) {
64
- if (isWebrtcSpec(spec)) return resolveWebrtc(spec, void 0);
69
+ if (isWebrtcSpec(spec)) return resolveWebrtc(spec, void 0, webrtcLabel(spec));
65
70
  const direct = parseDirectRemoteSpec(spec);
66
71
  if (direct) return {
67
72
  url: direct.baseUrl,
68
73
  token: direct.token,
69
- keyword: direct.keyword
74
+ keyword: direct.keyword,
75
+ label: `${direct.host}:${direct.port}`
70
76
  };
71
77
  const colonIdx = spec.indexOf(":");
72
78
  const alias = colonIdx >= 0 ? spec.slice(0, colonIdx) : spec;
73
79
  const keyword = colonIdx >= 0 ? spec.slice(colonIdx + 1) || void 0 : void 0;
74
80
  const cfg = (await readRemotes()).get(alias);
75
81
  if (!cfg) return null;
76
- if (isWebrtcSpec(cfg.url)) return resolveWebrtc(cfg.url, keyword);
82
+ if (isWebrtcSpec(cfg.url)) return resolveWebrtc(cfg.url, keyword, alias);
77
83
  return {
78
84
  url: cfg.url,
79
85
  token: cfg.token,
80
- keyword
86
+ keyword,
87
+ label: alias
81
88
  };
82
89
  }
83
90
  /**
@@ -85,13 +92,14 @@ async function resolveRemoteSpec(spec) {
85
92
  * ordinary http remote, so every fetch-based remote command works unchanged.
86
93
  * The bridge lives for the rest of the process (torn down on `process.exit`).
87
94
  */
88
- async function resolveWebrtc(link, keyword) {
89
- const { startWebrtcBridge } = await import("./webrtcRemote-D68dkqFp.js");
95
+ async function resolveWebrtc(link, keyword, label) {
96
+ const { startWebrtcBridge } = await import("./webrtcRemote-CIbq5Hdt.js");
90
97
  const bridge = await startWebrtcBridge(link);
91
98
  return {
92
99
  url: bridge.baseUrl,
93
100
  token: bridge.token,
94
- keyword
101
+ keyword,
102
+ label
95
103
  };
96
104
  }
97
105
  async function cmdRemote(rest) {
@@ -173,4 +181,4 @@ async function cmdRemote(rest) {
173
181
 
174
182
  //#endregion
175
183
  export { resolveRemoteSpec as a, readRemotes as i, deleteRemoteAlias as n, writeRemoteAlias as o, parseDirectRemoteSpec as r, cmdRemote as t };
176
- //# sourceMappingURL=remotes-IzQHupeo.js.map
184
+ //# sourceMappingURL=remotes-Cdlaj7AP.js.map
@@ -1,5 +1,5 @@
1
- import "./e2e-OLfcNxiv.js";
2
- import "./webrtcLink-B72AQ2eb.js";
3
- import { a as resolveRemoteSpec, i as readRemotes, n as deleteRemoteAlias, o as writeRemoteAlias, r as parseDirectRemoteSpec, t as cmdRemote } from "./remotes-IzQHupeo.js";
1
+ import "./e2e-z1xpwSAg.js";
2
+ import "./webrtcLink-DLaJfTcB.js";
3
+ import { a as resolveRemoteSpec, i as readRemotes, n as deleteRemoteAlias, o as writeRemoteAlias, r as parseDirectRemoteSpec, t as cmdRemote } from "./remotes-Cdlaj7AP.js";
4
4
 
5
5
  export { cmdRemote };
@@ -277,4 +277,4 @@ function shouldUseLock(_cwd) {
277
277
 
278
278
  //#endregion
279
279
  export { shouldUseLock as i, getRunningAgentCount as n, releaseLock as r, acquireLock as t };
280
- //# sourceMappingURL=runningLock-DBoONoM-.js.map
280
+ //# sourceMappingURL=runningLock-BOIPD_Vs.js.map
@@ -0,0 +1,4 @@
1
+ import "./versionChecker-DzWZizq2.js";
2
+ import { a as gcOldBinaryDirs, c as getDownloadUrl, i as findTrayLauncher, l as getRustBinary, n as findRustBinary, o as getBinDir, r as findSpawnHiddenLauncher, s as getBinaryName, t as downloadBinary } from "./rustBinary-DDwz4LdD.js";
3
+
4
+ export { gcOldBinaryDirs };
@@ -1,6 +1,6 @@
1
- import { r as getInstalledPackage } from "./versionChecker-D9LB-MW5.js";
1
+ import { i as getInstalledPackage, n as compareVersions } from "./versionChecker-DzWZizq2.js";
2
2
  import { execFileSync } from "child_process";
3
- import { existsSync, mkdirSync, unlinkSync } from "fs";
3
+ import { existsSync, mkdirSync, readdirSync, rmSync, statSync, unlinkSync } from "fs";
4
4
  import { chmod, copyFile } from "fs/promises";
5
5
  import path from "path";
6
6
 
@@ -26,13 +26,76 @@ function getBinaryName() {
26
26
  return binaryName + (platform === "win32" ? ".exe" : "");
27
27
  }
28
28
  /**
29
+ * The version-scoped download cache root (`~/.cache/agent-yes/bin/`) WITHOUT
30
+ * the version segment. Independent of `getBinDir()`'s npm-package shortcut:
31
+ * GC only ever touches the user cache, never a packaged bin dir.
32
+ */
33
+ function getCacheBinRoot() {
34
+ const cacheDir = process.env.AGENT_YES_CACHE_DIR || path.join(process.env.XDG_CACHE_HOME || path.join(process.env.HOME || "/tmp", ".cache"), "agent-yes");
35
+ return path.join(cacheDir, "bin");
36
+ }
37
+ /**
29
38
  * Get the directory where binaries are stored
30
39
  */
31
40
  function getBinDir() {
32
41
  const packageBinDir = path.resolve(import.meta.dirname ?? import.meta.dir, "../bin");
33
42
  if (existsSync(packageBinDir)) return packageBinDir;
34
- const cacheDir = process.env.AGENT_YES_CACHE_DIR || path.join(process.env.XDG_CACHE_HOME || path.join(process.env.HOME || "/tmp", ".cache"), "agent-yes");
35
- return path.join(cacheDir, "bin", getInstalledPackage().version);
43
+ return path.join(getCacheBinRoot(), getInstalledPackage().version);
44
+ }
45
+ const STRICT_SEMVER = /^\d+\.\d+\.\d+$/;
46
+ function dirSizeBytes(dir) {
47
+ let total = 0;
48
+ try {
49
+ for (const entry of readdirSync(dir, { withFileTypes: true })) {
50
+ const p = path.join(dir, entry.name);
51
+ if (entry.isDirectory()) total += dirSizeBytes(p);
52
+ else if (entry.isFile()) try {
53
+ total += statSync(p).size;
54
+ } catch {}
55
+ }
56
+ } catch {}
57
+ return total;
58
+ }
59
+ /**
60
+ * Delete versioned binary cache dirs strictly older than the CURRENT package
61
+ * version.
62
+ *
63
+ * `~/.cache/agent-yes/bin/<version>/` accumulates one dir per release a user
64
+ * has ever run (PERFORMANCE-EVENT 2026-08-13), each holding a ~20-30 MiB
65
+ * binary that nothing ever cleaned up. Keep the current version; delete only
66
+ * dirs named `x.y.z` that compare strictly less than it (never pre-release /
67
+ * dev, never anything newer or malformed). Idempotent and best-effort: a dir
68
+ * that cannot be removed simply survives until the next run.
69
+ */
70
+ function gcOldBinaryDirs() {
71
+ const result = {
72
+ removed: [],
73
+ freedBytes: 0
74
+ };
75
+ const current = getInstalledPackage().version;
76
+ if (!STRICT_SEMVER.test(current)) return result;
77
+ const root = getCacheBinRoot();
78
+ let entries;
79
+ try {
80
+ entries = readdirSync(root);
81
+ } catch {
82
+ return result;
83
+ }
84
+ for (const name of entries) {
85
+ if (!STRICT_SEMVER.test(name)) continue;
86
+ if (compareVersions(name, current) >= 0) continue;
87
+ const dir = path.join(root, name);
88
+ const size = dirSizeBytes(dir);
89
+ try {
90
+ rmSync(dir, {
91
+ recursive: true,
92
+ force: true
93
+ });
94
+ result.removed.push(name);
95
+ result.freedBytes += size;
96
+ } catch {}
97
+ }
98
+ return result;
36
99
  }
37
100
  /**
38
101
  * Find the Rust binary, checking multiple locations
@@ -225,6 +288,10 @@ function autoRebuildIfOutdated(binaryPath, verbose) {
225
288
  */
226
289
  async function getRustBinary(options = {}) {
227
290
  const { verbose = false, forceDownload = false } = options;
291
+ try {
292
+ const freed = gcOldBinaryDirs();
293
+ if (verbose && freed.removed.length > 0) console.log(`[rust] GC removed ${freed.removed.length} old binary cache dir(s): ${freed.removed.join(", ")}`);
294
+ } catch {}
228
295
  if (!forceDownload) {
229
296
  const existing = findRustBinary(verbose);
230
297
  if (existing) {
@@ -242,5 +309,5 @@ async function getRustBinary(options = {}) {
242
309
  }
243
310
 
244
311
  //#endregion
245
- export { findTrayLauncher as n, getRustBinary as r, findSpawnHiddenLauncher as t };
246
- //# sourceMappingURL=rustBinary-ISnNc7Uf.js.map
312
+ export { gcOldBinaryDirs as a, getDownloadUrl as c, findTrayLauncher as i, getRustBinary as l, findRustBinary as n, getBinDir as o, findSpawnHiddenLauncher as r, getBinaryName as s, downloadBinary as t };
313
+ //# sourceMappingURL=rustBinary-DDwz4LdD.js.map