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.
- package/dist/access-control.js +6 -6
- package/dist/apps/runtime.d.ts +2 -2
- package/dist/apps/runtime.js +28 -28
- package/dist/apps-host/client.d.ts +1 -1
- package/dist/apps-host/host.js +7 -7
- package/dist/apps-host/ipc-types.d.ts +2 -2
- package/dist/apps-host/ipc-types.js +10 -10
- package/dist/cli/read.d.ts +0 -1
- package/dist/cli/read.js +1 -6
- package/dist/dialog-display-state.d.ts +6 -6
- package/dist/dialog-display-state.js +46 -46
- package/dist/dialog-factory.d.ts +12 -12
- package/dist/dialog-factory.js +33 -30
- package/dist/dialog-fork.d.ts +2 -2
- package/dist/dialog-fork.js +140 -115
- package/dist/dialog-global-registry.d.ts +5 -5
- package/dist/dialog-global-registry.js +11 -11
- package/dist/dialog-instance-registry.d.ts +3 -3
- package/dist/dialog-instance-registry.js +52 -41
- package/dist/dialog.d.ts +100 -113
- package/dist/dialog.js +274 -229
- package/dist/docs/agent-priming.md +5 -5
- package/dist/docs/agent-priming.zh.md +5 -5
- package/dist/docs/app-constitution.md +1 -1
- package/dist/docs/app-constitution.zh.md +1 -1
- package/dist/docs/cli-usage.md +1 -1
- package/dist/docs/cli-usage.zh.md +1 -1
- package/dist/docs/design.md +14 -14
- package/dist/docs/design.zh.md +14 -14
- package/dist/docs/dialog-persistence.md +58 -58
- package/dist/docs/dialog-persistence.zh.md +61 -61
- package/dist/docs/dialog-system.md +363 -367
- package/dist/docs/dialog-system.zh.md +355 -357
- package/dist/docs/diligence-push.md +18 -18
- package/dist/docs/diligence-push.zh.md +17 -17
- package/dist/docs/dominds-agent-collaboration.zh.md +3 -3
- package/dist/docs/dominds-terminology.md +46 -47
- package/dist/docs/encapsulated-taskdoc.md +4 -4
- package/dist/docs/encapsulated-taskdoc.zh.md +3 -3
- package/dist/docs/fbr.md +30 -30
- package/dist/docs/fbr.zh.md +15 -15
- package/dist/docs/i18n.md +2 -2
- package/dist/docs/i18n.zh.md +2 -2
- package/dist/docs/mcp-support.md +5 -4
- package/dist/docs/mcp-support.zh.md +3 -2
- package/dist/docs/memory-system.md +4 -4
- package/dist/docs/memory-system.zh.md +1 -1
- package/dist/docs/mottos.md +1 -1
- package/dist/docs/mottos.zh.md +1 -1
- package/dist/docs/q4h.md +3 -3
- package/dist/docs/q4h.zh.md +1 -1
- package/dist/docs/roadmap.md +2 -2
- package/dist/docs/team_mgmt-toolset.md +11 -3
- package/dist/docs/team_mgmt-toolset.zh.md +9 -2
- package/dist/docs/tellask-collab.md +18 -18
- package/dist/docs/tellask-collab.zh.md +8 -8
- package/dist/docs/tellask-revive-context-refactor.zh.md +591 -0
- package/dist/evt-registry.d.ts +1 -2
- package/dist/evt-registry.js +2 -7
- package/dist/llm/gen/mock.js +9 -0
- package/dist/llm/kernel-driver/context.d.ts +1 -2
- package/dist/llm/kernel-driver/context.js +12 -26
- package/dist/llm/kernel-driver/drive.js +99 -75
- package/dist/llm/kernel-driver/engine.d.ts +2 -2
- package/dist/llm/kernel-driver/engine.js +10 -10
- package/dist/llm/kernel-driver/fbr.js +6 -6
- package/dist/llm/kernel-driver/flow.d.ts +1 -1
- package/dist/llm/kernel-driver/flow.js +129 -93
- package/dist/llm/kernel-driver/guardrails.js +4 -4
- package/dist/llm/kernel-driver/index.d.ts +1 -1
- package/dist/llm/kernel-driver/index.js +2 -2
- package/dist/llm/kernel-driver/loop.js +30 -30
- package/dist/llm/kernel-driver/reply-guidance.js +47 -52
- package/dist/llm/kernel-driver/restore.d.ts +3 -3
- package/dist/llm/kernel-driver/restore.js +23 -28
- package/dist/llm/kernel-driver/runtime.d.ts +1 -1
- package/dist/llm/kernel-driver/runtime.js +1 -1
- package/dist/llm/kernel-driver/sideDialog-txn.d.ts +8 -0
- package/dist/llm/kernel-driver/{subdialog-txn.js → sideDialog-txn.js} +13 -13
- package/dist/llm/kernel-driver/{subdialog.d.ts → sideDialog.d.ts} +13 -13
- package/dist/llm/kernel-driver/{subdialog.js → sideDialog.js} +203 -170
- package/dist/llm/kernel-driver/tellask-special.d.ts +7 -3
- package/dist/llm/kernel-driver/tellask-special.js +474 -497
- package/dist/llm/kernel-driver/types.d.ts +25 -9
- package/dist/mcp/config.d.ts +1 -0
- package/dist/mcp/config.js +7 -2
- package/dist/mcp/supervisor.d.ts +2 -0
- package/dist/mcp/supervisor.js +2 -1
- package/dist/minds/builtin/pangu/persona.en.md +4 -4
- package/dist/minds/load.js +6 -6
- package/dist/minds/system-prompt-parts.d.ts +1 -1
- package/dist/minds/system-prompt-parts.js +12 -12
- package/dist/minds/system-prompt.d.ts +1 -1
- package/dist/minds/system-prompt.js +56 -56
- package/dist/persistence-errors.d.ts +1 -1
- package/dist/persistence.d.ts +126 -121
- package/dist/persistence.js +1190 -786
- package/dist/priming.d.ts +3 -3
- package/dist/priming.js +62 -61
- package/dist/recovery/reply-special.js +5 -5
- package/dist/runtime/driver-messages.d.ts +3 -2
- package/dist/runtime/driver-messages.js +68 -57
- package/dist/runtime/inter-dialog-format.d.ts +12 -10
- package/dist/runtime/inter-dialog-format.js +80 -35
- package/dist/runtime/interjection-pause-stop.js +1 -1
- package/dist/runtime/reply-prompt-copy.d.ts +7 -3
- package/dist/runtime/reply-prompt-copy.js +39 -14
- package/dist/server/api-routes.js +87 -83
- package/dist/server/static-server.js +1 -1
- package/dist/server/websocket-handler.js +163 -153
- package/dist/tool-availability.js +1 -1
- package/dist/tools/app-reminders.js +17 -4
- package/dist/tools/ctrl.js +5 -5
- package/dist/tools/os.js +16 -16
- package/dist/tools/pending-tellask-reminder.js +20 -14
- package/dist/tools/prompts/control/en/index.md +1 -1
- package/dist/tools/prompts/control/en/principles.md +8 -8
- package/dist/tools/prompts/control/en/scenarios.md +7 -7
- package/dist/tools/prompts/control/en/tools.md +7 -7
- package/dist/tools/prompts/control/zh/principles.md +4 -4
- package/dist/tools/prompts/control/zh/scenarios.md +5 -5
- package/dist/tools/prompts/control/zh/tools.md +3 -3
- package/dist/tools/prompts/team_memory/en/scenarios.md +1 -1
- package/dist/tools/prompts/team_memory/zh/scenarios.md +1 -1
- package/dist/tools/team_mgmt-manual.js +2 -2
- package/dist/tools/team_mgmt-mcp-manual.js +10 -0
- package/dist/tools/team_mgmt.js +4 -4
- package/dist/utils/taskdoc.js +12 -12
- package/package.json +3 -3
- package/webapp/dist/assets/{_basePickBy-BPJaiZdW.js → _basePickBy-B7M9Q0Fa.js} +3 -3
- package/webapp/dist/assets/_basePickBy-B7M9Q0Fa.js.map +1 -0
- package/webapp/dist/assets/{_baseUniq-BEetT15i.js → _baseUniq-DAeYoL6j.js} +2 -2
- package/webapp/dist/assets/_baseUniq-DAeYoL6j.js.map +1 -0
- package/webapp/dist/assets/{arc-Dm7Zf36f.js → arc-Bh4nDbNR.js} +2 -2
- package/webapp/dist/assets/arc-Bh4nDbNR.js.map +1 -0
- package/webapp/dist/assets/{architectureDiagram-VXUJARFQ-BpTPtkuo.js → architectureDiagram-2XIMDMQ5-CxqmdsIm.js} +26 -8
- package/webapp/dist/assets/architectureDiagram-2XIMDMQ5-CxqmdsIm.js.map +1 -0
- package/webapp/dist/assets/{blockDiagram-VD42YOAC-C8fLN0iu.js → blockDiagram-WCTKOSBZ-CxIWLtpt.js} +187 -170
- package/webapp/dist/assets/blockDiagram-WCTKOSBZ-CxIWLtpt.js.map +1 -0
- package/webapp/dist/assets/{c4Diagram-YG6GDRKO-BpPr62CH.js → c4Diagram-IC4MRINW-1qErOIgG.js} +4 -4
- package/webapp/dist/assets/c4Diagram-IC4MRINW-1qErOIgG.js.map +1 -0
- package/webapp/dist/assets/{channel-EMYoPjW3.js → channel-DkgZHNUe.js} +2 -2
- package/webapp/dist/assets/channel-DkgZHNUe.js.map +1 -0
- package/webapp/dist/assets/{chunk-4BX2VUAB-CefNtjWG.js → chunk-4BX2VUAB-BmdMbU9v.js} +2 -2
- package/webapp/dist/assets/chunk-4BX2VUAB-BmdMbU9v.js.map +1 -0
- package/webapp/dist/assets/{chunk-55IACEB6-C_X7T43V.js → chunk-55IACEB6-D6LDTDBy.js} +2 -2
- package/webapp/dist/assets/chunk-55IACEB6-D6LDTDBy.js.map +1 -0
- package/webapp/dist/assets/{chunk-FMBD7UC4-ORmtkrtS.js → chunk-FMBD7UC4-C-BdCe4C.js} +2 -2
- package/webapp/dist/assets/chunk-FMBD7UC4-C-BdCe4C.js.map +1 -0
- package/webapp/dist/assets/{chunk-TZMSLE5B-Gao4qrq7.js → chunk-JSJVCQXG-WA_BLIm9.js} +14 -6
- package/webapp/dist/assets/chunk-JSJVCQXG-WA_BLIm9.js.map +1 -0
- package/webapp/dist/assets/{chunk-QN33PNHL-LTAOVhWu.js → chunk-KX2RTZJC-CA7sDJO5.js} +2 -2
- package/webapp/dist/assets/chunk-KX2RTZJC-CA7sDJO5.js.map +1 -0
- package/webapp/dist/assets/{chunk-DI55MBZ5-CbvrsI_w.js → chunk-NQ4KR5QH-wlvxalE3.js} +9 -7
- package/webapp/dist/assets/chunk-NQ4KR5QH-wlvxalE3.js.map +1 -0
- package/webapp/dist/assets/{chunk-QZHKN3VN-ZoUM_4u5.js → chunk-QZHKN3VN-Bo1VMcph.js} +2 -2
- package/webapp/dist/assets/chunk-QZHKN3VN-Bo1VMcph.js.map +1 -0
- package/webapp/dist/assets/{chunk-B4BG7PRW-BRe3_2oA.js → chunk-WL4C6EOR-B-Pk44be.js} +171 -121
- package/webapp/dist/assets/chunk-WL4C6EOR-B-Pk44be.js.map +1 -0
- package/webapp/dist/assets/{classDiagram-2ON5EDUG-uha1vIGN.js → classDiagram-VBA2DB6C-BqKuyb49.js} +7 -6
- package/webapp/dist/assets/classDiagram-VBA2DB6C-BqKuyb49.js.map +1 -0
- package/webapp/dist/assets/{classDiagram-v2-WZHVMYZB-uha1vIGN.js → classDiagram-v2-RAHNMMFH-BqKuyb49.js} +7 -6
- package/webapp/dist/assets/classDiagram-v2-RAHNMMFH-BqKuyb49.js.map +1 -0
- package/webapp/dist/assets/{clone-_9Ayb1Gp.js → clone-BX5z8WVZ.js} +2 -2
- package/webapp/dist/assets/clone-BX5z8WVZ.js.map +1 -0
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A-C8wDw3NY.js → cose-bilkent-S5V4N54A-B-s11SgN.js} +2 -2
- package/webapp/dist/assets/cose-bilkent-S5V4N54A-B-s11SgN.js.map +1 -0
- package/webapp/dist/assets/cytoscape.esm-Bm8DJGmZ.js.map +1 -1
- package/webapp/dist/assets/{dagre-6UL2VRFP-BUSeNot0.js → dagre-KLK3FWXG-DmQFV2qK.js} +7 -7
- package/webapp/dist/assets/dagre-KLK3FWXG-DmQFV2qK.js.map +1 -0
- package/webapp/dist/assets/defaultLocale-B2RvLBDe.js.map +1 -1
- package/webapp/dist/assets/{diagram-PSM6KHXK-CMZAksVC.js → diagram-E7M64L7V-QRaBfST8.js} +10 -10
- package/webapp/dist/assets/diagram-E7M64L7V-QRaBfST8.js.map +1 -0
- package/webapp/dist/assets/{diagram-QEK2KX5R-BQKoRtwy.js → diagram-IFDJBPK2-lrWn1Obo.js} +9 -8
- package/webapp/dist/assets/diagram-IFDJBPK2-lrWn1Obo.js.map +1 -0
- package/webapp/dist/assets/{diagram-S2PKOQOG-DjMG97kd.js → diagram-P4PSJMXO-sTU7Hh-Y.js} +8 -8
- package/webapp/dist/assets/diagram-P4PSJMXO-sTU7Hh-Y.js.map +1 -0
- package/webapp/dist/assets/{erDiagram-Q2GNP2WA-BujwA137.js → erDiagram-INFDFZHY-Cx6jc9Wq.js} +96 -75
- package/webapp/dist/assets/erDiagram-INFDFZHY-Cx6jc9Wq.js.map +1 -0
- package/webapp/dist/assets/{flowDiagram-NV44I4VS-DgwPjg4y.js → flowDiagram-PKNHOUZH-DfGI49Dz.js} +98 -81
- package/webapp/dist/assets/flowDiagram-PKNHOUZH-DfGI49Dz.js.map +1 -0
- package/webapp/dist/assets/{ganttDiagram-JELNMOA3-Db2ykf3E.js → ganttDiagram-A5KZAMGK-nrcHWWaM.js} +28 -3
- package/webapp/dist/assets/ganttDiagram-A5KZAMGK-nrcHWWaM.js.map +1 -0
- package/webapp/dist/assets/{gitGraphDiagram-V2S2FVAM-D_gSifkv.js → gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js} +38 -46
- package/webapp/dist/assets/gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js.map +1 -0
- package/webapp/dist/assets/graph-R5G-y8tB.js +782 -0
- package/webapp/dist/assets/graph-R5G-y8tB.js.map +1 -0
- package/webapp/dist/assets/{index-DLajsIDJ.js → index--fy89xGh.js} +2214 -2023
- package/webapp/dist/assets/index--fy89xGh.js.map +1 -0
- package/webapp/dist/assets/{index-xvYYeHuy.css → index-DZFkLLVz.css} +18 -10
- package/webapp/dist/assets/{infoDiagram-HS3SLOUP-BDba5pKs.js → infoDiagram-LFFYTUFH-PIoZHr7s.js} +7 -7
- package/webapp/dist/assets/infoDiagram-LFFYTUFH-PIoZHr7s.js.map +1 -0
- package/webapp/dist/assets/init-ZxktEp_H.js.map +1 -1
- package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-oCM-LYk1.js +966 -0
- package/webapp/dist/assets/ishikawaDiagram-PHBUUO56-oCM-LYk1.js.map +1 -0
- package/webapp/dist/assets/{journeyDiagram-XKPGCS4Q-CmJAbmlm.js → journeyDiagram-4ABVD52K-C2qidjQ5.js} +5 -5
- package/webapp/dist/assets/journeyDiagram-4ABVD52K-C2qidjQ5.js.map +1 -0
- package/webapp/dist/assets/{kanban-definition-3W4ZIXB7-DxQeBTDk.js → kanban-definition-K7BYSVSG-Du0TC8WS.js} +5 -3
- package/webapp/dist/assets/kanban-definition-K7BYSVSG-Du0TC8WS.js.map +1 -0
- package/webapp/dist/assets/{layout-DteV_yE8.js → layout-VmEo1OEB.js} +5 -5
- package/webapp/dist/assets/layout-VmEo1OEB.js.map +1 -0
- package/webapp/dist/assets/{linear-zItbPrND.js → linear-B662YHAc.js} +2 -2
- package/webapp/dist/assets/linear-B662YHAc.js.map +1 -0
- package/webapp/dist/assets/{mindmap-definition-VGOIOE7T-BJXI7UqO.js → mindmap-definition-YRQLILUH-D7arZj95.js} +7 -5
- package/webapp/dist/assets/mindmap-definition-YRQLILUH-D7arZj95.js.map +1 -0
- package/webapp/dist/assets/ordinal-CxptdPJm.js.map +1 -1
- package/webapp/dist/assets/{pieDiagram-ADFJNKIX-BpM-aH2p.js → pieDiagram-SKSYHLDU-DvjPP4PA.js} +8 -8
- package/webapp/dist/assets/pieDiagram-SKSYHLDU-DvjPP4PA.js.map +1 -0
- package/webapp/dist/assets/{quadrantDiagram-AYHSOK5B-NXdIpA15.js → quadrantDiagram-337W2JSQ-B_JUGMj_.js} +3 -3
- package/webapp/dist/assets/quadrantDiagram-337W2JSQ-B_JUGMj_.js.map +1 -0
- package/webapp/dist/assets/{requirementDiagram-UZGBJVZJ-D1AICAA0.js → requirementDiagram-Z7DCOOCP-DF0mpvE3.js} +16 -6
- package/webapp/dist/assets/requirementDiagram-Z7DCOOCP-DF0mpvE3.js.map +1 -0
- package/webapp/dist/assets/{sankeyDiagram-TZEHDZUN-WiReDPfo.js → sankeyDiagram-WA2Y5GQK-CoXlxv00.js} +2 -2
- package/webapp/dist/assets/sankeyDiagram-WA2Y5GQK-CoXlxv00.js.map +1 -0
- package/webapp/dist/assets/{sequenceDiagram-WL72ISMW-Cw76oP8t.js → sequenceDiagram-2WXFIKYE-DYqT5Pg7.js} +601 -201
- package/webapp/dist/assets/sequenceDiagram-2WXFIKYE-DYqT5Pg7.js.map +1 -0
- package/webapp/dist/assets/{stateDiagram-FKZM4ZOC-QjCeRczs.js → stateDiagram-RAJIS63D-D9b1mN8-.js} +9 -9
- package/webapp/dist/assets/stateDiagram-RAJIS63D-D9b1mN8-.js.map +1 -0
- package/webapp/dist/assets/{stateDiagram-v2-4FDKWEC3-IClqxQ4s.js → stateDiagram-v2-FVOUBMTO-DNzgudL_.js} +5 -5
- package/webapp/dist/assets/stateDiagram-v2-FVOUBMTO-DNzgudL_.js.map +1 -0
- package/webapp/dist/assets/{timeline-definition-IT6M3QCI-BfyfTY7m.js → timeline-definition-YZTLITO2-CkyKUY7A.js} +3 -3
- package/webapp/dist/assets/timeline-definition-YZTLITO2-CkyKUY7A.js.map +1 -0
- package/webapp/dist/assets/{treemap-GDKQZRPO-C5MiL6--.js → treemap-KZPCXAKY-CZd09kF-.js} +37 -24
- package/webapp/dist/assets/treemap-KZPCXAKY-CZd09kF-.js.map +1 -0
- package/webapp/dist/assets/vennDiagram-LZ73GAT5-BxVF5Olo.js +2487 -0
- package/webapp/dist/assets/vennDiagram-LZ73GAT5-BxVF5Olo.js.map +1 -0
- package/webapp/dist/assets/{xychartDiagram-PRI3JC2R-ybaJrSry.js → xychartDiagram-JWTSCODW-BRwRloPc.js} +4 -4
- package/webapp/dist/assets/xychartDiagram-JWTSCODW-BRwRloPc.js.map +1 -0
- package/webapp/dist/index.html +2 -2
- package/dist/docs/issues/global-dialog-event-broadcaster-missing.md +0 -128
- package/dist/llm/kernel-driver/subdialog-txn.d.ts +0 -8
- package/webapp/dist/assets/_basePickBy-BPJaiZdW.js.map +0 -1
- package/webapp/dist/assets/_baseUniq-BEetT15i.js.map +0 -1
- package/webapp/dist/assets/arc-Dm7Zf36f.js.map +0 -1
- package/webapp/dist/assets/architectureDiagram-VXUJARFQ-BpTPtkuo.js.map +0 -1
- package/webapp/dist/assets/blockDiagram-VD42YOAC-C8fLN0iu.js.map +0 -1
- package/webapp/dist/assets/c4Diagram-YG6GDRKO-BpPr62CH.js.map +0 -1
- package/webapp/dist/assets/channel-EMYoPjW3.js.map +0 -1
- package/webapp/dist/assets/chunk-4BX2VUAB-CefNtjWG.js.map +0 -1
- package/webapp/dist/assets/chunk-55IACEB6-C_X7T43V.js.map +0 -1
- package/webapp/dist/assets/chunk-B4BG7PRW-BRe3_2oA.js.map +0 -1
- package/webapp/dist/assets/chunk-DI55MBZ5-CbvrsI_w.js.map +0 -1
- package/webapp/dist/assets/chunk-FMBD7UC4-ORmtkrtS.js.map +0 -1
- package/webapp/dist/assets/chunk-QN33PNHL-LTAOVhWu.js.map +0 -1
- package/webapp/dist/assets/chunk-QZHKN3VN-ZoUM_4u5.js.map +0 -1
- package/webapp/dist/assets/chunk-TZMSLE5B-Gao4qrq7.js.map +0 -1
- package/webapp/dist/assets/classDiagram-2ON5EDUG-uha1vIGN.js.map +0 -1
- package/webapp/dist/assets/classDiagram-v2-WZHVMYZB-uha1vIGN.js.map +0 -1
- package/webapp/dist/assets/clone-_9Ayb1Gp.js.map +0 -1
- package/webapp/dist/assets/cose-bilkent-S5V4N54A-C8wDw3NY.js.map +0 -1
- package/webapp/dist/assets/dagre-6UL2VRFP-BUSeNot0.js.map +0 -1
- package/webapp/dist/assets/diagram-PSM6KHXK-CMZAksVC.js.map +0 -1
- package/webapp/dist/assets/diagram-QEK2KX5R-BQKoRtwy.js.map +0 -1
- package/webapp/dist/assets/diagram-S2PKOQOG-DjMG97kd.js.map +0 -1
- package/webapp/dist/assets/erDiagram-Q2GNP2WA-BujwA137.js.map +0 -1
- package/webapp/dist/assets/flowDiagram-NV44I4VS-DgwPjg4y.js.map +0 -1
- package/webapp/dist/assets/ganttDiagram-JELNMOA3-Db2ykf3E.js.map +0 -1
- package/webapp/dist/assets/gitGraphDiagram-V2S2FVAM-D_gSifkv.js.map +0 -1
- package/webapp/dist/assets/graph-BHjCU5xP.js +0 -425
- package/webapp/dist/assets/graph-BHjCU5xP.js.map +0 -1
- package/webapp/dist/assets/index-DLajsIDJ.js.map +0 -1
- package/webapp/dist/assets/infoDiagram-HS3SLOUP-BDba5pKs.js.map +0 -1
- package/webapp/dist/assets/journeyDiagram-XKPGCS4Q-CmJAbmlm.js.map +0 -1
- package/webapp/dist/assets/kanban-definition-3W4ZIXB7-DxQeBTDk.js.map +0 -1
- package/webapp/dist/assets/layout-DteV_yE8.js.map +0 -1
- package/webapp/dist/assets/linear-zItbPrND.js.map +0 -1
- package/webapp/dist/assets/mindmap-definition-VGOIOE7T-BJXI7UqO.js.map +0 -1
- package/webapp/dist/assets/pieDiagram-ADFJNKIX-BpM-aH2p.js.map +0 -1
- package/webapp/dist/assets/quadrantDiagram-AYHSOK5B-NXdIpA15.js.map +0 -1
- package/webapp/dist/assets/requirementDiagram-UZGBJVZJ-D1AICAA0.js.map +0 -1
- package/webapp/dist/assets/sankeyDiagram-TZEHDZUN-WiReDPfo.js.map +0 -1
- package/webapp/dist/assets/sequenceDiagram-WL72ISMW-Cw76oP8t.js.map +0 -1
- package/webapp/dist/assets/stateDiagram-FKZM4ZOC-QjCeRczs.js.map +0 -1
- package/webapp/dist/assets/stateDiagram-v2-4FDKWEC3-IClqxQ4s.js.map +0 -1
- package/webapp/dist/assets/timeline-definition-IT6M3QCI-BfyfTY7m.js.map +0 -1
- package/webapp/dist/assets/treemap-GDKQZRPO-C5MiL6--.js.map +0 -1
- package/webapp/dist/assets/xychartDiagram-PRI3JC2R-ybaJrSry.js.map +0 -1
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
|
|
46
46
|
### 设计原则
|
|
47
47
|
|
|
48
|
-
-
|
|
48
|
+
- **扁平支线对话存储**:所有支线对话扁平存储在主线对话的 `sideDialogs/` 目录下,无论嵌套深度如何
|
|
49
49
|
- **仅追加流**:消息流是仅追加的,用于审计追踪和重放能力
|
|
50
50
|
- **原子操作**:所有持久化操作都是原子的,以防止损坏
|
|
51
51
|
- **人类可读格式**:存储使用 YAML 和 JSONL 以实现透明性和调试
|
|
@@ -157,42 +157,42 @@ Dominds 从两个范围加载记忆文件为纯 markdown (`*.md`):
|
|
|
157
157
|
**DialogID 模式**:系统使用 `self+root` ID 模式,在 `DialogID` 类中实现:
|
|
158
158
|
|
|
159
159
|
- **selfDlgId**:此特定对话实例的唯一标识符
|
|
160
|
-
- **rootDlgId
|
|
160
|
+
- **rootDlgId**:层次结构中主线对话的标识符(主线对话默认为 selfDlgId)
|
|
161
161
|
- **序列化**:当 `rootDlgId` 与 `selfDlgId` 不同时,全 ID 格式化为 `rootDlgId#selfDlgId`;否则仅为 `selfDlgId`
|
|
162
162
|
|
|
163
|
-
|
|
163
|
+
此模式能够在管理支线对话关系的同时实现高效的唯一标识每个对话实例。
|
|
164
164
|
|
|
165
165
|
### 设计原理
|
|
166
166
|
|
|
167
167
|
`self+root` ID 模式的实现是为了解决对话管理中的几个挑战:
|
|
168
168
|
|
|
169
|
-
1.
|
|
170
|
-
2.
|
|
171
|
-
3.
|
|
169
|
+
1. **层次关系跟踪**:为每个对话提供清晰的谱系信息,易于将支线对话追溯到其主线对话
|
|
170
|
+
2. **高效存储组织**:允许支线对话的扁平存储,同时保留关系信息
|
|
171
|
+
3. **唯一标识**:确保每个对话实例具有唯一标识符,即使存在多个支线对话
|
|
172
172
|
4. **简化持久化**:实现对话关系的直接序列化和反序列化
|
|
173
173
|
5. **改进调试**:在日志和调试信息中提供清晰标识
|
|
174
|
-
6.
|
|
174
|
+
6. **可扩展性**:支持深度支线对话层次结构,无需复杂的存储结构
|
|
175
175
|
|
|
176
176
|
此设计平衡了对清晰层次关系与高效存储和检索操作的需求。
|
|
177
177
|
|
|
178
178
|
### 活动对话结构
|
|
179
179
|
|
|
180
180
|
```
|
|
181
|
-
.dialogs/run/<
|
|
181
|
+
.dialogs/run/<mainDialogId>/
|
|
182
182
|
├── dialog.yaml # 带强类型的对话元数据
|
|
183
183
|
├── latest.yaml # 当前对话过程和 lastModified 跟踪
|
|
184
184
|
├── reminders.json # 持久化提醒项
|
|
185
185
|
├── <course>.jsonl # 每一程的流式事件
|
|
186
186
|
├── <course>.yaml # 每一程的元数据
|
|
187
187
|
├── artifacts/ # 二进制工件(例如 MCP 工具输出图片;由 func_result_msg.contentItems 引用)
|
|
188
|
-
└──
|
|
189
|
-
├── <subDialogId1>/ #
|
|
190
|
-
│ ├── dialog.yaml #
|
|
191
|
-
│ ├── latest.yaml #
|
|
192
|
-
│ ├── reminders.json #
|
|
193
|
-
│ ├── <course>.jsonl #
|
|
194
|
-
│ └── <course>.yaml #
|
|
195
|
-
└── <subDialogId2>/ #
|
|
188
|
+
└── sideDialogs/ # 扁平支线对话存储
|
|
189
|
+
├── <subDialogId1>/ # 第一级支线对话
|
|
190
|
+
│ ├── dialog.yaml # 支线对话元数据
|
|
191
|
+
│ ├── latest.yaml # 支线对话当前状态
|
|
192
|
+
│ ├── reminders.json # 支线对话提醒项
|
|
193
|
+
│ ├── <course>.jsonl # 支线对话每一程的流式事件
|
|
194
|
+
│ └── <course>.yaml # 支线对话每一程的元数据
|
|
195
|
+
└── <subDialogId2>/ # 另一个支线对话
|
|
196
196
|
├── dialog.yaml
|
|
197
197
|
├── latest.yaml
|
|
198
198
|
├── reminders.json
|
|
@@ -204,14 +204,14 @@ Dominds 从两个范围加载记忆文件为纯 markdown (`*.md`):
|
|
|
204
204
|
|
|
205
205
|
- **latest.yaml**:带有当前对话过程、lastModified 和状态的现代跟踪文件
|
|
206
206
|
- **强类型**:所有文件使用由 `@longrun-ai/kernel/types/storage` 对外导出的 storage 类型合同
|
|
207
|
-
-
|
|
207
|
+
- **原子更新**:所有对话修改时原子更新 latest.yaml
|
|
208
208
|
- **UI 集成**:latest.yaml 中的时间戳在对话列表中正确显示
|
|
209
209
|
|
|
210
210
|
在此结构中:
|
|
211
211
|
|
|
212
|
-
-
|
|
213
|
-
-
|
|
214
|
-
-
|
|
212
|
+
- 主线对话的 `selfDlgId` 等于 `rootDlgId`
|
|
213
|
+
- 支线对话具有不同的 `selfDlgId` 值,与诉请者具有相同的 `rootDlgId`
|
|
214
|
+
- 支线对话目录仅使用 `selfDlgId` 进行文件系统组织
|
|
215
215
|
- 元数据仅存储 `selfDlgId`;加载时重建完整的 `rootDlgId#selfDlgId`
|
|
216
216
|
- 完整的 `rootDlgId#selfDlgId` 格式用于内存中标识和操作
|
|
217
217
|
|
|
@@ -219,25 +219,25 @@ Dominds 从两个范围加载记忆文件为纯 markdown (`*.md`):
|
|
|
219
219
|
|
|
220
220
|
使用 TypeScript 接口的现代强类型对话元数据:
|
|
221
221
|
|
|
222
|
-
####
|
|
222
|
+
#### 主线对话示例
|
|
223
223
|
|
|
224
224
|
```yaml
|
|
225
225
|
id: 'aa/bb/cccccccc' # 唯一对话标识符(仅 selfDlgId)
|
|
226
226
|
agentId: 'alice' # 负责此对话的智能体
|
|
227
227
|
taskDocPath: 'task.tsk' # rtws 差遣牒任务包(*.tsk/)目录的路径
|
|
228
228
|
createdAt: '2024-01-15T10:30:00Z' # 创建时的 ISO 时间戳
|
|
229
|
-
#
|
|
229
|
+
# 主线对话没有父字段
|
|
230
230
|
```
|
|
231
231
|
|
|
232
|
-
####
|
|
232
|
+
#### 支线对话示例
|
|
233
233
|
|
|
234
234
|
```yaml
|
|
235
235
|
id: 'dd/ee/ffffffff' # 唯一对话标识符(仅 selfDlgId)
|
|
236
236
|
agentId: 'bob' # 负责此对话的智能体
|
|
237
|
-
taskDocPath: 'task.tsk' # rtws 差遣牒任务包(*.tsk
|
|
237
|
+
taskDocPath: 'task.tsk' # rtws 差遣牒任务包(*.tsk/)目录的路径(从诉请者继承)
|
|
238
238
|
createdAt: '2024-01-15T10:35:00Z' # 创建时的 ISO 时间戳
|
|
239
|
-
|
|
240
|
-
|
|
239
|
+
askerDialogId: 'aa/bb/cccccccc' # 诉请者的 selfDlgId
|
|
240
|
+
assignmentFromAsker: # 来自诉请者的任务上下文
|
|
241
241
|
mentionList: ['@bob']
|
|
242
242
|
tellaskContent: 'Implement user authentication; create secure login system with JWT tokens'
|
|
243
243
|
originMemberId: 'alice'
|
|
@@ -254,7 +254,7 @@ currentCourse: 3 # 当前对话过程编号(基于 1)
|
|
|
254
254
|
lastModified: '2024-01-15T11:45:00Z' # 最后活动的 ISO 时间戳
|
|
255
255
|
messageCount: 12 # 当前对话过程中的总消息数
|
|
256
256
|
functionCallCount: 3 # 当前对话过程中的总函数调用数
|
|
257
|
-
|
|
257
|
+
sideDialogCount: 1 # 创建的支线对话总数
|
|
258
258
|
status: 'active' # 当前对话状态
|
|
259
259
|
```
|
|
260
260
|
|
|
@@ -263,7 +263,7 @@ status: 'active' # 当前对话状态
|
|
|
263
263
|
- 新消息事件
|
|
264
264
|
- 开启新一程对话
|
|
265
265
|
- 函数调用结果
|
|
266
|
-
-
|
|
266
|
+
- 支线对话创建
|
|
267
267
|
- 任何对话修改
|
|
268
268
|
|
|
269
269
|
**UI 集成**:对话列表显示来自此文件的 `lastModified` 时间戳,用于准确排序和显示。
|
|
@@ -299,7 +299,7 @@ status: 'active' # 当前对话状态
|
|
|
299
299
|
|
|
300
300
|
### Root generation 锚点与状态对账记录
|
|
301
301
|
|
|
302
|
-
为支持
|
|
302
|
+
为支持 main dialog fork,持久化层现在显式记录“某条数据对应的是哪一个 root generation 视角”。
|
|
303
303
|
|
|
304
304
|
**Root generation 锚点**:
|
|
305
305
|
|
|
@@ -308,25 +308,25 @@ status: 'active' # 当前对话状态
|
|
|
308
308
|
|
|
309
309
|
**用途**:
|
|
310
310
|
|
|
311
|
-
- 所有需要跨整棵 root tree 对齐的状态快照,都必须绑定到 root generation
|
|
311
|
+
- 所有需要跨整棵 root tree 对齐的状态快照,都必须绑定到 root generation,而不是各自支线对话的本地 course/genseq
|
|
312
312
|
- root fork 在切点 `(course, genseq)` 时,实际保留的是**不晚于** `(rootCourse=course, rootGenseq=genseq-1)` 的最后一个一致快照
|
|
313
313
|
|
|
314
314
|
**新增/强化的持久化记录**:
|
|
315
315
|
|
|
316
|
-
- `
|
|
316
|
+
- `sideDialog_created_record`
|
|
317
317
|
- 持久化在 root transcript 中
|
|
318
|
-
-
|
|
318
|
+
- 记录某个支线对话何时在 root 时间线上已“存在”,供 fork 时判断是否应纳入新树
|
|
319
319
|
- `reminders_reconciled_record`
|
|
320
320
|
- `questions4human_reconciled_record`
|
|
321
|
-
- `
|
|
322
|
-
- `
|
|
323
|
-
- `
|
|
321
|
+
- `pending_sideDialogs_reconciled_record`
|
|
322
|
+
- `sideDialog_registry_reconciled_record`
|
|
323
|
+
- `sideDialog_responses_reconciled_record`
|
|
324
324
|
|
|
325
325
|
**规范要求**:
|
|
326
326
|
|
|
327
327
|
- 这些对账记录是状态快照,不属于 LLM transcript 内容;重建消息上下文时应跳过
|
|
328
|
-
-
|
|
329
|
-
- fork
|
|
328
|
+
- 支线对话 transcript 中凡是需要参与 root fork 边界裁剪的记录,都必须带 `rootCourse/rootGenseq`
|
|
329
|
+
- fork 写入新主线对话时,会在 `course-1` 追加一组 baseline 对账记录,用来把 reminders / Q4H / pending sideDialogs / registry / responses 恢复到切点前状态
|
|
330
330
|
|
|
331
331
|
---
|
|
332
332
|
|
|
@@ -391,7 +391,7 @@ started_at: '2024-01-15T11:30:00Z'
|
|
|
391
391
|
completed_at: '2024-01-15T11:45:00Z'
|
|
392
392
|
message_count: 12
|
|
393
393
|
function_calls: 3
|
|
394
|
-
|
|
394
|
+
sideDialogs_created: 1
|
|
395
395
|
status: 'completed'
|
|
396
396
|
```
|
|
397
397
|
|
|
@@ -451,7 +451,7 @@ taskdocChecksum: 'sha256:abc123...'
|
|
|
451
451
|
### 对话创建
|
|
452
452
|
|
|
453
453
|
1. 使用 `generateDialogID()` 生成唯一对话 ID
|
|
454
|
-
2. 创建具有 `selfDlgId` 和 `rootDlgId` 的 `DialogID`
|
|
454
|
+
2. 创建具有 `selfDlgId` 和 `rootDlgId` 的 `DialogID` 实例(主线对话的 rootDlgId 默认为 selfDlgId)
|
|
455
455
|
3. 创建对话目录结构
|
|
456
456
|
4. 使用序列化的 DialogID 写入初始 `dialog.yaml` 元数据
|
|
457
457
|
5. 将 `latest.yaml` 初始化为 `currentCourse: 1`
|
|
@@ -465,28 +465,28 @@ taskdocChecksum: 'sha256:abc123...'
|
|
|
465
465
|
3. 如果触发 `clear_mind` 开启新一程:更新 `latest.yaml.currentCourse` 并广播 course 更新事件
|
|
466
466
|
4. 确保原子写入以防止损坏
|
|
467
467
|
|
|
468
|
-
###
|
|
468
|
+
### 支线对话创建
|
|
469
469
|
|
|
470
|
-
1. 使用 `generateDialogID()`
|
|
470
|
+
1. 使用 `generateDialogID()` 生成唯一支线对话 ID
|
|
471
471
|
2. 创建具有以下内容的 `DialogID` 实例:
|
|
472
|
-
- `selfDlgId
|
|
473
|
-
- `rootDlgId`:从
|
|
474
|
-
3.
|
|
475
|
-
4.
|
|
476
|
-
5.
|
|
477
|
-
6.
|
|
472
|
+
- `selfDlgId`:新生成的支线对话 ID
|
|
473
|
+
- `rootDlgId`:从 askerDialog 的 `rootDlgId` 继承
|
|
474
|
+
3. 在诉请者的 `sideDialogs/` 下创建支线对话目录(仅使用 `selfDlgId` 作为目录名)
|
|
475
|
+
4. 从诉请者设置差遣牒路径引用
|
|
476
|
+
5. 在元数据中设置诉请者上下文
|
|
477
|
+
6. 初始化支线对话状态,元数据中仅存储 `selfDlgId`
|
|
478
478
|
7. 加载时基于目录结构重建完整的 `DialogID` 和 `rootDlgId`
|
|
479
479
|
|
|
480
480
|
### 对话完成
|
|
481
481
|
|
|
482
482
|
1. 将对话状态更新为"已完成"
|
|
483
483
|
2. 完成所有对话过程元数据
|
|
484
|
-
3.
|
|
484
|
+
3. 对于主线对话:
|
|
485
485
|
- 将对话目录从 `run/` 移动到 `done/`
|
|
486
|
-
-
|
|
487
|
-
4.
|
|
486
|
+
- 移动中包含所有支线对话
|
|
487
|
+
4. 对于支线对话:
|
|
488
488
|
- 更新元数据中的状态
|
|
489
|
-
- 使用完整的序列化 DialogID 通知
|
|
489
|
+
- 使用完整的序列化 DialogID 通知 askerDialog 完成
|
|
490
490
|
5. 根据保留策略归档旧对话
|
|
491
491
|
|
|
492
492
|
### 记忆更新
|
|
@@ -519,7 +519,7 @@ taskdocChecksum: 'sha256:abc123...'
|
|
|
519
519
|
|
|
520
520
|
### 存储优化
|
|
521
521
|
|
|
522
|
-
|
|
522
|
+
**扁平支线对话存储**:防止可能影响文件系统性能的深层目录嵌套。
|
|
523
523
|
|
|
524
524
|
**仅追加流**:针对写入性能优化并支持高效流式传输。
|
|
525
525
|
|
|
@@ -587,14 +587,14 @@ taskdocChecksum: 'sha256:abc123...'
|
|
|
587
587
|
- **实时跟踪**:当前对话过程和 lastModified 时间戳
|
|
588
588
|
- **原子更新**:所有对话修改时自动更新
|
|
589
589
|
- **UI 集成**:对话列表显示来自持久化记录的准确时间戳
|
|
590
|
-
-
|
|
590
|
+
- **状态管理**:跟踪对话状态、消息计数和支线对话计数
|
|
591
591
|
|
|
592
592
|
#### ✅ 现代持久化层 (`main/persistence.ts`)
|
|
593
593
|
|
|
594
594
|
- **类型安全操作**:所有方法使用强 TypeScript 接口
|
|
595
595
|
- **原子文件操作**:所有写入使用临时文件 + 重命名模式
|
|
596
596
|
- **自动时间戳**:latest.yaml 在事件上自动更新
|
|
597
|
-
- **统一 API
|
|
597
|
+
- **统一 API**:主线对话和支线对话的一致接口
|
|
598
598
|
|
|
599
599
|
#### ✅ 更新的 API 层 (`main/server/api-routes.ts`)
|
|
600
600
|
|
|
@@ -640,20 +640,20 @@ taskdocChecksum: 'sha256:abc123...'
|
|
|
640
640
|
rtws/
|
|
641
641
|
├── dialogs/
|
|
642
642
|
│ ├── active/ # 当前流式对话
|
|
643
|
-
│ │ ├── {
|
|
643
|
+
│ │ ├── {main-dialog-id}/ # 主线对话目录 (selfDlgId = rootDlgId)
|
|
644
644
|
│ │ │ ├── stream.jsonl # 仅追加消息流
|
|
645
645
|
│ │ │ ├── metadata.yaml # 对话配置和状态
|
|
646
646
|
│ │ │ ├── checkpoints/ # 定期状态快照
|
|
647
647
|
│ │ │ ├── temp/ # 流式传输期间的临时文件
|
|
648
|
-
│ │ │ └──
|
|
649
|
-
│ │ │ └── {
|
|
648
|
+
│ │ │ └── sideDialogs/ # 支线对话存储
|
|
649
|
+
│ │ │ └── {side-dialog-id}/ # 支线对话目录(仅使用 selfDlgId)
|
|
650
650
|
│ │ │ ├── stream.jsonl
|
|
651
651
|
│ │ │ ├── metadata.yaml
|
|
652
652
|
│ │ │ └── checkpoints/
|
|
653
653
|
│ │ └── index.json # 快速查找活动对话
|
|
654
654
|
│ ├── archived/ # 已完成/暂停的对话
|
|
655
655
|
│ │ ├── {date}/ # 按完成日期组织
|
|
656
|
-
│ │ │ ├── {
|
|
656
|
+
│ │ │ ├── {main-dialog-id}.tar.gz # 包含支线对话的压缩对话归档
|
|
657
657
|
│ │ │ └── metadata.json # 归档元数据
|
|
658
658
|
│ │ └── index.json # 归档查找索引
|
|
659
659
|
│ └── templates/ # 对话模板和预设
|
|
@@ -663,8 +663,8 @@ rtws/
|
|
|
663
663
|
|
|
664
664
|
在此建议结构中:
|
|
665
665
|
|
|
666
|
-
-
|
|
667
|
-
-
|
|
666
|
+
- 主线对话按其 `main-dialog-id` 组织
|
|
667
|
+
- 支线对话存储在其主线对话的 `sideDialogs/` 目录中,目录名称仅使用他们的 `selfDlgId`
|
|
668
668
|
- 元数据在 `id` 字段中仅存储 `selfDlgId`
|
|
669
669
|
- 完整的 `rootDlgId#selfDlgId` 格式在加载时重建,并用于索引中以实现高效查找
|
|
670
670
|
|
|
@@ -752,7 +752,7 @@ rtws/
|
|
|
752
752
|
|
|
753
753
|
1. **可靠的会话恢复**:可以从持久化状态准确恢复对话会话
|
|
754
754
|
2. **性能目标**:常见操作的延迟低于 100ms,支持 100+ 并发对话
|
|
755
|
-
3.
|
|
755
|
+
3. **数据完整性**:正常操作下零数据丢失,失败时显式报错,不静默降级
|
|
756
756
|
4. **操作简单性**:易于部署、监控和维护
|
|
757
757
|
5. **开发者体验**:清晰的 API、良好的错误消息、全面的文档
|
|
758
758
|
|