tailii-host 0.6.0 → 0.7.0

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 (91) hide show
  1. package/dist/approval/hook.js +11 -1
  2. package/dist/approval/hook.js.map +1 -1
  3. package/dist/backend/herdr.d.ts +41 -6
  4. package/dist/backend/herdr.js +111 -15
  5. package/dist/backend/herdr.js.map +1 -1
  6. package/dist/backend/sessionBackend.d.ts +10 -3
  7. package/dist/backend/sessionBackend.js +5 -2
  8. package/dist/backend/sessionBackend.js.map +1 -1
  9. package/dist/backend/tmux.d.ts +45 -1
  10. package/dist/backend/tmux.js +95 -11
  11. package/dist/backend/tmux.js.map +1 -1
  12. package/dist/chat/chatTailController.d.ts +1 -1
  13. package/dist/chat/chatTailController.js +16 -33
  14. package/dist/chat/chatTailController.js.map +1 -1
  15. package/dist/chat/imageService.d.ts +9 -1
  16. package/dist/chat/imageService.js +39 -0
  17. package/dist/chat/imageService.js.map +1 -1
  18. package/dist/chat/subagentTailer.js +23 -4
  19. package/dist/chat/subagentTailer.js.map +1 -1
  20. package/dist/chat/transcriptTailer.d.ts +38 -13
  21. package/dist/chat/transcriptTailer.js +213 -15
  22. package/dist/chat/transcriptTailer.js.map +1 -1
  23. package/dist/codex/codexAppServer.d.ts +54 -9
  24. package/dist/codex/codexAppServer.js +495 -76
  25. package/dist/codex/codexAppServer.js.map +1 -1
  26. package/dist/codex/codexNativeTurnController.d.ts +22 -1
  27. package/dist/codex/codexNativeTurnController.js +57 -8
  28. package/dist/codex/codexNativeTurnController.js.map +1 -1
  29. package/dist/codex/codexRolloutTailer.d.ts +2 -0
  30. package/dist/codex/codexRolloutTailer.js +78 -13
  31. package/dist/codex/codexRolloutTailer.js.map +1 -1
  32. package/dist/codex/codexSessionStore.js +54 -16
  33. package/dist/codex/codexSessionStore.js.map +1 -1
  34. package/dist/codex/codexSubagentTracker.d.ts +13 -0
  35. package/dist/codex/codexSubagentTracker.js +55 -1
  36. package/dist/codex/codexSubagentTracker.js.map +1 -1
  37. package/dist/codex/codexSystemNotice.d.ts +2 -0
  38. package/dist/codex/codexSystemNotice.js +20 -3
  39. package/dist/codex/codexSystemNotice.js.map +1 -1
  40. package/dist/commands/launch.js +50 -13
  41. package/dist/commands/launch.js.map +1 -1
  42. package/dist/engine/context.d.ts +32 -1
  43. package/dist/engine/context.js +39 -3
  44. package/dist/engine/context.js.map +1 -1
  45. package/dist/engine/engine.d.ts +5 -1
  46. package/dist/engine/engine.js +87 -4
  47. package/dist/engine/engine.js.map +1 -1
  48. package/dist/engine/handlers/codex.js +37 -0
  49. package/dist/engine/handlers/codex.js.map +1 -1
  50. package/dist/engine/handlers/core.js +14 -1
  51. package/dist/engine/handlers/core.js.map +1 -1
  52. package/dist/engine/handlers/mode.js +64 -1
  53. package/dist/engine/handlers/mode.js.map +1 -1
  54. package/dist/engine/handlers/session.js +17 -33
  55. package/dist/engine/handlers/session.js.map +1 -1
  56. package/dist/engine/handlers/workspace.js +22 -1
  57. package/dist/engine/handlers/workspace.js.map +1 -1
  58. package/dist/hub/effortDialog.d.ts +15 -0
  59. package/dist/hub/effortDialog.js +60 -16
  60. package/dist/hub/effortDialog.js.map +1 -1
  61. package/dist/hub/engineRelaySocket.d.ts +4 -0
  62. package/dist/hub/engineRelaySocket.js +6 -1
  63. package/dist/hub/engineRelaySocket.js.map +1 -1
  64. package/dist/hub/hubDaemon.js +22 -3
  65. package/dist/hub/hubDaemon.js.map +1 -1
  66. package/dist/hub/hubProtocol.d.ts +10 -0
  67. package/dist/hub/hubProtocol.js +12 -1
  68. package/dist/hub/hubProtocol.js.map +1 -1
  69. package/dist/hub/sessionHub.d.ts +78 -4
  70. package/dist/hub/sessionHub.js +281 -67
  71. package/dist/hub/sessionHub.js.map +1 -1
  72. package/dist/protocol/decode.js +70 -15
  73. package/dist/protocol/decode.js.map +1 -1
  74. package/dist/protocol/encode.js +2 -0
  75. package/dist/protocol/encode.js.map +1 -1
  76. package/dist/protocol/messages.d.ts +59 -1
  77. package/dist/services/fileService.d.ts +15 -0
  78. package/dist/services/fileService.js +176 -14
  79. package/dist/services/fileService.js.map +1 -1
  80. package/dist/services/officialApps.d.ts +12 -1
  81. package/dist/services/officialApps.js +145 -30
  82. package/dist/services/officialApps.js.map +1 -1
  83. package/dist/services/previewServer.js +15 -6
  84. package/dist/services/previewServer.js.map +1 -1
  85. package/dist/sessions/transcriptPath.d.ts +3 -0
  86. package/dist/sessions/transcriptPath.js +15 -0
  87. package/dist/sessions/transcriptPath.js.map +1 -0
  88. package/dist/shared/clientBuild.d.ts +26 -0
  89. package/dist/shared/clientBuild.js +89 -0
  90. package/dist/shared/clientBuild.js.map +1 -0
  91. package/package.json +3 -3
@@ -38,12 +38,14 @@ import { decodeControlMessage, PROTOCOL_MAX_SUPPORTED, PROTOCOL_V1, } from "../p
38
38
  import { ownTranscriptActivityProvider } from "../sessions/sessionActivityProvider.js";
39
39
  import { SessionListService } from "../sessions/sessionListService.js";
40
40
  import { SessionMetadataStore } from "../sessions/sessionMetadataStore.js";
41
+ import { claudeTranscriptPathFor } from "../sessions/transcriptPath.js";
41
42
  import { OfficialAppsService } from "../services/officialApps.js";
42
43
  import { HISTORY_DONE_STREAM_ID, TranscriptTailer } from "../chat/transcriptTailer.js";
43
44
  import { makeSessionBackend, resolveSessionBackendKind, writeSessionBackendKind, } from "../backend/sessionBackend.js";
44
45
  import { herdrInstalled } from "../backend/herdr.js";
45
46
  import { createStaleDistGuard, isStaleDist, readPackageVersion } from "../shared/version.js";
46
47
  import { readRecentUpdateError, resolveInstallState } from "../commands/selfUpdate.js";
48
+ import { clientBuildRecordPath as defaultClientBuildRecordPath, readLatestClientBuild } from "../shared/clientBuild.js";
47
49
  import { resolveHostDisplayName } from "../shared/hostDisplayName.js";
48
50
  import { DEFAULT_MODE_TIMING, engineDiag, } from "./context.js";
49
51
  import { ENGINE_HANDLERS } from "./handlers/index.js";
@@ -151,7 +153,12 @@ export async function runEngineCommand(args) {
151
153
  });
152
154
  // per-session: agentType=codex のセッション用に codex launcher / resume launcher を用意する。
153
155
  // codex は resume 未対応のため既定コマンドで新規起動する(新しい rollout を tail)。
154
- const codexAppServer = new CodexAppServerManager();
156
+ const codexAppServer = new CodexAppServerManager({
157
+ // 版ずれ診断・履歴スナップショットの fallback 理由を engine 経路でも残す(hub は hub.log)。
158
+ log: (message) => {
159
+ process.stderr.write(`[tailii-host engine] ${message}\n`);
160
+ },
161
+ });
155
162
  const codexLauncher = makeSessionLauncher({
156
163
  store,
157
164
  agent: "codex",
@@ -208,7 +215,7 @@ export async function runEngineCommand(args) {
208
215
  * 橋渡しし、応答を `output` へ NDJSON 行で書く。EOF(input end)で正常終了する。
209
216
  */
210
217
  export async function runEngine(options) {
211
- const { sessionManager, backendKind = () => "tmux", backendWriter = writeSessionBackendKind, herdrInstalledProbe = herdrInstalled, imageService = null, transcriptTailer = null, transcriptPath = null, launcher = null, codexLauncher = null, sessionListService = null, metadataStore = null, resumeLauncher = null, codexResumeLauncher = null, claudeSessionStore = null, codexSessionStore = null, agent = "claude", codexAppServer = null, officialApps = new OfficialAppsService(), codexTurnController: injectedCodexTurnController = null, maxVersion = PROTOCOL_MAX_SUPPORTED, planUsage = () => fetchPlanUsage(), claudeModelList = () => fetchClaudeModelList(), codexAccountUsage: injectedCodexAccountUsage = undefined, hostVersions = fetchHostVersions, accountIdentity = fetchAccountIdentities, homeDir = os.homedir(), modeTiming = {}, staleDistGuard = createStaleDistGuard(), hostDisplayName = resolveHostDisplayName() ?? null, onStaleDist = undefined, hubLink: injectedHubLink = undefined, codexHubRpcTimeoutMs = 15_000, heartbeatDir = defaultHeartbeatDir(), } = options;
218
+ const { sessionManager, backendKind = () => "tmux", backendWriter = writeSessionBackendKind, herdrInstalledProbe = herdrInstalled, imageService = null, transcriptTailer = null, transcriptPath = null, launcher = null, codexLauncher = null, sessionListService = null, metadataStore = null, resumeLauncher = null, codexResumeLauncher = null, claudeSessionStore = null, codexSessionStore = null, agent = "claude", codexAppServer = null, officialApps = new OfficialAppsService(), codexTurnController: injectedCodexTurnController = null, maxVersion = PROTOCOL_MAX_SUPPORTED, planUsage = () => fetchPlanUsage(), claudeModelList = () => fetchClaudeModelList(), codexAccountUsage: injectedCodexAccountUsage = undefined, hostVersions = fetchHostVersions, accountIdentity = fetchAccountIdentities, homeDir = os.homedir(), clientBuildRecordPath = defaultClientBuildRecordPath(), modeTiming = {}, transcriptPathFor = claudeTranscriptPathFor, staleDistGuard = createStaleDistGuard(), hostDisplayName = resolveHostDisplayName() ?? null, onStaleDist = undefined, hubLink: injectedHubLink = undefined, codexHubRpcTimeoutMs = 15_000, heartbeatDir = defaultHeartbeatDir(), } = options;
212
219
  // 既定の Codex 使用量フェッチャは共有 App Server 経由(未接続・停止中は null を返す)。
213
220
  // 分割代入の中では codexAppServer をまだ参照できないため、確定後にここで束ねる。
214
221
  const codexAccountUsage = injectedCodexAccountUsage ?? (() => fetchCodexAccountUsage(codexAppServer));
@@ -250,6 +257,8 @@ export async function runEngine(options) {
250
257
  // serverSeq=0 は transcript/rollout の履歴 backfill。完了マーカー前に Hub 世代が
251
258
  // 変わった場合は時刻境界を使わず全履歴を再開し、古い未配送行を落とさない。
252
259
  const historyBackfillSessions = new Set();
260
+ /** retire された前面会話。次の処理中通知(claude が実際に動いた証拠)で 1 回だけ前面購読を張り直す。 */
261
+ const pendingForegroundResubscribe = new Set();
253
262
  const backgroundUnwatchTimers = new Map();
254
263
  const unwatchBackgroundSession = (session) => {
255
264
  const timer = backgroundUnwatchTimers.get(session);
@@ -269,7 +278,8 @@ export async function runEngine(options) {
269
278
  backgroundUnwatchTimers.delete(session);
270
279
  if (activeChatSession.name === session)
271
280
  return;
272
- if (!backgroundChatSessions.has(session) && backgroundChatSessions.size >= 16) {
281
+ const alreadyWatching = backgroundChatSessions.has(session);
282
+ if (!alreadyWatching && backgroundChatSessions.size >= 16) {
273
283
  const oldest = backgroundChatSessions.values().next().value;
274
284
  if (oldest !== undefined)
275
285
  unwatchBackgroundSession(oldest);
@@ -277,12 +287,24 @@ export async function runEngine(options) {
277
287
  backgroundChatSessions.add(session);
278
288
  if (!subscribe)
279
289
  return;
290
+ // 処理中会話の hook(PreToolUse / PostToolUse)ごとに session_processing(active) が届くが、Hub の
291
+ // 購読は 1 回で足りる(unwatch 猶予中の再 active も購読は生きている)。購読済みで再送すると Hub は
292
+ // 「既存購読者の afterSeq 回収」を行い、背景中は afterSeq が床値で止まるため replay buffer を
293
+ // 外れた途端に全履歴 backfill になる — ツール呼び出しのたびに全履歴が iOS へ再送される嵐
294
+ // (実測 2026-09-07: 1 会話で毎分 70 回超の tail 再起動、249 行 × 回数の再送)。
295
+ if (alreadyWatching)
296
+ return;
297
+ // Hub 世代内の seq が無い(retire 後の再購読等)場合は、最終転送時刻を境界にして全履歴再生を避ける
298
+ // (再接続の backfill と同じ規則: 転送遅延ぶん 5 秒重ねる)。
299
+ const forwardedAtMs = lastForwardedAtMs.get(session);
280
300
  hubLink.send({
281
301
  type: "conversation_subscribe",
282
302
  session,
283
303
  ...(newerThanMs !== undefined
284
304
  ? { newerThanMs }
285
- : lastServerSeq.has(session) ? { afterSeq: lastServerSeq.get(session) } : {}),
305
+ : lastServerSeq.has(session)
306
+ ? { afterSeq: lastServerSeq.get(session) }
307
+ : forwardedAtMs !== undefined ? { newerThanMs: Math.max(0, forwardedAtMs - 5_000) } : {}),
286
308
  preview: false,
287
309
  });
288
310
  };
@@ -309,6 +331,9 @@ export async function runEngine(options) {
309
331
  // updateError は managed のときだけ載せる(unmanaged では self-update が動かず提示先も無い。
310
332
  // dev 機に残った last-update.json が hello を環境依存にするのも防ぐ)。
311
333
  const updateError = installState.managed ? readRecentUpdateError(helloVersion ?? null) : undefined;
334
+ // このホストへ接続した最も新しいアプリビルド(過去の hello で記録)。アプリは自分の
335
+ // CFBundleVersion と比較して「より新しいビルドがある」を判定する(host-auto-update)。
336
+ const latestClientBuild = readLatestClientBuild(clientBuildRecordPath);
312
337
  writer.write({
313
338
  type: "channel_hello",
314
339
  v: PROTOCOL_V1,
@@ -318,6 +343,7 @@ export async function runEngine(options) {
318
343
  ...(hostDisplayName !== null ? { hostName: hostDisplayName } : {}),
319
344
  managed: installState.managed,
320
345
  ...(updateError !== undefined ? { updateError } : {}),
346
+ ...(latestClientBuild !== null ? { latestClientBuild } : {}),
321
347
  });
322
348
  // ---- 1.5 画像 pending を drain し image_available を送出 ----
323
349
  if (imageService !== null) {
@@ -369,6 +395,19 @@ export async function runEngine(options) {
369
395
  if (message.state === "active") {
370
396
  processingSessions.set(message.session, now);
371
397
  watchBackgroundSession(message.session);
398
+ // retire された前面会話が再び処理中になった(同じ pane で claude が再起動した)→ 前面購読を
399
+ // 1 回だけ張り直す(境界は最終転送時刻 − 5 秒)。開いたまま無音になるのを防ぐ。
400
+ if (activeChatSession.name === message.session && pendingForegroundResubscribe.delete(message.session)) {
401
+ // 履歴 backfill の途中で retire された会話は境界を付けない(切れた履歴を取り直す。
402
+ // 再接続の requiresFullBackfill と同じ規則)。
403
+ const forwardedAtMs = historyBackfillSessions.has(message.session)
404
+ ? undefined : lastForwardedAtMs.get(message.session);
405
+ hubLink.send({
406
+ type: "conversation_subscribe", session: message.session,
407
+ ...(forwardedAtMs !== undefined ? { newerThanMs: Math.max(0, forwardedAtMs - 5_000) } : {}),
408
+ preview: true,
409
+ });
410
+ }
372
411
  }
373
412
  else {
374
413
  processingSessions.delete(message.session);
@@ -402,6 +441,9 @@ export async function runEngine(options) {
402
441
  };
403
442
  codexTurnController = new CodexNativeTurnController({
404
443
  appServer: codexAppServer,
444
+ log: (message) => {
445
+ process.stderr.write(`[tailii-host engine] ${message}\n`);
446
+ },
405
447
  onProcessing: (session, processingState) => {
406
448
  hubLink.send({
407
449
  type: "session_processing",
@@ -515,6 +557,41 @@ export async function runEngine(options) {
515
557
  }
516
558
  return;
517
559
  }
560
+ if (message.type === "conversation_retired") {
561
+ // Hub 側で actor が retire(kill / demote / reclaim)され、この engine の購読も消えた。背景購読の
562
+ // 台帳から外し、次の session_processing(active) で再購読できるようにする(背景購読は冪等化して
563
+ // おり、台帳に残ったままだと再送しない)。seq / floor も Hub 世代内の値なので捨てる。
564
+ const timer = backgroundUnwatchTimers.get(message.session);
565
+ if (timer !== undefined)
566
+ clearTimeout(timer);
567
+ backgroundUnwatchTimers.delete(message.session);
568
+ backgroundChatSessions.delete(message.session);
569
+ lastServerSeq.delete(message.session);
570
+ backgroundReplayFloors.delete(message.session);
571
+ // historyBackfillSessions は消さない: 履歴 backfill 途中で retire された会話は「次に世代が変わったら
572
+ // 全履歴を再送する」旗として残す(消すと切れた履歴が二度と配送されない)。
573
+ // retire は処理完了(done)を broadcast しないため、読みモデルの処理中も自分で落として iOS へ
574
+ // 通知する(開いている会話の停止ボタン / 一覧の処理中表示が永久に残らないように)。
575
+ if (processingSessions.delete(message.session)) {
576
+ try {
577
+ writer.write({
578
+ type: "session_processing_state", v: state.negotiatedVersion,
579
+ session: message.session, active: false,
580
+ });
581
+ }
582
+ catch (error) {
583
+ process.stderr.write(`[tailii-host engine] session_processing_state 書込失敗: ${String(error)}\n`);
584
+ }
585
+ }
586
+ // 前面会話でも、ここでは購読を張り直さない: 即時の再購読は Hub に actor を作り直し、heartbeat を
587
+ // 蘇生(chat-open bump)させ、死んだ pane への preview pump / tail を再起動する → 次の tick で
588
+ // 再び retire(kill / reclaim)→ 再購読… の無限ループになる(tick が retire を設けた理由そのもの)。
589
+ // 代わりに「次の処理中通知(hook = claude が実際に動いている)で 1 回だけ張り直す」と記録する
590
+ // (同じ pane で claude が再起動した場合の復帰。死んだ agent は hook を出さないのでループしない)。
591
+ if (activeChatSession.name === message.session)
592
+ pendingForegroundResubscribe.add(message.session);
593
+ return;
594
+ }
518
595
  if (message.type === "conversation_liveness") {
519
596
  // live-pill Phase 2: 一覧 watch 中のみ「稼働中ピルを外して一覧を取り直せ」を送る。
520
597
  // 前面会話の例外は要らない(チャット面は自身の生存を別経路で知る)。
@@ -613,6 +690,9 @@ export async function runEngine(options) {
613
690
  backgroundReplayFloors.clear();
614
691
  historyBackfillSessions.clear();
615
692
  }
693
+ // 再接続の購読ループ(下)が前面会話も張り直すので、retire 起因の張り直し予約は世代の変化に
694
+ // 関わらず不要になる(残すと hook の active で二重に購読する)。
695
+ pendingForegroundResubscribe.clear();
616
696
  // hello snapshot を権威状態として扱う。切断中に完了した会話をローカル Map に
617
697
  // active のまま残すと、一覧の処理中表示と背景購読が永久に残ってしまう。ただし
618
698
  // processingSessions を送らない旧 Hub は「空」ではなく「snapshot 非対応」なので、
@@ -756,12 +836,15 @@ export async function runEngine(options) {
756
836
  hostVersions,
757
837
  accountIdentity,
758
838
  homeDir,
839
+ clientBuildRecordPath,
759
840
  modeTiming: resolvedModeTiming,
841
+ transcriptPathFor,
760
842
  defaultAgent: agent,
761
843
  activeChatSession,
762
844
  listPreviewWatch,
763
845
  processingSessions,
764
846
  backgroundChatSessions,
847
+ watchBackgroundSession,
765
848
  lastServerSeq,
766
849
  codexAppServer,
767
850
  codexTurnController,
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine/engine.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,43 @@ export const codexHandlers = {
17
17
  writeError(writer, v, message.id, "codex_model_list_failed", String(error));
18
18
  }
19
19
  },
20
+ codex_model_set_request: async (message, ctx) => {
21
+ const { writer, state, metadataStore } = ctx;
22
+ const v = state.negotiatedVersion;
23
+ const meta = metadataStore?.get(message.session) ?? null;
24
+ const threadId = meta?.providerSessionId ?? null;
25
+ if (ctx.codexAppServer === null || meta?.agent !== "codex" || threadId === null) {
26
+ writer.write({
27
+ type: "codex_model_set_response",
28
+ v,
29
+ id: message.id,
30
+ model: message.model,
31
+ status: "failed",
32
+ error: "Codex App Server thread が見つかりません。",
33
+ });
34
+ return;
35
+ }
36
+ try {
37
+ await ctx.codexAppServer.setThreadModel(threadId, message.model);
38
+ writer.write({
39
+ type: "codex_model_set_response",
40
+ v,
41
+ id: message.id,
42
+ model: message.model,
43
+ status: "updated",
44
+ });
45
+ }
46
+ catch (error) {
47
+ writer.write({
48
+ type: "codex_model_set_response",
49
+ v,
50
+ id: message.id,
51
+ model: message.model,
52
+ status: "failed",
53
+ error: String(error),
54
+ });
55
+ }
56
+ },
20
57
  codex_turn_start: async (message, ctx) => {
21
58
  const { writer, state, metadataStore } = ctx;
22
59
  const v = state.negotiatedVersion;
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/engine/handlers/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/engine/handlers/codex.ts"],"names":[],"mappings":"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"}
@@ -2,12 +2,25 @@
2
2
  // チャネル制御と host 設定: バージョン交渉(channel_hello)と
3
3
  // 端末バックエンド設定の読み書き(backend_get/backend_set, session-backend)。
4
4
  import { engineDiag } from "../context.js";
5
+ import { recordClientBuild } from "../../shared/clientBuild.js";
5
6
  export const coreHandlers = {
6
7
  channel_hello: (message, ctx) => {
7
8
  const { state } = ctx;
8
9
  // 採用版 = min(自分の maxVersion, 相手の maxVersion)(4.3)。
9
10
  state.negotiatedVersion = Math.min(state.ownMaxVersion, message.maxVersion);
10
- process.stderr.write(`[tailii-host engine] channel_hello negotiated v=${state.negotiatedVersion}\n`);
11
+ // アプリが名乗ったバージョン/ビルド番号を記録する(host-auto-update)。旧アプリは省略する。
12
+ const client = message.clientBuild !== undefined
13
+ ? ` client=${message.clientVersion ?? "?"} (${message.clientBuild})`
14
+ : "";
15
+ process.stderr.write(`[tailii-host engine] channel_hello negotiated v=${state.negotiatedVersion}${client}\n`);
16
+ if (message.clientBuild !== undefined) {
17
+ const advanced = recordClientBuild({
18
+ clientBuild: message.clientBuild,
19
+ ...(message.clientVersion !== undefined ? { clientVersion: message.clientVersion } : {}),
20
+ }, ctx.clientBuildRecordPath);
21
+ if (advanced)
22
+ engineDiag(`latestClientBuild advanced to ${message.clientBuild}`);
23
+ }
11
24
  },
12
25
  backend_get_request: (message, ctx) => {
13
26
  const { writer, state } = ctx;
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/engine/handlers/core.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,2CAA2C;AAC3C,6DAA6D;AAE7D,OAAO,EAAE,UAAU,EAAwB,MAAM,eAAe,CAAC;AAEjE,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,aAAa,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QACtB,kDAAkD;QAClD,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,mDAAmD,KAAK,CAAC,iBAAiB,IAAI,CAC/E,CAAC;IACJ,CAAC;IAED,mBAAmB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACpC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAClC,6CAA6C;QAC7C,UAAU,CAAC,0BAA0B,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC;YACX,IAAI,EAAE,sBAAsB;YAC5B,CAAC;YACD,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE;YAC1B,cAAc,EAAE,GAAG,CAAC,mBAAmB,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;QACpC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAC9B,MAAM,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC;QAClC,6CAA6C;QAC7C,6CAA6C;QAC7C,UAAU,CAAC,0BAA0B,OAAO,CAAC,EAAE,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC9E,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAC9D,MAAM,CAAC,KAAK,CAAC;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,CAAC;gBACD,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC1B,KAAK,EAAE,mDAAmD;aAC3D,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,CAAC,KAAK,CAAC;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,CAAC;gBACD,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,EAAE,EAAE,IAAI;gBACR,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,8BAA8B,OAAO,CAAC,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACzE,MAAM,CAAC,KAAK,CAAC;gBACX,IAAI,EAAE,sBAAsB;gBAC5B,CAAC;gBACD,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,EAAE,EAAE,KAAK;gBACT,OAAO,EAAE,GAAG,CAAC,WAAW,EAAE;gBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;aACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/engine/handlers/core.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,8 @@
3
3
  // Codex TUI 番号付きダイアログへの選択返送(pane_choice_send)。
4
4
  import { parsePermissionMode } from "../../shared/permissionMode.js";
5
5
  import { sleep } from "../../shared/sleep.js";
6
- import { loginCodeErrorMessage } from "../../backend/tmux.js";
6
+ import { inputBoxRealText, inputBoxTextMatchesRecordedPrompt, loginCodeErrorMessage } from "../../backend/tmux.js";
7
+ import { findTrailingUserPromptText } from "../../chat/transcriptTailer.js";
7
8
  import { engineDiag, writeError, } from "../context.js";
8
9
  export const modeHandlers = {
9
10
  mode_get: async (message, ctx) => {
@@ -106,6 +107,14 @@ export const modeHandlers = {
106
107
  writer.write({
107
108
  type: "pane_key_send_result", v, id: message.id, ok: false, error: String(error),
108
109
  });
110
+ return;
111
+ }
112
+ // 中断キーの後は、claude が入力欄へ書き戻した「配送済みだが未処理の発話」を検出する
113
+ // (prompt-cancelled)。結果を待たずに応答を返す(中断の ACK を遅らせない)。
114
+ if (INTERRUPT_KEYS.has(message.key)) {
115
+ void detectCancelledPrompt(ctx, message.session).catch((error) => {
116
+ engineDiag(`prompt-cancelled 検出失敗 session=${message.session}: ${String(error)}`);
117
+ });
109
118
  }
110
119
  },
111
120
  login_code_send: async (message, ctx) => {
@@ -149,6 +158,60 @@ async function runLoginCodeSend(message, ctx) {
149
158
  * 空白・改行・制御文字(ESC 等)だけを落とす(印字可能 ASCII のみ、512 文字以内)。
150
159
  */
151
160
  const LOGIN_CODE_PATTERN = /^[\x21-\x7e]{1,512}$/;
161
+ /** 中断として扱うキー(書き戻し検出の対象)。Up/Down/Enter はダイアログ操作なので対象外。 */
162
+ const INTERRUPT_KEYS = new Set(["C-c", "Escape"]);
163
+ /**
164
+ * 中断キー注入後の書き戻し検出(prompt-cancelled)。
165
+ *
166
+ * Claude Code 2.1.263 は出力が始まる前に中断(C-c / Esc)されると、中断した発話本文を入力欄へ
167
+ * 書き戻す(transcript には user 行が残り、マーカーは書かれない。queued 発話がある中断や出力後の
168
+ * 中断は書き戻さない — sandbox 実測 2026-09-08)。利用者から見ると「送ったはずの文が処理されて
169
+ * いない」状態なので、host が検出して iOS へ `chat_prompt_cancelled` を送り(バブルを「中断で
170
+ * 未処理」+ 再送へ)、入力欄は C-u で空にする(次の注入で連結・重複しないように。Mac 側での
171
+ * 再編集は iOS の再送で代替する)。hub には処理完了を伝える(この中断は Stop hook もマーカーも
172
+ * 無く、hub の処理中状態が残る)。
173
+ *
174
+ * 判定は transcript 末尾の直近の発話本文との同文照合(sendTextSubmit の restored-prompt-discard と
175
+ * 同じ規則)。別文(Mac 側の下書き等)は触らない。codex 会話は App Server 経路なので対象外。
176
+ * 入力欄が見えるまで cancelDetectTimeoutMs までポーリングし、空のままなら何もしない。
177
+ */
178
+ async function detectCancelledPrompt(ctx, session) {
179
+ const { writer, state, sessionManager, metadataStore, modeTiming } = ctx;
180
+ const meta = metadataStore?.get(session) ?? null;
181
+ if (meta === null || meta.agent === "codex")
182
+ return;
183
+ const transcriptPath = ctx.transcriptPathFor(meta);
184
+ if (transcriptPath === null)
185
+ return;
186
+ const deadline = Date.now() + modeTiming.cancelDetectTimeoutMs;
187
+ let pending = "";
188
+ for (;;) {
189
+ await sleep(modeTiming.cancelDetectPollMs);
190
+ let realText = null;
191
+ try {
192
+ realText = inputBoxRealText(await sessionManager.captureVisibleAnsi(session));
193
+ }
194
+ catch {
195
+ realText = null;
196
+ }
197
+ if (realText !== null && realText.replace(/\s+/g, "").length > 0) {
198
+ pending = realText;
199
+ break;
200
+ }
201
+ if (Date.now() >= deadline)
202
+ return;
203
+ }
204
+ const recorded = findTrailingUserPromptText(transcriptPath);
205
+ if (recorded === null || !inputBoxTextMatchesRecordedPrompt(pending, recorded)) {
206
+ engineDiag(`prompt-cancelled 対象外の残存 session=${session}(記録本文と別文 or 記録なし)`);
207
+ return;
208
+ }
209
+ const cleared = await sessionManager.clearInputBox(session);
210
+ engineDiag(`prompt-cancelled session=${session} cleared=${cleared} chars=${recorded.length}`);
211
+ // 入力欄を空にできなくても通知はする(次の注入時に restored-prompt-discard が破棄する)。
212
+ writer.write({ type: "chat_prompt_cancelled", v: state.negotiatedVersion, session, text: recorded });
213
+ ctx.hubLink.send({ type: "session_processing", session, state: "done", event: "prompt-cancelled", atMs: Date.now() });
214
+ }
152
215
  /**
153
216
  * pane_key_send が受理する制御キー(tmux 互換キー名)。テキスト注入経路には使わせない。
154
217
  * Up/Down/Enter は Claude TUI の選択ダイアログ(/remote-control 等)の転写カードから
@@ -1 +1 @@
1
- {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../../src/engine/handlers/mode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mode.js","sourceRoot":"","sources":["../../../src/engine/handlers/mode.ts"],"names":[],"mappings":"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"}