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
package/dist/docs/fbr.md CHANGED
@@ -7,17 +7,17 @@ Chinese version: [中文版](./fbr.zh.md)
7
7
  ## 1. What it is
8
8
 
9
9
  **Fresh Boots Reasoning (FBR)** is a Dominds mechanism for “reasoning again from a clean slate” on a bounded sub-problem,
10
- then reporting back to the tellasker dialog.
10
+ then reporting back to the tellasker.
11
11
 
12
12
  In Dominds, FBR is triggered by the dedicated function tool `freshBootsReasoning({ tellaskContent: "...", effort?: N })`.
13
- The mechanism is the runtime-enforced contract applied to the spawned sideline dialog.
13
+ The mechanism is the runtime-enforced contract applied to the spawned Side Dialog.
14
14
 
15
15
  ## 2. Design principles and tradeoffs
16
16
 
17
17
  ### 2.1 Predictability first: FBR is tool-less until final closure
18
18
 
19
19
  FBR is meant to be “reasoning over text”, not “an agent run that explores the environment”. To keep it safe and
20
- predictable, FBR sideline dialogs must be:
20
+ predictable, FBR Side Dialogs must be:
21
21
 
22
22
  - **tool-less by construction during divergence/convergence** (technically enforced; not “please don’t use tools”), and
23
23
  - **closure-only in the final stage** (exactly two conclusion functions, no other tools), and
@@ -30,7 +30,7 @@ silent ignore is worse than an error.
30
30
 
31
31
  ### 2.3 Serial multi-pass reasoning, not “multi-agent collaboration”
32
32
 
33
- `fbr-effort` is an FBR intensity setting. Runtime interprets intensity `N` as `N` divergence rounds, then `N` convergence rounds, inside a **single FBR sideline conversation window**. The FBR sideline itself must finish denoising and closure before reporting upstream.
33
+ `fbr-effort` is an FBR intensity setting. Runtime interprets intensity `N` as `N` divergence rounds, then `N` convergence rounds, inside a **single FBR Side Dialog conversation window**. The FBR Side Dialog itself must finish denoising and closure before reporting to tellasker.
34
34
 
35
35
  ## 3. User syntax
36
36
 
@@ -43,16 +43,16 @@ Use the dedicated FBR form:
43
43
  Notes:
44
44
 
45
45
  - FBR does not use `targetAgentId`, `sessionSlug`, or `mentionList`.
46
- - `tellaskContent` is the authoritative task context for the FBR sideline.
46
+ - `tellaskContent` is the authoritative task context for the FBR Side Dialog.
47
47
  - `effort` is optional and sets per-call FBR intensity; when omitted, runtime uses the current member’s `fbr-effort`.
48
- - Intensity `N` maps to `N` serial FBR passes inside one sideline window.
48
+ - Intensity `N` maps to `N` serial FBR passes inside one Side Dialog window.
49
49
 
50
50
  ### 3.2 Scope
51
51
 
52
52
  This document specifies the FBR mechanism and its `freshBootsReasoning({ tellaskContent: "...", effort?: N })` contract. General teammate Tellasks (`tellaskSessionless({ targetAgentId: "<teammate>", tellaskContent: "..." })`) follow
53
53
  the taxonomy and capability model in [`dialog-system.md`](./dialog-system.md).
54
54
 
55
- If you want a “fresh” sideline dialog that still has tools, use an explicit teammate identity via the general teammate Tellask flow.
55
+ If you want a “fresh” Side Dialog that still has tools, use an explicit teammate identity via the general teammate Tellask flow.
56
56
 
57
57
  ## 4. Runtime contract (normative)
58
58
 
@@ -60,19 +60,19 @@ This section uses MUST / MUST NOT / SHOULD / MAY for requirements.
60
60
 
61
61
  ### 4.1 Isolation and context
62
62
 
63
- When driving an FBR sideline dialog created by `freshBootsReasoning({ tellaskContent: "..." })`, runtime MUST enforce:
63
+ When driving an FBR Side Dialog created by `freshBootsReasoning({ tellaskContent: "..." })`, runtime MUST enforce:
64
64
 
65
- - **No dependency on tellasker dialog history**
66
- - the tellaskee MUST NOT assume access to the tellasker dialog’s history
65
+ - **No dependency on tellasker-side history**
66
+ - the tellaskee MUST NOT assume access to the tellasker-side dialog history
67
67
  - the tellaskee MUST treat the tellask body as the primary, authoritative task context
68
68
  - **Shared FBR iteration context**
69
69
  - all rounds launched by a single `freshBootsReasoning` call share the same FBR window assumptions and no-tools policy
70
- - rounds run in the same sideline context as one continuous thread and stay isolated from the caller dialog history
70
+ - rounds run in the same Side Dialog context as one continuous thread and stay isolated from the tellasker-side dialog history
71
71
  - **No tool-based context fetch**
72
72
  - no reading files / running commands / browsing
73
73
  - no accessing Memory or rtws (runtime workspace) state
74
74
 
75
- Intuition: “fresh boots” means “fresh relative to the caller thread”, not “ignores baseline system rules”. Runtime may
75
+ Intuition: “fresh boots” means “fresh relative to the tellasker-side thread”, not “ignores baseline system rules”. Runtime may
76
76
  still inject baseline policy/safety/formatting context, but the tellask body remains the authority.
77
77
 
78
78
  ### 4.2 Tool-less (prompt + technical enforcement)
@@ -86,8 +86,8 @@ Tool-less FBR has two layers, both required:
86
86
 
87
87
  The FBR system prompt MUST communicate (wording may vary, meaning must hold):
88
88
 
89
- - this is an FBR sideline dialog; the tellask body is the primary context
90
- - do not assume access to tellasker dialog history
89
+ - this is an FBR Side Dialog; the tellask body is the primary context
90
+ - do not assume access to tellasker-side dialog history
91
91
  - if critical context is missing, list what is missing and why it blocks reasoning
92
92
  - do not emit any tellasks (including `tellaskBack` or `askHuman`)
93
93
 
@@ -108,11 +108,11 @@ If a provider integration normally injects a tool prompt or schema, then for FBR
108
108
  - omit it entirely, OR
109
109
  - inject text that is identical to the appended “no tools” notice
110
110
 
111
- Under no circumstances should the FBR sideline dialog see any tool definitions.
111
+ Under no circumstances should the FBR Side Dialog see any tool definitions.
112
112
 
113
113
  #### 4.2.3 The LLM request MUST be “zero tools”
114
114
 
115
- For divergence/convergence, the LLM request for an FBR sideline dialog (`freshBootsReasoning`) MUST have **zero tools available**:
115
+ For divergence/convergence, the LLM request for an FBR Side Dialog (`freshBootsReasoning`) MUST have **zero tools available**:
116
116
 
117
117
  - the request payload must not include tool/function definitions (effective tool list must be empty)
118
118
  - provider tool-calling / function-calling modes must not be enabled
@@ -126,17 +126,17 @@ If the model attempts any other tool/function call, runtime MUST hard-reject it
126
126
 
127
127
  ### 4.3 Tellask restriction: none allowed
128
128
 
129
- FBR sideline dialogs MUST NOT issue any tellask call (including `tellaskBack({ tellaskContent: "..." })`, `tellask({ ... })`, `tellaskSessionless({ ... })`, or `askHuman({ tellaskContent: "..." })`).
130
- If critical context is missing, the FBR sideline should **list the missing items** and why they block reasoning, then return.
129
+ FBR Side Dialogs MUST NOT issue any tellask call (including `tellaskBack({ tellaskContent: "..." })`, `tellask({ ... })`, `tellaskSessionless({ ... })`, or `askHuman({ tellaskContent: "..." })`).
130
+ If critical context is missing, the FBR Side Dialog should **list the missing items** and why they block reasoning, then return.
131
131
 
132
132
  ### 4.4 Output contract (easy to distill)
133
133
 
134
- An FBR sideline dialog should denoise internally and post only one upstream-visible final artifact.
134
+ An FBR Side Dialog should denoise internally and post only one tellasker-visible final artifact.
135
135
 
136
136
  1. **Divergence**: stay open to wild or minority ideas without forcing early consensus.
137
137
  2. **Convergence**: discard unsupported wild ideas as noise and keep only stable cross-round consensus.
138
138
  3. **Final closure**: end by calling exactly one of the two conclusion functions above.
139
- 4. **Upstream delivery**: caller receives only the final low-noise conclusion, or the final “unreasonable situation” conclusion.
139
+ 4. **Tellasker delivery**: the tellasker receives only the final low-noise conclusion, or the final “unreasonable situation” conclusion.
140
140
 
141
141
  ### 4.5 Violations and errors (loud + debuggable)
142
142
 
@@ -156,16 +156,16 @@ An FBR sideline dialog should denoise internally and post only one upstream-visi
156
156
 
157
157
  When `fbr-effort = N`:
158
158
 
159
- - runtime expands one `freshBootsReasoning({ tellaskContent: "..." })` into **N divergence rounds + N convergence rounds + up to N finalization retries** inside one sideline dialog
159
+ - runtime expands one `freshBootsReasoning({ tellaskContent: "..." })` into **N divergence rounds + N convergence rounds + up to N finalization retries** inside one Side Dialog
160
160
  - divergence rounds must explore distinct angles and stay open to ideas that may later be discarded
161
161
  - convergence rounds must denoise autonomously and preserve only stable consensus
162
162
  - conclusion functions are exposed only after divergence and convergence are complete
163
163
  - if the model still does not end via one of the required conclusion functions after `N` finalization retries, runtime must programmatically produce the `presentUnreasonableSituation` result
164
- - tellasker dialog receives only the final low-noise conclusion or the final unreasonable-situation conclusion
164
+ - tellasker receives only the final low-noise conclusion or the final unreasonable-situation conclusion
165
165
 
166
166
  ## 6. FBR-only model overrides: `fbr_model_params`
167
167
 
168
- `fbr_model_params` overrides model params **only when driving FBR sideline dialogs**:
168
+ `fbr_model_params` overrides model params **only when driving FBR Side Dialogs**:
169
169
 
170
170
  - Schema: identical to `model_params` (documented by `model_param_options` in `dominds/main/llm/defaults.yaml`)
171
171
  - Scope: `freshBootsReasoning({ tellaskContent: "..." })` only
@@ -192,15 +192,15 @@ freshBootsReasoning({ tellaskContent: "You are doing tool-less FBR. Use ONLY the
192
192
 
193
193
  ```yaml
194
194
  member_defaults:
195
- # Run 3 rounds inside one tool-less FBR sideline per `freshBootsReasoning({ tellaskContent: "..." })`.
195
+ # Run 3 rounds inside one tool-less FBR Side Dialog per `freshBootsReasoning({ tellaskContent: "..." })`.
196
196
  fbr-effort: 3
197
197
 
198
198
  members:
199
199
  ux:
200
- # Run 5 rounds per `freshBootsReasoning({ tellaskContent: "..." })` in the same sideline.
200
+ # Run 5 rounds per `freshBootsReasoning({ tellaskContent: "..." })` in the same Side Dialog.
201
201
  fbr-effort: 5
202
202
 
203
- # Make FBR more exploratory without changing tellasker dialog behavior.
203
+ # Make FBR more exploratory without changing tellasker behavior.
204
204
  fbr_model_params:
205
205
  codex:
206
206
  temperature: 0.9
@@ -209,16 +209,16 @@ members:
209
209
  max_tokens: 1200
210
210
  ```
211
211
 
212
- ## 8. Relationship to general sideline dialogs
212
+ ## 8. Relationship to general Side Dialogs
213
213
 
214
214
  - `freshBootsReasoning({ tellaskContent: "..." })` is a special case: tool-less, body-first, tellask-restricted, optionally fanned out in sequence via `fbr-effort`.
215
- - General `tellaskSessionless({ targetAgentId: "<teammate>", tellaskContent: "..." })` sidelines remain fully capable (tools/toolsets as configured).
216
- - If you need “same persona + tools” in a sideline, use an explicit teammate identity (`tellask` / `tellaskSessionless`).
215
+ - General `tellaskSessionless({ targetAgentId: "<teammate>", tellaskContent: "..." })` Side Dialogs remain fully capable (tools/toolsets as configured).
216
+ - If you need “same persona + tools” in a Side Dialog, use an explicit teammate identity (`tellask` / `tellaskSessionless`).
217
217
 
218
218
  ## 9. Acceptance checklist
219
219
 
220
220
  - `freshBootsReasoning({ tellaskContent: "..." })` triggers tool-less FBR; the LLM request is technically “zero tools”.
221
221
  - The system prompt body contains no tool instructions; tool-related wording comes only from the separate fixed notice.
222
- - FBR sidelines cannot issue teammate Tellasks (including `tellaskBack`).
222
+ - FBR Side Dialogs cannot issue teammate Tellasks (including `tellaskBack`).
223
223
  - `fbr-effort` defaults to `3`, accepts `0..100`, rejects invalid values, and fails loudly when disabled.
224
224
  - `fbr_model_params` applies only to FBR and follows the same schema/merge intent as `model_params`.
@@ -6,7 +6,7 @@
6
6
 
7
7
  ## 1. 这是什么
8
8
 
9
- **扪心自问(FBR, Fresh Boots Reasoning)** 是 Dominds 的一种工作机制:在诉请者对话推进过程中,智能体可以把一个边界清晰的子问题“拆出去”,以 **更干净的上下文** 重新推理一次,然后把结论回贴到诉请者对话中。
9
+ **扪心自问(FBR, Fresh Boots Reasoning)** 是 Dominds 的一种工作机制:在诉请者推进过程中,智能体可以把一个边界清晰的子问题“拆出去”,以 **更干净的上下文** 重新推理一次,然后把结论回贴到诉请者中。
10
10
 
11
11
  在 Dominds 里,FBR 通过专用函数工具 `freshBootsReasoning({ tellaskContent: "...", effort?: N })` 触发;FBR 的核心是运行时对该支线对话施加的一组强制约束与串行语义。
12
12
 
@@ -18,7 +18,7 @@ FBR 的价值来自“把推理拉回文本”:让被诉请者只围绕诉请
18
18
 
19
19
  - **发散/收敛阶段技术上 0 工具**(不是“提示词里说别用工具”)
20
20
  - **最终收口阶段只开放两个结论函数**
21
- - **上下文以诉请正文为权威**(不是“默认继承诉请者对话历史”)
21
+ - **上下文以诉请正文为权威**(不是“默认继承诉请者一侧历史”)
22
22
 
23
23
  这两点让 FBR 更像一个可控的“推理试算器”,而不是另一个会自行探索环境的智能体。
24
24
 
@@ -28,7 +28,7 @@ FBR 的价值来自“把推理拉回文本”:让被诉请者只围绕诉请
28
28
 
29
29
  ### 2.3 串行多轮推理,而不是“多代理协作”
30
30
 
31
- `fbr-effort` 是 FBR 的力度设置。运行时会把力度 `N` 解释为在**单一子对话窗口**内先执行 `N` 轮发散,再执行 `N` 轮收敛,并要求 FBR 子对话自己完成去噪和正式收口后再回贴上游。
31
+ `fbr-effort` 是 FBR 的力度设置。运行时会把力度 `N` 解释为在**单一支线对话窗口**内先执行 `N` 轮发散,再执行 `N` 轮收敛,并要求 FBR 支线对话自己完成去噪和正式收口后再回贴诉请者。
32
32
 
33
33
  ## 3. 用户语法
34
34
 
@@ -59,17 +59,17 @@ FBR 的价值来自“把推理拉回文本”:让被诉请者只围绕诉请
59
59
 
60
60
  当运行时驱动由 `freshBootsReasoning({ tellaskContent: "..." })` 创建的 FBR 支线对话时,必须强制满足:
61
61
 
62
- - **不依赖诉请者对话上下文**:
63
- - 被诉请者不得假设能访问**诉请者对话**历史
62
+ - **不依赖诉请者一侧上下文**:
63
+ - 被诉请者不得假设能访问**诉请者一侧的对话历史**
64
64
  - 被诉请者必须把诉请正文当作主要且权威的任务上下文
65
65
  - **FBR 轮次共享窗口**:
66
66
  - 同一次 `freshBootsReasoning` 启动的全部轮次共享同一套 FBR 约束上下文(无工具、无诉请上下文注入)
67
- - 所有轮次在同一 FBR 子对话内连续推理,形成一段共享上下文历史,同时继续与主线对话历史隔离
67
+ - 所有轮次在同一 FBR 支线对话内连续推理,形成一段共享上下文历史,同时继续与主线对话历史隔离
68
68
  - **不得通过工具补上下文**:
69
69
  - 不得读文件/跑命令/浏览
70
70
  - 不得读取 Memory 或 rtws(运行时工作区)状态
71
71
 
72
- 直觉上:FBR 的“初心”不是“忘掉一切系统规则”,而是“相对诉请者对话不继承历史”。运行时仍可能无条件注入基础规则(安全、格式、少量只读摘要等),但 **推理依据必须以诉请正文为主**。
72
+ 直觉上:FBR 的“初心”不是“忘掉一切系统规则”,而是“相对诉请者不继承历史”。运行时仍可能无条件注入基础规则(安全、格式、少量只读摘要等),但 **推理依据必须以诉请正文为主**。
73
73
 
74
74
  ### 4.2 无工具(提示词 + 技术强制)
75
75
 
@@ -83,7 +83,7 @@ FBR 的阶段性约束必须同时满足两类要求:
83
83
  FBR 支线对话的 system prompt 必须明确包含(措辞可不同,但语义必须到位):
84
84
 
85
85
  - 这是一次 FBR 支线对话,诉请正文是主要任务上下文
86
- - 不要假设能访问诉请者对话历史
86
+ - 不要假设能访问诉请者一侧的对话历史
87
87
  - 若诉请正文缺少关键上下文,需要列出缺失信息与阻塞原因
88
88
  - 不得发起任何诉请(包括 `tellaskBack` 或 `askHuman`)
89
89
 
@@ -127,12 +127,12 @@ FBR 支线对话不得发起任何 tellask 调用(包括 `tellaskBack({ tellas
127
127
 
128
128
  ### 4.4 输出契约(在 FBR 内部完成去噪)
129
129
 
130
- FBR 支线对话应在内部完成去噪与收口,只向上游回贴一个最终结果。
130
+ FBR 支线对话应在内部完成去噪与收口,只向诉请者回贴一个最终结果。
131
131
 
132
132
  1. **发散阶段**:对离谱、少数派、反直觉想法保持开放,不急于压成共识。
133
133
  2. **收敛阶段**:自主去噪,只保留跨轮稳定共识与正文可支撑内容。
134
134
  3. **最终收口**:必须以 `presentLowNoiseHighlyInformativeConclusion` 或 `presentUnreasonableSituation` 二选一结束。
135
- 4. **上游交付**:诉请者只接收低噪高信息结论,或“当前现状无法被合理看待”的最终结论。
135
+ 4. **诉请者交付**:诉请者只接收低噪高信息结论,或“当前现状无法被合理看待”的最终结论。
136
136
 
137
137
  ### 4.5 违规与报错(必须“响亮可调试”)
138
138
 
@@ -151,12 +151,12 @@ FBR 支线对话应在内部完成去噪与收口,只向上游回贴一个最
151
151
 
152
152
  当 `fbr-effort = N`:
153
153
 
154
- - 运行时必须把一条 `freshBootsReasoning({ tellaskContent: "..." })` 扩展为单一 FBR 子对话内的 **N 轮发散 + N 轮收敛 + 最多 N 次最终收口重试**
154
+ - 运行时必须把一条 `freshBootsReasoning({ tellaskContent: "..." })` 扩展为单一 FBR 支线对话内的 **N 轮发散 + N 轮收敛 + 最多 N 次最终收口重试**
155
155
  - 发散轮必须切换不同视角,允许大胆但可能最终被丢弃的候选想法
156
156
  - 收敛轮必须自主去噪,只保留稳定共识
157
157
  - 只有完成发散轮与收敛轮之后,运行时才开放两个结论函数
158
158
  - 如果模型在最终收口阶段连续 `N` 次仍不调用规定函数,运行时必须程序化地产出 `presentUnreasonableSituation` 的结果
159
- - 诉请者对话最终只接收低噪结论,或“不合理现状”结论
159
+ - 诉请者最终只接收低噪结论,或“不合理现状”结论
160
160
 
161
161
  ## 6. 模型参数覆盖:`fbr_model_params`
162
162
 
@@ -187,15 +187,15 @@ freshBootsReasoning({ tellaskContent: "你正在做无工具的 FBR。请只使
187
187
 
188
188
  ```yaml
189
189
  member_defaults:
190
- # 默认每次 `freshBootsReasoning({ tellaskContent: "..." })` 在单一 FBR 子对话内串行执行 3 轮。
190
+ # 默认每次 `freshBootsReasoning({ tellaskContent: "..." })` 在单一 FBR 支线对话内串行执行 3 轮。
191
191
  fbr-effort: 3
192
192
 
193
193
  members:
194
194
  ux:
195
- # 每次 `freshBootsReasoning({ tellaskContent: "..." })` 在单一 FBR 子对话内串行执行 5 轮。
195
+ # 每次 `freshBootsReasoning({ tellaskContent: "..." })` 在单一 FBR 支线对话内串行执行 5 轮。
196
196
  fbr-effort: 5
197
197
 
198
- # 让 FBR 更“发散”,但不影响诉请者对话风格。
198
+ # 让 FBR 更“发散”,但不影响诉请者风格。
199
199
  fbr_model_params:
200
200
  codex:
201
201
  temperature: 0.9
package/dist/docs/i18n.md CHANGED
@@ -6,7 +6,7 @@ Dominds has two independent language settings:
6
6
 
7
7
  ## 1) Work language (server-wide)
8
8
 
9
- - **What it affects:** agent system prompts, internal guide messages, inter-dialog (teammate/subdialog) narrative formatting.
9
+ - **What it affects:** agent system prompts, internal guide messages, inter-dialog (teammate/sideDialog) narrative formatting.
10
10
  - **How to set:** standard locale environment variables (`LANG`).
11
11
  - **Default:** OS default language (best-effort); falls back to `en`.
12
12
  - **Supported (v1):**
@@ -40,7 +40,7 @@ LANG=en_US.UTF-8 dominds webui
40
40
  ## 2) UI language (per WebUI client)
41
41
 
42
42
  - **What it affects:** WebUI UI copy + the language the agent is asked to use when replying to the current user.
43
- - **What it does NOT affect:** the agent’s internal working language, system prompts, or teammate/subdialog formatting language.
43
+ - **What it does NOT affect:** the agent’s internal working language, system prompts, or teammate/sideDialog formatting language.
44
44
  - **How to set:** WebUI dropdown in the top-right (stored in `localStorage` as `dominds-ui-language`).
45
45
  - **Supported (v1):** `en`, `zh`.
46
46
 
@@ -6,7 +6,7 @@ Dominds 有两个独立的语言设置:
6
6
 
7
7
  ## 1) 工作语言(服务器范围)
8
8
 
9
- - **影响范围:** 智能体系统提示、内部指导消息、对话间(队友/子对话)叙事格式化。
9
+ - **影响范围:** 智能体系统提示、内部指导消息、对话间(队友/支线对话)叙事格式化。
10
10
  - **设置方式:** 标准语言环境变量(`LANG`)。
11
11
  - **默认值:** 操作系统的默认语言(尽最大努力);回退到 `en`。
12
12
  - **支持的语言(v1):**
@@ -39,7 +39,7 @@ LANG=en_US.UTF-8 dominds webui
39
39
  ## 2) UI 语言(每个 WebUI 客户端)
40
40
 
41
41
  - **影响范围:** WebUI 界面文案 + 智能体在回复当前用户时被要求的语言。
42
- - **不影响范围:** 智能体的内部工作语言、系统提示或队友/子对话格式化语言。
42
+ - **不影响范围:** 智能体的内部工作语言、系统提示或队友/支线对话格式化语言。
43
43
  - **设置方式:** WebUI 右上角的下拉菜单(存储在 `localStorage` 中,键为 `dominds-ui-language`)。
44
44
  - **支持的语言(v1):** `en`, `zh`。
45
45
 
@@ -90,7 +90,7 @@ implemented config surface.
90
90
  - That runtime instance remains **leased to that dialog** for future function tool calls from the same
91
91
  toolset.
92
92
  - If another dialog uses the same MCP toolset concurrently, Dominds creates **another** MCP runtime
93
- instance for that requesting dialog (no cross-dialog sharing).
93
+ instance for that tellasker (no cross-dialog sharing).
94
94
  - On first lease, Dominds adds a **sticky owned reminder** to the dialog instructing the agent to
95
95
  release the lease when it is confident the runtime instance won’t be needed again soon.
96
96
 
@@ -378,12 +378,13 @@ Semantics:
378
378
 
379
379
  ## HTTP Headers (`streamable_http`)
380
380
 
381
- `streamable_http` servers can optionally define HTTP request headers. Values use the same literal
382
- or `{ env: ... }` mapping form as `env`:
381
+ `streamable_http` servers can optionally define HTTP request headers. Values can be literal strings,
382
+ copied from env with `{ env: ... }`, or built as `prefix + env` with `{ prefix, env }`:
383
383
 
384
384
  ```yaml
385
385
  headers:
386
386
  Authorization:
387
+ prefix: 'Bearer '
387
388
  env: MCP_AUTH_TOKEN
388
389
  X-Client-Name: 'dominds'
389
390
  ```
@@ -416,7 +417,7 @@ servers:
416
417
  # 2) streamable_http
417
418
  # transport: streamable_http
418
419
  # url: http://127.0.0.1:3000/mcp
419
- # headers: {} # optional (supports literal or { env: NAME } values)
420
+ # headers: {} # optional (supports literal, { env: NAME }, or { prefix, env } values)
420
421
  # sessionId: '' # optional
421
422
 
422
423
  # Tool exposure controls
@@ -304,11 +304,12 @@ env:
304
304
 
305
305
  ## HTTP 头(`streamable_http`)
306
306
 
307
- `streamable_http` 服务器可以选择性地定义 HTTP 请求标头。值使用与 `env` 相同的字面量或 `{ env: ... }` 映射形式:
307
+ `streamable_http` 服务器可以选择性地定义 HTTP 请求标头。值可以是字面量字符串、`{ env: ... }` 环境变量复制,或用 `{ prefix, env }` 组装成 `prefix + env`:
308
308
 
309
309
  ```yaml
310
310
  headers:
311
311
  Authorization:
312
+ prefix: 'Bearer '
312
313
  env: MCP_AUTH_TOKEN
313
314
  X-Client-Name: 'dominds'
314
315
  ```
@@ -341,7 +342,7 @@ servers:
341
342
  # 2) streamable_http
342
343
  # transport: streamable_http
343
344
  # url: http://127.0.0.1:3000/mcp
344
- # headers: {} # 可选(支持字面量或 { env: NAME } 值)
345
+ # headers: {} # 可选(支持字面量、{ env: NAME } 或 { prefix, env } 值)
345
346
  # sessionId: '' # 可选
346
347
 
347
348
  # 工具暴露控制
@@ -8,7 +8,7 @@ TL;DR:
8
8
 
9
9
  - Make dialog history disposable (noise is cheap to drop).
10
10
  - Make key artifacts survivable (you can `clear_mind` and still keep moving).
11
- - Publicly declare and openly discuss progress in real time (and keep it auditable) to enforce timely coordination: that’s where the real leverage comes from when multiple agents and multiple mainline dialogs work in parallel (Taskdoc / team memory / env notes).
11
+ - Publicly declare and openly discuss progress in real time (and keep it auditable) to enforce timely coordination: that’s where the real leverage comes from when multiple agents and multiple Main Dialogs work in parallel (Taskdoc / team memory / env notes).
12
12
 
13
13
  Key rule: **the Taskdoc is the task’s live coordination bulletin board**. Put key decisions/status/next steps in `progress`, hard rules in `constraints`, and don’t leave them only in chat or reminders.
14
14
 
@@ -38,7 +38,7 @@ The same information can be categorized by “who needs to see it / who maintain
38
38
  - **Collective-scope (shared by team/task)**:
39
39
  - rtws-level “env notes” (`.minds/env*.md`): the workspace’s baseline facts, runtime constraints, and gotchas
40
40
  - team memory (`team_memory`)
41
- - Taskdoc: in a healthy workflow, the same Taskdoc is expected to be progressed by multiple mainline dialogs (different responders), so treat it as the collective single source of truth
41
+ - Taskdoc: in a healthy workflow, the same Taskdoc is expected to be progressed by multiple Main Dialogs (different Dialog Responders), so treat it as the collective single source of truth
42
42
 
43
43
  ### Permissions and division of labor
44
44
 
@@ -164,7 +164,7 @@ Some reminders are generated by the runtime (e.g. background process status, MCP
164
164
 
165
165
  Reminders are your tiny working set: injected every turn, and preserved across `clear_mind`.
166
166
 
167
- In message semantics, these should be treated as **self reminders**: they belong on the `role=assistant` side and should read like first-person working notes rather than fresh external instructions.
167
+ In message semantics, default injected reminder wrappers should still be treated as **runtime system notices**: Dominds' built-in and fallback wrappers belong on the `role=user` side, carry a standard notice marker such as `[System notice]`, and address the LLM in second person (for example, “You set a reminder so the runtime system can remind you: ...”). Ideally they would use `role=environment`, but current LLM APIs generally do not support that role, so Dominds carries default runtime wrappers on `role=user`; custom reminder owners keep responsibility for the role they emit under their own contract. Insert the reminder projection before the real dialog messages and wrap it in a paired header/footer; the footer should say that only the reminder items between that header and footer are system reminders rather than user instructions, so it does not weaken real user instructions in the dialog history.
168
168
 
169
169
  Guidelines:
170
170
 
@@ -215,7 +215,7 @@ The goal for agents’ day-to-day work is not “write more docs”. It’s a lo
215
215
  ### Where to write what (quick rules)
216
216
 
217
217
  - **Taskdoc `progress`**: key decisions, current status, next steps (the shared bulletin board)
218
- - **Taskdoc `constraints`**: hard rules/safety/compliance/style (must be visible to all mainlines)
218
+ - **Taskdoc `constraints`**: hard rules/safety/compliance/style (must be visible to all Main Dialogs)
219
219
  - **Team memory `team_memory`**: stable team conventions and invariants (worth reusing)
220
220
  - **Env notes `.minds/env*.md`**: rtws baseline facts, runtime constraints, gotchas (align humans + all agents to the same environment)
221
221
  - **Individual memory `personal_memory`**: personal preferences + responsibility-area rtws index (keep accurate)
@@ -163,7 +163,7 @@ TL;DR:
163
163
 
164
164
  提醒项是你为自己维护的“超小工作集”:它会在每次生成时注入上下文,并能跨 `clear_mind` 保留。
165
165
 
166
- 在消息语义上,这类提醒应视为**自我提醒**:落在 `role=assistant` 侧,并使用第一人称口吻,避免伪装成新的外部指令。
166
+ 在消息语义上,默认提醒项包装注入上下文时仍应视为**运行时系统提示**:Dominds 内置和 fallback 包装落在 `role=user` 侧,带 `【系统提示】` 头标,并使用第二人称口吻(例如“你设置了提醒项,让运行时系统提醒你:……”)。理想情况下它们应是 `role=environment`,但当前 LLM API 普遍不支持,所以默认运行时包装用 `role=user` 承载;自定义 reminder owner 仍按自身契约决定输出 role。提醒项投影应插入在真实对话消息之前,并使用成对 header/footer;footer 只说明该 header/footer 之间的提醒项是系统提醒、并非用户指令,避免误伤对话历史中的真实用户指令。
167
167
 
168
168
  建议:
169
169
 
@@ -160,7 +160,7 @@ Taskdoc Structure:
160
160
 
161
161
  **In dominds (recommended syntax)**
162
162
 
163
- - Fresh Boots Reasoning (FBR) is **common**, and should usually be done via **transient self-subdialogs**.
163
+ - Fresh Boots Reasoning (FBR) is **common**, and should usually be done via **transient self-sideDialogs**.
164
164
  - Use `freshBootsReasoning({ tellaskContent: "..." })` for the default “fresh boots” session: isolate one sub-problem, answer, and return.
165
165
  - Use `freshBootsReasoning({ tellaskContent: "..." })` whenever you need tool-less, clean-slate reasoning on a bounded sub-problem.
166
166
 
@@ -160,7 +160,7 @@
160
160
 
161
161
  **在 dominds 中(推荐语法)**
162
162
 
163
- - 扪心自问(FBR)是**常见的**,通常应该通过**瞬态子对话**完成。
163
+ - 扪心自问(FBR)是**常见的**,通常应该通过**瞬态支线对话**完成。
164
164
  - 使用 `freshBootsReasoning({ tellaskContent: "..." })` 进行默认的“初心”会话:隔离一个子问题,回答,然后返回。
165
165
  - 需要对边界清晰的子问题做“无工具、清洁上下文”推理时,直接使用 `freshBootsReasoning({ tellaskContent: "..." })`。
166
166
 
package/dist/docs/q4h.md CHANGED
@@ -32,7 +32,7 @@ This document specifies a WebUI enhancement:
32
32
 
33
33
  ## Definitions (user-facing terms)
34
34
 
35
- - **Mainline dialog / sideline dialog**: user-facing terms for the primary thread and temporary work threads.
35
+ - **Main Dialog / Side Dialog**: user-facing terms for the primary thread and temporary work threads.
36
36
  - **Call site**: the location in the conversation where a Tellask was issued (for Q4H: where `askHuman({ tellaskContent: "..." })` appears).
37
37
  - **Answer mode**: the input is bound to a specific pending Q4H question so `Send` becomes “answer this question”.
38
38
 
@@ -82,8 +82,8 @@ Required:
82
82
 
83
83
  Recommended (optional but improves resilience / reduces dependency on global Q4H state arrival timing):
84
84
 
85
- - `rootId`: root dialog id
86
- - `selfId`: originating dialog id (root or sideline)
85
+ - `rootId`: main dialog id
86
+ - `selfId`: originating dialog id (root or Side Dialog)
87
87
  - `course`: course number (1-based)
88
88
  - `msg`: message index (best-effort fallback locator)
89
89
  - `callId`: tellask callId when the Q4H was created from an `askHuman({ tellaskContent: "..." })` tellask block
@@ -85,7 +85,7 @@ WebUI 通过 `window.location.search` 识别 deep link 参数。
85
85
 
86
86
  推荐(可选,但能降低对全局 Q4H 状态到达时机的依赖):
87
87
 
88
- - `rootId`:根对话 id
88
+ - `rootId`:主线对话 id
89
89
  - `selfId`:来源对话 id(主线或支线)
90
90
  - `course`:course 编号(1-based)
91
91
  - `msg`:messageIndex(仅用于 best-effort 回退定位)
@@ -8,7 +8,7 @@ This document outlines Dominds’ stage goals and major-version evolution to ali
8
8
 
9
9
  Dominds’ long-term direction is to solidify “agent social division of labor” into a reusable, extensible, installable/uninstallable runtime system: **microkernel + Apps**.
10
10
 
11
- Terminology (Mainline/Sideline, etc.): [`dominds-terminology.md`](./dominds-terminology.md)
11
+ Terminology (Main Dialog/Side Dialog, etc.): [`dominds-terminology.md`](./dominds-terminology.md)
12
12
 
13
13
  ---
14
14
 
@@ -26,7 +26,7 @@ Become a **microkernel for agent social division of labor and collaboration**:
26
26
 
27
27
  Positioning: validate “stable and effective ways of working”, and make the core mechanisms work end-to-end, reliably, and debuggably.
28
28
 
29
- - Establish reusable work patterns: mainline progress + parallel sideline dialogs + result backflow/aggregation (Tellask / FBR, etc.).
29
+ - Establish reusable work patterns: Main Dialog progress + parallel Side Dialogs + result backflow/aggregation (Tellask / FBR, etc.).
30
30
  - Harden a minimal runtime loop: dialog persistence, tool invocation, streaming output + transcripts, basic observability and failure diagnosis.
31
31
  - Iterate in small steps: allow internal structure to change rapidly while continuously distilling what is stable/effective into explicit constraints.
32
32
 
@@ -291,7 +291,7 @@ Core principles:
291
291
 
292
292
  - Startup scripts are mapped into real dialog history; they are not read-only logs.
293
293
  - Their runtime semantics are not “extra system prompt text”, but “restore reminders first, then replay records into dialog history where possible”.
294
- - Therefore tone must follow the chosen record type: write `human_text_record` as what a user/requester says to the agent; write `agent_words_record` as what the agent has already said; use `agent_thought_record` only sparingly for internal reasoning traces.
294
+ - Therefore tone must follow the chosen record type: write `human_text_record` as what the user says to the agent; write `agent_words_record` as what the agent has already said; use `agent_thought_record` only sparingly for internal reasoning traces.
295
295
  - Some technical record types such as `ui_only_markdown_record` are persisted but do not become model-facing chat messages, so they should not be your main steering layer.
296
296
  - The outer file structure should be “top-level frontmatter + repeated `### record <type>` blocks”; do not wrap the file in decorative `# Startup Script` / `## History` headings.
297
297
  - Team managers should treat them as editable startup playbooks.
@@ -469,7 +469,15 @@ env:
469
469
  env: MY_LOCAL_MCP_TOKEN
470
470
  ```
471
471
 
472
- For `streamable_http`, `headers` supports the same literal-or-env mapping.
472
+ For `streamable_http`, `headers` supports literal strings, env mappings, and prefixed env
473
+ mappings:
474
+
475
+ ```yaml
476
+ headers:
477
+ Authorization:
478
+ prefix: 'Bearer '
479
+ env: MY_LOCAL_MCP_TOKEN
480
+ ```
473
481
 
474
482
  ### Operational behavior (hot reload + last-known-good)
475
483
 
@@ -510,7 +518,7 @@ members:
510
518
  Note: in the normal-member example above, do **not** add `no_read_dirs` / `no_write_dirs` merely to
511
519
  restate that `.minds/**` is blocked. That boundary is already enforced by the runtime for general
512
520
  file tools; explicit deny entries should be reserved for extra constraints beyond the built-ins.
513
- # Example visible teammate (recommended): define at least one non-hidden responder for daily work.
521
+ # Example visible teammate (recommended): define at least one non-hidden teammate for daily work.
514
522
  dev:
515
523
  name: Dev
516
524
  icon: '🧑‍💻'
@@ -387,7 +387,7 @@ transform:
387
387
 
388
388
  ### Env 和 headers 接线
389
389
 
390
- Prefer copying from the host environment for secrets:
390
+ 对于 secrets,优先从主机环境复制:
391
391
 
392
392
  ```yaml
393
393
  env:
@@ -395,7 +395,14 @@ env:
395
395
  env: MY_LOCAL_MCP_TOKEN
396
396
  ```
397
397
 
398
- 对于 `streamable_http`,`headers` 支持相同的字面量或 env 映射。
398
+ 对于 `streamable_http`,`headers` 支持字面量字符串、env 映射,以及带前缀的 env 映射:
399
+
400
+ ```yaml
401
+ headers:
402
+ Authorization:
403
+ prefix: 'Bearer '
404
+ env: MY_LOCAL_MCP_TOKEN
405
+ ```
399
406
 
400
407
  ### 操作行为(热重载 + 最近已知良好状态)
401
408