cueline 0.3.1 → 0.3.2

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 (34) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/.codex-plugin/plugin.json +1 -1
  3. package/CHANGELOG.md +29 -0
  4. package/README.ja.md +8 -8
  5. package/README.ko.md +8 -8
  6. package/README.md +8 -8
  7. package/README.zh-CN.md +8 -8
  8. package/README.zh-TW.md +8 -8
  9. package/dist/src/api-controller-handoff.d.ts +1 -1
  10. package/dist/src/api-controller-handoff.js +60 -7
  11. package/dist/src/api-controller-handoff.js.map +1 -1
  12. package/dist/src/browser/browser-adapter.d.ts +22 -0
  13. package/dist/src/browser/codex-iab/chatgpt-client.js +95 -0
  14. package/dist/src/browser/codex-iab/chatgpt-client.js.map +1 -1
  15. package/dist/src/core/controller-loop.js +68 -4
  16. package/dist/src/core/controller-loop.js.map +1 -1
  17. package/dist/src/core/run-status.d.ts +1 -1
  18. package/dist/src/core/run-status.js +55 -13
  19. package/dist/src/core/run-status.js.map +1 -1
  20. package/dist/src/core/state-machine.d.ts +1 -0
  21. package/dist/src/core/state-machine.js +6 -0
  22. package/dist/src/core/state-machine.js.map +1 -1
  23. package/dist/src/core/submitted-turn-recovery.d.ts +4 -0
  24. package/dist/src/core/submitted-turn-recovery.js +27 -0
  25. package/dist/src/core/submitted-turn-recovery.js.map +1 -0
  26. package/dist/src/diagnostics/run-doctor.js +9 -1
  27. package/dist/src/diagnostics/run-doctor.js.map +1 -1
  28. package/dist/src/mcp/server.d.ts +10 -0
  29. package/dist/src/mcp/server.js +520 -0
  30. package/dist/src/mcp/server.js.map +1 -0
  31. package/dist/src/version.d.ts +1 -1
  32. package/dist/src/version.js +1 -1
  33. package/docs/state-and-recovery.md +4 -1
  34. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cueline",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Use a ChatGPT web conversation as the text controller for durable local advice or explicitly claimed work executed by the current Codex.",
5
5
  "author": {
6
6
  "name": "CueLine contributors"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cueline",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Use a ChatGPT web conversation as the text controller for durable local advice or explicitly claimed work executed by the current Codex.",
5
5
  "author": {
6
6
  "name": "CueLine contributors"
package/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.2 - 2026-07-18
4
+
5
+ ### Fixed
6
+
7
+ - Recover wedged `submitted` controller turns after a restart. When durable
8
+ state records a submission as `submitted` but a fresh hydrated observation
9
+ of the exact conversation shows the user-message count unchanged from the
10
+ pre-send baseline, the round's user message absent, and the controller not
11
+ answering, CueLine now reclassifies the submission as definitely not sent,
12
+ abandons the old request, and creates exactly one retry recording
13
+ `retryOfRequestId` — never a duplicate send, never two pending turns.
14
+ - Never classify from an unhydrated conversation read: reopening a
15
+ conversation briefly reports zero messages before hydration completes, and
16
+ recovery now waits past that window and keeps refusing while observation
17
+ is ambiguous (count increased, count unknown, controller answering).
18
+ - Scope stale reconciliation data to its own round in `run status` output so
19
+ an old round's not-sent recovery can no longer masquerade as the current
20
+ round's reconciliation.
21
+ - Surface the wedge in `run doctor` as the stable finding
22
+ `SUBMITTED_TURN_RECOVERY_REQUIRED` with `safeNextAction`
23
+ `recover_submitted_turn` instead of an indefinite observe loop.
24
+
25
+ ### Verification
26
+
27
+ - Red/green regression fixture reproducing the live wedged run (submitted
28
+ state, unchanged baseline of 50 user messages, absent round message, idle
29
+ controller), five fail-closed negative cases, a reentry case proving no
30
+ second pending turn, TypeScript typecheck, and 543/543 tests.
31
+
3
32
  ## 0.3.1 - 2026-07-18
4
33
 
5
34
  ### Fixed
package/README.ja.md CHANGED
@@ -22,12 +22,12 @@
22
22
 
23
23
  CueLine は独立した実装で、**ランタイムの npm 依存はゼロ**です。Omnilane のラッパーではありません。
24
24
 
25
- ## 最新リリース:0.3.1
25
+ ## 最新リリース:0.3.2
26
26
 
27
- - 永続 job ステータスのバリデータが、runner が実際に書き出す 2 つの形状を誤って拒否する問題を修正しました:キャンセルされた `work` job `ambiguous` `cancelled: true` で記録される形状、および `cancelled` フィールド導入前(0.1.7 未満)の旧証跡です。いずれか一方だけでも該当 run が恒久的に読み取り不能になり、jobs 一覧全体が失敗していました。読み取り側は両形状を受け入れ、書き込み側は完全な厳格契約を維持します。
28
- - 赤/緑の回帰オラクル、535/535 テスト、全リリースゲート、さらに読み取り不能だった 3 つの実 run の復旧で検証し、独立した敵対的レビューで相互確認しました。
27
+ - 再起動後にコントローラーターンが `submitted` として永続記録されたまま、実際には会話に届いておらず、run が来るはずのない返信を永遠に待ち続ける詰まりを修正しました。ハイドレーション完了後の新しい観測で、ユーザーメッセージ数が送信前ベースラインと同じ、当該ターンのメッセージが存在しない、かつコントローラーがアイドルであることが確認できた場合、CueLine はそのターンを未送達と安全に再分類し、`retryOfRequestId` を記録したリトライをちょうど 1 回だけ作成します——重複送信は決して行わず、保留ターンが 2 つになることもなく、未ハイドレーションのページで判定することもありません。`run doctor` はこの形状を `SUBMITTED_TURN_RECOVERY_REQUIRED` として安全な次の一手とともに表示し、無限の観測ループにはなりません。
28
+ - 実際に詰まった run を再現する赤/緑フィクスチャ、5 つのフェイルクローズド負例、保留ターンが 2 つにならないことを証明する再入ケース、543/543 テストで検証しました。
29
29
 
30
- 詳細は [changelog](CHANGELOG.md#031---2026-07-18) またはバージョン指定の [v0.3.1 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1) を参照してください。
30
+ 詳細は [changelog](CHANGELOG.md#032---2026-07-18) またはバージョン指定の [v0.3.2 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2) を参照してください。
31
31
 
32
32
  ## 1 回の実行は実際にどう進むか
33
33
 
@@ -68,15 +68,15 @@ ChatGPT Pro のサブスクリプションと、選択された Pro モデルは
68
68
  npm レジストリからインストールします。
69
69
 
70
70
  ```bash
71
- npm install -g cueline@0.3.1
71
+ npm install -g cueline@0.3.2
72
72
  cueline install
73
73
  cueline doctor
74
74
  ```
75
75
 
76
- フォールバックとして、[v0.3.1 リリース](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1) のパッケージ済み tarball をインストールすることもできます。同じリリースに `.sha256` チェックサムも置いてあります。
76
+ フォールバックとして、[v0.3.2 リリース](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2) のパッケージ済み tarball をインストールすることもできます。同じリリースに `.sha256` チェックサムも置いてあります。
77
77
 
78
78
  ```bash
79
- npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.1/cueline-0.3.1.tgz
79
+ npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.2/cueline-0.3.2.tgz
80
80
  cueline install
81
81
  cueline doctor
82
82
  ```
@@ -183,7 +183,7 @@ CLI はブラウザーを駆動しません。状態を書き込むコマンド
183
183
 
184
184
  ```console
185
185
  $ cueline doctor
186
- CueLine 0.3.1
186
+ CueLine 0.3.2
187
187
  status ok
188
188
  node 22.14.0 ok
189
189
  config /usr/local/lib/node_modules/cueline/config/routing.default.json valid
package/README.ko.md CHANGED
@@ -22,12 +22,12 @@
22
22
 
23
23
  CueLine은 독립적인 구현이며 **런타임 npm 의존성이 전혀 없습니다**. Omnilane을 감싼 래퍼가 아닙니다.
24
24
 
25
- ## 최신 릴리스: 0.3.1
25
+ ## 최신 릴리스: 0.3.2
26
26
 
27
- - 영속 job 상태 검증기가 runner가 실제로 기록하는 가지 형태를 잘못 거부하던 문제를 수정했습니다: 취소된 `work` job이 `ambiguous`와 `cancelled: true`로 기록되는 형태, 그리고 `cancelled` 필드 도입 이전(0.1.7 미만)의 레거시 증거입니다. 하나만 있어도 해당 run이 영구적으로 읽을 없게 되고 전체 jobs 목록이 실패했습니다. 읽기 경로는 두 형태를 모두 수용하며, 쓰기 경로는 완전한 엄격 계약을 유지합니다.
28
- - 레드/그린 회귀 오라클, 535/535 테스트, 모든 릴리스 게이트, 그리고 읽을 없던 실제 run 3개의 복구로 검증했으며 독립적인 적대적 리뷰로 교차 확인했습니다.
27
+ - 재시작 컨트롤러 턴이 `submitted`로 영속 기록되었지만 대화에는 실제로 전달되지 않아, run이 오지 않을 응답을 영원히 기다리는 교착을 수정했습니다. 하이드레이션이 완료된 관측에서 사용자 메시지 수가 전송 기준선과 같고, 해당 턴의 메시지가 존재하지 않으며, 컨트롤러가 유휴 상태임이 확인되면, CueLine은 이제 턴을 미전송으로 안전하게 재분류하고 `retryOfRequestId`를 기록한 재시도를 정확히 한 번만 생성합니다 — 중복 전송하지 않고, 대기 턴이 개가 되지 않으며, 하이드레이션되지 않은 페이지에서 판정하지 않습니다. `run doctor`는 이 형태를 `SUBMITTED_TURN_RECOVERY_REQUIRED`로 표시하고 무한 관측 루프 대신 안전한 다음 단계를 제시합니다.
28
+ - 실제 교착 run을 재현하는 레드/그린 픽스처, 다섯 가지 fail-closed 부정 케이스, 번째 대기 턴이 생기지 않음을 증명하는 재진입 케이스, 543/543 테스트로 검증했습니다.
29
29
 
30
- 전체 내용은 [changelog](CHANGELOG.md#031---2026-07-18) 또는 버전이 지정된 [v0.3.1 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1)에서 확인할 수 있습니다.
30
+ 전체 내용은 [changelog](CHANGELOG.md#032---2026-07-18) 또는 버전이 지정된 [v0.3.2 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2)에서 확인할 수 있습니다.
31
31
 
32
32
  ## 실행 한 번은 실제로 이렇게 흘러갑니다
33
33
 
@@ -68,15 +68,15 @@ ChatGPT Pro 구독과 선택된 Pro 모델은 서로 다른 것입니다. 계정
68
68
  npm 레지스트리에서 설치합니다:
69
69
 
70
70
  ```bash
71
- npm install -g cueline@0.3.1
71
+ npm install -g cueline@0.3.2
72
72
  cueline install
73
73
  cueline doctor
74
74
  ```
75
75
 
76
- 대안으로, [v0.3.1 릴리스](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1)의 패키지 tarball을 설치할 수도 있습니다. 같은 릴리스에 `.sha256` 체크섬도 함께 있습니다.
76
+ 대안으로, [v0.3.2 릴리스](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2)의 패키지 tarball을 설치할 수도 있습니다. 같은 릴리스에 `.sha256` 체크섬도 함께 있습니다.
77
77
 
78
78
  ```bash
79
- npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.1/cueline-0.3.1.tgz
79
+ npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.2/cueline-0.3.2.tgz
80
80
  cueline install
81
81
  cueline doctor
82
82
  ```
@@ -183,7 +183,7 @@ CLI는 브라우저를 구동하지 않습니다. 상태를 쓰는 명령 전에
183
183
 
184
184
  ```console
185
185
  $ cueline doctor
186
- CueLine 0.3.1
186
+ CueLine 0.3.2
187
187
  status ok
188
188
  node 22.14.0 ok
189
189
  config /usr/local/lib/node_modules/cueline/config/routing.default.json valid
package/README.md CHANGED
@@ -22,12 +22,12 @@ The web page never touches your machine and has no local tools. It only emits on
22
22
 
23
23
  CueLine is a standalone implementation with **no runtime npm dependencies**. It is not a wrapper around Omnilane.
24
24
 
25
- ## Latest release: 0.3.1
25
+ ## Latest release: 0.3.2
26
26
 
27
- - Fixed the durable job-status validator rejecting two shapes real runners persist: a cancelled `work` job recorded as `ambiguous` with `cancelled: true`, and pre-0.1.7 evidence that predates the `cancelled` field. Either one permanently marked the owning run unreadable and made the whole jobs listing throw. Reads accept both shapes now; writes keep the full strict contract.
28
- - Verified with a red/green regression oracle, 535/535 tests, all release gates, and live recovery of three previously unreadable on-disk runs, cross-checked by an independent adversarial review.
27
+ - Fixed a wedge where a restart left a controller turn durably recorded as `submitted` although the conversation never received it, so the run waited forever on a reply that could not come. When a fresh hydrated observation shows the user-message count unchanged from the pre-send baseline, the round's message absent, and the controller idle, CueLine now reclassifies the turn as definitely not sent and creates exactly one retry with `retryOfRequestId` never a duplicate send, never two pending turns, and never a classification from an unhydrated page. `run doctor` surfaces the shape as `SUBMITTED_TURN_RECOVERY_REQUIRED` with a safe next action instead of an indefinite observe loop.
28
+ - Verified with a red/green fixture reproducing the live wedged run, five fail-closed negative cases, a reentry case proving no second pending turn, and 543/543 tests.
29
29
 
30
- Read the complete [changelog](CHANGELOG.md#031---2026-07-18) or the versioned [v0.3.1 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1).
30
+ Read the complete [changelog](CHANGELOG.md#032---2026-07-18) or the versioned [v0.3.2 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2).
31
31
 
32
32
  ## How a run actually goes
33
33
 
@@ -70,15 +70,15 @@ You need Node.js 22+, Codex with its built-in Browser, and — for the bundled d
70
70
  Install from the npm registry:
71
71
 
72
72
  ```bash
73
- npm install -g cueline@0.3.1
73
+ npm install -g cueline@0.3.2
74
74
  cueline install
75
75
  cueline doctor
76
76
  ```
77
77
 
78
- As a fallback, install the packaged tarball from the [v0.3.1 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1), which also carries its `.sha256` checksum:
78
+ As a fallback, install the packaged tarball from the [v0.3.2 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2), which also carries its `.sha256` checksum:
79
79
 
80
80
  ```bash
81
- npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.1/cueline-0.3.1.tgz
81
+ npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.2/cueline-0.3.2.tgz
82
82
  cueline install
83
83
  cueline doctor
84
84
  ```
@@ -194,7 +194,7 @@ The CLI does not drive the browser. Run `cueline help` for every positional argu
194
194
 
195
195
  ```console
196
196
  $ cueline doctor
197
- CueLine 0.3.1
197
+ CueLine 0.3.2
198
198
  status ok
199
199
  node 22.14.0 ok
200
200
  config /usr/local/lib/node_modules/cueline/config/routing.default.json valid
package/README.zh-CN.md CHANGED
@@ -22,12 +22,12 @@
22
22
 
23
23
  CueLine 是独立实现,**没有任何运行时 npm 依赖**,也不是 Omnilane 的包装层。
24
24
 
25
- ## 最新版本:0.3.1
25
+ ## 最新版本:0.3.2
26
26
 
27
- - 修复持久 job 状态验证器误拒两种 runner 实际会写出的形状:被取消的 `work` job `ambiguous` 搭配 `cancelled: true` 记录,以及 0.1.7 之前、尚无 `cancelled` 字段的旧证据。两者任一都会让所属 run 永久无法读取,并使整个 jobs 列表直接失败。现在读取端接受这两种形状;写入端仍维持完整严格契约。
28
- - 以红绿回归测试、535/535 测试、全部发布闸门,加上三个原本无法读取的实际 run 成功恢复验证,并经独立对抗式审查交叉确认。
27
+ - 修复重启后控制器回合被持久记录为 `submitted`、但对话实际从未收到,导致 run 永远等待一个不会出现的回复的卡死。当一次完成水合的全新观察显示用户消息数与发送前基准相同、该回合消息不存在、且控制器空闲时,CueLine 现在会安全改判为确定未送达,并创建恰好一次带 `retryOfRequestId` 的重试——绝不重复发送、绝不产生两个待处理回合、也绝不在未水合的页面上做判定。`run doctor` 会以 `SUBMITTED_TURN_RECOVERY_REQUIRED` 呈现这个形状并给出安全下一步,而非无限观察循环。
28
+ - 以复现实际卡死 run 的红绿 fixture、五个 fail-closed 负向案例、证明不会产生第二个待处理回合的重入案例,加上 543/543 测试验证。
29
29
 
30
- 完整内容请查看 [changelog](CHANGELOG.md#031---2026-07-18) 或版本化的 [v0.3.1 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1)。
30
+ 完整内容请查看 [changelog](CHANGELOG.md#032---2026-07-18) 或版本化的 [v0.3.2 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2)。
31
31
 
32
32
  ## 一次运行实际是怎么走的
33
33
 
@@ -68,15 +68,15 @@ ChatGPT Pro 订阅套餐与“选定的 Pro 模型”是两回事。账号或个
68
68
  从 npm registry 安装:
69
69
 
70
70
  ```bash
71
- npm install -g cueline@0.3.1
71
+ npm install -g cueline@0.3.2
72
72
  cueline install
73
73
  cueline doctor
74
74
  ```
75
75
 
76
- 作为后备,也可以安装 [v0.3.1 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1) 上的打包 tarball,该 release 同时附带它的 `.sha256` 校验值:
76
+ 作为后备,也可以安装 [v0.3.2 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2) 上的打包 tarball,该 release 同时附带它的 `.sha256` 校验值:
77
77
 
78
78
  ```bash
79
- npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.1/cueline-0.3.1.tgz
79
+ npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.2/cueline-0.3.2.tgz
80
80
  cueline install
81
81
  cueline doctor
82
82
  ```
@@ -185,7 +185,7 @@ CLI 不驱动浏览器。执行写入状态的命令前,先用 `cueline help`
185
185
 
186
186
  ```console
187
187
  $ cueline doctor
188
- CueLine 0.3.1
188
+ CueLine 0.3.2
189
189
  status ok
190
190
  node 22.14.0 ok
191
191
  config /usr/local/lib/node_modules/cueline/config/routing.default.json valid
package/README.zh-TW.md CHANGED
@@ -22,12 +22,12 @@
22
22
 
23
23
  CueLine 是獨立實作,**沒有任何 runtime npm 相依套件**,也不是 Omnilane 的包裝層。
24
24
 
25
- ## 最新版本:0.3.1
25
+ ## 最新版本:0.3.2
26
26
 
27
- - 修正持久 job 狀態驗證器誤拒兩種 runner 實際會寫出的形狀:被取消的 `work` job `ambiguous` 搭配 `cancelled: true` 記錄,以及 0.1.7 之前、尚無 `cancelled` 欄位的舊證據。兩者任一都會讓所屬 run 永久無法讀取,並使整個 jobs 清單直接失敗。現在讀取端接受這兩種形狀;寫入端仍維持完整嚴格契約。
28
- - 以紅綠迴歸測試、535/535 測試、全部發佈閘門,加上三個原本無法讀取的實際 run 成功復原驗證,並經獨立對抗式審查交叉確認。
27
+ - 修正重開機後控制器回合被持久記錄為 `submitted`、但對話實際從未收到,導致 run 永遠等待一個不會出現的回覆的卡死。當一次完成水合的全新觀察顯示使用者訊息數與送出前基準相同、該回合訊息不存在、且控制器閒置時,CueLine 現在會安全改判為確定未送達,並建立恰好一次帶 `retryOfRequestId` 的重試——絕不重複送出、絕不產生兩個等待中的回合、也絕不在未水合的頁面上做判定。`run doctor` 會以 `SUBMITTED_TURN_RECOVERY_REQUIRED` 呈現這個形狀並給出安全下一步,而非無限觀察迴圈。
28
+ - 以重現實際卡死 run 的紅綠 fixture、五個 fail-closed 負向案例、證明不會產生第二個等待回合的重入案例,加上 543/543 測試驗證。
29
29
 
30
- 完整內容請看 [changelog](CHANGELOG.md#031---2026-07-18) 或版本化的 [v0.3.1 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1)。
30
+ 完整內容請看 [changelog](CHANGELOG.md#032---2026-07-18) 或版本化的 [v0.3.2 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2)。
31
31
 
32
32
  ## 一次執行實際上怎麼跑
33
33
 
@@ -68,15 +68,15 @@ ChatGPT Pro 訂閱方案與「選定的 Pro 模型」是兩回事。帳號或個
68
68
  從 npm registry 安裝:
69
69
 
70
70
  ```bash
71
- npm install -g cueline@0.3.1
71
+ npm install -g cueline@0.3.2
72
72
  cueline install
73
73
  cueline doctor
74
74
  ```
75
75
 
76
- 作為備援,也可以安裝 [v0.3.1 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.1) 上的打包 tarball,該 release 同時附上它的 `.sha256` 校驗碼:
76
+ 作為備援,也可以安裝 [v0.3.2 release](https://github.com/Seraphim0916/cueline/releases/tag/v0.3.2) 上的打包 tarball,該 release 同時附上它的 `.sha256` 校驗碼:
77
77
 
78
78
  ```bash
79
- npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.1/cueline-0.3.1.tgz
79
+ npm install -g https://github.com/Seraphim0916/cueline/releases/download/v0.3.2/cueline-0.3.2.tgz
80
80
  cueline install
81
81
  cueline doctor
82
82
  ```
@@ -194,7 +194,7 @@ CLI 不驅動瀏覽器。執行寫入狀態的命令前,先用 `cueline help`
194
194
 
195
195
  ```console
196
196
  $ cueline doctor
197
- CueLine 0.3.1
197
+ CueLine 0.3.2
198
198
  status ok
199
199
  node 22.14.0 ok
200
200
  config /usr/local/lib/node_modules/cueline/config/routing.default.json valid
@@ -3,7 +3,7 @@ export declare function confirmManualControllerSubmission(runId: string, options
3
3
  requestId: string;
4
4
  conversationUrl?: string;
5
5
  }): Promise<ManualControllerSubmissionConfirmation>;
6
- export declare function confirmControllerTurnNotSent(runId: string, options: Pick<CueLineRuntimeOptions, "home" | "environment" | "now"> & {
6
+ export declare function confirmControllerTurnNotSent(runId: string, options: Pick<CueLineRuntimeOptions, "home" | "environment" | "now" | "browser"> & {
7
7
  requestId: string;
8
8
  conversationUrl?: string;
9
9
  }): Promise<ControllerNotSentConfirmation>;
@@ -8,6 +8,7 @@ import { JobStatusStore } from "./jobs/status.js";
8
8
  import { defaultCueLineHome } from "./state/paths.js";
9
9
  import { readRuntimeLease, retireDeadRuntimeLease, RuntimeLease, } from "./state/runtime-lease.js";
10
10
  import { readAuthoritativeRunEvents } from "./state/store.js";
11
+ import { isDefinitelyNotSentObservation, isSubmittedTurnRecoveryCandidate, } from "./core/submitted-turn-recovery.js";
11
12
  export async function confirmManualControllerSubmission(runId, options) {
12
13
  const environment = options.environment ?? runtimeEnvironment();
13
14
  const home = options.home ?? defaultCueLineHome(environment);
@@ -148,10 +149,19 @@ export async function confirmControllerTurnNotSent(runId, options) {
148
149
  if ((state.pendingControllerTurns ?? []).length !== 1) {
149
150
  throw new CueLineError("OTHER_CONTROLLER_TURNS_PENDING", "Operator-confirmed not-sent recovery requires exactly one pending controller turn.");
150
151
  }
151
- if (turn.submissionState !== "possibly_sent" ||
152
+ const exactAmbiguousFailure = turn.submissionState !== "possibly_sent" ||
152
153
  state.lastFailure?.code !== "CONTROLLER_SUBMISSION_AMBIGUOUS" ||
153
- state.lastFailure.requestId !== turn.requestId) {
154
- throw new CueLineError("CONTROLLER_NOT_SENT_STATE_INVALID", "Operator-confirmed not-sent recovery is available only for the exact ambiguous submission failure.");
154
+ state.lastFailure.requestId !== turn.requestId
155
+ ? false
156
+ : true;
157
+ const suppliedConversationUrl = options.conversationUrl;
158
+ const knownConversationUrl = state.conversationUrl ?? turn.conversationUrl;
159
+ const candidateConversationUrl = knownConversationUrl ?? suppliedConversationUrl;
160
+ const evidenceGatedSubmittedTurn = options.browser !== undefined &&
161
+ candidateConversationUrl !== undefined &&
162
+ isSubmittedTurnRecoveryCandidate(turn, candidateConversationUrl);
163
+ if (!exactAmbiguousFailure && !evidenceGatedSubmittedTurn) {
164
+ throw new CueLineError("CONTROLLER_NOT_SENT_STATE_INVALID", "Not-sent recovery requires either the exact ambiguous submission failure or a fresh evidence-gated submitted turn.");
155
165
  }
156
166
  if (turn.retryOfRequestId !== undefined && turn.retryOfRequestId !== null) {
157
167
  throw new CueLineError("CONTROLLER_NOT_SENT_RETRY_EXHAUSTED", "The pending turn is already the one authorized not-sent retry; refusing another retry.");
@@ -159,8 +169,6 @@ export async function confirmControllerTurnNotSent(runId, options) {
159
169
  if (turn.manualSendConfirmed) {
160
170
  throw new CueLineError("CONTROLLER_RECONCILIATION_CONFIRMATION_CONFLICT", "The turn is already operator-confirmed as sent; it cannot also be confirmed not sent.");
161
171
  }
162
- const suppliedConversationUrl = options.conversationUrl;
163
- const knownConversationUrl = state.conversationUrl ?? turn.conversationUrl;
164
172
  if (knownConversationUrl === null && suppliedConversationUrl === undefined) {
165
173
  throw new CueLineError("CONTROLLER_RECONCILIATION_URL_REQUIRED", "Operator-confirmed not-sent recovery requires the exact ChatGPT conversation URL.");
166
174
  }
@@ -202,6 +210,31 @@ export async function confirmControllerTurnNotSent(runId, options) {
202
210
  throw new CueLineError("CONTROLLER_RECONCILIATION_SUPERSEDED", "A command for this request or the same/newer controller round was already accepted.");
203
211
  }
204
212
  }
213
+ let submittedEvidence;
214
+ if (evidenceGatedSubmittedTurn) {
215
+ const browser = options.browser;
216
+ if (browser.observeSubmittedTurn === undefined) {
217
+ throw new CueLineError("CONTROLLER_NOT_SENT_EVIDENCE_REQUIRED", "The normally submitted turn requires a fresh read-only Browser observation before it can be confirmed not sent.");
218
+ }
219
+ const observation = await browser.observeSubmittedTurn({
220
+ runId,
221
+ round: turn.round,
222
+ requestId: turn.requestId,
223
+ prompt: turn.prompt,
224
+ baselineUserMessageCount: turn.baselineUserMessageCount,
225
+ ...(turn.baselineAssistantMessageCount === null
226
+ ? {}
227
+ : { baselineAssistantMessageCount: turn.baselineAssistantMessageCount }),
228
+ ...(turn.composerPromptState === "attachment_ready"
229
+ ? { attachmentPromptExpected: true }
230
+ : {}),
231
+ });
232
+ if (observation.status !== "definitely_not_sent" ||
233
+ !isDefinitelyNotSentObservation(turn, conversationUrl, observation.evidence)) {
234
+ throw new CueLineError("CONTROLLER_NOT_SENT_EVIDENCE_INSUFFICIENT", "The fresh conversation observation did not prove baseline-equal, request-absent, Pro-idle not-sent evidence.");
235
+ }
236
+ submittedEvidence = observation.evidence;
237
+ }
205
238
  const derivedBaselineUserMessageCount = turn.baselineUserMessageCount ??
206
239
  events.filter((event) => {
207
240
  if (event.type !== "controller_turn_submitted")
@@ -221,7 +254,17 @@ export async function confirmControllerTurnNotSent(runId, options) {
221
254
  conversation_url: conversationUrl,
222
255
  selected_model_label: turn.selectedModelLabel,
223
256
  baseline_user_message_count: derivedBaselineUserMessageCount,
224
- operator_confirmation: true,
257
+ ...(submittedEvidence === undefined
258
+ ? { operator_confirmation: true }
259
+ : {
260
+ observed_user_message_count: submittedEvidence.observedUserMessageCount,
261
+ request_message_found: false,
262
+ is_answering: false,
263
+ page_hydrated: true,
264
+ submission_state: "definitely_not_sent",
265
+ confirmation_source: "fresh_read_only_observation",
266
+ operator_confirmation: true,
267
+ }),
225
268
  });
226
269
  }
227
270
  if ((store.state.pendingControllerTurns ?? []).some((candidate) => candidate.requestId === turn.requestId)) {
@@ -234,7 +277,17 @@ export async function confirmControllerTurnNotSent(runId, options) {
234
277
  conversation_url: conversationUrl,
235
278
  selected_model_label: turn.selectedModelLabel,
236
279
  baseline_user_message_count: derivedBaselineUserMessageCount,
237
- operator_confirmation: true,
280
+ ...(submittedEvidence === undefined
281
+ ? { operator_confirmation: true }
282
+ : {
283
+ observed_user_message_count: submittedEvidence.observedUserMessageCount,
284
+ request_message_found: false,
285
+ is_answering: false,
286
+ page_hydrated: true,
287
+ submission_state: "definitely_not_sent",
288
+ confirmation_source: "fresh_read_only_observation",
289
+ operator_confirmation: true,
290
+ }),
238
291
  });
239
292
  }
240
293
  await store.snapshot();
@@ -1 +1 @@
1
- {"version":3,"file":"api-controller-handoff.js","sourceRoot":"","sources":["../../src/api-controller-handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-controller-handoff.js","sourceRoot":"","sources":["../../src/api-controller-handoff.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ export interface BrowserTurnInput {
6
6
  repairAttempt?: number;
7
7
  manualSendConfirmed?: boolean;
8
8
  attachmentPromptExpected?: boolean;
9
+ baselineUserMessageCount?: number;
9
10
  baselineAssistantMessageCount?: number;
10
11
  notSentRecovery?: {
11
12
  abandonedRequestId: string;
@@ -21,6 +22,25 @@ export interface ControllerTurn {
21
22
  title?: string;
22
23
  model?: ControllerModelEvidence;
23
24
  }
25
+ export interface BrowserSubmittedTurnEvidence {
26
+ conversationUrl: string;
27
+ selectedModelLabel: string | null;
28
+ hydrated: boolean;
29
+ baselineUserMessageCount: number;
30
+ observedUserMessageCount: number | null;
31
+ requestMessageFound: boolean | null;
32
+ isAnswering: boolean | null;
33
+ }
34
+ export type BrowserSubmittedTurnObservation = {
35
+ status: "response";
36
+ turn: ControllerTurn;
37
+ } | {
38
+ status: "pending";
39
+ evidence?: BrowserSubmittedTurnEvidence;
40
+ } | {
41
+ status: "definitely_not_sent";
42
+ evidence: BrowserSubmittedTurnEvidence;
43
+ };
24
44
  export interface ControllerModelEvidence {
25
45
  provider: "chatgpt";
26
46
  selectedLabel: string;
@@ -82,6 +102,8 @@ export interface BrowserAdapter {
82
102
  submitTurn?(input: BrowserTurnInput, hooks?: BrowserTurnHooks): Promise<void>;
83
103
  /** Observe the exact submitted turn once; undefined means Pro is not finished yet. */
84
104
  observeTurn?(input: BrowserTurnInput): Promise<ControllerTurn | undefined>;
105
+ /** Observe a normally submitted turn without sending, including durable not-sent evidence. */
106
+ observeSubmittedTurn?(input: BrowserTurnInput): Promise<BrowserSubmittedTurnObservation>;
85
107
  sendTurn(input: BrowserTurnInput, hooks?: BrowserTurnHooks): Promise<ControllerTurn>;
86
108
  recoverTurn?(input: BrowserTurnInput): Promise<ControllerTurn>;
87
109
  /** Archive one exact completed controller conversation. Implementations must never retry the archive click. */