tailii-host 0.5.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 (123) 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 +60 -6
  4. package/dist/backend/herdr.js +180 -27
  5. package/dist/backend/herdr.js.map +1 -1
  6. package/dist/backend/sessionBackend.d.ts +22 -3
  7. package/dist/backend/sessionBackend.js +11 -2
  8. package/dist/backend/sessionBackend.js.map +1 -1
  9. package/dist/backend/tmux.d.ts +197 -3
  10. package/dist/backend/tmux.js +565 -16
  11. package/dist/backend/tmux.js.map +1 -1
  12. package/dist/chat/chatTailController.d.ts +4 -2
  13. package/dist/chat/chatTailController.js +19 -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.d.ts +10 -0
  19. package/dist/chat/subagentTailer.js +234 -51
  20. package/dist/chat/subagentTailer.js.map +1 -1
  21. package/dist/chat/subagentTranscript.js +51 -5
  22. package/dist/chat/subagentTranscript.js.map +1 -1
  23. package/dist/chat/transcriptTailer.d.ts +53 -1
  24. package/dist/chat/transcriptTailer.js +313 -2
  25. package/dist/chat/transcriptTailer.js.map +1 -1
  26. package/dist/codex/codexAppServer.d.ts +54 -9
  27. package/dist/codex/codexAppServer.js +495 -76
  28. package/dist/codex/codexAppServer.js.map +1 -1
  29. package/dist/codex/codexNativeTurnController.d.ts +22 -1
  30. package/dist/codex/codexNativeTurnController.js +76 -11
  31. package/dist/codex/codexNativeTurnController.js.map +1 -1
  32. package/dist/codex/codexRolloutTailer.d.ts +3 -0
  33. package/dist/codex/codexRolloutTailer.js +85 -13
  34. package/dist/codex/codexRolloutTailer.js.map +1 -1
  35. package/dist/codex/codexSessionStore.js +54 -16
  36. package/dist/codex/codexSessionStore.js.map +1 -1
  37. package/dist/codex/codexSubagentTracker.d.ts +13 -0
  38. package/dist/codex/codexSubagentTracker.js +55 -1
  39. package/dist/codex/codexSubagentTracker.js.map +1 -1
  40. package/dist/codex/codexSystemNotice.d.ts +18 -0
  41. package/dist/codex/codexSystemNotice.js +212 -0
  42. package/dist/codex/codexSystemNotice.js.map +1 -0
  43. package/dist/commands/launch.js +50 -13
  44. package/dist/commands/launch.js.map +1 -1
  45. package/dist/engine/context.d.ts +32 -1
  46. package/dist/engine/context.js +39 -3
  47. package/dist/engine/context.js.map +1 -1
  48. package/dist/engine/engine.d.ts +5 -1
  49. package/dist/engine/engine.js +87 -4
  50. package/dist/engine/engine.js.map +1 -1
  51. package/dist/engine/handlers/accountUsage.d.ts +17 -0
  52. package/dist/engine/handlers/accountUsage.js +40 -6
  53. package/dist/engine/handlers/accountUsage.js.map +1 -1
  54. package/dist/engine/handlers/codex.js +37 -0
  55. package/dist/engine/handlers/codex.js.map +1 -1
  56. package/dist/engine/handlers/core.js +14 -1
  57. package/dist/engine/handlers/core.js.map +1 -1
  58. package/dist/engine/handlers/mode.js +105 -1
  59. package/dist/engine/handlers/mode.js.map +1 -1
  60. package/dist/engine/handlers/session.js +17 -33
  61. package/dist/engine/handlers/session.js.map +1 -1
  62. package/dist/engine/handlers/usage.js +4 -1
  63. package/dist/engine/handlers/usage.js.map +1 -1
  64. package/dist/engine/handlers/workspace.js +22 -1
  65. package/dist/engine/handlers/workspace.js.map +1 -1
  66. package/dist/hub/effortDialog.d.ts +15 -0
  67. package/dist/hub/effortDialog.js +60 -16
  68. package/dist/hub/effortDialog.js.map +1 -1
  69. package/dist/hub/engineRelaySocket.d.ts +7 -0
  70. package/dist/hub/engineRelaySocket.js +7 -1
  71. package/dist/hub/engineRelaySocket.js.map +1 -1
  72. package/dist/hub/hubDaemon.js +30 -5
  73. package/dist/hub/hubDaemon.js.map +1 -1
  74. package/dist/hub/hubProtocol.d.ts +10 -0
  75. package/dist/hub/hubProtocol.js +19 -2
  76. package/dist/hub/hubProtocol.js.map +1 -1
  77. package/dist/hub/panePreviewPump.d.ts +27 -0
  78. package/dist/hub/panePreviewPump.js +62 -1
  79. package/dist/hub/panePreviewPump.js.map +1 -1
  80. package/dist/hub/sessionHub.d.ts +125 -4
  81. package/dist/hub/sessionHub.js +413 -48
  82. package/dist/hub/sessionHub.js.map +1 -1
  83. package/dist/protocol/decode.js +84 -15
  84. package/dist/protocol/decode.js.map +1 -1
  85. package/dist/protocol/encode.js +2 -0
  86. package/dist/protocol/encode.js.map +1 -1
  87. package/dist/protocol/messages.d.ts +87 -1
  88. package/dist/services/accountIdentity.js +3 -1
  89. package/dist/services/accountIdentity.js.map +1 -1
  90. package/dist/services/fileService.d.ts +15 -0
  91. package/dist/services/fileService.js +176 -14
  92. package/dist/services/fileService.js.map +1 -1
  93. package/dist/services/officialApps.d.ts +21 -1
  94. package/dist/services/officialApps.js +201 -53
  95. package/dist/services/officialApps.js.map +1 -1
  96. package/dist/services/planUsageFetcher.d.ts +35 -3
  97. package/dist/services/planUsageFetcher.js +34 -6
  98. package/dist/services/planUsageFetcher.js.map +1 -1
  99. package/dist/services/previewServer.js +15 -6
  100. package/dist/services/previewServer.js.map +1 -1
  101. package/dist/sessions/claudeSessionStore.js +30 -0
  102. package/dist/sessions/claudeSessionStore.js.map +1 -1
  103. package/dist/sessions/heartbeat.d.ts +7 -1
  104. package/dist/sessions/heartbeat.js +3 -1
  105. package/dist/sessions/heartbeat.js.map +1 -1
  106. package/dist/sessions/sessionSearch.js +23 -5
  107. package/dist/sessions/sessionSearch.js.map +1 -1
  108. package/dist/sessions/transcriptPath.d.ts +3 -0
  109. package/dist/sessions/transcriptPath.js +15 -0
  110. package/dist/sessions/transcriptPath.js.map +1 -0
  111. package/dist/shared/clientBuild.d.ts +26 -0
  112. package/dist/shared/clientBuild.js +89 -0
  113. package/dist/shared/clientBuild.js.map +1 -0
  114. package/dist/shared/crossSession.d.ts +15 -0
  115. package/dist/shared/crossSession.js +75 -0
  116. package/dist/shared/crossSession.js.map +1 -0
  117. package/dist/shared/harnessReminder.d.ts +32 -0
  118. package/dist/shared/harnessReminder.js +124 -0
  119. package/dist/shared/harnessReminder.js.map +1 -0
  120. package/dist/shared/systemNotice.d.ts +30 -0
  121. package/dist/shared/systemNotice.js +209 -0
  122. package/dist/shared/systemNotice.js.map +1 -0
  123. package/package.json +3 -3
@@ -159,6 +159,16 @@ export async function runHookCore(options) {
159
159
  * ファイルも更新する(失敗は握り潰し=ゲート/監査へ影響させない)。
160
160
  * `engineRelaySocketPath: null` は「送らない」明示指定(テスト密閉用)。
161
161
  */
162
+ /**
163
+ * hook の発火時刻(Unix ms)。Claude Code は hook を event 発生時に spawn するため、node の起動遅延
164
+ * (実測 100〜300ms)を含む `Date.now()` ではなく、process.uptime() を差し引いた「プロセス開始時刻」が
165
+ * event 発生時刻に最も近い。Hub はこれを transcript のターン終端行(中断確定 / API エラー)の
166
+ * timestamp と比べ、「終端より前に発火した hook = 既に終わったターンの遅着」を判定する
167
+ * (late-hook-before-turn-end)。同一マシンの時計なので transcript 側と直接比較できる。
168
+ */
169
+ function hookSpawnedAtMs() {
170
+ return Date.now() - Math.round(process.uptime() * 1000);
171
+ }
162
172
  async function notifySessionProcessing(options, session, state, event) {
163
173
  // heartbeat は engine の生死と無関係に書ける唯一の経路(reaper daemon が読む)。
164
174
  // session 未解決("default")は書かない — 実在しない tmux 名の残骸ファイルを作らない。
@@ -177,7 +187,7 @@ async function notifySessionProcessing(options, session, state, event) {
177
187
  if (options.engineRelaySocketPath === null)
178
188
  return;
179
189
  try {
180
- const message = { type: "session_processing", session, state };
190
+ const message = { type: "session_processing", session, state, event, atMs: hookSpawnedAtMs() };
181
191
  // best-effort・短予算(60ms): engine 不在時にゲート/監査を遅らせない。
182
192
  if (options.engineRelaySocketPath !== undefined) {
183
193
  await sendSessionProcessingToEngine(message, options.engineRelaySocketPath, 60);
@@ -1 +1 @@
1
- {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/approval/hook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook.js","sourceRoot":"","sources":["../../src/approval/hook.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,2DAA2D;AAC3D,EAAE;AACF,mFAAmF;AACnF,EAAE;AACF,iCAAiC;AACjC,2DAA2D;AAC3D,qDAAqD;AACrD,wDAAwD;AACxD,oDAAoD;AACpD,sEAAsE;AACtE,2EAA2E;AAC3E,0EAA0E;AAC1E,qDAAqD;AACrD,mDAAmD;AACnD,EAAE;AACF,6BAA6B;AAC7B,yDAAyD;AACzD,6DAA6D;AAC7D,yCAAyC;AACzC,+DAA+D;AAC/D,8DAA8D;AAC9D,iDAAiD;AACjD,EAAE;AACF,iEAAiE;AACjE,EAAE;AACF,sDAAsD;AACtD,6CAA6C;AAE7C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAE3B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAA0B,MAAM,oBAAoB,CAAC;AACtF,OAAO,EACL,WAAW,EACX,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,gBAAgB,CAAC;AAExB,aAAa;AAEb;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,CAAC;AAElD,iDAAiD;AACjD,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,CAAC;AAEvD,sCAAsC;AACtC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAE/F,6DAA6D;AAC7D,MAAM,UAAU,wBAAwB;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC;AAuBD,0CAA0C;AAC1C,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,CAAC;AAEhD,mCAAmC;AACnC,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAgD/C,gEAAgE;AAChE,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAuB;IACvD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;IAC7C,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAChD,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAElD,iCAAiC;IACjC,kDAAkD;IAClD,gEAAgE;IAChE,+DAA+D;IAC/D,IAAI,MAAM,CAAC,SAAS,KAAK,kBAAkB,IAAI,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QAC3E,IAAI,MAAM,CAAC,SAAS,KAAK,kBAAkB,EAAE,CAAC;YAC5C,wDAAwD;YACxD,IAAI,CAAC;gBACH,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QACD,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACnH,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,KAAK,aAAa,EAAE,CAAC;QACvC,8CAA8C;QAC9C,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5E,kEAAkE;QAClE,IAAI,MAAM,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YAC1C,MAAM,mBAAmB,CAAC,OAAO,EAAE;gBACjC,IAAI,EAAE,gBAAgB;gBACtB,OAAO;gBACP,KAAK,EAAE,SAAS;gBAChB,EAAE,EAAE,MAAM,CAAC,SAAS;aACrB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClE,CAAC;IAED,4BAA4B;IAC5B,2CAA2C;IAC3C,MAAM,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE5E,2DAA2D;IAC3D,sDAAsD;IACtD,yDAAyD;IACzD,sEAAsE;IACtE,oDAAoD;IACpD,wFAAwF;IACxF,6DAA6D;IAC7D,IAAI,MAAM,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,sBAAsB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,mBAAmB,CAAC,OAAO,EAAE;gBACjC,IAAI,EAAE,gBAAgB;gBACtB,OAAO;gBACP,KAAK,EAAE,QAAQ;gBACf,EAAE,EAAE,MAAM,CAAC,SAAS;gBACpB,SAAS;aACV,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAC/E,CAAC;IAED,sDAAsD;IACtD,yDAAyD;IACzD,uDAAuD;IACvD,sCAAsC;IACtC,oDAAoD;IACpD,wDAAwD;IACxD,4CAA4C;IAC5C,MAAM,eAAe,GAAG,sBAAsB,CAC5C,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC,EAC3D,MAAM,CAAC,QAAQ,CAChB,CAAC;IACF,IAAI,eAAe,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,eAAe,CAAC,CAAC;IAE5D,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE1D,8DAA8D;IAC9D,2BAA2B;IAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,eAAe,GAAG,IAAI,CAAC;IAEzD,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAChC,qDAAqD;QACrD,OAAO,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,MAAM,EAAE,CAAC;QACX,4CAA4C;QAC5C,OAAO,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IACrF,CAAC;IAED,4CAA4C;IAC5C,OAAO,+BAA+B,CACpC,OAAO,CAAC,UAAU,EAClB,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,UAAU,EAAE,EACZ,KAAK,CACN,CAAC;AACJ,CAAC;AAED,4BAA4B;AAE5B;;;;GAIG;AACH;;;;;;GAMG;AACH,SAAS,eAAe;IACtB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,OAAuB,EACvB,OAAe,EACf,KAAwB,EACxB,KAAa;IAEb,0DAA0D;IAC1D,0DAA0D;IAC1D,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAChE,IAAI,CAAC;YACH,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,OAAO,EAAE;gBAC5C,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;gBACjC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ;gBAC3C,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,qBAAqB,KAAK,IAAI;QAAE,OAAO;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,EAAW,CAAC;QACxG,kDAAkD;QAClD,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,6BAA6B,CAAC,OAAO,EAAE,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,CAAC;YACN,MAAM,6BAA6B,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,mBAAmB,CAChC,OAAuB,EACvB,OAA6B;IAE7B,IAAI,OAAO,CAAC,qBAAqB,KAAK,IAAI;QAAE,OAAO;IACnD,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,yBAAyB,CAAC,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC;AAED,+CAA+C;AAE/C,0EAA0E;AAC1E,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;AAEnF;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAmB,EAAE,QAAgB;IAC1E,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,qCAAqC,CAAC;IAClE,IAAI,IAAI,KAAK,aAAa,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/D,OAAO,wCAAwC,CAAC;IAClD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,qBAAqB,CAClC,OAAuB,EACvB,kBAAsC;IAEtC,IAAI,kBAAkB,KAAK,SAAS;QAAE,OAAO,kBAAkB,CAAC;IAChE,IAAI,OAAO,CAAC,sBAAsB,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC9D,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAAe,EACf,WAAW,GAAG,IAAI;IAElB,OAAO,KAAK,IAAI,EAAE;QAChB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBAC9B,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC;gBAC5B,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACpC,CAAC,CAAC;YACH,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,sCAAsC;AAEtC;;;;;;;GAOG;AACH,KAAK,UAAU,+BAA+B,CAC5C,UAAkB,EAClB,MAAwB,EACxB,OAAe,EACf,IAA0B,EAC1B,OAAuB,EACvB,YAAoB,EACpB,SAAiB,EACjB,qBAA8B;IAE9B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;IAC7C,IAAI,OAAO,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,yBAAyB,CAAC;YAC9B,IAAI,EAAE,gBAAgB;YACtB,CAAC,EAAE,WAAW;YACd,EAAE,EAAE,SAAS;YACb,OAAO;YACP,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,MAAM,CAAC,QAAQ;YACrB,OAAO;SACR,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACrE,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC;gBAAC,OAAO,CAAC,YAAY,EAAE,aAAa,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;QACrG,CAAC;aAAM,CAAC;YACN,MAAM,kBAAkB,CACtB,OAAO,CAAC,QAAQ,EAChB,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,EACzD,OAAO,CAAC,mBAAmB,IAAI,IAAI,CACpC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,oBAAoB,GACxB,OAAO,CAAC,2BAA2B,IAAI,mCAAmC,CAAC;IAC7E,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACvF,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,qBAAqB,CAC1B,WAAW,EACX,MAAM,EACN,OAAO,EACP,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,SAAS,EACT,qBAAqB,CACtB,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,OAAO,IAAI,CAAC,2CAA2C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAClG,CAAC;AAED,sDAAsD;AAEtD,KAAK,UAAU,qBAAqB,CAClC,MAAkB,EAClB,MAAwB,EACxB,OAAe,EACf,IAA0B,EAC1B,OAAuB,EACvB,YAAoB,EACpB,iBAA0B,EAC1B,qBAAqB,GAAG,KAAK;IAE7B,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,IAAI,UAAU,EAAE,CAAC;QAEpD,uDAAuD;QACvD,wCAAwC;QACxC,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACtE,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/E,CAAC;QAED,MAAM,OAAO,GAAG,oBAAoB,CAAC;YACnC,IAAI,EAAE,kBAAkB;YACxB,CAAC,EAAE,WAAW;YACd,EAAE,EAAE,SAAS;YACb,IAAI,EAAE,MAAM,CAAC,QAAQ;YACrB,OAAO;YACP,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;YACjD,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACnF,OAAO,+BAA+B,CACpC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAClF,CAAC;QACJ,CAAC;QAED,oDAAoD;QACpD,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;QACvE,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,OAAO;gBACV,MAAM,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACrD,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,oBAAoB,CAAC,CAAC;YACvD,KAAK,MAAM;gBACT,MAAM,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,kBAAkB,CAAC,CAAC;YACpD,KAAK,SAAS;gBACZ,MAAM,0BAA0B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACrD,OAAO,IAAI,CAAC,sBAAsB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC5E,KAAK,cAAc;gBACjB,qDAAqD;gBACrD,4CAA4C;gBAC5C,2CAA2C;gBAC3C,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI;oBAAE,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACpE,OAAO,+BAA+B,CACpC,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,CAClF,CAAC;QACN,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CACvC,EAAU,EACV,OAAuB;IAEvB,IAAI,OAAO,CAAC,qBAAqB,KAAK,IAAI;QAAE,OAAO;IACnD,MAAM,yBAAyB,CAAC;QAC9B,IAAI,EAAE,wBAAwB;QAC9B,CAAC,EAAE,WAAW;QACd,EAAE;QACF,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,SAAS;QACrC,IAAI,EAAE,UAAU;KACjB,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACpD,CAAC;AASD;;;;GAIG;AACH,SAAS,eAAe,CACtB,MAAkB,EAClB,UAAkB,EAClB,YAAoB;IAEpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,GAAG,GAAW,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,MAAM,MAAM,GAAG,CAAC,OAAwB,EAAQ,EAAE;YAChD,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC3C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7C,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAC7C,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,MAAM,MAAM,GAAG,CAAC,KAAa,EAAQ,EAAE;YACrC,GAAG,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;YAC7D,IAAI,GAAW,CAAC;YAChB,OAAO,CAAC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBAClC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;gBAC5B,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;gBAC/C,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,MAAM,CAAC,OAAO,CAAC,CAAC;oBAChB,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QAElE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACpF,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YACnB,kCAAkC;YAClC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,IAAY,EAAE,UAAkB;IACpD,0CAA0C;IAC1C,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,mBAAmB;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,OAAO,CAAC,EAAE,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS;QACjC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE;QACpD,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;AACjC,CAAC;AAED,6CAA6C;AAE7C,qEAAqE;AACrE,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACvC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1B,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YACnC,uDAAuD;YACvD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACxB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CACzB,UAAkB,EAClB,YAAoB,EACpB,eAAuB;IAEvB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACvE,SAAS,CAAC;QACR,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5C,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAChC,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,uCAAuC;AAEvC,yDAAyD;AACzD,KAAK,UAAU,aAAa,CAAC,KAAgC,EAAE,OAAe;IAC5E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,KAAgD,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC5C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,4BAA4B,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;YAAS,CAAC;QACT,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,UAAkB,EAClB,SAAS,GAAG,2BAA2B;IAEvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,GAAG,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,MAAM,GAAG,CAAC,KAAqB,EAAQ,EAAE;YAC7C,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;QACrE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjC,SAAS,CAAC;gBACR,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACrC,IAAI,OAAO,GAAG,CAAC;oBAAE,MAAM;gBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACtC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACnC,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,OAAO,EAAE,IAAI,KAAK,mBAAmB,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC9F,MAAM,CAAC,OAAO,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC;oBACpC,OAAO;gBACT,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,iBAAiB,CAC/B,MAAM,GAAsB,wBAAwB,EAAE,EACtD,aAAsB;IAEtB,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,IAAI,CAAC,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,cAAc,CAAC;QACzE,MAAM,sBAAsB,GAAG,aAAa,IAAI,oBAAoB,EAAE,CAAC;QACvE,OAAO,MAAM,kBAAkB,CAAC,OAAO,EAAE,sBAAsB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IACnG,CAAC,CAAC;AACJ,CAAC;AAED,uDAAuD;AACvD,KAAK,UAAU,kBAAkB,CAC/B,QAA8B,EAC9B,OAA4B,EAC5B,WAAmB;IAEnB,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAC3F,CAAC;AAED,8BAA8B;AAE9B,SAAS,cAAc,CACrB,MAAwB,EACxB,OAAe,EACf,eAAmC;IAEnC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;QAClC,iDAAiD;QACjD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,eAAe,CAAC,CAAC;IAChD,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC;IAChD,IAAI,CAAC;QACH,GAAG,CAAC,MAAM,CACR,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAC/E,OAAO,EACP,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAC9B,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAED,qCAAqC;AAErC,iFAAiF;AACjF,SAAS,oBAAoB,CAC3B,SAAkC,EAClC,iBAAyB,EACzB,IAAY;IAEZ,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,6BAA6B;IAC/B,CAAC;IACD,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,uEAAuE;QACvE,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;QAC/D,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,OAAO,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,CAAC;QAAC,MAAM,CAAC;YACP,yBAAyB;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,SAAS,UAAU,CAAC,SAAkC;IACpD,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,CAAC;QACzD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACvD,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,qCAAqC;AAErC,sCAAsC;AACtC,SAAS,YAAY,CAAC,QAAgB,EAAE,SAAkC;IACxE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;YAC/E,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QACD,KAAK,OAAO,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,eAAe,QAAQ,EAAE,CAAC;YAC1F,OAAO,cAAc,CAAC;QACxB,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;gBAAE,OAAO,cAAc,QAAQ,EAAE,CAAC;YACzF,OAAO,aAAa,CAAC;QACvB,CAAC;QACD,KAAK,cAAc,EAAE,CAAC;YACpB,kDAAkD;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC7C,CAAC,CAAE,SAAS,CAAC,OAAO,CAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;gBACrG,CAAC,CAAC,EAAE,CAAC;YACP,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,mBAAmB,CAAC;YACnD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;YACxD,OAAO,cAAc,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,CAAC;QACD;YACE,OAAO,aAAa,QAAQ,EAAE,CAAC;IACnC,CAAC;AACH,CAAC;AAED,wCAAwC;AACxC,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED,uFAAuF;AACvF,SAAS,SAAS,CAAC,QAAgB,EAAE,SAAkC;IACrE,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5E,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACjG,CAAC;QACD,KAAK,MAAM,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YAC1C,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YAC1C,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;gBACzD,SAAS,EAAE,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;aAC1D,CAAC;QACJ,CAAC;QACD;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAiBD,4CAA4C;AAC5C,SAAS,eAAe,CAAC,IAAY;IACnC,MAAM,MAAM,GAAqB;QAC/B,SAAS,EAAE,YAAY;QACvB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,EAAE;QACb,GAAG,EAAE,EAAE;QACP,SAAS,EAAE,EAAE;KACd,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC;IACrC,IAAI,GAAY,CAAC;IACjB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,MAAM,CAAC;IACjF,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,IAAI,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,QAAQ;QAAE,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ;QAAE,MAAM,CAAC,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,SAAS,GAAG,SAAoC,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,KAAK,CAAC,KAAK,QAAQ;QAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,CAAC,iBAAiB,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/C,MAAM,CAAC,cAAc,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5E,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,OAAO,GAAG,CAAC,YAAY,CAAC,KAAK,QAAQ,EAAE,CAAC;QACjD,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClF,MAAM,QAAQ,GAAI,QAAoC,CAAC,oBAAoB,CAAC,CAAC;QAC7E,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAAE,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,kCAAkC;AAElC;;;;;GAKG;AACH,SAAS,YAAY,CAAC,UAA4B,EAAE,MAAc;IAChE,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,kBAAkB,EAAE;YAClB,aAAa,EAAE,YAAY;YAC3B,kBAAkB,EAAE,UAAU;YAC9B,wBAAwB,EAAE,MAAM;SACjC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,KAAK,CAAC,MAAc;IAC3B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;AAChE,CAAC;AAED,SAAS,IAAI,CAAC,MAAc;IAC1B,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;AAC/D,CAAC;AAED,uBAAuB;AAEvB;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,IAAc;IACjD,IAAI,SAAS,GAAkB,IAAI,CAAC;IACpC,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,eAAe,GAAG,8BAA8B,CAAC;IACrD,IAAI,oBAAoB,GAAG,mCAAmC,CAAC;IAC/D,mEAAmE;IACnE,kCAAkC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,GAAkB,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5E,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,KAAK,UAAU;gBACb,SAAS,GAAG,IAAI,EAAE,CAAC;gBACnB,MAAM;YACR,KAAK,WAAW;gBACd,UAAU,GAAG,IAAI,EAAE,CAAC;gBACpB,MAAM;YACR,KAAK,YAAY,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACjE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,eAAe,GAAG,KAAK,CAAC;gBACpD,MAAM;YACR,CAAC;YACD,KAAK,kBAAkB,EAAE,CAAC;gBACxB,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;gBACnB,MAAM,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACjE,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,oBAAoB,GAAG,KAAK,CAAC;gBACzD,MAAM;YACR,CAAC;YACD,KAAK,cAAc;gBACjB,YAAY,GAAG,IAAI,EAAE,CAAC;gBACtB,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,MAAM,gBAAgB,GACpB,UAAU,KAAK,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1E,IAAI,UAAU,GAAkB,IAAI,CAAC;IACrC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;SAAM,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,UAAU,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,UAAU,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,0BAA0B,EAAE,CAAC;IACtD,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;QAC7C,SAAS;QACT,UAAU;QACV,eAAe;QACf,OAAO,EAAE,gBAAgB,IAAI,SAAS;QACtC,eAAe,EAAE,sBAAsB,EAAE;QACzC,iBAAiB,EACf,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,wBAAwB,EAAE;QACzF,QAAQ,EAAE,0BAA0B,EAAE;QACtC,YAAY;QACZ,2BAA2B,EAAE,oBAAoB;QACjD,YAAY,EAAE,mBAAmB,EAAE;QACnC,SAAS,EAAE,eAAe;QAC1B,gEAAgE;QAChE,uBAAuB;QACvB,GAAG,CAAC,gBAAgB,KAAK,IAAI;YAC3B,CAAC,CAAC;gBACE,sBAAsB,EAAE,8BAA8B,CAAC,gBAAgB,CAAC;gBACxE,aAAa,EAAE,iBAAiB,EAAE;aACnC;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpC,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { type SessionInfo } from "../protocol.js";
2
2
  import { SessionMetadataStore } from "../sessions/sessionMetadataStore.js";
3
- import { type CapturePaneOptions, type ReattachResult } from "./tmux.js";
3
+ import { type CapturePaneOptions, type ReattachResult, type SendTextSubmitOptions } from "./tmux.js";
4
4
  /** herdr コマンド 1 回分の実行結果。 */
5
5
  export interface HerdrCommandResult {
6
6
  exitCode: number;
@@ -21,6 +21,14 @@ export declare function defaultHerdrPath(): string;
21
21
  export declare const HERDR_TAILII_SESSION = "tailii";
22
22
  /** herdr が導入済みか(backend_get の可用性表示・backend_set の検証に使う)。 */
23
23
  export declare function herdrInstalled(herdrPath?: string): boolean;
24
+ /**
25
+ * 起動直後の生存判定猶予(秒)。`tab create` → pane の初期シェル → `exec zsh -lc` → claude exec
26
+ * の間は `pane process-info` の前面がシェル名に見える。この窓で「シェルだけ=死亡」と判定すると、
27
+ * 直後の reattach(iOS は prepare ack の約 0.5〜1 秒後に送る)が生きた pane を閉じて resume
28
+ * 再起動し、二重起動と backend 欄無しの応答(iOS で herdr 会話が tmux 表示)を招く
29
+ * (2026-09-06 実機で発症)。窓内のシェル前面は「起動中」として生存扱いにする。
30
+ */
31
+ export declare const HERDR_LAUNCH_GRACE_SECONDS = 20;
24
32
  /**
25
33
  * 実 herdr を起動する既定ランナー。herdr 非0 exit は throw せず結果で表現する。
26
34
  * `sessionName`(既定 tailii)を `--session` として全コマンドに前置する。
@@ -113,6 +121,13 @@ export declare class HerdrSessionManager {
113
121
  /** 注入前の claude 検出待ちの上限/間隔 ms(テスト注入用)。 */
114
122
  private readonly readyTimeoutMs;
115
123
  private readonly readyPollMs;
124
+ /** 注入前の入力欄描画待ちの上限 ms(起動直後の TUI へ打たない, boot-gate。テスト注入用)。 */
125
+ private readonly inputBoxReadyTimeoutMs;
126
+ /** login-code 送出後にコード欄の消滅を待つポーリング間隔 / 上限 ms(テスト注入用)。 */
127
+ private readonly loginPollMs;
128
+ private readonly loginSettleMs;
129
+ /** 現在時刻(Unix 秒)。起動直後の猶予判定に使う(テスト注入用)。 */
130
+ private readonly now;
116
131
  constructor(options?: {
117
132
  runner?: HerdrCommandRunner;
118
133
  store?: SessionMetadataStore;
@@ -124,6 +139,10 @@ export declare class HerdrSessionManager {
124
139
  clearKeyDelayMs?: number;
125
140
  readyTimeoutMs?: number;
126
141
  readyPollMs?: number;
142
+ inputBoxReadyTimeoutMs?: number;
143
+ loginPollMs?: number;
144
+ loginSettleMs?: number;
145
+ now?: () => number;
127
146
  });
128
147
  /**
129
148
  * herdr 担当(メタの backend=herdr)のセッションを name/cwd/alive で列挙する(name 昇順)。
@@ -153,6 +172,12 @@ export declare class HerdrSessionManager {
153
172
  reattach(name: string): Promise<ReattachResult>;
154
173
  /** pane 内のエージェント生存判定。herdr エラーや空出力は二重起動を避けて true に倒す。 */
155
174
  agentProcessAlive(name: string): Promise<boolean>;
175
+ /**
176
+ * メタの createdAt(launch 時刻。launcher は pane 再利用時に更新しない)が猶予窓内か。
177
+ * 未記録は窓外(従来どおりの判定)。時計の巻き戻りで経過が負になった場合も窓外に倒し、
178
+ * 猶予が恒久化しないようにする。
179
+ */
180
+ private launchedWithinGrace;
156
181
  /**
157
182
  * 会話カスタムタイトルの端末表示追随(session-title): pane を収容するタブのラベルを
158
183
  * 書き換える(`tab rename`)。pane の label はセッション解決の権威(findPane の
@@ -171,7 +196,15 @@ export declare class HerdrSessionManager {
171
196
  * よって「本文 → CR → 入力欄を読んで残留確認 → 残っていれば CR 再送」の確認つき
172
197
  * リトライで確定させる。submit 済みの空入力への Enter は no-op なので二重送信は起きない。
173
198
  */
174
- sendTextSubmit(name: string, text: string): Promise<void>;
199
+ sendTextSubmit(name: string, text: string, options?: SendTextSubmitOptions): Promise<void>;
200
+ /**
201
+ * `/login` の OAuth コードをコード入力欄へ渡して確定する(login_code_send)。
202
+ * コード入力待ちの画面(`Paste code here if prompted >`)でなければ何も送らず throw する
203
+ * (通常入力欄へコードが本文として流れるのを防ぐ)。本文→CR は sendTextSubmit と同じ
204
+ * 間隔で送り、CR が飲まれてコード欄が残っていれば 1 回だけ CR を再送する
205
+ * (成功=入力欄復帰・失敗=`Press Enter to retry` のどちらでもコード欄は消える)。
206
+ */
207
+ sendLoginCode(name: string, code: string): Promise<void>;
175
208
  /**
176
209
  * 入力欄に probe テキストが反映されているか。
177
210
  * ペイン履歴の同文エコー(同一メッセージの再送時など)を誤って「入力済み」と
@@ -190,12 +223,13 @@ export declare class HerdrSessionManager {
190
223
  * - 上限回数で空にならない(1回150ms×15回=2.25s。iOS の chat_send ACK 予算 18s の
191
224
  * 内側で速やかに諦めて明示再送へ倒す)
192
225
  *
193
- * トレードオフ(意図的な設計判断): 中断直後に claude が queued 本文を composer へ
194
- * 書き戻すタイミングと重なると、そのテキストも C-u で消える(receipt なしの破棄)。
226
+ * トレードオフ(意図的な設計判断): 中断直後に claude が本文を composer へ書き戻す
227
+ * タイミングと重なると、そのテキストも C-u で消える(receipt なしの破棄)。
195
228
  * 再投入前クリアを省くと「本文二重化」という別のデータ破損になるため、注入経路では
196
- * 「重複より欠落」を選ぶ(残存の主経路は sendTextSubmit 冒頭の Enter flush が先に守る)。
229
+ * 「重複より欠落」を選ぶ(残存の主経路は sendTextSubmit 冒頭の身元判定 — 記録済みの
230
+ * 発話は破棄 / それ以外は Enter flush — が先に守る。restored-prompt-discard)。
197
231
  */
198
- private clearInputBox;
232
+ clearInputBox(name: string): Promise<boolean>;
199
233
  /**
200
234
  * 入力欄がシェルモード(プロンプト `!`)なら Backspace でモード記号を消し、通常入力へ戻す。
201
235
  * 本文が残っている状態では呼ばない(呼び出し元が Enter で送信し切ってから使う)。
@@ -213,6 +247,8 @@ export declare class HerdrSessionManager {
213
247
  * 不要な Esc で入力欄の打ちかけを「送信されないまま」消してしまう)。
214
248
  */
215
249
  private selectionDialogVisible;
250
+ /** ダイアログ判定用の末尾 30 行窓(capture 失敗=判定不能は null)。 */
251
+ private captureDialogWindow;
216
252
  /**
217
253
  * claude TUI の入力準備完了(herdr の agent 検出が unknown を抜ける)を待つ。
218
254
  * 0.7.5 で `agent get <name>` は常に agent_not_found(レジストリが herdr 自動検出のみで
@@ -222,6 +258,15 @@ export declare class HerdrSessionManager {
222
258
  * pane not found で正しく失敗する)。
223
259
  */
224
260
  private waitForAgentReady;
261
+ /**
262
+ * claude TUI の入力欄(composer)が描画されるまで待つ(boot-gate)。
263
+ * `waitForAgentReady` は claude プロセスの起動(herdr の agent 検出)を見るだけで、TUI が
264
+ * 入力欄を描くまでの窓(起動バナー/初期シェルのエコーだけの画面)は通過してしまう。
265
+ * 入力欄の罫線が見えるか、後続の門番が扱う画面(`/login` フロー・選択ダイアログ)に
266
+ * なったら true。capture 不能は fail-open(後続の判定・送出エラーで顕在化させる)。
267
+ * 上限まで現れなければ false(呼び出し側は 1 キーも打たずに throw する)。
268
+ */
269
+ private waitForInputBoxRendered;
225
270
  /**
226
271
  * claude TUI の入力欄に未送信テキストが残っているか。
227
272
  * 送信済みメッセージのエコーも `❯` で始まるため、入力欄(末尾の罫線に挟まれた領域)
@@ -229,6 +274,15 @@ export declare class HerdrSessionManager {
229
274
  * (fail-open。誤リトライしても空入力 Enter の no-op で無害だが、無限再送はしない側に倒す)。
230
275
  */
231
276
  private inputBoxHasPendingText;
277
+ /**
278
+ * 入力欄の未送信「実テキスト」(faint の提案/プレースホルダーを除く)。判定不能は ""
279
+ * (= 残存なし扱い。inputBoxHasPendingText と同じ fail-open)。
280
+ */
281
+ private inputBoxPendingText;
282
+ /** 入力欄判定用に viewport 全体を ANSI 付きで取る(faint 属性で提案/プレースホルダーを見分ける)。 */
283
+ private captureVisibleScreenAnsi;
284
+ /** SessionBackend: プロンプト提案抽出用の viewport ANSI キャプチャ。 */
285
+ captureVisibleAnsi(name: string): Promise<string>;
232
286
  /**
233
287
  * 指定セッションの pane へキー/テキストを送出する。
234
288
  * literal はテキスト送出。非 literal は herdr が受理するキー名のみ send-keys、
@@ -22,7 +22,7 @@ import * as os from "node:os";
22
22
  import * as path from "node:path";
23
23
  import { PROTOCOL_V1 } from "../protocol.js";
24
24
  import { HERDR_PANE_ID_PATTERN, SessionMetadataStore, validateSessionName, } from "../sessions/sessionMetadataStore.js";
25
- import { extractClaudeInputBox, inputBoxIsShellMode, paneCommandLooksLikeAgent, } from "./tmux.js";
25
+ import { CHAT_BLOCKED_BY_LOGIN_PROMPT, claudeInputBoxRendered, extractClaudeInputBox, inputBoxHasRealPendingText, inputBoxRealText, inputBoxIsShellMode, inputBoxTextMatchesRecordedPrompt, LoginCodeError, paneCommandLooksLikeAgent, screenInLoginFlow, submitLoginCode, } from "./tmux.js";
26
26
  /** herdr 実行ファイルの既定絶対パス(SSH exec は非ログインシェルで PATH 外のため絶対指定)。 */
27
27
  export function defaultHerdrPath() {
28
28
  return path.join(os.homedir(), ".local", "bin", "herdr");
@@ -47,6 +47,14 @@ export function herdrInstalled(herdrPath = defaultHerdrPath()) {
47
47
  }
48
48
  /** herdr コマンドの上限。無期限待ちが read loop / tick ループを止めるのを防ぐ。 */
49
49
  const HERDR_TIMEOUT_MS = 15_000;
50
+ /**
51
+ * 起動直後の生存判定猶予(秒)。`tab create` → pane の初期シェル → `exec zsh -lc` → claude exec
52
+ * の間は `pane process-info` の前面がシェル名に見える。この窓で「シェルだけ=死亡」と判定すると、
53
+ * 直後の reattach(iOS は prepare ack の約 0.5〜1 秒後に送る)が生きた pane を閉じて resume
54
+ * 再起動し、二重起動と backend 欄無しの応答(iOS で herdr 会話が tmux 表示)を招く
55
+ * (2026-09-06 実機で発症)。窓内のシェル前面は「起動中」として生存扱いにする。
56
+ */
57
+ export const HERDR_LAUNCH_GRACE_SECONDS = 20;
50
58
  /**
51
59
  * 実 herdr を起動する既定ランナー。herdr 非0 exit は throw せず結果で表現する。
52
60
  * `sessionName`(既定 tailii)を `--session` として全コマンドに前置する。
@@ -311,6 +319,13 @@ export class HerdrSessionManager {
311
319
  /** 注入前の claude 検出待ちの上限/間隔 ms(テスト注入用)。 */
312
320
  readyTimeoutMs;
313
321
  readyPollMs;
322
+ /** 注入前の入力欄描画待ちの上限 ms(起動直後の TUI へ打たない, boot-gate。テスト注入用)。 */
323
+ inputBoxReadyTimeoutMs;
324
+ /** login-code 送出後にコード欄の消滅を待つポーリング間隔 / 上限 ms(テスト注入用)。 */
325
+ loginPollMs;
326
+ loginSettleMs;
327
+ /** 現在時刻(Unix 秒)。起動直後の猶予判定に使う(テスト注入用)。 */
328
+ now;
314
329
  constructor(options = {}) {
315
330
  this.runner = options.runner ?? processHerdrCommandRunner();
316
331
  this.store = options.store ?? new SessionMetadataStore();
@@ -322,6 +337,14 @@ export class HerdrSessionManager {
322
337
  this.clearKeyDelayMs = options.clearKeyDelayMs ?? 150;
323
338
  this.readyTimeoutMs = options.readyTimeoutMs ?? 10_000;
324
339
  this.readyPollMs = options.readyPollMs ?? 300;
340
+ // 起動直後の TUI(Node 起動〜入力欄描画)は host 負荷で 10 秒を超えることがある(実測
341
+ // 2026-09-07: load average 200 超で新規会話の初回送信が起動中の pane へ打たれた)。
342
+ // 上限はアプリの chat_send ACK 予算(18s)より長くてよい: 超過分はアプリの明示再送が
343
+ // hub の同一 clientMessageId 待ちへ合流し、二重注入にはならない。
344
+ this.inputBoxReadyTimeoutMs = options.inputBoxReadyTimeoutMs ?? 20_000;
345
+ this.loginPollMs = options.loginPollMs ?? 250;
346
+ this.loginSettleMs = options.loginSettleMs ?? 5_000;
347
+ this.now = options.now ?? (() => Math.floor(Date.now() / 1000));
325
348
  }
326
349
  /**
327
350
  * herdr 担当(メタの backend=herdr)のセッションを name/cwd/alive で列挙する(name 昇順)。
@@ -456,13 +479,29 @@ export class HerdrSessionManager {
456
479
  if (result.exitCode !== 0)
457
480
  return true;
458
481
  const command = parseHerdrForegroundCommand(result.stdout);
459
- // zsh -lc 起動の実行中は前面が `zsh` に見える瞬間があるため、空/シェル名のみ死亡扱い。
460
- return paneCommandLooksLikeAgent(command);
482
+ // 空/シェル名のみ死亡候補(空は判定不能なので安全側 true)。
483
+ if (paneCommandLooksLikeAgent(command))
484
+ return true;
485
+ // zsh -lc 起動の実行中は前面が `zsh` に見える。launch 直後の猶予窓では「起動中」とみなし、
486
+ // 生きた pane を閉じて再起動する誤判定を防ぐ(HERDR_LAUNCH_GRACE_SECONDS)。
487
+ return this.launchedWithinGrace(name);
461
488
  }
462
489
  catch {
463
490
  return true;
464
491
  }
465
492
  }
493
+ /**
494
+ * メタの createdAt(launch 時刻。launcher は pane 再利用時に更新しない)が猶予窓内か。
495
+ * 未記録は窓外(従来どおりの判定)。時計の巻き戻りで経過が負になった場合も窓外に倒し、
496
+ * 猶予が恒久化しないようにする。
497
+ */
498
+ launchedWithinGrace(name) {
499
+ const createdAt = this.store.get(name)?.createdAt;
500
+ if (createdAt === undefined)
501
+ return false;
502
+ const elapsed = this.now() - createdAt;
503
+ return elapsed >= 0 && elapsed < HERDR_LAUNCH_GRACE_SECONDS;
504
+ }
466
505
  /**
467
506
  * 会話カスタムタイトルの端末表示追随(session-title): pane を収容するタブのラベルを
468
507
  * 書き換える(`tab rename`)。pane の label はセッション解決の権威(findPane の
@@ -508,25 +547,58 @@ export class HerdrSessionManager {
508
547
  * よって「本文 → CR → 入力欄を読んで残留確認 → 残っていれば CR 再送」の確認つき
509
548
  * リトライで確定させる。submit 済みの空入力への Enter は no-op なので二重送信は起きない。
510
549
  */
511
- async sendTextSubmit(name, text) {
550
+ async sendTextSubmit(name, text, options = {}) {
512
551
  // ブート直後の注入は本文ごと TUI 初期化に破棄され得る(実測: 入力欄にも jsonl にも
513
552
  // 残らない)。herdr の claude 検出(agent_status が unknown を抜けるまで)を注入の
514
553
  // 準備完了ゲートにする。working(処理中の queue 入力)も注入可。判定不能は fail-open。
515
554
  await this.waitForAgentReady(name);
555
+ // 入力欄が描画されるまで 1 キーも打たない(boot-gate)。起動中の TUI に打った本文は
556
+ // 反映検証では見えない(偽陰性)のに TUI 側には保持され、入力欄が現れた時点で残留する。
557
+ // 旧実装はここで throw → アプリの明示再送 → 冒頭の残留 flush(Enter)が残留分を独立送信
558
+ // → 本文を再注入、で同一本文が 2 ターン届いていた(2026-09-07 実機: 新規会話の初回送信が
559
+ // 「⚠️ 送信失敗」表示のうえ二重)。上限まで現れなければ何も打たずに throw し、明示再送
560
+ // (=fresh な注入)に倒す。
561
+ if (!(await this.waitForInputBoxRendered(name))) {
562
+ throw new HerdrFailedError(["pane", "send-text", name], 1, "input box not rendered yet; nothing was typed (claude TUI 起動中 / 入力欄不可視)");
563
+ }
564
+ // `/login` のコード入力待ち中は通常の入力欄が無く、以降の入力欄検証・C-u クリアが
565
+ // コード欄を壊す(フォールバックの `❯ /login` 行を未送信テキストと誤認して Enter、
566
+ // 反映検証に失敗して C-u 連打 → throw)。明示エラーで chat_send を失敗させ、コードは
567
+ // login_code_send、中断は pane_key_send Escape の専用経路に任せる。
568
+ // 選択ダイアログ判定と同じ 1 回のキャプチャで判定する(事前確認の read 回数を増やさない)。
569
+ const dialogWindow = await this.captureDialogWindow(name);
570
+ // `/login` フロー中(方式選択 / コード入力待ち / retry)は本文が選択リストやコード欄へ入る。
571
+ if (dialogWindow !== null && screenInLoginFlow(dialogWindow)) {
572
+ throw new LoginCodeError(CHAT_BLOCKED_BY_LOGIN_PROMPT);
573
+ }
516
574
  // 選択ダイアログ(/remote-control 等)が開いたままだと本文がダイアログに食われる。
517
575
  // 注入前に Esc で閉じてから入力欄へ流す(Mac 側で手動 Esc するのと同じ操作)。
518
- if (await this.selectionDialogVisible(name)) {
576
+ if (dialogWindow !== null && screenHasSelectionFooter(dialogWindow)) {
519
577
  await this.sendKeys(name, ["Escape"]);
520
578
  await new Promise((resolve) => setTimeout(resolve, 300));
521
579
  }
522
- // 中断(停止)直後は claude が queued メッセージを入力欄へ書き戻す。残存したまま
523
- // 注入すると今回の本文がその後ろへ連結され 1 メッセージとして送信される(実機FB
524
- // 2026-07-29: 停止→送信で「前回本文+今回本文」の連結バブルが二重表示)。残存は先に
525
- // Enter で独立メッセージとして送信し切ってから注入する(アプリの楽観バブルとも一致
526
- // する)。空入力への Enter は no-op なので、誤検出しても無害。
527
- if (await this.inputBoxHasPendingText(name)) {
528
- await this.sendKeys(name, ["Enter"]);
529
- await new Promise((resolve) => setTimeout(resolve, this.submitDelayMs));
580
+ // 中断(停止)直後の入力欄に残存テキストがあるまま注入すると、今回の本文がその後ろへ
581
+ // 連結され 1 メッセージとして送信される(実機FB 2026-07-29: 停止→送信で「前回本文+今回
582
+ // 本文」の連結バブルが二重表示)。残存の身元で扱いを分ける(restored-prompt-discard):
583
+ // - transcript の直近の発話と同文 = 出力が始まる前の中断で claude 2.1.263 が書き戻した
584
+ // 「配送済み・表示済みの発話」(実測 2026-09-08 sandbox: queued 発話がある中断は書き戻さず
585
+ // 自動送信するので、書き戻しは常にこの 1 種)→ 破棄(C-u)。Enter で送り直すと同じ発話が
586
+ // 二重に届く(実機 2026-09-08: 中断→別文を送信で中断前の発話が重複投稿)。
587
+ // - それ以外(旧版の queued 書き戻し / Mac 側の下書き)→ 従来どおり Enter で独立メッセージ
588
+ // として送信し切る(アプリの楽観バブルとも一致する)。空入力への Enter は no-op。
589
+ const pending = await this.inputBoxPendingText(name);
590
+ if (pending.length > 0) {
591
+ const recorded = options.recordedPromptText?.() ?? null;
592
+ if (recorded !== null && inputBoxTextMatchesRecordedPrompt(pending, recorded)) {
593
+ // 空にできないまま注入すると連結送信になるので、何も打たずに throw(明示再送へ倒す)。
594
+ if (!(await this.clearInputBox(name))) {
595
+ throw new HerdrFailedError(["pane", "send-text", name], 1, "restored prompt could not be cleared from the input box (中断で書き戻された発話が残存)");
596
+ }
597
+ }
598
+ else {
599
+ await this.sendKeys(name, ["Enter"]);
600
+ await new Promise((resolve) => setTimeout(resolve, this.submitDelayMs));
601
+ }
530
602
  }
531
603
  // 前回の注入が途中で終わった等でシェルモード(プロンプト `!`)に入ったままの入力欄へ
532
604
  // 注入すると、本文がそのままシェルコマンドとして実行される。空入力の Backspace で
@@ -586,6 +658,24 @@ export class HerdrSessionManager {
586
658
  return;
587
659
  }
588
660
  }
661
+ /**
662
+ * `/login` の OAuth コードをコード入力欄へ渡して確定する(login_code_send)。
663
+ * コード入力待ちの画面(`Paste code here if prompted >`)でなければ何も送らず throw する
664
+ * (通常入力欄へコードが本文として流れるのを防ぐ)。本文→CR は sendTextSubmit と同じ
665
+ * 間隔で送り、CR が飲まれてコード欄が残っていれば 1 回だけ CR を再送する
666
+ * (成功=入力欄復帰・失敗=`Press Enter to retry` のどちらでもコード欄は消える)。
667
+ */
668
+ async sendLoginCode(name, code) {
669
+ // 判定窓は chat 側の門番(captureDialogWindow)と揃える(同じ画面で片方だけ拒否しない)。
670
+ await submitLoginCode(code, {
671
+ capture: () => this.captureDialogWindow(name),
672
+ sendLiteral: (text) => this.sendKeys(name, [text], true),
673
+ sendEnter: () => this.sendKeys(name, ["Enter"]),
674
+ delayMs: this.submitDelayMs,
675
+ pollMs: this.loginPollMs,
676
+ settleMs: this.loginSettleMs,
677
+ });
678
+ }
589
679
  /**
590
680
  * 入力欄に probe テキストが反映されているか。
591
681
  * ペイン履歴の同文エコー(同一メッセージの再送時など)を誤って「入力済み」と
@@ -594,8 +684,11 @@ export class HerdrSessionManager {
594
684
  */
595
685
  async inputBoxContainsText(name, probe) {
596
686
  try {
597
- const box = extractClaudeInputBox(await this.captureVisibleScreen(name));
598
- return box !== null && inputBoxTextIncludesProbe(box.text, probe);
687
+ // ANSI で取り、薄字プロンプト提案/プレースホルダーを実テキストと数えない
688
+ // (提案が probe を含むと偽陽性で「反映済み」→ 空入力+提案への Enter で提案を
689
+ // 送信していた, prompt-suggestion-chip / 2026-09-04 レビュー指摘)。
690
+ const realText = inputBoxRealText(await this.captureVisibleScreenAnsi(name));
691
+ return realText !== null && inputBoxTextIncludesProbe(realText, probe);
599
692
  }
600
693
  catch {
601
694
  return false;
@@ -612,10 +705,11 @@ export class HerdrSessionManager {
612
705
  * - 上限回数で空にならない(1回150ms×15回=2.25s。iOS の chat_send ACK 予算 18s の
613
706
  * 内側で速やかに諦めて明示再送へ倒す)
614
707
  *
615
- * トレードオフ(意図的な設計判断): 中断直後に claude が queued 本文を composer へ
616
- * 書き戻すタイミングと重なると、そのテキストも C-u で消える(receipt なしの破棄)。
708
+ * トレードオフ(意図的な設計判断): 中断直後に claude が本文を composer へ書き戻す
709
+ * タイミングと重なると、そのテキストも C-u で消える(receipt なしの破棄)。
617
710
  * 再投入前クリアを省くと「本文二重化」という別のデータ破損になるため、注入経路では
618
- * 「重複より欠落」を選ぶ(残存の主経路は sendTextSubmit 冒頭の Enter flush が先に守る)。
711
+ * 「重複より欠落」を選ぶ(残存の主経路は sendTextSubmit 冒頭の身元判定 — 記録済みの
712
+ * 発話は破棄 / それ以外は Enter flush — が先に守る。restored-prompt-discard)。
619
713
  */
620
714
  async clearInputBox(name) {
621
715
  try {
@@ -625,17 +719,19 @@ export class HerdrSessionManager {
625
719
  // 誤検出して、クリアできる場面でも常に諦めてしまう(08-03 の窓設計と同じ理由)。
626
720
  if (await this.selectionDialogVisible(name))
627
721
  return false;
628
- const box = extractClaudeInputBox(await this.captureVisibleScreen(name));
629
- if (box === null)
722
+ // 薄字プロンプト提案は「実テキスト無し」= 空扱い(C-u で消えないのに非空判定して
723
+ // 15 回撃ち込み失敗へ退化するのを塞ぐ, prompt-suggestion-chip)。null = 入力欄不明。
724
+ const realText = inputBoxRealText(await this.captureVisibleScreenAnsi(name));
725
+ if (realText === null)
630
726
  return false;
631
- if (box.text.replace(/\s+/g, "").length === 0)
727
+ if (realText.replace(/\s+/g, "").length === 0)
632
728
  return true;
633
729
  await this.sendKeys(name, [KILL_LINE_SEQUENCE], true);
634
730
  await new Promise((resolve) => setTimeout(resolve, this.clearKeyDelayMs));
635
731
  }
636
732
  // 上限到達時も最後の C-u の結果は未観測なので、最終状態を見てから判定する。
637
- const box = extractClaudeInputBox(await this.captureVisibleScreen(name));
638
- return box !== null && box.text.replace(/\s+/g, "").length === 0;
733
+ const realText = inputBoxRealText(await this.captureVisibleScreenAnsi(name));
734
+ return realText !== null && realText.replace(/\s+/g, "").length === 0;
639
735
  }
640
736
  catch {
641
737
  return false;
@@ -671,11 +767,16 @@ export class HerdrSessionManager {
671
767
  * 不要な Esc で入力欄の打ちかけを「送信されないまま」消してしまう)。
672
768
  */
673
769
  async selectionDialogVisible(name) {
770
+ const window = await this.captureDialogWindow(name);
771
+ return window !== null && screenHasSelectionFooter(window);
772
+ }
773
+ /** ダイアログ判定用の末尾 30 行窓(capture 失敗=判定不能は null)。 */
774
+ async captureDialogWindow(name) {
674
775
  try {
675
- return screenHasSelectionFooter(await this.capturePane(name, { lines: 30 }));
776
+ return await this.capturePane(name, { lines: 30 });
676
777
  }
677
778
  catch {
678
- return false;
779
+ return null;
679
780
  }
680
781
  }
681
782
  /**
@@ -708,6 +809,29 @@ export class HerdrSessionManager {
708
809
  await new Promise((resolve) => setTimeout(resolve, this.readyPollMs));
709
810
  }
710
811
  }
812
+ /**
813
+ * claude TUI の入力欄(composer)が描画されるまで待つ(boot-gate)。
814
+ * `waitForAgentReady` は claude プロセスの起動(herdr の agent 検出)を見るだけで、TUI が
815
+ * 入力欄を描くまでの窓(起動バナー/初期シェルのエコーだけの画面)は通過してしまう。
816
+ * 入力欄の罫線が見えるか、後続の門番が扱う画面(`/login` フロー・選択ダイアログ)に
817
+ * なったら true。capture 不能は fail-open(後続の判定・送出エラーで顕在化させる)。
818
+ * 上限まで現れなければ false(呼び出し側は 1 キーも打たずに throw する)。
819
+ */
820
+ async waitForInputBoxRendered(name) {
821
+ const deadline = Date.now() + this.inputBoxReadyTimeoutMs;
822
+ for (;;) {
823
+ const window = await this.captureDialogWindow(name);
824
+ if (window === null)
825
+ return true;
826
+ if (claudeInputBoxRendered(window))
827
+ return true;
828
+ if (screenInLoginFlow(window) || screenHasSelectionFooter(window))
829
+ return true;
830
+ if (Date.now() >= deadline)
831
+ return false;
832
+ await new Promise((resolve) => setTimeout(resolve, this.readyPollMs));
833
+ }
834
+ }
711
835
  /**
712
836
  * claude TUI の入力欄に未送信テキストが残っているか。
713
837
  * 送信済みメッセージのエコーも `❯` で始まるため、入力欄(末尾の罫線に挟まれた領域)
@@ -716,13 +840,42 @@ export class HerdrSessionManager {
716
840
  */
717
841
  async inputBoxHasPendingText(name) {
718
842
  try {
719
- const box = extractClaudeInputBox(await this.captureVisibleScreen(name));
720
- return box !== null && box.text.length > 0;
843
+ // ANSI で取り、薄字(faint)のプロンプト提案/プレースホルダーを実テキストと数えない
844
+ // (実障害 2026-09-03: 提案を残留テキストと誤認し Enter で勝手に送信していた)。
845
+ return inputBoxHasRealPendingText(await this.captureVisibleScreenAnsi(name));
721
846
  }
722
847
  catch {
723
848
  return false;
724
849
  }
725
850
  }
851
+ /**
852
+ * 入力欄の未送信「実テキスト」(faint の提案/プレースホルダーを除く)。判定不能は ""
853
+ * (= 残存なし扱い。inputBoxHasPendingText と同じ fail-open)。
854
+ */
855
+ async inputBoxPendingText(name) {
856
+ try {
857
+ const ansiScreen = await this.captureVisibleScreenAnsi(name);
858
+ if (!inputBoxHasRealPendingText(ansiScreen))
859
+ return "";
860
+ return inputBoxRealText(ansiScreen) ?? "";
861
+ }
862
+ catch {
863
+ return "";
864
+ }
865
+ }
866
+ /** 入力欄判定用に viewport 全体を ANSI 付きで取る(faint 属性で提案/プレースホルダーを見分ける)。 */
867
+ async captureVisibleScreenAnsi(name) {
868
+ validateSessionName(name);
869
+ const target = await this.paneTarget(name);
870
+ if (target === null) {
871
+ throw new HerdrFailedError(["pane", "read", name], 1, "pane not found");
872
+ }
873
+ return this.readPane(target, ["--source", "visible", "--format", "ansi"]);
874
+ }
875
+ /** SessionBackend: プロンプト提案抽出用の viewport ANSI キャプチャ。 */
876
+ captureVisibleAnsi(name) {
877
+ return this.captureVisibleScreenAnsi(name);
878
+ }
726
879
  /**
727
880
  * 指定セッションの pane へキー/テキストを送出する。
728
881
  * literal はテキスト送出。非 literal は herdr が受理するキー名のみ send-keys、