cli-jaw 2.2.2 → 2.2.3

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 (240) hide show
  1. package/README.ja.md +13 -9
  2. package/README.ko.md +5 -5
  3. package/README.md +7 -6
  4. package/README.zh-CN.md +5 -5
  5. package/dist/bin/commands/goal.js +14 -1
  6. package/dist/bin/commands/goal.js.map +1 -1
  7. package/dist/src/agent/agy-bootstrap.js +104 -0
  8. package/dist/src/agent/agy-bootstrap.js.map +1 -0
  9. package/dist/src/agent/agy-capabilities.js +103 -0
  10. package/dist/src/agent/agy-capabilities.js.map +1 -0
  11. package/dist/src/agent/agy-transcript-watcher.js +11 -0
  12. package/dist/src/agent/agy-transcript-watcher.js.map +1 -1
  13. package/dist/src/agent/args.js +32 -13
  14. package/dist/src/agent/args.js.map +1 -1
  15. package/dist/src/agent/events/claude.js +8 -4
  16. package/dist/src/agent/events/claude.js.map +1 -1
  17. package/dist/src/agent/events/helpers.js +13 -0
  18. package/dist/src/agent/events/helpers.js.map +1 -1
  19. package/dist/src/agent/events/index.js +24 -4
  20. package/dist/src/agent/events/index.js.map +1 -1
  21. package/dist/src/agent/lifecycle-handler.js +25 -4
  22. package/dist/src/agent/lifecycle-handler.js.map +1 -1
  23. package/dist/src/agent/spawn/queue.js +11 -5
  24. package/dist/src/agent/spawn/queue.js.map +1 -1
  25. package/dist/src/agent/spawn.js +49 -13
  26. package/dist/src/agent/spawn.js.map +1 -1
  27. package/dist/src/browser/web-ai/ax-snapshot.js +131 -8
  28. package/dist/src/browser/web-ai/ax-snapshot.js.map +1 -1
  29. package/dist/src/browser/web-ai/candidate-reconcile.js +61 -0
  30. package/dist/src/browser/web-ai/candidate-reconcile.js.map +1 -0
  31. package/dist/src/browser/web-ai/capability-probe.js +92 -0
  32. package/dist/src/browser/web-ai/capability-probe.js.map +1 -0
  33. package/dist/src/browser/web-ai/chatgpt-archive.js +90 -0
  34. package/dist/src/browser/web-ai/chatgpt-archive.js.map +1 -0
  35. package/dist/src/browser/web-ai/chatgpt-attachments.js +70 -3
  36. package/dist/src/browser/web-ai/chatgpt-attachments.js.map +1 -1
  37. package/dist/src/browser/web-ai/chatgpt-composer.js +97 -11
  38. package/dist/src/browser/web-ai/chatgpt-composer.js.map +1 -1
  39. package/dist/src/browser/web-ai/chatgpt-deep-research-report.js +63 -0
  40. package/dist/src/browser/web-ai/chatgpt-deep-research-report.js.map +1 -0
  41. package/dist/src/browser/web-ai/chatgpt-deep-research.js +76 -13
  42. package/dist/src/browser/web-ai/chatgpt-deep-research.js.map +1 -1
  43. package/dist/src/browser/web-ai/chatgpt-files.js +328 -0
  44. package/dist/src/browser/web-ai/chatgpt-files.js.map +1 -0
  45. package/dist/src/browser/web-ai/chatgpt-images.js +281 -0
  46. package/dist/src/browser/web-ai/chatgpt-images.js.map +1 -0
  47. package/dist/src/browser/web-ai/chatgpt-model.js +35 -14
  48. package/dist/src/browser/web-ai/chatgpt-model.js.map +1 -1
  49. package/dist/src/browser/web-ai/chatgpt-multi-turn.js +28 -4
  50. package/dist/src/browser/web-ai/chatgpt-multi-turn.js.map +1 -1
  51. package/dist/src/browser/web-ai/chatgpt-project-sources.js +191 -0
  52. package/dist/src/browser/web-ai/chatgpt-project-sources.js.map +1 -0
  53. package/dist/src/browser/web-ai/chatgpt-response-dom.js +64 -0
  54. package/dist/src/browser/web-ai/chatgpt-response-dom.js.map +1 -0
  55. package/dist/src/browser/web-ai/chatgpt-response-observer.js +170 -0
  56. package/dist/src/browser/web-ai/chatgpt-response-observer.js.map +1 -0
  57. package/dist/src/browser/web-ai/chatgpt-response.js +99 -60
  58. package/dist/src/browser/web-ai/chatgpt-response.js.map +1 -1
  59. package/dist/src/browser/web-ai/chatgpt-tools.js +48 -1
  60. package/dist/src/browser/web-ai/chatgpt-tools.js.map +1 -1
  61. package/dist/src/browser/web-ai/chatgpt-upload-surface.js +202 -0
  62. package/dist/src/browser/web-ai/chatgpt-upload-surface.js.map +1 -0
  63. package/dist/src/browser/web-ai/chatgpt.js +93 -12
  64. package/dist/src/browser/web-ai/chatgpt.js.map +1 -1
  65. package/dist/src/browser/web-ai/code-artifact.js +32 -10
  66. package/dist/src/browser/web-ai/code-artifact.js.map +1 -1
  67. package/dist/src/browser/web-ai/code-mode.js +40 -4
  68. package/dist/src/browser/web-ai/code-mode.js.map +1 -1
  69. package/dist/src/browser/web-ai/contract-audit.js +7 -22
  70. package/dist/src/browser/web-ai/contract-audit.js.map +1 -1
  71. package/dist/src/browser/web-ai/control-summary.js +43 -0
  72. package/dist/src/browser/web-ai/control-summary.js.map +1 -0
  73. package/dist/src/browser/web-ai/copy-markdown.js +10 -0
  74. package/dist/src/browser/web-ai/copy-markdown.js.map +1 -1
  75. package/dist/src/browser/web-ai/diagnostics.js +7 -0
  76. package/dist/src/browser/web-ai/diagnostics.js.map +1 -1
  77. package/dist/src/browser/web-ai/errors.js +17 -0
  78. package/dist/src/browser/web-ai/errors.js.map +1 -1
  79. package/dist/src/browser/web-ai/gemini-capabilities.js +46 -0
  80. package/dist/src/browser/web-ai/gemini-capabilities.js.map +1 -0
  81. package/dist/src/browser/web-ai/gemini-live.js +6 -0
  82. package/dist/src/browser/web-ai/gemini-live.js.map +1 -1
  83. package/dist/src/browser/web-ai/gemini-model.js +41 -0
  84. package/dist/src/browser/web-ai/gemini-model.js.map +1 -1
  85. package/dist/src/browser/web-ai/grok-capabilities.js +41 -0
  86. package/dist/src/browser/web-ai/grok-capabilities.js.map +1 -0
  87. package/dist/src/browser/web-ai/grok-live.js +5 -0
  88. package/dist/src/browser/web-ai/grok-live.js.map +1 -1
  89. package/dist/src/browser/web-ai/grok-model.js +38 -0
  90. package/dist/src/browser/web-ai/grok-model.js.map +1 -1
  91. package/dist/src/browser/web-ai/index.js +10 -0
  92. package/dist/src/browser/web-ai/index.js.map +1 -1
  93. package/dist/src/browser/web-ai/navigation-ready.js +123 -0
  94. package/dist/src/browser/web-ai/navigation-ready.js.map +1 -0
  95. package/dist/src/browser/web-ai/observation-bundle.js +26 -1
  96. package/dist/src/browser/web-ai/observation-bundle.js.map +1 -1
  97. package/dist/src/browser/web-ai/provider-adapter.js.map +1 -1
  98. package/dist/src/browser/web-ai/session-artifacts.js +156 -0
  99. package/dist/src/browser/web-ai/session-artifacts.js.map +1 -0
  100. package/dist/src/browser/web-ai/session-doctor.js +101 -0
  101. package/dist/src/browser/web-ai/session-doctor.js.map +1 -0
  102. package/dist/src/browser/web-ai/session-store.js +94 -17
  103. package/dist/src/browser/web-ai/session-store.js.map +1 -1
  104. package/dist/src/browser/web-ai/session.js +73 -0
  105. package/dist/src/browser/web-ai/session.js.map +1 -1
  106. package/dist/src/browser/web-ai/tab-inspect.js +143 -0
  107. package/dist/src/browser/web-ai/tab-inspect.js.map +1 -0
  108. package/dist/src/browser/web-ai/tab-lease-store.js +114 -4
  109. package/dist/src/browser/web-ai/tab-lease-store.js.map +1 -1
  110. package/dist/src/browser/web-ai/tier-timeout.js +58 -0
  111. package/dist/src/browser/web-ai/tier-timeout.js.map +1 -0
  112. package/dist/src/browser/web-ai/vendor-editor-contract.js +6 -3
  113. package/dist/src/browser/web-ai/vendor-editor-contract.js.map +1 -1
  114. package/dist/src/browser/web-ai/watcher-lock.js +125 -0
  115. package/dist/src/browser/web-ai/watcher-lock.js.map +1 -0
  116. package/dist/src/browser/web-ai/watcher.js +23 -4
  117. package/dist/src/browser/web-ai/watcher.js.map +1 -1
  118. package/dist/src/cli/handlers-workflows.js +14 -3
  119. package/dist/src/cli/handlers-workflows.js.map +1 -1
  120. package/dist/src/core/cli-detection.js +2 -3
  121. package/dist/src/core/cli-detection.js.map +1 -1
  122. package/dist/src/core/settings-merge.js +2 -2
  123. package/dist/src/core/settings-merge.js.map +1 -1
  124. package/dist/src/goal/heartbeat.js +13 -7
  125. package/dist/src/goal/heartbeat.js.map +1 -1
  126. package/dist/src/goal/pause-gate.js +22 -0
  127. package/dist/src/goal/pause-gate.js.map +1 -0
  128. package/dist/src/goal/store.js +5 -0
  129. package/dist/src/goal/store.js.map +1 -1
  130. package/dist/src/manager/lifecycle.js +2 -1
  131. package/dist/src/manager/lifecycle.js.map +1 -1
  132. package/dist/src/manager/preview-origin-proxy.js +36 -6
  133. package/dist/src/manager/preview-origin-proxy.js.map +1 -1
  134. package/dist/src/manager/proxy.js +25 -4
  135. package/dist/src/manager/proxy.js.map +1 -1
  136. package/dist/src/manager/registry.js +36 -3
  137. package/dist/src/manager/registry.js.map +1 -1
  138. package/dist/src/manager/routes/runtime-monitor.js +2 -0
  139. package/dist/src/manager/routes/runtime-monitor.js.map +1 -1
  140. package/dist/src/manager/routes/telegram-hub.js +120 -0
  141. package/dist/src/manager/routes/telegram-hub.js.map +1 -0
  142. package/dist/src/manager/server.js +4 -0
  143. package/dist/src/manager/server.js.map +1 -1
  144. package/dist/src/manager/telegram-hub/hub-bot.js +409 -0
  145. package/dist/src/manager/telegram-hub/hub-bot.js.map +1 -0
  146. package/dist/src/manager/telegram-hub/routing-store.js +24 -0
  147. package/dist/src/manager/telegram-hub/routing-store.js.map +1 -0
  148. package/dist/src/manager/telegram-hub/types.js +5 -0
  149. package/dist/src/manager/telegram-hub/types.js.map +1 -0
  150. package/dist/src/messaging/thread-target.js +21 -0
  151. package/dist/src/messaging/thread-target.js.map +1 -0
  152. package/dist/src/orchestrator/gateway.js +10 -7
  153. package/dist/src/orchestrator/gateway.js.map +1 -1
  154. package/dist/src/orchestrator/pipeline.js +19 -0
  155. package/dist/src/orchestrator/pipeline.js.map +1 -1
  156. package/dist/src/orchestrator/worker-registry.js.map +1 -1
  157. package/dist/src/routes/command.js +58 -2
  158. package/dist/src/routes/command.js.map +1 -1
  159. package/dist/src/routes/goal.js +6 -3
  160. package/dist/src/routes/goal.js.map +1 -1
  161. package/dist/src/routes/messaging.js +7 -2
  162. package/dist/src/routes/messaging.js.map +1 -1
  163. package/dist/src/routes/orchestrate.js +2 -0
  164. package/dist/src/routes/orchestrate.js.map +1 -1
  165. package/dist/src/telegram/bot.js +59 -4
  166. package/dist/src/telegram/bot.js.map +1 -1
  167. package/dist/src/telegram/forwarder.js +4 -1
  168. package/dist/src/telegram/forwarder.js.map +1 -1
  169. package/dist/src/telegram/hub-callback.js +21 -0
  170. package/dist/src/telegram/hub-callback.js.map +1 -0
  171. package/dist/src/telegram/rich-message.js +20 -0
  172. package/dist/src/telegram/rich-message.js.map +1 -0
  173. package/dist/src/telegram/telegram-file.js +4 -3
  174. package/dist/src/telegram/telegram-file.js.map +1 -1
  175. package/dist/src/workflows/status.js +14 -4
  176. package/dist/src/workflows/status.js.map +1 -1
  177. package/package.json +5 -5
  178. package/public/dist/assets/{Agent-wJtedbz4.js → Agent-Ci12HWhE.js} +1 -1
  179. package/public/dist/assets/{Heartbeat-CjgQ-0p8.js → Heartbeat-D-Rfp094.js} +1 -1
  180. package/public/dist/assets/{Memory-6o-wyhAT.js → Memory-VH4ZJCMW.js} +1 -1
  181. package/public/dist/assets/ModelProvider-_tUCghOF.js +1 -0
  182. package/public/dist/assets/TelegramHub-CuJoPPib.js +1 -0
  183. package/public/dist/assets/{agent-meta-g8UDRdWA.js → agent-meta-DqBTGRRQ.js} +1 -1
  184. package/public/dist/assets/{app-CLrfEHAk.js → app-DaORcAyD.js} +4 -4
  185. package/public/dist/assets/bgtask-badge-B3HLOZae.js +1 -0
  186. package/public/dist/assets/{bgtask-badge-xWbw-l-0.js → bgtask-badge-BtUXEe1T.js} +1 -1
  187. package/public/dist/assets/constants-DkJ3E63Y.js +1 -0
  188. package/public/dist/assets/{employees-C5GPj3d3.js → employees-CZSyvJbx.js} +1 -1
  189. package/public/dist/assets/manager-D3waO_XX.css +1 -0
  190. package/public/dist/assets/manager-DB5qTw1A.js +13 -0
  191. package/public/dist/assets/memory-BEruUlfu.js +1 -0
  192. package/public/dist/assets/{memory-CcnjBuo-.js → memory-cWI_Htbn.js} +1 -1
  193. package/public/dist/assets/message-history-DU1V9ZAW.js +142 -0
  194. package/public/dist/assets/message-history-tjkyOp_K.js +1 -0
  195. package/public/dist/assets/{render-C2g_qvCg.js → render-Bp8eyqCf.js} +1 -1
  196. package/public/dist/assets/settings-B-GgyJZI.js +1 -0
  197. package/public/dist/assets/{settings-DxClXVD0.js → settings-DLkP7qRV.js} +1 -1
  198. package/public/dist/assets/{settings-core-CSUV4-QG.js → settings-core-B5XRRNcX.js} +1 -1
  199. package/public/dist/assets/settings-core-Cw1av-Ox.js +1 -0
  200. package/public/dist/assets/{sidebar-CJz_SnMW.js → sidebar-CsogFOse.js} +3 -3
  201. package/public/dist/assets/skills-CLcoop6W.js +1 -0
  202. package/public/dist/assets/{skills-PKg2h1N4.js → skills-Dmf4v9rj.js} +1 -1
  203. package/public/dist/assets/slash-commands-DY6-hzq6.js +1 -0
  204. package/public/dist/assets/{slash-commands-FMOOfedZ.js → slash-commands-vcf7FuPD.js} +1 -1
  205. package/public/dist/assets/{trace-drawer-BoU1ucw7.js → trace-drawer-DuQQ0SNq.js} +1 -1
  206. package/public/dist/assets/{ui-BX-IfLze.js → ui-BKYuBdZE.js} +1 -1
  207. package/public/dist/assets/ui-CqlGwgUo.js +1 -0
  208. package/public/dist/index.html +1 -1
  209. package/public/dist/manager/index.html +2 -2
  210. package/public/js/constants.ts +2 -3
  211. package/public/js/features/process-block.ts +61 -9
  212. package/public/manager/src/code/code-composer.css +1 -0
  213. package/public/manager/src/code/code.css +7 -2
  214. package/public/manager/src/dashboard-settings/DashboardSettingsSidebar.tsx +6 -2
  215. package/public/manager/src/dashboard-settings/DashboardSettingsWorkspace.tsx +91 -2
  216. package/public/manager/src/goal-status/GoalPabcdStatusPanel.tsx +9 -1
  217. package/public/manager/src/goal-status/goal-pabcd-status-client.ts +9 -0
  218. package/public/manager/src/settings/SettingsShell.tsx +1 -0
  219. package/public/manager/src/settings/SettingsSidebar.tsx +1 -0
  220. package/public/manager/src/settings/pages/TelegramHub.tsx +179 -0
  221. package/public/manager/src/settings/pages/components/PerCliRow.tsx +23 -13
  222. package/public/manager/src/settings/pages/components/agent/agent-meta.ts +3 -1
  223. package/public/manager/src/settings/types.ts +1 -0
  224. package/public/manager/src/settings-shell.css +11 -0
  225. package/public/sw.js +1 -1
  226. package/scripts/bundle-sidecar.sh +6 -1
  227. package/public/dist/assets/ModelProvider-CNu6WOjM.js +0 -1
  228. package/public/dist/assets/bgtask-badge-4OjtCvDq.js +0 -1
  229. package/public/dist/assets/constants-CCiCctGV.js +0 -1
  230. package/public/dist/assets/manager-Ceg2x8D0.js +0 -13
  231. package/public/dist/assets/manager-CwAlpgV7.css +0 -1
  232. package/public/dist/assets/memory-B1beDKbo.js +0 -1
  233. package/public/dist/assets/message-history-BSWJwi__.js +0 -142
  234. package/public/dist/assets/message-history-CzaziSe8.js +0 -1
  235. package/public/dist/assets/settings-Dst1mUjn.js +0 -1
  236. package/public/dist/assets/settings-core-BW5mtFPE.js +0 -1
  237. package/public/dist/assets/skills-B2io6S_4.js +0 -1
  238. package/public/dist/assets/slash-commands-D1IS00Eg.js +0 -1
  239. package/public/dist/assets/ui-C-al0etg.js +0 -1
  240. /package/public/dist/assets/{TerminalPanel-B7WRXPsE.js → TerminalPanel-DSCJeGjp.js} +0 -0
package/README.ja.md CHANGED
@@ -5,7 +5,7 @@
5
5
  ### あなた専用の AI エージェント。2 行でインストール。11 個の AI ランタイムをひとつのダッシュボードに。
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/cli-jaw)](https://npmjs.com/package/cli-jaw)
8
- [![Version](https://img.shields.io/badge/v2.0.0-GA-brightgreen)](https://github.com/lidge-jun/cli-jaw/releases)
8
+ [![Version](https://img.shields.io/badge/v2.2.2-GA-brightgreen)](https://github.com/lidge-jun/cli-jaw/releases)
9
9
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](https://typescriptlang.org)
10
10
  [![Node](https://img.shields.io/badge/node-%3E%3D22-blue)](https://nodejs.org)
11
11
  [![License](https://img.shields.io/badge/license-MIT-yellow)](LICENSE)
@@ -121,6 +121,7 @@ codex login # OpenAI ChatGPT Pro 以上
121
121
  cursor-agent login # Cursor
122
122
  gemini # Google Gemini Advanced
123
123
  grok login --oauth # xAI Grok / Grok Heavy
124
+ kiro # AWS Kiro (free tier with AWS account)
124
125
  ```
125
126
 
126
127
  一括チェック:`jaw doctor`
@@ -251,14 +252,15 @@ Employee は「Frontend は CSS、Backend は API」用。サブエージェン
251
252
  | **Claude** | `claude-opus-4-8` | `claude auth login` | Claude Pro サブスクリプション以上 |
252
253
  | **Claude E** | `claude-opus-4-8` | underlying `claude auth login` | Claude Pro サブスクリプション以上。6月のサブスク付与枠では推奨 runtime |
253
254
  | **AI-E** | provider-selected | 選択 provider の認証 | マルチ provider runtime wrapper |
254
- | **Antigravity** | AGY-selected | `agy` 実行時に確認 | `--conversation` resume 対応の実験的な AGY print-mode runtime。モデル変更は native AGY UI |
255
+ | **Antigravity** | AGY-selected | `agy` 実行時に確認 | `agy -p` 実験的 AGY print-mode runtime。任意の `--model` は capability probe 後、対応時のみ使用(AGY 1.0.12 で確認)。`--conversation` で resume。個別 effort flag はなし |
255
256
  | **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro サブスクリプション以上 |
256
257
  | **Codex App** | `gpt-5.5` | `codex login` | ChatGPT Pro サブスクリプション以上 |
257
- | **Cursor** | `composer-2.5-fast` | `cursor-agent login` または `CURSOR_API_KEY` | Cursor サブスクリプション。quota は auth/status-only |
258
- | **Gemini** | `gemini-3.1-pro-preview` | `gemini` | Gemini Advanced サブスクリプション |
258
+ | **Cursor** | `composer-2.5` | `cursor-agent login` または `CURSOR_API_KEY` | Cursor サブスクリプション。quota は auth/status-only |
259
+ | **Gemini** | `gemini-3-flash-preview` | `gemini` | Gemini Advanced サブスクリプション |
259
260
  | **Grok** | `grok-build` | `grok login --oauth` | Grok サブスクリプション;クォータは認証/ステータスのみ |
260
- | **OpenCode** | `minimax-m2.7` | `opencode` | 無料モデルあり |
261
- | **Copilot** | `gpt-5-mini` | `copilot login` | 無料枠あり |
261
+ | **Kiro** | registry-selected | `kiro` | AWS Kiro 無料枠;`kiro-cli chat --no-interactive` runtime |
262
+ | **OpenCode** | `opencode-go/kimi-k2.6` | `opencode` | 無料モデルあり |
263
+ | **Copilot** | `claude-sonnet-4.6` | `copilot login` | 無料枠あり |
262
264
 
263
265
  GPT 5.5 と Claude Opus 4.8 は Pro 以上のサブスクリプションで利用できます。6月からサブスクに含まれる Claude 利用枠を使う場合は、`claude-e` runtime を選択してください。
264
266
 
@@ -289,7 +291,7 @@ P (Plan) → A (Audit) → B (Build) → C (Check) → D (Done) → IDLE
289
291
  | **C — Check** | 型チェック(`tsc --noEmit`)、ドキュメント更新、整合性チェック |
290
292
  | **D — Done** | 全変更のサマリー。アイドル状態に復帰 |
291
293
 
292
- 状態はデータベースに永続化され、再起動後も保持されます。ワーカーはファイルを変更できません — 検証のみ。`jaw orchestrate`、`/orchestrate`、`/pabcd` で開始。
294
+ 状態はデータベースに永続化され、再起動後も保持されます。ワーカーはファイルを変更できません — 検証のみ。`jaw orchestrate`、`/orchestrate`、`/pabcd` で開始し、進行中の worklog は `/continue` で明示的に再開します。フェーズ遷移には証拠 attestation が必要です。例: `jaw orchestrate B --attest '{"from":"A","to":"B","did":"<what you did>"}'`(C→D は `checkOutput` と `exitCode` も必要)。Workflow helper slash commands: `/plan`, `/interview`, `/deliberate`, `/planaudit`, `/review`, `/search`, `/goal`, `/goalplan`, `/team`, `/task`, `/fork`, `/gd`。`/plan` は「これは PABCD P」の互換ガイドで、別の計画モードは作りません。`/search <query>` は active search skill にルーティングされます。Bounded automation は `/goal run ...` で表現され、別の `/autopilot` はありません。Durable goal(`/goal <objective>` + `update`/`done`/`cancel`/`pause`/`resume`)は再起動後も保持され、goal 再開は Web/CLI を含む全インターフェースで作業を再実行します。AI `goal pause --agent --audit` は 2 段階監査ゲート(`goal_pause_gate_pending` で自動 continuation を抑制)です。`/gd` は `/goal done --force` の短縮(完了証拠ゲートをバイパス)。`/goal run`(`preflight`/`start`/`stop`/`status`)は preflight を通過する追跡専用 preview で、turn/dispatch 予算を追跡します(強制は今後)。
293
295
 
294
296
  ---
295
297
 
@@ -356,7 +358,7 @@ Computer Use で Finder、Safari、システム設定、Xcode など、あらゆ
356
358
  📱 Telegram ←→ 🦈 CLI-JAW ←→ 🤖 AI Engines
357
359
  ```
358
360
 
359
- テキストチャット、音声メッセージ(マルチプロバイダ STT — 音声をテキストに自動変換)、ファイル/写真アップロード、スラッシュコマンド(`/cli`、`/model`、`/status`)、スケジュールタスク(`every`/`cron` — 定期スケジュール)結果の自動配信。
361
+ テキストチャット、音声メッセージ(マルチプロバイダ STT — 音声をテキストに自動変換)、ファイル/写真アップロード、スラッシュコマンド(51 件登録; workflow helper: `/plan`, `/interview`, `/review`, `/search`, `/goal`, `/orchestrate`, `/task`, `/fork`, `/gd`; CLI/Web 動的 `/skill:<id>`)、フォーラムトピックルーティングと **Dashboard Telegram Hub**(`/setthread`, `/threads`, `/hubhelp`、Manager UI でトピックごとの `model`/`systemPrompt` override)、スケジュールタスク(`every`/`cron` heartbeat)結果の自動配信。
360
362
 
361
363
  <details>
362
364
  <summary>セットアップ(3 ステップ)</summary>
@@ -451,9 +453,11 @@ jaw --home ~/my-project serve --port 3458
451
453
 
452
454
  ```bash
453
455
  npm run build # tsc → dist/
456
+ npm run build:frontend # vite → public/dist/
454
457
  npm run dev # tsx server.ts(ホットリロード)
455
- npm test # Node.js ネイティブテストランナー
458
+ npm test # programmatic node:test driver (tests/run.mts, isolation:'process')
456
459
  npm run gate:all # リリース/ドキュメント整合性ゲート
460
+ bash structure/check-doc-drift.sh
457
461
  ```
458
462
 
459
463
  アーキテクチャ詳細:[ARCHITECTURE.md](docs/ARCHITECTURE.md) · テストカバレッジ:[TESTS.md](TESTS.md) · 内部構造ドキュメント:[structure/](structure/)
package/README.ko.md CHANGED
@@ -5,7 +5,7 @@
5
5
  ### 나만의 AI 에이전트. 2줄이면 설치 끝. 13개 AI 런타임 표면을 하나의 대시보드에서.
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/cli-jaw)](https://npmjs.com/package/cli-jaw)
8
- [![Version](https://img.shields.io/badge/v2.2.0-GA-brightgreen)](https://github.com/lidge-jun/cli-jaw/releases)
8
+ [![Version](https://img.shields.io/badge/v2.2.2-GA-brightgreen)](https://github.com/lidge-jun/cli-jaw/releases)
9
9
  [![TypeScript](https://img.shields.io/badge/TypeScript-6.0-blue)](https://typescriptlang.org)
10
10
  [![Node](https://img.shields.io/badge/node-%3E%3D22.4-blue)](https://nodejs.org)
11
11
  [![License](https://img.shields.io/badge/license-MIT-yellow)](LICENSE)
@@ -320,7 +320,7 @@ jaw worker status Backend
320
320
  | **Claude** | `claude-opus-4-8` | `claude auth login` | Claude Pro 구독 이상 |
321
321
  | **Claude E** | `claude-opus-4-8` | underlying `claude auth login` | Claude Pro 구독 이상; 6월 구독 포함 사용량 권장 런타임 |
322
322
  | **AI-E** | provider-selected | 선택 provider 인증 | 다중 provider runtime wrapper |
323
- | **Antigravity** | AGY-selected | `agy` 실행 시 확인 | `--conversation` resume을 쓰는 실험적 AGY print-mode runtime; 모델 변경은 native AGY UI 표면 |
323
+ | **Antigravity** | AGY-selected | `agy` 실행 시 확인 | `agy -p` 실험적 AGY print-mode runtime; 선택적 `--model`은 capability probe 후 지원될 때만 사용(AGY 1.0.12에서 관측); `--conversation`으로 resume; 별도 effort flag 없음 |
324
324
  | **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro 구독 이상 |
325
325
  | **Codex App** | `gpt-5.5` | `codex login` | ChatGPT Pro 구독 이상 |
326
326
  | **Cursor** | `composer-2.5` | `cursor-agent login` 또는 `CURSOR_API_KEY` | Cursor 구독; 쿼터는 인증/상태 전용 |
@@ -359,7 +359,7 @@ P (Plan) → A (Audit) → B (Build) → C (Check) → D (Done) → IDLE
359
359
  | **C — Check** | 타입 체크 (`tsc --noEmit`), 문서 업데이트, 일관성 검사 |
360
360
  | **D — Done** | 모든 변경 사항 요약. IDLE로 복귀 |
361
361
 
362
- 상태는 데이터베이스에 저장되므로 재시작해도 이어서 작업할 수 있습니다. 워커는 파일을 수정할 수 없습니다 — 검증만 합니다. `jaw orchestrate`, `/orchestrate`, `/pabcd`로 시작하고, 진행 중인 worklog는 `/continue`로 명시적으로 재개합니다. Workflow helper slash command는 `/plan`, `/interview`, `/deliberate`, `/planaudit`, `/goal`로 제공됩니다. `/goal run ...`은 bounded automation preview이며, durable goal `update`/`done`/`cancel`/`pause`/`resume` 상태를 보존합니다.
362
+ 상태는 데이터베이스에 저장되므로 재시작해도 이어서 작업할 수 있습니다. 워커는 파일을 수정할 수 없습니다 — 검증만 합니다. `jaw orchestrate`, `/orchestrate`, `/pabcd`로 시작하고, 진행 중인 worklog는 `/continue`로 명시적으로 재개합니다. 단계 전환에는 증거 attestation이 필요합니다. 예: `jaw orchestrate B --attest '{"from":"A","to":"B","did":"<what you did>"}'` (C→D는 `checkOutput`과 `exitCode`도 필요). Workflow helper slash command는 `/plan`, `/interview`, `/deliberate`, `/planaudit`, `/review`, `/search`, `/goal`, `/goalplan`, `/team`, `/task`, `/fork`, `/gd`입니다. `/plan`은 “이것이 PABCD P”를 안내하는 호환 가이드이며 별도 계획 모드를 만들지 않습니다. `/search <query>`는 active search skill로 라우팅됩니다. Bounded automation은 `/goal run ...`으로 표현되며 별도 `/autopilot`은 없습니다. Durable goal(`/goal <objective>` + `update`/`done`/`cancel`/`pause`/`resume`)은 재시작 후에도 유지되며, goal 재개는 Web/CLI 포함 모든 인터페이스에서 작업을 다시 실행합니다. AI `goal pause --agent --audit`는 2단계 감사 게이트(`goal_pause_gate_pending`로 자동 continuation 억제)를 사용합니다. `/gd`는 `/goal done --force` 축약(완료 증거 게이트 우회)입니다. `/goal run`(`preflight`/`start`/`stop`/`status`)은 preflight를 통과해야 하는 추적 전용 preview이며 turn/dispatch 예산을 추적합니다(실제 강제는 추후).
363
363
 
364
364
  ---
365
365
 
@@ -426,7 +426,7 @@ Computer Use로 Finder, Safari, 시스템 설정, Xcode 등 모든 macOS 앱을
426
426
  📱 Telegram ←→ 🦈 CLI-JAW ←→ 🤖 AI Engines
427
427
  ```
428
428
 
429
- 텍스트 채팅, 음성 메시지(다중 프로바이더 STT — 음성을 텍스트로 자동 변환), 파일/사진 업로드, 슬래시 명령어(`/cli`, `/model`, `/status`), 예약 작업(`every`/`cron` — 반복 스케줄) 결과 자동 전달.
429
+ 텍스트 채팅, 음성 메시지(다중 프로바이더 STT — 음성을 텍스트로 자동 변환), 파일/사진 업로드, 슬래시 명령어(51개 등록; workflow helper: `/plan`, `/interview`, `/review`, `/search`, `/goal`, `/orchestrate`, `/task`, `/fork`, `/gd`; CLI/Web 동적 `/skill:<id>`), 포럼 토픽 라우팅 및 **Dashboard Telegram Hub**(`/setthread`, `/threads`, `/hubhelp`, Manager UI에서 토픽별 `model`/`systemPrompt` override), 예약 작업(`every`/`cron` heartbeat) 결과 자동 전달.
430
430
 
431
431
  <details>
432
432
  <summary>설정 (3단계)</summary>
@@ -540,7 +540,7 @@ jaw --home ~/my-project serve --port 3458
540
540
  npm run build # tsc → dist/
541
541
  npm run build:frontend # vite → public/dist/
542
542
  npm run dev # tsx server.ts (핫 리로드)
543
- npm test # Node.js 네이티브 테스트 러너
543
+ npm test # programmatic node:test driver (tests/run.mts, isolation:'process')
544
544
  npm run gate:all # named release/docs parity gates
545
545
  bash structure/check-doc-drift.sh
546
546
  ```
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  ### Your personal AI agent. 2 lines to install. 13 AI runtime surfaces in one dashboard.
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/cli-jaw)](https://npmjs.com/package/cli-jaw)
8
- [![Version](https://img.shields.io/badge/v2.2.0-GA-brightgreen)](https://github.com/lidge-jun/cli-jaw/releases)
8
+ [![Version](https://img.shields.io/badge/v2.2.2-GA-brightgreen)](https://github.com/lidge-jun/cli-jaw/releases)
9
9
  [![TypeScript](https://img.shields.io/badge/TypeScript-6.0-blue)](https://typescriptlang.org)
10
10
  [![Node](https://img.shields.io/badge/node-%3E%3D22.4-blue)](https://nodejs.org)
11
11
  [![License](https://img.shields.io/badge/license-MIT-yellow)](LICENSE)
@@ -375,12 +375,13 @@ No per-token API billing. Route through subscriptions you already pay for.
375
375
  | **Claude** | `claude-opus-4-8` | `claude auth login` | Claude Pro subscription or higher |
376
376
  | **Claude E** | `claude-opus-4-8` | underlying `claude auth login` | Claude Pro subscription or higher; preferred for June subscription allowance |
377
377
  | **AI-E** | provider-selected | selected provider auth | Multi-provider runtime wrapper |
378
- | **Antigravity** | AGY-selected | checked by `agy` at run time | Experimental AGY print-mode runtime with `--conversation` resume; model switching stays in native AGY UI |
378
+ | **Antigravity** | AGY-selected | checked by `agy` at run time | Experimental AGY print-mode runtime (`agy -p`); optional `--model` is capability-probed (observed in AGY 1.0.12); resume via `--conversation`; no separate effort flag |
379
379
  | **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro subscription or higher |
380
380
  | **Codex App** | `gpt-5.5` | `codex login` | ChatGPT Pro subscription or higher |
381
381
  | **Cursor** | `composer-2.5` | `cursor-agent login` or `CURSOR_API_KEY` | Cursor subscription; quota is auth/status-only |
382
382
  | **Gemini** | `gemini-3-flash-preview` | `gemini` | Gemini Advanced subscription |
383
383
  | **Grok** | `grok-build` | `grok login --oauth` | Grok subscription; quota is auth/status-only |
384
+ | **Kiro** | registry-selected | `kiro` | AWS Kiro free tier; `kiro-cli chat --no-interactive` runtime |
384
385
  | **OpenCode** | `opencode-go/kimi-k2.6` | `opencode` | Free models available |
385
386
  | **Copilot** | `claude-sonnet-4.6` | `copilot login` | Free tier available |
386
387
 
@@ -413,7 +414,7 @@ P (Plan) → A (Audit) → B (Build) → C (Check) → D (Done) → IDLE
413
414
  | **C — Check** | Type-check (`tsc --noEmit`), docs update, consistency check |
414
415
  | **D — Done** | Summary of all changes. Returns to idle |
415
416
 
416
- State is database-persisted and survives restarts. Workers cannot modify files — only verify. Activate with `jaw orchestrate`, `/orchestrate`, or `/pabcd`; resume an active worklog explicitly with `/continue`. Workflow helper slash commands are exposed as `/plan`, `/interview`, `/deliberate`, `/planaudit`, `/review`, `/search`, and `/goal`; `/plan` is a compatibility guide that explains "this is PABCD P" and points to the right next command instead of creating a second planning mode. `/search <query>` routes search intent through the active search skill: classify local vs external lookup, rewrite focused queries, discover candidate URLs, and only then use browser commands such as `browser fetch` for evidence verification. Bounded automation is expressed as `/goal run ...`, not a separate top-level `/autopilot`. Durable goals — `/goal <objective>` plus `update`/`done`/`cancel`/`pause`/`resume` — are functional and survive restarts, and a goal resume re-fires the work on every interface (Web/CLI included, not just messaging). `/goal run` (`preflight`/`start`/`stop`/`status`) is a tracking-only preview: it gates on preflight and tracks turn/dispatch budget, with enforcement still to come.
417
+ State is database-persisted and survives restarts. Workers cannot modify files — only verify. Activate with `jaw orchestrate`, `/orchestrate`, or `/pabcd`; resume an active worklog explicitly with `/continue`. Forward phase transitions require evidence attestation, e.g. `jaw orchestrate B --attest '{"from":"A","to":"B","did":"<what you did>"}'` (C→D also needs pasted `checkOutput` and `exitCode`). Workflow helper slash commands include `/plan`, `/interview`, `/deliberate`, `/planaudit`, `/review`, `/search`, `/goal`, `/goalplan`, `/team`, `/task`, `/fork`, and `/gd`; `/plan` is a compatibility guide that explains "this is PABCD P" and points to the right next command instead of creating a second planning mode. `/search <query>` routes search intent through the active search skill: classify local vs external lookup, rewrite focused queries, discover candidate URLs, and only then use browser commands such as `browser fetch` for evidence verification. Bounded automation is expressed as `/goal run ...`, not a separate top-level `/autopilot`. Durable goals — `/goal <objective>` plus `update`/`done`/`cancel`/`pause`/`resume` — are functional and survive restarts, and a goal resume re-fires the work on every interface (Web/CLI included, not just messaging). AI-initiated `goal pause --agent --audit` arms a two-tap gate (`goal_pause_gate_pending` suppresses auto-continuation until a productive checkpoint or a second audited pause). `/gd` is shorthand for `/goal done --force` (skips the completion evidence gate). `/goal run` (`preflight`/`start`/`stop`/`status`) is a tracking-only preview: it gates on preflight and tracks turn/dispatch budget, with enforcement still to come.
417
418
 
418
419
  ---
419
420
 
@@ -480,7 +481,7 @@ Computer Use lets you control any macOS app — Finder, Safari, System Settings,
480
481
  📱 Telegram ←→ 🦈 CLI-JAW ←→ 🤖 AI Engines
481
482
  ```
482
483
 
483
- Text chat, voice messages (auto-transcribed via STT — speech-to-text), file/photo upload, slash commands (`/cli`, `/model`, `/status`, `/plan`, `/interview`, `/deliberate`, `/planaudit`, `/review`, `/search`), scheduled task delivery via `every`/`cron` (recurring schedule) heartbeat jobs.
484
+ Text chat, voice messages (auto-transcribed via STT — speech-to-text), file/photo upload, slash commands (51 registered; workflow helpers include `/plan`, `/interview`, `/review`, `/search`, `/goal`, `/orchestrate`, `/task`, `/fork`, `/gd`; dynamic `/skill:<id>` on CLI/Web), forum-topic routing and **Dashboard Telegram Hub** (`/setthread`, `/threads`, `/hubhelp`, per-topic model/systemPrompt overrides in Manager UI), scheduled task delivery via `every`/`cron` heartbeat jobs.
484
485
 
485
486
  <details>
486
487
  <summary>Setup (3 steps)</summary>
@@ -598,12 +599,12 @@ Each instance is fully independent — different working directory, different me
598
599
  npm run build # tsc → dist/
599
600
  npm run build:frontend # vite → public/dist/
600
601
  npm run dev # tsx server.ts (hot-reload)
601
- npm test # native Node.js test runner
602
+ npm test # programmatic node:test driver (tests/run.mts, isolation:'process')
602
603
  npm run gate:all # named release/docs parity gates
603
604
  bash structure/check-doc-drift.sh
604
605
  ```
605
606
 
606
- Architecture details: [ARCHITECTURE.md](docs/ARCHITECTURE.md) · Internal structure docs: [structure/](structure/)
607
+ Architecture details: [ARCHITECTURE.md](docs/ARCHITECTURE.md) · Pre-prompt context hooks: [pre-prompt-context-hooks.md](docs/dev/pre-prompt-context-hooks.md) · Internal structure docs: [structure/](structure/)
607
608
 
608
609
  ---
609
610
 
package/README.zh-CN.md CHANGED
@@ -5,7 +5,7 @@
5
5
  ### 你的个人 AI 助手。2 行安装。13 个 AI 运行时入口,一个仪表盘。
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/cli-jaw)](https://npmjs.com/package/cli-jaw)
8
- [![Version](https://img.shields.io/badge/v2.2.0-GA-brightgreen)](https://github.com/lidge-jun/cli-jaw/releases)
8
+ [![Version](https://img.shields.io/badge/v2.2.2-GA-brightgreen)](https://github.com/lidge-jun/cli-jaw/releases)
9
9
  [![TypeScript](https://img.shields.io/badge/TypeScript-6.0-blue)](https://typescriptlang.org)
10
10
  [![Node](https://img.shields.io/badge/node-%3E%3D22.4-blue)](https://nodejs.org)
11
11
  [![License](https://img.shields.io/badge/license-MIT-yellow)](LICENSE)
@@ -320,7 +320,7 @@ jaw worker status Backend
320
320
  | **Claude** | `claude-opus-4-8` | `claude auth login` | Claude Pro 或更高订阅 |
321
321
  | **Claude E** | `claude-opus-4-8` | underlying `claude auth login` | Claude Pro 或更高订阅;6 月订阅赠送额度的推荐 runtime |
322
322
  | **AI-E** | provider-selected | 所选 provider 认证 | 多 provider runtime wrapper |
323
- | **Antigravity** | AGY-selected | 由 `agy` 在运行时检查 | 支持 `--conversation` resume 的实验性 AGY print-mode runtime;模型切换保留在 native AGY UI |
323
+ | **Antigravity** | AGY-selected | 由 `agy` 在运行时检查 | `agy -p` 实验性 AGY print-mode runtime;可选 `--model` 会先做 capability probe,确认支持时才传递(AGY 1.0.12 已观察到);通过 `--conversation` resume;无独立 effort flag |
324
324
  | **Codex** | `gpt-5.5` | `codex login` | ChatGPT Pro 或更高订阅 |
325
325
  | **Codex App** | `gpt-5.5` | `codex login` | ChatGPT Pro 或更高订阅 |
326
326
  | **Cursor** | `composer-2.5` | `cursor-agent login` 或 `CURSOR_API_KEY` | Cursor 订阅;quota 为 auth/status-only |
@@ -359,7 +359,7 @@ P (Plan) → A (Audit) → B (Build) → C (Check) → D (Done) → IDLE
359
359
  | **C — Check** | 类型检查(`tsc --noEmit`)、文档更新、一致性检查 |
360
360
  | **D — Done** | 汇总所有变更。返回空闲状态 |
361
361
 
362
- 状态持久化在数据库中,服务器重启后仍然保留。工作者不能修改文件——只能验证。用 `jaw orchestrate`、`/orchestrate` 或 `/pabcd` 启动,并用 `/continue` 显式恢复进行中的 worklogWorkflow helper slash commands 包括 `/plan`、`/interview`、`/deliberate`、`/planaudit`、`/goal`。`/goal run ...` bounded automation preview;durable goal 会保留 `update`/`done`/`cancel`/`pause`/`resume` 状态。
362
+ 状态持久化在数据库中,服务器重启后仍然保留。工作者不能修改文件——只能验证。用 `jaw orchestrate`、`/orchestrate` 或 `/pabcd` 启动,并用 `/continue` 显式恢复进行中的 worklog。阶段前进需要证据 attestation,例如 `jaw orchestrate B --attest '{"from":"A","to":"B","did":"<what you did>"}'`(C→D 还需粘贴 `checkOutput` 和 `exitCode`)。Workflow helper slash commands 包括 `/plan`、`/interview`、`/deliberate`、`/planaudit`、`/review`、`/search`、`/goal`、`/goalplan`、`/team`、`/task`、`/fork`、`/gd`;`/plan` 是说明“这就是 PABCD P”的兼容指南,不会创建第二套计划模式。`/search <query>` 通过 active search skill 路由搜索意图。Bounded automation 用 `/goal run ...` 表达,没有单独的 `/autopilot`。Durable goal(`/goal <objective>` `update`/`done`/`cancel`/`pause`/`resume`)在重启后仍保留,goal 恢复会在 Web/CLI 等所有界面重新触发工作。AI `goal pause --agent --audit` 使用两步审计 gate(`goal_pause_gate_pending` 抑制自动 continuation)。`/gd` 是 `/goal done --force` 的简写(跳过完成证据 gate)。`/goal run`(`preflight`/`start`/`stop`/`status`)是需通过 preflight 的仅跟踪预览,记录 turn/dispatch 预算(强制尚未落地)。
363
363
 
364
364
  ---
365
365
 
@@ -426,7 +426,7 @@ Computer Use 让你用自然语言控制任何 macOS 应用——Finder、Safari
426
426
  📱 Telegram ←→ 🦈 CLI-JAW ←→ 🤖 AI Engines
427
427
  ```
428
428
 
429
- 文字聊天、语音消息(通过多供应商 STT——语音转文字 自动转录)、文件/照片上传、斜杠命令(`/cli`、`/model`、`/status`)、定时任务(`every`/`cron`——循环计划)结果自动送达。
429
+ 文字聊天、语音消息(通过多供应商 STT——语音转文字 自动转录)、文件/照片上传、斜杠命令(51 个已注册;workflow helper:`/plan`、`/interview`、`/review`、`/search`、`/goal`、`/orchestrate`、`/task`、`/fork`、`/gd`;CLI/Web 动态 `/skill:<id>`)、论坛主题路由与 **Dashboard Telegram Hub**(`/setthread`、`/threads`、`/hubhelp`、Manager UI 中按主题的 `model`/`systemPrompt` override)、定时任务(`every`/`cron` heartbeat)结果自动送达。
430
430
 
431
431
  <details>
432
432
  <summary>设置(3 步)</summary>
@@ -540,7 +540,7 @@ jaw --home ~/my-project serve --port 3458
540
540
  npm run build # tsc → dist/
541
541
  npm run build:frontend # vite → public/dist/
542
542
  npm run dev # tsx server.ts(热重载)
543
- npm test # Node.js 原生测试运行器
543
+ npm test # programmatic node:test driver (tests/run.mts, isolation:'process')
544
544
  npm run gate:all # 命名 release/docs parity gates
545
545
  bash structure/check-doc-drift.sh
546
546
  ```
@@ -49,6 +49,17 @@ function splitFlagValue(values, flag) {
49
49
  hasFlag: true,
50
50
  };
51
51
  }
52
+ function pauseGateLines(value) {
53
+ if (!value || typeof value !== 'object')
54
+ return [];
55
+ const gate = value;
56
+ if (gate['armed'] !== true)
57
+ return [];
58
+ return [
59
+ `Pause gate: pending (${String(gate['attempts'] ?? 0)}/${String(gate['requiredAttempts'] ?? 2)})`,
60
+ `Pause gate action: ${String(gate['nextAction'] ?? 'Run a second audited agent pause or log a productive checkpoint.')}`,
61
+ ];
62
+ }
52
63
  const PORT = undefined;
53
64
  const BASE = getServerUrl(PORT);
54
65
  await getCliAuthToken(PORT);
@@ -66,11 +77,13 @@ try {
66
77
  process.exit(0);
67
78
  }
68
79
  if (sub === '--json') {
69
- console.log(JSON.stringify(goal, null, 2));
80
+ console.log(JSON.stringify({ goal, pauseGate: body['pauseGate'] }, null, 2));
70
81
  process.exit(0);
71
82
  }
72
83
  console.log(`Goal: ${goal['objective']}`);
73
84
  console.log(`Status: ${goal['status']}`);
85
+ for (const line of pauseGateLines(body['pauseGate']))
86
+ console.log(line);
74
87
  if (goal['goalMode'])
75
88
  console.log(`Mode: ${goal['goalMode']}`);
76
89
  if (goal['planHint'])
@@ -1 +1 @@
1
- {"version":3,"file":"goal.js","sourceRoot":"","sources":["../../../bin/commands/goal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"goal.js","sourceRoot":"","sources":["../../../bin/commands/goal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import crypto from 'node:crypto';
2
+ export const AGY_BOOTSTRAP_VERSION = 1;
3
+ export const AGY_BOOTSTRAP_PREFIX = 'CLI_JAW_BOOTSTRAP_SHA=';
4
+ function normalizeText(value) {
5
+ return String(value || '').replace(/\r\n/g, '\n').trim();
6
+ }
7
+ function normalizeScalar(value, fallback) {
8
+ const normalized = normalizeText(value);
9
+ return normalized || fallback;
10
+ }
11
+ function shortSha256(value) {
12
+ return crypto
13
+ .createHash('sha256')
14
+ .update(JSON.stringify(value))
15
+ .digest('hex')
16
+ .slice(0, 16);
17
+ }
18
+ export function buildAgyBootstrapEnvelope(input) {
19
+ const taskPrompt = normalizeText(input.taskPrompt);
20
+ const operationalContext = normalizeText(input.operationalContext);
21
+ const historyBlock = normalizeText(input.historyBlock);
22
+ const workingDir = normalizeScalar(input.workingDir, 'unknown');
23
+ const sessionId = normalizeScalar(input.sessionId, 'fresh');
24
+ const hash = shortSha256({
25
+ version: AGY_BOOTSTRAP_VERSION,
26
+ taskPrompt,
27
+ operationalContext,
28
+ workingDir,
29
+ sessionId,
30
+ });
31
+ const sentinel = `${AGY_BOOTSTRAP_PREFIX}${hash}`;
32
+ const sections = [
33
+ [
34
+ '[CLI-JAW AGY BOOTSTRAP]',
35
+ sentinel,
36
+ `cwd=${workingDir}`,
37
+ `session=${sessionId}`,
38
+ 'rule=This marker proves the current cli-jaw runtime envelope reached AGY.',
39
+ ].join('\n'),
40
+ `[Current cli-jaw task]\n${taskPrompt}`,
41
+ ];
42
+ if (operationalContext) {
43
+ sections.push([
44
+ '[Operational Context — cli-jaw Integration]',
45
+ 'The following operational guidelines apply to this session. Follow these task rules and use the tools/commands described:',
46
+ '',
47
+ operationalContext,
48
+ ].join('\n'));
49
+ }
50
+ if (historyBlock) {
51
+ sections.push(`[Recent context / history]\n${historyBlock}`);
52
+ }
53
+ return {
54
+ sentinel,
55
+ hash,
56
+ prompt: sections.join('\n\n---\n\n'),
57
+ };
58
+ }
59
+ export function transcriptContainsBootstrapSentinel(line, sentinel) {
60
+ if (!sentinel)
61
+ return false;
62
+ if (line.includes(sentinel))
63
+ return true;
64
+ try {
65
+ const parsed = JSON.parse(line);
66
+ return typeof parsed.content === 'string' && parsed.content.includes(sentinel);
67
+ }
68
+ catch {
69
+ return false;
70
+ }
71
+ }
72
+ export function applyAgyBootstrapAcceptanceFromTranscriptLine(ctx, line, minCreatedAtMs) {
73
+ const sentinel = ctx.agyBootstrapSentinel;
74
+ if (!sentinel) {
75
+ ctx.agyBootstrapAccepted = false;
76
+ ctx.agyBootstrapAcceptanceMode = 'not-applicable';
77
+ return;
78
+ }
79
+ let rowType = '';
80
+ try {
81
+ const parsed = JSON.parse(line);
82
+ rowType = typeof parsed.type === 'string' ? parsed.type : '';
83
+ if (typeof parsed.created_at === 'string') {
84
+ const createdAt = Date.parse(parsed.created_at);
85
+ if (Number.isFinite(createdAt) && createdAt < minCreatedAtMs)
86
+ return;
87
+ }
88
+ }
89
+ catch {
90
+ return;
91
+ }
92
+ if (rowType !== 'USER_INPUT')
93
+ return;
94
+ if (transcriptContainsBootstrapSentinel(line, sentinel)) {
95
+ ctx.agyBootstrapAccepted = true;
96
+ ctx.agyBootstrapAcceptanceMode = 'accepted';
97
+ return;
98
+ }
99
+ if (ctx.agyBootstrapAcceptanceMode !== 'accepted') {
100
+ ctx.agyBootstrapAccepted = false;
101
+ ctx.agyBootstrapAcceptanceMode = 'missing';
102
+ }
103
+ }
104
+ //# sourceMappingURL=agy-bootstrap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agy-bootstrap.js","sourceRoot":"","sources":["../../../src/agent/agy-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ import fs from 'node:fs';
3
+ export const DEFAULT_AGY_CAPABILITIES = {
4
+ print: true,
5
+ printFlag: '-p',
6
+ conversation: true,
7
+ model: true,
8
+ printTimeout: true,
9
+ logFile: true,
10
+ addDir: true,
11
+ dangerousSkipPermissions: true,
12
+ sandbox: false,
13
+ usedFallback: true,
14
+ };
15
+ const cache = new Map();
16
+ function hasLongFlag(text, flag) {
17
+ return new RegExp(`(^|\\s)${flag.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}(?:\\s|$)`, 'm').test(text);
18
+ }
19
+ function hasShortFlag(text, flag) {
20
+ return new RegExp(`(^|\\s)${flag.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}(?:\\s|$)`, 'm').test(text);
21
+ }
22
+ function parseAgyVersion(versionText = '') {
23
+ return /\b(\d+\.\d+\.\d+(?:[-+][0-9A-Za-z.-]+)?)\b/.exec(versionText)?.[1];
24
+ }
25
+ function resolvePrintFlag(helpText) {
26
+ if (hasShortFlag(helpText, '-p'))
27
+ return '-p';
28
+ if (hasLongFlag(helpText, '--print'))
29
+ return '--print';
30
+ if (hasLongFlag(helpText, '--prompt'))
31
+ return '--prompt';
32
+ return undefined;
33
+ }
34
+ export function parseAgyHelp(helpText, versionText = '') {
35
+ const printFlag = resolvePrintFlag(helpText);
36
+ const version = parseAgyVersion(versionText);
37
+ return {
38
+ ...(version ? { version } : {}),
39
+ print: Boolean(printFlag),
40
+ ...(printFlag ? { printFlag } : {}),
41
+ conversation: hasLongFlag(helpText, '--conversation'),
42
+ model: hasLongFlag(helpText, '--model'),
43
+ printTimeout: hasLongFlag(helpText, '--print-timeout'),
44
+ logFile: hasLongFlag(helpText, '--log-file'),
45
+ addDir: hasLongFlag(helpText, '--add-dir'),
46
+ dangerousSkipPermissions: hasLongFlag(helpText, '--dangerously-skip-permissions'),
47
+ sandbox: hasLongFlag(helpText, '--sandbox'),
48
+ };
49
+ }
50
+ function binaryMtimeMs(binary) {
51
+ try {
52
+ return fs.statSync(binary).mtimeMs;
53
+ }
54
+ catch {
55
+ return -1;
56
+ }
57
+ }
58
+ function runAgyText(binary, args) {
59
+ const result = spawnSync(binary, args, {
60
+ encoding: 'utf8',
61
+ stdio: ['ignore', 'pipe', 'pipe'],
62
+ timeout: 3_000,
63
+ });
64
+ if (result.error)
65
+ throw result.error;
66
+ const text = `${result.stdout || ''}\n${result.stderr || ''}`;
67
+ if (result.signal)
68
+ throw new Error(`agy ${args.join(' ')} terminated by ${result.signal}`);
69
+ if ((result.status ?? 0) !== 0 && !text.trim()) {
70
+ throw new Error(`agy ${args.join(' ')} exited with status ${result.status}`);
71
+ }
72
+ return text;
73
+ }
74
+ function fallbackCapabilities(error) {
75
+ const message = error instanceof Error ? error.message : String(error || 'unknown error');
76
+ return { ...DEFAULT_AGY_CAPABILITIES, probeError: message };
77
+ }
78
+ export function detectAgyCapabilities(binary = 'agy') {
79
+ const key = binary || 'agy';
80
+ const mtimeMs = binaryMtimeMs(key);
81
+ const cached = cache.get(key);
82
+ if (cached && cached.mtimeMs === mtimeMs)
83
+ return cached.capabilities;
84
+ let capabilities;
85
+ try {
86
+ const helpText = runAgyText(key, ['--help']);
87
+ const versionText = (() => {
88
+ try {
89
+ return runAgyText(key, ['--version']);
90
+ }
91
+ catch {
92
+ return '';
93
+ }
94
+ })();
95
+ capabilities = parseAgyHelp(helpText, versionText);
96
+ }
97
+ catch (error) {
98
+ capabilities = fallbackCapabilities(error);
99
+ }
100
+ cache.set(key, { mtimeMs, capabilities });
101
+ return capabilities;
102
+ }
103
+ //# sourceMappingURL=agy-capabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agy-capabilities.js","sourceRoot":"","sources":["../../../src/agent/agy-capabilities.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { agyTranscriptStepKey, classifyAgyTranscriptRow, parseTranscriptLine, readTranscriptDelta, resolveAgyTranscriptPathForCurrentTurn, resolveAgyTranscriptPath, } from './agy-transcript.js';
2
+ import { applyAgyBootstrapAcceptanceFromTranscriptLine } from './agy-bootstrap.js';
2
3
  const POLL_MS = 800;
3
4
  const WAIT_PATH_MS = 120_000;
4
5
  const CURRENT_TURN_LOOKBACK_MS = 5_000;
@@ -97,10 +98,17 @@ export function startAgyTranscriptWatcher(options) {
97
98
  const startedAt = Date.now();
98
99
  const minCreatedAtMs = startedAt - CURRENT_TURN_LOOKBACK_MS;
99
100
  let lastRetargetScanAt = 0;
101
+ const resetBootstrapAcceptance = () => {
102
+ options.ctx.agyBootstrapAccepted = false;
103
+ options.ctx.agyBootstrapAcceptanceMode = options.ctx.agyBootstrapSentinel
104
+ ? 'pending'
105
+ : 'not-applicable';
106
+ };
100
107
  const resetSelection = () => {
101
108
  transcriptPath = null;
102
109
  conversationId = null;
103
110
  offset = 0;
111
+ resetBootstrapAcceptance();
104
112
  options.ctx.agyFinalPlannerSeen = false;
105
113
  options.ctx.agyFinalPlannerText = undefined;
106
114
  options.ctx.agyLastTranscriptError = undefined;
@@ -122,6 +130,7 @@ export function startAgyTranscriptWatcher(options) {
122
130
  transcriptPath = effectiveResolved.transcriptPath;
123
131
  conversationId = effectiveResolved.conversationId ?? currentSessionId ?? null;
124
132
  offset = 0;
133
+ resetBootstrapAcceptance();
125
134
  options.ctx.agyFinalPlannerSeen = false;
126
135
  options.ctx.agyFinalPlannerText = undefined;
127
136
  options.ctx.agyLastTranscriptError = undefined;
@@ -142,6 +151,7 @@ export function startAgyTranscriptWatcher(options) {
142
151
  const delta = readTranscriptDelta(transcriptPath, offset);
143
152
  offset = delta.offset;
144
153
  for (const line of delta.lines) {
154
+ applyAgyBootstrapAcceptanceFromTranscriptLine(options.ctx, line, minCreatedAtMs);
145
155
  updateFinalPlannerFlag(options.ctx, line, minCreatedAtMs);
146
156
  applyTranscriptTool(options.ctx, line, minCreatedAtMs, options.onEmit, options.agentLabel, options.cli, options.empTag, options.traceAudience, conversationId);
147
157
  }
@@ -174,6 +184,7 @@ export function startAgyTranscriptWatcher(options) {
174
184
  try {
175
185
  const delta = readTranscriptDelta(transcriptPath, offset);
176
186
  for (const line of delta.lines) {
187
+ applyAgyBootstrapAcceptanceFromTranscriptLine(options.ctx, line, minCreatedAtMs);
177
188
  updateFinalPlannerFlag(options.ctx, line, minCreatedAtMs);
178
189
  applyTranscriptTool(options.ctx, line, minCreatedAtMs, options.onEmit, options.agentLabel, options.cli, options.empTag, options.traceAudience, conversationId);
179
190
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agy-transcript-watcher.js","sourceRoot":"","sources":["../../../src/agent/agy-transcript-watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agy-transcript-watcher.js","sourceRoot":"","sources":["../../../src/agent/agy-transcript-watcher.ts"],"names":[],"mappings":"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"}