tailii-host 0.6.0 → 0.7.1

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 (94) 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 +240 -17
  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 +89 -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/questionInjection.d.ts +12 -0
  70. package/dist/hub/questionInjection.js +70 -3
  71. package/dist/hub/questionInjection.js.map +1 -1
  72. package/dist/hub/sessionHub.d.ts +78 -4
  73. package/dist/hub/sessionHub.js +281 -67
  74. package/dist/hub/sessionHub.js.map +1 -1
  75. package/dist/protocol/decode.js +74 -17
  76. package/dist/protocol/decode.js.map +1 -1
  77. package/dist/protocol/encode.js +2 -0
  78. package/dist/protocol/encode.js.map +1 -1
  79. package/dist/protocol/messages.d.ts +65 -1
  80. package/dist/services/fileService.d.ts +15 -0
  81. package/dist/services/fileService.js +176 -14
  82. package/dist/services/fileService.js.map +1 -1
  83. package/dist/services/officialApps.d.ts +12 -1
  84. package/dist/services/officialApps.js +145 -30
  85. package/dist/services/officialApps.js.map +1 -1
  86. package/dist/services/previewServer.js +15 -6
  87. package/dist/services/previewServer.js.map +1 -1
  88. package/dist/sessions/transcriptPath.d.ts +3 -0
  89. package/dist/sessions/transcriptPath.js +15 -0
  90. package/dist/sessions/transcriptPath.js.map +1 -0
  91. package/dist/shared/clientBuild.d.ts +44 -0
  92. package/dist/shared/clientBuild.js +116 -0
  93. package/dist/shared/clientBuild.js.map +1 -0
  94. package/package.json +3 -3
@@ -248,6 +248,12 @@ export function decodeHubServerLine(line) {
248
248
  ? { type: "conversation_liveness", session, alive: false }
249
249
  : null;
250
250
  }
251
+ if (record["type"] === "conversation_retired") {
252
+ const session = record["session"];
253
+ return typeof session === "string" && session.length > 0
254
+ ? { type: "conversation_retired", session }
255
+ : null;
256
+ }
251
257
  if (record["type"] === "conversation_event" || record["type"] === "conversation_pane_preview" ||
252
258
  record["type"] === "conversation_mode") {
253
259
  const session = record["session"];
@@ -334,9 +340,14 @@ function decodeProcessing(record) {
334
340
  const session = record["session"];
335
341
  const state = record["state"];
336
342
  const event = record["event"];
343
+ const atMs = record["atMs"];
337
344
  return record["type"] === "session_processing" && typeof session === "string" && session.length > 0 &&
338
345
  (state === "active" || state === "done")
339
- ? { type: "session_processing", session, state, ...(typeof event === "string" ? { event } : {}) }
346
+ ? {
347
+ type: "session_processing", session, state,
348
+ ...(typeof event === "string" ? { event } : {}),
349
+ ...(typeof atMs === "number" && Number.isFinite(atMs) ? { atMs } : {}),
350
+ }
340
351
  : null;
341
352
  }
342
353
  function decodeRelay(record) {
@@ -1 +1 @@
1
- {"version":3,"file":"hubProtocol.js","sourceRoot":"","sources":["../../src/hub/hubProtocol.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,0DAA0D;AAG1D,OAAO,EACL,oBAAoB,EACpB,oBAAoB,GAIrB,MAAM,gBAAgB,CAAC;AAkExB,MAAM,UAAU,gBAAgB,CAAC,OAA4C;IAC3E,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,IAAI,OAAO,CAAC,IAAI,KAAK,2BAA2B;QACvF,OAAO,CAAC,IAAI,KAAK,mBAAmB,IAAI,OAAO,CAAC,IAAI,KAAK,2CAA2C,EAAE,CAAC;QACvG,8DAA8D;QAC9D,kEAAkE;QAClE,OAAO,IAAI,CAAC,SAAS,CAAC;YACpB,GAAG,OAAO;YACV,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAY;SACtE,CAAC,GAAG,IAAI,CAAC;IACZ,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;AACxC,CAAC;AAED,2BAA2B;AAC3B,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACjE,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,wBAAwB,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,yBAAyB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACrE,IAAI,QAAQ,KAAK,IAAI,IAAI,WAAW,KAAK,IAAI;YAC3C,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC;YAAE,OAAO,IAAI,CAAC;QAC3F,OAAO,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO;YAC9C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACrD,GAAG,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,0BAA0B,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,gBAAgB,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxG,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,0CAA0C,EAAE,CAAC;QAClE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC5C,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjD,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAC/C,CAAC,CAAC,EAAE,IAAI,EAAE,0CAA0C,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;YAC3E,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjG,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,OAAO,EAAE;YAC5C,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,kBAAkB,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjG,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,OAAO,EAAE;YAC3C,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,wBAAwB,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACrH,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjG,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACjF,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAA2B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/G,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,aAAa,EAAE,CAAC;QACrC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClG,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjG,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YACjE,CAAC,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5E,MAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrF,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QACtF,MAAM,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,WAAW;YAC9D,OAAO,KAAK,iBAAiB,IAAI,OAAO,KAAK,oBAAoB,CAAC;QACpE,MAAM,mBAAmB,GAAG,cAAc,KAAK,IAAI,IAAI,cAAc,KAAK,WAAW;YACnF,cAAc,KAAK,YAAY,IAAI,cAAc,KAAK,OAAO,CAAC;QAChE,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjG,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,mBAAmB,KAAK,QAAQ,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC;YACrG,CAAC,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC,IAAI,mBAAmB,IAAI,YAAY;YACtF,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YAChG,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,SAAS,CAAC;YACnE,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB;gBACjE,MAAM,EAAE,MAAuB;gBAC/B,cAAc,EAAE,cAA6D;gBAC7E,OAAO,EAAE,OAAwE;gBACjF,QAAQ,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YAC/E,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjG,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,OAAO,EAAE;YAC/C,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,WAAW,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,EAAE,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClG,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;QACrE,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjG,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAChH,CAAC,aAAa,KAAK,SAAS,IAAI,OAAO,aAAa,KAAK,SAAS,CAAC;YACnE,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI;gBACrD,GAAG,CAAC,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;YAChE,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,wBAAwB,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QACzE,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;YAC5C,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjD,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YACjE,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,CAAC;YACrC,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE;YACxE,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,EAAE,CAAC;QACvC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjG,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,uBAAuB,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/G,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,uBAAuB,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,CAAC;IACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,qBAAqB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC3D,IAAI,CAAC,CAAC,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,CAAC;YACrD,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAChE,4DAA4D;QAC5D,0CAA0C;QAC1C,+CAA+C;QAC/C,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,qBAAqB,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,qBAAqB,CAAC;YACrG,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAC5B,CAAC,OAAO,EAAqB,EAAE,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAClF,CAAC;QACJ,OAAO;YACL,IAAI,EAAE,eAAe;YACrB,OAAO;YACP,MAAM;YACN,GAAG,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,oBAAoB,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpH,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACjE,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;IACjH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAClD,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;YACjG,OAAO,eAAe,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC;YAChG,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE;YAC7D,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,wBAAwB,EAAE,CAAC;QAChD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,kBAAkB,IAAI,MAAM,KAAK,SAAS,CAAC;YAC/G,CAAC,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,oBAAoB,EAAE,CAAC;QAC5C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,CAAC;YAC/E,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACxD,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,CAAC;YACnG,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpG,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,kBAAkB,EAAE,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,CAAC;YACpG,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAClE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACnG,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,+BAA+B,EAAE,CAAC;QACvD,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5E,IAAI,OAAO,EAAE,KAAK,QAAQ;YACxB,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW;gBAC7C,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,QAAQ,CAAC;YACjD,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAClE,OAAO;YACL,IAAI,EAAE,+BAA+B;YACrC,EAAE;YACF,MAAM;YACN,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChD,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,sBAAsB,EAAE,CAAC;QAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,MAAM,CAAC;YAC1E,CAAC,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1D,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,2CAA2C,EAAE,CAAC;QACnE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAC3C,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnE,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,OAAO,OAAO,CAAC,IAAI,KAAK,8BAA8B,IAAI,OAAO,CAAC,EAAE,KAAK,EAAE;YACzE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;YAChD,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,uBAAuB,EAAE,CAAC;QAC/C,wDAAwD;QACxD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,KAAK;YACnF,CAAC,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;YAC1D,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,oBAAoB,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,2BAA2B;QAC3F,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrE,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3D,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,2BAA2B,EAAE,CAAC;YACnD,2EAA2E;YAC3E,4DAA4D;YAC5D,8CAA8C;YAC9C,OAAO,OAAO,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB;gBAC3E,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE;gBAC5C,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,mBAAmB,EAAE,CAAC;YAC3C,OAAO,OAAO,CAAC,IAAI,KAAK,mBAAmB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAClG,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QACtC,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,SAAS,IAAI,CAAC;YACnF,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,CAAC;IACD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,CAAC;QACH,OAAO,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;IACxC,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,uBAAuB;QAChG,CAAC,CAAC,UAAU;QACZ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACvD,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACxF,MAAM,SAAS,GAA4B;QACzC,GAAG,MAAM;QACT,GAAG,MAAiC;QACpC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;KACrB,CAAC;IACF,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC;IAC5B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;QAAE,SAAS,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;;QACvD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC;QACH,OAAO,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;QAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,MAA+B;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,oBAAoB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QACjG,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,CAAC;QACxC,CAAC,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;QACjG,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAC,MAA+B;IAClD,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,UAAU,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IAC1F,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QAC7D,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/F,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,WAAW,CAA6B,EAAE,CAAC;QAClG,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC5D,IAAI,IAAI,KAAK,wBAAwB;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvG,IAAI,IAAI,KAAK,gBAAgB,IAAI,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,EAAE,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI;YAC3D,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;IAC1G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,OAAO,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1F,CAAC"}
1
+ {"version":3,"file":"hubProtocol.js","sourceRoot":"","sources":["../../src/hub/hubProtocol.ts"],"names":[],"mappings":"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"}
@@ -6,10 +6,22 @@ import type { SessionBackend } from "../backend/sessionBackend.js";
6
6
  * AND で判定する(承認ダイアログは Enter to select を含まないので対象外)。
7
7
  */
8
8
  export declare function isQuestionDialogFrame(text: string): boolean;
9
+ /**
10
+ * preview 付き単一選択で Claude TUI が使う「左に選択肢・右にプレビュー」レイアウトか。
11
+ * このレイアウトでは数字キーはカーソル移動だけで確定せず、Enter が必要(2.1.267 実測 /
12
+ * バンドル実装: 数字キーのハンドラは setHighlight のみを呼ぶ)。Other(Type something)行も
13
+ * 描かれないため、従来レイアウト用の注入手順をそのまま使うと必ず取りこぼす。
14
+ *
15
+ * 判定は AND で保守的に取る: 従来レイアウトは必ず Other 行(`Type something` / `Type something.`)を
16
+ * 描き、Notes 行(`n to add notes`)を持たない。preview レイアウトはその逆。
17
+ */
18
+ export declare function isPreviewQuestionFrame(text: string): boolean;
9
19
  /**
10
20
  * question_answer → Claude AskUserQuestion TUI のキー操作。
11
21
  * 各キー間の待機は、Ink の再描画中に連続入力が欠落するのを避けるために設ける。
12
22
  * - 単一選択 = 数字キーで即確定。Other は行番号 → literal 入力 → Enter。
23
+ * - 単一選択(preview レイアウト)= 数字キーはカーソル移動のみなので、行番号 → Enter で確定する。
24
+ * Other 行は無く、自由記述は Notes 欄(n)が受ける(確定すると回答は "(notes only)")。
13
25
  * - multiSelect = 数字キーは無反応。カーソル(先頭 index 0 から開始)を ↓ で対象行へ移動し
14
26
  * Space でトグル → Right でレビュー → 最終問後に「1」Submit answers。
15
27
  * Other 行は Space でチェック&入力欄化 → literal 入力 → ↑ でテキスト欄を抜けてから Right。
@@ -8,6 +8,8 @@ const OTHER_TEXT_CR_GAP_MS = 400;
8
8
  const VERIFY_DELAY_MS = 600;
9
9
  /** 1回目の検証でダイアログ残存だったときの再検証までの猶予。 */
10
10
  const VERIFY_RETRY_DELAY_MS = 1_500;
11
+ /** preview レイアウトの Notes 欄が閉じている(未フォーカス)ことを示すヒント行。 */
12
+ const NOTES_HINT = "press n to add notes";
11
13
  /**
12
14
  * AskUserQuestion ダイアログのフレームか。`Enter to select` は /remote-control 等の
13
15
  * ❯ メニューにも出るため、設問 TUI 固有の要素(質問タブ・回答レビュー・notes 等)との
@@ -23,10 +25,26 @@ export function isQuestionDialogFrame(text) {
23
25
  text.includes("Type something") ||
24
26
  text.includes("to add notes"));
25
27
  }
28
+ /**
29
+ * preview 付き単一選択で Claude TUI が使う「左に選択肢・右にプレビュー」レイアウトか。
30
+ * このレイアウトでは数字キーはカーソル移動だけで確定せず、Enter が必要(2.1.267 実測 /
31
+ * バンドル実装: 数字キーのハンドラは setHighlight のみを呼ぶ)。Other(Type something)行も
32
+ * 描かれないため、従来レイアウト用の注入手順をそのまま使うと必ず取りこぼす。
33
+ *
34
+ * 判定は AND で保守的に取る: 従来レイアウトは必ず Other 行(`Type something` / `Type something.`)を
35
+ * 描き、Notes 行(`n to add notes`)を持たない。preview レイアウトはその逆。
36
+ */
37
+ export function isPreviewQuestionFrame(text) {
38
+ if (!isQuestionDialogFrame(text))
39
+ return false;
40
+ return text.includes("to add notes") && !text.includes("Type something");
41
+ }
26
42
  /**
27
43
  * question_answer → Claude AskUserQuestion TUI のキー操作。
28
44
  * 各キー間の待機は、Ink の再描画中に連続入力が欠落するのを避けるために設ける。
29
45
  * - 単一選択 = 数字キーで即確定。Other は行番号 → literal 入力 → Enter。
46
+ * - 単一選択(preview レイアウト)= 数字キーはカーソル移動のみなので、行番号 → Enter で確定する。
47
+ * Other 行は無く、自由記述は Notes 欄(n)が受ける(確定すると回答は "(notes only)")。
30
48
  * - multiSelect = 数字キーは無反応。カーソル(先頭 index 0 から開始)を ↓ で対象行へ移動し
31
49
  * Space でトグル → Right でレビュー → 最終問後に「1」Submit answers。
32
50
  * Other 行は Space でチェック&入力欄化 → literal 入力 → ↑ でテキスト欄を抜けてから Right。
@@ -40,6 +58,10 @@ export async function injectQuestionAnswers(answers, session, sessionManager) {
40
58
  // Submit answers までは行わない。1 問だけの単一選択のみ即時完了する。
41
59
  const needsReviewSubmit = sorted.length > 1 || sorted.some((answer) => answer.multiSelect);
42
60
  for (const answer of sorted) {
61
+ // レイアウトは設問ごとに変わる(preview を持つ単一選択の設問だけが preview レイアウト)。
62
+ // 直前のフレームで毎回判定する。
63
+ const previewLayout = !answer.multiSelect
64
+ && await capturedFrameMatches(session, sessionManager, isPreviewQuestionFrame);
43
65
  const other = (answer.otherText ?? "").trim();
44
66
  let indexes = answer.selectedOptionIndexes.filter((i) => i >= 0).sort((a, b) => a - b);
45
67
  // otherText があるとき、最大 index は Other(Type something.)行。
@@ -48,7 +70,43 @@ export async function injectQuestionAnswers(answers, session, sessionManager) {
48
70
  otherIndex = indexes[indexes.length - 1];
49
71
  indexes = indexes.slice(0, -1);
50
72
  }
51
- if (answer.multiSelect) {
73
+ if (previewLayout && other.length > 0) {
74
+ // preview レイアウトに Other 行は無い。TUI は代わりに Notes 欄で自由記述を受け、
75
+ // 選択肢を選ばずに確定すると回答が "(notes only)" + notes になる(2.1.267 実測)。
76
+ // 自由記述の意図はここに写す。
77
+ await sessionManager.sendKeys(session, ["n"]);
78
+ await sleep(KEY_STEP_MS);
79
+ // n が Notes 欄を開けていなければ、本文の数字がカーソル移動として食われ Enter で
80
+ // 別の選択肢を誤確定してしまう。開いたと確認できるまで本文は打たない(pane を読めない
81
+ // ときも打たない = fail closed。届かない方が誤った回答を送るよりましなので、
82
+ // 末尾の検証と違ってここは読取失敗を「不明」ではなく失敗として扱う)。
83
+ const notesFrame = await capturedFrame(session, sessionManager);
84
+ if (notesFrame === null || notesFrame.includes(NOTES_HINT)) {
85
+ throw new Error("AskUserQuestion notes field did not open");
86
+ }
87
+ await sessionManager.sendKeys(session, [other], true);
88
+ await sleep(OTHER_TEXT_CR_GAP_MS);
89
+ await sessionManager.sendKeys(session, ["Enter"]);
90
+ }
91
+ else if (previewLayout) {
92
+ const target = indexes[0];
93
+ if (target === undefined)
94
+ throw new Error("AskUserQuestion answer has no selected option");
95
+ if (target < 9) {
96
+ // 数字キーはカーソル移動のみ(1-9 のみ受理)。
97
+ await sessionManager.sendKeys(session, [String(target + 1)]);
98
+ }
99
+ else {
100
+ // 10 番目以降は ↓ で寄せる(カーソルは先頭 index 0 から開始)。
101
+ for (let n = 0; n < target; n += 1) {
102
+ await sessionManager.sendKeys(session, ["Down"]);
103
+ await sleep(KEY_STEP_MS);
104
+ }
105
+ }
106
+ await sleep(KEY_STEP_MS);
107
+ await sessionManager.sendKeys(session, ["Enter"]);
108
+ }
109
+ else if (answer.multiSelect) {
52
110
  // multiSelect は数字キーではトグルできない(実 TUI)。カーソルを ↓ で移動し Space でトグルする。
53
111
  // カーソルは先頭(index 0)から開始。indexes / otherIndex は昇順なので下方向のみで足りる。
54
112
  let cursor = 0;
@@ -117,11 +175,20 @@ export async function injectQuestionAnswers(answers, session, sessionManager) {
117
175
  }
118
176
  /** pane 読取失敗は「検証不能」= 残存扱いにしない(誤復元でユーザーを二重回答に誘導しない)。 */
119
177
  async function questionDialogStillVisible(session, sessionManager) {
178
+ return capturedFrameMatches(session, sessionManager, isQuestionDialogFrame);
179
+ }
180
+ /** pane を読んで判定に掛ける。読取失敗は false(=従来どおりの手順へ倒す)。 */
181
+ async function capturedFrameMatches(session, sessionManager, matches) {
182
+ const text = await capturedFrame(session, sessionManager);
183
+ return text === null ? false : matches(text);
184
+ }
185
+ /** pane の現在フレーム。読取失敗は null(呼び手が「不明」の倒し方を決める)。 */
186
+ async function capturedFrame(session, sessionManager) {
120
187
  try {
121
- return isQuestionDialogFrame(await sessionManager.capturePane(session, { lines: 40 }));
188
+ return await sessionManager.capturePane(session, { lines: 40 });
122
189
  }
123
190
  catch {
124
- return false;
191
+ return null;
125
192
  }
126
193
  }
127
194
  //# sourceMappingURL=questionInjection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"questionInjection.js","sourceRoot":"","sources":["../../src/hub/questionInjection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"questionInjection.js","sourceRoot":"","sources":["../../src/hub/questionInjection.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { type HubClientMessage, type HubServerMessage } from "./hubProtocol.js";
4
4
  import type { ControlMessage, QuestionPromptQuestion, SubagentTranscriptEntry } from "../protocol.js";
5
5
  import { type ClaudeTurnLifecycleEvent } from "../chat/transcriptTailer.js";
6
6
  import type { ChatAgent } from "../chat/chatTailController.js";
7
+ import type { ImageService } from "../chat/imageService.js";
7
8
  import type { PanePreviewMode } from "./panePreviewPump.js";
8
9
  import type { QuestionAnswer } from "../protocol.js";
9
10
  import { type CodexAppServerThreadRuntime, type CodexNativeTurnControllerOptions, type CodexTurnControllerRuntime } from "../codex/codexNativeTurnController.js";
@@ -25,6 +26,14 @@ export interface HubPreviewPump {
25
26
  /** 前面購読者の参加時に、直近の入力待ちフレームを再送する(任意実装)。 */
26
27
  resendLastIfInteractive?(): void;
27
28
  }
29
+ /**
30
+ * chat 注入(chatInjector)へ渡す会話文脈。backend の sendTextSubmit が入力欄の残存テキストの
31
+ * 身元判定(restored-prompt-discard)に使う。遅延評価なので残存が無ければ transcript は読まない。
32
+ */
33
+ export interface ChatInjectContext {
34
+ /** transcript に記録済みの直近の発話本文(claude 会話のみ。不明は null)。 */
35
+ recordedPromptText: () => string | null;
36
+ }
28
37
  export type HubTailFactory = (write: (payload: ControlMessage) => void, onCodexTurnLifecycle?: (event: CodexTurnLifecycleEvent) => void, onClaudeTurnLifecycle?: (event: ClaudeTurnLifecycleEvent) => void) => HubTail;
29
38
  export type HubPreviewPumpFactory = (write: (payload: ControlMessage) => void, onPermissionMode?: (mode: string) => void,
30
39
  /** 毎周期評価するポーリング間隔(ms)。前面購読あり=高頻度 / 一覧 watch のみ=低頻度。 */
@@ -43,10 +52,12 @@ export type SessionHubOptions = Omit<ReaperTickOptions, "now"> & {
43
52
  */
44
53
  transcriptPathFor?: (meta: SessionMeta) => string | null;
45
54
  tailFactory?: HubTailFactory;
55
+ /** Codex live/fallback 本文の添付サムネ。履歴 tail と同じ原本 index を共有する。 */
56
+ imageService?: ImageService;
46
57
  previewPumpFactory?: HubPreviewPumpFactory;
47
58
  replayLimit?: number;
48
59
  questionInjector?: (answers: QuestionAnswer[], session: string) => Promise<void>;
49
- chatInjector?: (text: string, session: string) => Promise<void>;
60
+ chatInjector?: (text: string, session: string, context: ChatInjectContext) => Promise<void>;
50
61
  codexAppServerFactory?: () => CodexAppServerThreadRuntime;
51
62
  codexTurnControllerFactory?: (options: CodexNativeTurnControllerOptions) => CodexTurnControllerRuntime;
52
63
  /** 未回答設問の永続化先。省略時は永続化しない(daemon は既定パスを明示する)。 */
@@ -87,7 +98,15 @@ interface CodexBufferedItem {
87
98
  payload: ControlMessage;
88
99
  }
89
100
  interface CodexLiveState {
90
- phase: "starting" | "backfill" | "live" | "fallback-scan" | "fallback-live";
101
+ phase: "backfill" | "live" | "fallback-scan" | "fallback-live";
102
+ /**
103
+ * App Server 購読(thread/resume + 履歴スナップショット)が確定したか。rollout の backfill は
104
+ * 購読の完了を待たずに始めるため、`pc:history-done` と snapshot の到着順は不定。両方が揃った
105
+ * 時点で live へ切り替える(片方だけでは backfill のまま rollout を一次ソースにし続ける)。
106
+ */
107
+ snapshotReady: boolean;
108
+ /** rollout backfill が `pc:history-done` まで到達したか(snapshot 待ちの間だけ意味を持つ)。 */
109
+ historyDone: boolean;
91
110
  initialItemIds: ReadonlySet<string>;
92
111
  initialContentCounts: ReadonlyMap<string, number>;
93
112
  buffered: CodexBufferedItem[];
@@ -97,6 +116,18 @@ interface CodexLiveState {
97
116
  scanContentCounts: Map<string, number>;
98
117
  fallbackBaselineCounts: Map<string, number>;
99
118
  disconnected: boolean;
119
+ /**
120
+ * この会話へ最後に配信した `pc:model` の値。App Server 通知(onModel)と rollout の
121
+ * turn_context は同じ「実際に使うモデル」を別経路で伝えるため、同値は 1 回に畳む。
122
+ */
123
+ lastModel: string | null;
124
+ /** 購読時点の thread のモデル(thread/resume 応答)。初回 backfill 完了後に配信する。 */
125
+ subscribedModel: string | null;
126
+ /**
127
+ * fallback-scan(切断後の rollout 再走査)で最後に見た `pc:model`。再走査は履歴を頭から
128
+ * 読み直すため、途中の旧モデルを配信せず走査完了時に最新値だけを配る。
129
+ */
130
+ scanLastModel: string | null;
100
131
  }
101
132
  interface SessionActor {
102
133
  pendingQuestion: {
@@ -115,6 +146,23 @@ interface SessionActor {
115
146
  processingSinceMs: number | null;
116
147
  /** 中断マーカーで done にした時刻(Unix ms)。直後に遅着する継続 hook の active を残響として無視する。 */
117
148
  lastInterruptDoneMs: number | null;
149
+ /**
150
+ * transcript で観測した最新のターン終端行(中断確定 / API エラー)の timestamp(Unix ms)。処理中で
151
+ * なくても更新する。発火時刻(`atMs`)付きの hook がこれより前(かつ LATE_HOOK_MAX_AGE_MS 以内)に
152
+ * 発火していれば、既に終わったターンの遅着 hook として無視する(late-hook-before-turn-end)。
153
+ */
154
+ lastTurnEndMs: number | null;
155
+ /**
156
+ * 現ターンを開始した UserPromptSubmit hook の発火時刻(Unix ms。旧 hook は null)。これより前に
157
+ * 発火した Stop(前ターンの遅着 done)で現ターンを落とさない(late-stop-before-turn-start)。
158
+ */
159
+ turnStartFiredAtMs: number | null;
160
+ /**
161
+ * transcript で観測した最新の発話行(type=user の本文行)の timestamp(Unix ms)。終端マーカーより
162
+ * 後に発話が現れていれば、終端より前に発火した UserPromptSubmit でも新ターン(queued 発話の
163
+ * dequeue)として採用する(transcript を権威にして生きたターンを idle に固定しない)。
164
+ */
165
+ lastTurnStartMs: number | null;
118
166
  focusedBy: Set<object>;
119
167
  subscribers: Map<object, SubscriberState>;
120
168
  nextServerSeq: number;
@@ -176,8 +224,17 @@ export declare class SessionHub {
176
224
  get processingSessionNames(): string[];
177
225
  /** Hub 再起動前から active の heartbeat を actor の処理中状態へ戻す。 */
178
226
  restoreFromHeartbeats(): void;
179
- /** 復元時の照合用: transcript 末尾の中断マーカー timestamp(claude 会話のみ。不明は null)。 */
227
+ /**
228
+ * 復元時の照合用: transcript 末尾のターン終端マーカー(中断確定 / API エラー終端)の timestamp
229
+ * (claude 会話のみ。不明は null)。
230
+ */
180
231
  private trailingInterruptMarkerMs;
232
+ /**
233
+ * chat 注入前の残存テキスト照合用: transcript 末尾に記録済みの直近の発話本文(claude 会話のみ。
234
+ * 不明は null)。中断で入力欄へ書き戻された配送済み発話を Enter で送り直さないための材料
235
+ * (restored-prompt-discard。詳細は `findTrailingUserPromptText`)。
236
+ */
237
+ private trailingUserPromptText;
181
238
  /** 永続化済み設問を復元する。App Server の request handle は再起動を越せないため TUI のみ対象。 */
182
239
  restorePendingQuestions(): void;
183
240
  /** daemon 再起動前に durable enqueue 済みだった chat_send と receipt を復元する。 */
@@ -196,11 +253,20 @@ export declare class SessionHub {
196
253
  private unsubscribe;
197
254
  private startSharedTail;
198
255
  private startCodexSharedStream;
256
+ /**
257
+ * 購読が成立しない(未materialize・履歴読み取り失敗・購読エラー)と分かった時点で、既に開いて
258
+ * いる rollout tail をそのまま一次ソースに降格する。tail を開き直すと履歴を頭から二重再生する
259
+ * ため再利用する(接続断と同じ扱い: history-done で fallback-live へ、到達済みなら即座に)。
260
+ */
261
+ private degradeCodexToFallback;
262
+ /** backfill 完了(history-done)と購読の確定(snapshot または fallback)が揃った時点の切り替え。 */
263
+ private finishCodexBackfill;
199
264
  private openCodexRollout;
200
265
  private handleCodexChatItem;
201
266
  private flushCodexBuffer;
202
267
  private handleCodexDisconnect;
203
- private startCodexFallback;
268
+ /** live 移行後の接続断: rollout を頭から再走査し、配信済み本文を occurrence 照合で除外して継続する。 */
269
+ private startCodexFallbackRescan;
204
270
  private publishCodexContent;
205
271
  private publishConversationEvent;
206
272
  private startBackfill;
@@ -217,6 +283,12 @@ export declare class SessionHub {
217
283
  private drainCodexQueue;
218
284
  private startCodexTurn;
219
285
  private publishCodexMarker;
286
+ /**
287
+ * 利用中モデルの marker を、直前に配信した値と異なるときだけ配信する。App Server 通知
288
+ * (thread/settings/updated / model/rerouted)・rollout の turn_context・購読時の
289
+ * thread モデルは同じ値を別経路で運ぶため、ここで 1 本に畳む。
290
+ */
291
+ private publishCodexModelMarker;
220
292
  /**
221
293
  * transcript の中断確定マーカーで処理完了を補完する。Claude Code の Stop hook は利用者の中断
222
294
  * (Esc / Ctrl-C)では発火しないため、hook だけでは処理中状態がターン終了後も残り、iOS は
@@ -235,6 +307,8 @@ export declare class SessionHub {
235
307
  * その dismiss と chat queue の drain)。中断はターン終了なので Stop 後と同じ振る舞い。
236
308
  */
237
309
  private handleClaudeTurnLifecycle;
310
+ /** 遅着 hook が直書きした active の heartbeat を idle へ戻す(その hook の書込のままのときだけ)。 */
311
+ private revertLateHookHeartbeat;
238
312
  /**
239
313
  * 処理中状態を反映する。戻り値 false は「中断済みターンの残響として無視した」(呼び手は
240
314
  * broadcast しない)。`event` は hook 名(relay 由来。codex controller / 旧 hook は undefined)。