dominds 1.18.2 → 1.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (277) hide show
  1. package/dist/access-control.js +6 -6
  2. package/dist/apps/runtime.d.ts +2 -2
  3. package/dist/apps/runtime.js +28 -28
  4. package/dist/apps-host/client.d.ts +1 -1
  5. package/dist/apps-host/host.js +7 -7
  6. package/dist/apps-host/ipc-types.d.ts +2 -2
  7. package/dist/apps-host/ipc-types.js +10 -10
  8. package/dist/cli/read.d.ts +0 -1
  9. package/dist/cli/read.js +1 -6
  10. package/dist/dialog-display-state.d.ts +6 -6
  11. package/dist/dialog-display-state.js +46 -46
  12. package/dist/dialog-factory.d.ts +12 -12
  13. package/dist/dialog-factory.js +33 -30
  14. package/dist/dialog-fork.d.ts +2 -2
  15. package/dist/dialog-fork.js +140 -115
  16. package/dist/dialog-global-registry.d.ts +5 -5
  17. package/dist/dialog-global-registry.js +11 -11
  18. package/dist/dialog-instance-registry.d.ts +3 -3
  19. package/dist/dialog-instance-registry.js +52 -41
  20. package/dist/dialog.d.ts +100 -113
  21. package/dist/dialog.js +274 -229
  22. package/dist/docs/agent-priming.md +5 -5
  23. package/dist/docs/agent-priming.zh.md +5 -5
  24. package/dist/docs/app-constitution.md +1 -1
  25. package/dist/docs/app-constitution.zh.md +1 -1
  26. package/dist/docs/cli-usage.md +1 -1
  27. package/dist/docs/cli-usage.zh.md +1 -1
  28. package/dist/docs/design.md +14 -14
  29. package/dist/docs/design.zh.md +14 -14
  30. package/dist/docs/dialog-persistence.md +58 -58
  31. package/dist/docs/dialog-persistence.zh.md +61 -61
  32. package/dist/docs/dialog-system.md +363 -367
  33. package/dist/docs/dialog-system.zh.md +355 -357
  34. package/dist/docs/diligence-push.md +18 -18
  35. package/dist/docs/diligence-push.zh.md +17 -17
  36. package/dist/docs/dominds-agent-collaboration.zh.md +3 -3
  37. package/dist/docs/dominds-terminology.md +46 -47
  38. package/dist/docs/encapsulated-taskdoc.md +4 -4
  39. package/dist/docs/encapsulated-taskdoc.zh.md +3 -3
  40. package/dist/docs/fbr.md +30 -30
  41. package/dist/docs/fbr.zh.md +15 -15
  42. package/dist/docs/i18n.md +2 -2
  43. package/dist/docs/i18n.zh.md +2 -2
  44. package/dist/docs/mcp-support.md +5 -4
  45. package/dist/docs/mcp-support.zh.md +3 -2
  46. package/dist/docs/memory-system.md +4 -4
  47. package/dist/docs/memory-system.zh.md +1 -1
  48. package/dist/docs/mottos.md +1 -1
  49. package/dist/docs/mottos.zh.md +1 -1
  50. package/dist/docs/q4h.md +3 -3
  51. package/dist/docs/q4h.zh.md +1 -1
  52. package/dist/docs/roadmap.md +2 -2
  53. package/dist/docs/team_mgmt-toolset.md +11 -3
  54. package/dist/docs/team_mgmt-toolset.zh.md +9 -2
  55. package/dist/docs/tellask-collab.md +18 -18
  56. package/dist/docs/tellask-collab.zh.md +8 -8
  57. package/dist/docs/tellask-revive-context-refactor.zh.md +591 -0
  58. package/dist/evt-registry.d.ts +1 -2
  59. package/dist/evt-registry.js +2 -7
  60. package/dist/llm/gen/mock.js +9 -0
  61. package/dist/llm/kernel-driver/context.d.ts +1 -2
  62. package/dist/llm/kernel-driver/context.js +12 -26
  63. package/dist/llm/kernel-driver/drive.js +99 -75
  64. package/dist/llm/kernel-driver/engine.d.ts +2 -2
  65. package/dist/llm/kernel-driver/engine.js +10 -10
  66. package/dist/llm/kernel-driver/fbr.js +6 -6
  67. package/dist/llm/kernel-driver/flow.d.ts +1 -1
  68. package/dist/llm/kernel-driver/flow.js +129 -93
  69. package/dist/llm/kernel-driver/guardrails.js +4 -4
  70. package/dist/llm/kernel-driver/index.d.ts +1 -1
  71. package/dist/llm/kernel-driver/index.js +2 -2
  72. package/dist/llm/kernel-driver/loop.js +30 -30
  73. package/dist/llm/kernel-driver/reply-guidance.js +47 -52
  74. package/dist/llm/kernel-driver/restore.d.ts +3 -3
  75. package/dist/llm/kernel-driver/restore.js +23 -28
  76. package/dist/llm/kernel-driver/runtime.d.ts +1 -1
  77. package/dist/llm/kernel-driver/runtime.js +1 -1
  78. package/dist/llm/kernel-driver/sideDialog-txn.d.ts +8 -0
  79. package/dist/llm/kernel-driver/{subdialog-txn.js → sideDialog-txn.js} +13 -13
  80. package/dist/llm/kernel-driver/{subdialog.d.ts → sideDialog.d.ts} +13 -13
  81. package/dist/llm/kernel-driver/{subdialog.js → sideDialog.js} +203 -170
  82. package/dist/llm/kernel-driver/tellask-special.d.ts +7 -3
  83. package/dist/llm/kernel-driver/tellask-special.js +474 -497
  84. package/dist/llm/kernel-driver/types.d.ts +25 -9
  85. package/dist/mcp/config.d.ts +1 -0
  86. package/dist/mcp/config.js +7 -2
  87. package/dist/mcp/supervisor.d.ts +2 -0
  88. package/dist/mcp/supervisor.js +2 -1
  89. package/dist/minds/builtin/pangu/persona.en.md +4 -4
  90. package/dist/minds/load.js +6 -6
  91. package/dist/minds/system-prompt-parts.d.ts +1 -1
  92. package/dist/minds/system-prompt-parts.js +12 -12
  93. package/dist/minds/system-prompt.d.ts +1 -1
  94. package/dist/minds/system-prompt.js +56 -56
  95. package/dist/persistence-errors.d.ts +1 -1
  96. package/dist/persistence.d.ts +126 -121
  97. package/dist/persistence.js +1190 -786
  98. package/dist/priming.d.ts +3 -3
  99. package/dist/priming.js +62 -61
  100. package/dist/recovery/reply-special.js +5 -5
  101. package/dist/runtime/driver-messages.d.ts +3 -2
  102. package/dist/runtime/driver-messages.js +68 -57
  103. package/dist/runtime/inter-dialog-format.d.ts +12 -10
  104. package/dist/runtime/inter-dialog-format.js +80 -35
  105. package/dist/runtime/interjection-pause-stop.js +1 -1
  106. package/dist/runtime/reply-prompt-copy.d.ts +7 -3
  107. package/dist/runtime/reply-prompt-copy.js +39 -14
  108. package/dist/server/api-routes.js +87 -83
  109. package/dist/server/static-server.js +1 -1
  110. package/dist/server/websocket-handler.js +163 -153
  111. package/dist/tool-availability.js +1 -1
  112. package/dist/tools/app-reminders.js +17 -4
  113. package/dist/tools/ctrl.js +5 -5
  114. package/dist/tools/os.js +16 -16
  115. package/dist/tools/pending-tellask-reminder.js +20 -14
  116. package/dist/tools/prompts/control/en/index.md +1 -1
  117. package/dist/tools/prompts/control/en/principles.md +8 -8
  118. package/dist/tools/prompts/control/en/scenarios.md +7 -7
  119. package/dist/tools/prompts/control/en/tools.md +7 -7
  120. package/dist/tools/prompts/control/zh/principles.md +4 -4
  121. package/dist/tools/prompts/control/zh/scenarios.md +5 -5
  122. package/dist/tools/prompts/control/zh/tools.md +3 -3
  123. package/dist/tools/prompts/team_memory/en/scenarios.md +1 -1
  124. package/dist/tools/prompts/team_memory/zh/scenarios.md +1 -1
  125. package/dist/tools/team_mgmt-manual.js +2 -2
  126. package/dist/tools/team_mgmt-mcp-manual.js +10 -0
  127. package/dist/tools/team_mgmt.js +4 -4
  128. package/dist/utils/taskdoc.js +12 -12
  129. package/package.json +3 -3
  130. package/webapp/dist/assets/{_basePickBy-BPJaiZdW.js → _basePickBy-B7M9Q0Fa.js} +3 -3
  131. package/webapp/dist/assets/_basePickBy-B7M9Q0Fa.js.map +1 -0
  132. package/webapp/dist/assets/{_baseUniq-BEetT15i.js → _baseUniq-DAeYoL6j.js} +2 -2
  133. package/webapp/dist/assets/_baseUniq-DAeYoL6j.js.map +1 -0
  134. package/webapp/dist/assets/{arc-Dm7Zf36f.js → arc-Bh4nDbNR.js} +2 -2
  135. package/webapp/dist/assets/arc-Bh4nDbNR.js.map +1 -0
  136. package/webapp/dist/assets/{architectureDiagram-VXUJARFQ-BpTPtkuo.js → architectureDiagram-2XIMDMQ5-CxqmdsIm.js} +26 -8
  137. package/webapp/dist/assets/architectureDiagram-2XIMDMQ5-CxqmdsIm.js.map +1 -0
  138. package/webapp/dist/assets/{blockDiagram-VD42YOAC-C8fLN0iu.js → blockDiagram-WCTKOSBZ-CxIWLtpt.js} +187 -170
  139. package/webapp/dist/assets/blockDiagram-WCTKOSBZ-CxIWLtpt.js.map +1 -0
  140. package/webapp/dist/assets/{c4Diagram-YG6GDRKO-BpPr62CH.js → c4Diagram-IC4MRINW-1qErOIgG.js} +4 -4
  141. package/webapp/dist/assets/c4Diagram-IC4MRINW-1qErOIgG.js.map +1 -0
  142. package/webapp/dist/assets/{channel-EMYoPjW3.js → channel-DkgZHNUe.js} +2 -2
  143. package/webapp/dist/assets/channel-DkgZHNUe.js.map +1 -0
  144. package/webapp/dist/assets/{chunk-4BX2VUAB-CefNtjWG.js → chunk-4BX2VUAB-BmdMbU9v.js} +2 -2
  145. package/webapp/dist/assets/chunk-4BX2VUAB-BmdMbU9v.js.map +1 -0
  146. package/webapp/dist/assets/{chunk-55IACEB6-C_X7T43V.js → chunk-55IACEB6-D6LDTDBy.js} +2 -2
  147. package/webapp/dist/assets/chunk-55IACEB6-D6LDTDBy.js.map +1 -0
  148. package/webapp/dist/assets/{chunk-FMBD7UC4-ORmtkrtS.js → chunk-FMBD7UC4-C-BdCe4C.js} +2 -2
  149. package/webapp/dist/assets/chunk-FMBD7UC4-C-BdCe4C.js.map +1 -0
  150. package/webapp/dist/assets/{chunk-TZMSLE5B-Gao4qrq7.js → chunk-JSJVCQXG-WA_BLIm9.js} +14 -6
  151. package/webapp/dist/assets/chunk-JSJVCQXG-WA_BLIm9.js.map +1 -0
  152. package/webapp/dist/assets/{chunk-QN33PNHL-LTAOVhWu.js → chunk-KX2RTZJC-CA7sDJO5.js} +2 -2
  153. package/webapp/dist/assets/chunk-KX2RTZJC-CA7sDJO5.js.map +1 -0
  154. package/webapp/dist/assets/{chunk-DI55MBZ5-CbvrsI_w.js → chunk-NQ4KR5QH-wlvxalE3.js} +9 -7
  155. package/webapp/dist/assets/chunk-NQ4KR5QH-wlvxalE3.js.map +1 -0
  156. package/webapp/dist/assets/{chunk-QZHKN3VN-ZoUM_4u5.js → chunk-QZHKN3VN-Bo1VMcph.js} +2 -2
  157. package/webapp/dist/assets/chunk-QZHKN3VN-Bo1VMcph.js.map +1 -0
  158. package/webapp/dist/assets/{chunk-B4BG7PRW-BRe3_2oA.js → chunk-WL4C6EOR-B-Pk44be.js} +171 -121
  159. package/webapp/dist/assets/chunk-WL4C6EOR-B-Pk44be.js.map +1 -0
  160. package/webapp/dist/assets/{classDiagram-2ON5EDUG-uha1vIGN.js → classDiagram-VBA2DB6C-BqKuyb49.js} +7 -6
  161. package/webapp/dist/assets/classDiagram-VBA2DB6C-BqKuyb49.js.map +1 -0
  162. package/webapp/dist/assets/{classDiagram-v2-WZHVMYZB-uha1vIGN.js → classDiagram-v2-RAHNMMFH-BqKuyb49.js} +7 -6
  163. package/webapp/dist/assets/classDiagram-v2-RAHNMMFH-BqKuyb49.js.map +1 -0
  164. package/webapp/dist/assets/{clone-_9Ayb1Gp.js → clone-BX5z8WVZ.js} +2 -2
  165. package/webapp/dist/assets/clone-BX5z8WVZ.js.map +1 -0
  166. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-C8wDw3NY.js → cose-bilkent-S5V4N54A-B-s11SgN.js} +2 -2
  167. package/webapp/dist/assets/cose-bilkent-S5V4N54A-B-s11SgN.js.map +1 -0
  168. package/webapp/dist/assets/cytoscape.esm-Bm8DJGmZ.js.map +1 -1
  169. package/webapp/dist/assets/{dagre-6UL2VRFP-BUSeNot0.js → dagre-KLK3FWXG-DmQFV2qK.js} +7 -7
  170. package/webapp/dist/assets/dagre-KLK3FWXG-DmQFV2qK.js.map +1 -0
  171. package/webapp/dist/assets/defaultLocale-B2RvLBDe.js.map +1 -1
  172. package/webapp/dist/assets/{diagram-PSM6KHXK-CMZAksVC.js → diagram-E7M64L7V-QRaBfST8.js} +10 -10
  173. package/webapp/dist/assets/diagram-E7M64L7V-QRaBfST8.js.map +1 -0
  174. package/webapp/dist/assets/{diagram-QEK2KX5R-BQKoRtwy.js → diagram-IFDJBPK2-lrWn1Obo.js} +9 -8
  175. package/webapp/dist/assets/diagram-IFDJBPK2-lrWn1Obo.js.map +1 -0
  176. package/webapp/dist/assets/{diagram-S2PKOQOG-DjMG97kd.js → diagram-P4PSJMXO-sTU7Hh-Y.js} +8 -8
  177. package/webapp/dist/assets/diagram-P4PSJMXO-sTU7Hh-Y.js.map +1 -0
  178. package/webapp/dist/assets/{erDiagram-Q2GNP2WA-BujwA137.js → erDiagram-INFDFZHY-Cx6jc9Wq.js} +96 -75
  179. package/webapp/dist/assets/erDiagram-INFDFZHY-Cx6jc9Wq.js.map +1 -0
  180. package/webapp/dist/assets/{flowDiagram-NV44I4VS-DgwPjg4y.js → flowDiagram-PKNHOUZH-DfGI49Dz.js} +98 -81
  181. package/webapp/dist/assets/flowDiagram-PKNHOUZH-DfGI49Dz.js.map +1 -0
  182. package/webapp/dist/assets/{ganttDiagram-JELNMOA3-Db2ykf3E.js → ganttDiagram-A5KZAMGK-nrcHWWaM.js} +28 -3
  183. package/webapp/dist/assets/ganttDiagram-A5KZAMGK-nrcHWWaM.js.map +1 -0
  184. package/webapp/dist/assets/{gitGraphDiagram-V2S2FVAM-D_gSifkv.js → gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js} +38 -46
  185. package/webapp/dist/assets/gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js.map +1 -0
  186. package/webapp/dist/assets/graph-R5G-y8tB.js +782 -0
  187. package/webapp/dist/assets/graph-R5G-y8tB.js.map +1 -0
  188. package/webapp/dist/assets/{index-DLajsIDJ.js → index--fy89xGh.js} +2214 -2023
  189. package/webapp/dist/assets/index--fy89xGh.js.map +1 -0
  190. package/webapp/dist/assets/{index-xvYYeHuy.css → index-DZFkLLVz.css} +18 -10
  191. package/webapp/dist/assets/{infoDiagram-HS3SLOUP-BDba5pKs.js → infoDiagram-LFFYTUFH-PIoZHr7s.js} +7 -7
  192. package/webapp/dist/assets/infoDiagram-LFFYTUFH-PIoZHr7s.js.map +1 -0
  193. package/webapp/dist/assets/init-ZxktEp_H.js.map +1 -1
  194. package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-oCM-LYk1.js +966 -0
  195. package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-oCM-LYk1.js.map +1 -0
  196. package/webapp/dist/assets/{journeyDiagram-XKPGCS4Q-CmJAbmlm.js → journeyDiagram-4ABVD52K-C2qidjQ5.js} +5 -5
  197. package/webapp/dist/assets/journeyDiagram-4ABVD52K-C2qidjQ5.js.map +1 -0
  198. package/webapp/dist/assets/{kanban-definition-3W4ZIXB7-DxQeBTDk.js → kanban-definition-K7BYSVSG-Du0TC8WS.js} +5 -3
  199. package/webapp/dist/assets/kanban-definition-K7BYSVSG-Du0TC8WS.js.map +1 -0
  200. package/webapp/dist/assets/{layout-DteV_yE8.js → layout-VmEo1OEB.js} +5 -5
  201. package/webapp/dist/assets/layout-VmEo1OEB.js.map +1 -0
  202. package/webapp/dist/assets/{linear-zItbPrND.js → linear-B662YHAc.js} +2 -2
  203. package/webapp/dist/assets/linear-B662YHAc.js.map +1 -0
  204. package/webapp/dist/assets/{mindmap-definition-VGOIOE7T-BJXI7UqO.js → mindmap-definition-YRQLILUH-D7arZj95.js} +7 -5
  205. package/webapp/dist/assets/mindmap-definition-YRQLILUH-D7arZj95.js.map +1 -0
  206. package/webapp/dist/assets/ordinal-CxptdPJm.js.map +1 -1
  207. package/webapp/dist/assets/{pieDiagram-ADFJNKIX-BpM-aH2p.js → pieDiagram-SKSYHLDU-DvjPP4PA.js} +8 -8
  208. package/webapp/dist/assets/pieDiagram-SKSYHLDU-DvjPP4PA.js.map +1 -0
  209. package/webapp/dist/assets/{quadrantDiagram-AYHSOK5B-NXdIpA15.js → quadrantDiagram-337W2JSQ-B_JUGMj_.js} +3 -3
  210. package/webapp/dist/assets/quadrantDiagram-337W2JSQ-B_JUGMj_.js.map +1 -0
  211. package/webapp/dist/assets/{requirementDiagram-UZGBJVZJ-D1AICAA0.js → requirementDiagram-Z7DCOOCP-DF0mpvE3.js} +16 -6
  212. package/webapp/dist/assets/requirementDiagram-Z7DCOOCP-DF0mpvE3.js.map +1 -0
  213. package/webapp/dist/assets/{sankeyDiagram-TZEHDZUN-WiReDPfo.js → sankeyDiagram-WA2Y5GQK-CoXlxv00.js} +2 -2
  214. package/webapp/dist/assets/sankeyDiagram-WA2Y5GQK-CoXlxv00.js.map +1 -0
  215. package/webapp/dist/assets/{sequenceDiagram-WL72ISMW-Cw76oP8t.js → sequenceDiagram-2WXFIKYE-DYqT5Pg7.js} +601 -201
  216. package/webapp/dist/assets/sequenceDiagram-2WXFIKYE-DYqT5Pg7.js.map +1 -0
  217. package/webapp/dist/assets/{stateDiagram-FKZM4ZOC-QjCeRczs.js → stateDiagram-RAJIS63D-D9b1mN8-.js} +9 -9
  218. package/webapp/dist/assets/stateDiagram-RAJIS63D-D9b1mN8-.js.map +1 -0
  219. package/webapp/dist/assets/{stateDiagram-v2-4FDKWEC3-IClqxQ4s.js → stateDiagram-v2-FVOUBMTO-DNzgudL_.js} +5 -5
  220. package/webapp/dist/assets/stateDiagram-v2-FVOUBMTO-DNzgudL_.js.map +1 -0
  221. package/webapp/dist/assets/{timeline-definition-IT6M3QCI-BfyfTY7m.js → timeline-definition-YZTLITO2-CkyKUY7A.js} +3 -3
  222. package/webapp/dist/assets/timeline-definition-YZTLITO2-CkyKUY7A.js.map +1 -0
  223. package/webapp/dist/assets/{treemap-GDKQZRPO-C5MiL6--.js → treemap-KZPCXAKY-CZd09kF-.js} +37 -24
  224. package/webapp/dist/assets/treemap-KZPCXAKY-CZd09kF-.js.map +1 -0
  225. package/webapp/dist/assets/vennDiagram-LZ73GAT5-BxVF5Olo.js +2487 -0
  226. package/webapp/dist/assets/vennDiagram-LZ73GAT5-BxVF5Olo.js.map +1 -0
  227. package/webapp/dist/assets/{xychartDiagram-PRI3JC2R-ybaJrSry.js → xychartDiagram-JWTSCODW-BRwRloPc.js} +4 -4
  228. package/webapp/dist/assets/xychartDiagram-JWTSCODW-BRwRloPc.js.map +1 -0
  229. package/webapp/dist/index.html +2 -2
  230. package/dist/docs/issues/global-dialog-event-broadcaster-missing.md +0 -128
  231. package/dist/llm/kernel-driver/subdialog-txn.d.ts +0 -8
  232. package/webapp/dist/assets/_basePickBy-BPJaiZdW.js.map +0 -1
  233. package/webapp/dist/assets/_baseUniq-BEetT15i.js.map +0 -1
  234. package/webapp/dist/assets/arc-Dm7Zf36f.js.map +0 -1
  235. package/webapp/dist/assets/architectureDiagram-VXUJARFQ-BpTPtkuo.js.map +0 -1
  236. package/webapp/dist/assets/blockDiagram-VD42YOAC-C8fLN0iu.js.map +0 -1
  237. package/webapp/dist/assets/c4Diagram-YG6GDRKO-BpPr62CH.js.map +0 -1
  238. package/webapp/dist/assets/channel-EMYoPjW3.js.map +0 -1
  239. package/webapp/dist/assets/chunk-4BX2VUAB-CefNtjWG.js.map +0 -1
  240. package/webapp/dist/assets/chunk-55IACEB6-C_X7T43V.js.map +0 -1
  241. package/webapp/dist/assets/chunk-B4BG7PRW-BRe3_2oA.js.map +0 -1
  242. package/webapp/dist/assets/chunk-DI55MBZ5-CbvrsI_w.js.map +0 -1
  243. package/webapp/dist/assets/chunk-FMBD7UC4-ORmtkrtS.js.map +0 -1
  244. package/webapp/dist/assets/chunk-QN33PNHL-LTAOVhWu.js.map +0 -1
  245. package/webapp/dist/assets/chunk-QZHKN3VN-ZoUM_4u5.js.map +0 -1
  246. package/webapp/dist/assets/chunk-TZMSLE5B-Gao4qrq7.js.map +0 -1
  247. package/webapp/dist/assets/classDiagram-2ON5EDUG-uha1vIGN.js.map +0 -1
  248. package/webapp/dist/assets/classDiagram-v2-WZHVMYZB-uha1vIGN.js.map +0 -1
  249. package/webapp/dist/assets/clone-_9Ayb1Gp.js.map +0 -1
  250. package/webapp/dist/assets/cose-bilkent-S5V4N54A-C8wDw3NY.js.map +0 -1
  251. package/webapp/dist/assets/dagre-6UL2VRFP-BUSeNot0.js.map +0 -1
  252. package/webapp/dist/assets/diagram-PSM6KHXK-CMZAksVC.js.map +0 -1
  253. package/webapp/dist/assets/diagram-QEK2KX5R-BQKoRtwy.js.map +0 -1
  254. package/webapp/dist/assets/diagram-S2PKOQOG-DjMG97kd.js.map +0 -1
  255. package/webapp/dist/assets/erDiagram-Q2GNP2WA-BujwA137.js.map +0 -1
  256. package/webapp/dist/assets/flowDiagram-NV44I4VS-DgwPjg4y.js.map +0 -1
  257. package/webapp/dist/assets/ganttDiagram-JELNMOA3-Db2ykf3E.js.map +0 -1
  258. package/webapp/dist/assets/gitGraphDiagram-V2S2FVAM-D_gSifkv.js.map +0 -1
  259. package/webapp/dist/assets/graph-BHjCU5xP.js +0 -425
  260. package/webapp/dist/assets/graph-BHjCU5xP.js.map +0 -1
  261. package/webapp/dist/assets/index-DLajsIDJ.js.map +0 -1
  262. package/webapp/dist/assets/infoDiagram-HS3SLOUP-BDba5pKs.js.map +0 -1
  263. package/webapp/dist/assets/journeyDiagram-XKPGCS4Q-CmJAbmlm.js.map +0 -1
  264. package/webapp/dist/assets/kanban-definition-3W4ZIXB7-DxQeBTDk.js.map +0 -1
  265. package/webapp/dist/assets/layout-DteV_yE8.js.map +0 -1
  266. package/webapp/dist/assets/linear-zItbPrND.js.map +0 -1
  267. package/webapp/dist/assets/mindmap-definition-VGOIOE7T-BJXI7UqO.js.map +0 -1
  268. package/webapp/dist/assets/pieDiagram-ADFJNKIX-BpM-aH2p.js.map +0 -1
  269. package/webapp/dist/assets/quadrantDiagram-AYHSOK5B-NXdIpA15.js.map +0 -1
  270. package/webapp/dist/assets/requirementDiagram-UZGBJVZJ-D1AICAA0.js.map +0 -1
  271. package/webapp/dist/assets/sankeyDiagram-TZEHDZUN-WiReDPfo.js.map +0 -1
  272. package/webapp/dist/assets/sequenceDiagram-WL72ISMW-Cw76oP8t.js.map +0 -1
  273. package/webapp/dist/assets/stateDiagram-FKZM4ZOC-QjCeRczs.js.map +0 -1
  274. package/webapp/dist/assets/stateDiagram-v2-4FDKWEC3-IClqxQ4s.js.map +0 -1
  275. package/webapp/dist/assets/timeline-definition-IT6M3QCI-BfyfTY7m.js.map +0 -1
  276. package/webapp/dist/assets/treemap-GDKQZRPO-C5MiL6--.js.map +0 -1
  277. package/webapp/dist/assets/xychartDiagram-PRI3JC2R-ybaJrSry.js.map +0 -1
@@ -20,7 +20,7 @@ const context_health_1 = require("./context-health");
20
20
  const drive_1 = require("./drive");
21
21
  const guardrails_1 = require("./guardrails");
22
22
  const reply_guidance_1 = require("./reply-guidance");
23
- const subdialog_1 = require("./subdialog");
23
+ const sideDialog_1 = require("./sideDialog");
24
24
  const tellask_special_1 = require("./tellask-special");
25
25
  const REPLY_TOOL_REMINDER_PREFIX_EN = '[Dominds replyTellask required]';
26
26
  const REPLY_TOOL_REMINDER_PREFIX_ZH = '[Dominds 必须调用回复工具]';
@@ -43,45 +43,73 @@ async function buildReplyToolReminderPrompt(args) {
43
43
  }),
44
44
  });
45
45
  }
46
- async function loadFreshSuspensionStatusFromPersistence(dialog) {
46
+ function entitlementAllowsPendingSideDialog(args) {
47
+ const entitlement = args.driveOptions?.noPromptSideDialogResumeEntitlement;
48
+ if (args.driveOptions?.source !== 'kernel_driver_supply_response_parent_revive' ||
49
+ entitlement?.ownerDialogId !== args.dialog.id.selfId) {
50
+ return false;
51
+ }
52
+ if (entitlement.reason === 'reply_tellask_back_delivered') {
53
+ return true;
54
+ }
55
+ if (entitlement.reason === 'replaced_pending_sideDialog_reply') {
56
+ return false;
57
+ }
58
+ if (entitlement.reason !== 'resolved_pending_sideDialog_reply') {
59
+ return false;
60
+ }
61
+ if (!isPositiveInteger(entitlement.callSiteCourse)) {
62
+ return false;
63
+ }
64
+ if (!isPositiveInteger(entitlement.callSiteGenseq)) {
65
+ return false;
66
+ }
67
+ return (args.pending.callSiteCourse !== entitlement.callSiteCourse ||
68
+ args.pending.callSiteGenseq !== entitlement.callSiteGenseq);
69
+ }
70
+ function isPositiveInteger(value) {
71
+ return typeof value === 'number' && Number.isInteger(value) && value > 0;
72
+ }
73
+ async function loadFreshSuspensionStatusFromPersistence(dialog, driveOptions) {
47
74
  const q4h = await persistence_1.DialogPersistence.loadQuestions4HumanState(dialog.id, dialog.status);
48
- const pendingSubdialogs = await persistence_1.DialogPersistence.loadPendingSubdialogs(dialog.id, dialog.status);
75
+ const pendingSideDialogs = await persistence_1.DialogPersistence.loadPendingSideDialogs(dialog.id, dialog.status);
49
76
  const hasQ4H = q4h.length > 0;
50
- const hasSubdialogs = pendingSubdialogs.length > 0;
77
+ const hasSideDialogs = pendingSideDialogs.length > 0;
78
+ const blockingSideDialogs = pendingSideDialogs.some((pending) => !entitlementAllowsPendingSideDialog({ pending, driveOptions, dialog }));
51
79
  return {
52
80
  q4h: hasQ4H,
53
- subdialogs: hasSubdialogs,
54
- blockingSubdialogs: hasSubdialogs,
55
- canDrive: !hasQ4H && !hasSubdialogs,
81
+ sideDialogs: hasSideDialogs,
82
+ blockingSideDialogs,
83
+ canDrive: !hasQ4H && !blockingSideDialogs,
56
84
  };
57
85
  }
58
86
  function buildDisplayStateFromSuspensionStatus(args) {
59
- if (args.q4h && args.subdialogs) {
60
- return { kind: 'blocked', reason: { kind: 'needs_human_input_and_subdialogs' } };
87
+ if (args.q4h && args.sideDialogs) {
88
+ return { kind: 'blocked', reason: { kind: 'needs_human_input_and_sideDialogs' } };
61
89
  }
62
90
  if (args.q4h) {
63
91
  return { kind: 'blocked', reason: { kind: 'needs_human_input' } };
64
92
  }
65
- if (args.subdialogs) {
66
- return { kind: 'blocked', reason: { kind: 'waiting_for_subdialogs' } };
93
+ if (args.sideDialogs) {
94
+ return { kind: 'blocked', reason: { kind: 'waiting_for_sideDialogs' } };
67
95
  }
68
96
  return { kind: 'idle_waiting_user' };
69
97
  }
70
98
  async function loadPendingDiagnosticsSnapshot(args) {
71
99
  const ownerDialogIdObj = new dialog_1.DialogID(args.ownerDialogId, args.rootId);
72
100
  try {
73
- const pending = await persistence_1.DialogPersistence.loadPendingSubdialogs(ownerDialogIdObj, args.status);
74
- const matchedSubdialogIds = pending
75
- .filter((record) => record.subdialogId === args.expectedSubdialogId)
76
- .map((record) => record.subdialogId);
101
+ const pending = await persistence_1.DialogPersistence.loadPendingSideDialogs(ownerDialogIdObj, args.status);
102
+ const matchedSideDialogIds = pending
103
+ .filter((record) => record.sideDialogId === args.expectedSideDialogId)
104
+ .map((record) => record.sideDialogId);
77
105
  return {
78
106
  kind: 'loaded',
79
107
  ownerDialogId: args.ownerDialogId,
80
108
  status: args.status,
81
109
  totalCount: pending.length,
82
- matchedSubdialogIds,
110
+ matchedSideDialogIds,
83
111
  records: pending.map((record) => ({
84
- subdialogId: record.subdialogId,
112
+ sideDialogId: record.sideDialogId,
85
113
  callType: record.callType,
86
114
  targetAgentId: record.targetAgentId,
87
115
  sessionSlug: record.sessionSlug,
@@ -133,24 +161,31 @@ async function clearConsumedDeferredRootQueueIfIdle(dialog) {
133
161
  reason: 'root_idle_after_consuming_deferred_queue',
134
162
  });
135
163
  }
136
- function hasNoPromptSubdialogResumeEntitlement(dialog, driveOptions) {
137
- const entitlement = driveOptions?.noPromptSubdialogResumeEntitlement;
164
+ function hasNoPromptSideDialogResumeEntitlement(dialog, driveOptions) {
165
+ const entitlement = driveOptions?.noPromptSideDialogResumeEntitlement;
138
166
  if (!entitlement) {
139
167
  return false;
140
168
  }
141
169
  return entitlement.ownerDialogId === dialog.id.selfId;
142
170
  }
143
- function shouldAllowPendingSubdialogsForParentRevive(dialog, driveOptions) {
144
- if (!(dialog instanceof dialog_1.SubDialog)) {
171
+ function hasParentReviveEntitlement(dialog, driveOptions) {
172
+ const entitlement = driveOptions?.noPromptSideDialogResumeEntitlement;
173
+ if (!entitlement) {
145
174
  return false;
146
175
  }
147
- const entitlement = driveOptions?.noPromptSubdialogResumeEntitlement;
148
- if (!entitlement) {
176
+ if (driveOptions?.source !== 'kernel_driver_supply_response_parent_revive' ||
177
+ entitlement.ownerDialogId !== dialog.id.selfId) {
149
178
  return false;
150
179
  }
151
- return (driveOptions?.source === 'kernel_driver_supply_response_parent_revive' &&
152
- entitlement.ownerDialogId === dialog.id.selfId &&
153
- entitlement.reason === 'reply_tellask_back_delivered');
180
+ if (entitlement.reason === 'reply_tellask_back_delivered') {
181
+ return true;
182
+ }
183
+ if (entitlement.reason === 'replaced_pending_sideDialog_reply') {
184
+ return true;
185
+ }
186
+ return (entitlement.reason === 'resolved_pending_sideDialog_reply' &&
187
+ isPositiveInteger(entitlement.callSiteCourse) &&
188
+ isPositiveInteger(entitlement.callSiteGenseq));
154
189
  }
155
190
  function resolveDriveRequestSource(humanPrompt, driveOptions) {
156
191
  if (driveOptions?.source) {
@@ -221,7 +256,7 @@ async function applyRegisteredDialogRunControlsBeforeDrive(args) {
221
256
  throw new Error((0, run_control_1.renderAppRunControlBlockForPreDrive)(result.block));
222
257
  }
223
258
  }
224
- async function inspectNoPromptSubdialogDrive(args) {
259
+ async function inspectNoPromptSideDialogDrive(args) {
225
260
  const source = resolveDriveRequestSource(undefined, args.driveOptions);
226
261
  const latest = await persistence_1.DialogPersistence.loadDialogLatest(args.dialog.id, args.dialog.status);
227
262
  const displayState = latest?.displayState;
@@ -245,7 +280,7 @@ async function inspectNoPromptSubdialogDrive(args) {
245
280
  const explicitInterruptedResumeAllowed = args.driveOptions?.allowResumeFromInterrupted === true &&
246
281
  latest?.executionMarker?.kind === 'interrupted';
247
282
  const supplyResponseParentReviveAllowed = source === 'kernel_driver_supply_response_parent_revive' &&
248
- hasNoPromptSubdialogResumeEntitlement(args.dialog, args.driveOptions);
283
+ hasNoPromptSideDialogResumeEntitlement(args.dialog, args.driveOptions);
249
284
  if (lastEvent?.type === 'tellask_call_anchor_record' && lastEvent.anchorRole === 'response') {
250
285
  return {
251
286
  shouldReject: true,
@@ -279,7 +314,7 @@ async function maybeResolveDeferredReplyReassertionPrompt(dialog) {
279
314
  if (!deferredReplyReassertion) {
280
315
  return undefined;
281
316
  }
282
- const activeDirective = await (0, tellask_special_1.loadLatestActiveTellaskReplyDirective)(dialog);
317
+ const activeDirective = await (0, tellask_special_1.loadActiveTellaskReplyDirective)(dialog);
283
318
  if (!activeDirective ||
284
319
  activeDirective.targetCallId !== deferredReplyReassertion.directive.targetCallId) {
285
320
  await persistence_1.DialogPersistence.setDeferredReplyReassertion(dialog.id, undefined, dialog.status);
@@ -314,7 +349,7 @@ async function maybeSurfaceDeferredReplyReassertionGuideForBlockedContinue(dialo
314
349
  if (!deferredReplyReassertion || deferredReplyReassertion.resumeGuideSurfaced === true) {
315
350
  return;
316
351
  }
317
- const activeDirective = await (0, tellask_special_1.loadLatestActiveTellaskReplyDirective)(dialog);
352
+ const activeDirective = await (0, tellask_special_1.loadActiveTellaskReplyDirective)(dialog);
318
353
  if (!activeDirective ||
319
354
  activeDirective.targetCallId !== deferredReplyReassertion.directive.targetCallId) {
320
355
  await persistence_1.DialogPersistence.setDeferredReplyReassertion(dialog.id, undefined, dialog.status);
@@ -393,18 +428,18 @@ async function resolveEffectivePrompt(dialog, humanPrompt) {
393
428
  case 'registered_assignment_update':
394
429
  case 'new_course_runtime_guide':
395
430
  case 'new_course_runtime_reply':
396
- case 'new_course_runtime_subdialog': {
431
+ case 'new_course_runtime_sideDialog': {
397
432
  const runtimeCommon = {
398
433
  ...common,
399
434
  origin: 'runtime',
400
435
  ...(upNext.skipTaskdoc === undefined ? {} : { skipTaskdoc: upNext.skipTaskdoc }),
401
436
  };
402
437
  if (upNext.kind === 'registered_assignment_update' ||
403
- upNext.kind === 'new_course_runtime_subdialog') {
438
+ upNext.kind === 'new_course_runtime_sideDialog') {
404
439
  const prompt = {
405
440
  ...runtimeCommon,
406
441
  tellaskReplyDirective: upNext.tellaskReplyDirective,
407
- subdialogReplyTarget: upNext.subdialogReplyTarget,
442
+ sideDialogReplyTarget: upNext.sideDialogReplyTarget,
408
443
  };
409
444
  return prompt;
410
445
  }
@@ -433,7 +468,7 @@ async function executeDriveRound(args) {
433
468
  let interruptedBySignal = false;
434
469
  let followUp;
435
470
  let driveResult;
436
- let subdialogReplyTarget;
471
+ let sideDialogReplyTarget;
437
472
  let activeTellaskReplyDirective;
438
473
  let activePromptWasReplyToolReminder = false;
439
474
  let shouldPauseAfterLocalUserInterjection = false;
@@ -447,7 +482,7 @@ async function executeDriveRound(args) {
447
482
  (0, dialog_display_state_1.createActiveRun)(dialog.id);
448
483
  activeRunPrimed = true;
449
484
  ownsActiveRun = !hadActiveRunBefore;
450
- // "dead" is irreversible for subdialogs. Skip drive if marked dead.
485
+ // "dead" is irreversible for sideDialogs. Skip drive if marked dead.
451
486
  try {
452
487
  const latest = await persistence_1.DialogPersistence.loadDialogLatest(dialog.id, 'running');
453
488
  if (dialog.id.selfId !== dialog.id.rootId &&
@@ -487,14 +522,14 @@ async function executeDriveRound(args) {
487
522
  });
488
523
  }
489
524
  // Queued/auto drive (without fresh human input) must not proceed while dialog is
490
- // suspended by pending Q4H or subdialogs. This prevents duplicate generations when
491
- // multiple wake-ups race around the same subdialog completion boundary.
525
+ // suspended by pending Q4H or sideDialogs. This prevents duplicate generations when
526
+ // multiple wake-ups race around the same sideDialog completion boundary.
492
527
  if (!humanPrompt) {
493
- if (dialog instanceof dialog_1.SubDialog && !dialog.hasUpNext()) {
528
+ if (dialog instanceof dialog_1.SideDialog && !dialog.hasUpNext()) {
494
529
  try {
495
- const inspection = await inspectNoPromptSubdialogDrive({ dialog, driveOptions });
530
+ const inspection = await inspectNoPromptSideDialogDrive({ dialog, driveOptions });
496
531
  if (inspection.shouldReject) {
497
- log_1.log.error('Rejected unexpected no-prompt subdialog drive request', undefined, {
532
+ log_1.log.error('Rejected unexpected no-prompt sideDialog drive request', undefined, {
498
533
  dialogId: dialog.id.valueOf(),
499
534
  rootId: dialog.id.rootId,
500
535
  selfId: dialog.id.selfId,
@@ -511,7 +546,7 @@ async function executeDriveRound(args) {
511
546
  }
512
547
  }
513
548
  catch (err) {
514
- log_1.log.error('Failed to inspect unexpected no-prompt subdialog drive request', err, {
549
+ log_1.log.error('Failed to inspect unexpected no-prompt sideDialog drive request', err, {
515
550
  dialogId: dialog.id.valueOf(),
516
551
  rootId: dialog.id.rootId,
517
552
  selfId: dialog.id.selfId,
@@ -535,19 +570,21 @@ async function executeDriveRound(args) {
535
570
  // Do not refactor this branch using only `displayState` or only the previous interrupted
536
571
  // marker. The correct behavior emerges from combining fresh blocker facts, queued prompt
537
572
  // state, and the deferred reply reassertion logic elsewhere.
538
- const allowPendingSubdialogsForParentRevive = shouldAllowPendingSubdialogsForParentRevive(dialog, driveOptions);
573
+ const hasEntitledParentRevive = hasParentReviveEntitlement(dialog, driveOptions);
539
574
  const suspension = resumeFromInterjectionPause
540
- ? await loadFreshSuspensionStatusFromPersistence(dialog)
541
- : await dialog.getSuspensionStatus({
542
- allowPendingSubdialogs: allowPendingSubdialogsForParentRevive,
543
- });
575
+ ? await loadFreshSuspensionStatusFromPersistence(dialog, driveOptions)
576
+ : hasEntitledParentRevive
577
+ ? await loadFreshSuspensionStatusFromPersistence(dialog, driveOptions)
578
+ : await dialog.getSuspensionStatus({
579
+ allowPendingSideDialogs: false,
580
+ });
544
581
  const queuedPrompt = dialog.peekUpNext();
545
- const queuedSubdialogPromptCanResume = dialog instanceof dialog_1.SubDialog && queuedPrompt !== undefined;
546
- if (!suspension.canDrive && !queuedSubdialogPromptCanResume) {
582
+ const queuedSideDialogPromptCanResume = dialog instanceof dialog_1.SideDialog && queuedPrompt !== undefined;
583
+ if (!suspension.canDrive && !queuedSideDialogPromptCanResume) {
547
584
  if (resumeFromInterjectionPause) {
548
585
  const restoredState = buildDisplayStateFromSuspensionStatus({
549
586
  q4h: suspension.q4h,
550
- subdialogs: suspension.subdialogs,
587
+ sideDialogs: suspension.sideDialogs,
551
588
  });
552
589
  await (0, dialog_display_state_1.setDialogDisplayState)(dialog.id, restoredState);
553
590
  await maybeSurfaceDeferredReplyReassertionGuideForBlockedContinue(dialog);
@@ -555,7 +592,7 @@ async function executeDriveRound(args) {
555
592
  dialogId: dialog.id.valueOf(),
556
593
  restoredState,
557
594
  waitingQ4H: suspension.q4h,
558
- waitingSubdialogs: suspension.subdialogs,
595
+ waitingSideDialogs: suspension.sideDialogs,
559
596
  });
560
597
  return;
561
598
  }
@@ -568,7 +605,7 @@ async function executeDriveRound(args) {
568
605
  waitInQue,
569
606
  hasQueuedUpNext: dialog.hasUpNext(),
570
607
  waitingQ4H: suspension.q4h,
571
- waitingSubdialogs: suspension.subdialogs,
608
+ waitingSideDialogs: suspension.sideDialogs,
572
609
  lastDriveTrigger: lastTrigger
573
610
  ? {
574
611
  action: lastTrigger.action,
@@ -590,9 +627,9 @@ async function executeDriveRound(args) {
590
627
  log_1.log.debug('kernel-driver continue after interjection pause passed fresh fact scan and will keep driving', undefined, {
591
628
  dialogId: dialog.id.valueOf(),
592
629
  waitingQ4H: suspension.q4h,
593
- waitingSubdialogs: suspension.subdialogs,
630
+ waitingSideDialogs: suspension.sideDialogs,
594
631
  hasQueuedUpNext: dialog.hasUpNext(),
595
- queuedSubdialogPromptCanResume,
632
+ queuedSideDialogPromptCanResume,
596
633
  });
597
634
  }
598
635
  }
@@ -685,7 +722,7 @@ async function executeDriveRound(args) {
685
722
  throw new Error(`kernel-driver upNext invariant violation: expected queued prompt ${effectivePrompt?.msgId ?? 'unknown'} before drive`);
686
723
  }
687
724
  }
688
- subdialogReplyTarget = effectivePrompt?.subdialogReplyTarget;
725
+ sideDialogReplyTarget = effectivePrompt?.sideDialogReplyTarget;
689
726
  const replyGuidance = await (0, reply_guidance_1.resolvePromptReplyGuidance)({
690
727
  dlg: dialog,
691
728
  prompt: effectivePrompt,
@@ -712,20 +749,20 @@ async function executeDriveRound(args) {
712
749
  scheduleDrive: args.scheduleDrive,
713
750
  driveDialog: args.driveDialog,
714
751
  }, effectivePrompt, driveOptions);
715
- subdialogReplyTarget = driveResult.lastAssistantReplyTarget ?? subdialogReplyTarget;
752
+ sideDialogReplyTarget = driveResult.lastAssistantReplyTarget ?? sideDialogReplyTarget;
716
753
  interruptedBySignal = (0, dialog_display_state_1.getActiveRunSignal)(dialog.id)?.aborted === true;
717
754
  if (!interruptedBySignal) {
718
755
  followUp = dialog.takeUpNext();
719
756
  }
720
757
  let tailError;
721
758
  try {
722
- if (dialog instanceof dialog_1.SubDialog &&
759
+ if (dialog instanceof dialog_1.SideDialog &&
723
760
  driveResult &&
724
761
  !interruptedBySignal &&
725
762
  (driveResult.fbrConclusion !== undefined || driveResult.lastAssistantSayingContent !== null)) {
726
763
  if (driveResult.fbrConclusion) {
727
- await (0, subdialog_1.supplySubdialogResponseToAssignedCallerIfPendingV2)({
728
- subdialog: dialog,
764
+ await (0, sideDialog_1.supplySideDialogResponseToAssignedAskerIfPendingV2)({
765
+ sideDialog: dialog,
729
766
  responseText: driveResult.fbrConclusion.responseText,
730
767
  responseGenseq: driveResult.fbrConclusion.responseGenseq,
731
768
  scheduleDrive: args.scheduleDrive,
@@ -739,9 +776,9 @@ async function executeDriveRound(args) {
739
776
  !Number.isFinite(driveResult.lastAssistantSayingGenseq) ||
740
777
  driveResult.lastAssistantSayingGenseq <= driveResult.lastFunctionCallGenseq);
741
778
  if (hasInProgressFunctionCall) {
742
- // Any function call means execution is still in-progress. Only supply when the callee
779
+ // Any function call means execution is still in-progress. Only supply when the tellaskee
743
780
  // has produced a newer assistant saying after the latest function call.
744
- log_1.log.debug('kernel-driver skip subdialog response supply because latest saying is not after function calls', undefined, {
781
+ log_1.log.debug('kernel-driver skip sideDialog response supply because latest saying is not after function calls', undefined, {
745
782
  rootId: dialog.id.rootId,
746
783
  selfId: dialog.id.selfId,
747
784
  lastAssistantSayingGenseq: driveResult.lastAssistantSayingGenseq,
@@ -752,28 +789,27 @@ async function executeDriveRound(args) {
752
789
  const hasFollowUp = followUp !== undefined;
753
790
  const suspension = await dialog.getSuspensionStatus();
754
791
  if (!suspension.canDrive || hasFollowUp) {
755
- log_1.log.debug('kernel-driver skip subdialog response supply while callee is not finalized', undefined, {
792
+ log_1.log.debug('kernel-driver skip sideDialog response supply while tellaskee is not finalized', undefined, {
756
793
  rootId: dialog.id.rootId,
757
794
  selfId: dialog.id.selfId,
758
795
  waitingQ4H: suspension.q4h,
759
- waitingSubdialogs: suspension.subdialogs,
796
+ waitingSideDialogs: suspension.sideDialogs,
760
797
  hasFollowUp,
761
798
  });
762
799
  }
763
800
  if (suspension.canDrive && !hasFollowUp) {
764
801
  if (!activeTellaskReplyDirective) {
765
- log_1.log.debug('kernel-driver skip implicit subdialog reply because no active tellask reply directive is bound to this drive', undefined, {
802
+ log_1.log.debug('kernel-driver skip implicit sideDialog reply because no active tellask reply directive is bound to this drive', undefined, {
766
803
  rootId: dialog.id.rootId,
767
804
  selfId: dialog.id.selfId,
768
805
  });
769
806
  }
770
807
  else {
771
- const shouldDirectFallbackAfterAskBackParentRevive = shouldAllowPendingSubdialogsForParentRevive(dialog, driveOptions);
772
- if (!activePromptWasReplyToolReminder &&
773
- !shouldDirectFallbackAfterAskBackParentRevive) {
808
+ const shouldDirectFallbackAfterParentRevive = hasParentReviveEntitlement(dialog, driveOptions);
809
+ if (!activePromptWasReplyToolReminder && !shouldDirectFallbackAfterParentRevive) {
774
810
  const language = (0, work_language_1.getWorkLanguage)();
775
811
  followUp =
776
- subdialogReplyTarget === undefined
812
+ sideDialogReplyTarget === undefined
777
813
  ? {
778
814
  kind: 'runtime_reply_reminder',
779
815
  prompt: await buildReplyToolReminderPrompt({
@@ -788,7 +824,7 @@ async function executeDriveRound(args) {
788
824
  tellaskReplyDirective: activeTellaskReplyDirective,
789
825
  }
790
826
  : {
791
- kind: 'runtime_subdialog_reply_reminder',
827
+ kind: 'runtime_sideDialog_reply_reminder',
792
828
  prompt: await buildReplyToolReminderPrompt({
793
829
  dlg: dialog,
794
830
  directive: activeTellaskReplyDirective,
@@ -799,30 +835,30 @@ async function executeDriveRound(args) {
799
835
  origin: 'runtime',
800
836
  userLanguageCode: language,
801
837
  tellaskReplyDirective: activeTellaskReplyDirective,
802
- subdialogReplyTarget,
838
+ sideDialogReplyTarget,
803
839
  };
804
- log_1.log.debug('kernel-driver queued subdialog replyTellask reminder after plain reply', undefined, {
840
+ log_1.log.debug('kernel-driver queued sideDialog replyTellask reminder after plain reply', undefined, {
805
841
  dialogId: dialog.id.valueOf(),
806
842
  targetCallId: activeTellaskReplyDirective.targetCallId,
807
- targetOwnerDialogId: subdialogReplyTarget?.ownerDialogId,
808
- directFallbackAfterAskBackParentRevive: shouldDirectFallbackAfterAskBackParentRevive,
843
+ targetOwnerDialogId: sideDialogReplyTarget?.ownerDialogId,
844
+ directFallbackAfterParentRevive: shouldDirectFallbackAfterParentRevive,
809
845
  });
810
846
  }
811
847
  else {
812
848
  if (typeof driveResult.lastAssistantSayingGenseq !== 'number' ||
813
849
  !Number.isFinite(driveResult.lastAssistantSayingGenseq) ||
814
850
  driveResult.lastAssistantSayingGenseq <= 0) {
815
- throw new Error(`Subdialog response supply invariant violation: missing lastAssistantSayingGenseq for dialog=${dialog.id.valueOf()}`);
851
+ throw new Error(`SideDialog response supply invariant violation: missing lastAssistantSayingGenseq for dialog=${dialog.id.valueOf()}`);
816
852
  }
817
853
  const responseGenseq = Math.floor(driveResult.lastAssistantSayingGenseq);
818
854
  const directFallbackCallId = `direct-fallback-${(0, id_1.generateShortId)()}`;
819
855
  let supplied = false;
820
- if (subdialogReplyTarget) {
821
- supplied = await (0, subdialog_1.supplySubdialogResponseToSpecificCallerIfPendingV2)({
822
- subdialog: dialog,
856
+ if (sideDialogReplyTarget) {
857
+ supplied = await (0, sideDialog_1.supplySideDialogResponseToSpecificAskerIfPendingV2)({
858
+ sideDialog: dialog,
823
859
  responseText: driveResult.lastAssistantSayingContent,
824
860
  responseGenseq,
825
- target: subdialogReplyTarget,
861
+ target: sideDialogReplyTarget,
826
862
  deliveryMode: 'direct_fallback',
827
863
  replyResolution: {
828
864
  callId: directFallbackCallId,
@@ -831,8 +867,8 @@ async function executeDriveRound(args) {
831
867
  scheduleDrive: args.scheduleDrive,
832
868
  });
833
869
  if (!supplied) {
834
- supplied = await (0, subdialog_1.supplySubdialogResponseToAssignedCallerIfPendingV2)({
835
- subdialog: dialog,
870
+ supplied = await (0, sideDialog_1.supplySideDialogResponseToAssignedAskerIfPendingV2)({
871
+ sideDialog: dialog,
836
872
  responseText: driveResult.lastAssistantSayingContent,
837
873
  responseGenseq,
838
874
  deliveryMode: 'direct_fallback',
@@ -845,8 +881,8 @@ async function executeDriveRound(args) {
845
881
  }
846
882
  }
847
883
  else {
848
- supplied = await (0, subdialog_1.supplySubdialogResponseToAssignedCallerIfPendingV2)({
849
- subdialog: dialog,
884
+ supplied = await (0, sideDialog_1.supplySideDialogResponseToAssignedAskerIfPendingV2)({
885
+ sideDialog: dialog,
850
886
  responseText: driveResult.lastAssistantSayingContent,
851
887
  responseGenseq,
852
888
  deliveryMode: 'direct_fallback',
@@ -857,18 +893,18 @@ async function executeDriveRound(args) {
857
893
  scheduleDrive: args.scheduleDrive,
858
894
  });
859
895
  }
860
- if (!supplied && subdialogReplyTarget) {
896
+ if (!supplied && sideDialogReplyTarget) {
861
897
  const diagnostics = await loadPendingDiagnosticsSnapshot({
862
898
  rootId: dialog.id.rootId,
863
- ownerDialogId: subdialogReplyTarget.ownerDialogId,
864
- expectedSubdialogId: dialog.id.selfId,
899
+ ownerDialogId: sideDialogReplyTarget.ownerDialogId,
900
+ expectedSideDialogId: dialog.id.selfId,
865
901
  status: dialog.status,
866
902
  });
867
- log_1.log.debug('kernel-driver failed to supply subdialog response to specific caller', undefined, {
903
+ log_1.log.debug('kernel-driver failed to supply sideDialog response to specific asker', undefined, {
868
904
  calleeId: dialog.id.valueOf(),
869
- targetOwnerDialogId: subdialogReplyTarget.ownerDialogId,
870
- targetCallType: subdialogReplyTarget.callType,
871
- targetCallId: subdialogReplyTarget.callId,
905
+ targetOwnerDialogId: sideDialogReplyTarget.ownerDialogId,
906
+ targetCallType: sideDialogReplyTarget.callType,
907
+ targetCallId: sideDialogReplyTarget.callId,
872
908
  diagnostics,
873
909
  });
874
910
  }
@@ -878,7 +914,7 @@ async function executeDriveRound(args) {
878
914
  }
879
915
  }
880
916
  }
881
- if (!(dialog instanceof dialog_1.SubDialog) &&
917
+ if (!(dialog instanceof dialog_1.SideDialog) &&
882
918
  driveResult &&
883
919
  !interruptedBySignal &&
884
920
  driveResult.lastAssistantSayingContent !== null &&
@@ -963,9 +999,9 @@ async function executeDriveRound(args) {
963
999
  case 'registered_assignment_update':
964
1000
  case 'new_course_runtime_guide':
965
1001
  case 'new_course_runtime_reply':
966
- case 'new_course_runtime_subdialog':
1002
+ case 'new_course_runtime_sideDialog':
967
1003
  case 'runtime_reply_reminder':
968
- case 'runtime_subdialog_reply_reminder': {
1004
+ case 'runtime_sideDialog_reply_reminder': {
969
1005
  const runtimeCommon = {
970
1006
  ...common,
971
1007
  origin: 'runtime',
@@ -974,11 +1010,11 @@ async function executeDriveRound(args) {
974
1010
  : { skipTaskdoc: followUp.skipTaskdoc }),
975
1011
  };
976
1012
  if (followUp.kind === 'registered_assignment_update' ||
977
- followUp.kind === 'new_course_runtime_subdialog') {
1013
+ followUp.kind === 'new_course_runtime_sideDialog') {
978
1014
  const prompt = {
979
1015
  ...runtimeCommon,
980
1016
  tellaskReplyDirective: followUp.tellaskReplyDirective,
981
- subdialogReplyTarget: followUp.subdialogReplyTarget,
1017
+ sideDialogReplyTarget: followUp.sideDialogReplyTarget,
982
1018
  };
983
1019
  return prompt;
984
1020
  }
@@ -5,10 +5,10 @@ exports.validateKernelDriverPolicyInvariants = validateKernelDriverPolicyInvaria
5
5
  exports.resolveKernelDriverPolicyViolationKind = resolveKernelDriverPolicyViolationKind;
6
6
  const dialog_1 = require("../../dialog");
7
7
  const fbr_1 = require("./fbr");
8
- function isToollessFbrSelfSubdialog(dlg) {
9
- if (!(dlg instanceof dialog_1.SubDialog))
8
+ function isToollessFbrSelfSideDialog(dlg) {
9
+ if (!(dlg instanceof dialog_1.SideDialog))
10
10
  return false;
11
- return dlg.assignmentFromSup.callName === 'freshBootsReasoning';
11
+ return dlg.assignmentFromAsker.callName === 'freshBootsReasoning';
12
12
  }
13
13
  function mergeModelParams(base, overlay) {
14
14
  if (!base && !overlay)
@@ -26,7 +26,7 @@ function mergeModelParams(base, overlay) {
26
26
  }
27
27
  function buildKernelDriverPolicy(args) {
28
28
  const { dlg, agent, systemPrompt, agentTools, language } = args;
29
- if (!isToollessFbrSelfSubdialog(dlg)) {
29
+ if (!isToollessFbrSelfSideDialog(dlg)) {
30
30
  return {
31
31
  mode: 'default',
32
32
  effectiveAgent: agent,
@@ -1,4 +1,4 @@
1
- export { driveDialogStream, emitSayingEventsBridge as emitSayingEvents, supplyResponseToSupdialog, } from './engine';
1
+ export { driveDialogStream, emitSayingEventsBridge as emitSayingEvents, supplyResponseToAskerDialog, } from './engine';
2
2
  export { runBackendDriver } from './loop';
3
3
  export { restoreDialogHierarchy } from './restore';
4
4
  export type { KernelDriverDriveArgs, KernelDriverDriveResult, KernelDriverEmitSayingArgs, KernelDriverEmitSayingResult, KernelDriverRunBackendResult, KernelDriverSupplyResponseArgs, KernelDriverSupplyResponseResult, } from './types';
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.restoreDialogHierarchy = exports.runBackendDriver = exports.supplyResponseToSupdialog = exports.emitSayingEvents = exports.driveDialogStream = void 0;
3
+ exports.restoreDialogHierarchy = exports.runBackendDriver = exports.supplyResponseToAskerDialog = exports.emitSayingEvents = exports.driveDialogStream = void 0;
4
4
  var engine_1 = require("./engine");
5
5
  Object.defineProperty(exports, "driveDialogStream", { enumerable: true, get: function () { return engine_1.driveDialogStream; } });
6
6
  Object.defineProperty(exports, "emitSayingEvents", { enumerable: true, get: function () { return engine_1.emitSayingEventsBridge; } });
7
- Object.defineProperty(exports, "supplyResponseToSupdialog", { enumerable: true, get: function () { return engine_1.supplyResponseToSupdialog; } });
7
+ Object.defineProperty(exports, "supplyResponseToAskerDialog", { enumerable: true, get: function () { return engine_1.supplyResponseToAskerDialog; } });
8
8
  var loop_1 = require("./loop");
9
9
  Object.defineProperty(exports, "runBackendDriver", { enumerable: true, get: function () { return loop_1.runBackendDriver; } });
10
10
  var restore_1 = require("./restore");