cli-jaw 2.2.3-preview.20260625152056 → 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.
- package/README.ja.md +13 -9
- package/README.ko.md +5 -5
- package/README.md +7 -6
- package/README.zh-CN.md +5 -5
- package/dist/bin/commands/goal.js +14 -1
- package/dist/bin/commands/goal.js.map +1 -1
- package/dist/src/agent/agy-bootstrap.js +104 -0
- package/dist/src/agent/agy-bootstrap.js.map +1 -0
- package/dist/src/agent/agy-capabilities.js +103 -0
- package/dist/src/agent/agy-capabilities.js.map +1 -0
- package/dist/src/agent/agy-transcript-watcher.js +11 -0
- package/dist/src/agent/agy-transcript-watcher.js.map +1 -1
- package/dist/src/agent/args.js +32 -13
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/events/claude.js +8 -4
- package/dist/src/agent/events/claude.js.map +1 -1
- package/dist/src/agent/events/helpers.js +13 -0
- package/dist/src/agent/events/helpers.js.map +1 -1
- package/dist/src/agent/events/index.js +24 -4
- package/dist/src/agent/events/index.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +25 -4
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/spawn/queue.js +11 -5
- package/dist/src/agent/spawn/queue.js.map +1 -1
- package/dist/src/agent/spawn.js +49 -13
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/browser/web-ai/ax-snapshot.js +131 -8
- package/dist/src/browser/web-ai/ax-snapshot.js.map +1 -1
- package/dist/src/browser/web-ai/candidate-reconcile.js +61 -0
- package/dist/src/browser/web-ai/candidate-reconcile.js.map +1 -0
- package/dist/src/browser/web-ai/capability-probe.js +92 -0
- package/dist/src/browser/web-ai/capability-probe.js.map +1 -0
- package/dist/src/browser/web-ai/chatgpt-archive.js +90 -0
- package/dist/src/browser/web-ai/chatgpt-archive.js.map +1 -0
- package/dist/src/browser/web-ai/chatgpt-attachments.js +70 -3
- package/dist/src/browser/web-ai/chatgpt-attachments.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-composer.js +97 -11
- package/dist/src/browser/web-ai/chatgpt-composer.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-deep-research-report.js +63 -0
- package/dist/src/browser/web-ai/chatgpt-deep-research-report.js.map +1 -0
- package/dist/src/browser/web-ai/chatgpt-deep-research.js +76 -13
- package/dist/src/browser/web-ai/chatgpt-deep-research.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-files.js +328 -0
- package/dist/src/browser/web-ai/chatgpt-files.js.map +1 -0
- package/dist/src/browser/web-ai/chatgpt-images.js +281 -0
- package/dist/src/browser/web-ai/chatgpt-images.js.map +1 -0
- package/dist/src/browser/web-ai/chatgpt-model.js +35 -14
- package/dist/src/browser/web-ai/chatgpt-model.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-multi-turn.js +28 -4
- package/dist/src/browser/web-ai/chatgpt-multi-turn.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-project-sources.js +191 -0
- package/dist/src/browser/web-ai/chatgpt-project-sources.js.map +1 -0
- package/dist/src/browser/web-ai/chatgpt-response-dom.js +64 -0
- package/dist/src/browser/web-ai/chatgpt-response-dom.js.map +1 -0
- package/dist/src/browser/web-ai/chatgpt-response-observer.js +170 -0
- package/dist/src/browser/web-ai/chatgpt-response-observer.js.map +1 -0
- package/dist/src/browser/web-ai/chatgpt-response.js +99 -60
- package/dist/src/browser/web-ai/chatgpt-response.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-tools.js +48 -1
- package/dist/src/browser/web-ai/chatgpt-tools.js.map +1 -1
- package/dist/src/browser/web-ai/chatgpt-upload-surface.js +202 -0
- package/dist/src/browser/web-ai/chatgpt-upload-surface.js.map +1 -0
- package/dist/src/browser/web-ai/chatgpt.js +93 -12
- package/dist/src/browser/web-ai/chatgpt.js.map +1 -1
- package/dist/src/browser/web-ai/code-artifact.js +32 -10
- package/dist/src/browser/web-ai/code-artifact.js.map +1 -1
- package/dist/src/browser/web-ai/code-mode.js +40 -4
- package/dist/src/browser/web-ai/code-mode.js.map +1 -1
- package/dist/src/browser/web-ai/contract-audit.js +7 -22
- package/dist/src/browser/web-ai/contract-audit.js.map +1 -1
- package/dist/src/browser/web-ai/control-summary.js +43 -0
- package/dist/src/browser/web-ai/control-summary.js.map +1 -0
- package/dist/src/browser/web-ai/copy-markdown.js +10 -0
- package/dist/src/browser/web-ai/copy-markdown.js.map +1 -1
- package/dist/src/browser/web-ai/diagnostics.js +7 -0
- package/dist/src/browser/web-ai/diagnostics.js.map +1 -1
- package/dist/src/browser/web-ai/errors.js +17 -0
- package/dist/src/browser/web-ai/errors.js.map +1 -1
- package/dist/src/browser/web-ai/gemini-capabilities.js +46 -0
- package/dist/src/browser/web-ai/gemini-capabilities.js.map +1 -0
- package/dist/src/browser/web-ai/gemini-live.js +6 -0
- package/dist/src/browser/web-ai/gemini-live.js.map +1 -1
- package/dist/src/browser/web-ai/gemini-model.js +41 -0
- package/dist/src/browser/web-ai/gemini-model.js.map +1 -1
- package/dist/src/browser/web-ai/grok-capabilities.js +41 -0
- package/dist/src/browser/web-ai/grok-capabilities.js.map +1 -0
- package/dist/src/browser/web-ai/grok-live.js +5 -0
- package/dist/src/browser/web-ai/grok-live.js.map +1 -1
- package/dist/src/browser/web-ai/grok-model.js +38 -0
- package/dist/src/browser/web-ai/grok-model.js.map +1 -1
- package/dist/src/browser/web-ai/index.js +10 -0
- package/dist/src/browser/web-ai/index.js.map +1 -1
- package/dist/src/browser/web-ai/navigation-ready.js +123 -0
- package/dist/src/browser/web-ai/navigation-ready.js.map +1 -0
- package/dist/src/browser/web-ai/observation-bundle.js +26 -1
- package/dist/src/browser/web-ai/observation-bundle.js.map +1 -1
- package/dist/src/browser/web-ai/provider-adapter.js.map +1 -1
- package/dist/src/browser/web-ai/session-artifacts.js +156 -0
- package/dist/src/browser/web-ai/session-artifacts.js.map +1 -0
- package/dist/src/browser/web-ai/session-doctor.js +101 -0
- package/dist/src/browser/web-ai/session-doctor.js.map +1 -0
- package/dist/src/browser/web-ai/session-store.js +94 -17
- package/dist/src/browser/web-ai/session-store.js.map +1 -1
- package/dist/src/browser/web-ai/session.js +73 -0
- package/dist/src/browser/web-ai/session.js.map +1 -1
- package/dist/src/browser/web-ai/tab-inspect.js +143 -0
- package/dist/src/browser/web-ai/tab-inspect.js.map +1 -0
- package/dist/src/browser/web-ai/tab-lease-store.js +114 -4
- package/dist/src/browser/web-ai/tab-lease-store.js.map +1 -1
- package/dist/src/browser/web-ai/tier-timeout.js +58 -0
- package/dist/src/browser/web-ai/tier-timeout.js.map +1 -0
- package/dist/src/browser/web-ai/vendor-editor-contract.js +6 -3
- package/dist/src/browser/web-ai/vendor-editor-contract.js.map +1 -1
- package/dist/src/browser/web-ai/watcher-lock.js +125 -0
- package/dist/src/browser/web-ai/watcher-lock.js.map +1 -0
- package/dist/src/browser/web-ai/watcher.js +23 -4
- package/dist/src/browser/web-ai/watcher.js.map +1 -1
- package/dist/src/cli/handlers-workflows.js +14 -3
- package/dist/src/cli/handlers-workflows.js.map +1 -1
- package/dist/src/core/cli-detection.js +2 -3
- package/dist/src/core/cli-detection.js.map +1 -1
- package/dist/src/core/settings-merge.js +2 -2
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/goal/heartbeat.js +13 -7
- package/dist/src/goal/heartbeat.js.map +1 -1
- package/dist/src/goal/pause-gate.js +22 -0
- package/dist/src/goal/pause-gate.js.map +1 -0
- package/dist/src/goal/store.js +5 -0
- package/dist/src/goal/store.js.map +1 -1
- package/dist/src/manager/lifecycle.js +2 -1
- package/dist/src/manager/lifecycle.js.map +1 -1
- package/dist/src/manager/preview-origin-proxy.js +36 -6
- package/dist/src/manager/preview-origin-proxy.js.map +1 -1
- package/dist/src/manager/proxy.js +25 -4
- package/dist/src/manager/proxy.js.map +1 -1
- package/dist/src/manager/registry.js +36 -3
- package/dist/src/manager/registry.js.map +1 -1
- package/dist/src/manager/routes/runtime-monitor.js +2 -0
- package/dist/src/manager/routes/runtime-monitor.js.map +1 -1
- package/dist/src/manager/routes/telegram-hub.js +120 -0
- package/dist/src/manager/routes/telegram-hub.js.map +1 -0
- package/dist/src/manager/server.js +4 -0
- package/dist/src/manager/server.js.map +1 -1
- package/dist/src/manager/telegram-hub/hub-bot.js +409 -0
- package/dist/src/manager/telegram-hub/hub-bot.js.map +1 -0
- package/dist/src/manager/telegram-hub/routing-store.js +24 -0
- package/dist/src/manager/telegram-hub/routing-store.js.map +1 -0
- package/dist/src/manager/telegram-hub/types.js +5 -0
- package/dist/src/manager/telegram-hub/types.js.map +1 -0
- package/dist/src/messaging/thread-target.js +21 -0
- package/dist/src/messaging/thread-target.js.map +1 -0
- package/dist/src/orchestrator/gateway.js +10 -7
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +19 -0
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/worker-registry.js.map +1 -1
- package/dist/src/routes/command.js +58 -2
- package/dist/src/routes/command.js.map +1 -1
- package/dist/src/routes/goal.js +6 -3
- package/dist/src/routes/goal.js.map +1 -1
- package/dist/src/routes/messaging.js +7 -2
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/orchestrate.js +2 -0
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/telegram/bot.js +59 -4
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/telegram/forwarder.js +4 -1
- package/dist/src/telegram/forwarder.js.map +1 -1
- package/dist/src/telegram/hub-callback.js +21 -0
- package/dist/src/telegram/hub-callback.js.map +1 -0
- package/dist/src/telegram/rich-message.js +20 -0
- package/dist/src/telegram/rich-message.js.map +1 -0
- package/dist/src/telegram/telegram-file.js +4 -3
- package/dist/src/telegram/telegram-file.js.map +1 -1
- package/dist/src/workflows/status.js +14 -4
- package/dist/src/workflows/status.js.map +1 -1
- package/package.json +5 -5
- package/public/dist/assets/{Agent-wJtedbz4.js → Agent-Ci12HWhE.js} +1 -1
- package/public/dist/assets/{Heartbeat-CjgQ-0p8.js → Heartbeat-D-Rfp094.js} +1 -1
- package/public/dist/assets/{Memory-6o-wyhAT.js → Memory-VH4ZJCMW.js} +1 -1
- package/public/dist/assets/ModelProvider-_tUCghOF.js +1 -0
- package/public/dist/assets/TelegramHub-CuJoPPib.js +1 -0
- package/public/dist/assets/{agent-meta-g8UDRdWA.js → agent-meta-DqBTGRRQ.js} +1 -1
- package/public/dist/assets/{app-CLrfEHAk.js → app-DaORcAyD.js} +4 -4
- package/public/dist/assets/bgtask-badge-B3HLOZae.js +1 -0
- package/public/dist/assets/{bgtask-badge-xWbw-l-0.js → bgtask-badge-BtUXEe1T.js} +1 -1
- package/public/dist/assets/constants-DkJ3E63Y.js +1 -0
- package/public/dist/assets/{employees-C5GPj3d3.js → employees-CZSyvJbx.js} +1 -1
- package/public/dist/assets/manager-D3waO_XX.css +1 -0
- package/public/dist/assets/manager-DB5qTw1A.js +13 -0
- package/public/dist/assets/memory-BEruUlfu.js +1 -0
- package/public/dist/assets/{memory-CcnjBuo-.js → memory-cWI_Htbn.js} +1 -1
- package/public/dist/assets/message-history-DU1V9ZAW.js +142 -0
- package/public/dist/assets/message-history-tjkyOp_K.js +1 -0
- package/public/dist/assets/{render-C2g_qvCg.js → render-Bp8eyqCf.js} +1 -1
- package/public/dist/assets/settings-B-GgyJZI.js +1 -0
- package/public/dist/assets/{settings-DxClXVD0.js → settings-DLkP7qRV.js} +1 -1
- package/public/dist/assets/{settings-core-CSUV4-QG.js → settings-core-B5XRRNcX.js} +1 -1
- package/public/dist/assets/settings-core-Cw1av-Ox.js +1 -0
- package/public/dist/assets/{sidebar-CJz_SnMW.js → sidebar-CsogFOse.js} +3 -3
- package/public/dist/assets/skills-CLcoop6W.js +1 -0
- package/public/dist/assets/{skills-PKg2h1N4.js → skills-Dmf4v9rj.js} +1 -1
- package/public/dist/assets/slash-commands-DY6-hzq6.js +1 -0
- package/public/dist/assets/{slash-commands-FMOOfedZ.js → slash-commands-vcf7FuPD.js} +1 -1
- package/public/dist/assets/{trace-drawer-BoU1ucw7.js → trace-drawer-DuQQ0SNq.js} +1 -1
- package/public/dist/assets/{ui-BX-IfLze.js → ui-BKYuBdZE.js} +1 -1
- package/public/dist/assets/ui-CqlGwgUo.js +1 -0
- package/public/dist/index.html +1 -1
- package/public/dist/manager/index.html +2 -2
- package/public/js/constants.ts +2 -3
- package/public/js/features/process-block.ts +61 -9
- package/public/manager/src/code/code-composer.css +1 -0
- package/public/manager/src/code/code.css +7 -2
- package/public/manager/src/dashboard-settings/DashboardSettingsSidebar.tsx +6 -2
- package/public/manager/src/dashboard-settings/DashboardSettingsWorkspace.tsx +91 -2
- package/public/manager/src/goal-status/GoalPabcdStatusPanel.tsx +9 -1
- package/public/manager/src/goal-status/goal-pabcd-status-client.ts +9 -0
- package/public/manager/src/settings/SettingsShell.tsx +1 -0
- package/public/manager/src/settings/SettingsSidebar.tsx +1 -0
- package/public/manager/src/settings/pages/TelegramHub.tsx +179 -0
- package/public/manager/src/settings/pages/components/PerCliRow.tsx +23 -13
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +3 -1
- package/public/manager/src/settings/types.ts +1 -0
- package/public/manager/src/settings-shell.css +11 -0
- package/public/sw.js +1 -1
- package/scripts/bundle-sidecar.sh +6 -1
- package/public/dist/assets/ModelProvider-CNu6WOjM.js +0 -1
- package/public/dist/assets/bgtask-badge-4OjtCvDq.js +0 -1
- package/public/dist/assets/constants-CCiCctGV.js +0 -1
- package/public/dist/assets/manager-Ceg2x8D0.js +0 -13
- package/public/dist/assets/manager-CwAlpgV7.css +0 -1
- package/public/dist/assets/memory-B1beDKbo.js +0 -1
- package/public/dist/assets/message-history-BSWJwi__.js +0 -142
- package/public/dist/assets/message-history-CzaziSe8.js +0 -1
- package/public/dist/assets/settings-Dst1mUjn.js +0 -1
- package/public/dist/assets/settings-core-BW5mtFPE.js +0 -1
- package/public/dist/assets/skills-B2io6S_4.js +0 -1
- package/public/dist/assets/slash-commands-D1IS00Eg.js +0 -1
- package/public/dist/assets/ui-C-al0etg.js +0 -1
- /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
|
[](https://npmjs.com/package/cli-jaw)
|
|
8
|
-
[](https://github.com/lidge-jun/cli-jaw/releases)
|
|
9
9
|
[](https://typescriptlang.org)
|
|
10
10
|
[](https://nodejs.org)
|
|
11
11
|
[](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` 実行時に確認 |
|
|
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
|
|
258
|
-
| **Gemini** | `gemini-3
|
|
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
|
-
| **
|
|
261
|
-
| **
|
|
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 —
|
|
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 #
|
|
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
|
[](https://npmjs.com/package/cli-jaw)
|
|
8
|
-
[](https://github.com/lidge-jun/cli-jaw/releases)
|
|
9
9
|
[](https://typescriptlang.org)
|
|
10
10
|
[](https://nodejs.org)
|
|
11
11
|
[](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` 실행 시 확인 |
|
|
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
|
|
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 — 음성을 텍스트로 자동 변환), 파일/사진 업로드, 슬래시 명령어(`/
|
|
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 #
|
|
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
|
[](https://npmjs.com/package/cli-jaw)
|
|
8
|
-
[](https://github.com/lidge-jun/cli-jaw/releases)
|
|
9
9
|
[](https://typescriptlang.org)
|
|
10
10
|
[](https://nodejs.org)
|
|
11
11
|
[](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
|
|
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
|
|
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 (`/
|
|
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 #
|
|
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
|
[](https://npmjs.com/package/cli-jaw)
|
|
8
|
-
[](https://github.com/lidge-jun/cli-jaw/releases)
|
|
9
9
|
[](https://typescriptlang.org)
|
|
10
10
|
[](https://nodejs.org)
|
|
11
11
|
[](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` 在运行时检查 |
|
|
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` 显式恢复进行中的 worklog
|
|
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——语音转文字
|
|
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 #
|
|
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":";AACA,oHAAoH;AACpH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;IAAE,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B9C,CAAC,CAAC;AAEH,YAAY,EAAE,CAAC;AAEf,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;AAChD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAE5C,SAAS,cAAc,CAAC,MAAgB,EAAE,IAAY;IAClD,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,GAAG,GAAG,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvD,OAAO;QACH,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;QAC5B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,SAAS;QAC1D,OAAO,EAAE,IAAI;KAChB,CAAC;AACN,CAAC;AAED,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAChC,MAAM,eAAe,CAAC,IAAI,CAAC,CAAC;AAE5B,IAAI,CAAC;IACD,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAA6B,CAAC;QACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YAAC,OAAO,CAAC,KAAK,CAAE,IAAI,CAAC,OAAO,CAAY,IAAI,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QACtG,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAmC,CAAC;QAC5D,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;QAC/D,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;YAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,CAAC;
|
|
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":"AACA,OAAO,EACH,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,mBAAmB,EACnB,sCAAsC,EACtC,wBAAwB,GAC3B,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"agy-transcript-watcher.js","sourceRoot":"","sources":["../../../src/agent/agy-transcript-watcher.ts"],"names":[],"mappings":"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"}
|