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
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # Agent-Yes! for Claude/Codex/Gemini/Cursor/Copilot/Qwen/Auggie
1
+ # Agent-Yes! for Claude/Codex/Cursor/Copilot/Qwen/Auggie
2
2
 
3
3
  A wrapper tool that automates interactions with various AI CLI tools by automatically handling common prompts and responses. Originally designed for Claude CLI, now supports multiple AI coding assistants. Rewritten in Rust for improved performance and reliability.
4
4
 
@@ -34,7 +34,7 @@ For the local web console, install [Portless](https://portless.sh/) once with `n
34
34
 
35
35
  ## Features
36
36
 
37
- - **Multi-CLI Support**: Works with Claude, Gemini, Codex, Copilot, and Cursor CLI tools
37
+ - **Multi-CLI Support**: Works with Claude, Codex, Copilot, and Cursor CLI tools
38
38
  - **Auto-Response**: Automatically responds to common prompts like "Yes, proceed" and "Yes"
39
39
  - **Continuous Operation**: Keeps the AI assistant running until your task is done, waiting for your next prompt
40
40
  - **Interactive Control**: You can still queue more prompts or cancel executing tasks with `ESC` or `Ctrl+C`
@@ -55,13 +55,6 @@ npm install -g @anthropic-ai/claude-code
55
55
 
56
56
  Learn more: https://www.anthropic.com/claude-code
57
57
 
58
- ### Gemini
59
-
60
- ```bash
61
- # Install Gemini CLI (if available)
62
- # Check Google's documentation for installation instructions
63
- ```
64
-
65
58
  ### Codex
66
59
 
67
60
  ```bash
@@ -137,9 +130,6 @@ copilot-yes -- generate unit tests
137
130
  # Use Cursor directly
138
131
  cursor-yes -- optimize performance
139
132
 
140
- # Use Gemini directly
141
- gemini-yes -- debug this code
142
-
143
133
  # Use Auggie directly
144
134
  auggie-yes -- analyze code patterns
145
135
 
@@ -148,13 +138,6 @@ auggie-yes -- analyze code patterns
148
138
  # (https://z.ai/manage-apikey/apikey-list).
149
139
  ZAI_API_KEY=... glm-yes -- help me with this code
150
140
 
151
- # Use OpenRouter directly — runs Claude Code against OpenRouter's
152
- # Anthropic-compatible endpoint. Set OPENROUTER_API_KEY first
153
- # (https://openrouter.ai/keys). `orcy` is the short alias
154
- # (openrouter-claude-yes) and defaults to the z-ai/glm-5.2 model
155
- # (override via ANTHROPIC_DEFAULT_*_MODEL or ~/.claude/settings.json).
156
- OPENROUTER_API_KEY=... orcy -- help me with this code
157
-
158
141
  # Use Pi directly — minimal multi-provider coding agent
159
142
  # (https://github.com/earendil-works/pi)
160
143
  pi-yes -- refactor this module
@@ -195,7 +178,7 @@ cy stop <keyword> # graceful shutdown (claude/codex: /exit)
195
178
 
196
179
  - A **single** `--code=ctrl-c` does not stop `claude` / `codex` — they treat it
197
180
  as "cancel current turn" rather than "quit". Prefer `cy stop <keyword>` (which
198
- sends `/exit` for claude/codex and `/quit` for gemini), or send Ctrl+C twice
181
+ sends `/exit` for claude/codex), or send Ctrl+C twice
199
182
  in quick succession. The `cy send … --code=ctrl-c` output prints a one-line
200
183
  hint pointing at this when it detects one of those CLIs.
201
184
 
@@ -267,7 +250,7 @@ T4 pending question lane-a(active) lane-b(exited) does the cache need inv
267
250
  That is the failure mode a bare send cannot report: **whoever died holding the
268
251
  question is visible in one command.** `ay todo reconcile` says the same thing in
269
252
  words (`T4: lane-b exited without answering`) and orphans the task if the
270
- *asker* is the one that died — without ever closing the question itself, since
253
+ _asker_ is the one that died — without ever closing the question itself, since
271
254
  the answer is still owed.
272
255
 
273
256
  Answering is gated on independent verification, which the store enforces: the
@@ -302,7 +285,7 @@ docker run --rm -v $(pwd):/workspace -w /workspace \
302
285
  # Run with other AI tools
303
286
  docker run --rm -v $(pwd):/workspace -w /workspace \
304
287
  ghcr.io/snomiao/agent-yes:latest \
305
- --cli=gemini -- debug this code
288
+ --cli=codex -- debug this code
306
289
  ```
307
290
 
308
291
  **Persisting credentials:**
@@ -384,7 +367,6 @@ For deploying to cloud platforms like Google Cloud Run, AWS, Azure, see [Cloud D
384
367
  | Tool | CLI Name | Description | Installation/Update |
385
368
  | ------- | --------- | --------------------------------- | --------------------------------------------------- |
386
369
  | Claude | `claude` | Anthropic's Claude Code (default) | `npm install -g @anthropic-ai/claude-code@latest` |
387
- | Gemini | `gemini` | Google's Gemini CLI | `npm install -g @google/gemini-cli@latest` |
388
370
  | Codex | `codex` | OpenAI's Codex CLI | `npm install -g @openai/codex-cli@latest` |
389
371
  | Copilot | `copilot` | GitHub Copilot CLI | `npm install -g @github/copilot@latest` |
390
372
  | Cursor | `cursor` | Cursor agent CLI | See https://cursor.com/ja/docs/cli/installation |
@@ -420,23 +402,6 @@ The tool will:
420
402
  - Closed ecosystem with limited community plugins
421
403
  - Requires API subscription for full features
422
404
 
423
- #### Gemini CLI (Google)
424
-
425
- **Pros:**
426
-
427
- - Free tier with generous limits (60 requests/min, 1,000/day)
428
- - Fully open source (Apache 2.0 license)
429
- - 1 million token context window
430
- - MCP integration for extensibility
431
- - GitHub Actions integration at no cost
432
-
433
- **Cons:**
434
-
435
- - Currently in preview with potential stability issues
436
- - Shared quotas between CLI and Code Assist
437
- - May produce factually incorrect outputs
438
- - Limited to English language support
439
-
440
405
  #### Codex CLI (OpenAI/Microsoft)
441
406
 
442
407
  **Pros:**
@@ -544,16 +509,16 @@ The tool will:
544
509
  - **For Solo Developers:** Claude Code (complex tasks) or Grok CLI (cost-conscious)
545
510
  - **For Teams:** Codex CLI (cloud collaboration) or Cursor CLI (parallel agents)
546
511
  - **For Enterprises:** Claude Code (performance) or Qwen Code (self-hosted)
547
- - **For Budget-Conscious:** Gemini CLI (free tier) or Qwen Code (open source)
512
+ - **For Budget-Conscious:** Qwen Code (open source)
548
513
  - **For GitHub Users:** Copilot CLI (native integration)
549
514
 
550
515
  <!-- TODO: add usage As lib: call await claudeYes() and it returns render result -->
551
516
 
552
517
  ## Options
553
518
 
554
- - `--cli=<tool>`: Specify which AI CLI tool to use (claude, gemini, codex, copilot, cursor, grok, qwen, auggie). Defaults to `claude`.
519
+ - `--cli=<tool>`: Specify which AI CLI tool to use (claude, codex, copilot, cursor, grok, qwen, auggie). Defaults to `claude`.
555
520
  - `--exit-on-idle=<seconds>`: Automatically exit when the AI tool becomes idle for the specified duration. Useful for automation scripts.
556
- - `--use-skills`: Automatically discover and prepend SKILL.md headers from the directory hierarchy (walks from current directory up to git root). Multiple SKILL.md files are merged with most specific first. Particularly useful to bring Claude Skills-like context to non-Claude agents such as Codex or Gemini. Supports nested skills for monorepos.
521
+ - `--use-skills`: Automatically discover and prepend SKILL.md headers from the directory hierarchy (walks from current directory up to git root). Multiple SKILL.md files are merged with most specific first. Particularly useful to bring Claude Skills-like context to non-Claude agents such as Codex. Supports nested skills for monorepos.
557
522
 
558
523
  ## Advanced Features
559
524
 
@@ -605,7 +570,7 @@ await claudeYes({
605
570
  // Use other tools
606
571
  await claudeYes({
607
572
  prompt: "debug this function",
608
- cli: "gemini",
573
+ cli: "codex",
609
574
  exitOnIdle: 60000,
610
575
  });
611
576
 
@@ -25,7 +25,6 @@
25
25
  },
26
26
  "properties": {
27
27
  "claude": { "$ref": "#/definitions/AgentCliConfig" },
28
- "gemini": { "$ref": "#/definitions/AgentCliConfig" },
29
28
  "codex": { "$ref": "#/definitions/AgentCliConfig" },
30
29
  "copilot": { "$ref": "#/definitions/AgentCliConfig" },
31
30
  "cursor": { "$ref": "#/definitions/AgentCliConfig" },
@@ -257,123 +257,6 @@ clis:
257
257
  bunx: true
258
258
  defaultArgs: []
259
259
 
260
- # OpenRouter — runs the `claude` binary against OpenRouter's Anthropic-compatible
261
- # endpoint, inheriting every claude marker while routing to OpenRouter models.
262
- # Set OPENROUTER_API_KEY (from https://openrouter.ai/keys). ANTHROPIC_API_KEY is
263
- # pinned to "" so Claude Code doesn't fall back to a first-party Anthropic
264
- # account. The native skin targets Anthropic models by default; pick another via
265
- # ~/.claude/settings.json (ANTHROPIC_DEFAULT_*_MODEL = an OpenRouter slug like
266
- # "anthropic/claude-sonnet-4"). See
267
- # https://openrouter.ai/docs/cookbook/coding-agents/claude-code-integration
268
- openrouter:
269
- binary: claude
270
- env:
271
- ANTHROPIC_BASE_URL: https://openrouter.ai/api
272
- ANTHROPIC_AUTH_TOKEN: ${OPENROUTER_API_KEY}
273
- ANTHROPIC_API_KEY: ""
274
- # Default to GLM 5.2 (verified to work through OpenRouter's Anthropic skin).
275
- # `${VAR:-default}` keeps it overridable: export ANTHROPIC_DEFAULT_*_MODEL or
276
- # ANTHROPIC_MODEL (or set them in ~/.claude/settings.json) to use another
277
- # OpenRouter slug. Reachable as `orcy` (openrouter-claude-yes).
278
- ANTHROPIC_DEFAULT_SONNET_MODEL: ${ANTHROPIC_DEFAULT_SONNET_MODEL:-z-ai/glm-5.2}
279
- ANTHROPIC_DEFAULT_OPUS_MODEL: ${ANTHROPIC_DEFAULT_OPUS_MODEL:-z-ai/glm-5.2}
280
- ANTHROPIC_DEFAULT_HAIKU_MODEL: ${ANTHROPIC_DEFAULT_HAIKU_MODEL:-z-ai/glm-5.2}
281
- promptArg: last-arg
282
- systemPrompt: --append-system-prompt
283
- yesArgs:
284
- - --dangerously-skip-permissions
285
- install:
286
- powershell: 'powershell -Command "irm https://claude.ai/install.ps1 | iex"'
287
- bash: "curl -fsSL https://claude.ai/install.sh | bash"
288
- npm: "npm i -g @anthropic-ai/claude-code@latest"
289
- ready:
290
- - '\? for shortcuts'
291
- - ' Try "'
292
- - '^\? for shortcuts'
293
- - "^>[ ]"
294
- - "──────────+"
295
- working:
296
- - esc to interrupt
297
- - to run in background
298
- # Same wedge watchdog as claude (this CLI runs the claude binary) — see
299
- # the claude section for rationale.
300
- wedgeTimeoutSecs: 1800
301
- needsInput:
302
- - pattern: '❯ ?\d+\.'
303
- flags: m
304
- typingRespond:
305
- "1\n":
306
- - '│ Do you want to use this API key\?'
307
- enter:
308
- - pattern: ' > 1\. Yes, I trust this folder'
309
- flags: m
310
- - pattern: '❯ ?1\. ?Dark mode ?✔'
311
- flags: m
312
- - pattern: '❯ ?1\. ?Auto \(match terminal\)'
313
- flags: m
314
- - pattern: '❯ ?1\. ?Yes'
315
- flags: m
316
- - pattern: '^.{0,4} ?1\. ?Dark mode ?✔'
317
- flags: m
318
- - pattern: '^.{0,4} ?1\. ?Auto \(match terminal\)'
319
- flags: m
320
- - pattern: '^.{0,4} ?1\. ?Yes'
321
- flags: m
322
- # Large-session resume menu on `claude --continue` ("Resume from summary
323
- # (recommended) / Resume full session / Don't ask again"). The default ❯
324
- # sits on option 1 (summary); auto-accept it so an unattended restart —
325
- # including the no-output watchdog's kill+--continue recovery — doesn't
326
- # re-wedge waiting on this prompt.
327
- - pattern: '❯ ?1\. ?Resume'
328
- flags: m
329
- - pattern: '^.{0,4} ?1\. ?Resume'
330
- flags: m
331
- - pattern: Press Enter to continue
332
- flags: m
333
- fatal:
334
- - "^error: unknown option"
335
- autoRetry:
336
- - pattern: "API Error.*Overloaded"
337
- flags: i
338
- # Whole-line-only toast match — see the claude group for why a bare
339
- # `Overloaded` substring is dangerous (task lists / prose arm retries).
340
- - pattern: '^\s*[·•●⎿✗×]?\s*Overloaded\.?\s*$'
341
- flags: m
342
- - pattern: 'API Error.{0,4}5\d\d'
343
- flags: i
344
- # 429 / rate-limit: anchored to the "API Error" chrome. A bare
345
- # `rate.?limit` here caused real spurious retries — an on-screen task
346
- # list ("client ignores rate-limit drop") or an agent's own summary
347
- # (INGEST_RATE_LIMIT_PER_MIN) armed the loop and typed "retry" into a
348
- # perfectly healthy session.
349
- - pattern: "API Error.{0,4}429"
350
- flags: i
351
- - pattern: 'API Error[\s\S]{0,60}rate.?limit'
352
- flags: i
353
- - Claude usage limit reached
354
- - hit your usage limit
355
- # Session/5-hour limit banners keep the distinctive "… limit reached"
356
- # phrase; a bare "session limit" matched ordinary prose.
357
- - pattern: "(session|5-hour) limit reached"
358
- flags: i
359
- restoreArgs:
360
- - --continue
361
- # resumeCommand (optional): a regex scraped from the agent's log by
362
- # `ay restart` to resume the exact session when a CLI prints a resume command.
363
- # Capture group 1 is the argument string (whitespace-split) appended to the
364
- # relaunched `agent-yes --cli=<cli> …`. The claude family has no printed resume
365
- # command — it resumes via restoreArgs (--continue) above — so it's left unset.
366
- # Example for a CLI that prints one:
367
- # resumeCommand:
368
- # pattern: 'To resume, run:.*?(--resume \S+)'
369
- # flags: i
370
- restartWithoutContinueArg:
371
- - No conversation found to continue
372
- exitCommands:
373
- - /exit
374
- bunx: true
375
- defaultArgs: []
376
-
377
260
  # Pi — minimal multi-provider coding agent (https://github.com/earendil-works/pi).
378
261
  # Interactive TUI: a bordered input box with a footer status line showing the
379
262
  # context-usage gauge (e.g. "0.0%/272k") + model. Pi has NO tool-permission
@@ -403,27 +286,6 @@ clis:
403
286
  - /quit
404
287
  defaultArgs: []
405
288
 
406
- gemini:
407
- install:
408
- npm: "npm install -g @google/gemini-cli@latest"
409
- ready:
410
- - Type your message
411
- enter:
412
- - "│ ● 1. Yes, allow once"
413
- - "│ ● 1. Allow once"
414
- - "│ ● 1. Allow once"
415
- fatal:
416
- - Error resuming session
417
- - No previous sessions found for this project\.
418
- restoreArgs:
419
- - --resume
420
- restartWithoutContinueArg:
421
- - Error resuming session
422
- - No previous sessions found for this project\.
423
- exitCommands:
424
- - /chat save ${PWD}
425
- - /quit
426
-
427
289
  codex:
428
290
  promptArg: first-arg
429
291
  # yesArgs: `-y` / --yes maps to codex's own "yolo" flag. Codex rejects
@@ -184,4 +184,4 @@ function generateId() {
184
184
 
185
185
  //#endregion
186
186
  export { JsonlStore as t };
187
- //# sourceMappingURL=JsonlStore-CPGIR0Wy.js.map
187
+ //# sourceMappingURL=JsonlStore-BqF7AQ6E.js.map
@@ -1,8 +1,8 @@
1
- import { t as CLIS_CONFIG } from "./ts-Bb-h7XQP.js";
1
+ import { t as CLIS_CONFIG } from "./ts-BmGAFUb7.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-DFOStQkx.js.map
8
+ //# sourceMappingURL=SUPPORTED_CLIS-CNrMN-89.js.map
@@ -0,0 +1,12 @@
1
+ import "./logger-CDIsZ-Pp.js";
2
+ import "./versionChecker-DzWZizq2.js";
3
+ import "./ts-BmGAFUb7.js";
4
+ import "./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 "./todoStore-DF6vxHgV.js";
10
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-CNrMN-89.js";
11
+
12
+ export { SUPPORTED_CLIS };
@@ -1,5 +1,5 @@
1
1
  import { n as logger } from "./logger-CDIsZ-Pp.js";
2
- import { n as normalizeAgentYesConfig, t as loadSharedCliDefaults } from "./configShared-DYxlvrH0.js";
2
+ import { n as normalizeAgentYesConfig, t as loadSharedCliDefaults } from "./configShared-DKTgiz7K.js";
3
3
  import path from "node:path";
4
4
  import os from "node:os";
5
5
  import { access, mkdir, readFile, writeFile } from "node:fs/promises";
@@ -226,4 +226,4 @@ async function getDefaultConfig() {
226
226
 
227
227
  //#endregion
228
228
  export { agent_yes_config_default as default };
229
- //# sourceMappingURL=agent-yes.config-2xKNJM5Y.js.map
229
+ //# sourceMappingURL=agent-yes.config-C77SodMP.js.map
@@ -1,13 +1,13 @@
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 { B as resolveOne } from "./subcommands-DKqbwkvb.js";
7
- import "./notifyStore-Dus2D1XA.js";
8
- import "./webrtcLink-B72AQ2eb.js";
9
- import "./remotes-IzQHupeo.js";
10
- import { a as startShare } from "./share-RgJUhzqG.js";
2
+ import "./globalPidIndex-DoaKEUkO.js";
3
+ import "./messageLog-DdjBNqgt.js";
4
+ import "./e2e-z1xpwSAg.js";
5
+ import "./configShared-DKTgiz7K.js";
6
+ import { z as resolveOne } from "./subcommands-D0TqxBxb.js";
7
+ import "./notifyStore-2SWKGwZI.js";
8
+ import "./webrtcLink-DLaJfTcB.js";
9
+ import "./remotes-Cdlaj7AP.js";
10
+ import { a as startShare } from "./share-DTlaFn6s.js";
11
11
 
12
12
  //#region ts/agentShare.ts
13
13
  const MAX_SHARES = 8;
@@ -230,4 +230,4 @@ function transformEvent(rawEvent, agentId, forwarded) {
230
230
 
231
231
  //#endregion
232
232
  export { createScopedShare, listShares, revokeAllShares, revokeShare };
233
- //# sourceMappingURL=agentShare-CLhjMsHZ.js.map
233
+ //# sourceMappingURL=agentShare-YWrrxqN2.js.map
@@ -22,4 +22,4 @@ function agentYesHome() {
22
22
 
23
23
  //#endregion
24
24
  export { agentYesHome as t };
25
- //# sourceMappingURL=agentYesHome-CtmsY6I-.js.map
25
+ //# sourceMappingURL=agentYesHome-BNtn19J4.js.map
@@ -1,9 +1,9 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./JsonlStore-CPGIR0Wy.js";
3
- import "./globalPidIndex-Dq4KY2IV.js";
4
- import { r as openStore } from "./todoStore-Wk8U4zJ8.js";
5
- import { t as formatIdentity } from "./identity-CLaJ9-uE.js";
6
- import { a as resolveTodoRoot, i as resolveSelf } from "./todoIdentity-BffBxRHA.js";
2
+ import "./JsonlStore-BqF7AQ6E.js";
3
+ import "./globalPidIndex-DoaKEUkO.js";
4
+ import { r as openStore } from "./todoStore-DF6vxHgV.js";
5
+ import { t as formatIdentity } from "./identity-CKRuYUFi.js";
6
+ import { a as resolveTodoRoot, i as resolveSelf } from "./todoIdentity-NEceTmEe.js";
7
7
  import yargs from "yargs";
8
8
  import { randomBytes } from "crypto";
9
9
 
@@ -269,4 +269,4 @@ async function runAnswerSubcommand(rest, deps) {
269
269
 
270
270
  //#endregion
271
271
  export { runAnswerSubcommand, runAskSubcommand };
272
- //# sourceMappingURL=askCli-Bbxt9Umz.js.map
272
+ //# sourceMappingURL=askCli-DR9vhdcV.js.map
@@ -1,7 +1,7 @@
1
- import { d as randomHex } from "./e2e-OLfcNxiv.js";
2
- import { d as parseChannelLink, f as secretFromTopic, o as deriveChannelId, s as deriveRoom } from "./channels-CkaCyvEp.js";
3
- import { a as renderThread, c as makeOp, f as hlcSend, n as maxHlc, o as sortOps, r as mergeOps, s as isValidOp } from "./store-C7I2CAu9.js";
4
- import { t as ChannelPeer } from "./peer-Dr4zvtcd.js";
1
+ import { d as randomHex } from "./e2e-z1xpwSAg.js";
2
+ import { d as parseChannelLink, f as secretFromTopic, o as deriveChannelId, s as deriveRoom } from "./channels-C3w3eAES.js";
3
+ import { a as renderThread, c as makeOp, f as hlcSend, n as maxHlc, o as sortOps, r as mergeOps, s as isValidOp } from "./store-CnxYGoia.js";
4
+ import { t as ChannelPeer } from "./peer-BZyUyCt3.js";
5
5
 
6
6
  //#region ts/channels/store.browser.ts
7
7
  const PREFIX = "ay29ch:";
@@ -308,4 +308,4 @@ const WIDGET_HTML = `
308
308
 
309
309
  //#endregion
310
310
  export { AyChannel as t };
311
- //# sourceMappingURL=browser-_2ndf80G.js.map
311
+ //# sourceMappingURL=browser-XQnbPssj.js.map
@@ -13565,4 +13565,4 @@ const XTERM_CSS = `
13565
13565
 
13566
13566
  //#endregion
13567
13567
  export { AyTerminal as t };
13568
- //# sourceMappingURL=browser-CorYp8Yu.js.map
13568
+ //# sourceMappingURL=browser-oqC3Ln2a.js.map
@@ -0,0 +1,13 @@
1
+ import "./logger-CDIsZ-Pp.js";
2
+ import "./globalPidIndex-DoaKEUkO.js";
3
+ import "./messageLog-DdjBNqgt.js";
4
+ import "./e2e-z1xpwSAg.js";
5
+ import "./configShared-DKTgiz7K.js";
6
+ import "./subcommands-D0TqxBxb.js";
7
+ import "./notifyStore-2SWKGwZI.js";
8
+ import "./webrtcLink-DLaJfTcB.js";
9
+ import "./remotes-Cdlaj7AP.js";
10
+ import "./callbackCore-Bl2gGcxg.js";
11
+ import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-DwnU5Bnx.js";
12
+
13
+ export { cmdCallback };
@@ -1,6 +1,6 @@
1
- import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
2
- import { B as resolveOne } from "./subcommands-DKqbwkvb.js";
3
- import { a as mintCapability, o as parseExpires } from "./callbackCore-Bbe7rpN2.js";
1
+ import { t as agentYesHome } from "./agentYesHome-BNtn19J4.js";
2
+ import { z as resolveOne } from "./subcommands-D0TqxBxb.js";
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";
6
6
  import path from "node:path";
@@ -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-Dw0x9Of9.js");
75
+ const { resolveLocalServeUrl } = await import("./serve-ClCAkuSj.js");
76
76
  const url = await resolveLocalServeUrl();
77
77
  if (url) return url;
78
78
  } catch {}
@@ -170,7 +170,7 @@ async function cmdCallback(rest) {
170
170
  createdAt: Date.now()
171
171
  };
172
172
  saveStore(all);
173
- const { buildSnippet } = await import("./callbackCore-C0Cg9RbS.js");
173
+ const { buildSnippet } = await import("./callbackCore-LDxJc8LY.js");
174
174
  w(`callback ${id} → ${record.cli} #${record.pid} @ ${record.cwd}`);
175
175
  w(`expires: ${new Date(exp).toISOString()} (${expiresSpec})`);
176
176
  w(`endpoint: ${base.replace(/\/+$/, "")}/cb/${cap}`);
@@ -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-BVKHRbUE.js.map
190
+ //# sourceMappingURL=callback-DwnU5Bnx.js.map
@@ -140,4 +140,4 @@ function buildSnippet(opts) {
140
140
 
141
141
  //#endregion
142
142
  export { mintCapability as a, frameVisitorMessage as i, MAX_EXPIRES_MS as n, parseExpires as o, buildSnippet as r, verifyCapability as s, MAX_CALLBACK_MSG_BYTES as t };
143
- //# sourceMappingURL=callbackCore-Bbe7rpN2.js.map
143
+ //# sourceMappingURL=callbackCore-Bl2gGcxg.js.map
@@ -1,3 +1,3 @@
1
- import { a as mintCapability, i as frameVisitorMessage, n as MAX_EXPIRES_MS, o as parseExpires, r as buildSnippet, s as verifyCapability, t as MAX_CALLBACK_MSG_BYTES } from "./callbackCore-Bbe7rpN2.js";
1
+ import { a as mintCapability, i as frameVisitorMessage, n as MAX_EXPIRES_MS, o as parseExpires, r as buildSnippet, s as verifyCapability, t as MAX_CALLBACK_MSG_BYTES } from "./callbackCore-Bl2gGcxg.js";
2
2
 
3
3
  export { buildSnippet };
@@ -1,4 +1,4 @@
1
- import { m as validateS, u as parseSecret } from "./e2e-OLfcNxiv.js";
1
+ import { m as validateS, u as parseSecret } from "./e2e-z1xpwSAg.js";
2
2
 
3
3
  //#region ts/channels/link.ts
4
4
  const CH_DEFAULT_SIGHOST = "s.agent-yes.com";
@@ -134,4 +134,4 @@ function formatUntrustedInbound(op, opts) {
134
134
 
135
135
  //#endregion
136
136
  export { CH_DEFAULT_SIGHOST as a, formatChannelLink as c, parseChannelLink as d, secretFromTopic as f, parseCmd as i, formatChannelWebLink as l, isActionableCmd as n, deriveChannelId as o, isEphemeral as r, deriveRoom as s, formatUntrustedInbound as t, isChannelLink as u };
137
- //# sourceMappingURL=channels-CkaCyvEp.js.map
137
+ //# sourceMappingURL=channels-C3w3eAES.js.map
@@ -1,6 +1,6 @@
1
- import "./e2e-OLfcNxiv.js";
2
- import { c as formatChannelLink, d as parseChannelLink, f as secretFromTopic, l as formatChannelWebLink, o as deriveChannelId, s as deriveRoom, u as isChannelLink } from "./channels-CkaCyvEp.js";
3
- import { a as renderThread, c as makeOp, f as hlcSend, n as maxHlc, o as sortOps, r as mergeOps, s as isValidOp } from "./store-C7I2CAu9.js";
1
+ import "./e2e-z1xpwSAg.js";
2
+ import { c as formatChannelLink, d as parseChannelLink, f as secretFromTopic, l as formatChannelWebLink, o as deriveChannelId, s as deriveRoom, u as isChannelLink } from "./channels-C3w3eAES.js";
3
+ import { a as renderThread, c as makeOp, f as hlcSend, n as maxHlc, o as sortOps, r as mergeOps, s as isValidOp } from "./store-CnxYGoia.js";
4
4
  import { appendFile, chmod, mkdir, readFile, rm, writeFile } from "fs/promises";
5
5
  import os from "os";
6
6
  import path from "path";
@@ -386,8 +386,8 @@ function printOp(op) {
386
386
  * `extraStdin` (pipe mode) drives it. Returns the started peer + a stop fn.
387
387
  */
388
388
  async function runMesh(cwd, entry, opts) {
389
- const { ChannelPeer } = await import("./peer-u1AUAZeA.js");
390
- const { importRTC, getIceServers } = await import("./share-DTPZgbfH.js");
389
+ const { ChannelPeer } = await import("./peer-CGSJluSw.js");
390
+ const { importRTC, getIceServers } = await import("./share-BvU4I8BI.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-3gz9gHP7.js.map
570
+ //# sourceMappingURL=channels-hOG3-R_3.js.map
package/dist/channels.js CHANGED
@@ -1,7 +1,7 @@
1
- import "./e2e-OLfcNxiv.js";
2
- import { a as CH_DEFAULT_SIGHOST, c as formatChannelLink, d as parseChannelLink, f as secretFromTopic, i as parseCmd, l as formatChannelWebLink, n as isActionableCmd, o as deriveChannelId, r as isEphemeral, s as deriveRoom, t as formatUntrustedInbound, u as isChannelLink } from "./channels-CkaCyvEp.js";
3
- import { a as renderThread, c as makeOp, d as formatHlc, f as hlcSend, i as opsMissing, l as opId, n as maxHlc, o as sortOps, p as parseHlc, r as mergeOps, s as isValidOp, t as haveVector, u as compareHlc } from "./store-C7I2CAu9.js";
4
- import "./peer-Dr4zvtcd.js";
5
- import { t as AyChannel } from "./browser-_2ndf80G.js";
1
+ import "./e2e-z1xpwSAg.js";
2
+ import { a as CH_DEFAULT_SIGHOST, c as formatChannelLink, d as parseChannelLink, f as secretFromTopic, i as parseCmd, l as formatChannelWebLink, n as isActionableCmd, o as deriveChannelId, r as isEphemeral, s as deriveRoom, t as formatUntrustedInbound, u as isChannelLink } from "./channels-C3w3eAES.js";
3
+ import { a as renderThread, c as makeOp, d as formatHlc, f as hlcSend, i as opsMissing, l as opId, n as maxHlc, o as sortOps, p as parseHlc, r as mergeOps, s as isValidOp, t as haveVector, u as compareHlc } from "./store-CnxYGoia.js";
4
+ import "./peer-BZyUyCt3.js";
5
+ import { t as AyChannel } from "./browser-XQnbPssj.js";
6
6
 
7
7
  export { AyChannel, AyChannel as default, CH_DEFAULT_SIGHOST, compareHlc, deriveChannelId, deriveRoom, formatChannelLink, formatChannelWebLink, formatHlc, formatUntrustedInbound, haveVector, hlcSend, isActionableCmd, isChannelLink, isEphemeral, isValidOp, makeOp, maxHlc, mergeOps, opId, opsMissing, parseChannelLink, parseCmd, parseHlc, renderThread, secretFromTopic, sortOps };
package/dist/cli.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env bun
2
- import { t as invokedCliName } from "./invokedCli-uqM2YYA7.js";
2
+ import { t as invokedCliName } from "./invokedCli-zdFbz1ST.js";
3
3
  import { n as logger } from "./logger-CDIsZ-Pp.js";
4
- import { i as versionString, n as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-D9LB-MW5.js";
5
- import { r as getRustBinary } from "./rustBinary-ISnNc7Uf.js";
4
+ import { a as versionString, r as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-DzWZizq2.js";
5
+ import { l as getRustBinary } from "./rustBinary-DDwz4LdD.js";
6
6
  import { argv } from "process";
7
7
  import { spawn } from "child_process";
8
8
  import ms from "ms";
@@ -128,7 +128,7 @@ function parseCliArgs(argv, supportedClis) {
128
128
  default: [],
129
129
  hidden: true
130
130
  }).positional("cli", {
131
- describe: "The AI CLI to run, e.g., claude, codex, copilot, cursor, gemini",
131
+ describe: "The AI CLI to run, e.g., claude, codex, copilot, cursor",
132
132
  type: "string",
133
133
  choices: supportedClis,
134
134
  demandOption: false,
@@ -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-TAOmVCxo.js");
298
+ const { isSubcommand, runSubcommand, cmdHelp, isUnknownManagerToken, isBareManagerInvocation } = await import("./subcommands-DLqtyQdw.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-C1rgBiLd.js");
312
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-DibEQVjZ.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);
@@ -317,7 +317,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
317
317
  }
318
318
  }
319
319
  {
320
- const { detectCwdPassthrough, SUPPRESS_CWD_WARN_ENV } = await import("./cwdPassthroughHint-BlWO-h5w.js");
320
+ const { detectCwdPassthrough, SUPPRESS_CWD_WARN_ENV } = await import("./cwdPassthroughHint-DxdqgwEN.js");
321
321
  const dep = detectCwdPassthrough(process.argv);
322
322
  if (dep) {
323
323
  console.warn(dep.message);
@@ -328,16 +328,16 @@ await checkAndAutoUpdate();
328
328
  logger.info(versionString());
329
329
  const config = parseCliArgs(process.argv);
330
330
  if (config.tray) {
331
- const { startTray } = await import("./tray-Bxq_sfvU.js");
331
+ const { startTray } = await import("./tray-BeIs4ffu.js");
332
332
  await startTray();
333
333
  await new Promise(() => {});
334
334
  }
335
335
  {
336
- const { ensureTray } = await import("./tray-Bxq_sfvU.js");
336
+ const { ensureTray } = await import("./tray-BeIs4ffu.js");
337
337
  ensureTray();
338
338
  }
339
339
  if (!config.showVersion && !config.appendPrompt && !config.tray) {
340
- const { waitForSpawnCapacity } = await import("./spawnGate-C6YKlnmb.js");
340
+ const { waitForSpawnCapacity } = await import("./spawnGate-CdewnL8m.js");
341
341
  await waitForSpawnCapacity({
342
342
  onWait: (reason, waitedMs) => {
343
343
  if (config.verbose || waitedMs === 0) console.error(`[agent-yes] spawn gate: ${reason} — waiting…`);
@@ -346,7 +346,7 @@ if (!config.showVersion && !config.appendPrompt && !config.tray) {
346
346
  });
347
347
  }
348
348
  if (!config.showVersion && !config.appendPrompt && !config.tray) {
349
- const { warnIfCwdOccupied } = await import("./cwdConflictWarn-Buy3r_qc.js");
349
+ const { warnIfCwdOccupied } = await import("./cwdConflictWarn-CqN5pJ-7.js");
350
350
  await warnIfCwdOccupied(process.argv);
351
351
  }
352
352
  if (config.useRust) {
@@ -360,14 +360,14 @@ if (config.useRust) {
360
360
  }
361
361
  }
362
362
  if (rustBinary) {
363
- const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-C1rgBiLd.js");
363
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-DibEQVjZ.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}`);
367
367
  console.log(`[rust] Args: ${rustArgs.join(" ")}`);
368
368
  }
369
369
  const attach = config.attach || process.env.AGENT_YES_ATTACH === "1";
370
- const { shouldForkNested, buildSpawnTutorial, waitForRegistration, confirmAgentStarted, predictedLogPath } = await import("./forkNested-jc2ER9xn.js");
370
+ const { shouldForkNested, buildSpawnTutorial, waitForRegistration, confirmAgentStarted, predictedLogPath } = await import("./forkNested-CZAvQj0y.js");
371
371
  if (shouldForkNested({
372
372
  isTTY: Boolean(process.stdout.isTTY),
373
373
  ayPid: process.env.AGENT_YES_PID,
@@ -434,7 +434,7 @@ if (config.showVersion) {
434
434
  process.exit(0);
435
435
  }
436
436
  if (config.appendPrompt) {
437
- const { PidStore } = await import("./pidStore-D-b8I6Qx.js");
437
+ const { PidStore } = await import("./pidStore-V51mbgZY.js");
438
438
  const ipcPath = await PidStore.findActiveFifo(process.cwd());
439
439
  if (!ipcPath) {
440
440
  console.error("No active agent with IPC found in current directory.");