cli-jaw 2.0.2 → 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.
Files changed (99) hide show
  1. package/README.ja.md +6 -2
  2. package/README.ko.md +6 -2
  3. package/README.md +6 -2
  4. package/dist/src/agent/alert-escalation.js +12 -1
  5. package/dist/src/agent/alert-escalation.js.map +1 -1
  6. package/dist/src/agent/error-classifier.js +14 -8
  7. package/dist/src/agent/error-classifier.js.map +1 -1
  8. package/dist/src/agent/lifecycle-handler.js +81 -4
  9. package/dist/src/agent/lifecycle-handler.js.map +1 -1
  10. package/dist/src/agent/session-persistence.js +2 -0
  11. package/dist/src/agent/session-persistence.js.map +1 -1
  12. package/dist/src/agent/spawn.js +70 -9
  13. package/dist/src/agent/spawn.js.map +1 -1
  14. package/dist/src/browser/connection.js +69 -15
  15. package/dist/src/browser/connection.js.map +1 -1
  16. package/dist/src/browser/runtime-diagnostics.js +39 -0
  17. package/dist/src/browser/runtime-diagnostics.js.map +1 -1
  18. package/dist/src/cli/compact.js +5 -1
  19. package/dist/src/cli/compact.js.map +1 -1
  20. package/dist/src/core/compact.js +5 -1
  21. package/dist/src/core/compact.js.map +1 -1
  22. package/dist/src/manager/lifecycle.js +1 -1
  23. package/dist/src/manager/lifecycle.js.map +1 -1
  24. package/dist/src/manager/notes/routes.js +7 -0
  25. package/dist/src/manager/notes/routes.js.map +1 -1
  26. package/dist/src/manager/notes/search.js +282 -0
  27. package/dist/src/manager/notes/search.js.map +1 -0
  28. package/dist/src/manager/preview-origin-proxy.js +12 -2
  29. package/dist/src/manager/preview-origin-proxy.js.map +1 -1
  30. package/dist/src/memory/bootstrap.js +8 -1
  31. package/dist/src/memory/bootstrap.js.map +1 -1
  32. package/dist/src/memory/indexing.js +221 -134
  33. package/dist/src/memory/indexing.js.map +1 -1
  34. package/dist/src/memory/keyword-expand.js +26 -4
  35. package/dist/src/memory/keyword-expand.js.map +1 -1
  36. package/dist/src/memory/reflect.js +119 -8
  37. package/dist/src/memory/reflect.js.map +1 -1
  38. package/dist/src/memory/synonyms.js +60 -0
  39. package/dist/src/memory/synonyms.js.map +1 -0
  40. package/dist/src/orchestrator/gateway.js +1 -1
  41. package/dist/src/orchestrator/gateway.js.map +1 -1
  42. package/dist/src/orchestrator/pipeline.js +15 -18
  43. package/dist/src/orchestrator/pipeline.js.map +1 -1
  44. package/dist/src/orchestrator/state-machine.js +12 -2
  45. package/dist/src/orchestrator/state-machine.js.map +1 -1
  46. package/package.json +1 -1
  47. package/public/dist/assets/{MilkdownWysiwygEditor-Cm3uXfWf.js → MilkdownWysiwygEditor-DIebNZF7.js} +1 -1
  48. package/public/dist/assets/{app-Be58Cs3Y.js → app-DJ8ys0j5.js} +4 -4
  49. package/public/dist/assets/{employees-CxdghzoD.js → employees-RJ_wRL09.js} +1 -1
  50. package/public/dist/assets/insert-image-markdown-kk053MvN.js +22 -0
  51. package/public/dist/assets/manager-DAe38I94.js +25 -0
  52. package/public/dist/assets/{manager-DEiyrWDP.css → manager-fQR46YFa.css} +1 -1
  53. package/public/dist/assets/{memory-CsMNkYtv.js → memory-dJGp6QBv.js} +1 -1
  54. package/public/dist/assets/memory-w3yQettQ.js +1 -0
  55. package/public/dist/assets/{render-DGQX46ei.js → render-KVGsbWj1.js} +1 -1
  56. package/public/dist/assets/{settings-BH213Yv3.js → settings-C7QWaUHB.js} +1 -1
  57. package/public/dist/assets/settings-DmUCo6lz.js +1 -0
  58. package/public/dist/assets/{skills-CQtCtHPA.js → skills-CHkTgM7L.js} +1 -1
  59. package/public/dist/assets/skills-SxG_nfwn.js +1 -0
  60. package/public/dist/assets/{slash-commands-Dzk1xHWS.js → slash-commands-2ThyUGvX.js} +1 -1
  61. package/public/dist/assets/slash-commands-BxJkKdhB.js +1 -0
  62. package/public/dist/assets/{trace-drawer-SRKcfm2S.js → trace-drawer-Dis80M6X.js} +1 -1
  63. package/public/dist/assets/ui-LhD1VfQs.js +1 -0
  64. package/public/dist/assets/ui-kS1ZJfez.js +143 -0
  65. package/public/dist/assets/{ws-CTHQFzM1.js → ws-DVE3eWRj.js} +2 -2
  66. package/public/dist/index.html +1 -1
  67. package/public/dist/manager/index.html +2 -2
  68. package/public/js/features/chat.ts +6 -1
  69. package/public/js/features/process-block.ts +34 -6
  70. package/public/js/features/process-step-match.ts +2 -1
  71. package/public/js/ui.ts +100 -13
  72. package/public/js/virtual-scroll-bootstrap.ts +8 -1
  73. package/public/js/virtual-scroll.ts +83 -13
  74. package/public/js/ws.ts +3 -3
  75. package/public/locales/en.json +2 -1
  76. package/public/locales/ja.json +2 -1
  77. package/public/locales/ko.json +2 -1
  78. package/public/locales/zh.json +2 -1
  79. package/public/manager/src/App.tsx +10 -3
  80. package/public/manager/src/api.ts +17 -0
  81. package/public/manager/src/main.tsx +1 -0
  82. package/public/manager/src/notes/NotesFileTree.tsx +14 -22
  83. package/public/manager/src/notes/NotesSearchSidebar.tsx +118 -0
  84. package/public/manager/src/notes/NotesSidebar.tsx +65 -23
  85. package/public/manager/src/notes/NotesWorkspace.tsx +13 -0
  86. package/public/manager/src/notes/notes-api.ts +1 -0
  87. package/public/manager/src/notes/notes-search.css +90 -0
  88. package/public/manager/src/notes/notes-types.ts +2 -0
  89. package/public/manager/src/preview.ts +20 -1
  90. package/public/manager/src/types.ts +8 -0
  91. package/scripts/install-wsl.sh +48 -14
  92. package/public/dist/assets/insert-image-markdown-DIEa-zjk.js +0 -22
  93. package/public/dist/assets/manager-UEXd1_9T.js +0 -25
  94. package/public/dist/assets/memory-DXad_DPO.js +0 -1
  95. package/public/dist/assets/settings-DXT87G2U.js +0 -1
  96. package/public/dist/assets/skills-5o_1v0nz.js +0 -1
  97. package/public/dist/assets/slash-commands-D4-hrrmh.js +0 -1
  98. package/public/dist/assets/ui-CdRKN2S6.js +0 -141
  99. 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` を再実行。`npm bin -g` が `$PATH` に含まれているか確認 |
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
- `조치: CLI 로그인 상태 확인 필요`;
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":"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"}
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 is429 = /\b429\b/.test(stderrBuf)
4
- || stderrBuf.includes('RESOURCE_EXHAUSTED')
5
- || stderrBuf.includes('Too Many Requests');
6
- const isAuth = stderrBuf.includes('auth') || stderrBuf.includes('credentials');
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 (stderrBuf.trim())
16
- message = stderrBuf.trim().slice(0, 200);
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;AASxD,MAAM,UAAU,iBAAiB,CAC7B,GAAW,EACX,IAAmB,EACnB,SAAiB,EACjB,WAAoB;IAEpB,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;WAChC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC;WACxC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC/E,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,KAAK;QAAE,OAAO,GAAG,mBAAmB,CAAC;SACzC,IAAI,MAAM;QAAE,OAAO,GAAG,+BAA+B,CAAC;SACtD,IAAI,SAAS,CAAC,IAAI,EAAE;QAAE,OAAO,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAEpE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC"}
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 { is429, isStall, message: errMsg } = classifyExitError(cli, code, ctx.stderrBuf, ctx.stallReason);
223
- recordError(cli, isStall ? 'stall' : is429 ? '429' : 'error');
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":"AAAA,uDAAuD;AACvD,4DAA4D;AAE5D,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACvI,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EACH,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,8BAA8B,CAAC;AAEtC,0DAA0D;AAC1D,IAAI,WAAqB,CAAC;AAC1B,MAAM,UAAU,aAAa,CAAC,EAAY;IACtC,WAAW,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,yDAAyD;AACzD,IAAI,mBAAmB,GAAiC,IAAI,CAAC;AAC7D,MAAM,UAAU,kBAAkB,CAAC,EAAuB;IACtD,mBAAmB,GAAG,EAAE,CAAC;AAC7B,CAAC;AAyDD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAyB;IAC3D,MAAM,EACF,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EACtD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EACpD,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAC1C,aAAa,EAAE,QAAQ,EAAE,OAAO,EAChC,eAAe,EAAE,gBAAgB,EACjC,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,YAAY,GAC9D,GAAG,MAAM,CAAC;IAEX,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,IAAI,aAAa,CAAC;IAC9C,MAAM,UAAU,GAAG,CAAC,WAAW,CAAC;IAChC,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,SAAS,CAAC;IAC7C,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC;IAE9E,2CAA2C;IAC3C,IACI,WAAW,CAAC,OAAO;WAChB,WAAW,CAAC,UAAU,KAAK,KAAK;WAChC,CAAC,IAAI,CAAC,oBAAoB;WAC1B,CAAC,IAAI,CAAC,QAAQ;WACd,WAAW;WACX,CAAC,QAAQ,EACd,CAAC;QACC,OAAO,CAAC,IAAI,CACR,eAAe,GAAG,oBAAoB,WAAW,CAAC,UAAU,qBAAqB,CACpF,CAAC;QACF,SAAS,CAAC,aAAa,EAAE;YACrB,GAAG,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU;YACvC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU;YAC/C,GAAG,MAAM;SACZ,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAEvC,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC;QACrC,IAAI,cAAc,EAAE,CAAC;YACjB,kBAAkB,CAAC;gBACf,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM;gBACpD,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW;gBACvD,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS;aACnE,CAAC,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,iCAAiC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC;QACpG,CAAC;QAED,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACnC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,SAAS,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC9E,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEzC,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC,UAAU,EAAE;YACrD,GAAG,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;SACzD,CAAC,CAAC;QACH,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAChD,SAAS,CAAC,YAAY,EAAE;gBACpB,IAAI,EAAE,0CAA0C,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;gBAC5E,KAAK,EAAE,IAAI,EAAE,MAAM;gBACnB,GAAG,MAAM;aACZ,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACvC,OAAO,CAAC;gBACJ,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;gBACnC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI;gBACxC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW;aACzC,CAAC,CAAC;YACH,YAAY,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,OAAO;IACX,CAAC;IAED,0BAA0B;IAC1B,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,WAAW,EAAE,CAAC;QACd,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,qEAAqE;QACrE,mCAAmC;QACnC,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC;QAC5B,SAAS,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,mCAAmC;IACnC,IAAI,UAAU,KAAK,cAAc,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;QAC9C,gBAAgB,EAAE,CAAC;IACvB,CAAC;IAED,8FAA8F;IAC9F,IAAI,GAAG,CAAC,wBAAwB,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChE,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;QACtF,IAAI,CAAC;YACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAClE,MAAM,kBAAkB,CAAC;gBACrB,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrC,YAAY,EAAE,MAAM,IAAI,EAAE;gBAC1B,GAAG;gBACH,KAAK;aACR,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;QAC7E,CAAC;IACL,CAAC;IAED,8BAA8B;IAC9B,MAAM,kBAAkB,GAAG,GAAG,CAAC,SAAS,CAAC;IACzC,IAAI,kBAAkB,IAAI,kBAAkB,CAAC;QACzC,eAAe,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM;QACpD,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW;QAC3D,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS;KAC9E,CAAC,EAAE,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,uBAAuB,GAAG,YAAY,kBAAkB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9H,CAAC;IAED,qEAAqE;IACrE,iFAAiF;IACjF,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QAC/E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,kBAAkB,CAAC;QAC9C,MAAM,WAAW,GAAG,GAAG,KAAK,QAAQ,CAAC;QACrC,IAAI,WAAW,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,YAAY,KAAK,+BAA+B,CAAC,CAAC;YAClF,IAAI,CAAC;gBACD,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAClE,MAAM,kBAAkB,CAAC;oBACrB,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE;oBACrC,YAAY,EAAE,MAAM,IAAI,EAAE;oBAC1B,GAAG;oBACH,KAAK;iBACR,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,+CAA+C,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;YACxF,CAAC;QACL,CAAC;aAAM,IAAI,WAAW,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,OAAO,KAAK,6BAA6B,CAAC,CAAC;YAC3E,SAAS,CAAC,eAAe,EAAE;gBACvB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,iBAAiB,KAAK,wDAAwD;aACvF,EAAE,QAAQ,CAAC,CAAC;QACjB,CAAC;IACL,CAAC;IAED,gEAAgE;IAChE,0EAA0E;IAC1E,6DAA6D;IAC7D,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,wBAAwB,EAAE,CAAC;QAC/E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,kBAAkB,CAAC;QAC9C,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,UAAU,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,KAAK,kDAAkD,CAAC,CAAC;YAC1G,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChD,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;YACrF,CAAC;QACL,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,IAAI,IAAI,KAAK,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,sCAAsC,CAAC,CAAC;QACzE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,KAAK,CAAC;QAAE,WAAW,CAAC,GAAG,CAAC,CAAC;IAEjC,0BAA0B;IAC1B,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;aAC9B,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;aAC9B,OAAO,CAAC,gDAAgD,EAAE,EAAE,CAAC;YAC9D,6DAA6D;aAC5D,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;aACzC,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC;aAC/C,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;aAC1B,IAAI,EAAE,CAAC;QACZ,MAAM,WAAW,GAAG,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnD,IAAI,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;QAC1C,IAAI,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExC,yBAAyB;QACzB,IAAI,QAAQ,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC5C,YAAY,GAAG,uBAAuB,YAAY,EAAE,CAAC;YACrD,IAAI,SAAS;gBAAE,SAAS,GAAG,qBAAqB,SAAS,EAAE,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,0CAA0C,YAAY,CAAC,MAAM,SAAS,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YAClG,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,aAAa,CAAC,CAAC;YACzE,MAAM,WAAW,GAAG,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG,yBAAyB,CAAC,GAAG,CACtC,WAAW,EAAE,YAAY,EAAE,GAAG,EAAE,KAAK,EACrC,SAAS,IAAI,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,EAC9D,GAAG,CAAC,UAAU,IAAI,IAAI,CACzB,CAAC;YACF,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;YACpD,IAAI,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,GAAG,CAAC;gBAAE,qBAAqB,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACrH,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YAE9F,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACD,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAChE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO,CAAC,KAAK,CAAC,uDAAuD,EAAG,CAAW,CAAC,OAAO,CAAC,CAAC;gBACjG,CAAC;YACL,CAAC;YAED,oBAAoB,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;YACvD,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,KAAK,IAAI,kBAAkB,IAAI,SAAS,EAAE,CAAC;gBAC3E,uBAAuB,EAAE,CAAC;gBAC1B,kBAAkB,EAAE,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC;SAAM,IAAI,WAAW,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjD,yBAAyB;QACzB,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACzG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE9D,IAAI,QAAQ,IAAI,6BAA6B,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpF,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACzB,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,qDAAqD,GAAG,UAAU,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YAClG,CAAC;iBAAM,CAAC;gBACJ,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC;gBAChG,MAAM,MAAM,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBAChD,IAAI,MAAM;oBAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,4CAA4C,GAAG,IAAI,MAAM,kBAAkB,CAAC,CAAC;YAC7F,CAAC;QACL,CAAC;QAED,2DAA2D;QAC3D,IAAI,OAAO,EAAE,CAAC;YACV,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YACrH,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,YAAY,EAAE,CAAC;YAClD,OAAO;QACX,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,0CAA0C,CAAC,CAAC;YAC1E,SAAS,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC5G,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAClD,UAAU,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YACrC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/B,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC7B,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,EAAE;gBAChC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1B,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC5B,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3B,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE;oBAC5C,GAAG,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;iBAC7C,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC3C,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,MAAM,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC9H,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC/B,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ;wBAAE,YAAY,EAAE,CAAC;gBACtD,CAAC,CAAC,CAAC;YACP,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YACZ,OAAO;QACX,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;iBAChD,IAAI,CAAC,CAAC,EAAU,EAAE,EAAE,CAAC,EAAE,KAAK,GAAG,IAAI,SAAS,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC;YACjE,IAAI,WAAW,EAAE,CAAC;gBACd,MAAM,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,EAAE,EAAE,CAAC;oBACL,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;oBACjD,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,oBAAoB,EAAE,CAAC,WAAW,OAAO,CAAC,CAAC;gBAChF,CAAC;qBAAM,CAAC;oBACJ,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBACzE,OAAO,CAAC,GAAG,CAAC,kBAAkB,GAAG,MAAM,WAAW,KAAK,kBAAkB,iBAAiB,CAAC,CAAC;gBAChG,CAAC;gBACD,SAAS,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;gBAC3H,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAClD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,MAAM,EAAE;oBAC5C,GAAG,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI;iBAClE,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC3C,SAAS,CAAC,YAAY,EAAE;wBACpB,IAAI,EAAE,eAAe,WAAW,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM;wBAC/D,GAAG,MAAM;qBACZ,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBACvC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC/B,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ;wBAAE,YAAY,EAAE,CAAC;gBACtD,CAAC,CAAC,CAAC;gBACH,OAAO;YACX,CAAC;QACL,CAAC;QACD,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACzH,CAAC;IAED,wBAAwB;IACxB,MAAM,YAAY,GAAG,IAAI,CAAC;IAC1B,gBAAgB,CACZ,GAAG,CAAC,UAAU,EACd,WAAW,EACX,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,YAAY,IAAI,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACpG,CAAC;IACF,IAAI,WAAW;QAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjB,SAAS,CAAC,cAAc,EAAE;YACtB,MAAM,EAAE,CAAC,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YACxE,OAAO,EAAE,UAAU;YACnB,GAAG,MAAM;SACZ,EAAE,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,UAAU,KAAK,MAAM,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,QAAQ,UAAU,iBAAiB,IAAI,UAAU,GAAG,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,UAAU,GAAG,YAAY,KAAK,CAAC,IAAI,YAAY,KAAK,IAAI;QAC1D,CAAC,CAAC,iBAAiB,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO;QAC7D,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzC,OAAO,CAAC;QACJ,IAAI,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY;QACtC,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI;QACxC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW;QACtC,UAAU;KACb,CAAC,CAAC;IACH,IAAI,WAAW;QAAE,YAAY,EAAE,CAAC;AACpC,CAAC;AAED,wDAAwD;AAExD,KAAK,UAAU,gBAAgB;IAC3B,IAAI,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,2BAA2B,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC9E,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,WAAW,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,2BAA2B,CAAC,WAAW,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,2CAA2C,EAAG,GAAa,CAAC,OAAO,CAAC,CAAC;IACtF,CAAC;AACL,CAAC"}
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;AAkBjD,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,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"}
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"}
@@ -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
- if (cli === 'opencode' && resumeKey !== (bucketResumeKey ?? null)) {
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 ? buildHistoryBlock(prompt, settings["workingDir"]) : '';
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
  }