dominds 1.20.2 → 1.20.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/dist/docs/OEC-philosophy.md +1 -1
  2. package/dist/minds/load.js +1 -0
  3. package/dist/minds/minds-i18n.js +2 -2
  4. package/dist/minds/system-prompt-parts.js +7 -7
  5. package/dist/server/api-routes.js +65 -0
  6. package/dist/server/static-server.js +1 -0
  7. package/dist/tools/builtins.js +2 -0
  8. package/dist/tools/ctrl.d.ts +2 -0
  9. package/dist/tools/ctrl.js +111 -16
  10. package/dist/tools/prompts/control/en/errors.md +2 -2
  11. package/dist/tools/prompts/control/en/index.md +1 -1
  12. package/dist/tools/prompts/control/en/principles.md +5 -4
  13. package/dist/tools/prompts/control/en/tools.md +19 -3
  14. package/dist/tools/prompts/control/zh/errors.md +2 -2
  15. package/dist/tools/prompts/control/zh/index.md +1 -1
  16. package/dist/tools/prompts/control/zh/principles.md +5 -4
  17. package/dist/tools/prompts/control/zh/tools.md +19 -3
  18. package/dist/tools/prompts/personal_memory/en/principles.md +1 -1
  19. package/dist/tools/prompts/personal_memory/zh/principles.md +1 -1
  20. package/dist/tools/prompts/team_memory/en/principles.md +1 -1
  21. package/dist/tools/prompts/team_memory/zh/principles.md +1 -1
  22. package/dist/tools/team_mgmt.js +2 -2
  23. package/dist/utils/task-package.d.ts +9 -0
  24. package/dist/utils/task-package.js +29 -4
  25. package/dist/utils/taskdoc-search-worker-client.d.ts +12 -0
  26. package/dist/utils/taskdoc-search-worker-client.js +320 -0
  27. package/dist/utils/taskdoc-search-worker.d.ts +1 -0
  28. package/dist/utils/taskdoc-search-worker.js +42 -0
  29. package/dist/utils/taskdoc-search.d.ts +28 -7
  30. package/dist/utils/taskdoc-search.js +62 -15
  31. package/package.json +4 -4
  32. package/webapp/dist/assets/{_basePickBy-B7M9Q0Fa.js → _basePickBy-B2wYdQcR.js} +3 -3
  33. package/webapp/dist/assets/{_basePickBy-B7M9Q0Fa.js.map → _basePickBy-B2wYdQcR.js.map} +1 -1
  34. package/webapp/dist/assets/{_baseUniq-DAeYoL6j.js → _baseUniq-zKoHgk38.js} +2 -2
  35. package/webapp/dist/assets/{_baseUniq-DAeYoL6j.js.map → _baseUniq-zKoHgk38.js.map} +1 -1
  36. package/webapp/dist/assets/{arc-Bh4nDbNR.js → arc-D8bQ-Nzm.js} +2 -2
  37. package/webapp/dist/assets/{arc-Bh4nDbNR.js.map → arc-D8bQ-Nzm.js.map} +1 -1
  38. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CxqmdsIm.js → architectureDiagram-2XIMDMQ5-BiimGQW5.js} +7 -7
  39. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CxqmdsIm.js.map → architectureDiagram-2XIMDMQ5-BiimGQW5.js.map} +1 -1
  40. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-CxIWLtpt.js → blockDiagram-WCTKOSBZ-BXPbS_wx.js} +7 -7
  41. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-CxIWLtpt.js.map → blockDiagram-WCTKOSBZ-BXPbS_wx.js.map} +1 -1
  42. package/webapp/dist/assets/{c4Diagram-IC4MRINW-1qErOIgG.js → c4Diagram-IC4MRINW-BZC0c1Ke.js} +3 -3
  43. package/webapp/dist/assets/{c4Diagram-IC4MRINW-1qErOIgG.js.map → c4Diagram-IC4MRINW-BZC0c1Ke.js.map} +1 -1
  44. package/webapp/dist/assets/{channel-DkgZHNUe.js → channel-BP3Qyxui.js} +2 -2
  45. package/webapp/dist/assets/{channel-DkgZHNUe.js.map → channel-BP3Qyxui.js.map} +1 -1
  46. package/webapp/dist/assets/{chunk-4BX2VUAB-BmdMbU9v.js → chunk-4BX2VUAB-BXABHFQC.js} +2 -2
  47. package/webapp/dist/assets/{chunk-4BX2VUAB-BmdMbU9v.js.map → chunk-4BX2VUAB-BXABHFQC.js.map} +1 -1
  48. package/webapp/dist/assets/{chunk-55IACEB6-D6LDTDBy.js → chunk-55IACEB6-KdM20zpJ.js} +2 -2
  49. package/webapp/dist/assets/{chunk-55IACEB6-D6LDTDBy.js.map → chunk-55IACEB6-KdM20zpJ.js.map} +1 -1
  50. package/webapp/dist/assets/{chunk-FMBD7UC4-C-BdCe4C.js → chunk-FMBD7UC4-B2T04oKB.js} +2 -2
  51. package/webapp/dist/assets/{chunk-FMBD7UC4-C-BdCe4C.js.map → chunk-FMBD7UC4-B2T04oKB.js.map} +1 -1
  52. package/webapp/dist/assets/{chunk-JSJVCQXG-WA_BLIm9.js → chunk-JSJVCQXG-Bz-hhsBJ.js} +2 -2
  53. package/webapp/dist/assets/{chunk-JSJVCQXG-WA_BLIm9.js.map → chunk-JSJVCQXG-Bz-hhsBJ.js.map} +1 -1
  54. package/webapp/dist/assets/{chunk-KX2RTZJC-CA7sDJO5.js → chunk-KX2RTZJC-B1TcA_CH.js} +2 -2
  55. package/webapp/dist/assets/{chunk-KX2RTZJC-CA7sDJO5.js.map → chunk-KX2RTZJC-B1TcA_CH.js.map} +1 -1
  56. package/webapp/dist/assets/{chunk-NQ4KR5QH-wlvxalE3.js → chunk-NQ4KR5QH-BwsfKfyl.js} +4 -4
  57. package/webapp/dist/assets/{chunk-NQ4KR5QH-wlvxalE3.js.map → chunk-NQ4KR5QH-BwsfKfyl.js.map} +1 -1
  58. package/webapp/dist/assets/{chunk-QZHKN3VN-Bo1VMcph.js → chunk-QZHKN3VN-BX453Nua.js} +2 -2
  59. package/webapp/dist/assets/{chunk-QZHKN3VN-Bo1VMcph.js.map → chunk-QZHKN3VN-BX453Nua.js.map} +1 -1
  60. package/webapp/dist/assets/{chunk-WL4C6EOR-B-Pk44be.js → chunk-WL4C6EOR-COCTYZ-S.js} +6 -6
  61. package/webapp/dist/assets/{chunk-WL4C6EOR-B-Pk44be.js.map → chunk-WL4C6EOR-COCTYZ-S.js.map} +1 -1
  62. package/webapp/dist/assets/{classDiagram-VBA2DB6C-BqKuyb49.js → classDiagram-VBA2DB6C-aWgCJGiX.js} +7 -7
  63. package/webapp/dist/assets/{classDiagram-VBA2DB6C-BqKuyb49.js.map → classDiagram-VBA2DB6C-aWgCJGiX.js.map} +1 -1
  64. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-BqKuyb49.js → classDiagram-v2-RAHNMMFH-aWgCJGiX.js} +7 -7
  65. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-BqKuyb49.js.map → classDiagram-v2-RAHNMMFH-aWgCJGiX.js.map} +1 -1
  66. package/webapp/dist/assets/{clone-BX5z8WVZ.js → clone-UCWLNsJ4.js} +2 -2
  67. package/webapp/dist/assets/{clone-BX5z8WVZ.js.map → clone-UCWLNsJ4.js.map} +1 -1
  68. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-B-s11SgN.js → cose-bilkent-S5V4N54A-Blf43_-z.js} +2 -2
  69. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-B-s11SgN.js.map → cose-bilkent-S5V4N54A-Blf43_-z.js.map} +1 -1
  70. package/webapp/dist/assets/{dagre-KLK3FWXG-DmQFV2qK.js → dagre-KLK3FWXG-BLTVAduG.js} +7 -7
  71. package/webapp/dist/assets/{dagre-KLK3FWXG-DmQFV2qK.js.map → dagre-KLK3FWXG-BLTVAduG.js.map} +1 -1
  72. package/webapp/dist/assets/{diagram-E7M64L7V-QRaBfST8.js → diagram-E7M64L7V-eHyGJiW2.js} +8 -8
  73. package/webapp/dist/assets/{diagram-E7M64L7V-QRaBfST8.js.map → diagram-E7M64L7V-eHyGJiW2.js.map} +1 -1
  74. package/webapp/dist/assets/{diagram-IFDJBPK2-lrWn1Obo.js → diagram-IFDJBPK2-BzZS2fFL.js} +7 -7
  75. package/webapp/dist/assets/{diagram-IFDJBPK2-lrWn1Obo.js.map → diagram-IFDJBPK2-BzZS2fFL.js.map} +1 -1
  76. package/webapp/dist/assets/{diagram-P4PSJMXO-sTU7Hh-Y.js → diagram-P4PSJMXO-CUUSxkwu.js} +7 -7
  77. package/webapp/dist/assets/{diagram-P4PSJMXO-sTU7Hh-Y.js.map → diagram-P4PSJMXO-CUUSxkwu.js.map} +1 -1
  78. package/webapp/dist/assets/{erDiagram-INFDFZHY-Cx6jc9Wq.js → erDiagram-INFDFZHY-DF_doi5_.js} +5 -5
  79. package/webapp/dist/assets/{erDiagram-INFDFZHY-Cx6jc9Wq.js.map → erDiagram-INFDFZHY-DF_doi5_.js.map} +1 -1
  80. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-DfGI49Dz.js → flowDiagram-PKNHOUZH-YcqCG3mt.js} +7 -7
  81. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-DfGI49Dz.js.map → flowDiagram-PKNHOUZH-YcqCG3mt.js.map} +1 -1
  82. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-nrcHWWaM.js → ganttDiagram-A5KZAMGK-BZNRb7SP.js} +3 -3
  83. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-nrcHWWaM.js.map → ganttDiagram-A5KZAMGK-BZNRb7SP.js.map} +1 -1
  84. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js → gitGraphDiagram-K3NZZRJ6-nAdujBg_.js} +8 -8
  85. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js.map → gitGraphDiagram-K3NZZRJ6-nAdujBg_.js.map} +1 -1
  86. package/webapp/dist/assets/{graph-R5G-y8tB.js → graph-Cv-ZJ4Fl.js} +3 -3
  87. package/webapp/dist/assets/{graph-R5G-y8tB.js.map → graph-Cv-ZJ4Fl.js.map} +1 -1
  88. package/webapp/dist/assets/{index--fy89xGh.js → index-Dhf_wAfo.js} +332 -134
  89. package/webapp/dist/assets/index-Dhf_wAfo.js.map +1 -0
  90. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-PIoZHr7s.js → infoDiagram-LFFYTUFH-CwtMOnIR.js} +6 -6
  91. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-PIoZHr7s.js.map → infoDiagram-LFFYTUFH-CwtMOnIR.js.map} +1 -1
  92. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-oCM-LYk1.js → ishikawaDiagram-PHBUUO56-Cfb8MPoG.js} +2 -2
  93. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-oCM-LYk1.js.map → ishikawaDiagram-PHBUUO56-Cfb8MPoG.js.map} +1 -1
  94. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-C2qidjQ5.js → journeyDiagram-4ABVD52K-u0xpmaEL.js} +5 -5
  95. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-C2qidjQ5.js.map → journeyDiagram-4ABVD52K-u0xpmaEL.js.map} +1 -1
  96. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-Du0TC8WS.js → kanban-definition-K7BYSVSG-BuwDgdXi.js} +3 -3
  97. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-Du0TC8WS.js.map → kanban-definition-K7BYSVSG-BuwDgdXi.js.map} +1 -1
  98. package/webapp/dist/assets/{layout-VmEo1OEB.js → layout-DwFR5fz7.js} +5 -5
  99. package/webapp/dist/assets/{layout-VmEo1OEB.js.map → layout-DwFR5fz7.js.map} +1 -1
  100. package/webapp/dist/assets/{linear-B662YHAc.js → linear-DK9kuyt6.js} +2 -2
  101. package/webapp/dist/assets/{linear-B662YHAc.js.map → linear-DK9kuyt6.js.map} +1 -1
  102. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-D7arZj95.js → mindmap-definition-YRQLILUH-BP26yHUE.js} +4 -4
  103. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-D7arZj95.js.map → mindmap-definition-YRQLILUH-BP26yHUE.js.map} +1 -1
  104. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DvjPP4PA.js → pieDiagram-SKSYHLDU-Dg05ljR9.js} +8 -8
  105. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DvjPP4PA.js.map → pieDiagram-SKSYHLDU-Dg05ljR9.js.map} +1 -1
  106. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-B_JUGMj_.js → quadrantDiagram-337W2JSQ-BZwWQDeQ.js} +3 -3
  107. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-B_JUGMj_.js.map → quadrantDiagram-337W2JSQ-BZwWQDeQ.js.map} +1 -1
  108. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-DF0mpvE3.js → requirementDiagram-Z7DCOOCP-IZuN0Vt3.js} +4 -4
  109. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-DF0mpvE3.js.map → requirementDiagram-Z7DCOOCP-IZuN0Vt3.js.map} +1 -1
  110. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-CoXlxv00.js → sankeyDiagram-WA2Y5GQK-BsVp8N4k.js} +2 -2
  111. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-CoXlxv00.js.map → sankeyDiagram-WA2Y5GQK-BsVp8N4k.js.map} +1 -1
  112. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-DYqT5Pg7.js → sequenceDiagram-2WXFIKYE-BkAT5uON.js} +4 -4
  113. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-DYqT5Pg7.js.map → sequenceDiagram-2WXFIKYE-BkAT5uON.js.map} +1 -1
  114. package/webapp/dist/assets/{stateDiagram-RAJIS63D-D9b1mN8-.js → stateDiagram-RAJIS63D-qk_ajPAy.js} +9 -9
  115. package/webapp/dist/assets/{stateDiagram-RAJIS63D-D9b1mN8-.js.map → stateDiagram-RAJIS63D-qk_ajPAy.js.map} +1 -1
  116. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-DNzgudL_.js → stateDiagram-v2-FVOUBMTO-CNtP8Lfm.js} +5 -5
  117. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-DNzgudL_.js.map → stateDiagram-v2-FVOUBMTO-CNtP8Lfm.js.map} +1 -1
  118. package/webapp/dist/assets/{timeline-definition-YZTLITO2-CkyKUY7A.js → timeline-definition-YZTLITO2-DLU-Pyr1.js} +3 -3
  119. package/webapp/dist/assets/{timeline-definition-YZTLITO2-CkyKUY7A.js.map → timeline-definition-YZTLITO2-DLU-Pyr1.js.map} +1 -1
  120. package/webapp/dist/assets/{treemap-KZPCXAKY-CZd09kF-.js → treemap-KZPCXAKY-hHk6fxaq.js} +5 -5
  121. package/webapp/dist/assets/{treemap-KZPCXAKY-CZd09kF-.js.map → treemap-KZPCXAKY-hHk6fxaq.js.map} +1 -1
  122. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-BxVF5Olo.js → vennDiagram-LZ73GAT5-CM1zd5GO.js} +2 -2
  123. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-BxVF5Olo.js.map → vennDiagram-LZ73GAT5-CM1zd5GO.js.map} +1 -1
  124. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-BRwRloPc.js → xychartDiagram-JWTSCODW-CccDexUn.js} +3 -3
  125. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-BRwRloPc.js.map → xychartDiagram-JWTSCODW-CccDexUn.js.map} +1 -1
  126. package/webapp/dist/index.html +1 -1
  127. package/webapp/dist/assets/index--fy89xGh.js.map +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KLK3FWXG-DmQFV2qK.js","assets/graph-R5G-y8tB.js","assets/_baseUniq-DAeYoL6j.js","assets/layout-VmEo1OEB.js","assets/_basePickBy-B7M9Q0Fa.js","assets/clone-BX5z8WVZ.js","assets/cose-bilkent-S5V4N54A-B-s11SgN.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-IC4MRINW-1qErOIgG.js","assets/chunk-JSJVCQXG-WA_BLIm9.js","assets/flowDiagram-PKNHOUZH-DfGI49Dz.js","assets/chunk-FMBD7UC4-C-BdCe4C.js","assets/chunk-55IACEB6-D6LDTDBy.js","assets/chunk-KX2RTZJC-CA7sDJO5.js","assets/channel-DkgZHNUe.js","assets/erDiagram-INFDFZHY-Cx6jc9Wq.js","assets/gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js","assets/chunk-4BX2VUAB-BmdMbU9v.js","assets/chunk-QZHKN3VN-Bo1VMcph.js","assets/treemap-KZPCXAKY-CZd09kF-.js","assets/ganttDiagram-A5KZAMGK-nrcHWWaM.js","assets/linear-B662YHAc.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-LFFYTUFH-PIoZHr7s.js","assets/pieDiagram-SKSYHLDU-DvjPP4PA.js","assets/arc-Bh4nDbNR.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-337W2JSQ-B_JUGMj_.js","assets/xychartDiagram-JWTSCODW-BRwRloPc.js","assets/requirementDiagram-Z7DCOOCP-DF0mpvE3.js","assets/sequenceDiagram-2WXFIKYE-DYqT5Pg7.js","assets/classDiagram-VBA2DB6C-BqKuyb49.js","assets/chunk-WL4C6EOR-B-Pk44be.js","assets/classDiagram-v2-RAHNMMFH-BqKuyb49.js","assets/stateDiagram-RAJIS63D-D9b1mN8-.js","assets/chunk-NQ4KR5QH-wlvxalE3.js","assets/stateDiagram-v2-FVOUBMTO-DNzgudL_.js","assets/journeyDiagram-4ABVD52K-C2qidjQ5.js","assets/timeline-definition-YZTLITO2-CkyKUY7A.js","assets/mindmap-definition-YRQLILUH-D7arZj95.js","assets/kanban-definition-K7BYSVSG-Du0TC8WS.js","assets/sankeyDiagram-WA2Y5GQK-CoXlxv00.js","assets/diagram-P4PSJMXO-sTU7Hh-Y.js","assets/diagram-IFDJBPK2-lrWn1Obo.js","assets/blockDiagram-WCTKOSBZ-CxIWLtpt.js","assets/architectureDiagram-2XIMDMQ5-CxqmdsIm.js","assets/diagram-E7M64L7V-QRaBfST8.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KLK3FWXG-BLTVAduG.js","assets/graph-Cv-ZJ4Fl.js","assets/_baseUniq-zKoHgk38.js","assets/layout-DwFR5fz7.js","assets/_basePickBy-B2wYdQcR.js","assets/clone-UCWLNsJ4.js","assets/cose-bilkent-S5V4N54A-Blf43_-z.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-IC4MRINW-BZC0c1Ke.js","assets/chunk-JSJVCQXG-Bz-hhsBJ.js","assets/flowDiagram-PKNHOUZH-YcqCG3mt.js","assets/chunk-FMBD7UC4-B2T04oKB.js","assets/chunk-55IACEB6-KdM20zpJ.js","assets/chunk-KX2RTZJC-B1TcA_CH.js","assets/channel-BP3Qyxui.js","assets/erDiagram-INFDFZHY-DF_doi5_.js","assets/gitGraphDiagram-K3NZZRJ6-nAdujBg_.js","assets/chunk-4BX2VUAB-BXABHFQC.js","assets/chunk-QZHKN3VN-BX453Nua.js","assets/treemap-KZPCXAKY-hHk6fxaq.js","assets/ganttDiagram-A5KZAMGK-BZNRb7SP.js","assets/linear-DK9kuyt6.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-LFFYTUFH-CwtMOnIR.js","assets/pieDiagram-SKSYHLDU-Dg05ljR9.js","assets/arc-D8bQ-Nzm.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-337W2JSQ-BZwWQDeQ.js","assets/xychartDiagram-JWTSCODW-CccDexUn.js","assets/requirementDiagram-Z7DCOOCP-IZuN0Vt3.js","assets/sequenceDiagram-2WXFIKYE-BkAT5uON.js","assets/classDiagram-VBA2DB6C-aWgCJGiX.js","assets/chunk-WL4C6EOR-COCTYZ-S.js","assets/classDiagram-v2-RAHNMMFH-aWgCJGiX.js","assets/stateDiagram-RAJIS63D-qk_ajPAy.js","assets/chunk-NQ4KR5QH-BwsfKfyl.js","assets/stateDiagram-v2-FVOUBMTO-CNtP8Lfm.js","assets/journeyDiagram-4ABVD52K-u0xpmaEL.js","assets/timeline-definition-YZTLITO2-DLU-Pyr1.js","assets/mindmap-definition-YRQLILUH-BP26yHUE.js","assets/kanban-definition-K7BYSVSG-BuwDgdXi.js","assets/sankeyDiagram-WA2Y5GQK-BsVp8N4k.js","assets/diagram-P4PSJMXO-CUUSxkwu.js","assets/diagram-IFDJBPK2-BzZS2fFL.js","assets/blockDiagram-WCTKOSBZ-BXPbS_wx.js","assets/architectureDiagram-2XIMDMQ5-BiimGQW5.js","assets/diagram-E7M64L7V-eHyGJiW2.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);
@@ -302,6 +302,7 @@ function getUiStrings(language2) {
302
302
  taskDocumentPlaceholder: "输入以搜索差遣牒(留空则默认 socializing.tsk)…",
303
303
  taskDocumentHelp: "从已有文档中选择,或输入自定义路径。留空则默认 socializing.tsk。Tab 补全公共前缀;Enter 选择高亮项。",
304
304
  taskDocumentNoMatches: "没有匹配的差遣牒",
305
+ taskDocumentSuggestionLoadFailedPrefix: "加载差遣牒候选失败:",
305
306
  teammateLabel: "队友:",
306
307
  shadowMembersOption: "影子成员…",
307
308
  shadowMembersLabel: "影子成员:",
@@ -664,6 +665,7 @@ function getUiStrings(language2) {
664
665
  taskDocumentPlaceholder: "Type to search Taskdocs (leave blank for socializing.tsk)…",
665
666
  taskDocumentHelp: "Select from existing Taskdocs or enter a custom path. Leave blank to use socializing.tsk. Tab completes common prefix; Enter selects highlighted item.",
666
667
  taskDocumentNoMatches: "No matching Taskdocs found",
668
+ taskDocumentSuggestionLoadFailedPrefix: "Failed to load Taskdoc suggestions: ",
667
669
  teammateLabel: "Teammate:",
668
670
  shadowMembersOption: "Shadow Members…",
669
671
  shadowMembersLabel: "Shadow Members:",
@@ -1133,6 +1135,26 @@ Work language is not known yet (connect first).`;
1133
1135
  }
1134
1136
  }
1135
1137
  }
1138
+ function mergeAbortSignals(signals) {
1139
+ if (typeof AbortSignal.any === "function") return AbortSignal.any(signals);
1140
+ if (signals.some((signal) => signal.aborted)) {
1141
+ const controller2 = new AbortController();
1142
+ controller2.abort();
1143
+ return controller2.signal;
1144
+ }
1145
+ if (signals.length === 1) return signals[0];
1146
+ const controller = new AbortController();
1147
+ for (const signal of signals) {
1148
+ signal.addEventListener(
1149
+ "abort",
1150
+ () => {
1151
+ if (!controller.signal.aborted) controller.abort();
1152
+ },
1153
+ { once: true }
1154
+ );
1155
+ }
1156
+ return controller.signal;
1157
+ }
1136
1158
  function isApiErrorPayload(value) {
1137
1159
  if (typeof value !== "object" || value === null) return false;
1138
1160
  const record = value;
@@ -1195,7 +1217,7 @@ class ApiClient {
1195
1217
  * Make an HTTP request
1196
1218
  */
1197
1219
  async request(endpoint, options = {}) {
1198
- const { method = "GET", headers = {}, body, timeout: timeout2 = this.timeout } = options;
1220
+ const { method = "GET", headers = {}, body, timeout: timeout2 = this.timeout, signal } = options;
1199
1221
  const url = `${this.baseURL}${endpoint}`;
1200
1222
  const isFormData = typeof FormData !== "undefined" && body instanceof FormData;
1201
1223
  const mergedHeaders = {
@@ -1213,7 +1235,9 @@ class ApiClient {
1213
1235
  // The WebUI relies on backend-pushed events and fresh API reads for multi-tab convergence.
1214
1236
  // Avoid browser caching (can break run-control count freshness and other UX gates).
1215
1237
  cache: "no-store",
1216
- signal: AbortSignal.timeout(timeout2)
1238
+ signal: mergeAbortSignals(
1239
+ signal ? [signal, AbortSignal.timeout(timeout2)] : [AbortSignal.timeout(timeout2)]
1240
+ )
1217
1241
  };
1218
1242
  if (body && method !== "GET") {
1219
1243
  if (isFormData) {
@@ -1252,6 +1276,13 @@ class ApiClient {
1252
1276
  timeoutError.code = "TIMEOUT";
1253
1277
  throw timeoutError;
1254
1278
  }
1279
+ if (error2 instanceof Error && error2.name === "AbortError") {
1280
+ return {
1281
+ success: false,
1282
+ error: "Request aborted",
1283
+ timestamp: timeExports.formatUnifiedTimestamp(/* @__PURE__ */ new Date())
1284
+ };
1285
+ }
1255
1286
  const apiError = error2 instanceof Error ? error2 : new Error("Unknown error");
1256
1287
  console.error("API request failed", {
1257
1288
  method,
@@ -1588,6 +1619,12 @@ class ApiClient {
1588
1619
  async getTaskDocuments() {
1589
1620
  return this.request("/api/task-documents");
1590
1621
  }
1622
+ async searchTaskDocumentSuggestions(query, options) {
1623
+ const params = new URLSearchParams({ q: query });
1624
+ return this.request(`/api/task-documents/suggestions?${params.toString()}`, {
1625
+ signal: options?.signal
1626
+ });
1627
+ }
1591
1628
  async getToolAvailability(options) {
1592
1629
  const params = new URLSearchParams({ ts: String(Date.now()) });
1593
1630
  if (typeof options?.agentId === "string" && options.agentId.trim() !== "") {
@@ -2195,6 +2232,14 @@ function requireStorage() {
2195
2232
  }
2196
2233
  return storage;
2197
2234
  }
2235
+ var taskdoc = {};
2236
+ var hasRequiredTaskdoc;
2237
+ function requireTaskdoc() {
2238
+ if (hasRequiredTaskdoc) return taskdoc;
2239
+ hasRequiredTaskdoc = 1;
2240
+ Object.defineProperty(taskdoc, "__esModule", { value: true });
2241
+ return taskdoc;
2242
+ }
2198
2243
  var toolsRegistry = {};
2199
2244
  var hasRequiredToolsRegistry;
2200
2245
  function requireToolsRegistry() {
@@ -2260,6 +2305,7 @@ function requireTypes() {
2260
2305
  __exportStar(requireSetup(), exports$1);
2261
2306
  __exportStar(requireSnippets(), exports$1);
2262
2307
  __exportStar(requireStorage(), exports$1);
2308
+ __exportStar(requireTaskdoc(), exports$1);
2263
2309
  __exportStar(requireToolsRegistry(), exports$1);
2264
2310
  __exportStar(requireWire(), exports$1);
2265
2311
  })(types);
@@ -4452,9 +4498,6 @@ class CreateDialogFlowController {
4452
4498
  return;
4453
4499
  }
4454
4500
  const strings = () => getUiStrings(this.deps.getLanguage());
4455
- const stripTaskdocSuffixForMatch = (value) => {
4456
- return value.endsWith(".tsk") ? value.slice(0, -4) : value;
4457
- };
4458
4501
  let createInFlight = false;
4459
4502
  let selectedSuggestionIndex = -1;
4460
4503
  let currentSuggestions = [];
@@ -4471,14 +4514,14 @@ class CreateDialogFlowController {
4471
4514
  let primingBoundAgentId = "";
4472
4515
  let taskdocSuggestionTimer = null;
4473
4516
  let pendingTaskdocSuggestionQuery = null;
4517
+ let taskdocSuggestionSeq = 0;
4518
+ let taskdocSuggestionLoading = false;
4519
+ let activeTaskdocSuggestionRequestKey = null;
4520
+ let taskdocSuggestionAbortController = null;
4521
+ let taskdocSuggestionFailureNotified = false;
4474
4522
  const isRecord = (value) => {
4475
4523
  return typeof value === "object" && value !== null && !Array.isArray(value);
4476
4524
  };
4477
- const searchableTaskDocuments = this.deps.getTaskDocuments().map((doc) => ({
4478
- ...doc,
4479
- normalizedRelativePathForMatch: stripTaskdocSuffixForMatch(doc.relativePath.toLowerCase()),
4480
- normalizedNameForMatch: stripTaskdocSuffixForMatch(doc.name.toLowerCase())
4481
- }));
4482
4525
  const normalizePreference = (value) => {
4483
4526
  if (!isRecord(value)) return null;
4484
4527
  const scriptRefsRaw = value["scriptRefs"];
@@ -4807,13 +4850,23 @@ class CreateDialogFlowController {
4807
4850
  }
4808
4851
  };
4809
4852
  const hideSuggestions = () => {
4853
+ taskdocSuggestionSeq += 1;
4854
+ taskdocSuggestionLoading = false;
4855
+ activeTaskdocSuggestionRequestKey = null;
4856
+ taskdocSuggestionAbortController?.abort();
4857
+ taskdocSuggestionAbortController = null;
4810
4858
  suggestions.innerHTML = "";
4811
4859
  suggestions.style.display = "none";
4812
4860
  selectedSuggestionIndex = -1;
4861
+ currentSuggestions = [];
4813
4862
  };
4814
4863
  const hasVisibleSuggestions = () => {
4815
4864
  return suggestions.style.display !== "none" && suggestions.innerHTML.trim() !== "";
4816
4865
  };
4866
+ const normalizeTaskdocSuggestionRequestKey = (query) => {
4867
+ const normalized = query.trim().toLowerCase();
4868
+ return normalized.endsWith(".tsk") ? normalized.slice(0, -4) : normalized;
4869
+ };
4817
4870
  const closeModal = () => {
4818
4871
  if (createInFlight) return;
4819
4872
  this.close();
@@ -4941,51 +4994,66 @@ class CreateDialogFlowController {
4941
4994
  setSelectedPrimingScript(scriptRef);
4942
4995
  setPrimingMoreVisible(false);
4943
4996
  });
4944
- const updateSuggestions = (query) => {
4945
- const normalizedRaw = query.trim().toLowerCase();
4997
+ const renderNoTaskdocSuggestions = () => {
4998
+ const t2 = strings();
4999
+ suggestions.innerHTML = `<div class="no-suggestions">${htmlExports.escapeHtml(t2.taskDocumentNoMatches)}</div>`;
5000
+ suggestions.style.display = "block";
5001
+ selectedSuggestionIndex = -1;
5002
+ currentSuggestions = [];
5003
+ };
5004
+ const updateSuggestions = async (query) => {
5005
+ const normalizedRaw = query.trim();
5006
+ const requestSeq = taskdocSuggestionSeq + 1;
5007
+ taskdocSuggestionSeq = requestSeq;
4946
5008
  if (!normalizedRaw) {
4947
5009
  hideSuggestions();
4948
5010
  return;
4949
5011
  }
4950
- const normalized = stripTaskdocSuffixForMatch(normalizedRaw);
4951
- if (!normalized) {
4952
- hideSuggestions();
4953
- return;
4954
- }
4955
- currentSuggestions = searchableTaskDocuments.filter((doc) => {
4956
- return doc.normalizedRelativePathForMatch.includes(normalized) || doc.normalizedNameForMatch.includes(normalized);
4957
- }).map((doc) => ({
4958
- ...doc,
4959
- _score: (() => {
4960
- return this.calculateSortScore(
4961
- doc.normalizedNameForMatch.includes(normalized),
4962
- doc.normalizedRelativePathForMatch.includes(normalized),
4963
- doc.normalizedNameForMatch.startsWith(normalized),
4964
- doc.normalizedRelativePathForMatch.startsWith(normalized),
4965
- doc.normalizedNameForMatch === normalized
5012
+ const requestKey = normalizeTaskdocSuggestionRequestKey(normalizedRaw);
5013
+ activeTaskdocSuggestionRequestKey = requestKey;
5014
+ taskdocSuggestionLoading = true;
5015
+ taskdocSuggestionAbortController?.abort();
5016
+ const abortController = new AbortController();
5017
+ taskdocSuggestionAbortController = abortController;
5018
+ try {
5019
+ const result = await this.deps.searchTaskDocumentSuggestions(normalizedRaw, {
5020
+ signal: abortController.signal
5021
+ });
5022
+ if (requestSeq !== taskdocSuggestionSeq) return;
5023
+ if (result.requestKey !== activeTaskdocSuggestionRequestKey) {
5024
+ throw new Error(
5025
+ `Taskdoc suggestion request key mismatch: expected ${String(
5026
+ activeTaskdocSuggestionRequestKey
5027
+ )}, got ${result.requestKey}`
4966
5028
  );
4967
- })()
4968
- })).sort((a2, b2) => {
4969
- if (a2._score !== b2._score) return b2._score - a2._score;
4970
- if (a2.name.length !== b2.name.length) return a2.name.length - b2.name.length;
4971
- return a2.name.localeCompare(b2.name);
4972
- }).slice(0, 50).map(({ _score, normalizedRelativePathForMatch, normalizedNameForMatch, ...doc }) => doc);
4973
- if (currentSuggestions.length === 0) {
4974
- const t2 = strings();
4975
- suggestions.innerHTML = `<div class="no-suggestions">${htmlExports.escapeHtml(t2.taskDocumentNoMatches)}</div>`;
5029
+ }
5030
+ taskdocSuggestionLoading = false;
5031
+ taskdocSuggestionAbortController = null;
5032
+ taskdocSuggestionFailureNotified = false;
5033
+ currentSuggestions = result.suggestions;
5034
+ if (currentSuggestions.length === 0) {
5035
+ renderNoTaskdocSuggestions();
5036
+ return;
5037
+ }
5038
+ suggestions.innerHTML = result.html;
4976
5039
  suggestions.style.display = "block";
4977
5040
  selectedSuggestionIndex = -1;
5041
+ } catch (error2) {
5042
+ if (requestSeq !== taskdocSuggestionSeq) return;
5043
+ taskdocSuggestionLoading = false;
5044
+ taskdocSuggestionAbortController = null;
5045
+ currentSuggestions = [];
5046
+ suggestions.style.display = "none";
5047
+ suggestions.innerHTML = "";
5048
+ console.error("Failed to load Taskdoc suggestions:", error2);
5049
+ if (!taskdocSuggestionFailureNotified) {
5050
+ taskdocSuggestionFailureNotified = true;
5051
+ const t2 = strings();
5052
+ const reason = error2 instanceof Error ? error2.message : t2.unknownError;
5053
+ this.deps.onToast(`${t2.taskDocumentSuggestionLoadFailedPrefix}${reason}`, "warning");
5054
+ }
4978
5055
  return;
4979
5056
  }
4980
- suggestions.innerHTML = currentSuggestions.map((doc, index) => {
4981
- const showName = doc.name.trim() !== "" && doc.name !== doc.relativePath;
4982
- const nameHtml = showName ? `<div class="suggestion-name">${htmlExports.escapeHtml(doc.name)}</div>` : "";
4983
- return `<div class="suggestion ${index === selectedSuggestionIndex ? "selected" : ""}" data-index="${String(index)}"><div class="suggestion-path">${htmlExports.escapeHtml(
4984
- doc.relativePath
4985
- )}</div>${nameHtml}</div>`;
4986
- }).join("");
4987
- suggestions.style.display = "block";
4988
- selectedSuggestionIndex = -1;
4989
5057
  };
4990
5058
  const flushPendingTaskdocSuggestions = () => {
4991
5059
  clearTaskdocSuggestionTimer();
@@ -4994,7 +5062,7 @@ class CreateDialogFlowController {
4994
5062
  }
4995
5063
  const query = pendingTaskdocSuggestionQuery;
4996
5064
  pendingTaskdocSuggestionQuery = null;
4997
- updateSuggestions(query);
5065
+ void updateSuggestions(query);
4998
5066
  };
4999
5067
  const scheduleTaskdocSuggestions = (query) => {
5000
5068
  pendingTaskdocSuggestionQuery = query;
@@ -5023,6 +5091,15 @@ class CreateDialogFlowController {
5023
5091
  });
5024
5092
  taskInput.addEventListener("keydown", (e2) => {
5025
5093
  if (e2.key === "ArrowDown" || e2.key === "ArrowUp" || e2.key === "Tab" || e2.key === "Enter") {
5094
+ if (pendingTaskdocSuggestionQuery !== null) {
5095
+ e2.preventDefault();
5096
+ flushPendingTaskdocSuggestions();
5097
+ return;
5098
+ }
5099
+ if (taskdocSuggestionLoading) {
5100
+ e2.preventDefault();
5101
+ return;
5102
+ }
5026
5103
  flushPendingTaskdocSuggestions();
5027
5104
  }
5028
5105
  if (e2.key === "Escape") {
@@ -5171,6 +5248,9 @@ class CreateDialogFlowController {
5171
5248
  this.teardownModalInteractions = () => {
5172
5249
  clearTaskdocSuggestionTimer();
5173
5250
  pendingTaskdocSuggestionQuery = null;
5251
+ activeTaskdocSuggestionRequestKey = null;
5252
+ taskdocSuggestionAbortController?.abort();
5253
+ taskdocSuggestionAbortController = null;
5174
5254
  };
5175
5255
  }
5176
5256
  normalizeTaskDocPath(raw) {
@@ -5189,14 +5269,6 @@ class CreateDialogFlowController {
5189
5269
  if (typeof icon2 === "string" && icon2 !== "") return icon2;
5190
5270
  return "🛠";
5191
5271
  }
5192
- calculateSortScore(nameMatch, pathMatch, nameStartsWith, pathStartsWith, nameExactMatch) {
5193
- if (nameExactMatch) return 100;
5194
- if (nameStartsWith) return 90;
5195
- if (pathStartsWith) return 80;
5196
- if (nameMatch) return 70;
5197
- if (pathMatch) return 60;
5198
- return 0;
5199
- }
5200
5272
  calculateCommonPrefix(strings) {
5201
5273
  if (strings.length === 0) return "";
5202
5274
  if (strings.length === 1) return strings[0];
@@ -98568,12 +98640,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
98568
98640
  registerLayoutLoaders([
98569
98641
  {
98570
98642
  name: "dagre",
98571
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-DmQFV2qK.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
98643
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-BLTVAduG.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
98572
98644
  },
98573
98645
  ...[
98574
98646
  {
98575
98647
  name: "cose-bilkent",
98576
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-B-s11SgN.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
98648
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-Blf43_-z.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
98577
98649
  }
98578
98650
  ]
98579
98651
  ]);
@@ -99013,7 +99085,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
99013
99085
  }, "detector");
99014
99086
  var loader = /* @__PURE__ */ __name(async () => {
99015
99087
  const { diagram: diagram2 } = await __vitePreload(async () => {
99016
- const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-1qErOIgG.js");
99088
+ const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-BZC0c1Ke.js");
99017
99089
  return { diagram: diagram22 };
99018
99090
  }, true ? __vite__mapDeps([8,9]) : void 0);
99019
99091
  return { id: id$1, diagram: diagram2 };
@@ -99033,7 +99105,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
99033
99105
  }, "detector");
99034
99106
  var loader2 = /* @__PURE__ */ __name(async () => {
99035
99107
  const { diagram: diagram2 } = await __vitePreload(async () => {
99036
- const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DfGI49Dz.js");
99108
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-YcqCG3mt.js");
99037
99109
  return { diagram: diagram22 };
99038
99110
  }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99039
99111
  return { id: id2, diagram: diagram2 };
@@ -99059,7 +99131,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
99059
99131
  }, "detector");
99060
99132
  var loader3 = /* @__PURE__ */ __name(async () => {
99061
99133
  const { diagram: diagram2 } = await __vitePreload(async () => {
99062
- const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DfGI49Dz.js");
99134
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-YcqCG3mt.js");
99063
99135
  return { diagram: diagram22 };
99064
99136
  }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99065
99137
  return { id: id3, diagram: diagram2 };
@@ -99076,7 +99148,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
99076
99148
  }, "detector");
99077
99149
  var loader4 = /* @__PURE__ */ __name(async () => {
99078
99150
  const { diagram: diagram2 } = await __vitePreload(async () => {
99079
- const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-Cx6jc9Wq.js");
99151
+ const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-DF_doi5_.js");
99080
99152
  return { diagram: diagram22 };
99081
99153
  }, true ? __vite__mapDeps([15,12,13,14]) : void 0);
99082
99154
  return { id: id4, diagram: diagram2 };
@@ -99093,7 +99165,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
99093
99165
  }, "detector");
99094
99166
  var loader5 = /* @__PURE__ */ __name(async () => {
99095
99167
  const { diagram: diagram2 } = await __vitePreload(async () => {
99096
- const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-D8ivAqd6.js");
99168
+ const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-nAdujBg_.js");
99097
99169
  return { diagram: diagram22 };
99098
99170
  }, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
99099
99171
  return { id: id5, diagram: diagram2 };
@@ -99110,7 +99182,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
99110
99182
  }, "detector");
99111
99183
  var loader6 = /* @__PURE__ */ __name(async () => {
99112
99184
  const { diagram: diagram2 } = await __vitePreload(async () => {
99113
- const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-nrcHWWaM.js");
99185
+ const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-BZNRb7SP.js");
99114
99186
  return { diagram: diagram22 };
99115
99187
  }, true ? __vite__mapDeps([20,21,22,23]) : void 0);
99116
99188
  return { id: id6, diagram: diagram2 };
@@ -99127,7 +99199,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
99127
99199
  }, "detector");
99128
99200
  var loader7 = /* @__PURE__ */ __name(async () => {
99129
99201
  const { diagram: diagram2 } = await __vitePreload(async () => {
99130
- const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-PIoZHr7s.js");
99202
+ const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-CwtMOnIR.js");
99131
99203
  return { diagram: diagram22 };
99132
99204
  }, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
99133
99205
  return { id: id7, diagram: diagram2 };
@@ -99143,7 +99215,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
99143
99215
  }, "detector");
99144
99216
  var loader8 = /* @__PURE__ */ __name(async () => {
99145
99217
  const { diagram: diagram2 } = await __vitePreload(async () => {
99146
- const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-DvjPP4PA.js");
99218
+ const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-Dg05ljR9.js");
99147
99219
  return { diagram: diagram22 };
99148
99220
  }, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
99149
99221
  return { id: id8, diagram: diagram2 };
@@ -99159,7 +99231,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
99159
99231
  }, "detector");
99160
99232
  var loader9 = /* @__PURE__ */ __name(async () => {
99161
99233
  const { diagram: diagram2 } = await __vitePreload(async () => {
99162
- const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-B_JUGMj_.js");
99234
+ const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-BZwWQDeQ.js");
99163
99235
  return { diagram: diagram22 };
99164
99236
  }, true ? __vite__mapDeps([28,21,22,23]) : void 0);
99165
99237
  return { id: id9, diagram: diagram2 };
@@ -99176,7 +99248,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
99176
99248
  }, "detector");
99177
99249
  var loader10 = /* @__PURE__ */ __name(async () => {
99178
99250
  const { diagram: diagram2 } = await __vitePreload(async () => {
99179
- const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-BRwRloPc.js");
99251
+ const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-CccDexUn.js");
99180
99252
  return { diagram: diagram22 };
99181
99253
  }, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
99182
99254
  return { id: id10, diagram: diagram2 };
@@ -99193,7 +99265,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
99193
99265
  }, "detector");
99194
99266
  var loader11 = /* @__PURE__ */ __name(async () => {
99195
99267
  const { diagram: diagram2 } = await __vitePreload(async () => {
99196
- const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP-DF0mpvE3.js");
99268
+ const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP-IZuN0Vt3.js");
99197
99269
  return { diagram: diagram22 };
99198
99270
  }, true ? __vite__mapDeps([30,12,13]) : void 0);
99199
99271
  return { id: id11, diagram: diagram2 };
@@ -99210,7 +99282,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
99210
99282
  }, "detector");
99211
99283
  var loader12 = /* @__PURE__ */ __name(async () => {
99212
99284
  const { diagram: diagram2 } = await __vitePreload(async () => {
99213
- const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-DYqT5Pg7.js");
99285
+ const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-BkAT5uON.js");
99214
99286
  return { diagram: diagram22 };
99215
99287
  }, true ? __vite__mapDeps([31,9,18]) : void 0);
99216
99288
  return { id: id12, diagram: diagram2 };
@@ -99230,7 +99302,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
99230
99302
  }, "detector");
99231
99303
  var loader13 = /* @__PURE__ */ __name(async () => {
99232
99304
  const { diagram: diagram2 } = await __vitePreload(async () => {
99233
- const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-BqKuyb49.js");
99305
+ const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-aWgCJGiX.js");
99234
99306
  return { diagram: diagram22 };
99235
99307
  }, true ? __vite__mapDeps([32,33,11,9,12,13]) : void 0);
99236
99308
  return { id: id13, diagram: diagram2 };
@@ -99250,7 +99322,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
99250
99322
  }, "detector");
99251
99323
  var loader14 = /* @__PURE__ */ __name(async () => {
99252
99324
  const { diagram: diagram2 } = await __vitePreload(async () => {
99253
- const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-BqKuyb49.js");
99325
+ const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-aWgCJGiX.js");
99254
99326
  return { diagram: diagram22 };
99255
99327
  }, true ? __vite__mapDeps([34,33,11,9,12,13]) : void 0);
99256
99328
  return { id: id14, diagram: diagram2 };
@@ -99270,7 +99342,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
99270
99342
  }, "detector");
99271
99343
  var loader15 = /* @__PURE__ */ __name(async () => {
99272
99344
  const { diagram: diagram2 } = await __vitePreload(async () => {
99273
- const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D-D9b1mN8-.js");
99345
+ const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D-qk_ajPAy.js");
99274
99346
  return { diagram: diagram22 };
99275
99347
  }, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
99276
99348
  return { id: id15, diagram: diagram2 };
@@ -99293,7 +99365,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
99293
99365
  }, "detector");
99294
99366
  var loader16 = /* @__PURE__ */ __name(async () => {
99295
99367
  const { diagram: diagram2 } = await __vitePreload(async () => {
99296
- const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-DNzgudL_.js");
99368
+ const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-CNtP8Lfm.js");
99297
99369
  return { diagram: diagram22 };
99298
99370
  }, true ? __vite__mapDeps([37,36,12,13]) : void 0);
99299
99371
  return { id: id16, diagram: diagram2 };
@@ -99310,7 +99382,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
99310
99382
  }, "detector");
99311
99383
  var loader17 = /* @__PURE__ */ __name(async () => {
99312
99384
  const { diagram: diagram2 } = await __vitePreload(async () => {
99313
- const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K-C2qidjQ5.js");
99385
+ const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K-u0xpmaEL.js");
99314
99386
  return { diagram: diagram22 };
99315
99387
  }, true ? __vite__mapDeps([38,11,9,26]) : void 0);
99316
99388
  return { id: id17, diagram: diagram2 };
@@ -99380,7 +99452,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
99380
99452
  }, "detector");
99381
99453
  var loader18 = /* @__PURE__ */ __name(async () => {
99382
99454
  const { diagram: diagram2 } = await __vitePreload(async () => {
99383
- const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DfGI49Dz.js");
99455
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-YcqCG3mt.js");
99384
99456
  return { diagram: diagram22 };
99385
99457
  }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99386
99458
  return { id: id18, diagram: diagram2 };
@@ -99397,7 +99469,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
99397
99469
  }, "detector");
99398
99470
  var loader19 = /* @__PURE__ */ __name(async () => {
99399
99471
  const { diagram: diagram2 } = await __vitePreload(async () => {
99400
- const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-CkyKUY7A.js");
99472
+ const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-DLU-Pyr1.js");
99401
99473
  return { diagram: diagram22 };
99402
99474
  }, true ? __vite__mapDeps([39,26]) : void 0);
99403
99475
  return { id: id19, diagram: diagram2 };
@@ -99414,7 +99486,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
99414
99486
  }, "detector");
99415
99487
  var loader20 = /* @__PURE__ */ __name(async () => {
99416
99488
  const { diagram: diagram2 } = await __vitePreload(async () => {
99417
- const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-D7arZj95.js");
99489
+ const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-BP26yHUE.js");
99418
99490
  return { diagram: diagram22 };
99419
99491
  }, true ? __vite__mapDeps([40,12,13]) : void 0);
99420
99492
  return { id: id20, diagram: diagram2 };
@@ -99431,7 +99503,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
99431
99503
  }, "detector");
99432
99504
  var loader21 = /* @__PURE__ */ __name(async () => {
99433
99505
  const { diagram: diagram2 } = await __vitePreload(async () => {
99434
- const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-Du0TC8WS.js");
99506
+ const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-BuwDgdXi.js");
99435
99507
  return { diagram: diagram22 };
99436
99508
  }, true ? __vite__mapDeps([41,11]) : void 0);
99437
99509
  return { id: id21, diagram: diagram2 };
@@ -99448,7 +99520,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
99448
99520
  }, "detector");
99449
99521
  var loader22 = /* @__PURE__ */ __name(async () => {
99450
99522
  const { diagram: diagram2 } = await __vitePreload(async () => {
99451
- const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-CoXlxv00.js");
99523
+ const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-BsVp8N4k.js");
99452
99524
  return { diagram: diagram22 };
99453
99525
  }, true ? __vite__mapDeps([42,27,22]) : void 0);
99454
99526
  return { id: id22, diagram: diagram2 };
@@ -99465,7 +99537,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
99465
99537
  }, "detector");
99466
99538
  var loader23 = /* @__PURE__ */ __name(async () => {
99467
99539
  const { diagram: diagram2 } = await __vitePreload(async () => {
99468
- const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-sTU7Hh-Y.js");
99540
+ const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-CUUSxkwu.js");
99469
99541
  return { diagram: diagram22 };
99470
99542
  }, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
99471
99543
  return { id: id23, diagram: diagram2 };
@@ -99481,7 +99553,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
99481
99553
  }, "detector");
99482
99554
  var loader24 = /* @__PURE__ */ __name(async () => {
99483
99555
  const { diagram: diagram2 } = await __vitePreload(async () => {
99484
- const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-lrWn1Obo.js");
99556
+ const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-BzZS2fFL.js");
99485
99557
  return { diagram: diagram22 };
99486
99558
  }, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
99487
99559
  return { id: id24, diagram: diagram2 };
@@ -99497,7 +99569,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
99497
99569
  }, "detector");
99498
99570
  var loader25 = /* @__PURE__ */ __name(async () => {
99499
99571
  const { diagram: diagram2 } = await __vitePreload(async () => {
99500
- const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-CxIWLtpt.js");
99572
+ const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-BXPbS_wx.js");
99501
99573
  return { diagram: diagram22 };
99502
99574
  }, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
99503
99575
  return { id: id25, diagram: diagram2 };
@@ -99514,7 +99586,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
99514
99586
  }, "detector");
99515
99587
  var loader26 = /* @__PURE__ */ __name(async () => {
99516
99588
  const { diagram: diagram2 } = await __vitePreload(async () => {
99517
- const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-CxqmdsIm.js");
99589
+ const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-BiimGQW5.js");
99518
99590
  return { diagram: diagram22 };
99519
99591
  }, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
99520
99592
  return { id: id26, diagram: diagram2 };
@@ -99531,7 +99603,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
99531
99603
  }, "detector");
99532
99604
  var loader27 = /* @__PURE__ */ __name(async () => {
99533
99605
  const { diagram: diagram2 } = await __vitePreload(async () => {
99534
- const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-oCM-LYk1.js");
99606
+ const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-Cfb8MPoG.js");
99535
99607
  return { diagram: diagram22 };
99536
99608
  }, true ? [] : void 0);
99537
99609
  return { id: id27, diagram: diagram2 };
@@ -99547,7 +99619,7 @@ var detector28 = /* @__PURE__ */ __name((txt) => {
99547
99619
  }, "detector");
99548
99620
  var loader28 = /* @__PURE__ */ __name(async () => {
99549
99621
  const { diagram: diagram2 } = await __vitePreload(async () => {
99550
- const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-BxVF5Olo.js");
99622
+ const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-CM1zd5GO.js");
99551
99623
  return { diagram: diagram22 };
99552
99624
  }, true ? [] : void 0);
99553
99625
  return { id: id28, diagram: diagram2 };
@@ -99564,7 +99636,7 @@ var detector29 = /* @__PURE__ */ __name((txt) => {
99564
99636
  }, "detector");
99565
99637
  var loader29 = /* @__PURE__ */ __name(async () => {
99566
99638
  const { diagram: diagram2 } = await __vitePreload(async () => {
99567
- const { diagram: diagram22 } = await import("./diagram-E7M64L7V-QRaBfST8.js");
99639
+ const { diagram: diagram22 } = await import("./diagram-E7M64L7V-eHyGJiW2.js");
99568
99640
  return { diagram: diagram22 };
99569
99641
  }, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
99570
99642
  return { id: id29, diagram: diagram2 };
@@ -101471,6 +101543,40 @@ class DomindsDialogContainer extends HTMLElement {
101471
101543
  });
101472
101544
  return;
101473
101545
  }
101546
+ const callingExternalBtn = target.closest(
101547
+ ".calling-open-external-btn"
101548
+ );
101549
+ if (callingExternalBtn) {
101550
+ e2.preventDefault();
101551
+ e2.stopPropagation();
101552
+ const section = callingExternalBtn.closest(".calling-section");
101553
+ if (!section) return;
101554
+ const rootId = (section.getAttribute("data-callee-root-id") ?? "").trim();
101555
+ const selfId = (section.getAttribute("data-callee-dialog-id") ?? "").trim();
101556
+ if (rootId === "" || selfId === "") return;
101557
+ this.openDialogDeepLinkInNewTab({
101558
+ rootId,
101559
+ selfId
101560
+ });
101561
+ return;
101562
+ }
101563
+ const callingShareBtn = target.closest(
101564
+ ".calling-share-link-btn"
101565
+ );
101566
+ if (callingShareBtn) {
101567
+ e2.preventDefault();
101568
+ e2.stopPropagation();
101569
+ const section = callingShareBtn.closest(".calling-section");
101570
+ if (!section) return;
101571
+ const rootId = (section.getAttribute("data-callee-root-id") ?? "").trim();
101572
+ const selfId = (section.getAttribute("data-callee-dialog-id") ?? "").trim();
101573
+ if (rootId === "" || selfId === "") return;
101574
+ await this.copyDialogDeepLinkToClipboard({
101575
+ rootId,
101576
+ selfId
101577
+ });
101578
+ return;
101579
+ }
101474
101580
  const userAnswerCallsiteBtn = target.closest(
101475
101581
  ".user-answer-callsite-link-btn"
101476
101582
  );
@@ -102192,8 +102298,9 @@ class DomindsDialogContainer extends HTMLElement {
102192
102298
  }
102193
102299
  async handleDialogEvent(event) {
102194
102300
  if (event.dialog) {
102195
- const isCurrentDialog = this.currentDialog && event.dialog.selfId === this.currentDialog.selfId && event.dialog.rootId === this.currentDialog.rootId;
102196
- const isPreviousDialog = this.previousDialog && event.dialog.selfId === this.previousDialog.selfId && event.dialog.rootId === this.previousDialog.rootId;
102301
+ const eventDialog = event.type === "sideDialog_created_evt" ? event.parentDialog : event.dialog;
102302
+ const isCurrentDialog = this.currentDialog && eventDialog.selfId === this.currentDialog.selfId && eventDialog.rootId === this.currentDialog.rootId;
102303
+ const isPreviousDialog = this.previousDialog && eventDialog.selfId === this.previousDialog.selfId && eventDialog.rootId === this.previousDialog.rootId;
102197
102304
  if (!isCurrentDialog && !isPreviousDialog) {
102198
102305
  return;
102199
102306
  }
@@ -104001,6 +104108,22 @@ ${event.content}`;
104001
104108
  return;
104002
104109
  }
104003
104110
  const calleeDialogId = sideDialog.selfId;
104111
+ const assignment = sideDialogEvent.sideDialogNode.assignmentFromAsker;
104112
+ if (!assignment) {
104113
+ this.handleProtocolError(
104114
+ `sideDialog_created_evt missing assignmentFromAsker ${JSON.stringify({
104115
+ rootId: sideDialog.rootId,
104116
+ selfId: sideDialog.selfId,
104117
+ callName: sideDialogEvent.callName
104118
+ })}`
104119
+ );
104120
+ return;
104121
+ }
104122
+ this.upsertCallingSectionCalleeDialogLink({
104123
+ callId: assignment.callId,
104124
+ rootId: sideDialog.rootId,
104125
+ selfId: calleeDialogId
104126
+ });
104004
104127
  const host = this.getRootNode()?.host;
104005
104128
  if (host) {
104006
104129
  dispatchDomindsEvent(
@@ -104339,12 +104462,7 @@ ${event.content}`;
104339
104462
  const resolvedCourse = typeof course === "number" && Number.isFinite(course) ? course : this.currentCourse;
104340
104463
  if (typeof resolvedCourse !== "number" || !Number.isFinite(resolvedCourse)) return;
104341
104464
  const url = new URL(window.location.href);
104342
- url.searchParams.delete("rootId");
104343
- url.searchParams.delete("selfId");
104344
- url.searchParams.delete("course");
104345
- url.searchParams.delete("msg");
104346
- url.searchParams.delete("callId");
104347
- url.searchParams.delete("genseq");
104465
+ this.clearDeepLinkSearchParams(url);
104348
104466
  url.hash = "";
104349
104467
  url.pathname = `/dl/callsite`;
104350
104468
  url.searchParams.set("rootId", dialog2.rootId);
@@ -104355,6 +104473,27 @@ ${event.content}`;
104355
104473
  const w2 = window.open(urlStr, "_blank", "noopener,noreferrer");
104356
104474
  if (w2) w2.opener = null;
104357
104475
  }
104476
+ buildDialogDeepLinkUrl(params) {
104477
+ const url = new URL(window.location.href);
104478
+ this.clearDeepLinkSearchParams(url);
104479
+ url.hash = "";
104480
+ url.pathname = `/dl/dialog`;
104481
+ url.searchParams.set("rootId", params.rootId);
104482
+ url.searchParams.set("selfId", params.selfId);
104483
+ if (typeof params.course === "number" && Number.isFinite(params.course)) {
104484
+ url.searchParams.set("course", String(Math.floor(params.course)));
104485
+ }
104486
+ return url;
104487
+ }
104488
+ openDialogDeepLinkInNewTab(params) {
104489
+ const url = this.buildDialogDeepLinkUrl(params);
104490
+ const w2 = window.open(url.toString(), "_blank", "noopener,noreferrer");
104491
+ if (w2) w2.opener = null;
104492
+ }
104493
+ async copyDialogDeepLinkToClipboard(params) {
104494
+ const url = this.buildDialogDeepLinkUrl(params);
104495
+ await this.copyLinkToClipboardWithToast(url.toString());
104496
+ }
104358
104497
  async copyCallSiteDeepLinkToClipboard(callId, target) {
104359
104498
  const dialog2 = this.currentDialog;
104360
104499
  if (!dialog2) return;
@@ -104364,12 +104503,7 @@ ${event.content}`;
104364
104503
  const resolvedCourse = typeof course === "number" && Number.isFinite(course) ? course : this.currentCourse;
104365
104504
  if (typeof resolvedCourse !== "number" || !Number.isFinite(resolvedCourse)) return;
104366
104505
  const url = new URL(window.location.href);
104367
- url.searchParams.delete("rootId");
104368
- url.searchParams.delete("selfId");
104369
- url.searchParams.delete("course");
104370
- url.searchParams.delete("msg");
104371
- url.searchParams.delete("callId");
104372
- url.searchParams.delete("genseq");
104506
+ this.clearDeepLinkSearchParams(url);
104373
104507
  url.hash = "";
104374
104508
  url.pathname = `/dl/callsite`;
104375
104509
  url.searchParams.set("rootId", dialog2.rootId);
@@ -104384,12 +104518,7 @@ ${event.content}`;
104384
104518
  if (!dialog2 || typeof course !== "number") return;
104385
104519
  if (!Number.isFinite(genseq) || genseq <= 0) return;
104386
104520
  const url = new URL(window.location.href);
104387
- url.searchParams.delete("rootId");
104388
- url.searchParams.delete("selfId");
104389
- url.searchParams.delete("course");
104390
- url.searchParams.delete("msg");
104391
- url.searchParams.delete("callId");
104392
- url.searchParams.delete("genseq");
104521
+ this.clearDeepLinkSearchParams(url);
104393
104522
  url.hash = "";
104394
104523
  url.pathname = `/dl/genseq`;
104395
104524
  url.searchParams.set("rootId", dialog2.rootId);
@@ -104398,6 +104527,15 @@ ${event.content}`;
104398
104527
  url.searchParams.set("genseq", String(Math.floor(genseq)));
104399
104528
  await this.copyLinkToClipboardWithToast(url.toString());
104400
104529
  }
104530
+ clearDeepLinkSearchParams(url) {
104531
+ url.searchParams.delete("rootId");
104532
+ url.searchParams.delete("selfId");
104533
+ url.searchParams.delete("course");
104534
+ url.searchParams.delete("msg");
104535
+ url.searchParams.delete("callId");
104536
+ url.searchParams.delete("genseq");
104537
+ url.searchParams.delete("qid");
104538
+ }
104401
104539
  emitToast(message, kind = "info") {
104402
104540
  dispatchDomindsEvent(this, "ui-toast", { message, kind }, { bubbles: true, composed: true });
104403
104541
  }
@@ -104517,6 +104655,33 @@ ${event.content}`;
104517
104655
  headerRight.appendChild(actions);
104518
104656
  }
104519
104657
  }
104658
+ upsertCallingSectionCalleeDialogLink(args) {
104659
+ const callId = args.callId.trim();
104660
+ const rootId = args.rootId.trim();
104661
+ const selfId = args.selfId.trim();
104662
+ if (callId === "" || rootId === "" || selfId === "") {
104663
+ this.handleProtocolError(
104664
+ `sideDialog_created_evt invalid callee dialog link ${JSON.stringify(args)}`
104665
+ );
104666
+ return;
104667
+ }
104668
+ const fromCache = this.callingSectionByCallId.get(callId);
104669
+ const fromDom = this.shadowRoot ? this.shadowRoot.querySelector(
104670
+ `.calling-section[data-call-id="${CSS.escape(callId)}"]`
104671
+ ) : null;
104672
+ const section = fromCache ?? fromDom;
104673
+ if (!section) {
104674
+ this.handleProtocolError(
104675
+ `sideDialog_created_evt has no matching call site bubble ${JSON.stringify(args)}`
104676
+ );
104677
+ return;
104678
+ }
104679
+ section.setAttribute("data-callee-root-id", rootId);
104680
+ section.setAttribute("data-callee-dialog-id", selfId);
104681
+ section.querySelectorAll(".calling-actions button").forEach((button) => {
104682
+ button.disabled = false;
104683
+ });
104684
+ }
104520
104685
  buildGenerationBubbleHeaderHtml(timestamp2) {
104521
104686
  const t2 = getUiStrings(this.uiLanguage);
104522
104687
  const authorLabel = this.getAuthorLabel("assistant");
@@ -104853,7 +105018,9 @@ ${event.content}`;
104853
105018
  }
104854
105019
  // Create calling section (inside markdown section) - streaming mode for tellask call blocks
104855
105020
  createCallingSection(callName, firstMention) {
105021
+ const t2 = getUiStrings(this.uiLanguage);
104856
105022
  const isFbr = callName === "freshBootsReasoning";
105023
+ const isSideDialogCall = callName === "tellask" || callName === "tellaskSessionless" || callName === "freshBootsReasoning";
104857
105024
  const el = document.createElement("div");
104858
105025
  el.className = isFbr ? "calling-section fbr" : "calling-section";
104859
105026
  el.setAttribute("data-first-mention", firstMention);
@@ -104867,6 +105034,14 @@ ${event.content}`;
104867
105034
  <span class="calling-headline"></span>
104868
105035
  <span class="calling-timing"></span>
104869
105036
  </div>
105037
+ ${isSideDialogCall ? `<div class="calling-actions">
105038
+ <button type="button" class="callsite-icon-btn calling-open-external-btn" aria-label="${this.escapeHtml(t2.q4hOpenInNewTabTitle)}" title="${this.escapeHtml(t2.q4hOpenInNewTabTitle)}" disabled>
105039
+ <span class="icon-mask dc-icon-external" aria-hidden="true"></span>
105040
+ </button>
105041
+ <button type="button" class="callsite-icon-btn calling-share-link-btn" aria-label="${this.escapeHtml(t2.q4hCopyLinkTitle)}" title="${this.escapeHtml(t2.q4hCopyLinkTitle)}" disabled>
105042
+ <span class="icon-mask dc-icon-link" aria-hidden="true"></span>
105043
+ </button>
105044
+ </div>` : ""}
104870
105045
  </div>
104871
105046
  <div class="calling-content">
104872
105047
  <div class="calling-body"></div>
@@ -105544,6 +105719,17 @@ ${event.content}`;
105544
105719
  color: var(--dominds-fg, var(--color-fg-primary, #333));
105545
105720
  }
105546
105721
 
105722
+ .callsite-icon-btn:disabled {
105723
+ cursor: default;
105724
+ opacity: 0.45;
105725
+ }
105726
+
105727
+ .callsite-icon-btn:disabled:hover {
105728
+ background: transparent;
105729
+ border-color: transparent;
105730
+ color: var(--dominds-muted, var(--color-fg-tertiary, #64748b));
105731
+ }
105732
+
105547
105733
  .callsite-icon-btn:focus-visible {
105548
105734
  outline: 2px solid color-mix(in srgb, var(--dominds-primary, #007acc) 55%, transparent);
105549
105735
  outline-offset: 2px;
@@ -105885,6 +106071,15 @@ ${event.content}`;
105885
106071
  flex-direction: column;
105886
106072
  gap: 2px;
105887
106073
  min-width: 0;
106074
+ flex: 1 1 auto;
106075
+ }
106076
+
106077
+ .calling-actions {
106078
+ display: inline-flex;
106079
+ align-items: center;
106080
+ gap: 5px;
106081
+ margin-left: auto;
106082
+ flex-shrink: 0;
105888
106083
  }
105889
106084
 
105890
106085
  .calling-icon {
@@ -115216,7 +115411,6 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
115216
115411
  this.retryCountdownTimer = null;
115217
115412
  this.teamMembers = [];
115218
115413
  this.defaultResponder = null;
115219
- this.taskDocuments = [];
115220
115414
  this.currentTheme = this.getCurrentTheme();
115221
115415
  this.backendRtws = "";
115222
115416
  this.backendVersion = "";
@@ -115243,7 +115437,28 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
115243
115437
  getLanguage: () => this.uiLanguage,
115244
115438
  getTeamMembers: () => this.teamMembers,
115245
115439
  getDefaultResponder: () => this.defaultResponder,
115246
- getTaskDocuments: () => this.taskDocuments,
115440
+ searchTaskDocumentSuggestions: async (query, options) => {
115441
+ const api = getApiClient();
115442
+ const resp = await api.searchTaskDocumentSuggestions(query, { signal: options?.signal });
115443
+ if (!resp.success) {
115444
+ if (resp.status === 401) {
115445
+ this.onAuthRejected("api");
115446
+ throw new Error("Authentication required");
115447
+ }
115448
+ throw new Error(resp.error || "Failed to load Taskdoc suggestions");
115449
+ }
115450
+ const payload = resp.data;
115451
+ if (!payload || !payload.success) {
115452
+ throw new Error(
115453
+ payload && !payload.success ? payload.error : "Invalid Taskdoc suggestion payload"
115454
+ );
115455
+ }
115456
+ return {
115457
+ requestKey: payload.requestKey,
115458
+ suggestions: payload.suggestions,
115459
+ html: payload.html
115460
+ };
115461
+ },
115247
115462
  listPrimingScripts: async (agentId) => {
115248
115463
  const api = getApiClient();
115249
115464
  const resp = await api.listPrimingScripts(agentId);
@@ -121984,7 +122199,7 @@ ${content}`;
121984
122199
  this.teamMembersLoadState = { kind: "loading" };
121985
122200
  this.updateNewDialogButtonState();
121986
122201
  }
121987
- await Promise.all([this.loadDialogs(), this.loadTeamMembers(), this.loadTaskDocuments()]);
122202
+ await Promise.all([this.loadDialogs(), this.loadTeamMembers()]);
121988
122203
  this.continuePendingDeepLink();
121989
122204
  }
121990
122205
  parseDeepLinkFromUrl() {
@@ -123213,29 +123428,6 @@ ${content}`;
123213
123428
  this.updateNewDialogButtonState();
123214
123429
  }
123215
123430
  }
123216
- async loadTaskDocuments() {
123217
- try {
123218
- const api = getApiClient();
123219
- const resp = await api.getTaskDocuments();
123220
- if (!resp.success) {
123221
- if (resp.status === 401) {
123222
- this.onAuthRejected("api");
123223
- return;
123224
- }
123225
- return;
123226
- }
123227
- const data = resp.data;
123228
- if (data && data.success && data.taskDocuments) {
123229
- this.taskDocuments = data.taskDocuments.map((doc) => ({
123230
- path: doc.path,
123231
- relativePath: doc.relativePath,
123232
- name: doc.name
123233
- }));
123234
- }
123235
- } catch (error2) {
123236
- console.error("Failed to load Taskdocs:", error2);
123237
- }
123238
- }
123239
123431
  validateDialogTaskDocPaths(dialogs) {
123240
123432
  dialogs.forEach((dialog2, index) => {
123241
123433
  if (!dialog2.taskDocPath || dialog2.taskDocPath.trim() === "") {
@@ -125090,6 +125282,12 @@ ${content}`;
125090
125282
  node2.lastModified || message.timestamp,
125091
125283
  node2.status === "running" ? { suppressRender: true } : void 0
125092
125284
  );
125285
+ const dialogContainer = this.shadowRoot?.querySelector(
125286
+ "#dialog-container"
125287
+ );
125288
+ if (dialogContainer) {
125289
+ await dialogContainer.handleDialogEvent(message);
125290
+ }
125093
125291
  break;
125094
125292
  }
125095
125293
  case "new_q4h_asked": {
@@ -127979,4 +128177,4 @@ export {
127979
128177
  purify as y,
127980
128178
  clear$2 as z
127981
128179
  };
127982
- //# sourceMappingURL=index--fy89xGh.js.map
128180
+ //# sourceMappingURL=index-Dhf_wAfo.js.map