dominds 1.25.2 → 1.25.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/dist/cli/tui.js +2 -0
  2. package/dist/cli/webui.js +2 -0
  3. package/dist/cli.js +2 -0
  4. package/dist/dialog-display-state.js +6 -7
  5. package/dist/docs/dialog-system.md +15 -29
  6. package/dist/docs/dialog-system.zh.md +15 -29
  7. package/dist/evt-registry.js +2 -0
  8. package/dist/llm/kernel-driver/drive.js +137 -7
  9. package/dist/llm/kernel-driver/flow.js +46 -20
  10. package/dist/llm/kernel-driver/reply-guidance.js +5 -5
  11. package/dist/persistence-errors.d.ts +1 -1
  12. package/dist/persistence.d.ts +50 -1
  13. package/dist/persistence.js +549 -4
  14. package/dist/process-title.d.ts +2 -0
  15. package/dist/process-title.js +13 -0
  16. package/dist/runtime/driver-messages.d.ts +7 -1
  17. package/dist/runtime/driver-messages.js +33 -11
  18. package/dist/runtime/interjection-pause-stop.js +8 -7
  19. package/dist/server/api-routes.js +14 -0
  20. package/dist/server/dominds-self-update.d.ts +1 -0
  21. package/dist/server/dominds-self-update.js +17 -0
  22. package/dist/server/websocket-handler.js +73 -6
  23. package/dist/tools/cmd-runner-protocol.d.ts +1 -0
  24. package/dist/tools/cmd-runner-protocol.js +6 -0
  25. package/dist/tools/cmd-runner.js +1 -0
  26. package/dist/tools/os.d.ts +2 -4
  27. package/dist/tools/os.js +79 -4
  28. package/package.json +3 -3
  29. package/webapp/dist/assets/{_basePickBy-CbWZ8qnS.js → _basePickBy-fZ31r-iF.js} +3 -3
  30. package/webapp/dist/assets/_basePickBy-fZ31r-iF.js.map +1 -0
  31. package/webapp/dist/assets/{_baseUniq-IY-Vfzx1.js → _baseUniq-CI1keLoL.js} +2 -2
  32. package/webapp/dist/assets/_baseUniq-CI1keLoL.js.map +1 -0
  33. package/webapp/dist/assets/{arc--U2Vks6y.js → arc-1NeUqzoV.js} +2 -2
  34. package/webapp/dist/assets/arc-1NeUqzoV.js.map +1 -0
  35. package/webapp/dist/assets/{architectureDiagram-VXUJARFQ-DpryGqjy.js → architectureDiagram-2XIMDMQ5-C7SdzYIh.js} +26 -8
  36. package/webapp/dist/assets/architectureDiagram-2XIMDMQ5-C7SdzYIh.js.map +1 -0
  37. package/webapp/dist/assets/{blockDiagram-VD42YOAC-TTufCfiE.js → blockDiagram-WCTKOSBZ-Cmpu3kIy.js} +187 -170
  38. package/webapp/dist/assets/blockDiagram-WCTKOSBZ-Cmpu3kIy.js.map +1 -0
  39. package/webapp/dist/assets/{c4Diagram-YG6GDRKO-B4RPsw5H.js → c4Diagram-IC4MRINW-ChGTHIor.js} +4 -4
  40. package/webapp/dist/assets/c4Diagram-IC4MRINW-ChGTHIor.js.map +1 -0
  41. package/webapp/dist/assets/{channel-DAtGYJHZ.js → channel-ndS-XTQQ.js} +2 -2
  42. package/webapp/dist/assets/channel-ndS-XTQQ.js.map +1 -0
  43. package/webapp/dist/assets/{chunk-4BX2VUAB-JtO__vAF.js → chunk-4BX2VUAB-Cw5FtBd_.js} +2 -2
  44. package/webapp/dist/assets/chunk-4BX2VUAB-Cw5FtBd_.js.map +1 -0
  45. package/webapp/dist/assets/{chunk-55IACEB6-JMRC8yG1.js → chunk-55IACEB6-D3G71JdA.js} +2 -2
  46. package/webapp/dist/assets/chunk-55IACEB6-D3G71JdA.js.map +1 -0
  47. package/webapp/dist/assets/{chunk-FMBD7UC4-DFXKLjHC.js → chunk-FMBD7UC4-BcugPyy7.js} +2 -2
  48. package/webapp/dist/assets/chunk-FMBD7UC4-BcugPyy7.js.map +1 -0
  49. package/webapp/dist/assets/{chunk-TZMSLE5B-BaE4C244.js → chunk-JSJVCQXG-DvuxYuNq.js} +14 -6
  50. package/webapp/dist/assets/chunk-JSJVCQXG-DvuxYuNq.js.map +1 -0
  51. package/webapp/dist/assets/{chunk-QN33PNHL-BKzkeJ-b.js → chunk-KX2RTZJC-BQ42xd4s.js} +2 -2
  52. package/webapp/dist/assets/chunk-KX2RTZJC-BQ42xd4s.js.map +1 -0
  53. package/webapp/dist/assets/{chunk-DI55MBZ5-j9B4rifK.js → chunk-NQ4KR5QH-CGEMYTch.js} +9 -7
  54. package/webapp/dist/assets/chunk-NQ4KR5QH-CGEMYTch.js.map +1 -0
  55. package/webapp/dist/assets/{chunk-QZHKN3VN-DiZd3UNl.js → chunk-QZHKN3VN-CxNTVm5w.js} +2 -2
  56. package/webapp/dist/assets/chunk-QZHKN3VN-CxNTVm5w.js.map +1 -0
  57. package/webapp/dist/assets/{chunk-B4BG7PRW-BDIpf8Iz.js → chunk-WL4C6EOR-CIwdSg5q.js} +171 -121
  58. package/webapp/dist/assets/chunk-WL4C6EOR-CIwdSg5q.js.map +1 -0
  59. package/webapp/dist/assets/{classDiagram-2ON5EDUG-CNF8ZohD.js → classDiagram-VBA2DB6C-Dl05PJAP.js} +7 -6
  60. package/webapp/dist/assets/classDiagram-VBA2DB6C-Dl05PJAP.js.map +1 -0
  61. package/webapp/dist/assets/{classDiagram-v2-WZHVMYZB-CNF8ZohD.js → classDiagram-v2-RAHNMMFH-Dl05PJAP.js} +7 -6
  62. package/webapp/dist/assets/classDiagram-v2-RAHNMMFH-Dl05PJAP.js.map +1 -0
  63. package/webapp/dist/assets/{clone-Nq0Ko0Gv.js → clone-KCj1-QMr.js} +2 -2
  64. package/webapp/dist/assets/clone-KCj1-QMr.js.map +1 -0
  65. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-uHPLSeKv.js → cose-bilkent-S5V4N54A-BttciCz5.js} +2 -2
  66. package/webapp/dist/assets/cose-bilkent-S5V4N54A-BttciCz5.js.map +1 -0
  67. package/webapp/dist/assets/cytoscape.esm-Bm8DJGmZ.js.map +1 -1
  68. package/webapp/dist/assets/{dagre-6UL2VRFP-C1awWpU3.js → dagre-KLK3FWXG-Dm5yE9k2.js} +7 -7
  69. package/webapp/dist/assets/dagre-KLK3FWXG-Dm5yE9k2.js.map +1 -0
  70. package/webapp/dist/assets/defaultLocale-B2RvLBDe.js.map +1 -1
  71. package/webapp/dist/assets/{diagram-PSM6KHXK-Bf69p76M.js → diagram-E7M64L7V-C80ZsiBG.js} +10 -10
  72. package/webapp/dist/assets/diagram-E7M64L7V-C80ZsiBG.js.map +1 -0
  73. package/webapp/dist/assets/{diagram-QEK2KX5R-Bvlbx8Jp.js → diagram-IFDJBPK2-CqKidH4n.js} +9 -8
  74. package/webapp/dist/assets/diagram-IFDJBPK2-CqKidH4n.js.map +1 -0
  75. package/webapp/dist/assets/{diagram-S2PKOQOG-CGjGalBu.js → diagram-P4PSJMXO-EHVjfzUV.js} +8 -8
  76. package/webapp/dist/assets/diagram-P4PSJMXO-EHVjfzUV.js.map +1 -0
  77. package/webapp/dist/assets/{erDiagram-Q2GNP2WA-Ds3qhwkG.js → erDiagram-INFDFZHY-7MrtsOIt.js} +96 -75
  78. package/webapp/dist/assets/erDiagram-INFDFZHY-7MrtsOIt.js.map +1 -0
  79. package/webapp/dist/assets/{flowDiagram-NV44I4VS-B1wDG_l5.js → flowDiagram-PKNHOUZH-D6hXqCy7.js} +98 -81
  80. package/webapp/dist/assets/flowDiagram-PKNHOUZH-D6hXqCy7.js.map +1 -0
  81. package/webapp/dist/assets/{ganttDiagram-JELNMOA3-BwuYt2bO.js → ganttDiagram-A5KZAMGK-DLO0XCDk.js} +28 -3
  82. package/webapp/dist/assets/ganttDiagram-A5KZAMGK-DLO0XCDk.js.map +1 -0
  83. package/webapp/dist/assets/{gitGraphDiagram-V2S2FVAM-B2Tw773z.js → gitGraphDiagram-K3NZZRJ6-BmVD_nQP.js} +38 -46
  84. package/webapp/dist/assets/gitGraphDiagram-K3NZZRJ6-BmVD_nQP.js.map +1 -0
  85. package/webapp/dist/assets/graph-DQTj8O0Q.js +782 -0
  86. package/webapp/dist/assets/graph-DQTj8O0Q.js.map +1 -0
  87. package/webapp/dist/assets/{index-yycTJNYb.css → index-BQoNJEGT.css} +1 -1
  88. package/webapp/dist/assets/{index-arD81Nnh.js → index-BXjq-k48.js} +1512 -1097
  89. package/webapp/dist/assets/{index-arD81Nnh.js.map → index-BXjq-k48.js.map} +1 -1
  90. package/webapp/dist/assets/{infoDiagram-HS3SLOUP-C9_JKYhm.js → infoDiagram-LFFYTUFH-D2fqM9Fn.js} +7 -7
  91. package/webapp/dist/assets/infoDiagram-LFFYTUFH-D2fqM9Fn.js.map +1 -0
  92. package/webapp/dist/assets/init-ZxktEp_H.js.map +1 -1
  93. package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-kp7lB6-f.js +966 -0
  94. package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-kp7lB6-f.js.map +1 -0
  95. package/webapp/dist/assets/{journeyDiagram-XKPGCS4Q-BhZggYOL.js → journeyDiagram-4ABVD52K-DmbA52J-.js} +5 -5
  96. package/webapp/dist/assets/journeyDiagram-4ABVD52K-DmbA52J-.js.map +1 -0
  97. package/webapp/dist/assets/{kanban-definition-3W4ZIXB7-B-R2Xm4Y.js → kanban-definition-K7BYSVSG-DRUw-P-d.js} +5 -3
  98. package/webapp/dist/assets/kanban-definition-K7BYSVSG-DRUw-P-d.js.map +1 -0
  99. package/webapp/dist/assets/{layout-BzMatxDa.js → layout-BUoHHXzn.js} +5 -5
  100. package/webapp/dist/assets/layout-BUoHHXzn.js.map +1 -0
  101. package/webapp/dist/assets/{linear-BuuJkw_U.js → linear-xVSAq8rI.js} +2 -2
  102. package/webapp/dist/assets/linear-xVSAq8rI.js.map +1 -0
  103. package/webapp/dist/assets/{mindmap-definition-VGOIOE7T-BR7oDKBR.js → mindmap-definition-YRQLILUH-BcajbGmW.js} +7 -5
  104. package/webapp/dist/assets/mindmap-definition-YRQLILUH-BcajbGmW.js.map +1 -0
  105. package/webapp/dist/assets/ordinal-CxptdPJm.js.map +1 -1
  106. package/webapp/dist/assets/{pieDiagram-ADFJNKIX--QWeT2vZ.js → pieDiagram-SKSYHLDU-Bu8kmCW6.js} +8 -8
  107. package/webapp/dist/assets/pieDiagram-SKSYHLDU-Bu8kmCW6.js.map +1 -0
  108. package/webapp/dist/assets/{quadrantDiagram-AYHSOK5B-BpqtmN3r.js → quadrantDiagram-337W2JSQ-DIBSNUGa.js} +3 -3
  109. package/webapp/dist/assets/quadrantDiagram-337W2JSQ-DIBSNUGa.js.map +1 -0
  110. package/webapp/dist/assets/{requirementDiagram-UZGBJVZJ-CIXjIi4F.js → requirementDiagram-Z7DCOOCP-CkrDkbBt.js} +16 -6
  111. package/webapp/dist/assets/requirementDiagram-Z7DCOOCP-CkrDkbBt.js.map +1 -0
  112. package/webapp/dist/assets/{sankeyDiagram-TZEHDZUN-DJIt7SRz.js → sankeyDiagram-WA2Y5GQK-BZ-1R8pc.js} +2 -2
  113. package/webapp/dist/assets/sankeyDiagram-WA2Y5GQK-BZ-1R8pc.js.map +1 -0
  114. package/webapp/dist/assets/{sequenceDiagram-WL72ISMW-BpDK1ROT.js → sequenceDiagram-2WXFIKYE-DYoNARdO.js} +601 -201
  115. package/webapp/dist/assets/sequenceDiagram-2WXFIKYE-DYoNARdO.js.map +1 -0
  116. package/webapp/dist/assets/{stateDiagram-FKZM4ZOC-BoKGfmHf.js → stateDiagram-RAJIS63D-D9v19nvh.js} +9 -9
  117. package/webapp/dist/assets/stateDiagram-RAJIS63D-D9v19nvh.js.map +1 -0
  118. package/webapp/dist/assets/{stateDiagram-v2-4FDKWEC3--haXC2JK.js → stateDiagram-v2-FVOUBMTO-BYw5ZwtH.js} +5 -5
  119. package/webapp/dist/assets/stateDiagram-v2-FVOUBMTO-BYw5ZwtH.js.map +1 -0
  120. package/webapp/dist/assets/{timeline-definition-IT6M3QCI-BmSg3Hjf.js → timeline-definition-YZTLITO2-BT10dRIJ.js} +3 -3
  121. package/webapp/dist/assets/timeline-definition-YZTLITO2-BT10dRIJ.js.map +1 -0
  122. package/webapp/dist/assets/{treemap-GDKQZRPO-D9OuyDVA.js → treemap-KZPCXAKY-yPoPC5hc.js} +37 -24
  123. package/webapp/dist/assets/treemap-KZPCXAKY-yPoPC5hc.js.map +1 -0
  124. package/webapp/dist/assets/vennDiagram-LZ73GAT5-tryg3OaY.js +2487 -0
  125. package/webapp/dist/assets/vennDiagram-LZ73GAT5-tryg3OaY.js.map +1 -0
  126. package/webapp/dist/assets/{xychartDiagram-PRI3JC2R-CVqSvO_S.js → xychartDiagram-JWTSCODW-BWLUzo9S.js} +4 -4
  127. package/webapp/dist/assets/xychartDiagram-JWTSCODW-BWLUzo9S.js.map +1 -0
  128. package/webapp/dist/index.html +2 -2
  129. package/webapp/dist/assets/_basePickBy-CbWZ8qnS.js.map +0 -1
  130. package/webapp/dist/assets/_baseUniq-IY-Vfzx1.js.map +0 -1
  131. package/webapp/dist/assets/arc--U2Vks6y.js.map +0 -1
  132. package/webapp/dist/assets/architectureDiagram-VXUJARFQ-DpryGqjy.js.map +0 -1
  133. package/webapp/dist/assets/blockDiagram-VD42YOAC-TTufCfiE.js.map +0 -1
  134. package/webapp/dist/assets/c4Diagram-YG6GDRKO-B4RPsw5H.js.map +0 -1
  135. package/webapp/dist/assets/channel-DAtGYJHZ.js.map +0 -1
  136. package/webapp/dist/assets/chunk-4BX2VUAB-JtO__vAF.js.map +0 -1
  137. package/webapp/dist/assets/chunk-55IACEB6-JMRC8yG1.js.map +0 -1
  138. package/webapp/dist/assets/chunk-B4BG7PRW-BDIpf8Iz.js.map +0 -1
  139. package/webapp/dist/assets/chunk-DI55MBZ5-j9B4rifK.js.map +0 -1
  140. package/webapp/dist/assets/chunk-FMBD7UC4-DFXKLjHC.js.map +0 -1
  141. package/webapp/dist/assets/chunk-QN33PNHL-BKzkeJ-b.js.map +0 -1
  142. package/webapp/dist/assets/chunk-QZHKN3VN-DiZd3UNl.js.map +0 -1
  143. package/webapp/dist/assets/chunk-TZMSLE5B-BaE4C244.js.map +0 -1
  144. package/webapp/dist/assets/classDiagram-2ON5EDUG-CNF8ZohD.js.map +0 -1
  145. package/webapp/dist/assets/classDiagram-v2-WZHVMYZB-CNF8ZohD.js.map +0 -1
  146. package/webapp/dist/assets/clone-Nq0Ko0Gv.js.map +0 -1
  147. package/webapp/dist/assets/cose-bilkent-S5V4N54A-uHPLSeKv.js.map +0 -1
  148. package/webapp/dist/assets/dagre-6UL2VRFP-C1awWpU3.js.map +0 -1
  149. package/webapp/dist/assets/diagram-PSM6KHXK-Bf69p76M.js.map +0 -1
  150. package/webapp/dist/assets/diagram-QEK2KX5R-Bvlbx8Jp.js.map +0 -1
  151. package/webapp/dist/assets/diagram-S2PKOQOG-CGjGalBu.js.map +0 -1
  152. package/webapp/dist/assets/erDiagram-Q2GNP2WA-Ds3qhwkG.js.map +0 -1
  153. package/webapp/dist/assets/flowDiagram-NV44I4VS-B1wDG_l5.js.map +0 -1
  154. package/webapp/dist/assets/ganttDiagram-JELNMOA3-BwuYt2bO.js.map +0 -1
  155. package/webapp/dist/assets/gitGraphDiagram-V2S2FVAM-B2Tw773z.js.map +0 -1
  156. package/webapp/dist/assets/graph-CS_H7jBi.js +0 -425
  157. package/webapp/dist/assets/graph-CS_H7jBi.js.map +0 -1
  158. package/webapp/dist/assets/infoDiagram-HS3SLOUP-C9_JKYhm.js.map +0 -1
  159. package/webapp/dist/assets/journeyDiagram-XKPGCS4Q-BhZggYOL.js.map +0 -1
  160. package/webapp/dist/assets/kanban-definition-3W4ZIXB7-B-R2Xm4Y.js.map +0 -1
  161. package/webapp/dist/assets/layout-BzMatxDa.js.map +0 -1
  162. package/webapp/dist/assets/linear-BuuJkw_U.js.map +0 -1
  163. package/webapp/dist/assets/mindmap-definition-VGOIOE7T-BR7oDKBR.js.map +0 -1
  164. package/webapp/dist/assets/pieDiagram-ADFJNKIX--QWeT2vZ.js.map +0 -1
  165. package/webapp/dist/assets/quadrantDiagram-AYHSOK5B-BpqtmN3r.js.map +0 -1
  166. package/webapp/dist/assets/requirementDiagram-UZGBJVZJ-CIXjIi4F.js.map +0 -1
  167. package/webapp/dist/assets/sankeyDiagram-TZEHDZUN-DJIt7SRz.js.map +0 -1
  168. package/webapp/dist/assets/sequenceDiagram-WL72ISMW-BpDK1ROT.js.map +0 -1
  169. package/webapp/dist/assets/stateDiagram-FKZM4ZOC-BoKGfmHf.js.map +0 -1
  170. package/webapp/dist/assets/stateDiagram-v2-4FDKWEC3--haXC2JK.js.map +0 -1
  171. package/webapp/dist/assets/timeline-definition-IT6M3QCI-BmSg3Hjf.js.map +0 -1
  172. package/webapp/dist/assets/treemap-GDKQZRPO-D9OuyDVA.js.map +0 -1
  173. package/webapp/dist/assets/xychartDiagram-PRI3JC2R-CVqSvO_S.js.map +0 -1
@@ -8,7 +8,7 @@ import type { ContextHealthSnapshot } from '@longrun-ai/kernel/types/context-hea
8
8
  import type { NativeToolCallPayload, WebSearchCallAction, WebSearchCallSource } from '@longrun-ai/kernel/types/dialog';
9
9
  import type { DialogRuntimePrompt } from '@longrun-ai/kernel/types/drive-intent';
10
10
  import type { LanguageCode } from '@longrun-ai/kernel/types/language';
11
- import type { ActiveCalleeDispatchRecord, ActiveCalleesFile, CallSiteCourseNo, CallSiteGenseqNo, DialogAskerStackState, DialogCourseNumber, DialogLatestFile, DialogMetadataFile, DialogNextStepTrigger, DialogNextStepTriggerDraft, DialogTellaskCallState, HumanQuestion, HumanTextRecord, MainDialogMetadataFile, PersistedDialogRecord, ProviderData, ReasoningPayload, ReconciledRecordWriteTarget, RootGenerationAnchor, SideDialogAssignmentFromAsker, SideDialogMetadataFile, SideDialogRegistryStateRecord, SideDialogResponseStateRecord, TellaskCallRecord, TellaskReplyDirective, TellaskResultRecord } from '@longrun-ai/kernel/types/storage';
11
+ import type { ActiveCalleeDispatchRecord, ActiveCalleesFile, AnswerToHumanItem, CallSiteCourseNo, CallSiteGenseqNo, DialogAskerStackState, DialogCourseNumber, DialogLatestFile, DialogMetadataFile, DialogNextStepTrigger, DialogNextStepTriggerDraft, DialogTellaskCallState, HumanQuestion, HumanTextRecord, MainDialogMetadataFile, PersistedDialogRecord, ProviderData, ReasoningPayload, ReconciledRecordWriteTarget, RootGenerationAnchor, SideDialogAssignmentFromAsker, SideDialogMetadataFile, SideDialogRegistryStateRecord, SideDialogResponseStateRecord, TellaskCallRecord, TellaskReplyDirective, TellaskResultRecord } from '@longrun-ai/kernel/types/storage';
12
12
  import type { DialogsQuarantinedMessage, DialogStatusKind } from '@longrun-ai/kernel/types/wire';
13
13
  import { WebSocket } from 'ws';
14
14
  import type { ActiveCalleeDispatch } from './dialog';
@@ -238,6 +238,25 @@ type Q4HMutateOutcome = {
238
238
  questions: HumanQuestion[];
239
239
  removedQuestion?: HumanQuestion;
240
240
  };
241
+ type A2HMutation = {
242
+ kind: 'noop';
243
+ } | {
244
+ kind: 'append';
245
+ answer: AnswerToHumanItem;
246
+ } | {
247
+ kind: 'remove';
248
+ answerId: string;
249
+ } | {
250
+ kind: 'replace';
251
+ answers: AnswerToHumanItem[];
252
+ } | {
253
+ kind: 'clear';
254
+ };
255
+ type A2HMutateOutcome = {
256
+ previousAnswers: AnswerToHumanItem[];
257
+ answers: AnswerToHumanItem[];
258
+ removedAnswer?: AnswerToHumanItem;
259
+ };
241
260
  type ActiveCalleeResolveOutcome = Readonly<{
242
261
  batchId: string;
243
262
  callSiteCourse: CallSiteCourseNo;
@@ -338,10 +357,13 @@ export declare class DialogPersistence {
338
357
  private static readonly quarantinedMainDialogScopes;
339
358
  private static readonly LATEST_WRITEBACK_WINDOW_MS;
340
359
  private static readonly Q4H_WRITEBACK_WINDOW_MS;
360
+ private static readonly A2H_WRITEBACK_WINDOW_MS;
341
361
  private static readonly latestWriteBackMutexes;
342
362
  private static readonly latestWriteBack;
343
363
  private static readonly q4hWriteBackMutexes;
344
364
  private static readonly q4hWriteBack;
365
+ private static readonly a2hWriteBackMutexes;
366
+ private static readonly a2hWriteBack;
345
367
  private static readonly activeCalleesMutexes;
346
368
  private static readonly wakeQueueMutexes;
347
369
  private static readonly backendDriveStallMutexes;
@@ -349,6 +371,7 @@ export declare class DialogPersistence {
349
371
  private static readonly mainDialogWriteBackCancelGenerations;
350
372
  private static getLatestWriteBackMutex;
351
373
  private static getQ4HWriteBackMutex;
374
+ private static getA2HWriteBackMutex;
352
375
  private static getCourseAppendMutex;
353
376
  private static getCourseAppendMutexKey;
354
377
  private static getActiveCalleesMutex;
@@ -358,6 +381,7 @@ export declare class DialogPersistence {
358
381
  private static getWakeQueueKey;
359
382
  private static getBackendDriveStallKey;
360
383
  private static getQ4HWriteBackKey;
384
+ private static getA2HWriteBackKey;
361
385
  private static getActiveCalleesKey;
362
386
  private static getMainDialogWriteBackCancelScopeKey;
363
387
  private static createMainDialogWriteBackCancellationToken;
@@ -490,8 +514,19 @@ export declare class DialogPersistence {
490
514
  remainingQuestions: HumanQuestion[];
491
515
  removedQuestion?: HumanQuestion;
492
516
  }>;
517
+ static loadAnswersToHumanState(dialogId: DialogID, status?: DialogStatusKind): Promise<AnswerToHumanItem[]>;
518
+ private static loadAnswersToHumanStateFromDisk;
519
+ static mutateAnswersToHumanState(dialogId: DialogID, mutator: (previous: AnswerToHumanItem[]) => A2HMutation, status?: DialogStatusKind): Promise<A2HMutateOutcome>;
520
+ static appendAnswerToHumanState(dialogId: DialogID, answer: AnswerToHumanItem, status?: DialogStatusKind): Promise<void>;
521
+ static acknowledgeAnswerToHumanState(dialogId: DialogID, answerId: string, status?: DialogStatusKind): Promise<{
522
+ found: boolean;
523
+ remainingAnswers: AnswerToHumanItem[];
524
+ removedAnswer?: AnswerToHumanItem;
525
+ }>;
493
526
  private static flushQ4HWriteBack;
494
527
  private static writeQ4HStateToDisk;
528
+ private static flushA2HWriteBack;
529
+ private static writeA2HStateToDisk;
495
530
  /**
496
531
  * Load all Q4H questions from all running dialogs (for global Q4H display)
497
532
  * Returns array of questions with their dialog context for frontend display
@@ -510,6 +545,12 @@ export declare class DialogPersistence {
510
545
  messageIndex: number;
511
546
  };
512
547
  }>>;
548
+ static loadAllA2HState(): Promise<Array<AnswerToHumanItem & {
549
+ selfId: string;
550
+ rootId: string;
551
+ agentId: string;
552
+ taskDocPath: string;
553
+ }>>;
513
554
  static clearQuestions4HumanState(dialogId: DialogID, status?: DialogStatusKind): Promise<void>;
514
555
  /**
515
556
  * Load active callee dispatches projected from active-callees.json.
@@ -702,6 +743,14 @@ export declare class DialogPersistence {
702
743
  * Load specific course events for UI navigation (on-demand)
703
744
  */
704
745
  static loadCourseEvents(dialogId: DialogID, course: number, status?: DialogStatusKind): Promise<PersistedDialogRecord[]>;
746
+ static resolvePendingUserInterjectionReplyFromCourseEvents(events: readonly PersistedDialogRecord[], course: number): DialogLatestFile['pendingUserInterjectionReply'];
747
+ static resolveAnsweredUserInterjectionA2HFromCourseEvents(args: {
748
+ dialogId: DialogID;
749
+ events: readonly PersistedDialogRecord[];
750
+ course: number;
751
+ pending: DialogLatestFile['pendingUserInterjectionReply'];
752
+ }): AnswerToHumanItem | undefined;
753
+ private static normalizeDialogLatestPendingUserInterjectionReply;
705
754
  /**
706
755
  * Reconstruct dialog state from JSONL events (optimized: only latest course needed).
707
756
  */