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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getOrRestoreMainDialog = getOrRestoreMainDialog;
|
|
4
4
|
exports.ensureDialogLoaded = ensureDialogLoaded;
|
|
5
5
|
const diligence_1 = require("@longrun-ai/kernel/diligence");
|
|
6
6
|
const dialog_1 = require("./dialog");
|
|
@@ -40,25 +40,22 @@ async function resolvePendingCourseStartPromptForRestore(args) {
|
|
|
40
40
|
}
|
|
41
41
|
return { pendingCourseStartPrompt: pending };
|
|
42
42
|
}
|
|
43
|
-
async function
|
|
43
|
+
async function getOrRestoreMainDialog(rootId, status) {
|
|
44
44
|
const existing = dialog_global_registry_1.globalDialogRegistry.get(rootId);
|
|
45
45
|
if (existing) {
|
|
46
46
|
existing.setPersistenceStatus(status);
|
|
47
|
-
await existing.
|
|
48
|
-
await existing.
|
|
47
|
+
await existing.loadSideDialogRegistry();
|
|
48
|
+
await existing.loadPendingSideDialogsFromPersistence();
|
|
49
49
|
return existing;
|
|
50
50
|
}
|
|
51
|
-
const
|
|
52
|
-
const rootState = await persistence_1.DialogPersistence.restoreDialog(
|
|
51
|
+
const mainDialogId = new dialog_1.DialogID(rootId);
|
|
52
|
+
const rootState = await persistence_1.DialogPersistence.restoreDialog(mainDialogId, status);
|
|
53
53
|
if (!rootState)
|
|
54
54
|
return undefined;
|
|
55
55
|
const rootMetadata = rootState.metadata;
|
|
56
|
-
|
|
57
|
-
return undefined;
|
|
58
|
-
}
|
|
59
|
-
const latest = await persistence_1.DialogPersistence.loadDialogLatest(rootDialogId, status);
|
|
56
|
+
const latest = await persistence_1.DialogPersistence.loadDialogLatest(mainDialogId, status);
|
|
60
57
|
const { pendingCourseStartPrompt } = await resolvePendingCourseStartPromptForRestore({
|
|
61
|
-
dialogId:
|
|
58
|
+
dialogId: mainDialogId,
|
|
62
59
|
status,
|
|
63
60
|
messages: rootState.messages,
|
|
64
61
|
latest,
|
|
@@ -72,8 +69,8 @@ async function getOrRestoreRootDialog(rootId, status) {
|
|
|
72
69
|
diligencePushMax = diligence_1.DEFAULT_DILIGENCE_PUSH_MAX;
|
|
73
70
|
}
|
|
74
71
|
const defaultDisableDiligencePush = diligencePushMax <= 0;
|
|
75
|
-
const rootStore = new persistence_1.DiskFileDialogStore(
|
|
76
|
-
const
|
|
72
|
+
const rootStore = new persistence_1.DiskFileDialogStore(mainDialogId);
|
|
73
|
+
const mainDialog = new dialog_1.MainDialog(rootStore, rootMetadata.taskDocPath, mainDialogId, rootMetadata.agentId, {
|
|
77
74
|
messages: rootState.messages,
|
|
78
75
|
reminders: rootState.reminders,
|
|
79
76
|
currentCourse: rootState.currentCourse,
|
|
@@ -83,27 +80,27 @@ async function getOrRestoreRootDialog(rootId, status) {
|
|
|
83
80
|
const persistedDisableDiligencePush = latest && typeof latest.disableDiligencePush === 'boolean'
|
|
84
81
|
? latest.disableDiligencePush
|
|
85
82
|
: defaultDisableDiligencePush;
|
|
86
|
-
|
|
83
|
+
mainDialog.disableDiligencePush = persistedDisableDiligencePush;
|
|
87
84
|
const persistedRemainingBudget = latest && typeof latest.diligencePushRemainingBudget === 'number'
|
|
88
85
|
? latest.diligencePushRemainingBudget
|
|
89
86
|
: undefined;
|
|
90
87
|
const normalizedRemainingBudget = clampNonNegativeFiniteInt(persistedRemainingBudget, diligencePushMax > 0 ? diligencePushMax : 0);
|
|
91
|
-
|
|
88
|
+
mainDialog.diligencePushRemainingBudget =
|
|
92
89
|
diligencePushMax > 0
|
|
93
90
|
? Math.min(normalizedRemainingBudget, diligencePushMax)
|
|
94
91
|
: normalizedRemainingBudget;
|
|
95
|
-
|
|
96
|
-
dialog_global_registry_1.globalDialogRegistry.register(
|
|
97
|
-
// Keep the in-memory
|
|
98
|
-
// (running/completed/archived) so
|
|
99
|
-
await
|
|
100
|
-
await
|
|
101
|
-
return
|
|
92
|
+
mainDialog.setPersistenceStatus(status);
|
|
93
|
+
dialog_global_registry_1.globalDialogRegistry.register(mainDialog);
|
|
94
|
+
// Keep the in-memory main dialog fully hydrated regardless of persistence status
|
|
95
|
+
// (running/completed/archived) so sideDialog lookup is stable across UI navigation.
|
|
96
|
+
await mainDialog.loadSideDialogRegistry();
|
|
97
|
+
await mainDialog.loadPendingSideDialogsFromPersistence();
|
|
98
|
+
return mainDialog;
|
|
102
99
|
}
|
|
103
|
-
async function ensureDialogLoaded(
|
|
100
|
+
async function ensureDialogLoaded(mainDialog, targetId, status, visitedSelfIds = new Set()) {
|
|
104
101
|
if (targetId.selfId === targetId.rootId)
|
|
105
|
-
return
|
|
106
|
-
const existing =
|
|
102
|
+
return mainDialog;
|
|
103
|
+
const existing = mainDialog.lookupDialog(targetId.selfId);
|
|
107
104
|
if (existing)
|
|
108
105
|
return existing;
|
|
109
106
|
if (visitedSelfIds.has(targetId.selfId))
|
|
@@ -112,9 +109,17 @@ async function ensureDialogLoaded(rootDialog, targetId, status, visitedSelfIds =
|
|
|
112
109
|
const metadata = await persistence_1.DialogPersistence.loadDialogMetadata(targetId, status);
|
|
113
110
|
if (!metadata)
|
|
114
111
|
return undefined;
|
|
115
|
-
|
|
116
|
-
if (
|
|
117
|
-
|
|
112
|
+
const askerStack = await persistence_1.DialogPersistence.loadSideDialogAskerStackState(targetId, status);
|
|
113
|
+
if (!askerStack) {
|
|
114
|
+
throw new Error(`ensureDialogLoaded invariant violation: missing asker stack for ${targetId.valueOf()}`);
|
|
115
|
+
}
|
|
116
|
+
const askerStackTop = askerStack.askerStack[askerStack.askerStack.length - 1];
|
|
117
|
+
if (!askerStackTop) {
|
|
118
|
+
throw new Error(`ensureDialogLoaded invariant violation: empty askerDialog stack for ${targetId.valueOf()}`);
|
|
119
|
+
}
|
|
120
|
+
// Ensure asker dialog exists in root registry for dynamic asker/askerDialog resolution.
|
|
121
|
+
if (askerStackTop.askerDialogId !== targetId.rootId) {
|
|
122
|
+
await ensureDialogLoaded(mainDialog, new dialog_1.DialogID(askerStackTop.askerDialogId, targetId.rootId), status, visitedSelfIds);
|
|
118
123
|
}
|
|
119
124
|
const state = await persistence_1.DialogPersistence.restoreDialog(targetId, status);
|
|
120
125
|
if (!state)
|
|
@@ -126,26 +131,32 @@ async function ensureDialogLoaded(rootDialog, targetId, status, visitedSelfIds =
|
|
|
126
131
|
messages: state.messages,
|
|
127
132
|
latest,
|
|
128
133
|
});
|
|
129
|
-
const
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
134
|
+
const assignmentFromAsker = (() => {
|
|
135
|
+
for (let index = askerStack.askerStack.length - 1; index >= 0; index -= 1) {
|
|
136
|
+
const frame = askerStack.askerStack[index];
|
|
137
|
+
if (frame?.assignmentFromAsker !== undefined) {
|
|
138
|
+
return frame.assignmentFromAsker;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
throw new Error(`ensureDialogLoaded invariant violation: missing assignment frame in asker stack for ${targetId.valueOf()}`);
|
|
142
|
+
})();
|
|
143
|
+
// Ensure the tellasker exists so SideDialog can resolve its effective askerDialog.
|
|
144
|
+
if (assignmentFromAsker.askerDialogId &&
|
|
145
|
+
assignmentFromAsker.askerDialogId !== targetId.rootId &&
|
|
146
|
+
assignmentFromAsker.askerDialogId !== targetId.selfId) {
|
|
147
|
+
await ensureDialogLoaded(mainDialog, new dialog_1.DialogID(assignmentFromAsker.askerDialogId, targetId.rootId), status, visitedSelfIds);
|
|
137
148
|
}
|
|
138
149
|
const store = new persistence_1.DiskFileDialogStore(targetId);
|
|
139
|
-
const
|
|
150
|
+
const sideDialog = new dialog_1.SideDialog(store, mainDialog, metadata.taskDocPath, targetId, metadata.agentId, askerStack, metadata.sessionSlug, {
|
|
140
151
|
messages: state.messages,
|
|
141
152
|
reminders: state.reminders,
|
|
142
153
|
currentCourse: state.currentCourse,
|
|
143
154
|
contextHealth: state.contextHealth,
|
|
144
155
|
pendingCourseStartPrompt,
|
|
145
156
|
});
|
|
146
|
-
|
|
147
|
-
if (
|
|
148
|
-
|
|
157
|
+
sideDialog.disableDiligencePush = latest?.disableDiligencePush ?? false;
|
|
158
|
+
if (sideDialog.sessionSlug) {
|
|
159
|
+
mainDialog.registerSideDialog(sideDialog);
|
|
149
160
|
}
|
|
150
|
-
return
|
|
161
|
+
return sideDialog;
|
|
151
162
|
}
|
package/dist/dialog.d.ts
CHANGED
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
* Module: dialog
|
|
3
3
|
*
|
|
4
4
|
* Provides the `Dialog` object for orchestrating conversations:
|
|
5
|
-
* - Tracks messages, agent identity, optional
|
|
5
|
+
* - Tracks messages, agent identity, optional askerDialog/sideDialog relationships
|
|
6
6
|
* - Receivers for streaming LLM output and tool results
|
|
7
|
-
* - Helpers for spawning
|
|
7
|
+
* - Helpers for spawning sideDialogs and prompting human input
|
|
8
8
|
* - Persistence support for dialog state and message history
|
|
9
9
|
*
|
|
10
10
|
* Architecture (Phase 2):
|
|
11
11
|
* - `Dialog` - Abstract base class for all dialogs
|
|
12
|
-
* - `
|
|
13
|
-
* - `
|
|
12
|
+
* - `MainDialog` - Main dialog with sideDialog registry
|
|
13
|
+
* - `SideDialog` - SideDialog with main dialog reference and dynamic askerDialog resolution
|
|
14
14
|
*/
|
|
15
15
|
import type { ContextHealthSnapshot } from '@longrun-ai/kernel/types/context-health';
|
|
16
16
|
import type { DialogEvent, NativeToolCallPayload, ReminderContent, WebSearchCallAction, WebSearchCallSource } from '@longrun-ai/kernel/types/dialog';
|
|
17
|
-
import type { DialogQueuedDeferredQ4HAnswerState, DialogQueuedPromptState, DialogQueuedUserGenerationBoundaryState, DialogRunControlSpec, DialogRuntimePrompt,
|
|
17
|
+
import type { DialogQueuedDeferredQ4HAnswerState, DialogQueuedPromptState, DialogQueuedUserGenerationBoundaryState, DialogRunControlSpec, DialogRuntimePrompt, DialogSideDialogReplyTarget, DialogUserPrompt, DriveIntent } from '@longrun-ai/kernel/types/drive-intent';
|
|
18
18
|
import type { LanguageCode } from '@longrun-ai/kernel/types/language';
|
|
19
|
-
import type { CalleeCourseNumber, CalleeGenerationSeqNumber,
|
|
19
|
+
import type { CalleeCourseNumber, CalleeGenerationSeqNumber, CallSiteCourseNo, CallSiteGenseqNo, DialogAskerStackState, DialogMetadataFile, HumanQuestion, ProviderData, ReasoningPayload, TellaskCallRecordName, TellaskReplyDirective } from '@longrun-ai/kernel/types/storage';
|
|
20
20
|
import { ChatMessage, FuncResultMsg, TellaskCarryoverMsg, TellaskResultMsg } from './llm/client';
|
|
21
21
|
import type { ToolResultImageIngest, UserImageIngest } from './llm/gen';
|
|
22
22
|
import type { JsonValue } from './tool';
|
|
@@ -34,7 +34,7 @@ type NewCourseHook = (args: {
|
|
|
34
34
|
runControl?: DialogRunControlSpec;
|
|
35
35
|
}) => Promise<NewCourseHookResult>;
|
|
36
36
|
export type DialogSuspensionStatusOptions = Readonly<{
|
|
37
|
-
|
|
37
|
+
allowPendingSideDialogs?: boolean;
|
|
38
38
|
}>;
|
|
39
39
|
export declare class DialogID {
|
|
40
40
|
readonly selfId: string;
|
|
@@ -56,32 +56,33 @@ export declare class DialogID {
|
|
|
56
56
|
hashCode(): string;
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
|
-
* Phase 6: Pending
|
|
60
|
-
* Tracks a
|
|
59
|
+
* Phase 6: Pending sideDialog record for Type A sideDialog supply mechanism.
|
|
60
|
+
* Tracks a sideDialog that was created but not yet completed.
|
|
61
61
|
*/
|
|
62
|
-
export interface
|
|
63
|
-
|
|
62
|
+
export interface PendingSideDialog {
|
|
63
|
+
sideDialogId: DialogID;
|
|
64
64
|
createdAt: string;
|
|
65
65
|
mentionList?: string[];
|
|
66
66
|
tellaskContent: string;
|
|
67
67
|
targetAgentId: string;
|
|
68
68
|
callId: string;
|
|
69
|
-
|
|
69
|
+
callSiteCourse: CallSiteCourseNo;
|
|
70
|
+
callSiteGenseq: CallSiteGenseqNo;
|
|
70
71
|
callType: 'A' | 'B' | 'C';
|
|
71
72
|
sessionSlug?: string;
|
|
72
73
|
}
|
|
73
74
|
/**
|
|
74
|
-
* Phase 6:
|
|
75
|
-
* Tracks the response from a completed
|
|
75
|
+
* Phase 6: SideDialog response record for Type A sideDialog supply mechanism.
|
|
76
|
+
* Tracks the response from a completed sideDialog.
|
|
76
77
|
*/
|
|
77
|
-
export interface
|
|
78
|
-
|
|
78
|
+
export interface SideDialogResponse {
|
|
79
|
+
sideDialogId: DialogID;
|
|
79
80
|
response: string;
|
|
80
81
|
completedAt: string;
|
|
81
82
|
callType: 'A' | 'B' | 'C';
|
|
82
83
|
}
|
|
83
84
|
/**
|
|
84
|
-
* Common dialog initialization parameters (shared between
|
|
85
|
+
* Common dialog initialization parameters (shared between MainDialog and SideDialog)
|
|
85
86
|
*/
|
|
86
87
|
export interface DialogInitParams {
|
|
87
88
|
taskDocPath: string;
|
|
@@ -107,21 +108,25 @@ export type VisibleReminderTarget = Readonly<{
|
|
|
107
108
|
agentId: string;
|
|
108
109
|
}>;
|
|
109
110
|
/**
|
|
110
|
-
* Assignment from
|
|
111
|
+
* Assignment from askerDialog for sideDialogs
|
|
111
112
|
*/
|
|
112
|
-
export interface
|
|
113
|
+
export interface AssignmentFromAsker {
|
|
113
114
|
callName: 'tellask' | 'tellaskSessionless' | 'freshBootsReasoning';
|
|
114
115
|
mentionList?: string[];
|
|
115
116
|
tellaskContent: string;
|
|
116
117
|
originMemberId: string;
|
|
117
|
-
|
|
118
|
+
askerDialogId: string;
|
|
118
119
|
callId: string;
|
|
119
120
|
collectiveTargets?: string[];
|
|
120
121
|
effectiveFbrEffort?: number;
|
|
121
122
|
}
|
|
123
|
+
export declare function buildSideDialogAskerStack(args: {
|
|
124
|
+
askerDialogId: string;
|
|
125
|
+
assignment: AssignmentFromAsker;
|
|
126
|
+
}): DialogAskerStackState;
|
|
122
127
|
/**
|
|
123
128
|
* Abstract base class for all dialog types.
|
|
124
|
-
* Contains common properties and methods shared between
|
|
129
|
+
* Contains common properties and methods shared between MainDialog and SideDialog.
|
|
125
130
|
*/
|
|
126
131
|
export declare abstract class Dialog {
|
|
127
132
|
readonly dlgStore: DialogStore;
|
|
@@ -149,7 +154,7 @@ export declare abstract class Dialog {
|
|
|
149
154
|
protected _courseRuntimeNoticeMsgs: ChatMessage[];
|
|
150
155
|
protected _generationStarted: boolean;
|
|
151
156
|
protected _generationStartedGenseq: number;
|
|
152
|
-
protected
|
|
157
|
+
protected _pendingSideDialogIds: DialogID[];
|
|
153
158
|
protected _suspensionState: 'active' | 'suspended' | 'resumed';
|
|
154
159
|
diligencePushRemainingBudget: number;
|
|
155
160
|
disableDiligencePush: boolean;
|
|
@@ -161,7 +166,7 @@ export declare abstract class Dialog {
|
|
|
161
166
|
getLastContextHealthGenseq(): number | undefined;
|
|
162
167
|
get remindersVer(): number;
|
|
163
168
|
touchReminders(): void;
|
|
164
|
-
get
|
|
169
|
+
get askerDialog(): Dialog | undefined;
|
|
165
170
|
getUiLanguage(): LanguageCode;
|
|
166
171
|
setUiLanguage(language: LanguageCode): void;
|
|
167
172
|
getLastUserLanguageCode(): LanguageCode;
|
|
@@ -174,7 +179,7 @@ export declare abstract class Dialog {
|
|
|
174
179
|
*
|
|
175
180
|
* Call Types:
|
|
176
181
|
* - tellask-special function call: callId is set when call results are finalized and used for inline result correlation
|
|
177
|
-
* -
|
|
182
|
+
* - SideDialog response bubbles: use calleeDialogId instead of callId
|
|
178
183
|
*
|
|
179
184
|
* @returns The current callId for call correlation, or null if no active call
|
|
180
185
|
*/
|
|
@@ -209,11 +214,11 @@ export declare abstract class Dialog {
|
|
|
209
214
|
*/
|
|
210
215
|
hasPendingQ4H(): Promise<boolean>;
|
|
211
216
|
/**
|
|
212
|
-
* Check if dialog has pending
|
|
217
|
+
* Check if dialog has pending sideDialogs.
|
|
213
218
|
*/
|
|
214
|
-
|
|
219
|
+
hasPendingSideDialogs(): Promise<boolean>;
|
|
215
220
|
/**
|
|
216
|
-
* Check if dialog can be driven (not suspended for Q4H or
|
|
221
|
+
* Check if dialog can be driven (not suspended for Q4H or sideDialogs).
|
|
217
222
|
*/
|
|
218
223
|
canDrive(options?: DialogSuspensionStatusOptions): Promise<boolean>;
|
|
219
224
|
/**
|
|
@@ -221,31 +226,31 @@ export declare abstract class Dialog {
|
|
|
221
226
|
*/
|
|
222
227
|
getSuspensionStatus(options?: DialogSuspensionStatusOptions): Promise<{
|
|
223
228
|
q4h: boolean;
|
|
224
|
-
|
|
225
|
-
|
|
229
|
+
sideDialogs: boolean;
|
|
230
|
+
blockingSideDialogs: boolean;
|
|
226
231
|
canDrive: boolean;
|
|
227
232
|
}>;
|
|
228
|
-
get
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
233
|
+
get pendingSideDialogIds(): ReadonlyArray<DialogID>;
|
|
234
|
+
addPendingSideDialogs(ids: DialogID[]): void;
|
|
235
|
+
removePendingSideDialog(id: DialogID): void;
|
|
236
|
+
clearPendingSideDialogs(): void;
|
|
232
237
|
/**
|
|
233
|
-
* Load pending
|
|
238
|
+
* Load pending sideDialogs from persistence into memory.
|
|
234
239
|
* Used during crash recovery to restore suspension state.
|
|
235
240
|
*/
|
|
236
|
-
|
|
241
|
+
loadPendingSideDialogsFromPersistence(): Promise<void>;
|
|
237
242
|
/**
|
|
238
|
-
* Abstract method for creating
|
|
239
|
-
* Implemented by
|
|
243
|
+
* Abstract method for creating sideDialogs.
|
|
244
|
+
* Implemented by MainDialog to create SideDialog instances.
|
|
240
245
|
*/
|
|
241
|
-
abstract
|
|
246
|
+
abstract createSideDialog(targetAgentId: string, mentionList: string[] | undefined, tellaskContent: string, options: {
|
|
242
247
|
callName: 'tellask' | 'tellaskSessionless' | 'freshBootsReasoning';
|
|
243
248
|
originMemberId: string;
|
|
244
|
-
|
|
249
|
+
askerDialogId: string;
|
|
245
250
|
callId: string;
|
|
246
251
|
sessionSlug?: string;
|
|
247
252
|
collectiveTargets?: string[];
|
|
248
|
-
}): Promise<
|
|
253
|
+
}): Promise<SideDialog>;
|
|
249
254
|
/**
|
|
250
255
|
* Post a dialog event using the standard event registry.
|
|
251
256
|
*/
|
|
@@ -284,12 +289,12 @@ export declare abstract class Dialog {
|
|
|
284
289
|
get hasActiveGeneration(): boolean;
|
|
285
290
|
/**
|
|
286
291
|
* Check if generation has started for the current course.
|
|
287
|
-
* Used to ensure
|
|
292
|
+
* Used to ensure sideDialog_final_response_evt arrives after parent events.
|
|
288
293
|
*/
|
|
289
294
|
get generationStarted(): boolean;
|
|
290
295
|
/**
|
|
291
296
|
* Mark generation as started (after user_text event has been emitted).
|
|
292
|
-
* This ensures
|
|
297
|
+
* This ensures sideDialog_final_response_evt waits for this signal.
|
|
293
298
|
* @param genseq The generation sequence number when this flag is set
|
|
294
299
|
*/
|
|
295
300
|
markGenerationStarted(genseq?: number): void;
|
|
@@ -337,7 +342,7 @@ export declare abstract class Dialog {
|
|
|
337
342
|
userLanguageCode?: LanguageCode;
|
|
338
343
|
tellaskReplyDirective: TellaskReplyDirective;
|
|
339
344
|
skipTaskdoc?: boolean;
|
|
340
|
-
|
|
345
|
+
sideDialogReplyTarget: DialogSideDialogReplyTarget;
|
|
341
346
|
}): DialogQueuedPromptState;
|
|
342
347
|
hasUpNext(): boolean;
|
|
343
348
|
peekUpNext(): DialogQueuedPromptState | undefined;
|
|
@@ -364,16 +369,16 @@ export declare abstract class Dialog {
|
|
|
364
369
|
receiveTellaskResult(result: TellaskResultMsg): Promise<void>;
|
|
365
370
|
receiveTellaskCarryover(result: TellaskCarryoverMsg): Promise<void>;
|
|
366
371
|
receiveTellaskCallResult(responderId: string, callName: 'tellaskBack' | 'tellask' | 'tellaskSessionless' | 'askHuman' | 'freshBootsReasoning', mentionList: string[] | undefined, tellaskContent: string, result: string, status: 'completed' | 'failed', callId: string, options?: {
|
|
367
|
-
|
|
368
|
-
|
|
372
|
+
callSiteCourse?: CallSiteCourseNo;
|
|
373
|
+
callSiteGenseq?: CallSiteGenseqNo;
|
|
369
374
|
}): Promise<void>;
|
|
370
|
-
receiveTellaskResponse(responderId: string, callName: 'tellaskBack' | 'tellask' | 'tellaskSessionless' | 'askHuman' | 'freshBootsReasoning', mentionList: string[] | undefined, tellaskContent: string, status: 'completed' | 'failed',
|
|
375
|
+
receiveTellaskResponse(responderId: string, callName: 'tellaskBack' | 'tellask' | 'tellaskSessionless' | 'askHuman' | 'freshBootsReasoning', mentionList: string[] | undefined, tellaskContent: string, status: 'completed' | 'failed', sideDialogId: DialogID | undefined, options: {
|
|
371
376
|
response: string;
|
|
372
377
|
agentId: string;
|
|
373
378
|
callId: string;
|
|
374
379
|
originMemberId: string;
|
|
375
|
-
|
|
376
|
-
|
|
380
|
+
callSiteCourse?: CallSiteCourseNo;
|
|
381
|
+
callSiteGenseq?: CallSiteGenseqNo;
|
|
377
382
|
carryoverContent?: string;
|
|
378
383
|
contentItems?: DialogUserPrompt['contentItems'];
|
|
379
384
|
sessionSlug?: string;
|
|
@@ -392,7 +397,6 @@ export declare abstract class Dialog {
|
|
|
392
397
|
sayingStart(): Promise<void>;
|
|
393
398
|
sayingChunk(chunk: string): Promise<void>;
|
|
394
399
|
sayingFinish(): Promise<void>;
|
|
395
|
-
funcCallRequested(funcId: string, funcName: string, argumentsStr: string): Promise<void>;
|
|
396
400
|
webSearchCall(payload: {
|
|
397
401
|
source?: WebSearchCallSource;
|
|
398
402
|
phase: 'added' | 'done';
|
|
@@ -428,63 +432,55 @@ export declare abstract class Dialog {
|
|
|
428
432
|
persistTellaskCall(id: string, name: TellaskCallRecordName, rawArgumentsText: string, genseq: number, options?: {
|
|
429
433
|
deliveryMode?: 'tellask_call_start' | 'func_call_requested';
|
|
430
434
|
}): Promise<void>;
|
|
431
|
-
persistFunctionCallResultPair(id: string, name: string, rawArgumentsText: string, genseq: number, result: FuncResultMsg): Promise<void>;
|
|
432
|
-
persistTellaskCallResultPair(args: {
|
|
433
|
-
id: string;
|
|
434
|
-
name: TellaskCallRecordName;
|
|
435
|
-
rawArgumentsText: string;
|
|
436
|
-
genseq: number;
|
|
437
|
-
result: TellaskResultMsg | FuncResultMsg;
|
|
438
|
-
deliveryMode: 'tellask_call_start' | 'func_call_requested';
|
|
439
|
-
}): Promise<void>;
|
|
440
435
|
/**
|
|
441
|
-
* Post
|
|
442
|
-
* Phase 14: No wait - emit immediately with virtual gen markers for Type C
|
|
436
|
+
* Post sideDialog completion response to this dialog.
|
|
437
|
+
* Phase 14: No wait - emit immediately with virtual gen markers for Type C sideDialogs
|
|
443
438
|
*/
|
|
444
|
-
|
|
439
|
+
postSideDialogResponse(sideDialogId: DialogID, response: string): Promise<void>;
|
|
445
440
|
}
|
|
446
441
|
/**
|
|
447
|
-
*
|
|
448
|
-
* Stores the
|
|
442
|
+
* SideDialog - A sideDialog created by a MainDialog for autonomous tellask Side Dialog work.
|
|
443
|
+
* Stores the main dialog for registry and lookup, and resolves its effective askerDialog dynamically.
|
|
449
444
|
*/
|
|
450
|
-
export declare class
|
|
451
|
-
readonly
|
|
445
|
+
export declare class SideDialog extends Dialog {
|
|
446
|
+
readonly mainDialog: MainDialog;
|
|
452
447
|
readonly sessionSlug?: string;
|
|
453
|
-
|
|
454
|
-
protected readonly _supdialog: Dialog;
|
|
448
|
+
askerStack: DialogAskerStackState;
|
|
455
449
|
private _fbrConclusionToolsEnabled;
|
|
456
|
-
constructor(dlgStore: DialogStore,
|
|
457
|
-
get
|
|
450
|
+
constructor(dlgStore: DialogStore, mainDialog: MainDialog, taskDocPath: string, id: DialogID | undefined, agentId: string, askerStack: DialogAskerStackState, sessionSlug?: string, initialState?: DialogInitParams['initialState']);
|
|
451
|
+
get assignmentFromAsker(): AssignmentFromAsker;
|
|
452
|
+
set assignmentFromAsker(assignment: AssignmentFromAsker);
|
|
453
|
+
get askerDialog(): Dialog;
|
|
458
454
|
get status(): 'running' | 'completed' | 'archived';
|
|
459
455
|
setFbrConclusionToolsEnabled(enabled: boolean): void;
|
|
460
456
|
areFbrConclusionToolsEnabled(): boolean;
|
|
461
457
|
/**
|
|
462
|
-
* Create a
|
|
463
|
-
* The new
|
|
458
|
+
* Create a sideDialog under the same main dialog tree.
|
|
459
|
+
* The new sideDialog's effective askerDialog is resolved via AssignmentFromAsker.askerDialogId.
|
|
464
460
|
*/
|
|
465
|
-
|
|
461
|
+
createSideDialog(targetAgentId: string, mentionList: string[] | undefined, tellaskContent: string, options: {
|
|
466
462
|
callName: 'tellask' | 'tellaskSessionless' | 'freshBootsReasoning';
|
|
467
463
|
originMemberId: string;
|
|
468
|
-
|
|
464
|
+
askerDialogId: string;
|
|
469
465
|
callId: string;
|
|
470
466
|
sessionSlug?: string;
|
|
471
467
|
collectiveTargets?: string[];
|
|
472
468
|
effectiveFbrEffort?: number;
|
|
473
|
-
}): Promise<
|
|
469
|
+
}): Promise<SideDialog>;
|
|
474
470
|
}
|
|
475
471
|
/**
|
|
476
|
-
*
|
|
472
|
+
* MainDialog - The main/main dialog that can create and manage sideDialogs.
|
|
477
473
|
* Uses in-memory registries for O(1) dialog and Type B lookup.
|
|
478
474
|
*/
|
|
479
|
-
export declare class
|
|
475
|
+
export declare class MainDialog extends Dialog {
|
|
480
476
|
private _status;
|
|
481
477
|
private _localRegistry;
|
|
482
|
-
private
|
|
478
|
+
private _sideDialogRegistry;
|
|
483
479
|
constructor(dlgStore: DialogStore, taskDocPath: string, id: DialogID | undefined, agentId: string, initialState?: DialogInitParams['initialState']);
|
|
484
480
|
get status(): 'running' | 'completed' | 'archived';
|
|
485
481
|
setPersistenceStatus(status: 'running' | 'completed' | 'archived'): void;
|
|
486
482
|
/**
|
|
487
|
-
* Register a dialog (self or
|
|
483
|
+
* Register a dialog (self or sideDialog) in the local registry.
|
|
488
484
|
*/
|
|
489
485
|
registerDialog(dialog: Dialog): void;
|
|
490
486
|
/**
|
|
@@ -502,43 +498,43 @@ export declare class RootDialog extends Dialog {
|
|
|
502
498
|
/**
|
|
503
499
|
* Generate a registry key from agentId and sessionSlug.
|
|
504
500
|
*/
|
|
505
|
-
static
|
|
501
|
+
static makeSideDialogKey(agentId: string, sessionSlug: string): string;
|
|
506
502
|
/**
|
|
507
|
-
* Register a Type-B
|
|
503
|
+
* Register a Type-B sideDialog for resumption.
|
|
508
504
|
*/
|
|
509
|
-
|
|
505
|
+
registerSideDialog(sideDialog: SideDialog): void;
|
|
510
506
|
/**
|
|
511
|
-
* Lookup a Type-B
|
|
507
|
+
* Lookup a Type-B sideDialog by agentId and sessionSlug.
|
|
512
508
|
*/
|
|
513
|
-
|
|
509
|
+
lookupSideDialog(agentId: string, sessionSlug: string): SideDialog | undefined;
|
|
514
510
|
/**
|
|
515
|
-
* Remove a Type-B
|
|
511
|
+
* Remove a Type-B sideDialog from registry.
|
|
516
512
|
*/
|
|
517
|
-
|
|
513
|
+
unregisterSideDialog(agentId: string, sessionSlug: string): boolean;
|
|
518
514
|
/**
|
|
519
|
-
* Get all registered
|
|
515
|
+
* Get all registered sideDialogs.
|
|
520
516
|
*/
|
|
521
|
-
|
|
517
|
+
getRegisteredSideDialogs(): SideDialog[];
|
|
522
518
|
/**
|
|
523
|
-
* Create a new
|
|
519
|
+
* Create a new sideDialog for autonomous tellask Side Dialog work.
|
|
524
520
|
*/
|
|
525
|
-
|
|
521
|
+
createSideDialog(targetAgentId: string, mentionList: string[] | undefined, tellaskContent: string, options: {
|
|
526
522
|
callName: 'tellask' | 'tellaskSessionless' | 'freshBootsReasoning';
|
|
527
523
|
originMemberId: string;
|
|
528
|
-
|
|
524
|
+
askerDialogId: string;
|
|
529
525
|
callId: string;
|
|
530
526
|
sessionSlug?: string;
|
|
531
527
|
collectiveTargets?: string[];
|
|
532
528
|
effectiveFbrEffort?: number;
|
|
533
|
-
}): Promise<
|
|
529
|
+
}): Promise<SideDialog>;
|
|
534
530
|
/**
|
|
535
|
-
* Save
|
|
531
|
+
* Save sideDialog registry to disk (registry.yaml).
|
|
536
532
|
*/
|
|
537
|
-
|
|
533
|
+
saveSideDialogRegistry(): Promise<void>;
|
|
538
534
|
/**
|
|
539
|
-
* Load
|
|
535
|
+
* Load sideDialog registry from disk (registry.yaml).
|
|
540
536
|
*/
|
|
541
|
-
|
|
537
|
+
loadSideDialogRegistry(): Promise<void>;
|
|
542
538
|
}
|
|
543
539
|
/**
|
|
544
540
|
* The UI showing a dialog in realtime
|
|
@@ -549,21 +545,21 @@ export declare abstract class DialogStore {
|
|
|
549
545
|
*
|
|
550
546
|
* impl here serves for demo purpose only
|
|
551
547
|
*
|
|
552
|
-
* @param
|
|
548
|
+
* @param askerDialog
|
|
553
549
|
* @param targetAgentId
|
|
554
550
|
* @param mentionList
|
|
555
551
|
* @param tellaskContent
|
|
556
552
|
* @returns
|
|
557
553
|
*/
|
|
558
|
-
|
|
554
|
+
createSideDialog(askerDialog: Dialog, targetAgentId: string, mentionList: string[] | undefined, tellaskContent: string, options: {
|
|
559
555
|
callName: 'tellask' | 'tellaskSessionless' | 'freshBootsReasoning';
|
|
560
556
|
originMemberId: string;
|
|
561
|
-
|
|
557
|
+
askerDialogId: string;
|
|
562
558
|
callId: string;
|
|
563
559
|
sessionSlug?: string;
|
|
564
560
|
collectiveTargets?: string[];
|
|
565
561
|
effectiveFbrEffort?: number;
|
|
566
|
-
}): Promise<
|
|
562
|
+
}): Promise<SideDialog>;
|
|
567
563
|
/**
|
|
568
564
|
* Receive and handle LLM generation streams (Markdown stream + tellask call stream)
|
|
569
565
|
*/
|
|
@@ -593,14 +589,15 @@ export declare abstract class DialogStore {
|
|
|
593
589
|
*/
|
|
594
590
|
loadQuestions4Human(_dialogId: DialogID, _status: 'running' | 'completed' | 'archived'): Promise<HumanQuestion[]>;
|
|
595
591
|
loadDialogMetadata(_dialogId: DialogID, _status: 'running' | 'completed' | 'archived'): Promise<DialogMetadataFile | null>;
|
|
596
|
-
|
|
597
|
-
|
|
592
|
+
loadSideDialogAssignmentFromAsker(_dialogId: DialogID, _status: 'running' | 'completed' | 'archived'): Promise<AssignmentFromAsker | null>;
|
|
593
|
+
loadPendingSideDialogs(_dialogId: DialogID, _status: 'running' | 'completed' | 'archived'): Promise<PendingSideDialog[]>;
|
|
594
|
+
saveSideDialogRegistry(_dialog: MainDialog, _mainDialogId: DialogID, _entries: Array<{
|
|
598
595
|
key: string;
|
|
599
|
-
|
|
596
|
+
sideDialogId: DialogID;
|
|
600
597
|
agentId: string;
|
|
601
598
|
sessionSlug?: string;
|
|
602
599
|
}>, _status: 'running' | 'completed' | 'archived'): Promise<void>;
|
|
603
|
-
|
|
600
|
+
loadSideDialogRegistry(_mainDialog: MainDialog, _status: 'running' | 'completed' | 'archived'): Promise<void>;
|
|
604
601
|
/**
|
|
605
602
|
* Clear Questions for Human state in storage
|
|
606
603
|
*/
|
|
@@ -612,7 +609,6 @@ export declare abstract class DialogStore {
|
|
|
612
609
|
sessionSlug?: string;
|
|
613
610
|
tellaskContent: string;
|
|
614
611
|
}): Promise<void>;
|
|
615
|
-
funcCallRequested(_dialog: Dialog, _funcId: string, _funcName: string, _argumentsStr: string): Promise<void>;
|
|
616
612
|
webSearchCall(_dialog: Dialog, _payload: {
|
|
617
613
|
source?: WebSearchCallSource;
|
|
618
614
|
phase: 'added' | 'done';
|
|
@@ -662,15 +658,6 @@ export declare abstract class DialogStore {
|
|
|
662
658
|
persistTellaskCall(_dialog: Dialog, _id: string, _name: TellaskCallRecordName, _rawArgumentsText: string, _genseq: number, _options?: {
|
|
663
659
|
deliveryMode?: 'tellask_call_start' | 'func_call_requested';
|
|
664
660
|
}): Promise<void>;
|
|
665
|
-
persistFunctionCallResultPair(_dialog: Dialog, _id: string, _name: string, _rawArgumentsText: string, _genseq: number, _result: FuncResultMsg): Promise<void>;
|
|
666
|
-
persistTellaskCallResultPair(_dialog: Dialog, _args: {
|
|
667
|
-
id: string;
|
|
668
|
-
name: TellaskCallRecordName;
|
|
669
|
-
rawArgumentsText: string;
|
|
670
|
-
genseq: number;
|
|
671
|
-
result: TellaskResultMsg | FuncResultMsg;
|
|
672
|
-
deliveryMode: 'tellask_call_start' | 'func_call_requested';
|
|
673
|
-
}): Promise<void>;
|
|
674
661
|
/**
|
|
675
662
|
* Start a new course in storage
|
|
676
663
|
*/
|