dominds 1.4.2 → 1.5.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/README.md +24 -0
- package/README.zh.md +24 -0
- package/dist/apps/app-json.js +38 -3
- package/dist/apps/dialog-run-controls.js +4 -0
- package/dist/apps/enabled-apps.js +8 -1
- package/dist/apps/installed-file.js +207 -0
- package/dist/apps/run-app-json.js +6 -6
- package/dist/apps/runtime-port.js +91 -0
- package/dist/apps/runtime.js +316 -68
- package/dist/apps-host/client.js +153 -3
- package/dist/apps-host/host.js +339 -2
- package/dist/apps-host/ipc-types.js +215 -30
- package/dist/cli/install.js +21 -1
- package/dist/dialog-fork.js +609 -0
- package/dist/dialog.js +2 -2
- package/dist/docs/agent-priming.md +38 -0
- package/dist/docs/agent-priming.zh.md +34 -0
- package/dist/docs/app-constitution.md +153 -2
- package/dist/docs/app-constitution.zh.md +153 -2
- package/dist/docs/dialog-persistence.md +31 -0
- package/dist/docs/dialog-persistence.zh.md +31 -0
- package/dist/docs/dialog-system.md +29 -0
- package/dist/docs/dialog-system.zh.md +29 -0
- package/dist/docs/kernel-app-architecture.md +286 -0
- package/dist/docs/kernel-app-architecture.zh.md +285 -0
- package/dist/llm/defaults.yaml +16 -0
- package/dist/llm/driver-entry.js +28 -0
- package/dist/llm/driver-v2/context-health.js +121 -0
- package/dist/llm/driver-v2/context.js +56 -0
- package/dist/llm/driver-v2/core.js +1545 -0
- package/dist/llm/driver-v2/index.js +26 -0
- package/dist/llm/driver-v2/orchestrator.js +158 -0
- package/dist/llm/driver-v2/policy.js +129 -0
- package/dist/llm/driver-v2/restore-dialog-hierarchy.js +73 -0
- package/dist/llm/driver-v2/round.js +366 -0
- package/dist/llm/driver-v2/runtime-utils.js +365 -0
- package/dist/llm/driver-v2/saying-events.js +20 -0
- package/dist/llm/driver-v2/subdialog-txn.js +42 -0
- package/dist/llm/driver-v2/supdialog-response.js +400 -0
- package/dist/llm/driver-v2/tellask-bridge.js +1148 -0
- package/dist/llm/driver-v2/types.js +10 -0
- package/dist/llm/driver-v2-ref-only/context-health.js +121 -0
- package/dist/llm/driver-v2-ref-only/context.js +17 -0
- package/dist/llm/driver-v2-ref-only/core.js +1710 -0
- package/dist/llm/driver-v2-ref-only/index.js +26 -0
- package/dist/llm/driver-v2-ref-only/orchestrator.js +158 -0
- package/dist/llm/driver-v2-ref-only/policy.js +129 -0
- package/dist/llm/driver-v2-ref-only/restore-dialog-hierarchy.js +73 -0
- package/dist/llm/driver-v2-ref-only/round.js +366 -0
- package/dist/llm/driver-v2-ref-only/runtime-utils.js +473 -0
- package/dist/llm/driver-v2-ref-only/saying-events.js +18 -0
- package/dist/llm/driver-v2-ref-only/subdialog-txn.js +42 -0
- package/dist/llm/driver-v2-ref-only/supdialog-response.js +453 -0
- package/dist/llm/driver-v2-ref-only/tellask-bridge.js +1178 -0
- package/dist/llm/driver-v2-ref-only/types.js +10 -0
- package/dist/llm/gen/anthropic.js +68 -15
- package/dist/llm/gen/codex.js +59 -10
- package/dist/llm/gen/openai-compatible.js +38 -9
- package/dist/llm/gen/openai.js +58 -11
- package/dist/llm/gen/tool-output-limit.js +50 -0
- package/dist/llm/kernel-driver/subdialog.js +23 -12
- package/dist/llm/kernel-driver/tellask-special.js +20 -4
- package/dist/minds/load.js +7 -0
- package/dist/persistence.js +216 -30
- package/dist/priming.js +171 -18
- package/dist/server/api-routes.js +82 -0
- package/dist/server/setup-routes.js +15 -0
- package/dist/shared/types/storage.js +77 -0
- package/dist/static/assets/{_basePickBy-B2o4z1Hf.js → _basePickBy-B-A5XrWM.js} +3 -3
- package/dist/static/assets/{_basePickBy-B2o4z1Hf.js.map → _basePickBy-B-A5XrWM.js.map} +1 -1
- package/dist/static/assets/{_baseUniq-CLmcxjdl.js → _baseUniq-BANLb0cu.js} +2 -2
- package/dist/static/assets/{_baseUniq-CLmcxjdl.js.map → _baseUniq-BANLb0cu.js.map} +1 -1
- package/dist/static/assets/{arc-CymD_KN7.js → arc-CYZYnojf.js} +2 -2
- package/dist/static/assets/{arc-CymD_KN7.js.map → arc-CYZYnojf.js.map} +1 -1
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-DJQfSJUH.js → architectureDiagram-VXUJARFQ-Cxf4pmYG.js} +7 -7
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-DJQfSJUH.js.map → architectureDiagram-VXUJARFQ-Cxf4pmYG.js.map} +1 -1
- package/dist/static/assets/{blockDiagram-VD42YOAC-pHVz60D0.js → blockDiagram-VD42YOAC-wvs0G30c.js} +7 -7
- package/dist/static/assets/{blockDiagram-VD42YOAC-pHVz60D0.js.map → blockDiagram-VD42YOAC-wvs0G30c.js.map} +1 -1
- package/dist/static/assets/{c4Diagram-YG6GDRKO-B0WnCfAT.js → c4Diagram-YG6GDRKO-BKFNexn4.js} +3 -3
- package/dist/static/assets/{c4Diagram-YG6GDRKO-B0WnCfAT.js.map → c4Diagram-YG6GDRKO-BKFNexn4.js.map} +1 -1
- package/dist/static/assets/{channel-CX9BlKil.js → channel-_1qpxJWy.js} +2 -2
- package/dist/static/assets/{channel-CX9BlKil.js.map → channel-_1qpxJWy.js.map} +1 -1
- package/dist/static/assets/{chunk-4BX2VUAB-lXArRj3o.js → chunk-4BX2VUAB-BIdC0phm.js} +2 -2
- package/dist/static/assets/{chunk-4BX2VUAB-lXArRj3o.js.map → chunk-4BX2VUAB-BIdC0phm.js.map} +1 -1
- package/dist/static/assets/{chunk-55IACEB6-CdqwynH9.js → chunk-55IACEB6-BNvGenQ9.js} +2 -2
- package/dist/static/assets/{chunk-55IACEB6-CdqwynH9.js.map → chunk-55IACEB6-BNvGenQ9.js.map} +1 -1
- package/dist/static/assets/{chunk-B4BG7PRW-Y-uXcJst.js → chunk-B4BG7PRW-jmf-1Wv7.js} +5 -5
- package/dist/static/assets/{chunk-B4BG7PRW-Y-uXcJst.js.map → chunk-B4BG7PRW-jmf-1Wv7.js.map} +1 -1
- package/dist/static/assets/{chunk-DI55MBZ5-C5xSbRST.js → chunk-DI55MBZ5-nmEmcikR.js} +4 -4
- package/dist/static/assets/{chunk-DI55MBZ5-C5xSbRST.js.map → chunk-DI55MBZ5-nmEmcikR.js.map} +1 -1
- package/dist/static/assets/{chunk-FMBD7UC4-5uefwCjI.js → chunk-FMBD7UC4-kGysaq_j.js} +2 -2
- package/dist/static/assets/{chunk-FMBD7UC4-5uefwCjI.js.map → chunk-FMBD7UC4-kGysaq_j.js.map} +1 -1
- package/dist/static/assets/{chunk-QN33PNHL-DzWVcvpI.js → chunk-QN33PNHL-8JwMLFIJ.js} +2 -2
- package/dist/static/assets/{chunk-QN33PNHL-DzWVcvpI.js.map → chunk-QN33PNHL-8JwMLFIJ.js.map} +1 -1
- package/dist/static/assets/{chunk-QZHKN3VN-BrrvAZdP.js → chunk-QZHKN3VN-DZleEj00.js} +2 -2
- package/dist/static/assets/{chunk-QZHKN3VN-BrrvAZdP.js.map → chunk-QZHKN3VN-DZleEj00.js.map} +1 -1
- package/dist/static/assets/{chunk-TZMSLE5B-DyKOlPTY.js → chunk-TZMSLE5B-CXxl_uqH.js} +2 -2
- package/dist/static/assets/{chunk-TZMSLE5B-DyKOlPTY.js.map → chunk-TZMSLE5B-CXxl_uqH.js.map} +1 -1
- package/dist/static/assets/{classDiagram-2ON5EDUG-FCrnlCWC.js → classDiagram-2ON5EDUG-C-7R0QB6.js} +6 -6
- package/dist/static/assets/{classDiagram-2ON5EDUG-FCrnlCWC.js.map → classDiagram-2ON5EDUG-C-7R0QB6.js.map} +1 -1
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-FCrnlCWC.js → classDiagram-v2-WZHVMYZB-C-7R0QB6.js} +6 -6
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-FCrnlCWC.js.map → classDiagram-v2-WZHVMYZB-C-7R0QB6.js.map} +1 -1
- package/dist/static/assets/{clone-BlI81KqZ.js → clone-BwOKYSj8.js} +2 -2
- package/dist/static/assets/{clone-BlI81KqZ.js.map → clone-BwOKYSj8.js.map} +1 -1
- package/dist/static/assets/{cose-bilkent-S5V4N54A-yM7S2atz.js → cose-bilkent-S5V4N54A-BCBalM7p.js} +2 -2
- package/dist/static/assets/{cose-bilkent-S5V4N54A-yM7S2atz.js.map → cose-bilkent-S5V4N54A-BCBalM7p.js.map} +1 -1
- package/dist/static/assets/{dagre-6UL2VRFP-BcweuZHt.js → dagre-6UL2VRFP-uV2ekQoj.js} +7 -7
- package/dist/static/assets/{dagre-6UL2VRFP-BcweuZHt.js.map → dagre-6UL2VRFP-uV2ekQoj.js.map} +1 -1
- package/dist/static/assets/{diagram-PSM6KHXK-D4-QwLW1.js → diagram-PSM6KHXK-D-ZMog1-.js} +8 -8
- package/dist/static/assets/{diagram-PSM6KHXK-D4-QwLW1.js.map → diagram-PSM6KHXK-D-ZMog1-.js.map} +1 -1
- package/dist/static/assets/{diagram-QEK2KX5R-BVbuejJn.js → diagram-QEK2KX5R-BThSELUH.js} +7 -7
- package/dist/static/assets/{diagram-QEK2KX5R-BVbuejJn.js.map → diagram-QEK2KX5R-BThSELUH.js.map} +1 -1
- package/dist/static/assets/{diagram-S2PKOQOG-pB6N6Tq_.js → diagram-S2PKOQOG-Di-YN5cd.js} +7 -7
- package/dist/static/assets/{diagram-S2PKOQOG-pB6N6Tq_.js.map → diagram-S2PKOQOG-Di-YN5cd.js.map} +1 -1
- package/dist/static/assets/{erDiagram-Q2GNP2WA-DLKmthuw.js → erDiagram-Q2GNP2WA-lBZ9DITn.js} +5 -5
- package/dist/static/assets/{erDiagram-Q2GNP2WA-DLKmthuw.js.map → erDiagram-Q2GNP2WA-lBZ9DITn.js.map} +1 -1
- package/dist/static/assets/{flowDiagram-NV44I4VS-BsBhWukh.js → flowDiagram-NV44I4VS-C_60PNQR.js} +6 -6
- package/dist/static/assets/{flowDiagram-NV44I4VS-BsBhWukh.js.map → flowDiagram-NV44I4VS-C_60PNQR.js.map} +1 -1
- package/dist/static/assets/{ganttDiagram-JELNMOA3-Debz-J-C.js → ganttDiagram-JELNMOA3-Dvqq-VHJ.js} +3 -3
- package/dist/static/assets/{ganttDiagram-JELNMOA3-Debz-J-C.js.map → ganttDiagram-JELNMOA3-Dvqq-VHJ.js.map} +1 -1
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-BnAPFBGR.js → gitGraphDiagram-V2S2FVAM-BTj8orRe.js} +8 -8
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-BnAPFBGR.js.map → gitGraphDiagram-V2S2FVAM-BTj8orRe.js.map} +1 -1
- package/dist/static/assets/{graph-DbzWiBNK.js → graph-BqCzR2Nl.js} +3 -3
- package/dist/static/assets/{graph-DbzWiBNK.js.map → graph-BqCzR2Nl.js.map} +1 -1
- package/dist/static/assets/{index-B-8J28g7.js → index-DrTqAfFy.js} +386 -201
- package/dist/static/assets/index-DrTqAfFy.js.map +1 -0
- package/dist/static/assets/{infoDiagram-HS3SLOUP-CZ5hWoxV.js → infoDiagram-HS3SLOUP-DlC6wsrv.js} +6 -6
- package/dist/static/assets/{infoDiagram-HS3SLOUP-CZ5hWoxV.js.map → infoDiagram-HS3SLOUP-DlC6wsrv.js.map} +1 -1
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-CKN3oSxk.js → journeyDiagram-XKPGCS4Q-Dg_RgtQX.js} +5 -5
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-CKN3oSxk.js.map → journeyDiagram-XKPGCS4Q-Dg_RgtQX.js.map} +1 -1
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-BQCMklfJ.js → kanban-definition-3W4ZIXB7-DuGS3lId.js} +3 -3
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-BQCMklfJ.js.map → kanban-definition-3W4ZIXB7-DuGS3lId.js.map} +1 -1
- package/dist/static/assets/{layout-C5B58szc.js → layout-FDz2bstZ.js} +5 -5
- package/dist/static/assets/{layout-C5B58szc.js.map → layout-FDz2bstZ.js.map} +1 -1
- package/dist/static/assets/{linear-_32fut6G.js → linear-CzsdvPGb.js} +2 -2
- package/dist/static/assets/{linear-_32fut6G.js.map → linear-CzsdvPGb.js.map} +1 -1
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-C_goMzjx.js → mindmap-definition-VGOIOE7T-WsAF5UNp.js} +4 -4
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-C_goMzjx.js.map → mindmap-definition-VGOIOE7T-WsAF5UNp.js.map} +1 -1
- package/dist/static/assets/{pieDiagram-ADFJNKIX-BQ2n0cOB.js → pieDiagram-ADFJNKIX-DJpRJ5ei.js} +8 -8
- package/dist/static/assets/{pieDiagram-ADFJNKIX-BQ2n0cOB.js.map → pieDiagram-ADFJNKIX-DJpRJ5ei.js.map} +1 -1
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BLg7_neg.js → quadrantDiagram-AYHSOK5B-CMyIzTkY.js} +3 -3
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BLg7_neg.js.map → quadrantDiagram-AYHSOK5B-CMyIzTkY.js.map} +1 -1
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DwkJt0zi.js → requirementDiagram-UZGBJVZJ-D_yqVXGu.js} +4 -4
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-DwkJt0zi.js.map → requirementDiagram-UZGBJVZJ-D_yqVXGu.js.map} +1 -1
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DmxmatUB.js → sankeyDiagram-TZEHDZUN-D4-cF724.js} +2 -2
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DmxmatUB.js.map → sankeyDiagram-TZEHDZUN-D4-cF724.js.map} +1 -1
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-KHU_eApU.js → sequenceDiagram-WL72ISMW-B7J3gWYN.js} +4 -4
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-KHU_eApU.js.map → sequenceDiagram-WL72ISMW-B7J3gWYN.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-B3DBCxAL.js → stateDiagram-FKZM4ZOC-DwEYYCcu.js} +9 -9
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-B3DBCxAL.js.map → stateDiagram-FKZM4ZOC-DwEYYCcu.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-C-uIk7gh.js → stateDiagram-v2-4FDKWEC3-D4LOOQV5.js} +5 -5
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-C-uIk7gh.js.map → stateDiagram-v2-4FDKWEC3-D4LOOQV5.js.map} +1 -1
- package/dist/static/assets/{timeline-definition-IT6M3QCI-SysEcQCC.js → timeline-definition-IT6M3QCI-CyG-TJ_A.js} +3 -3
- package/dist/static/assets/{timeline-definition-IT6M3QCI-SysEcQCC.js.map → timeline-definition-IT6M3QCI-CyG-TJ_A.js.map} +1 -1
- package/dist/static/assets/{treemap-GDKQZRPO-d0AbKEc4.js → treemap-GDKQZRPO-yY4GiKmU.js} +5 -5
- package/dist/static/assets/{treemap-GDKQZRPO-d0AbKEc4.js.map → treemap-GDKQZRPO-yY4GiKmU.js.map} +1 -1
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-CmSQMxUh.js → xychartDiagram-PRI3JC2R-5TYN_q15.js} +3 -3
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-CmSQMxUh.js.map → xychartDiagram-PRI3JC2R-5TYN_q15.js.map} +1 -1
- package/dist/static/index.html +1 -1
- package/dist/team.js +33 -4
- package/dist/tools/app-reminders.js +280 -0
- package/dist/tools/prompts/memory/en/errors.md +155 -0
- package/dist/tools/prompts/memory/en/index.md +47 -0
- package/dist/tools/prompts/memory/en/principles.md +79 -0
- package/dist/tools/prompts/memory/en/scenarios.md +174 -0
- package/dist/tools/prompts/memory/en/tools.md +154 -0
- package/dist/tools/prompts/memory/zh/errors.md +155 -0
- package/dist/tools/prompts/memory/zh/index.md +47 -0
- package/dist/tools/prompts/memory/zh/principles.md +79 -0
- package/dist/tools/prompts/memory/zh/scenarios.md +174 -0
- package/dist/tools/prompts/memory/zh/tools.md +154 -0
- package/dist/tools/ripgrep.js +197 -63
- package/package.json +2 -2
- package/dist/static/assets/index-B-8J28g7.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-uV2ekQoj.js","assets/graph-BqCzR2Nl.js","assets/_baseUniq-BANLb0cu.js","assets/layout-FDz2bstZ.js","assets/_basePickBy-B-A5XrWM.js","assets/clone-BwOKYSj8.js","assets/cose-bilkent-S5V4N54A-BCBalM7p.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-YG6GDRKO-BKFNexn4.js","assets/chunk-TZMSLE5B-CXxl_uqH.js","assets/flowDiagram-NV44I4VS-C_60PNQR.js","assets/chunk-FMBD7UC4-kGysaq_j.js","assets/chunk-55IACEB6-BNvGenQ9.js","assets/chunk-QN33PNHL-8JwMLFIJ.js","assets/channel-_1qpxJWy.js","assets/erDiagram-Q2GNP2WA-lBZ9DITn.js","assets/gitGraphDiagram-V2S2FVAM-BTj8orRe.js","assets/chunk-4BX2VUAB-BIdC0phm.js","assets/chunk-QZHKN3VN-DZleEj00.js","assets/treemap-GDKQZRPO-yY4GiKmU.js","assets/ganttDiagram-JELNMOA3-Dvqq-VHJ.js","assets/linear-CzsdvPGb.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-HS3SLOUP-DlC6wsrv.js","assets/pieDiagram-ADFJNKIX-DJpRJ5ei.js","assets/arc-CYZYnojf.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-AYHSOK5B-CMyIzTkY.js","assets/xychartDiagram-PRI3JC2R-5TYN_q15.js","assets/requirementDiagram-UZGBJVZJ-D_yqVXGu.js","assets/sequenceDiagram-WL72ISMW-B7J3gWYN.js","assets/classDiagram-2ON5EDUG-C-7R0QB6.js","assets/chunk-B4BG7PRW-jmf-1Wv7.js","assets/classDiagram-v2-WZHVMYZB-C-7R0QB6.js","assets/stateDiagram-FKZM4ZOC-DwEYYCcu.js","assets/chunk-DI55MBZ5-nmEmcikR.js","assets/stateDiagram-v2-4FDKWEC3-D4LOOQV5.js","assets/journeyDiagram-XKPGCS4Q-Dg_RgtQX.js","assets/timeline-definition-IT6M3QCI-CyG-TJ_A.js","assets/mindmap-definition-VGOIOE7T-WsAF5UNp.js","assets/kanban-definition-3W4ZIXB7-DuGS3lId.js","assets/sankeyDiagram-TZEHDZUN-D4-cF724.js","assets/diagram-S2PKOQOG-Di-YN5cd.js","assets/diagram-QEK2KX5R-BThSELUH.js","assets/blockDiagram-VD42YOAC-wvs0G30c.js","assets/architectureDiagram-VXUJARFQ-Cxf4pmYG.js","assets/diagram-PSM6KHXK-D-ZMog1-.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var __defProp = Object.defineProperty;
|
|
3
3
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
4
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
@@ -180,6 +180,7 @@ function getUiStrings(language) {
|
|
|
180
180
|
q4hAnswerCallSitesLabel: "本次回答对应提问点:",
|
|
181
181
|
q4hOpenInNewTabTitle: "新标签打开",
|
|
182
182
|
q4hCopyLinkTitle: "复制链接",
|
|
183
|
+
forkDialogTitle: "Fork 对话",
|
|
183
184
|
q4hInvalidDialogToast: "对话标识无效:selfId/rootId 必须是字符串。",
|
|
184
185
|
q4hDeclareDeadOnlySidelineToast: "只有支线对话支持“宣布卡死”。",
|
|
185
186
|
q4hDeclareDeadOnlyInterruptedToast: "只有已中断的对话支持“宣布卡死”。",
|
|
@@ -211,6 +212,7 @@ function getUiStrings(language) {
|
|
|
211
212
|
invalidMessageFormatToast: "收到无效消息格式,请刷新页面。",
|
|
212
213
|
linkCopiedToast: "链接已复制。",
|
|
213
214
|
linkCopyFailedToast: "复制链接失败。",
|
|
215
|
+
forkDialogFailedToast: "Fork 对话失败。",
|
|
214
216
|
toastDefaultNotice: "通知",
|
|
215
217
|
dialogCreatedToastPrefix: "已创建对话:",
|
|
216
218
|
dialogLoadedToast: "对话加载成功。",
|
|
@@ -500,6 +502,7 @@ function getUiStrings(language) {
|
|
|
500
502
|
q4hAnswerCallSitesLabel: "Answer applies to call sites:",
|
|
501
503
|
q4hOpenInNewTabTitle: "Open in new tab",
|
|
502
504
|
q4hCopyLinkTitle: "Copy link",
|
|
505
|
+
forkDialogTitle: "Fork dialog",
|
|
503
506
|
q4hInvalidDialogToast: "Invalid dialog id: selfId/rootId must be strings.",
|
|
504
507
|
q4hDeclareDeadOnlySidelineToast: "Declare dead is available only for sideline dialogs.",
|
|
505
508
|
q4hDeclareDeadOnlyInterruptedToast: "Declare dead is available only when the dialog is interrupted.",
|
|
@@ -531,6 +534,7 @@ function getUiStrings(language) {
|
|
|
531
534
|
invalidMessageFormatToast: "Received invalid message format. Please refresh the page.",
|
|
532
535
|
linkCopiedToast: "Link copied.",
|
|
533
536
|
linkCopyFailedToast: "Failed to copy link.",
|
|
537
|
+
forkDialogFailedToast: "Failed to fork dialog.",
|
|
534
538
|
toastDefaultNotice: "Notice",
|
|
535
539
|
dialogCreatedToastPrefix: "Dialog created:",
|
|
536
540
|
dialogLoadedToast: "Dialog loaded successfully.",
|
|
@@ -1107,6 +1111,12 @@ class ApiClient {
|
|
|
1107
1111
|
body: request
|
|
1108
1112
|
});
|
|
1109
1113
|
}
|
|
1114
|
+
async forkDialog(rootDialogId, request) {
|
|
1115
|
+
return this.request(`/api/dialogs/${encodeURIComponent(rootDialogId)}/fork`, {
|
|
1116
|
+
method: "POST",
|
|
1117
|
+
body: request
|
|
1118
|
+
});
|
|
1119
|
+
}
|
|
1110
1120
|
async listPrimingScripts(agentId) {
|
|
1111
1121
|
const query = new URLSearchParams({
|
|
1112
1122
|
agentId,
|
|
@@ -1879,6 +1889,9 @@ const ICON_MASK_URLS = {
|
|
|
1879
1889
|
copy: asMaskUrl(
|
|
1880
1890
|
'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"/></svg>'
|
|
1881
1891
|
),
|
|
1892
|
+
fork: asMaskUrl(
|
|
1893
|
+
'<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 10 16"><path d="M8 1a1.993 1.993 0 0 0-1 3.72V6L5 8 3 6V4.72A1.993 1.993 0 0 0 2 1a1.993 1.993 0 0 0-1 3.72V6.5l3 3v1.78A1.993 1.993 0 0 0 5 15a1.993 1.993 0 0 0 1-3.72V9.5l3-3V4.72A1.993 1.993 0 0 0 8 1ZM2 4.2C1.34 4.2.8 3.65.8 3 .8 2.35 1.35 1.8 2 1.8c.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2Zm3 10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2Zm3-10c-.66 0-1.2-.55-1.2-1.2 0-.65.55-1.2 1.2-1.2.65 0 1.2.55 1.2 1.2 0 .65-.55 1.2-1.2 1.2Z"/></svg>'
|
|
1894
|
+
),
|
|
1882
1895
|
play: asMaskUrl(
|
|
1883
1896
|
'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path d="M4.5 3v18l15.5-9z"/></svg>'
|
|
1884
1897
|
),
|
|
@@ -4220,6 +4233,30 @@ class CreateDialogFlowController {
|
|
|
4220
4233
|
}
|
|
4221
4234
|
}
|
|
4222
4235
|
const mannedToolIcon = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20122.88%20120.92'%20style='enable-background:new%200%200%20122.88%20120.92'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e.st0{fill-rule:evenodd;clip-rule:evenodd;}%3c/style%3e%3cg%20transform='scale(0.8)%20translate(15,%2015)'%3e%3cpath%20class='st0'%20d='M117.32,101.23c0.8-2.32,1.23-4.81,1.23-7.39c0-6.28-2.55-11.97-6.67-16.09c-4.12-4.12-9.81-6.66-16.09-6.66%20c-6.28,0-11.97,2.55-16.09,6.66c-4.12,4.12-6.66,9.81-6.66,16.09c0,6.28,2.55,11.97,6.66,16.09c4.12,4.12,9.81,6.66,16.09,6.66%20c5.75,0,11-2.13,15.01-5.65C113.74,108.36,116.05,104.93,117.32,101.23L117.32,101.23z%20M86.36,96.38%20c-2.05,0.37-4.05,1.07-5.14,3.79c-0.71,1.76-0.54,3.89,0.35,5.82c2.42-7.38,10.92-3.02,5.45,3.34c4,0.2,6.53-2.6,6.93-6.37%20c0.19-1.78,0.34-2.74,0.73-3.51c0.21-0.42,0.5-0.78,0.89-1.2c1.31-1.44,2.77-2.7,4.2-4.19c2.69-2.81,8.42-0.22,10.61-5.72%20c0.71-1.76,0.54-3.89-0.35-5.82c-2.42,7.38-10.92,3.02-5.45-3.34c-4-0.2-6.53,2.6-6.93,6.37c-0.17,1.66,0.12,3.07-1.72,4.96%20c-1.29,1.29-2.66,2.61-3.99,3.87c-0.52,0.51-0.9,0.81-1.35,1.03c-0.8,0.4-1.78,0.52-4.22,0.95L86.36,96.38L86.36,96.38z%20M86.25,23.86l-0.03,0.09c-6.47-1.21-15.81-1.84-25.66-1.72c-9.96,0.11-20.49,0.98-29.17,2.76l-0.01-0.04%20C23.81-10.65,96.24-5.56,86.25,23.86L86.25,23.86z%20M44.15,62.42c-4.4,3.08-8.99,4.22-13.47,5.05l6.41,18.16h32.89%20c-0.82,2.59-1.27,5.35-1.27,8.21c0,7.48,3.03,14.25,7.93,19.15c4.9,4.9,11.67,7.93,19.15,7.93c7.48,0,14.25-3.03,19.15-7.93%20c5.15-5.15,7.93-11.84,7.93-19.15c0-7.48-3.03-14.25-7.93-19.15c-4.9-4.9-11.67-7.93-19.15-7.93c-2.32,0-4.57,0.29-6.72,0.84%20c-3.97-0.4-8.09-0.72-11.02-2.24c-1.34-0.83-2.51-1.99-3.59-3.46l-0.19-3c1.04-0.85,2.04-1.85,2.89-2.96%20c1.93-2.41,2.67-4.89,3.59-8.04c0.19-0.67,0.37-1.33,0.59-2c1.82-0.19,3.41-2.22,4.37-4.74c0.52-1.41,0.93-3,1.04-4.41%20c0.15-1.48,0-2.85-0.52-3.78c-0.41-0.74-1.04-1.22-1.89-1.3c-0.06-0.74,0.27-2.31,0.72-3.98c-6.13-1.1-15.03-1.67-24.5-1.56%20c-9.72,0.11-19.99,0.95-28.4,2.69l0.82,3.93c-0.63,1.04-0.78,2.67-0.59,4.41c0.19,1.7,0.7,3.48,1.45,4.97%20c0.96,1.89,2.33,3.22,3.93,3.22c0.15,0.44,0.33,0.93,0.48,1.41c1.3,3.82,2.26,6.71,4.59,9.45c0.67,0.82,1.41,1.56,2.19,2.22%20l-0.19,3.37C44.63,62,44.39,62.21,44.15,62.42L44.15,62.42z%20M71.94,60.07c-4.18,2.79-6.73,4.32-12.14,4.19%20c-5.26-0.08-8.01-1.86-12.22-4.52C47.26,77.31,72.37,78.36,71.94,60.07L71.94,60.07z%20M78.21,47.33c0.22-0.78,0.48-1.59,0.78-2.56%20c0.11-0.41,0.52-0.7,0.93-0.63c1.22,0.22,2.45-1.56,3.3-3.71c0.48-1.3,0.85-2.7,0.96-3.96c0.11-1.19,0-2.22-0.33-2.85%20c-0.33-0.61-1.25-0.26-1.93-0.85c-3.51,9.31-34.11,13.52-46.63,0.7c-0.44,0.7-0.52,1.96-0.37,3.37c0.19,1.48,0.63,3.11,1.3,4.41%20c0.78,1.52,1.78,2.56,2.78,2.3c0.41-0.11,0.85,0.11,1,0.52c0.3,0.82,0.48,1.45,0.7,2.07C47.18,65.2,71.84,66.69,78.21,47.33%20L78.21,47.33z%20M28.14,91.38c1.45,0,2.63,1.18,2.63,2.63c0,1.45-1.18,2.63-2.63,2.63c-1.45,0-2.63-1.18-2.63-2.63%20C25.52,92.56,26.69,91.38,28.14,91.38L28.14,91.38z%20M23.25,68.84C14.98,70.72,7.71,74.8,3.63,92.75L0,106.64h19.67V89.45%20c0-2.11,1.72-3.83,3.83-3.83h4.09C27.42,78.97,24.1,71.99,23.25,68.84L23.25,68.84z'/%3e%3c/g%3e%3c/svg%3e";
|
|
4236
|
+
function toAssignmentCourseNumber(value) {
|
|
4237
|
+
if (!Number.isFinite(value) || value <= 0) {
|
|
4238
|
+
throw new Error(`Invalid assignment course number: ${String(value)}`);
|
|
4239
|
+
}
|
|
4240
|
+
return Math.floor(value);
|
|
4241
|
+
}
|
|
4242
|
+
function toAssignmentGenerationSeqNumber(value) {
|
|
4243
|
+
if (!Number.isFinite(value) || value < 0) {
|
|
4244
|
+
throw new Error(`Invalid assignment generation sequence number: ${String(value)}`);
|
|
4245
|
+
}
|
|
4246
|
+
return Math.floor(value);
|
|
4247
|
+
}
|
|
4248
|
+
function toCallerCourseNumber(value) {
|
|
4249
|
+
if (!Number.isFinite(value) || value <= 0) {
|
|
4250
|
+
throw new Error(`Invalid caller course number: ${String(value)}`);
|
|
4251
|
+
}
|
|
4252
|
+
return Math.floor(value);
|
|
4253
|
+
}
|
|
4254
|
+
function toCalleeCourseNumber(value) {
|
|
4255
|
+
if (!Number.isFinite(value) || value <= 0) {
|
|
4256
|
+
throw new Error(`Invalid callee course number: ${String(value)}`);
|
|
4257
|
+
}
|
|
4258
|
+
return Math.floor(value);
|
|
4259
|
+
}
|
|
4223
4260
|
const {
|
|
4224
4261
|
entries,
|
|
4225
4262
|
setPrototypeOf,
|
|
@@ -97231,12 +97268,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
97231
97268
|
registerLayoutLoaders([
|
|
97232
97269
|
{
|
|
97233
97270
|
name: "dagre",
|
|
97234
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-
|
|
97271
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-uV2ekQoj.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
|
|
97235
97272
|
},
|
|
97236
97273
|
...[
|
|
97237
97274
|
{
|
|
97238
97275
|
name: "cose-bilkent",
|
|
97239
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-
|
|
97276
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-BCBalM7p.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
|
|
97240
97277
|
}
|
|
97241
97278
|
]
|
|
97242
97279
|
]);
|
|
@@ -97676,7 +97713,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
97676
97713
|
}, "detector");
|
|
97677
97714
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
97678
97715
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97679
|
-
const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-
|
|
97716
|
+
const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-BKFNexn4.js");
|
|
97680
97717
|
return { diagram: diagram22 };
|
|
97681
97718
|
}, true ? __vite__mapDeps([8,9]) : void 0);
|
|
97682
97719
|
return { id, diagram: diagram2 };
|
|
@@ -97696,7 +97733,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97696
97733
|
}, "detector");
|
|
97697
97734
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
97698
97735
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97699
|
-
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-
|
|
97736
|
+
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-C_60PNQR.js");
|
|
97700
97737
|
return { diagram: diagram22 };
|
|
97701
97738
|
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
97702
97739
|
return { id: id2, diagram: diagram2 };
|
|
@@ -97722,7 +97759,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97722
97759
|
}, "detector");
|
|
97723
97760
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
97724
97761
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97725
|
-
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-
|
|
97762
|
+
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-C_60PNQR.js");
|
|
97726
97763
|
return { diagram: diagram22 };
|
|
97727
97764
|
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
97728
97765
|
return { id: id3, diagram: diagram2 };
|
|
@@ -97739,7 +97776,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
97739
97776
|
}, "detector");
|
|
97740
97777
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
97741
97778
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97742
|
-
const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-
|
|
97779
|
+
const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-lBZ9DITn.js");
|
|
97743
97780
|
return { diagram: diagram22 };
|
|
97744
97781
|
}, true ? __vite__mapDeps([15,12,13,14]) : void 0);
|
|
97745
97782
|
return { id: id4, diagram: diagram2 };
|
|
@@ -97756,7 +97793,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
97756
97793
|
}, "detector");
|
|
97757
97794
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
97758
97795
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97759
|
-
const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-
|
|
97796
|
+
const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-BTj8orRe.js");
|
|
97760
97797
|
return { diagram: diagram22 };
|
|
97761
97798
|
}, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
|
|
97762
97799
|
return { id: id5, diagram: diagram2 };
|
|
@@ -97773,7 +97810,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
97773
97810
|
}, "detector");
|
|
97774
97811
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
97775
97812
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97776
|
-
const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-
|
|
97813
|
+
const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-Dvqq-VHJ.js");
|
|
97777
97814
|
return { diagram: diagram22 };
|
|
97778
97815
|
}, true ? __vite__mapDeps([20,21,22,23]) : void 0);
|
|
97779
97816
|
return { id: id6, diagram: diagram2 };
|
|
@@ -97790,7 +97827,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
97790
97827
|
}, "detector");
|
|
97791
97828
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
97792
97829
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97793
|
-
const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-
|
|
97830
|
+
const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-DlC6wsrv.js");
|
|
97794
97831
|
return { diagram: diagram22 };
|
|
97795
97832
|
}, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
|
|
97796
97833
|
return { id: id7, diagram: diagram2 };
|
|
@@ -97806,7 +97843,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
97806
97843
|
}, "detector");
|
|
97807
97844
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
97808
97845
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97809
|
-
const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-
|
|
97846
|
+
const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-DJpRJ5ei.js");
|
|
97810
97847
|
return { diagram: diagram22 };
|
|
97811
97848
|
}, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
|
|
97812
97849
|
return { id: id8, diagram: diagram2 };
|
|
@@ -97822,7 +97859,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
97822
97859
|
}, "detector");
|
|
97823
97860
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
97824
97861
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97825
|
-
const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-
|
|
97862
|
+
const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-CMyIzTkY.js");
|
|
97826
97863
|
return { diagram: diagram22 };
|
|
97827
97864
|
}, true ? __vite__mapDeps([28,21,22,23]) : void 0);
|
|
97828
97865
|
return { id: id9, diagram: diagram2 };
|
|
@@ -97839,7 +97876,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
97839
97876
|
}, "detector");
|
|
97840
97877
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
97841
97878
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97842
|
-
const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-
|
|
97879
|
+
const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-5TYN_q15.js");
|
|
97843
97880
|
return { diagram: diagram22 };
|
|
97844
97881
|
}, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
|
|
97845
97882
|
return { id: id10, diagram: diagram2 };
|
|
@@ -97856,7 +97893,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
97856
97893
|
}, "detector");
|
|
97857
97894
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
97858
97895
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97859
|
-
const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-
|
|
97896
|
+
const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-D_yqVXGu.js");
|
|
97860
97897
|
return { diagram: diagram22 };
|
|
97861
97898
|
}, true ? __vite__mapDeps([30,12,13]) : void 0);
|
|
97862
97899
|
return { id: id11, diagram: diagram2 };
|
|
@@ -97873,7 +97910,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
97873
97910
|
}, "detector");
|
|
97874
97911
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
97875
97912
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97876
|
-
const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-
|
|
97913
|
+
const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-B7J3gWYN.js");
|
|
97877
97914
|
return { diagram: diagram22 };
|
|
97878
97915
|
}, true ? __vite__mapDeps([31,9,18]) : void 0);
|
|
97879
97916
|
return { id: id12, diagram: diagram2 };
|
|
@@ -97893,7 +97930,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97893
97930
|
}, "detector");
|
|
97894
97931
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
97895
97932
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97896
|
-
const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-
|
|
97933
|
+
const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-C-7R0QB6.js");
|
|
97897
97934
|
return { diagram: diagram22 };
|
|
97898
97935
|
}, true ? __vite__mapDeps([32,33,11,12,13]) : void 0);
|
|
97899
97936
|
return { id: id13, diagram: diagram2 };
|
|
@@ -97913,7 +97950,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97913
97950
|
}, "detector");
|
|
97914
97951
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
97915
97952
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97916
|
-
const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-
|
|
97953
|
+
const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-C-7R0QB6.js");
|
|
97917
97954
|
return { diagram: diagram22 };
|
|
97918
97955
|
}, true ? __vite__mapDeps([34,33,11,12,13]) : void 0);
|
|
97919
97956
|
return { id: id14, diagram: diagram2 };
|
|
@@ -97933,7 +97970,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97933
97970
|
}, "detector");
|
|
97934
97971
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
97935
97972
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97936
|
-
const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-
|
|
97973
|
+
const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-DwEYYCcu.js");
|
|
97937
97974
|
return { diagram: diagram22 };
|
|
97938
97975
|
}, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
|
|
97939
97976
|
return { id: id15, diagram: diagram2 };
|
|
@@ -97956,7 +97993,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97956
97993
|
}, "detector");
|
|
97957
97994
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
97958
97995
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97959
|
-
const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-
|
|
97996
|
+
const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-D4LOOQV5.js");
|
|
97960
97997
|
return { diagram: diagram22 };
|
|
97961
97998
|
}, true ? __vite__mapDeps([37,36,12,13]) : void 0);
|
|
97962
97999
|
return { id: id16, diagram: diagram2 };
|
|
@@ -97973,7 +98010,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
97973
98010
|
}, "detector");
|
|
97974
98011
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
97975
98012
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97976
|
-
const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-
|
|
98013
|
+
const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-Dg_RgtQX.js");
|
|
97977
98014
|
return { diagram: diagram22 };
|
|
97978
98015
|
}, true ? __vite__mapDeps([38,9,11,26]) : void 0);
|
|
97979
98016
|
return { id: id17, diagram: diagram2 };
|
|
@@ -98043,7 +98080,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
98043
98080
|
}, "detector");
|
|
98044
98081
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
98045
98082
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98046
|
-
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-
|
|
98083
|
+
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-C_60PNQR.js");
|
|
98047
98084
|
return { diagram: diagram22 };
|
|
98048
98085
|
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
98049
98086
|
return { id: id18, diagram: diagram2 };
|
|
@@ -98060,7 +98097,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
98060
98097
|
}, "detector");
|
|
98061
98098
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
98062
98099
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98063
|
-
const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-
|
|
98100
|
+
const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-CyG-TJ_A.js");
|
|
98064
98101
|
return { diagram: diagram22 };
|
|
98065
98102
|
}, true ? __vite__mapDeps([39,26]) : void 0);
|
|
98066
98103
|
return { id: id19, diagram: diagram2 };
|
|
@@ -98077,7 +98114,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
98077
98114
|
}, "detector");
|
|
98078
98115
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
98079
98116
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98080
|
-
const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-
|
|
98117
|
+
const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-WsAF5UNp.js");
|
|
98081
98118
|
return { diagram: diagram22 };
|
|
98082
98119
|
}, true ? __vite__mapDeps([40,12,13]) : void 0);
|
|
98083
98120
|
return { id: id20, diagram: diagram2 };
|
|
@@ -98094,7 +98131,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
98094
98131
|
}, "detector");
|
|
98095
98132
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
98096
98133
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98097
|
-
const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-
|
|
98134
|
+
const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-DuGS3lId.js");
|
|
98098
98135
|
return { diagram: diagram22 };
|
|
98099
98136
|
}, true ? __vite__mapDeps([41,11]) : void 0);
|
|
98100
98137
|
return { id: id21, diagram: diagram2 };
|
|
@@ -98111,7 +98148,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
98111
98148
|
}, "detector");
|
|
98112
98149
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
98113
98150
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98114
|
-
const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-
|
|
98151
|
+
const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-D4-cF724.js");
|
|
98115
98152
|
return { diagram: diagram22 };
|
|
98116
98153
|
}, true ? __vite__mapDeps([42,27,22]) : void 0);
|
|
98117
98154
|
return { id: id22, diagram: diagram2 };
|
|
@@ -98128,7 +98165,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
98128
98165
|
}, "detector");
|
|
98129
98166
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
98130
98167
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98131
|
-
const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-
|
|
98168
|
+
const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-Di-YN5cd.js");
|
|
98132
98169
|
return { diagram: diagram22 };
|
|
98133
98170
|
}, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
|
|
98134
98171
|
return { id: id23, diagram: diagram2 };
|
|
@@ -98144,7 +98181,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
98144
98181
|
}, "detector");
|
|
98145
98182
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
98146
98183
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98147
|
-
const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-
|
|
98184
|
+
const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-BThSELUH.js");
|
|
98148
98185
|
return { diagram: diagram22 };
|
|
98149
98186
|
}, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
|
|
98150
98187
|
return { id: id24, diagram: diagram2 };
|
|
@@ -98160,7 +98197,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
98160
98197
|
}, "detector");
|
|
98161
98198
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
98162
98199
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98163
|
-
const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-
|
|
98200
|
+
const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-wvs0G30c.js");
|
|
98164
98201
|
return { diagram: diagram22 };
|
|
98165
98202
|
}, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
|
|
98166
98203
|
return { id: id25, diagram: diagram2 };
|
|
@@ -98177,7 +98214,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
98177
98214
|
}, "detector");
|
|
98178
98215
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
98179
98216
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98180
|
-
const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-
|
|
98217
|
+
const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-Cxf4pmYG.js");
|
|
98181
98218
|
return { diagram: diagram22 };
|
|
98182
98219
|
}, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
|
|
98183
98220
|
return { id: id26, diagram: diagram2 };
|
|
@@ -98194,7 +98231,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
98194
98231
|
}, "detector");
|
|
98195
98232
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
98196
98233
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98197
|
-
const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-
|
|
98234
|
+
const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-D-ZMog1-.js");
|
|
98198
98235
|
return { diagram: diagram22 };
|
|
98199
98236
|
}, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
|
|
98200
98237
|
return { id: id27, diagram: diagram2 };
|
|
@@ -99433,6 +99470,40 @@ class DomindsMarkdownSection extends HTMLElement {
|
|
|
99433
99470
|
if (!customElements.get("dominds-markdown-section")) {
|
|
99434
99471
|
customElements.define("dominds-markdown-section", DomindsMarkdownSection);
|
|
99435
99472
|
}
|
|
99473
|
+
function isObjectRecord$1(value) {
|
|
99474
|
+
return typeof value === "object" && value !== null;
|
|
99475
|
+
}
|
|
99476
|
+
function parsePositiveIntField(value) {
|
|
99477
|
+
const parsed = typeof value === "number" ? value : typeof value === "string" ? Number.parseInt(value, 10) : Number.NaN;
|
|
99478
|
+
if (!Number.isFinite(parsed) || parsed <= 0) return null;
|
|
99479
|
+
return Math.floor(parsed);
|
|
99480
|
+
}
|
|
99481
|
+
function readScrollToCallIdDetail(value) {
|
|
99482
|
+
if (!isObjectRecord$1(value)) return null;
|
|
99483
|
+
const course = parsePositiveIntField(value["course"]);
|
|
99484
|
+
const callId = typeof value["callId"] === "string" ? value["callId"].trim() : "";
|
|
99485
|
+
if (course === null || callId === "") return null;
|
|
99486
|
+
return { course, callId };
|
|
99487
|
+
}
|
|
99488
|
+
function readScrollToGenseqDetail(value) {
|
|
99489
|
+
if (!isObjectRecord$1(value)) return null;
|
|
99490
|
+
const course = parsePositiveIntField(value["course"]);
|
|
99491
|
+
const genseq = parsePositiveIntField(value["genseq"]);
|
|
99492
|
+
if (course === null || genseq === null) return null;
|
|
99493
|
+
return { course, genseq };
|
|
99494
|
+
}
|
|
99495
|
+
function readScrollToCallSiteDetail(value) {
|
|
99496
|
+
if (!isObjectRecord$1(value)) return null;
|
|
99497
|
+
const course = parsePositiveIntField(value["course"]);
|
|
99498
|
+
if (course === null) return null;
|
|
99499
|
+
const callId = typeof value["callId"] === "string" ? value["callId"].trim() : "";
|
|
99500
|
+
if (callId !== "") {
|
|
99501
|
+
return { course, callId };
|
|
99502
|
+
}
|
|
99503
|
+
const messageIndex = parsePositiveIntField(value["messageIndex"]);
|
|
99504
|
+
if (messageIndex === null) return null;
|
|
99505
|
+
return { course, messageIndex };
|
|
99506
|
+
}
|
|
99436
99507
|
const CALLING_CONTENT_INITIAL_MAX_HEIGHT_PX = 120;
|
|
99437
99508
|
const CALLING_EXPAND_STEP_VIEWPORT_RATIO = 1 / 3;
|
|
99438
99509
|
const AUTO_SCROLL_FOLLOW_THRESHOLD_PX = 32;
|
|
@@ -99477,55 +99548,40 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99477
99548
|
this.teamConfiguration = null;
|
|
99478
99549
|
this.onScrollToCallSite = (event) => {
|
|
99479
99550
|
const ce2 = event;
|
|
99480
|
-
const detail = ce2.detail;
|
|
99481
|
-
if (!detail
|
|
99482
|
-
|
|
99483
|
-
|
|
99484
|
-
|
|
99485
|
-
|
|
99486
|
-
|
|
99487
|
-
|
|
99488
|
-
if (callId !== "") {
|
|
99489
|
-
this.pendingScrollRequest = { kind: "by_call_id", course: Math.floor(course), callId };
|
|
99551
|
+
const detail = readScrollToCallSiteDetail(ce2.detail);
|
|
99552
|
+
if (!detail) return;
|
|
99553
|
+
if (detail.callId !== void 0) {
|
|
99554
|
+
this.pendingScrollRequest = {
|
|
99555
|
+
kind: "by_call_id",
|
|
99556
|
+
course: detail.course,
|
|
99557
|
+
callId: detail.callId
|
|
99558
|
+
};
|
|
99490
99559
|
this.maybeApplyPendingScrollRequest();
|
|
99491
99560
|
return;
|
|
99492
99561
|
}
|
|
99493
|
-
const messageIndexRaw = d2["messageIndex"];
|
|
99494
|
-
const messageIndex = typeof messageIndexRaw === "number" ? messageIndexRaw : typeof messageIndexRaw === "string" ? Number.parseInt(messageIndexRaw, 10) : Number.NaN;
|
|
99495
|
-
if (!Number.isFinite(messageIndex)) return;
|
|
99496
99562
|
this.pendingScrollRequest = {
|
|
99497
99563
|
kind: "by_message_index",
|
|
99498
|
-
course:
|
|
99499
|
-
messageIndex:
|
|
99564
|
+
course: detail.course,
|
|
99565
|
+
messageIndex: detail.messageIndex
|
|
99500
99566
|
};
|
|
99501
99567
|
this.maybeApplyPendingScrollRequest();
|
|
99502
99568
|
};
|
|
99503
99569
|
this.onScrollToCallId = (event) => {
|
|
99504
99570
|
const ce2 = event;
|
|
99505
|
-
const detail = ce2.detail;
|
|
99506
|
-
if (!detail
|
|
99507
|
-
|
|
99508
|
-
|
|
99509
|
-
|
|
99510
|
-
|
|
99511
|
-
|
|
99512
|
-
const callId = typeof callIdRaw === "string" ? callIdRaw.trim() : "";
|
|
99513
|
-
if (callId === "") return;
|
|
99514
|
-
this.pendingScrollRequest = { kind: "by_call_id", course: Math.floor(course), callId };
|
|
99571
|
+
const detail = readScrollToCallIdDetail(ce2.detail);
|
|
99572
|
+
if (!detail) return;
|
|
99573
|
+
this.pendingScrollRequest = {
|
|
99574
|
+
kind: "by_call_id",
|
|
99575
|
+
course: detail.course,
|
|
99576
|
+
callId: detail.callId
|
|
99577
|
+
};
|
|
99515
99578
|
this.maybeApplyPendingScrollRequest();
|
|
99516
99579
|
};
|
|
99517
99580
|
this.onScrollToGenSeq = (event) => {
|
|
99518
99581
|
const ce2 = event;
|
|
99519
|
-
const detail = ce2.detail;
|
|
99520
|
-
if (!detail
|
|
99521
|
-
|
|
99522
|
-
const courseRaw = d2["course"];
|
|
99523
|
-
const course = typeof courseRaw === "number" ? courseRaw : typeof courseRaw === "string" ? Number.parseInt(courseRaw, 10) : Number.NaN;
|
|
99524
|
-
if (!Number.isFinite(course)) return;
|
|
99525
|
-
const genseqRaw = d2["genseq"];
|
|
99526
|
-
const genseq = typeof genseqRaw === "number" ? genseqRaw : typeof genseqRaw === "string" ? Number.parseInt(genseqRaw, 10) : Number.NaN;
|
|
99527
|
-
if (!Number.isFinite(genseq)) return;
|
|
99528
|
-
this.pendingScrollRequest = { kind: "by_genseq", course: Math.floor(course), genseq };
|
|
99582
|
+
const detail = readScrollToGenseqDetail(ce2.detail);
|
|
99583
|
+
if (!detail) return;
|
|
99584
|
+
this.pendingScrollRequest = { kind: "by_genseq", course: detail.course, genseq: detail.genseq };
|
|
99529
99585
|
this.maybeApplyPendingScrollRequest();
|
|
99530
99586
|
};
|
|
99531
99587
|
this.attachShadow({ mode: "open" });
|
|
@@ -99655,10 +99711,10 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99655
99711
|
);
|
|
99656
99712
|
if (!Number.isFinite(assignmentCourseRaw) || assignmentCourseRaw <= 0) return;
|
|
99657
99713
|
if (!Number.isFinite(assignmentGenseqRaw) || assignmentGenseqRaw <= 0) return;
|
|
99658
|
-
this.navigateToGenerationBubbleInApp(
|
|
99659
|
-
|
|
99660
|
-
|
|
99661
|
-
);
|
|
99714
|
+
this.navigateToGenerationBubbleInApp({
|
|
99715
|
+
course: toAssignmentCourseNumber(assignmentCourseRaw),
|
|
99716
|
+
genseq: toAssignmentGenerationSeqNumber(assignmentGenseqRaw)
|
|
99717
|
+
});
|
|
99662
99718
|
return;
|
|
99663
99719
|
}
|
|
99664
99720
|
const requesterCallsiteBtn = target.closest(
|
|
@@ -99679,7 +99735,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99679
99735
|
if (!Number.isFinite(callerCourseRaw) || callerCourseRaw <= 0) return;
|
|
99680
99736
|
this.openCallSiteDeepLinkInNewTab(callId, {
|
|
99681
99737
|
selfId: callerDialogId,
|
|
99682
|
-
course:
|
|
99738
|
+
course: toCallerCourseNumber(callerCourseRaw)
|
|
99683
99739
|
});
|
|
99684
99740
|
return;
|
|
99685
99741
|
}
|
|
@@ -99705,6 +99761,32 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99705
99761
|
await this.copyGenerationBubbleDeepLinkToClipboard(seq2);
|
|
99706
99762
|
return;
|
|
99707
99763
|
}
|
|
99764
|
+
const forkBtn = target.closest(".bubble-fork-btn");
|
|
99765
|
+
if (forkBtn) {
|
|
99766
|
+
e2.preventDefault();
|
|
99767
|
+
e2.stopPropagation();
|
|
99768
|
+
const bubble = forkBtn.closest(".generation-bubble");
|
|
99769
|
+
const dialog = this.currentDialog;
|
|
99770
|
+
if (!bubble || !dialog) return;
|
|
99771
|
+
const courseRaw = Number.parseInt(bubble.getAttribute("data-course") ?? "", 10);
|
|
99772
|
+
const seqRaw = Number.parseInt(bubble.getAttribute("data-seq") ?? "", 10);
|
|
99773
|
+
if (!Number.isFinite(courseRaw) || courseRaw <= 0) return;
|
|
99774
|
+
if (!Number.isFinite(seqRaw) || seqRaw <= 0) return;
|
|
99775
|
+
this.dispatchEvent(
|
|
99776
|
+
new CustomEvent("fork-dialog-request", {
|
|
99777
|
+
detail: {
|
|
99778
|
+
rootId: dialog.rootId,
|
|
99779
|
+
selfId: dialog.selfId,
|
|
99780
|
+
status: dialog.status ?? "running",
|
|
99781
|
+
course: Math.floor(courseRaw),
|
|
99782
|
+
genseq: Math.floor(seqRaw)
|
|
99783
|
+
},
|
|
99784
|
+
bubbles: true,
|
|
99785
|
+
composed: true
|
|
99786
|
+
})
|
|
99787
|
+
);
|
|
99788
|
+
return;
|
|
99789
|
+
}
|
|
99708
99790
|
const btn = target.closest(".codeblock-action");
|
|
99709
99791
|
if (btn) {
|
|
99710
99792
|
const section = btn.closest(".codeblock-section");
|
|
@@ -100361,6 +100443,9 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100361
100443
|
timestamp2,
|
|
100362
100444
|
queuedMsgId
|
|
100363
100445
|
);
|
|
100446
|
+
if (typeof this.currentCourse === "number") {
|
|
100447
|
+
bubble2.setAttribute("data-course", String(this.currentCourse));
|
|
100448
|
+
}
|
|
100364
100449
|
applyPendingCallAnchor(bubble2);
|
|
100365
100450
|
this.generationBubble = bubble2;
|
|
100366
100451
|
this.startAutoScrollObservation(bubble2);
|
|
@@ -100373,6 +100458,9 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100373
100458
|
existingBubble.classList.add("generating");
|
|
100374
100459
|
existingBubble.setAttribute("data-finalized", "false");
|
|
100375
100460
|
this.setBubbleTimestamp(existingBubble, timestamp2);
|
|
100461
|
+
if (typeof this.currentCourse === "number") {
|
|
100462
|
+
existingBubble.setAttribute("data-course", String(this.currentCourse));
|
|
100463
|
+
}
|
|
100376
100464
|
this.activeGenSeq = seq2;
|
|
100377
100465
|
applyPendingCallAnchor(existingBubble);
|
|
100378
100466
|
this.startAutoScrollObservation(existingBubble);
|
|
@@ -100384,6 +100472,9 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100384
100472
|
this.activeGenSeq = seq2;
|
|
100385
100473
|
const container = this.shadowRoot?.querySelector(".messages");
|
|
100386
100474
|
const bubble = this.createGenerationBubble(timestamp2);
|
|
100475
|
+
if (typeof this.currentCourse === "number") {
|
|
100476
|
+
bubble.setAttribute("data-course", String(this.currentCourse));
|
|
100477
|
+
}
|
|
100387
100478
|
bubble.setAttribute("data-seq", String(seq2));
|
|
100388
100479
|
applyPendingCallAnchor(bubble);
|
|
100389
100480
|
bubble.classList.add("generating");
|
|
@@ -100499,6 +100590,9 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100499
100590
|
const queuedContentEl = queuedBubble.querySelector(".user-message");
|
|
100500
100591
|
const queuedRawContent = queuedContentEl?.textContent ?? "";
|
|
100501
100592
|
const bubble = this.createGenerationBubble(timestamp2);
|
|
100593
|
+
if (typeof this.currentCourse === "number") {
|
|
100594
|
+
bubble.setAttribute("data-course", String(this.currentCourse));
|
|
100595
|
+
}
|
|
100502
100596
|
bubble.setAttribute("data-seq", String(seq2));
|
|
100503
100597
|
bubble.classList.add("generating");
|
|
100504
100598
|
bubble.setAttribute("data-finalized", "false");
|
|
@@ -101376,10 +101470,10 @@ ${event.content}`;
|
|
|
101376
101470
|
const anchorMeta = {
|
|
101377
101471
|
callId: rawCallId,
|
|
101378
101472
|
anchorRole: rawAnchorRole,
|
|
101379
|
-
assignmentCourse,
|
|
101380
|
-
assignmentGenseq,
|
|
101473
|
+
assignmentCourse: assignmentCourse !== void 0 ? toAssignmentCourseNumber(assignmentCourse) : void 0,
|
|
101474
|
+
assignmentGenseq: assignmentGenseq !== void 0 ? toAssignmentGenerationSeqNumber(assignmentGenseq) : void 0,
|
|
101381
101475
|
callerDialogId,
|
|
101382
|
-
callerCourse
|
|
101476
|
+
callerCourse: callerCourse !== void 0 ? toCallerCourseNumber(callerCourse) : void 0
|
|
101383
101477
|
};
|
|
101384
101478
|
const genseq = Math.floor(event.genseq);
|
|
101385
101479
|
const messages = this.shadowRoot?.querySelector(".messages");
|
|
@@ -101462,7 +101556,7 @@ ${event.content}`;
|
|
|
101462
101556
|
event.callName,
|
|
101463
101557
|
event.timestamp,
|
|
101464
101558
|
sessionSlug,
|
|
101465
|
-
typeof event.calleeCourse === "number" && Number.isFinite(event.calleeCourse) ?
|
|
101559
|
+
typeof event.calleeCourse === "number" && Number.isFinite(event.calleeCourse) ? toCalleeCourseNumber(event.calleeCourse) : void 0
|
|
101466
101560
|
);
|
|
101467
101561
|
const container = this.shadowRoot?.querySelector(".messages");
|
|
101468
101562
|
if (container) {
|
|
@@ -101618,11 +101712,9 @@ ${event.content}`;
|
|
|
101618
101712
|
return;
|
|
101619
101713
|
}
|
|
101620
101714
|
}
|
|
101621
|
-
navigateToGenerationBubbleInApp(
|
|
101622
|
-
|
|
101623
|
-
|
|
101624
|
-
const normalizedCourse = Math.floor(course);
|
|
101625
|
-
const normalizedGenseq = Math.floor(genseq);
|
|
101715
|
+
navigateToGenerationBubbleInApp(target) {
|
|
101716
|
+
const normalizedCourse = Math.floor(target.course);
|
|
101717
|
+
const normalizedGenseq = Math.floor(target.genseq);
|
|
101626
101718
|
const dialog = this.currentDialog;
|
|
101627
101719
|
if (!dialog) return;
|
|
101628
101720
|
if (this.currentCourse === normalizedCourse) {
|
|
@@ -101770,6 +101862,11 @@ ${event.content}`;
|
|
|
101770
101862
|
}
|
|
101771
101863
|
return "Assistant";
|
|
101772
101864
|
}
|
|
101865
|
+
canForkCurrentDialog() {
|
|
101866
|
+
const dialog = this.currentDialog;
|
|
101867
|
+
if (!dialog) return false;
|
|
101868
|
+
return dialog.selfId === dialog.rootId;
|
|
101869
|
+
}
|
|
101773
101870
|
upsertGenerationBubbleAnchorActions(bubble) {
|
|
101774
101871
|
const headerRight = bubble.querySelector(".bubble-header-right");
|
|
101775
101872
|
if (!headerRight) {
|
|
@@ -101832,6 +101929,11 @@ ${event.content}`;
|
|
|
101832
101929
|
const authorLabel = this.getAuthorLabel("assistant");
|
|
101833
101930
|
const safeAuthorLabel = this.escapeHtml(authorLabel);
|
|
101834
101931
|
const safeTimestamp = this.escapeHtml(timestamp2);
|
|
101932
|
+
const forkButton = this.canForkCurrentDialog() ? `
|
|
101933
|
+
<button type="button" class="bubble-fork-btn" aria-label="${this.escapeHtml(t2.forkDialogTitle)}" title="${this.escapeHtml(t2.forkDialogTitle)}">
|
|
101934
|
+
<span class="icon-mask dc-icon-fork" aria-hidden="true"></span>
|
|
101935
|
+
</button>
|
|
101936
|
+
` : "";
|
|
101835
101937
|
return `
|
|
101836
101938
|
<div class="bubble-header">
|
|
101837
101939
|
<div class="bubble-title">
|
|
@@ -101842,6 +101944,7 @@ ${event.content}`;
|
|
|
101842
101944
|
</div>
|
|
101843
101945
|
<div class="bubble-header-right">
|
|
101844
101946
|
<div class="bubble-anchor-actions"></div>
|
|
101947
|
+
${forkButton}
|
|
101845
101948
|
<button type="button" class="bubble-share-link-btn" aria-label="${this.escapeHtml(t2.q4hCopyLinkTitle)}" title="${this.escapeHtml(t2.q4hCopyLinkTitle)}">
|
|
101846
101949
|
<span class="icon-mask dc-icon-link" aria-hidden="true"></span>
|
|
101847
101950
|
</button>
|
|
@@ -102656,7 +102759,8 @@ ${event.content}`;
|
|
|
102656
102759
|
display: none;
|
|
102657
102760
|
}
|
|
102658
102761
|
|
|
102659
|
-
.bubble-share-link-btn
|
|
102762
|
+
.bubble-share-link-btn,
|
|
102763
|
+
.bubble-fork-btn {
|
|
102660
102764
|
width: 22px;
|
|
102661
102765
|
height: 22px;
|
|
102662
102766
|
padding: 0;
|
|
@@ -102671,13 +102775,15 @@ ${event.content}`;
|
|
|
102671
102775
|
transition: all 0.15s ease;
|
|
102672
102776
|
}
|
|
102673
102777
|
|
|
102674
|
-
.bubble-share-link-btn:hover
|
|
102778
|
+
.bubble-share-link-btn:hover,
|
|
102779
|
+
.bubble-fork-btn:hover {
|
|
102675
102780
|
background: var(--dominds-hover, var(--color-bg-tertiary, #e2e8f0));
|
|
102676
102781
|
border-color: var(--dominds-border, var(--color-border-primary, #e2e8f0));
|
|
102677
102782
|
color: var(--dominds-fg, var(--color-fg-primary, #333));
|
|
102678
102783
|
}
|
|
102679
102784
|
|
|
102680
|
-
.bubble-share-link-btn:focus-visible
|
|
102785
|
+
.bubble-share-link-btn:focus-visible,
|
|
102786
|
+
.bubble-fork-btn:focus-visible {
|
|
102681
102787
|
outline: 2px solid color-mix(in srgb, var(--dominds-primary, #007acc) 55%, transparent);
|
|
102682
102788
|
outline-offset: 2px;
|
|
102683
102789
|
}
|
|
@@ -102796,6 +102902,7 @@ ${event.content}`;
|
|
|
102796
102902
|
}
|
|
102797
102903
|
|
|
102798
102904
|
.bubble-share-link-btn .icon-mask,
|
|
102905
|
+
.bubble-fork-btn .icon-mask,
|
|
102799
102906
|
.bubble-anchor-assignment-btn .icon-mask,
|
|
102800
102907
|
.bubble-anchor-caller-callsite-btn .icon-mask,
|
|
102801
102908
|
.callsite-icon-btn .icon-mask {
|
|
@@ -103329,6 +103436,10 @@ ${event.content}`;
|
|
|
103329
103436
|
--icon-mask: ${ICON_MASK_URLS.copy};
|
|
103330
103437
|
}
|
|
103331
103438
|
|
|
103439
|
+
.dc-icon-fork {
|
|
103440
|
+
--icon-mask: ${ICON_MASK_URLS.fork};
|
|
103441
|
+
}
|
|
103442
|
+
|
|
103332
103443
|
.dc-icon-check-circle {
|
|
103333
103444
|
--icon-mask: ${ICON_MASK_URLS.checkCircle};
|
|
103334
103445
|
}
|
|
@@ -110927,6 +111038,68 @@ let RunningDialogList = _RunningDialogList;
|
|
|
110927
111038
|
if (!customElements.get("running-dialog-list")) {
|
|
110928
111039
|
customElements.define("running-dialog-list", RunningDialogList);
|
|
110929
111040
|
}
|
|
111041
|
+
function isObjectRecord(value) {
|
|
111042
|
+
return typeof value === "object" && value !== null;
|
|
111043
|
+
}
|
|
111044
|
+
function readDialogDeepLinkEventDetail(value) {
|
|
111045
|
+
if (!isObjectRecord(value)) return null;
|
|
111046
|
+
const rootId = typeof value["rootId"] === "string" ? value["rootId"].trim() : "";
|
|
111047
|
+
if (rootId === "") return null;
|
|
111048
|
+
const selfRaw = typeof value["selfId"] === "string" ? value["selfId"].trim() : "";
|
|
111049
|
+
return {
|
|
111050
|
+
rootId,
|
|
111051
|
+
selfId: selfRaw === "" ? rootId : selfRaw
|
|
111052
|
+
};
|
|
111053
|
+
}
|
|
111054
|
+
function readQ4HCallSiteNavigation(value) {
|
|
111055
|
+
if (!isObjectRecord(value)) return null;
|
|
111056
|
+
const questionId = typeof value["questionId"] === "string" ? value["questionId"].trim() : "";
|
|
111057
|
+
const dialogId = typeof value["dialogId"] === "string" ? value["dialogId"].trim() : "";
|
|
111058
|
+
const rootId = typeof value["rootId"] === "string" ? value["rootId"].trim() : "";
|
|
111059
|
+
const course = typeof value["course"] === "number" ? value["course"] : Number.NaN;
|
|
111060
|
+
const messageIndex = typeof value["messageIndex"] === "number" ? value["messageIndex"] : Number.NaN;
|
|
111061
|
+
const callIdRaw = typeof value["callId"] === "string" ? value["callId"].trim() : "";
|
|
111062
|
+
if (questionId === "" || dialogId === "" || rootId === "") return null;
|
|
111063
|
+
if (!Number.isFinite(course) || !Number.isFinite(messageIndex)) return null;
|
|
111064
|
+
return {
|
|
111065
|
+
questionId,
|
|
111066
|
+
dialogId,
|
|
111067
|
+
rootId,
|
|
111068
|
+
course: Math.floor(course),
|
|
111069
|
+
messageIndex: Math.floor(messageIndex),
|
|
111070
|
+
callId: callIdRaw === "" ? void 0 : callIdRaw
|
|
111071
|
+
};
|
|
111072
|
+
}
|
|
111073
|
+
function readNavigateGenseqEventDetail(value) {
|
|
111074
|
+
if (!isObjectRecord(value)) return null;
|
|
111075
|
+
const rootId = typeof value["rootId"] === "string" ? value["rootId"].trim() : "";
|
|
111076
|
+
const selfId = typeof value["selfId"] === "string" ? value["selfId"].trim() : "";
|
|
111077
|
+
const course = typeof value["course"] === "number" ? value["course"] : Number.NaN;
|
|
111078
|
+
const genseq = typeof value["genseq"] === "number" ? value["genseq"] : Number.NaN;
|
|
111079
|
+
if (rootId === "" || selfId === "") return null;
|
|
111080
|
+
if (!Number.isFinite(course) || !Number.isFinite(genseq)) return null;
|
|
111081
|
+
return {
|
|
111082
|
+
rootId,
|
|
111083
|
+
selfId,
|
|
111084
|
+
course: Math.floor(course),
|
|
111085
|
+
genseq: Math.floor(genseq)
|
|
111086
|
+
};
|
|
111087
|
+
}
|
|
111088
|
+
function readNavigateCallsiteEventDetail(value) {
|
|
111089
|
+
if (!isObjectRecord(value)) return null;
|
|
111090
|
+
const rootId = typeof value["rootId"] === "string" ? value["rootId"].trim() : "";
|
|
111091
|
+
const selfId = typeof value["selfId"] === "string" ? value["selfId"].trim() : "";
|
|
111092
|
+
const callId = typeof value["callId"] === "string" ? value["callId"].trim() : "";
|
|
111093
|
+
const course = typeof value["course"] === "number" ? value["course"] : Number.NaN;
|
|
111094
|
+
if (rootId === "" || selfId === "" || callId === "") return null;
|
|
111095
|
+
if (!Number.isFinite(course)) return null;
|
|
111096
|
+
return {
|
|
111097
|
+
rootId,
|
|
111098
|
+
selfId,
|
|
111099
|
+
course: Math.floor(course),
|
|
111100
|
+
callId
|
|
111101
|
+
};
|
|
111102
|
+
}
|
|
110930
111103
|
const _DomindsApp = class _DomindsApp extends HTMLElement {
|
|
110931
111104
|
constructor() {
|
|
110932
111105
|
super();
|
|
@@ -115752,95 +115925,54 @@ ${content}`;
|
|
|
115752
115925
|
}));
|
|
115753
115926
|
this.shadowRoot.addEventListener("dialog-open-external", (event) => {
|
|
115754
115927
|
const ce2 = event;
|
|
115755
|
-
const detail = ce2.detail
|
|
115928
|
+
const detail = readDialogDeepLinkEventDetail(ce2.detail);
|
|
115756
115929
|
if (!detail) return;
|
|
115757
|
-
const
|
|
115758
|
-
const selfRaw = typeof detail["selfId"] === "string" ? detail["selfId"].trim() : "";
|
|
115759
|
-
if (!rootId) return;
|
|
115760
|
-
const selfId = selfRaw === "" ? rootId : selfRaw;
|
|
115761
|
-
const url = this.buildDialogDeepLinkUrl(rootId, selfId);
|
|
115930
|
+
const url = this.buildDialogDeepLinkUrl(detail);
|
|
115762
115931
|
const urlStr = url.toString();
|
|
115763
115932
|
const w2 = window.open(urlStr, "_blank", "noopener,noreferrer");
|
|
115764
115933
|
if (w2) w2.opener = null;
|
|
115765
115934
|
});
|
|
115766
115935
|
this.shadowRoot.addEventListener("dialog-share-link", (event) => {
|
|
115767
115936
|
const ce2 = event;
|
|
115768
|
-
const detail = ce2.detail
|
|
115937
|
+
const detail = readDialogDeepLinkEventDetail(ce2.detail);
|
|
115769
115938
|
if (!detail) return;
|
|
115770
|
-
const
|
|
115771
|
-
const selfRaw = typeof detail["selfId"] === "string" ? detail["selfId"].trim() : "";
|
|
115772
|
-
if (!rootId) return;
|
|
115773
|
-
const selfId = selfRaw === "" ? rootId : selfRaw;
|
|
115774
|
-
const url = this.buildDialogDeepLinkUrl(rootId, selfId);
|
|
115939
|
+
const url = this.buildDialogDeepLinkUrl(detail);
|
|
115775
115940
|
void this.copyLinkToClipboardWithToast(url.toString());
|
|
115776
115941
|
});
|
|
115777
115942
|
this.shadowRoot.addEventListener("q4h-navigate-call-site", (event) => {
|
|
115778
115943
|
const ce2 = event;
|
|
115779
|
-
const
|
|
115780
|
-
if (
|
|
115781
|
-
|
|
115782
|
-
}
|
|
115944
|
+
const detail = readQ4HCallSiteNavigation(ce2.detail);
|
|
115945
|
+
if (!detail) return;
|
|
115946
|
+
this.navigateToQ4HCallSite(detail);
|
|
115783
115947
|
});
|
|
115784
115948
|
this.shadowRoot.addEventListener("q4h-open-external", (event) => {
|
|
115785
115949
|
const ce2 = event;
|
|
115786
|
-
const detail = ce2.detail
|
|
115950
|
+
const detail = readQ4HCallSiteNavigation(ce2.detail);
|
|
115787
115951
|
if (!detail) return;
|
|
115788
|
-
const
|
|
115789
|
-
|
|
115790
|
-
|
|
115791
|
-
|
|
115792
|
-
|
|
115793
|
-
|
|
115794
|
-
|
|
115795
|
-
|
|
115796
|
-
const url = new URL(window.location.href);
|
|
115797
|
-
url.searchParams.delete("rootId");
|
|
115798
|
-
url.searchParams.delete("selfId");
|
|
115799
|
-
url.searchParams.delete("course");
|
|
115800
|
-
url.searchParams.delete("msg");
|
|
115801
|
-
url.searchParams.delete("callId");
|
|
115802
|
-
url.searchParams.delete("genseq");
|
|
115803
|
-
url.searchParams.delete("qid");
|
|
115804
|
-
url.hash = "";
|
|
115805
|
-
url.pathname = `/dl/q4h`;
|
|
115806
|
-
url.searchParams.set("qid", questionId);
|
|
115807
|
-
url.searchParams.set("rootId", rootId);
|
|
115808
|
-
url.searchParams.set("selfId", dialogId);
|
|
115809
|
-
url.searchParams.set("course", String(Math.floor(course)));
|
|
115810
|
-
url.searchParams.set("msg", String(Math.floor(messageIndex)));
|
|
115811
|
-
if (callId.trim() !== "") url.searchParams.set("callId", callId.trim());
|
|
115952
|
+
const url = this.buildQ4HDeepLinkUrl({
|
|
115953
|
+
questionId: detail.questionId,
|
|
115954
|
+
rootId: detail.rootId,
|
|
115955
|
+
selfId: detail.dialogId,
|
|
115956
|
+
course: detail.course,
|
|
115957
|
+
messageIndex: detail.messageIndex,
|
|
115958
|
+
callId: detail.callId
|
|
115959
|
+
});
|
|
115812
115960
|
const urlStr = url.toString();
|
|
115813
115961
|
const w2 = window.open(urlStr, "_blank", "noopener,noreferrer");
|
|
115814
115962
|
if (w2) w2.opener = null;
|
|
115815
115963
|
});
|
|
115816
115964
|
this.shadowRoot.addEventListener("q4h-share-link", (event) => {
|
|
115817
115965
|
const ce2 = event;
|
|
115818
|
-
const detail = ce2.detail
|
|
115966
|
+
const detail = readQ4HCallSiteNavigation(ce2.detail);
|
|
115819
115967
|
if (!detail) return;
|
|
115820
|
-
const
|
|
115821
|
-
|
|
115822
|
-
|
|
115823
|
-
|
|
115824
|
-
|
|
115825
|
-
|
|
115826
|
-
|
|
115827
|
-
|
|
115828
|
-
const url = new URL(window.location.href);
|
|
115829
|
-
url.searchParams.delete("rootId");
|
|
115830
|
-
url.searchParams.delete("selfId");
|
|
115831
|
-
url.searchParams.delete("course");
|
|
115832
|
-
url.searchParams.delete("msg");
|
|
115833
|
-
url.searchParams.delete("callId");
|
|
115834
|
-
url.searchParams.delete("genseq");
|
|
115835
|
-
url.searchParams.delete("qid");
|
|
115836
|
-
url.hash = "";
|
|
115837
|
-
url.pathname = `/dl/q4h`;
|
|
115838
|
-
url.searchParams.set("qid", questionId);
|
|
115839
|
-
url.searchParams.set("rootId", rootId);
|
|
115840
|
-
url.searchParams.set("selfId", dialogId);
|
|
115841
|
-
url.searchParams.set("course", String(Math.floor(course)));
|
|
115842
|
-
url.searchParams.set("msg", String(Math.floor(messageIndex)));
|
|
115843
|
-
if (callId.trim() !== "") url.searchParams.set("callId", callId.trim());
|
|
115968
|
+
const url = this.buildQ4HDeepLinkUrl({
|
|
115969
|
+
questionId: detail.questionId,
|
|
115970
|
+
rootId: detail.rootId,
|
|
115971
|
+
selfId: detail.dialogId,
|
|
115972
|
+
course: detail.course,
|
|
115973
|
+
messageIndex: detail.messageIndex,
|
|
115974
|
+
callId: detail.callId
|
|
115975
|
+
});
|
|
115844
115976
|
void this.copyLinkToClipboardWithToast(url.toString());
|
|
115845
115977
|
});
|
|
115846
115978
|
this.shadowRoot.addEventListener("q4h-select-question", (event) => {
|
|
@@ -115868,42 +116000,36 @@ ${content}`;
|
|
|
115868
116000
|
});
|
|
115869
116001
|
this.shadowRoot.addEventListener("navigate-genseq", (event) => {
|
|
115870
116002
|
const ce2 = event;
|
|
115871
|
-
const detail = ce2.detail
|
|
116003
|
+
const detail = readNavigateGenseqEventDetail(ce2.detail);
|
|
115872
116004
|
if (!detail) return;
|
|
115873
|
-
const rootId = typeof detail["rootId"] === "string" ? detail["rootId"] : "";
|
|
115874
|
-
const selfId = typeof detail["selfId"] === "string" ? detail["selfId"] : "";
|
|
115875
|
-
const course = typeof detail["course"] === "number" ? detail["course"] : Number.NaN;
|
|
115876
|
-
const genseq = typeof detail["genseq"] === "number" ? detail["genseq"] : Number.NaN;
|
|
115877
|
-
if (!rootId || !selfId) return;
|
|
115878
|
-
if (!Number.isFinite(course) || !Number.isFinite(genseq)) return;
|
|
115879
116005
|
this.pendingDeepLink = {
|
|
115880
116006
|
kind: "genseq",
|
|
115881
|
-
rootId: rootId
|
|
115882
|
-
selfId: selfId
|
|
115883
|
-
course:
|
|
115884
|
-
genseq:
|
|
116007
|
+
rootId: detail.rootId,
|
|
116008
|
+
selfId: detail.selfId,
|
|
116009
|
+
course: detail.course,
|
|
116010
|
+
genseq: detail.genseq
|
|
115885
116011
|
};
|
|
115886
116012
|
void this.applyPendingDeepLink();
|
|
115887
116013
|
});
|
|
115888
116014
|
this.shadowRoot.addEventListener("navigate-callsite", (event) => {
|
|
115889
116015
|
const ce2 = event;
|
|
115890
|
-
const detail = ce2.detail
|
|
116016
|
+
const detail = readNavigateCallsiteEventDetail(ce2.detail);
|
|
115891
116017
|
if (!detail) return;
|
|
115892
|
-
const rootId = typeof detail["rootId"] === "string" ? detail["rootId"] : "";
|
|
115893
|
-
const selfId = typeof detail["selfId"] === "string" ? detail["selfId"] : "";
|
|
115894
|
-
const callId = typeof detail["callId"] === "string" ? detail["callId"] : "";
|
|
115895
|
-
const course = typeof detail["course"] === "number" ? detail["course"] : Number.NaN;
|
|
115896
|
-
if (!rootId || !selfId || !callId) return;
|
|
115897
|
-
if (!Number.isFinite(course)) return;
|
|
115898
116018
|
this.pendingDeepLink = {
|
|
115899
116019
|
kind: "callsite",
|
|
115900
|
-
rootId: rootId
|
|
115901
|
-
selfId: selfId
|
|
115902
|
-
course:
|
|
115903
|
-
callId: callId
|
|
116020
|
+
rootId: detail.rootId,
|
|
116021
|
+
selfId: detail.selfId,
|
|
116022
|
+
course: detail.course,
|
|
116023
|
+
callId: detail.callId
|
|
115904
116024
|
};
|
|
115905
116025
|
void this.applyPendingDeepLink();
|
|
115906
116026
|
});
|
|
116027
|
+
this.shadowRoot.addEventListener("fork-dialog-request", (event) => {
|
|
116028
|
+
const ce2 = event;
|
|
116029
|
+
const detail = ce2.detail && typeof ce2.detail === "object" ? ce2.detail : null;
|
|
116030
|
+
if (!detail) return;
|
|
116031
|
+
void this.handleForkDialogRequest(detail);
|
|
116032
|
+
});
|
|
115907
116033
|
this.shadowRoot.addEventListener("keydown", (evt) => {
|
|
115908
116034
|
if (!(evt instanceof KeyboardEvent)) return;
|
|
115909
116035
|
if (evt.key !== "Enter" && evt.key !== " " && evt.key !== "Spacebar") return;
|
|
@@ -116741,7 +116867,7 @@ ${content}`;
|
|
|
116741
116867
|
status: rootMatch.status
|
|
116742
116868
|
};
|
|
116743
116869
|
}
|
|
116744
|
-
buildDialogDeepLinkUrl(
|
|
116870
|
+
buildDialogDeepLinkUrl(params) {
|
|
116745
116871
|
const url = new URL(window.location.href);
|
|
116746
116872
|
url.searchParams.delete("rootId");
|
|
116747
116873
|
url.searchParams.delete("selfId");
|
|
@@ -116752,29 +116878,38 @@ ${content}`;
|
|
|
116752
116878
|
url.searchParams.delete("qid");
|
|
116753
116879
|
url.hash = "";
|
|
116754
116880
|
url.pathname = "/dl/dialog";
|
|
116755
|
-
url.searchParams.set("rootId", rootId);
|
|
116756
|
-
url.searchParams.set("selfId", selfId);
|
|
116757
|
-
if (typeof course === "number") {
|
|
116758
|
-
url.searchParams.set("course", String(Math.floor(course)));
|
|
116881
|
+
url.searchParams.set("rootId", params.rootId);
|
|
116882
|
+
url.searchParams.set("selfId", params.selfId);
|
|
116883
|
+
if (typeof params.course === "number") {
|
|
116884
|
+
url.searchParams.set("course", String(Math.floor(params.course)));
|
|
116759
116885
|
}
|
|
116760
116886
|
return url;
|
|
116761
116887
|
}
|
|
116762
|
-
buildCallsiteDeepLinkUrl(
|
|
116763
|
-
const url = this.buildDialogDeepLinkUrl(
|
|
116888
|
+
buildCallsiteDeepLinkUrl(params) {
|
|
116889
|
+
const url = this.buildDialogDeepLinkUrl({
|
|
116890
|
+
rootId: params.rootId,
|
|
116891
|
+
selfId: params.selfId
|
|
116892
|
+
});
|
|
116764
116893
|
url.pathname = "/dl/callsite";
|
|
116765
|
-
url.searchParams.set("course", String(Math.floor(course)));
|
|
116766
|
-
url.searchParams.set("callId", callId);
|
|
116894
|
+
url.searchParams.set("course", String(Math.floor(params.course)));
|
|
116895
|
+
url.searchParams.set("callId", params.callId);
|
|
116767
116896
|
return url;
|
|
116768
116897
|
}
|
|
116769
|
-
buildGenseqDeepLinkUrl(
|
|
116770
|
-
const url = this.buildDialogDeepLinkUrl(
|
|
116898
|
+
buildGenseqDeepLinkUrl(params) {
|
|
116899
|
+
const url = this.buildDialogDeepLinkUrl({
|
|
116900
|
+
rootId: params.rootId,
|
|
116901
|
+
selfId: params.selfId
|
|
116902
|
+
});
|
|
116771
116903
|
url.pathname = "/dl/genseq";
|
|
116772
|
-
url.searchParams.set("course", String(Math.floor(course)));
|
|
116773
|
-
url.searchParams.set("genseq", String(Math.floor(genseq)));
|
|
116904
|
+
url.searchParams.set("course", String(Math.floor(params.course)));
|
|
116905
|
+
url.searchParams.set("genseq", String(Math.floor(params.genseq)));
|
|
116774
116906
|
return url;
|
|
116775
116907
|
}
|
|
116776
116908
|
buildQ4HDeepLinkUrl(params) {
|
|
116777
|
-
const url = this.buildDialogDeepLinkUrl(
|
|
116909
|
+
const url = this.buildDialogDeepLinkUrl({
|
|
116910
|
+
rootId: params.rootId,
|
|
116911
|
+
selfId: params.selfId
|
|
116912
|
+
});
|
|
116778
116913
|
url.pathname = "/dl/q4h";
|
|
116779
116914
|
url.searchParams.set("qid", params.questionId);
|
|
116780
116915
|
if (typeof params.course === "number") {
|
|
@@ -116797,7 +116932,7 @@ ${content}`;
|
|
|
116797
116932
|
const rootId = dialog.rootId.trim();
|
|
116798
116933
|
const selfId = dialog.selfId.trim();
|
|
116799
116934
|
if (!rootId || !selfId) return;
|
|
116800
|
-
const target = this.buildDialogDeepLinkUrl(rootId, selfId);
|
|
116935
|
+
const target = this.buildDialogDeepLinkUrl({ rootId, selfId });
|
|
116801
116936
|
const current = new URL(window.location.href);
|
|
116802
116937
|
if (current.pathname === target.pathname && current.search === target.search && current.hash === target.hash) {
|
|
116803
116938
|
return;
|
|
@@ -116807,21 +116942,25 @@ ${content}`;
|
|
|
116807
116942
|
syncAddressBarToDeepLink(intent) {
|
|
116808
116943
|
let target = null;
|
|
116809
116944
|
if (intent.kind === "dialog") {
|
|
116810
|
-
target = this.buildDialogDeepLinkUrl(
|
|
116945
|
+
target = this.buildDialogDeepLinkUrl({
|
|
116946
|
+
rootId: intent.rootId,
|
|
116947
|
+
selfId: intent.selfId,
|
|
116948
|
+
course: intent.course
|
|
116949
|
+
});
|
|
116811
116950
|
} else if (intent.kind === "callsite") {
|
|
116812
|
-
target = this.buildCallsiteDeepLinkUrl(
|
|
116813
|
-
intent.rootId,
|
|
116814
|
-
intent.selfId,
|
|
116815
|
-
intent.course,
|
|
116816
|
-
intent.callId
|
|
116817
|
-
);
|
|
116951
|
+
target = this.buildCallsiteDeepLinkUrl({
|
|
116952
|
+
rootId: intent.rootId,
|
|
116953
|
+
selfId: intent.selfId,
|
|
116954
|
+
course: intent.course,
|
|
116955
|
+
callId: intent.callId
|
|
116956
|
+
});
|
|
116818
116957
|
} else if (intent.kind === "genseq") {
|
|
116819
|
-
target = this.buildGenseqDeepLinkUrl(
|
|
116820
|
-
intent.rootId,
|
|
116821
|
-
intent.selfId,
|
|
116822
|
-
intent.course,
|
|
116823
|
-
intent.genseq
|
|
116824
|
-
);
|
|
116958
|
+
target = this.buildGenseqDeepLinkUrl({
|
|
116959
|
+
rootId: intent.rootId,
|
|
116960
|
+
selfId: intent.selfId,
|
|
116961
|
+
course: intent.course,
|
|
116962
|
+
genseq: intent.genseq
|
|
116963
|
+
});
|
|
116825
116964
|
} else if (intent.kind === "q4h") {
|
|
116826
116965
|
const rootId = intent.rootId?.trim() ?? "";
|
|
116827
116966
|
const selfId = intent.selfId?.trim() ?? "";
|
|
@@ -117959,6 +118098,50 @@ ${content}`;
|
|
|
117959
118098
|
async selectDialog(dialog) {
|
|
117960
118099
|
await this.applyDialogSelection(dialog, { syncAddressBar: true, showLoadedToast: true });
|
|
117961
118100
|
}
|
|
118101
|
+
async handleForkDialogRequest(detail) {
|
|
118102
|
+
const rootId = typeof detail["rootId"] === "string" ? detail["rootId"].trim() : "";
|
|
118103
|
+
const selfId = typeof detail["selfId"] === "string" ? detail["selfId"].trim() : "";
|
|
118104
|
+
const statusRaw = detail["status"];
|
|
118105
|
+
const course = typeof detail["course"] === "number" ? Math.floor(detail["course"]) : 0;
|
|
118106
|
+
const genseq = typeof detail["genseq"] === "number" ? Math.floor(detail["genseq"]) : 0;
|
|
118107
|
+
const status = statusRaw === "completed" || statusRaw === "archived" ? statusRaw : "running";
|
|
118108
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
118109
|
+
if (rootId === "" || selfId === "" || rootId !== selfId || course <= 0 || genseq <= 0) {
|
|
118110
|
+
this.showToast(t2.forkDialogFailedToast, "warning");
|
|
118111
|
+
return;
|
|
118112
|
+
}
|
|
118113
|
+
const api = getApiClient();
|
|
118114
|
+
const response = await api.forkDialog(rootId, { course, genseq, status });
|
|
118115
|
+
const payload = response.data;
|
|
118116
|
+
if (!response.success || !payload?.success || !payload.dialog || !payload.action) {
|
|
118117
|
+
this.showToast(payload?.error || response.error || t2.forkDialogFailedToast, "warning");
|
|
118118
|
+
return;
|
|
118119
|
+
}
|
|
118120
|
+
const forkedDialog = payload.dialog;
|
|
118121
|
+
await this.selectDialog(forkedDialog);
|
|
118122
|
+
const currentInput = this.q4hInput;
|
|
118123
|
+
if (!currentInput) {
|
|
118124
|
+
return;
|
|
118125
|
+
}
|
|
118126
|
+
if (payload.action.kind === "draft_user_text") {
|
|
118127
|
+
currentInput.setValue(payload.action.userText);
|
|
118128
|
+
currentInput.focusInput();
|
|
118129
|
+
return;
|
|
118130
|
+
}
|
|
118131
|
+
if (payload.action.kind === "restore_pending") {
|
|
118132
|
+
if (payload.action.pendingQ4H) {
|
|
118133
|
+
currentInput.focusInput();
|
|
118134
|
+
}
|
|
118135
|
+
return;
|
|
118136
|
+
}
|
|
118137
|
+
this.wsManager.sendRaw({
|
|
118138
|
+
type: "resume_dialog",
|
|
118139
|
+
dialog: {
|
|
118140
|
+
selfId: forkedDialog.selfId,
|
|
118141
|
+
rootId: forkedDialog.rootId
|
|
118142
|
+
}
|
|
118143
|
+
});
|
|
118144
|
+
}
|
|
117962
118145
|
async restoreDialogFromDeepLink(dialog) {
|
|
117963
118146
|
const selfId = dialog.selfId || dialog.rootId;
|
|
117964
118147
|
const rootId = dialog.rootId || dialog.selfId;
|
|
@@ -119471,7 +119654,8 @@ ${t2.commandLabel}: ${commandStr}`;
|
|
|
119471
119654
|
/**
|
|
119472
119655
|
* Navigate to a Q4H call site in the conversation
|
|
119473
119656
|
*/
|
|
119474
|
-
navigateToQ4HCallSite(
|
|
119657
|
+
navigateToQ4HCallSite(args) {
|
|
119658
|
+
const { questionId, dialogId, rootId, course, messageIndex, callId } = args;
|
|
119475
119659
|
if (this.currentDialog?.selfId !== dialogId) {
|
|
119476
119660
|
const dialogInfo = this.findDisplayedDialogByAnyId(dialogId);
|
|
119477
119661
|
if (dialogInfo) {
|
|
@@ -120809,7 +120993,8 @@ class DomindsSetup extends HTMLElement {
|
|
|
120809
120993
|
const selected = (typeof stored === "string" && stored !== "" ? stored : void 0) ?? p2.defaultValue ?? p2.values[0] ?? "";
|
|
120810
120994
|
const options = p2.values.map((v2) => {
|
|
120811
120995
|
const sel = selected === v2 ? "selected" : "";
|
|
120812
|
-
|
|
120996
|
+
const label = p2.valueLabels?.[v2] ?? v2;
|
|
120997
|
+
return `<option value="${escapeHtmlAttr(v2)}" ${sel}>${escapeHtml(label)}</option>`;
|
|
120813
120998
|
}).join("");
|
|
120814
120999
|
return `
|
|
120815
121000
|
<div class="param-row">
|
|
@@ -121435,4 +121620,4 @@ export {
|
|
|
121435
121620
|
clear$2 as y,
|
|
121436
121621
|
defaultConfig2 as z
|
|
121437
121622
|
};
|
|
121438
|
-
//# sourceMappingURL=index-
|
|
121623
|
+
//# sourceMappingURL=index-DrTqAfFy.js.map
|