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
|
@@ -4,20 +4,20 @@ Chinese version: [中文版](./diligence-push.zh.md)
|
|
|
4
4
|
|
|
5
5
|
## Summary
|
|
6
6
|
|
|
7
|
-
Dominds
|
|
7
|
+
Dominds main dialogs are intended for long-run operation. A main dialog "stopping" (becoming idle)
|
|
8
8
|
is often not what operators want: they want the agent to keep pushing forward until it either:
|
|
9
9
|
|
|
10
10
|
- legitimately suspends for a human decision (Q4H), or
|
|
11
|
-
- legitimately suspends waiting for
|
|
11
|
+
- legitimately suspends waiting for Side Dialogs (tellask/backfill).
|
|
12
12
|
|
|
13
|
-
This document specifies a runtime mechanism ("diligence-push") that, for **
|
|
13
|
+
This document specifies a runtime mechanism ("diligence-push") that, for **main dialogs only**,
|
|
14
14
|
prevents the dialog from stopping: whenever the driver would otherwise stop, it auto-sends a short
|
|
15
15
|
diligence prompt (rendered as a normal user bubble) and continues generation, except when the dialog
|
|
16
|
-
is legitimately suspended (Q4H or pending
|
|
16
|
+
is legitimately suspended (Q4H or pending Side Dialogs).
|
|
17
17
|
|
|
18
18
|
## Goals
|
|
19
19
|
|
|
20
|
-
- Prevent
|
|
20
|
+
- Prevent main dialogs from stopping except for legitimate suspension states (Q4H / Side Dialogs).
|
|
21
21
|
- Keep behavior predictable and bounded (no infinite loops).
|
|
22
22
|
- Make the Diligence Push text configurable per rtws (runtime workspace) and language.
|
|
23
23
|
- Provide a clear, user-controlled "disable" mechanism.
|
|
@@ -25,12 +25,12 @@ is legitimately suspended (Q4H or pending subdialogs).
|
|
|
25
25
|
## Non-goals
|
|
26
26
|
|
|
27
27
|
- Auto-completing / auto-marking a dialog as done.
|
|
28
|
-
- Applying this behavior to
|
|
28
|
+
- Applying this behavior to Side Dialogs (Side Dialogs remain scoped and should report back to their tellasker).
|
|
29
29
|
|
|
30
30
|
## Definitions
|
|
31
31
|
|
|
32
|
-
- **
|
|
33
|
-
- **
|
|
32
|
+
- **Main Dialog**: a `MainDialog` (`dlg.id.rootId === dlg.id.selfId`), the primary conversation thread.
|
|
33
|
+
- **SideDialog**: a `SideDialog`, created for tellask / scoped work.
|
|
34
34
|
- **Q4H**: "Questions for Human", initiated via `askHuman()`, which suspends dialog progression until the human responds.
|
|
35
35
|
|
|
36
36
|
## Expected "normal" completion path (recommended)
|
|
@@ -40,7 +40,7 @@ When the agent needs a human decision to conclude (e.g., confirm a choice or dec
|
|
|
40
40
|
1. The agent issues a Q4H (`askHuman()`) with the necessary context and explicit decision request.
|
|
41
41
|
2. The WebUI surfaces the Q4H clearly.
|
|
42
42
|
3. The human decides and either:
|
|
43
|
-
- marks the
|
|
43
|
+
- marks the main dialog "done" manually, or
|
|
44
44
|
- provides the requested info so the dialog can proceed.
|
|
45
45
|
|
|
46
46
|
This is the "controlled convergence" path. The diligence-push mechanism should **not** override legitimate suspension states.
|
|
@@ -49,19 +49,19 @@ This is the "controlled convergence" path. The diligence-push mechanism should *
|
|
|
49
49
|
|
|
50
50
|
### Trigger conditions (must all hold)
|
|
51
51
|
|
|
52
|
-
- Dialog is the **
|
|
52
|
+
- Dialog is the **Main Dialog** (never for Side Dialogs).
|
|
53
53
|
- Dialog is **not suspended**:
|
|
54
54
|
- no pending Q4H, and
|
|
55
|
-
- no pending
|
|
55
|
+
- no pending Side Dialogs (waiting for backfill).
|
|
56
56
|
- The driver would otherwise stop the generation loop (i.e., no tool/function outputs require another iteration).
|
|
57
57
|
|
|
58
58
|
### Exception: provider deadlock recovery
|
|
59
59
|
|
|
60
60
|
Some provider/API quirk handlers may request a one-time Diligence Push recovery after Dominds stops
|
|
61
61
|
same-context retries for a known deadlock pattern. This is not the ordinary "dialog is about to go
|
|
62
|
-
idle" path. In that recovery-only case, pending
|
|
62
|
+
idle" path. In that recovery-only case, pending sideDialogs do not veto the single Diligence Push
|
|
63
63
|
injection, because the deadlock may happen in a function-result-driven generation round right after
|
|
64
|
-
the
|
|
64
|
+
the main dialog has already registered an in-flight tellask/sideDialog. Q4H remains a hard blocker.
|
|
65
65
|
|
|
66
66
|
### Action
|
|
67
67
|
|
|
@@ -145,9 +145,9 @@ Rules:
|
|
|
145
145
|
Implemented in the kernel driver loop (`dominds/main/llm/kernel-driver/drive.ts`) as a small
|
|
146
146
|
post-iteration check:
|
|
147
147
|
|
|
148
|
-
1. If the dialog is suspended, stop (Q4H /
|
|
148
|
+
1. If the dialog is suspended, stop (Q4H / sideDialog pending), except for the deadlock-recovery
|
|
149
149
|
special case described above where one recovery-only Diligence Push may ignore pending
|
|
150
|
-
|
|
150
|
+
sideDialogs.
|
|
151
151
|
2. If there is any tool feedback, continue normally.
|
|
152
152
|
3. Otherwise (root only), attempt diligence-push auto-continue:
|
|
153
153
|
- If disabled → stop normally.
|
|
@@ -181,9 +181,9 @@ Recommended follow-ups (not required for initial implementation):
|
|
|
181
181
|
|
|
182
182
|
Regression tests should cover:
|
|
183
183
|
|
|
184
|
-
-
|
|
185
|
-
-
|
|
186
|
-
-
|
|
184
|
+
- Main dialog: tool-only output → diligence injection → continued response
|
|
185
|
+
- Main dialog: empty assistant output → diligence injection → continued response
|
|
186
|
+
- SideDialog: no diligence injection
|
|
187
187
|
- rtws config:
|
|
188
188
|
- `.minds/diligence.md` is honored when lang-specific file is absent
|
|
189
189
|
- empty diligence file disables diligence-push
|
|
@@ -4,16 +4,16 @@
|
|
|
4
4
|
|
|
5
5
|
## 概述
|
|
6
6
|
|
|
7
|
-
Dominds
|
|
7
|
+
Dominds 主线对话旨在长期运行。主线对话"停止"(变为空闲)通常不是操作员想要的:他们希望智能体持续推进,直到:
|
|
8
8
|
|
|
9
9
|
- 合法地暂停等待人类决策(Q4H),或
|
|
10
|
-
-
|
|
10
|
+
- 合法地暂停等待支线对话(tellask/backfill)。
|
|
11
11
|
|
|
12
|
-
本文档指定了一个运行时机制("diligence-push"
|
|
12
|
+
本文档指定了一个运行时机制("diligence-push"),仅针对**主线对话**,防止对话停止:每当驱动程序即将停止时,它会自动发送一个简短的鞭策语(渲染为正常的用户气泡)并继续生成,除非对话处于合法暂停状态(Q4H 或待处理的支线对话)。
|
|
13
13
|
|
|
14
14
|
## 目标
|
|
15
15
|
|
|
16
|
-
-
|
|
16
|
+
- 防止主线对话停止,除非处于合法暂停状态(Q4H / 支线对话)。
|
|
17
17
|
- 保持行为可预测和有界(无无限循环)。
|
|
18
18
|
- 使鞭策语文本可按 rtws(运行时工作区)和语言配置。
|
|
19
19
|
- 提供清晰的用户控制的"禁用"机制。
|
|
@@ -21,12 +21,12 @@ Dominds 根对话旨在长期运行。根对话"停止"(变为空闲)通常
|
|
|
21
21
|
## 非目标
|
|
22
22
|
|
|
23
23
|
- 自动完成/自动将对话标记为完成。
|
|
24
|
-
-
|
|
24
|
+
- 将此行为应用于支线对话(支线对话保持范围,应向其诉请者报告)。
|
|
25
25
|
|
|
26
26
|
## 定义
|
|
27
27
|
|
|
28
|
-
-
|
|
29
|
-
-
|
|
28
|
+
- **主线对话**:`MainDialog`(`dlg.id.rootId === dlg.id.selfId`),主要对话线程。
|
|
29
|
+
- **支线对话**:`SideDialog`,为 tellask / 作用域工作创建。
|
|
30
30
|
- **Q4H**:"Questions for Human",通过 `askHuman()` 发起,暂停对话进度直到人类响应。
|
|
31
31
|
|
|
32
32
|
## 预期的"正常"完成路径(推荐)
|
|
@@ -36,7 +36,7 @@ Dominds 根对话旨在长期运行。根对话"停止"(变为空闲)通常
|
|
|
36
36
|
1. 智能体发出 Q4H(`askHuman()`)并提供必要的上下文和明确的决策请求。
|
|
37
37
|
2. WebUI 清楚地呈现 Q4H。
|
|
38
38
|
3. 人类决定并:
|
|
39
|
-
-
|
|
39
|
+
- 手动将主线对话标记为"完成",或
|
|
40
40
|
- 提供请求的信息以便对话继续。
|
|
41
41
|
|
|
42
42
|
这是"受控收敛"路径。diligence-push 机制不应覆盖合法的暂停状态。
|
|
@@ -45,17 +45,17 @@ Dominds 根对话旨在长期运行。根对话"停止"(变为空闲)通常
|
|
|
45
45
|
|
|
46
46
|
### 触发条件(必须全部满足)
|
|
47
47
|
|
|
48
|
-
-
|
|
48
|
+
- 对话是**主线对话**(绝不会是支线对话)。
|
|
49
49
|
- 对话**未暂停**:
|
|
50
50
|
- 没有待处理的 Q4H,并且
|
|
51
|
-
-
|
|
51
|
+
- 没有待处理的支线对话(等待回填)。
|
|
52
52
|
- 驱动程序即将停止生成循环(即没有工具/函数输出需要另一次迭代)。
|
|
53
53
|
|
|
54
54
|
### 例外:provider deadlock recovery
|
|
55
55
|
|
|
56
56
|
某些 provider/API quirk 在识别到已知的 same-context deadlock,并停止沿用同一上下文自动重试后,
|
|
57
57
|
会请求一次性的鞭策恢复。这不是普通的“对话即将空转停止”路径。在这个仅用于恢复的特例里,
|
|
58
|
-
|
|
58
|
+
即使主线对话已经登记了在途诉请/支线对话,pending sideDialog 也不应否决这一次鞭策注入;因为卡死
|
|
59
59
|
可能正发生在函数结果驱动的生成轮次里。Q4H 仍然是硬阻塞条件。
|
|
60
60
|
|
|
61
61
|
### 操作
|
|
@@ -130,10 +130,10 @@ members:
|
|
|
130
130
|
|
|
131
131
|
在 kernel driver 循环中实现(`dominds/main/llm/kernel-driver/drive.ts`),作为迭代后的小检查:
|
|
132
132
|
|
|
133
|
-
1. 如果对话处于暂停状态,则停止(Q4H /
|
|
134
|
-
即那一次恢复专用的鞭策可忽略 pending
|
|
133
|
+
1. 如果对话处于暂停状态,则停止(Q4H / 支线对话待处理);但上文所述 deadlock-recovery 特例除外,
|
|
134
|
+
即那一次恢复专用的鞭策可忽略 pending sideDialog。
|
|
135
135
|
2. 如果有任何工具反馈,则正常继续。
|
|
136
|
-
3.
|
|
136
|
+
3. 否则(仅限主线对话),尝试 diligence-push 自动继续:
|
|
137
137
|
- 如果禁用 → 正常停止。
|
|
138
138
|
- 如果预算耗尽 → 发出一条仅用于提示的 UI 信息,并停止继续自动鞭策当前预算。
|
|
139
139
|
- 否则 → 自动发送鞭策语并继续。
|
|
@@ -164,9 +164,9 @@ members:
|
|
|
164
164
|
|
|
165
165
|
回归测试应覆盖:
|
|
166
166
|
|
|
167
|
-
-
|
|
168
|
-
-
|
|
169
|
-
-
|
|
167
|
+
- 主线对话:仅工具输出 → 鞭策语注入 → 继续响应
|
|
168
|
+
- 主线对话:空助手输出 → 鞭策语注入 → 继续响应
|
|
169
|
+
- 支线对话:无鞭策语注入
|
|
170
170
|
- rtws 配置:
|
|
171
171
|
- 当语言特定文件缺失时,`.minds/diligence.md` 被遵守
|
|
172
172
|
- 空的鞭策语文件禁用 diligence-push
|
|
@@ -41,7 +41,7 @@ Dominds 团队成员通常由以下几类信息组成:
|
|
|
41
41
|
|
|
42
42
|
- **主线对话**:承载当前任务的共享差遣牒,负责整体推进。
|
|
43
43
|
- **支线对话**:围绕某个分项任务临时展开的工作对话。
|
|
44
|
-
-
|
|
44
|
+
- **诉请者 / 被诉请者**:一次 Tellask 协作中的 tellasker / tellaskee 角色,不等于上下级。
|
|
45
45
|
|
|
46
46
|
这意味着:同一个成员可以在不同时间参与多条对话;团队结构与运行中的对话流是两层东西。
|
|
47
47
|
|
|
@@ -109,7 +109,7 @@ Dominds 团队成员通常由以下几类信息组成:
|
|
|
109
109
|
|
|
110
110
|
Dominds 里主要有三种协作诉请:
|
|
111
111
|
|
|
112
|
-
- **TellaskBack
|
|
112
|
+
- **TellaskBack(回问诉请)**:支线需要澄清时,回问当前诉请者。
|
|
113
113
|
- **Tellask Session(长线诉请)**:适合多轮迭代、上下文可续用的协作。
|
|
114
114
|
- **Fresh Tellask(一次性诉请)**:一次性的、无需保留后续续话语义的协作。
|
|
115
115
|
|
|
@@ -126,7 +126,7 @@ Dominds 的关键特征之一,是诉请后的运行态会显式管理:
|
|
|
126
126
|
- 主线可因等待支线结果而挂起
|
|
127
127
|
- 支线可因等待澄清而挂起
|
|
128
128
|
- 对话恢复由后端协程统一驱动
|
|
129
|
-
-
|
|
129
|
+
- 回贴会回到“当前诉请者”
|
|
130
130
|
|
|
131
131
|
因此,从外部智能体的视角,Dominds 协作设计要考虑的不是“谁给谁发消息”,而是:
|
|
132
132
|
|
|
@@ -35,13 +35,12 @@
|
|
|
35
35
|
- EN: `Tellask body` | ZH: `诉请正文`
|
|
36
36
|
- EN: `tellasker` | ZH: `诉请者`
|
|
37
37
|
- EN: `tellaskee` | ZH: `被诉请者`
|
|
38
|
-
- EN: `
|
|
39
|
-
- EN: `tellaskee dialog` | ZH: `被诉请者对话`
|
|
38
|
+
- EN: `Dialog Responder` | ZH: `对话主理人`
|
|
40
39
|
- EN: `TellaskBack` | ZH: `回问诉请`
|
|
41
40
|
- EN: `Tellask Session` | ZH: `长线诉请`
|
|
42
41
|
- EN: `Fresh Tellask` | ZH: `一次性诉请`
|
|
43
|
-
- EN: `
|
|
44
|
-
- EN: `
|
|
42
|
+
- EN: `Main Dialog` | ZH: `主线对话`
|
|
43
|
+
- EN: `Side Dialog` | ZH: `支线对话`
|
|
45
44
|
- EN: `Taskdoc` | ZH: `差遣牒`
|
|
46
45
|
- EN: `Taskdoc package (*.tsk/)` | ZH: `任务包`
|
|
47
46
|
- EN: `sessionSlug` | ZH: 会话 Slug(只写在 headline)
|
|
@@ -49,28 +48,28 @@
|
|
|
49
48
|
- EN: `TUI (interactive UI)` | ZH: `TUI(交互前端)`
|
|
50
49
|
- EN: `WebUI (interactive UI)` | ZH: `WebUI(交互前端)`
|
|
51
50
|
|
|
52
|
-
### Dialog Terms
|
|
51
|
+
### Dialog Terms(Main Dialog / Side Dialog,主线对话 / 支线对话)
|
|
53
52
|
|
|
54
|
-
- EN: **
|
|
53
|
+
- EN: **Main Dialog** is the dialog that carries the canonical shared Taskdoc and is responsible for overall progress.
|
|
55
54
|
- ZH: **主线对话**是承载共享差遣牒(Taskdoc)并负责整体推进的那条对话。
|
|
56
55
|
|
|
57
|
-
- EN: **Only the
|
|
56
|
+
- EN: **Only the Main Dialog Responder** can call `change_mind`.
|
|
58
57
|
- ZH: **只有主线对话主理人**拥有 `change_mind` 权限;支线对话主理人没有。
|
|
59
58
|
|
|
60
|
-
- EN: A **
|
|
59
|
+
- EN: A **Side Dialog** is a temporary work dialog for a subtask. Between dialogs/agents, there is no hierarchy — only **tellasker/tellaskee** roles.
|
|
61
60
|
- ZH: **支线对话**是为推进某个分项任务临时创建的工作对话。对话/智能体之间没有上下级关系,只有 **诉请者/被诉请者**。
|
|
62
61
|
|
|
63
|
-
- EN: A **tellasker
|
|
64
|
-
- ZH:
|
|
62
|
+
- EN: A **tellasker** is the dialog that issued the current Tellask; it can be the Main Dialog or any Side Dialog.
|
|
63
|
+
- ZH: **诉请者**是当前诉请的发起对话;它可以是主线对话,也可以是任意支线对话。
|
|
65
64
|
|
|
66
|
-
- EN: A **tellaskee
|
|
67
|
-
- ZH:
|
|
65
|
+
- EN: A **tellaskee** is the dialog handling the current Tellask (this dialog).
|
|
66
|
+
- ZH: **被诉请者**是处理当前诉请的对话(也就是此对话)。
|
|
68
67
|
|
|
69
|
-
- EN: These are **
|
|
70
|
-
- ZH:
|
|
68
|
+
- EN: These are **Tellask roles**, not hierarchy; the tellasker may or may not be the structural askerDialog.
|
|
69
|
+
- ZH: 这是一次诉请的**角色关系**,不是层级关系;诉请者可能是也可能不是结构上的 askerDialog。
|
|
71
70
|
|
|
72
|
-
- EN (cross-reference): In implementation-facing docs/code
|
|
73
|
-
- ZH(交叉说明):
|
|
71
|
+
- EN (cross-reference): In implementation-facing docs/code, the standard class/concept names are `MainDialog` / `main dialog` for **Main Dialog**, and `SideDialog` / `sideDialog` for **Side Dialog**. `rootId` remains a structural identifier field, not the user-facing term.
|
|
72
|
+
- ZH(交叉说明): 在系统实现语境(文档/代码)中,标准类名/概念名是 **MainDialog / main dialog(主线对话)** 与 **SideDialog / sideDialog(支线对话)**。`rootId` 仍是结构标识字段,不是对外术语。
|
|
74
73
|
|
|
75
74
|
### UI Surfaces(入口界面与交互前端)
|
|
76
75
|
|
|
@@ -99,8 +98,8 @@
|
|
|
99
98
|
- EN: The LLM reads only the latest/current course during normal restore/drive. Carryover exists specifically so the latest course can still see the old request context plus its resolved result without reloading the older course transcript.
|
|
100
99
|
- ZH: 正常的 restore/drive 中,LLM 只读取最新/当前 course。carryover 的存在,就是为了让最新 course 在**不重新加载旧 course transcript** 的前提下,仍能看到旧提问的必要上下文及其完成结果。
|
|
101
100
|
|
|
102
|
-
- EN: `
|
|
103
|
-
- ZH: `
|
|
101
|
+
- EN: `callSiteCourse` is provenance only: it tells you where the original Tellask was issued.
|
|
102
|
+
- ZH: `callSiteCourse` 只表示来源(provenance):原始诉请是在哪个 course 发起的。
|
|
104
103
|
|
|
105
104
|
- EN: `carryoverCourse` and event `course` are owner-course fields: they tell you which current/latest course now contains the usable context.
|
|
106
105
|
- ZH: `carryoverCourse` 和事件里的 `course` 表示归属 course:当前哪一个最新 course 持有这段可直接使用的上下文。
|
|
@@ -139,13 +138,13 @@
|
|
|
139
138
|
- EN (term): `TellaskBack`
|
|
140
139
|
- ZH(术语): `回问诉请`
|
|
141
140
|
|
|
142
|
-
- EN (meaning): Ask the **tellasker
|
|
143
|
-
- ZH(含义):
|
|
141
|
+
- EN (meaning): Ask the **tellasker** (the dialog that issued the current Tellask) for clarification instead of guessing.
|
|
142
|
+
- ZH(含义): 当被诉请方需要补充信息时,应**回问诉请者**澄清,而不是自行猜测。
|
|
144
143
|
|
|
145
|
-
- EN (what “Back” means): “Back” refers to routing back to the tellasker
|
|
146
|
-
- ZH(Back 的含义): “Back”
|
|
144
|
+
- EN (what “Back” means): “Back” refers to routing back to the tellasker; it does **not** imply hierarchy/seniority.
|
|
145
|
+
- ZH(Back 的含义): “Back” 指回到诉请者,**不暗示上下级**。
|
|
147
146
|
|
|
148
|
-
- EN (typical carrier): `tellaskBack({ tellaskContent: "..." }) ...` (only available inside a
|
|
147
|
+
- EN (typical carrier): `tellaskBack({ tellaskContent: "..." }) ...` (only available inside a Side Dialog)
|
|
149
148
|
- ZH(典型载体): `tellaskBack({ tellaskContent: "..." }) ...`(只在你处于支线对话语境时可用)
|
|
150
149
|
|
|
151
150
|
Example / 示例(概念):
|
|
@@ -213,7 +212,7 @@ tellask({
|
|
|
213
212
|
- EN (key property): “Fresh/one-shot” is not only “new context”; it also means **no continuation semantics** — later Tellasks are not expected to resume the same session context.
|
|
214
213
|
- ZH(关键性质): “Fresh/一次性”不仅表示“新开上下文”,更表示:**没有后续续话语义** —— 后续诉请不应被期待能自动续接本次一次性诉请的上下文。
|
|
215
214
|
|
|
216
|
-
- EN (operational consequence): A Fresh Tellask has **no assignment-update channel**. Another `tellaskSessionless` creates a new transient
|
|
215
|
+
- EN (operational consequence): A Fresh Tellask has **no assignment-update channel**. Another `tellaskSessionless` creates a new transient Side Dialog; it does not update or tell the earlier one to stop.
|
|
217
216
|
- ZH(操作后果): 一次性诉请**没有任务安排更新通道**。再次发起 `tellaskSessionless` 只会新建另一条瞬态支线,不会更新、更不会要求先前那条支线停止。
|
|
218
217
|
|
|
219
218
|
- EN (practical guidance): If you need a follow-up after a Fresh Tellask, treat it as a new request and restate necessary context; if you need iterative follow-ups, use `Tellask Session` with `sessionSlug`.
|
|
@@ -226,7 +225,7 @@ Example / 示例(概念):
|
|
|
226
225
|
|
|
227
226
|
### 系统提示可复用的一句话(One-Sentence Summary for System Prompts)
|
|
228
227
|
|
|
229
|
-
- EN: `TellaskBack` asks the tellasker
|
|
228
|
+
- EN: `TellaskBack` asks the tellasker for clarification; `Tellask Session` uses `sessionSlug` for resumable multi-turn work; `Fresh Tellask` is one-shot and non-resumable.
|
|
230
229
|
- ZH: `TellaskBack` 回问诉请者澄清;`Tellask Session` 用 `sessionSlug` 进行可续用多轮协作;`Fresh Tellask` 是一次性且不可恢复。
|
|
231
230
|
|
|
232
231
|
### 为何保留 `!` 前缀?(Why keep the `!` prefix?)
|
|
@@ -343,7 +342,7 @@ Example / 示例(概念):
|
|
|
343
342
|
- ZH: **对话主理人(Dialog Responder)**是一个智能体在某个**具体对话**中承担的角色:负责在该对话中**回应并推进**。
|
|
344
343
|
|
|
345
344
|
- EN: Practical mapping:
|
|
346
|
-
- The
|
|
345
|
+
- The Dialog Responder is identified by the dialog's `agentId` in `dialog.yaml` (implementation field name stays `agentId`).
|
|
347
346
|
- Do NOT call it “dialog agent” in docs/prompts; that phrase is ambiguous.
|
|
348
347
|
- ZH: 落地映射:
|
|
349
348
|
- 对话主理人在实现上由 `dialog.yaml` 中的 `agentId` 指定(实现字段名仍为 `agentId`)。
|
|
@@ -396,8 +395,8 @@ Example / 示例(概念):
|
|
|
396
395
|
- ZH: **多程对话(multi-course dialog)**指同一个对话可以拥有**多段过程**;每一程都像一次“重新开工”的对话工作区。
|
|
397
396
|
|
|
398
397
|
- EN: Course creation (how a new course starts):
|
|
399
|
-
- The **first course** exists naturally when a
|
|
400
|
-
- After that, a **new course** is started when the
|
|
398
|
+
- The **first course** exists naturally when a Main Dialog or Side Dialog is created.
|
|
399
|
+
- After that, a **new course** is started when the Dialog Responder calls `clear_mind`.
|
|
401
400
|
- Exception: the system may auto-start a new course for remediation (e.g., context health becomes critical).
|
|
402
401
|
- ZH: “一程”如何产生(新一程如何开始):
|
|
403
402
|
- **第一程**:随着主线对话/支线对话的创建自然产生。
|
|
@@ -470,39 +469,39 @@ Example / 示例(概念):
|
|
|
470
469
|
- EN: A **dialog** is a persisted, driveable conversation state machine.
|
|
471
470
|
- ZH: **对话(dialog)**是一个可持久化、可被后端驱动的对话状态机。
|
|
472
471
|
|
|
473
|
-
###
|
|
472
|
+
### AskerDialog / 诉请者
|
|
474
473
|
|
|
475
|
-
- EN:
|
|
476
|
-
- ZH: **
|
|
474
|
+
- EN: **askerDialog** is the implementation-facing dialog that currently owns an assignment or reply obligation for a sideDialog. It may be the main dialog or another sideDialog; it is a tellask/reply relationship, not inherently a hierarchy label.
|
|
475
|
+
- ZH: **askerDialog(诉请者)**是在实现语境中当前拥有某个支线 assignment 或 reply obligation 的对话。它可以是 main dialog,也可以是另一个 sideDialog;这是诉请/回复关系,不天然表示层级上位。
|
|
477
476
|
|
|
478
|
-
- EN:
|
|
479
|
-
- ZH:
|
|
477
|
+
- EN: An askerDialog may receive **TellaskBack calls** from the sideDialogs that currently owe it a reply.
|
|
478
|
+
- ZH: askerDialog 在执行过程中可能接收来自当前需向它回复的 sideDialog 的 **TellaskBack call(回问诉请)**。
|
|
480
479
|
|
|
481
|
-
###
|
|
480
|
+
### SideDialog / 支线对话
|
|
482
481
|
|
|
483
|
-
- EN: A **
|
|
484
|
-
- ZH: **
|
|
482
|
+
- EN: A **sideDialog** is a specialized dialog spawned by an askerDialog to handle a subtask with fresh (or session-resumed) context.
|
|
483
|
+
- ZH: **sideDialog(支线对话)**是由 askerDialog 派生出来用于处理子任务的专用对话,具备相对独立的上下文(可能是新开或按会话 key 恢复)。
|
|
485
484
|
|
|
486
|
-
###
|
|
485
|
+
### MainDialog / 主线对话
|
|
487
486
|
|
|
488
|
-
- EN: A **
|
|
489
|
-
- ZH:
|
|
487
|
+
- EN: A **main dialog** is the top-level dialog with no askerDialog. Prefer **Main Dialog** in general/user-facing context and `MainDialog` / `main dialog` in implementation-facing context.
|
|
488
|
+
- ZH: **main dialog(主线对话)**是没有 askerDialog 的顶层主线对话。通用/对外语境优先使用 **Main Dialog / 主线对话**;实现语境使用 `MainDialog` / `main dialog`。
|
|
490
489
|
|
|
491
490
|
### Type A/B/C (internal taxonomy) / 内部分类
|
|
492
491
|
|
|
493
492
|
- EN: The implementation may still use the internal labels **Type A/B/C** to classify teammate-tellask patterns.
|
|
494
493
|
- ZH: 实现层仍可能使用 **Type A/B/C** 作为队友诉请形态的内部分类。
|
|
495
494
|
|
|
496
|
-
- EN: Type A: TellaskBack call (a
|
|
497
|
-
- ZH: Type A
|
|
495
|
+
- EN: Type A: TellaskBack call (a sideDialog asking back to its tellasker); primary syntax `tellaskBack({ tellaskContent: "..." })` (NO `sessionSlug`).
|
|
496
|
+
- ZH: Type A:回问诉请(支线对话回问其诉请者);主语法 `tellaskBack({ tellaskContent: "..." })`(不带 `sessionSlug`)。
|
|
498
497
|
|
|
499
|
-
- EN: Type B: registered
|
|
500
|
-
- ZH: Type B:registered
|
|
498
|
+
- EN: Type B: registered sideDialog call (resumable) keyed by `agentId!sessionSlug`.
|
|
499
|
+
- ZH: Type B:registered sideDialog call(可恢复),用 `agentId!sessionSlug` 作为 registry key。
|
|
501
500
|
|
|
502
|
-
- EN: Type C: transient
|
|
503
|
-
- ZH: Type C:transient
|
|
501
|
+
- EN: Type C: transient sideDialog call (one-shot), not registered.
|
|
502
|
+
- ZH: Type C:transient sideDialog call(一次性),不注册到 registry。
|
|
504
503
|
|
|
505
504
|
### `sessionSlug` / 会话 Slug 指令
|
|
506
505
|
|
|
507
|
-
- EN: Resumable registered
|
|
508
|
-
- ZH:
|
|
506
|
+
- EN: Resumable registered sideDialogs use `sessionSlug` in the Tellask headline.
|
|
507
|
+
- ZH: 可恢复的注册支线对话使用 Tellask headline 内的 `sessionSlug`。
|
|
@@ -10,11 +10,11 @@ with a stable schema and a strict access policy.
|
|
|
10
10
|
## Goals
|
|
11
11
|
|
|
12
12
|
- **Clarity**: separate “what we want” (goals) from “what we must obey” (constraints) and “where we are” (progress).
|
|
13
|
-
- **Coordination**: make the Taskdoc the task’s **live coordination bulletin board** across
|
|
13
|
+
- **Coordination**: make the Taskdoc the task’s **live coordination bulletin board** across Main Dialogs/agents (keep `progress.md`/`constraints.md` current; don’t bury key decisions in chat).
|
|
14
14
|
- **Durability**: make task state persist across long-running work and across dialog course resets.
|
|
15
15
|
- **Auditability**: make task changes explicit and attributable to a single, intentional action.
|
|
16
16
|
- **Safety**: prevent accidental or tool-driven reads/writes that bypass intended UX and control points.
|
|
17
|
-
- **Shareability**: ensure the Taskdoc is visible/consistent across the entire dialog tree (
|
|
17
|
+
- **Shareability**: ensure the Taskdoc is visible/consistent across the entire dialog tree (main dialog + sideDialogs).
|
|
18
18
|
|
|
19
19
|
## Non-goals
|
|
20
20
|
|
|
@@ -24,7 +24,7 @@ with a stable schema and a strict access policy.
|
|
|
24
24
|
|
|
25
25
|
## Terminology
|
|
26
26
|
|
|
27
|
-
- **Dialog tree**: a
|
|
27
|
+
- **Dialog tree**: a main dialog plus any sideDialogs/teammates spawned under it.
|
|
28
28
|
- **Taskdoc package**: a directory ending in `.tsk/` that stores the Taskdoc as multiple files.
|
|
29
29
|
- **Taskdoc (effective)**: the logical Taskdoc content presented to the agent, derived from the Taskdoc package.
|
|
30
30
|
- **Encapsulation**: treating `.tsk/` as protected internal state, not general rtws (runtime workspace) files.
|
|
@@ -253,7 +253,7 @@ Call the function tool `change_mind` with:
|
|
|
253
253
|
- The body is treated as opaque markdown text; no partial patching/diff semantics are implied.
|
|
254
254
|
- A successful `change_mind` updates the Taskdoc package immediately and becomes visible to:
|
|
255
255
|
- the current dialog
|
|
256
|
-
- all
|
|
256
|
+
- all sideDialogs/teammates in the dialog tree
|
|
257
257
|
- any observing WebUI clients
|
|
258
258
|
|
|
259
259
|
### Failure cases (non-exhaustive)
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
- **持久性**:使任务状态在长期工作和多程对话重置之间保持持久。
|
|
14
14
|
- **可审计性**:使任务变更明确且可归因于单一、有意的操作。
|
|
15
15
|
- **安全性**:防止绕过预期用户体验和控制点的意外或工具驱动的读/写。
|
|
16
|
-
-
|
|
16
|
+
- **可共享性**:确保差遣牒在整个对话树(主线对话 + 支线对话)中可见/一致。
|
|
17
17
|
|
|
18
18
|
## 非目标
|
|
19
19
|
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
## 术语
|
|
25
25
|
|
|
26
|
-
-
|
|
26
|
+
- **对话树**:主线对话加上在其下产生的任何支线对话/队友。
|
|
27
27
|
- **差遣牒**:一份任务契约(目标/约束/进度),同时也是跨主线/跨智能体的任务实时协调公告板。
|
|
28
28
|
- **任务包**:以 `.tsk/` 后缀结尾的目录,将差遣牒存储为多个文件。
|
|
29
29
|
- **有效差遣牒**:呈现给智能体的逻辑差遣牒内容,从任务包派生而来。
|
|
@@ -264,7 +264,7 @@ recall_taskdoc({ category, selector })
|
|
|
264
264
|
- 正文被视为不透明的 markdown 文本;不暗示部分修补/差异语义。
|
|
265
265
|
- 成功的 `change_mind` 会立即更新任务包,并对以下内容可见:
|
|
266
266
|
- 当前对话
|
|
267
|
-
-
|
|
267
|
+
- 对话树中的所有支线对话/队友
|
|
268
268
|
- 任何观察的 WebUI 客户端
|
|
269
269
|
|
|
270
270
|
### 失败情况(非穷尽)
|