cli-jaw 2.0.3 → 2.0.4
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 +6 -2
- package/README.ko.md +6 -2
- package/README.md +6 -2
- package/dist/src/agent/alert-escalation.js +12 -1
- package/dist/src/agent/alert-escalation.js.map +1 -1
- package/dist/src/agent/error-classifier.js +14 -8
- package/dist/src/agent/error-classifier.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +81 -4
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/session-persistence.js +2 -0
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/spawn.js +70 -9
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/browser/connection.js +69 -15
- package/dist/src/browser/connection.js.map +1 -1
- package/dist/src/browser/runtime-diagnostics.js +39 -0
- package/dist/src/browser/runtime-diagnostics.js.map +1 -1
- package/dist/src/cli/compact.js +5 -1
- package/dist/src/cli/compact.js.map +1 -1
- package/dist/src/core/compact.js +5 -1
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/manager/lifecycle.js +1 -1
- package/dist/src/manager/lifecycle.js.map +1 -1
- package/dist/src/manager/notes/routes.js +7 -0
- package/dist/src/manager/notes/routes.js.map +1 -1
- package/dist/src/manager/notes/search.js +282 -0
- package/dist/src/manager/notes/search.js.map +1 -0
- package/dist/src/manager/preview-origin-proxy.js +12 -2
- package/dist/src/manager/preview-origin-proxy.js.map +1 -1
- package/dist/src/memory/bootstrap.js +8 -1
- package/dist/src/memory/bootstrap.js.map +1 -1
- package/dist/src/memory/indexing.js +221 -134
- package/dist/src/memory/indexing.js.map +1 -1
- package/dist/src/memory/keyword-expand.js +26 -4
- package/dist/src/memory/keyword-expand.js.map +1 -1
- package/dist/src/memory/reflect.js +119 -8
- package/dist/src/memory/reflect.js.map +1 -1
- package/dist/src/memory/synonyms.js +60 -0
- package/dist/src/memory/synonyms.js.map +1 -0
- package/dist/src/orchestrator/gateway.js +1 -1
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/pipeline.js +8 -3
- package/dist/src/orchestrator/pipeline.js.map +1 -1
- package/dist/src/orchestrator/state-machine.js +12 -2
- package/dist/src/orchestrator/state-machine.js.map +1 -1
- package/package.json +1 -1
- package/public/dist/assets/{MilkdownWysiwygEditor-Cm3uXfWf.js → MilkdownWysiwygEditor-DIebNZF7.js} +1 -1
- package/public/dist/assets/{app-Be58Cs3Y.js → app-DJ8ys0j5.js} +4 -4
- package/public/dist/assets/{employees-CxdghzoD.js → employees-RJ_wRL09.js} +1 -1
- package/public/dist/assets/insert-image-markdown-kk053MvN.js +22 -0
- package/public/dist/assets/manager-DAe38I94.js +25 -0
- package/public/dist/assets/{manager-DEiyrWDP.css → manager-fQR46YFa.css} +1 -1
- package/public/dist/assets/{memory-CsMNkYtv.js → memory-dJGp6QBv.js} +1 -1
- package/public/dist/assets/memory-w3yQettQ.js +1 -0
- package/public/dist/assets/{render-DGQX46ei.js → render-KVGsbWj1.js} +1 -1
- package/public/dist/assets/{settings-BH213Yv3.js → settings-C7QWaUHB.js} +1 -1
- package/public/dist/assets/settings-DmUCo6lz.js +1 -0
- package/public/dist/assets/{skills-CQtCtHPA.js → skills-CHkTgM7L.js} +1 -1
- package/public/dist/assets/skills-SxG_nfwn.js +1 -0
- package/public/dist/assets/{slash-commands-Dzk1xHWS.js → slash-commands-2ThyUGvX.js} +1 -1
- package/public/dist/assets/slash-commands-BxJkKdhB.js +1 -0
- package/public/dist/assets/{trace-drawer-SRKcfm2S.js → trace-drawer-Dis80M6X.js} +1 -1
- package/public/dist/assets/ui-LhD1VfQs.js +1 -0
- package/public/dist/assets/ui-kS1ZJfez.js +143 -0
- package/public/dist/assets/{ws-CTHQFzM1.js → ws-DVE3eWRj.js} +2 -2
- package/public/dist/index.html +1 -1
- package/public/dist/manager/index.html +2 -2
- package/public/js/features/chat.ts +6 -1
- package/public/js/features/process-block.ts +34 -6
- package/public/js/features/process-step-match.ts +2 -1
- package/public/js/ui.ts +100 -13
- package/public/js/virtual-scroll-bootstrap.ts +8 -1
- package/public/js/virtual-scroll.ts +83 -13
- package/public/js/ws.ts +3 -3
- package/public/locales/en.json +2 -1
- package/public/locales/ja.json +2 -1
- package/public/locales/ko.json +2 -1
- package/public/locales/zh.json +2 -1
- package/public/manager/src/App.tsx +10 -3
- package/public/manager/src/api.ts +17 -0
- package/public/manager/src/main.tsx +1 -0
- package/public/manager/src/notes/NotesFileTree.tsx +14 -22
- package/public/manager/src/notes/NotesSearchSidebar.tsx +118 -0
- package/public/manager/src/notes/NotesSidebar.tsx +65 -23
- package/public/manager/src/notes/NotesWorkspace.tsx +13 -0
- package/public/manager/src/notes/notes-api.ts +1 -0
- package/public/manager/src/notes/notes-search.css +90 -0
- package/public/manager/src/notes/notes-types.ts +2 -0
- package/public/manager/src/preview.ts +20 -1
- package/public/manager/src/types.ts +8 -0
- package/scripts/install-wsl.sh +48 -14
- package/public/dist/assets/insert-image-markdown-DIEa-zjk.js +0 -22
- package/public/dist/assets/manager-UEXd1_9T.js +0 -25
- package/public/dist/assets/memory-DXad_DPO.js +0 -1
- package/public/dist/assets/settings-DXT87G2U.js +0 -1
- package/public/dist/assets/skills-5o_1v0nz.js +0 -1
- package/public/dist/assets/slash-commands-D4-hrrmh.js +0 -1
- package/public/dist/assets/ui-CdRKN2S6.js +0 -141
- package/public/dist/assets/ui-n43jmg_f.js +0 -1
package/README.ja.md
CHANGED
|
@@ -145,13 +145,17 @@ copilot login # or: claude auth / codex login / gemini
|
|
|
145
145
|
jaw serve # → http://localhost:3457
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
+
インストーラーは npm の global prefix をユーザーローカルの `~/.local` に設定し、
|
|
149
|
+
`~/.local/bin` を `~/.bashrc` と `~/.profile` の両方に登録します。新しい
|
|
150
|
+
Ubuntu シェルでも `jaw` と同梱 CLI ツールを検出できます。
|
|
151
|
+
|
|
148
152
|
<details>
|
|
149
153
|
<summary>WSL トラブルシューティング</summary>
|
|
150
154
|
|
|
151
155
|
| 症状 | 対処 |
|
|
152
156
|
|---|---|
|
|
153
157
|
| `unzip: command not found` | インストーラーを再実行 |
|
|
154
|
-
| `jaw: command not found` | `source ~/.bashrc` |
|
|
158
|
+
| `jaw: command not found` | `source ~/.bashrc` または `export PATH="$HOME/.local/bin:$PATH"` |
|
|
155
159
|
| Permission errors | `sudo chown -R $USER $(npm config get prefix)` |
|
|
156
160
|
|
|
157
161
|
</details>
|
|
@@ -510,7 +514,7 @@ npm test # Node.js ネイティブテストランナー
|
|
|
510
514
|
|
|
511
515
|
| 症状 | 対処 |
|
|
512
516
|
|---|---|
|
|
513
|
-
| `cli-jaw: command not found` | `npm install -g cli-jaw`
|
|
517
|
+
| `cli-jaw: command not found` | `npm install -g cli-jaw` を再実行。`~/.local/bin` または `npm bin -g` が `$PATH` に含まれているか確認 |
|
|
514
518
|
| `Error: node version` | Node.js 22+ にアップグレード: `nvm install 22` |
|
|
515
519
|
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native`(ネイティブモジュールの自動リビルド) |
|
|
516
520
|
| `EADDRINUSE: port 3457` | 別のインスタンスが起動中。`--port 3458` で回避 |
|
package/README.ko.md
CHANGED
|
@@ -131,13 +131,17 @@ copilot login # 또는: claude auth login / codex login / gemini
|
|
|
131
131
|
jaw serve # -> http://localhost:3457
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
+
설치 스크립트는 npm 전역 prefix를 사용자 로컬 경로(`~/.local`)로 맞추고
|
|
135
|
+
`~/.local/bin`을 `~/.bashrc`와 `~/.profile`에 모두 등록합니다. 그래서 새
|
|
136
|
+
Ubuntu 셸에서도 `jaw`와 함께 설치된 CLI 도구들을 바로 찾을 수 있습니다.
|
|
137
|
+
|
|
134
138
|
<details>
|
|
135
139
|
<summary>WSL 문제 해결</summary>
|
|
136
140
|
|
|
137
141
|
| 문제 | 해결 |
|
|
138
142
|
|---|---|
|
|
139
143
|
| `unzip: command not found` | 설치 스크립트를 다시 실행합니다 |
|
|
140
|
-
| `jaw: command not found` | `source ~/.bashrc` |
|
|
144
|
+
| `jaw: command not found` | `source ~/.bashrc` 또는 `export PATH="$HOME/.local/bin:$PATH"` 실행 |
|
|
141
145
|
| Permission 에러 | `sudo chown -R $USER $(npm config get prefix)` |
|
|
142
146
|
|
|
143
147
|
</details>
|
|
@@ -491,7 +495,7 @@ npm test # Node.js 네이티브 테스트 러너
|
|
|
491
495
|
|
|
492
496
|
| 문제 | 해결 방법 |
|
|
493
497
|
|---|---|
|
|
494
|
-
| `cli-jaw: command not found` | `npm install -g cli-jaw`를 다시 실행하세요. `npm bin -g`가 `$PATH`에 있는지 확인하세요 |
|
|
498
|
+
| `cli-jaw: command not found` | `npm install -g cli-jaw`를 다시 실행하세요. `~/.local/bin` 또는 `npm bin -g`가 `$PATH`에 있는지 확인하세요 |
|
|
495
499
|
| `Error: node version` | Node.js 22 이상으로 업그레이드: `nvm install 22` |
|
|
496
500
|
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native` 실행 (자동 재빌드) |
|
|
497
501
|
| `EADDRINUSE: port 3457` | 다른 인스턴스가 실행 중입니다. `--port 3458`을 사용하세요 |
|
package/README.md
CHANGED
|
@@ -131,13 +131,17 @@ source ~/.bashrc
|
|
|
131
131
|
jaw dashboard
|
|
132
132
|
```
|
|
133
133
|
|
|
134
|
+
The installer uses the user-local npm prefix (`~/.local`) and writes
|
|
135
|
+
`~/.local/bin` to both `~/.bashrc` and `~/.profile`, so new Ubuntu shells can
|
|
136
|
+
find `jaw` and the bundled CLI tools.
|
|
137
|
+
|
|
134
138
|
<details>
|
|
135
139
|
<summary>WSL Troubleshooting</summary>
|
|
136
140
|
|
|
137
141
|
| Problem | Fix |
|
|
138
142
|
|---|---|
|
|
139
143
|
| `unzip: command not found` | Rerun the installer |
|
|
140
|
-
| `jaw: command not found` | `source ~/.bashrc` |
|
|
144
|
+
| `jaw: command not found` | Run `source ~/.bashrc` or `export PATH="$HOME/.local/bin:$PATH"` |
|
|
141
145
|
| Permission errors | `sudo chown -R $USER $(npm config get prefix)` |
|
|
142
146
|
|
|
143
147
|
</details>
|
|
@@ -525,7 +529,7 @@ Architecture details: [ARCHITECTURE.md](docs/ARCHITECTURE.md) · Test coverage:
|
|
|
525
529
|
|
|
526
530
|
| Problem | Solution |
|
|
527
531
|
|---|---|
|
|
528
|
-
| `cli-jaw: command not found` | `npm install -g cli-jaw` again. Check `npm bin -g` is in `$PATH` |
|
|
532
|
+
| `cli-jaw: command not found` | `npm install -g cli-jaw` again. Check `~/.local/bin` or `npm bin -g` is in `$PATH` |
|
|
529
533
|
| `Error: node version` | Upgrade to Node.js 22+: `nvm install 22` |
|
|
530
534
|
| `NODE_MODULE_VERSION` mismatch | `npm run ensure:native` (auto-rebuilds native modules) |
|
|
531
535
|
| `EADDRINUSE: port 3457` | Another instance running. Use `--port 3458` or stop it first |
|
|
@@ -3,6 +3,17 @@ import { settings } from '../core/config.js';
|
|
|
3
3
|
import { sendChannelOutput } from '../messaging/send.js';
|
|
4
4
|
const errorHistory = new Map();
|
|
5
5
|
let lastAlertAt = 0;
|
|
6
|
+
function actionForErrorType(type) {
|
|
7
|
+
if (type === 'auth')
|
|
8
|
+
return 'CLI 로그인 상태 확인 필요';
|
|
9
|
+
if (type === 'model_capacity')
|
|
10
|
+
return 'Gemini Pro Preview capacity 부족 — Auto/Flash 전환 또는 잠시 후 재시도';
|
|
11
|
+
if (type === '429')
|
|
12
|
+
return '쿼터/모델 capacity 상태 확인 필요';
|
|
13
|
+
if (type === 'stall')
|
|
14
|
+
return 'CLI 응답 정지 — 프로세스/네트워크 상태 확인 필요';
|
|
15
|
+
return 'CLI 상태 및 최근 로그 확인 필요';
|
|
16
|
+
}
|
|
6
17
|
function getConfig() {
|
|
7
18
|
const cfg = settings["alertEscalation"] || {};
|
|
8
19
|
return {
|
|
@@ -30,7 +41,7 @@ export function recordError(cli, type) {
|
|
|
30
41
|
`━━━━━━━━━━━━━━━━━\n` +
|
|
31
42
|
`상태: ${lastType} ${recent.length}회 (${Math.round(cfg.windowMs / 60_000)}분)\n` +
|
|
32
43
|
`━━━━━━━━━━━━━━━━━\n` +
|
|
33
|
-
`조치:
|
|
44
|
+
`조치: ${actionForErrorType(lastType)}`;
|
|
34
45
|
broadcast('alert_escalation', { cli, message: msg, channels: cfg.channels });
|
|
35
46
|
}
|
|
36
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alert-escalation.js","sourceRoot":"","sources":["../../../src/agent/alert-escalation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAQzD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;AACtD,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB,SAAS,SAAS;IACd,MAAM,GAAG,GAAI,QAAoC,CAAC,iBAAiB,CAAwC,IAAI,EAAE,CAAC;IAClH,OAAO;QACH,OAAO,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK;QACjC,SAAS,EAAG,GAAG,CAAC,WAAW,CAAY,IAAI,CAAC;QAC5C,QAAQ,EAAG,GAAG,CAAC,UAAU,CAAY,IAAI,OAAO;QAChD,UAAU,EAAG,GAAG,CAAC,YAAY,CAAY,IAAI,SAAS;QACtD,QAAQ,EAAG,GAAG,CAAC,UAAU,CAAc,IAAI,CAAC,UAAU,CAAC;KAC1D,CAAC;AACN,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,IAAY;IACjD,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IACxB,IAAI,CAAC,GAAG,CAAC,OAAO;QAAE,OAAO;IAEzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAC5C,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC;IAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;IAClD,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAE9B,IAAI,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,GAAG,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;QACzE,WAAW,GAAG,GAAG,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC;QAC9D,MAAM,GAAG,GAAG,iBAAiB,GAAG,UAAU;YACtC,qBAAqB;YACrB,OAAO,QAAQ,IAAI,MAAM,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM;YAC7E,qBAAqB;YACrB,
|
|
1
|
+
{"version":3,"file":"alert-escalation.js","sourceRoot":"","sources":["../../../src/agent/alert-escalation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
// ─── Error Classification for Agent Exit ─────────────
|
|
2
|
-
export function classifyExitError(cli, code, stderrBuf, stallReason) {
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
export function classifyExitError(cli, code, stderrBuf, stallReason, diagnosticText = '') {
|
|
3
|
+
const combined = `${stderrBuf}\n${diagnosticText}`;
|
|
4
|
+
const isModelCapacity = cli === 'gemini'
|
|
5
|
+
&& (combined.includes('MODEL_CAPACITY_EXHAUSTED')
|
|
6
|
+
|| combined.includes('No capacity available for model'));
|
|
7
|
+
const is429 = /\b429\b/.test(combined)
|
|
8
|
+
|| combined.includes('RESOURCE_EXHAUSTED')
|
|
9
|
+
|| combined.includes('Too Many Requests');
|
|
10
|
+
const isAuth = combined.includes('auth') || combined.includes('credentials');
|
|
7
11
|
const isStall = !!stallReason;
|
|
8
12
|
let message = `${cli} 실행 실패 (exit ${code})`;
|
|
9
13
|
if (isStall)
|
|
10
14
|
message = `⏱️ 응답 없음 — ${stallReason}`;
|
|
15
|
+
else if (isModelCapacity)
|
|
16
|
+
message = '⚡ Gemini 모델 capacity 부족 — Auto로 임시 우회합니다';
|
|
11
17
|
else if (is429)
|
|
12
18
|
message = '⚡ API 용량 초과 (429)';
|
|
13
19
|
else if (isAuth)
|
|
14
20
|
message = '🔐 인증 오류 — CLI 로그인 상태를 확인해주세요';
|
|
15
|
-
else if (
|
|
16
|
-
message =
|
|
17
|
-
return { is429, isAuth, isStall, message };
|
|
21
|
+
else if (combined.trim())
|
|
22
|
+
message = combined.trim().slice(0, 200);
|
|
23
|
+
return { is429, isAuth, isStall, isModelCapacity, message };
|
|
18
24
|
}
|
|
19
25
|
//# sourceMappingURL=error-classifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-classifier.js","sourceRoot":"","sources":["../../../src/agent/error-classifier.ts"],"names":[],"mappings":"AAAA,wDAAwD;
|
|
1
|
+
{"version":3,"file":"error-classifier.js","sourceRoot":"","sources":["../../../src/agent/error-classifier.ts"],"names":[],"mappings":"AAAA,wDAAwD;AAUxD,MAAM,UAAU,iBAAiB,CAC7B,GAAW,EACX,IAAmB,EACnB,SAAiB,EACjB,WAAoB,EACpB,cAAc,GAAG,EAAE;IAEnB,MAAM,QAAQ,GAAG,GAAG,SAAS,KAAK,cAAc,EAAE,CAAC;IACnD,MAAM,eAAe,GAAG,GAAG,KAAK,QAAQ;WACjC,CACC,QAAQ,CAAC,QAAQ,CAAC,0BAA0B,CAAC;eAC1C,QAAQ,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAC1D,CAAC;IACN,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;WAC/B,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC;WACvC,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,CAAC,CAAC,WAAW,CAAC;IAE9B,IAAI,OAAO,GAAG,GAAG,GAAG,gBAAgB,IAAI,GAAG,CAAC;IAC5C,IAAI,OAAO;QAAE,OAAO,GAAG,cAAc,WAAW,EAAE,CAAC;SAC9C,IAAI,eAAe;QAAE,OAAO,GAAG,0CAA0C,CAAC;SAC1E,IAAI,KAAK;QAAE,OAAO,GAAG,mBAAmB,CAAC;SACzC,IAAI,MAAM;QAAE,OAAO,GAAG,+BAA+B,CAAC;SACtD,IAAI,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAElE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC;AAChE,CAAC"}
|
|
@@ -19,11 +19,17 @@ let _spawnAgent;
|
|
|
19
19
|
export function setSpawnAgent(fn) {
|
|
20
20
|
_spawnAgent = fn;
|
|
21
21
|
}
|
|
22
|
-
// Forward reference to setCurrentMainMeta — same reason.
|
|
23
22
|
let _setCurrentMainMeta = null;
|
|
24
23
|
export function setMainMetaHandler(fn) {
|
|
25
24
|
_setCurrentMainMeta = fn;
|
|
26
25
|
}
|
|
26
|
+
function isForcedGeminiProModel(model) {
|
|
27
|
+
const normalized = model.trim().toLowerCase();
|
|
28
|
+
return normalized !== ''
|
|
29
|
+
&& normalized !== 'default'
|
|
30
|
+
&& normalized !== 'auto'
|
|
31
|
+
&& normalized.includes('pro');
|
|
32
|
+
}
|
|
27
33
|
/**
|
|
28
34
|
* Unified post-exit handler for both ACP and CLI branches.
|
|
29
35
|
*
|
|
@@ -56,6 +62,7 @@ export async function handleAgentExit(params) {
|
|
|
56
62
|
ownerGeneration, forceNew, employeeSessionId: empSid,
|
|
57
63
|
sessionId: smokeSessionId, isFallback: opts._isFallback,
|
|
58
64
|
code, cli, model, resumeKey: params.resumeKey, effort: effortVal,
|
|
65
|
+
skipSessionPersist: opts._skipSessionPersist === true,
|
|
59
66
|
});
|
|
60
67
|
console.log(`[jaw:smoke] persisted session ${smokeSessionId.slice(0, 12)}... for continuation`);
|
|
61
68
|
}
|
|
@@ -117,6 +124,7 @@ export async function handleAgentExit(params) {
|
|
|
117
124
|
ownerGeneration, forceNew, employeeSessionId: empSid,
|
|
118
125
|
sessionId: persistedSessionId, isFallback: opts._isFallback,
|
|
119
126
|
code, wasKilled, cli, model, resumeKey: params.resumeKey, effort: effortVal,
|
|
127
|
+
skipSessionPersist: opts._skipSessionPersist === true,
|
|
120
128
|
})) {
|
|
121
129
|
console.log(`[jaw:session] saved ${cli} session=${persistedSessionId.slice(0, 12)}...${wasKilled ? ' (post-kill)' : ''}`);
|
|
122
130
|
}
|
|
@@ -153,7 +161,7 @@ export async function handleAgentExit(params) {
|
|
|
153
161
|
// Force a fresh session on next spawn to avoid stale resume.
|
|
154
162
|
if (mainManaged && !opts.internal && code === 0 && !ctx.cliNativeCompactDetected) {
|
|
155
163
|
const turns = ctx.turns ?? memoryFlushCounter;
|
|
156
|
-
if ((cli === 'codex' || cli === 'opencode') && turns > 15) {
|
|
164
|
+
if ((cli === 'codex' || cli === 'opencode' || cli === 'gemini') && turns > 15) {
|
|
157
165
|
console.log(`[jaw:compact] ${cli} exited after ${turns} turns — clearing session bucket for fresh start`);
|
|
158
166
|
try {
|
|
159
167
|
const bucket = resolveSessionBucket(cli, model);
|
|
@@ -219,8 +227,9 @@ export async function handleAgentExit(params) {
|
|
|
219
227
|
}
|
|
220
228
|
else if (mainManaged && code !== 0 && !wasKilled) {
|
|
221
229
|
// ─── Error handling ───
|
|
222
|
-
const
|
|
223
|
-
|
|
230
|
+
const diagnosticText = `${ctx.fullText}\n${ctx.traceLog.join('\n')}`;
|
|
231
|
+
const { is429, isStall, isModelCapacity, message: errMsg } = classifyExitError(cli, code, ctx.stderrBuf, ctx.stallReason, diagnosticText);
|
|
232
|
+
recordError(cli, isStall ? 'stall' : isModelCapacity ? 'model_capacity' : is429 ? '429' : 'error');
|
|
224
233
|
if (isResume && shouldInvalidateResumeSession(cli, code, ctx.stderrBuf, ctx.fullText)) {
|
|
225
234
|
if (empSid && opts.agentId) {
|
|
226
235
|
clearEmployeeSession.run(opts.agentId);
|
|
@@ -243,6 +252,74 @@ export async function handleAgentExit(params) {
|
|
|
243
252
|
processQueue();
|
|
244
253
|
return;
|
|
245
254
|
}
|
|
255
|
+
// ─── Gemini resumed capacity failure: clear stale vendor session and retry once ───
|
|
256
|
+
if (cli === 'gemini'
|
|
257
|
+
&& isModelCapacity
|
|
258
|
+
&& isResume
|
|
259
|
+
&& !opts.internal
|
|
260
|
+
&& !opts._isFallback
|
|
261
|
+
&& !opts._isCapacityFallback) {
|
|
262
|
+
const bucket = resolveSessionBucket(cli, model);
|
|
263
|
+
if (bucket)
|
|
264
|
+
clearSessionBucket.run(bucket);
|
|
265
|
+
console.log(`[jaw:gemini] resumed session capacity exhausted — cleared ${bucket || 'gemini'} bucket and retrying without resume`);
|
|
266
|
+
broadcast('agent_fallback', {
|
|
267
|
+
from: cli,
|
|
268
|
+
to: cli,
|
|
269
|
+
reason: `${errMsg} (retry without stale Gemini resume)`,
|
|
270
|
+
model,
|
|
271
|
+
fallbackModel: model,
|
|
272
|
+
...empTag,
|
|
273
|
+
}, isEmployee ? 'internal' : 'public');
|
|
274
|
+
finalizeTraceRun(ctx.traceRunId, 'error', errMsg);
|
|
275
|
+
const { promise: retryP } = _spawnAgent(prompt, {
|
|
276
|
+
...opts,
|
|
277
|
+
_skipResume: true,
|
|
278
|
+
_isCapacityFallback: true,
|
|
279
|
+
_skipInsert: true,
|
|
280
|
+
_skipSessionPersist: true,
|
|
281
|
+
});
|
|
282
|
+
retryP.then(resolve).catch(() => {
|
|
283
|
+
broadcast('agent_done', { text: `❌ ${errMsg} (Gemini fresh-session retry failed)`, error: true, origin, ...empTag }, isEmployee ? 'internal' : 'public');
|
|
284
|
+
resolve({ text: '', code: 1 });
|
|
285
|
+
if (mainManaged && !opts.internal)
|
|
286
|
+
processQueue();
|
|
287
|
+
});
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
// ─── Gemini model capacity: one-request Auto fallback, preserving configured model ───
|
|
291
|
+
if (cli === 'gemini'
|
|
292
|
+
&& isModelCapacity
|
|
293
|
+
&& isForcedGeminiProModel(model)
|
|
294
|
+
&& !opts.internal
|
|
295
|
+
&& !opts._isFallback
|
|
296
|
+
&& !opts._isCapacityFallback) {
|
|
297
|
+
console.log(`[jaw:gemini] ${model} capacity exhausted — retrying current request with Auto`);
|
|
298
|
+
broadcast('agent_fallback', {
|
|
299
|
+
from: cli,
|
|
300
|
+
to: cli,
|
|
301
|
+
reason: `${errMsg} (Auto fallback for this request only)`,
|
|
302
|
+
model,
|
|
303
|
+
fallbackModel: 'default',
|
|
304
|
+
...empTag,
|
|
305
|
+
}, isEmployee ? 'internal' : 'public');
|
|
306
|
+
finalizeTraceRun(ctx.traceRunId, 'error', errMsg);
|
|
307
|
+
const { promise: retryP } = _spawnAgent(prompt, {
|
|
308
|
+
...opts,
|
|
309
|
+
model: 'default',
|
|
310
|
+
_skipResume: true,
|
|
311
|
+
_isCapacityFallback: true,
|
|
312
|
+
_skipInsert: true,
|
|
313
|
+
_skipSessionPersist: true,
|
|
314
|
+
});
|
|
315
|
+
retryP.then(resolve).catch(() => {
|
|
316
|
+
broadcast('agent_done', { text: `❌ ${errMsg} (Auto fallback failed)`, error: true, origin, ...empTag }, isEmployee ? 'internal' : 'public');
|
|
317
|
+
resolve({ text: '', code: 1 });
|
|
318
|
+
if (mainManaged && !opts.internal)
|
|
319
|
+
processQueue();
|
|
320
|
+
});
|
|
321
|
+
return;
|
|
322
|
+
}
|
|
246
323
|
// ─── 429 delay retry (same engine, 1회만) ───
|
|
247
324
|
if (!opts.internal && !opts._isFallback && is429 && !opts._isRetry) {
|
|
248
325
|
console.log(`[jaw:retry] ${cli} 429 detected — waiting 10s before retry`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle-handler.js","sourceRoot":"","sources":["../../../src/agent/lifecycle-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle-handler.js","sourceRoot":"","sources":["../../../src/agent/lifecycle-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@ export function isCurrentSessionOwner(ownerGeneration) {
|
|
|
16
16
|
return ownerGeneration === sessionOwnershipGeneration;
|
|
17
17
|
}
|
|
18
18
|
export function shouldPersistMainSession(input) {
|
|
19
|
+
if (input.skipSessionPersist)
|
|
20
|
+
return false;
|
|
19
21
|
if (input.forceNew || input.employeeSessionId || !input.sessionId || input.isFallback)
|
|
20
22
|
return false;
|
|
21
23
|
// User-initiated kill (SIGTERM/SIGKILL) yields exit codes like 143/137/1 depending on
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-persistence.js","sourceRoot":"","sources":["../../../src/agent/session-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"session-persistence.js","sourceRoot":"","sources":["../../../src/agent/session-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAmBjD,IAAI,0BAA0B,GAAG,CAAC,CAAC;AAEnC,MAAM,UAAU,6BAA6B;IACzC,OAAO,0BAA0B,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC1C,0BAA0B,IAAI,CAAC,CAAC;IAChC,OAAO,0BAA0B,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,sCAAsC;IAClD,0BAA0B,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,eAAuB;IACzD,OAAO,eAAe,KAAK,0BAA0B,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAA8B;IACnE,IAAI,KAAK,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IACpG,sFAAsF;IACtF,sFAAsF;IACtF,iEAAiE;IACjE,IACI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;WAChE,CAAC,KAAK,CAAC,SAAS;QACrB,OAAO,KAAK,CAAC;IACf,OAAO,qBAAqB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC7D,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnD,aAAa,CAAC,GAAG,CACb,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,KAAK,EACX,KAAK,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,CAAC,IAAI,MAAM,EACtD,KAAK,CAAC,UAAU,IAAI,QAAQ,CAAC,YAAY,CAAC,IAAI,GAAG,EACjD,KAAK,CAAC,MAAM,CACf,CAAC;IACF,+EAA+E;IAC/E,+EAA+E;IAC/E,0BAA0B;IAC1B,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,MAAM,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QAC5B,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
package/dist/src/agent/spawn.js
CHANGED
|
@@ -7,7 +7,7 @@ import { spawn, execFileSync } from 'child_process';
|
|
|
7
7
|
import { broadcast } from '../core/bus.js';
|
|
8
8
|
import { settings, UPLOADS_DIR, detectCli, normalizeModelForCli } from '../core/config.js';
|
|
9
9
|
import { stripUndefined } from '../core/strip-undefined.js';
|
|
10
|
-
import { clearEmployeeSession, getSession, insertMessage, getRecentMessages, listQueuedMessages, insertQueuedMessage, deleteQueuedMessage, getSessionBucket, } from '../core/db.js';
|
|
10
|
+
import { clearEmployeeSession, getSession, insertMessage, getRecentMessages, listQueuedMessages, insertQueuedMessage, deleteQueuedMessage, getSessionBucket, clearSessionBucket, } from '../core/db.js';
|
|
11
11
|
import { getSystemPrompt, regenerateB } from '../prompt/builder.js';
|
|
12
12
|
import { extractSessionId, extractFromEvent, extractFromAcpUpdate, extractOutputChunk, logEventSummary, flushClaudeBuffers } from './events.js';
|
|
13
13
|
import { detectSmokeResponse } from './smoke-detector.js';
|
|
@@ -533,16 +533,16 @@ function buildHistoryBlock(currentPrompt, workingDir, maxSessions = 10, maxTotal
|
|
|
533
533
|
}
|
|
534
534
|
if (isCompactMarkerRow(row)) {
|
|
535
535
|
const summary = String(row.trace || '').trim();
|
|
536
|
-
if (summary && charCount + summary.length <= maxTotalChars) {
|
|
536
|
+
if (summary && !isStaleWorklogHistoryArtifact(summary) && charCount + summary.length <= maxTotalChars) {
|
|
537
537
|
blocks.push(summary);
|
|
538
538
|
}
|
|
539
539
|
break;
|
|
540
540
|
}
|
|
541
541
|
let entry;
|
|
542
|
-
if (content) {
|
|
542
|
+
if (content && !isStaleWorklogHistoryArtifact(content)) {
|
|
543
543
|
entry = `[${role || 'user'}] ${content}`;
|
|
544
544
|
}
|
|
545
|
-
else if (role === 'assistant' && row.trace) {
|
|
545
|
+
else if (role === 'assistant' && row.trace && !isStaleWorklogHistoryArtifact(String(row.trace))) {
|
|
546
546
|
entry = `[assistant trace] ${String(row.trace).slice(0, 2000)}`;
|
|
547
547
|
}
|
|
548
548
|
else {
|
|
@@ -559,6 +559,17 @@ function buildHistoryBlock(currentPrompt, workingDir, maxSessions = 10, maxTotal
|
|
|
559
559
|
return '';
|
|
560
560
|
return `[Recent Context]\n${blocks.reverse().join('\n\n')}`;
|
|
561
561
|
}
|
|
562
|
+
function isStaleWorklogHistoryArtifact(text) {
|
|
563
|
+
const value = String(text || '');
|
|
564
|
+
return [
|
|
565
|
+
'Read the previous worklog and continue any incomplete tasks.',
|
|
566
|
+
'이 워크로그는 스텁이네요',
|
|
567
|
+
'이전 worklog 기준으로 이어서 진행합니다.',
|
|
568
|
+
'Continuing from previous worklog.',
|
|
569
|
+
'前回の worklog から続行しています。',
|
|
570
|
+
'正在从上一个 worklog 继续。',
|
|
571
|
+
].some(marker => value.includes(marker));
|
|
572
|
+
}
|
|
562
573
|
function withHistoryPrompt(prompt, historyBlock) {
|
|
563
574
|
const body = String(prompt || '');
|
|
564
575
|
if (!historyBlock)
|
|
@@ -582,7 +593,18 @@ export function shouldEmitHeartbeat(lastVisibleTs, heartbeatSent, gateMs = DEFAU
|
|
|
582
593
|
return false;
|
|
583
594
|
return (now - lastVisibleTs) > gateMs;
|
|
584
595
|
}
|
|
585
|
-
export function shouldResumeBucketSession(cli, requestedModel, bucketModel, requestedResumeKey, bucketResumeKey) {
|
|
596
|
+
export function shouldResumeBucketSession(cli, requestedModel, bucketModel, requestedResumeKey, bucketResumeKey, bucketUpdatedAt, nowMs = Date.now()) {
|
|
597
|
+
if (cli === 'gemini') {
|
|
598
|
+
if (!bucketModel)
|
|
599
|
+
return false;
|
|
600
|
+
if (isExpiredBucket(bucketUpdatedAt, GEMINI_RESUME_TTL_MS, nowMs))
|
|
601
|
+
return false;
|
|
602
|
+
const requested = normalizeGeminiResumeModel(requestedModel);
|
|
603
|
+
const bucket = normalizeGeminiResumeModel(bucketModel);
|
|
604
|
+
if (!requested || !bucket)
|
|
605
|
+
return false;
|
|
606
|
+
return requested === bucket;
|
|
607
|
+
}
|
|
586
608
|
if (cli === 'copilot' && bucketModel) {
|
|
587
609
|
return normalizeModelForCli(cli, requestedModel) === normalizeModelForCli(cli, bucketModel);
|
|
588
610
|
}
|
|
@@ -591,6 +613,31 @@ export function shouldResumeBucketSession(cli, requestedModel, bucketModel, requ
|
|
|
591
613
|
}
|
|
592
614
|
return true;
|
|
593
615
|
}
|
|
616
|
+
export const GEMINI_RESUME_TTL_MS = 72 * 60 * 60 * 1000;
|
|
617
|
+
const GEMINI_HISTORY_MAX_SESSIONS = 4;
|
|
618
|
+
const GEMINI_HISTORY_MAX_CHARS = 3000;
|
|
619
|
+
function normalizeGeminiResumeModel(model) {
|
|
620
|
+
const normalized = String(model || '').trim().toLowerCase();
|
|
621
|
+
if (!normalized || normalized === 'default' || normalized === 'auto')
|
|
622
|
+
return '';
|
|
623
|
+
return normalized;
|
|
624
|
+
}
|
|
625
|
+
function parseBucketUpdatedAt(value) {
|
|
626
|
+
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
627
|
+
return value < 10_000_000_000 ? value * 1000 : value;
|
|
628
|
+
}
|
|
629
|
+
const text = String(value || '').trim();
|
|
630
|
+
if (!text)
|
|
631
|
+
return null;
|
|
632
|
+
const parsed = Date.parse(text.includes('T') ? text : `${text.replace(' ', 'T')}Z`);
|
|
633
|
+
return Number.isFinite(parsed) ? parsed : null;
|
|
634
|
+
}
|
|
635
|
+
function isExpiredBucket(value, ttlMs, nowMs) {
|
|
636
|
+
const updatedAtMs = parseBucketUpdatedAt(value);
|
|
637
|
+
if (updatedAtMs === null)
|
|
638
|
+
return true;
|
|
639
|
+
return nowMs - updatedAtMs > ttlMs;
|
|
640
|
+
}
|
|
594
641
|
function cleanupEmployeeTmpDir(cwd, workingDir, label) {
|
|
595
642
|
if (cwd !== workingDir) {
|
|
596
643
|
try {
|
|
@@ -710,11 +757,12 @@ export function spawnAgent(prompt, opts = {}) {
|
|
|
710
757
|
const bucketSessionId = bucketRow?.session_id || null;
|
|
711
758
|
const bucketModel = typeof bucketRow?.model === 'string' ? bucketRow.model : null;
|
|
712
759
|
const bucketResumeKey = typeof bucketRow?.resume_key === 'string' ? bucketRow.resume_key : null;
|
|
760
|
+
const bucketUpdatedAt = bucketRow?.updated_at ?? null;
|
|
713
761
|
const resumeKey = buildSessionResumeKey(cli, spawnEnv);
|
|
714
|
-
const canResumeBucketSession = !bucketSessionId || shouldResumeBucketSession(cli, model, bucketModel, resumeKey, bucketResumeKey);
|
|
762
|
+
const canResumeBucketSession = !bucketSessionId || shouldResumeBucketSession(cli, model, bucketModel, resumeKey, bucketResumeKey, bucketUpdatedAt);
|
|
715
763
|
const isResume = empSid
|
|
716
764
|
? true
|
|
717
|
-
: (!forceNew && !!bucketSessionId && canResumeBucketSession);
|
|
765
|
+
: (!opts._skipResume && !forceNew && !!bucketSessionId && canResumeBucketSession);
|
|
718
766
|
// ─── Bootstrap compact 1-shot injection (Phase 52: bucket-aware) ───
|
|
719
767
|
// Vendor-agnostic: compact handler reset session_id and stored bootstrap in DB.
|
|
720
768
|
// Inject only on fresh main spawns (not employee/fallback/internal/resume).
|
|
@@ -728,7 +776,17 @@ export function spawnAgent(prompt, opts = {}) {
|
|
|
728
776
|
}
|
|
729
777
|
}
|
|
730
778
|
if (!empSid && !forceNew && bucketSessionId && !canResumeBucketSession) {
|
|
731
|
-
|
|
779
|
+
try {
|
|
780
|
+
if (currentBucket)
|
|
781
|
+
clearSessionBucket.run(currentBucket);
|
|
782
|
+
}
|
|
783
|
+
catch (e) {
|
|
784
|
+
console.warn('[jaw:resume] stale bucket clear failed:', e.message);
|
|
785
|
+
}
|
|
786
|
+
if (cli === 'gemini') {
|
|
787
|
+
console.log(`[jaw:resume] ${cli} stale bucket rejected for model ${bucketModel ?? 'none'} → ${model}; starting fresh session`);
|
|
788
|
+
}
|
|
789
|
+
else if (cli === 'opencode' && resumeKey !== (bucketResumeKey ?? null)) {
|
|
732
790
|
console.log(`[jaw:resume] ${cli} resume key changed ${bucketResumeKey ?? 'none'} → ${resumeKey}; starting fresh session`);
|
|
733
791
|
}
|
|
734
792
|
else {
|
|
@@ -747,7 +805,9 @@ export function spawnAgent(prompt, opts = {}) {
|
|
|
747
805
|
prompt = `${ts}\n${prompt}\n(need history? cli-jaw memory search "<keywords>" in "ENGLISH")`;
|
|
748
806
|
}
|
|
749
807
|
const resumeSessionId = empSid || (isResume ? bucketSessionId : null);
|
|
750
|
-
const historyBlock = !isResume && !opts._skipHistory
|
|
808
|
+
const historyBlock = !isResume && !opts._skipHistory
|
|
809
|
+
? buildHistoryBlock(prompt, settings["workingDir"], cli === 'gemini' ? GEMINI_HISTORY_MAX_SESSIONS : 10, cli === 'gemini' ? GEMINI_HISTORY_MAX_CHARS : 8000)
|
|
810
|
+
: '';
|
|
751
811
|
const promptForArgs = (cli === 'gemini' || cli === 'opencode')
|
|
752
812
|
? withHistoryPrompt(prompt, historyBlock)
|
|
753
813
|
: prompt;
|
|
@@ -1085,6 +1145,7 @@ export function spawnAgent(prompt, opts = {}) {
|
|
|
1085
1145
|
model,
|
|
1086
1146
|
resumeKey,
|
|
1087
1147
|
effort: cfg.effort || '',
|
|
1148
|
+
skipSessionPersist: opts._skipSessionPersist === true,
|
|
1088
1149
|
}))) {
|
|
1089
1150
|
console.log(`[jaw:session] saved ${cli} session=${persistedAcpSessionId.slice(0, 12)}... (pre-shutdown)`);
|
|
1090
1151
|
}
|