dominds 1.22.0 → 1.23.0

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 (145) hide show
  1. package/dist/access-control.js +2 -2
  2. package/dist/dialog-instance-registry.js +3 -4
  3. package/dist/dialog.d.ts +2 -2
  4. package/dist/dialog.js +3 -3
  5. package/dist/docs/dialog-system.md +3 -2
  6. package/dist/docs/dialog-system.zh.md +3 -2
  7. package/dist/docs/diligence-push.md +19 -12
  8. package/dist/docs/diligence-push.zh.md +11 -9
  9. package/dist/docs/dominds-terminology.md +3 -3
  10. package/dist/docs/encapsulated-taskdoc.md +11 -2
  11. package/dist/docs/encapsulated-taskdoc.zh.md +10 -1
  12. package/dist/docs/llm-provider-isolation.md +1 -1
  13. package/dist/docs/llm-provider-isolation.zh.md +1 -1
  14. package/dist/docs/team_mgmt-toolset.md +2 -1
  15. package/dist/docs/team_mgmt-toolset.zh.md +2 -1
  16. package/dist/docs/volcengine-coding-plan-openai-compatible.zh.md +11 -10
  17. package/dist/llm/api-quirks.d.ts +0 -2
  18. package/dist/llm/api-quirks.js +1 -3
  19. package/dist/llm/client.d.ts +1 -0
  20. package/dist/llm/defaults.yaml +45 -6
  21. package/dist/llm/gen/anthropic.d.ts +0 -6
  22. package/dist/llm/gen/anthropic.js +21 -468
  23. package/dist/llm/gen/openai-compatible.d.ts +14 -1
  24. package/dist/llm/gen/openai-compatible.js +482 -19
  25. package/dist/llm/gen.d.ts +4 -2
  26. package/dist/llm/kernel-driver/drive.js +164 -114
  27. package/dist/llm/kernel-driver/runtime.js +36 -11
  28. package/dist/llm/kernel-driver/tellask-special.js +12 -9
  29. package/dist/minds/system-prompt-parts.js +8 -8
  30. package/dist/persistence.d.ts +2 -3
  31. package/dist/persistence.js +53 -76
  32. package/dist/problems.js +2 -1
  33. package/dist/runtime/driver-messages.js +4 -4
  34. package/dist/server/websocket-handler.js +17 -3
  35. package/dist/team.d.ts +2 -1
  36. package/dist/team.js +11 -1
  37. package/dist/tools/ctrl.js +48 -11
  38. package/dist/tools/prompts/control/en/principles.md +3 -3
  39. package/dist/tools/prompts/control/en/scenarios.md +4 -0
  40. package/dist/tools/prompts/control/en/tools.md +6 -3
  41. package/dist/tools/prompts/control/zh/principles.md +3 -3
  42. package/dist/tools/prompts/control/zh/scenarios.md +4 -0
  43. package/dist/tools/prompts/control/zh/tools.md +6 -3
  44. package/dist/tools/team_mgmt-manual.js +4 -4
  45. package/dist/tools/team_mgmt.js +15 -5
  46. package/dist/utils/task-package.d.ts +16 -0
  47. package/dist/utils/task-package.js +132 -55
  48. package/dist/utils/taskdoc.js +21 -16
  49. package/package.json +3 -3
  50. package/webapp/dist/assets/{_basePickBy-BYnYcdaa.js → _basePickBy-CGhMqD96.js} +3 -3
  51. package/webapp/dist/assets/{_basePickBy-BYnYcdaa.js.map → _basePickBy-CGhMqD96.js.map} +1 -1
  52. package/webapp/dist/assets/{_baseUniq-CHLBB955.js → _baseUniq-XCMW7z1Y.js} +2 -2
  53. package/webapp/dist/assets/{_baseUniq-CHLBB955.js.map → _baseUniq-XCMW7z1Y.js.map} +1 -1
  54. package/webapp/dist/assets/{arc-DQXtgZdO.js → arc-B6fzk0T5.js} +2 -2
  55. package/webapp/dist/assets/{arc-DQXtgZdO.js.map → arc-B6fzk0T5.js.map} +1 -1
  56. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CzP5Yf9x.js → architectureDiagram-2XIMDMQ5-DmSI_GUt.js} +7 -7
  57. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CzP5Yf9x.js.map → architectureDiagram-2XIMDMQ5-DmSI_GUt.js.map} +1 -1
  58. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-sOx5Byq8.js → blockDiagram-WCTKOSBZ-Bp0nb8IZ.js} +7 -7
  59. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-sOx5Byq8.js.map → blockDiagram-WCTKOSBZ-Bp0nb8IZ.js.map} +1 -1
  60. package/webapp/dist/assets/{c4Diagram-IC4MRINW-D8-GiS6c.js → c4Diagram-IC4MRINW-gYpylqGb.js} +3 -3
  61. package/webapp/dist/assets/{c4Diagram-IC4MRINW-D8-GiS6c.js.map → c4Diagram-IC4MRINW-gYpylqGb.js.map} +1 -1
  62. package/webapp/dist/assets/{channel-Bvke0iMP.js → channel-BmQ3YyUn.js} +2 -2
  63. package/webapp/dist/assets/{channel-Bvke0iMP.js.map → channel-BmQ3YyUn.js.map} +1 -1
  64. package/webapp/dist/assets/{chunk-4BX2VUAB-C9pln2M7.js → chunk-4BX2VUAB-B5pwFRwA.js} +2 -2
  65. package/webapp/dist/assets/{chunk-4BX2VUAB-C9pln2M7.js.map → chunk-4BX2VUAB-B5pwFRwA.js.map} +1 -1
  66. package/webapp/dist/assets/{chunk-55IACEB6-BLDXNtAM.js → chunk-55IACEB6-CZf6oMWM.js} +2 -2
  67. package/webapp/dist/assets/{chunk-55IACEB6-BLDXNtAM.js.map → chunk-55IACEB6-CZf6oMWM.js.map} +1 -1
  68. package/webapp/dist/assets/{chunk-FMBD7UC4-dYd3QdHa.js → chunk-FMBD7UC4-yZWCDzVz.js} +2 -2
  69. package/webapp/dist/assets/{chunk-FMBD7UC4-dYd3QdHa.js.map → chunk-FMBD7UC4-yZWCDzVz.js.map} +1 -1
  70. package/webapp/dist/assets/{chunk-JSJVCQXG-SqHEmHHd.js → chunk-JSJVCQXG-Cg1ST73M.js} +2 -2
  71. package/webapp/dist/assets/{chunk-JSJVCQXG-SqHEmHHd.js.map → chunk-JSJVCQXG-Cg1ST73M.js.map} +1 -1
  72. package/webapp/dist/assets/{chunk-KX2RTZJC-CRXgzI2d.js → chunk-KX2RTZJC-ByGtlX9q.js} +2 -2
  73. package/webapp/dist/assets/{chunk-KX2RTZJC-CRXgzI2d.js.map → chunk-KX2RTZJC-ByGtlX9q.js.map} +1 -1
  74. package/webapp/dist/assets/{chunk-NQ4KR5QH-IMA2JZhH.js → chunk-NQ4KR5QH-DoXvfhSY.js} +4 -4
  75. package/webapp/dist/assets/{chunk-NQ4KR5QH-IMA2JZhH.js.map → chunk-NQ4KR5QH-DoXvfhSY.js.map} +1 -1
  76. package/webapp/dist/assets/{chunk-QZHKN3VN-DBaGWjY3.js → chunk-QZHKN3VN-2gX2qsHB.js} +2 -2
  77. package/webapp/dist/assets/{chunk-QZHKN3VN-DBaGWjY3.js.map → chunk-QZHKN3VN-2gX2qsHB.js.map} +1 -1
  78. package/webapp/dist/assets/{chunk-WL4C6EOR-QLmsLbcS.js → chunk-WL4C6EOR-L-9bPNxS.js} +6 -6
  79. package/webapp/dist/assets/{chunk-WL4C6EOR-QLmsLbcS.js.map → chunk-WL4C6EOR-L-9bPNxS.js.map} +1 -1
  80. package/webapp/dist/assets/{classDiagram-VBA2DB6C-jN4lhUtx.js → classDiagram-VBA2DB6C-B79Oe3Df.js} +7 -7
  81. package/webapp/dist/assets/{classDiagram-VBA2DB6C-jN4lhUtx.js.map → classDiagram-VBA2DB6C-B79Oe3Df.js.map} +1 -1
  82. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-jN4lhUtx.js → classDiagram-v2-RAHNMMFH-B79Oe3Df.js} +7 -7
  83. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-jN4lhUtx.js.map → classDiagram-v2-RAHNMMFH-B79Oe3Df.js.map} +1 -1
  84. package/webapp/dist/assets/{clone-DPC4Vt09.js → clone-DvlY9Sdn.js} +2 -2
  85. package/webapp/dist/assets/{clone-DPC4Vt09.js.map → clone-DvlY9Sdn.js.map} +1 -1
  86. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-BtVgObsc.js → cose-bilkent-S5V4N54A-CtkGd0W6.js} +2 -2
  87. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-BtVgObsc.js.map → cose-bilkent-S5V4N54A-CtkGd0W6.js.map} +1 -1
  88. package/webapp/dist/assets/{dagre-KLK3FWXG-Bv6mn-UV.js → dagre-KLK3FWXG-B3W6QTXQ.js} +7 -7
  89. package/webapp/dist/assets/{dagre-KLK3FWXG-Bv6mn-UV.js.map → dagre-KLK3FWXG-B3W6QTXQ.js.map} +1 -1
  90. package/webapp/dist/assets/{diagram-E7M64L7V-D2OPgDkq.js → diagram-E7M64L7V-B6-J_E5Q.js} +8 -8
  91. package/webapp/dist/assets/{diagram-E7M64L7V-D2OPgDkq.js.map → diagram-E7M64L7V-B6-J_E5Q.js.map} +1 -1
  92. package/webapp/dist/assets/{diagram-IFDJBPK2-CZpDu-e5.js → diagram-IFDJBPK2-C-PH_Yx3.js} +7 -7
  93. package/webapp/dist/assets/{diagram-IFDJBPK2-CZpDu-e5.js.map → diagram-IFDJBPK2-C-PH_Yx3.js.map} +1 -1
  94. package/webapp/dist/assets/{diagram-P4PSJMXO-BkMbbW0p.js → diagram-P4PSJMXO-CB5xXDup.js} +7 -7
  95. package/webapp/dist/assets/{diagram-P4PSJMXO-BkMbbW0p.js.map → diagram-P4PSJMXO-CB5xXDup.js.map} +1 -1
  96. package/webapp/dist/assets/{erDiagram-INFDFZHY-Kf17ek1z.js → erDiagram-INFDFZHY-CuAhTGVU.js} +5 -5
  97. package/webapp/dist/assets/{erDiagram-INFDFZHY-Kf17ek1z.js.map → erDiagram-INFDFZHY-CuAhTGVU.js.map} +1 -1
  98. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-Cort4hNL.js → flowDiagram-PKNHOUZH-D3cIOfGj.js} +7 -7
  99. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-Cort4hNL.js.map → flowDiagram-PKNHOUZH-D3cIOfGj.js.map} +1 -1
  100. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-DcXFKB1Y.js → ganttDiagram-A5KZAMGK-CSFhVYXV.js} +3 -3
  101. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-DcXFKB1Y.js.map → ganttDiagram-A5KZAMGK-CSFhVYXV.js.map} +1 -1
  102. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-BORnqZ0-.js → gitGraphDiagram-K3NZZRJ6-CiEaxACG.js} +8 -8
  103. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-BORnqZ0-.js.map → gitGraphDiagram-K3NZZRJ6-CiEaxACG.js.map} +1 -1
  104. package/webapp/dist/assets/{graph-D4Uth-MK.js → graph-CYGALRuy.js} +3 -3
  105. package/webapp/dist/assets/{graph-D4Uth-MK.js.map → graph-CYGALRuy.js.map} +1 -1
  106. package/webapp/dist/assets/{index-YBIJr7jH.js → index-BTazqQrV.js} +186 -58
  107. package/webapp/dist/assets/index-BTazqQrV.js.map +1 -0
  108. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-DDjsEPg3.js → infoDiagram-LFFYTUFH-CiWJjQyU.js} +6 -6
  109. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-DDjsEPg3.js.map → infoDiagram-LFFYTUFH-CiWJjQyU.js.map} +1 -1
  110. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-Bb2sPnCX.js → ishikawaDiagram-PHBUUO56-MlIIUO7o.js} +2 -2
  111. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-Bb2sPnCX.js.map → ishikawaDiagram-PHBUUO56-MlIIUO7o.js.map} +1 -1
  112. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-BtRY6eBa.js → journeyDiagram-4ABVD52K-BBqwkA3d.js} +5 -5
  113. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-BtRY6eBa.js.map → journeyDiagram-4ABVD52K-BBqwkA3d.js.map} +1 -1
  114. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-aGmxT2H9.js → kanban-definition-K7BYSVSG-BS4GzDbo.js} +3 -3
  115. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-aGmxT2H9.js.map → kanban-definition-K7BYSVSG-BS4GzDbo.js.map} +1 -1
  116. package/webapp/dist/assets/{layout-BuLicmwh.js → layout-DaJO-1DW.js} +5 -5
  117. package/webapp/dist/assets/{layout-BuLicmwh.js.map → layout-DaJO-1DW.js.map} +1 -1
  118. package/webapp/dist/assets/{linear-DIPh96mp.js → linear-SWy2Cl7G.js} +2 -2
  119. package/webapp/dist/assets/{linear-DIPh96mp.js.map → linear-SWy2Cl7G.js.map} +1 -1
  120. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-ofWsysn9.js → mindmap-definition-YRQLILUH-B_gNrT3l.js} +4 -4
  121. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-ofWsysn9.js.map → mindmap-definition-YRQLILUH-B_gNrT3l.js.map} +1 -1
  122. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DQqCTITO.js → pieDiagram-SKSYHLDU-CVh3lLBA.js} +8 -8
  123. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DQqCTITO.js.map → pieDiagram-SKSYHLDU-CVh3lLBA.js.map} +1 -1
  124. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-DxWc0avu.js → quadrantDiagram-337W2JSQ-D0zAkVD7.js} +3 -3
  125. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-DxWc0avu.js.map → quadrantDiagram-337W2JSQ-D0zAkVD7.js.map} +1 -1
  126. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-DHgYfzwt.js → requirementDiagram-Z7DCOOCP--CTFD60w.js} +4 -4
  127. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-DHgYfzwt.js.map → requirementDiagram-Z7DCOOCP--CTFD60w.js.map} +1 -1
  128. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-Cuhwe80W.js → sankeyDiagram-WA2Y5GQK-XZnViaAX.js} +2 -2
  129. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-Cuhwe80W.js.map → sankeyDiagram-WA2Y5GQK-XZnViaAX.js.map} +1 -1
  130. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-DqSNoro8.js → sequenceDiagram-2WXFIKYE-BWAMhn_x.js} +4 -4
  131. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-DqSNoro8.js.map → sequenceDiagram-2WXFIKYE-BWAMhn_x.js.map} +1 -1
  132. package/webapp/dist/assets/{stateDiagram-RAJIS63D-D1mvuJi6.js → stateDiagram-RAJIS63D--jsLD0Dg.js} +9 -9
  133. package/webapp/dist/assets/{stateDiagram-RAJIS63D-D1mvuJi6.js.map → stateDiagram-RAJIS63D--jsLD0Dg.js.map} +1 -1
  134. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-BCYX5Gy-.js → stateDiagram-v2-FVOUBMTO-DUG9vyI5.js} +5 -5
  135. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-BCYX5Gy-.js.map → stateDiagram-v2-FVOUBMTO-DUG9vyI5.js.map} +1 -1
  136. package/webapp/dist/assets/{timeline-definition-YZTLITO2-DDLYGao7.js → timeline-definition-YZTLITO2-BROLp1hL.js} +3 -3
  137. package/webapp/dist/assets/{timeline-definition-YZTLITO2-DDLYGao7.js.map → timeline-definition-YZTLITO2-BROLp1hL.js.map} +1 -1
  138. package/webapp/dist/assets/{treemap-KZPCXAKY-DXkv1e6y.js → treemap-KZPCXAKY-BXuIlbYo.js} +5 -5
  139. package/webapp/dist/assets/{treemap-KZPCXAKY-DXkv1e6y.js.map → treemap-KZPCXAKY-BXuIlbYo.js.map} +1 -1
  140. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-DMxsg9P0.js → vennDiagram-LZ73GAT5-BXWd8gBB.js} +2 -2
  141. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-DMxsg9P0.js.map → vennDiagram-LZ73GAT5-BXWd8gBB.js.map} +1 -1
  142. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-BJ2qipzT.js → xychartDiagram-JWTSCODW-DR5z9o6h.js} +3 -3
  143. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-BJ2qipzT.js.map → xychartDiagram-JWTSCODW-DR5z9o6h.js.map} +1 -1
  144. package/webapp/dist/index.html +1 -1
  145. package/webapp/dist/assets/index-YBIJr7jH.js.map +0 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KLK3FWXG-Bv6mn-UV.js","assets/graph-D4Uth-MK.js","assets/_baseUniq-CHLBB955.js","assets/layout-BuLicmwh.js","assets/_basePickBy-BYnYcdaa.js","assets/clone-DPC4Vt09.js","assets/cose-bilkent-S5V4N54A-BtVgObsc.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-IC4MRINW-D8-GiS6c.js","assets/chunk-JSJVCQXG-SqHEmHHd.js","assets/flowDiagram-PKNHOUZH-Cort4hNL.js","assets/chunk-FMBD7UC4-dYd3QdHa.js","assets/chunk-55IACEB6-BLDXNtAM.js","assets/chunk-KX2RTZJC-CRXgzI2d.js","assets/channel-Bvke0iMP.js","assets/erDiagram-INFDFZHY-Kf17ek1z.js","assets/gitGraphDiagram-K3NZZRJ6-BORnqZ0-.js","assets/chunk-4BX2VUAB-C9pln2M7.js","assets/chunk-QZHKN3VN-DBaGWjY3.js","assets/treemap-KZPCXAKY-DXkv1e6y.js","assets/ganttDiagram-A5KZAMGK-DcXFKB1Y.js","assets/linear-DIPh96mp.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-LFFYTUFH-DDjsEPg3.js","assets/pieDiagram-SKSYHLDU-DQqCTITO.js","assets/arc-DQXtgZdO.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-337W2JSQ-DxWc0avu.js","assets/xychartDiagram-JWTSCODW-BJ2qipzT.js","assets/requirementDiagram-Z7DCOOCP-DHgYfzwt.js","assets/sequenceDiagram-2WXFIKYE-DqSNoro8.js","assets/classDiagram-VBA2DB6C-jN4lhUtx.js","assets/chunk-WL4C6EOR-QLmsLbcS.js","assets/classDiagram-v2-RAHNMMFH-jN4lhUtx.js","assets/stateDiagram-RAJIS63D-D1mvuJi6.js","assets/chunk-NQ4KR5QH-IMA2JZhH.js","assets/stateDiagram-v2-FVOUBMTO-BCYX5Gy-.js","assets/journeyDiagram-4ABVD52K-BtRY6eBa.js","assets/timeline-definition-YZTLITO2-DDLYGao7.js","assets/mindmap-definition-YRQLILUH-ofWsysn9.js","assets/kanban-definition-K7BYSVSG-aGmxT2H9.js","assets/sankeyDiagram-WA2Y5GQK-Cuhwe80W.js","assets/diagram-P4PSJMXO-BkMbbW0p.js","assets/diagram-IFDJBPK2-CZpDu-e5.js","assets/blockDiagram-WCTKOSBZ-sOx5Byq8.js","assets/architectureDiagram-2XIMDMQ5-CzP5Yf9x.js","assets/diagram-E7M64L7V-D2OPgDkq.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KLK3FWXG-B3W6QTXQ.js","assets/graph-CYGALRuy.js","assets/_baseUniq-XCMW7z1Y.js","assets/layout-DaJO-1DW.js","assets/_basePickBy-CGhMqD96.js","assets/clone-DvlY9Sdn.js","assets/cose-bilkent-S5V4N54A-CtkGd0W6.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-IC4MRINW-gYpylqGb.js","assets/chunk-JSJVCQXG-Cg1ST73M.js","assets/flowDiagram-PKNHOUZH-D3cIOfGj.js","assets/chunk-FMBD7UC4-yZWCDzVz.js","assets/chunk-55IACEB6-CZf6oMWM.js","assets/chunk-KX2RTZJC-ByGtlX9q.js","assets/channel-BmQ3YyUn.js","assets/erDiagram-INFDFZHY-CuAhTGVU.js","assets/gitGraphDiagram-K3NZZRJ6-CiEaxACG.js","assets/chunk-4BX2VUAB-B5pwFRwA.js","assets/chunk-QZHKN3VN-2gX2qsHB.js","assets/treemap-KZPCXAKY-BXuIlbYo.js","assets/ganttDiagram-A5KZAMGK-CSFhVYXV.js","assets/linear-SWy2Cl7G.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-LFFYTUFH-CiWJjQyU.js","assets/pieDiagram-SKSYHLDU-CVh3lLBA.js","assets/arc-B6fzk0T5.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-337W2JSQ-D0zAkVD7.js","assets/xychartDiagram-JWTSCODW-DR5z9o6h.js","assets/requirementDiagram-Z7DCOOCP--CTFD60w.js","assets/sequenceDiagram-2WXFIKYE-BWAMhn_x.js","assets/classDiagram-VBA2DB6C-B79Oe3Df.js","assets/chunk-WL4C6EOR-L-9bPNxS.js","assets/classDiagram-v2-RAHNMMFH-B79Oe3Df.js","assets/stateDiagram-RAJIS63D--jsLD0Dg.js","assets/chunk-NQ4KR5QH-DoXvfhSY.js","assets/stateDiagram-v2-FVOUBMTO-DUG9vyI5.js","assets/journeyDiagram-4ABVD52K-BBqwkA3d.js","assets/timeline-definition-YZTLITO2-BROLp1hL.js","assets/mindmap-definition-YRQLILUH-B_gNrT3l.js","assets/kanban-definition-K7BYSVSG-BS4GzDbo.js","assets/sankeyDiagram-WA2Y5GQK-XZnViaAX.js","assets/diagram-P4PSJMXO-CB5xXDup.js","assets/diagram-IFDJBPK2-C-PH_Yx3.js","assets/blockDiagram-WCTKOSBZ-Bp0nb8IZ.js","assets/architectureDiagram-2XIMDMQ5-DmSI_GUt.js","assets/diagram-E7M64L7V-B6-J_E5Q.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);
@@ -489,6 +489,12 @@ function getUiStrings(language2) {
489
489
  connectionError: "连接错误",
490
490
  connectionReconnecting: "重连中",
491
491
  connectionFailedDetails: "连接失败",
492
+ connectionServerClosedNotice: "后端连接已关闭。",
493
+ connectionInterruptedRetryingNotice: "后端连接已断开,正在尝试重新连接。",
494
+ connectionConnectFailedNotice: "无法连接到后端,请确认服务正在运行。",
495
+ connectionTimeoutNotice: "连接后端超时,请确认服务正在运行。",
496
+ connectionReconnectExhaustedNotice: "已多次尝试重连但仍无法连接,请检查后端服务状态。",
497
+ connectionGenericErrorNotice: "后端连接出现问题。",
492
498
  connectionReconnectToServerTitle: "重新连接到服务器",
493
499
  connectionReconnect: "重连",
494
500
  teamMembersTitle: "团队成员",
@@ -855,6 +861,12 @@ function getUiStrings(language2) {
855
861
  connectionError: "Error",
856
862
  connectionReconnecting: "Reconnecting",
857
863
  connectionFailedDetails: "connection failed",
864
+ connectionServerClosedNotice: "Backend connection closed.",
865
+ connectionInterruptedRetryingNotice: "Backend connection was interrupted; reconnecting.",
866
+ connectionConnectFailedNotice: "Cannot connect to the backend. Check that the service is running.",
867
+ connectionTimeoutNotice: "Timed out connecting to the backend. Check that the service is running.",
868
+ connectionReconnectExhaustedNotice: "Could not reconnect after several attempts. Check the backend service status.",
869
+ connectionGenericErrorNotice: "Backend connection problem.",
858
870
  connectionReconnectToServerTitle: "Reconnect to server",
859
871
  connectionReconnect: "Reconnect",
860
872
  teamMembersTitle: "Team Members",
@@ -2337,6 +2349,10 @@ class WebSocketManager {
2337
2349
  };
2338
2350
  this.reconnectTimer = null;
2339
2351
  this.heartbeatTimer = null;
2352
+ this.connectionTimeoutTimer = null;
2353
+ this.lastOpenSeen = false;
2354
+ this.reconnectingAfterOpen = false;
2355
+ this.pendingCloseNotice = null;
2340
2356
  this.messageId = 0;
2341
2357
  this.backendEvtsChan = evtExports.createPubChan();
2342
2358
  this.connPubChan = evtExports.createPubChan();
@@ -2359,6 +2375,7 @@ class WebSocketManager {
2359
2375
  return;
2360
2376
  }
2361
2377
  this.updateConnectionState({ status: "connecting", error: void 0 });
2378
+ this.lastOpenSeen = false;
2362
2379
  try {
2363
2380
  const wsUrl = this.config.url.replace(/^http/, "ws");
2364
2381
  const ws = new WebSocket(wsUrl, this.config.protocols);
@@ -2379,10 +2396,12 @@ class WebSocketManager {
2379
2396
  if (this.ws !== ws) return;
2380
2397
  this.handleError(event);
2381
2398
  };
2382
- setTimeout(() => {
2399
+ this.clearConnectionTimeoutTimer();
2400
+ this.connectionTimeoutTimer = setTimeout(() => {
2401
+ this.connectionTimeoutTimer = null;
2383
2402
  if (this.ws === ws && ws.readyState === WebSocket.CONNECTING) {
2384
2403
  console.warn("WebSocket connection timeout");
2385
- this.handleError(new Error("Connection timeout"));
2404
+ this.pendingCloseNotice = this.getConnectionNotice("timeout");
2386
2405
  ws.close(4e3, "Connection timeout");
2387
2406
  }
2388
2407
  }, 5e3);
@@ -2390,7 +2409,7 @@ class WebSocketManager {
2390
2409
  console.error("Failed to create WebSocket connection:", error2);
2391
2410
  this.updateConnectionState({
2392
2411
  status: "error",
2393
- error: error2 instanceof Error ? error2.message : "Unknown error"
2412
+ error: this.describeCreateFailure(error2)
2394
2413
  });
2395
2414
  this.scheduleReconnect();
2396
2415
  }
@@ -2407,6 +2426,9 @@ class WebSocketManager {
2407
2426
  clearInterval(this.heartbeatTimer);
2408
2427
  this.heartbeatTimer = null;
2409
2428
  }
2429
+ this.clearConnectionTimeoutTimer();
2430
+ this.pendingCloseNotice = null;
2431
+ this.reconnectingAfterOpen = false;
2410
2432
  if (this.ws) {
2411
2433
  this.ws.close(1e3, "Client disconnect");
2412
2434
  this.ws = null;
@@ -2459,6 +2481,10 @@ class WebSocketManager {
2459
2481
  }
2460
2482
  // Private methods
2461
2483
  handleOpen() {
2484
+ this.clearConnectionTimeoutTimer();
2485
+ this.lastOpenSeen = true;
2486
+ this.reconnectingAfterOpen = false;
2487
+ this.pendingCloseNotice = null;
2462
2488
  this.updateConnectionState({
2463
2489
  status: "connected",
2464
2490
  lastConnected: /* @__PURE__ */ new Date(),
@@ -2478,28 +2504,40 @@ class WebSocketManager {
2478
2504
  }
2479
2505
  }
2480
2506
  handleClose(event) {
2507
+ this.clearConnectionTimeoutTimer();
2481
2508
  if (this.heartbeatTimer) {
2482
2509
  clearInterval(this.heartbeatTimer);
2483
2510
  this.heartbeatTimer = null;
2484
2511
  }
2485
2512
  this.ws = null;
2486
2513
  if (event.code === 4401 || event.reason === "unauthorized") {
2514
+ this.pendingCloseNotice = null;
2487
2515
  this.updateConnectionState({ status: "error", error: "Unauthorized" });
2488
2516
  return;
2489
2517
  }
2490
- this.updateConnectionState({ status: "disconnected", error: void 0 });
2491
2518
  if (event.code !== 1e3) {
2492
- console.warn("Abnormal close detected, scheduling reconnect");
2519
+ const error2 = this.describeClose(event);
2520
+ this.pendingCloseNotice = null;
2521
+ this.reconnectingAfterOpen = this.reconnectingAfterOpen || this.lastOpenSeen;
2522
+ console.warn("Abnormal close detected, scheduling reconnect", {
2523
+ code: event.code,
2524
+ reason: event.reason,
2525
+ wasClean: event.wasClean,
2526
+ error: error2
2527
+ });
2528
+ this.updateConnectionState({ status: "disconnected", error: error2 });
2493
2529
  this.scheduleReconnect();
2530
+ return;
2494
2531
  }
2532
+ this.updateConnectionState({
2533
+ status: "disconnected",
2534
+ error: this.lastOpenSeen ? this.getConnectionNotice("serverClosed") : void 0
2535
+ });
2536
+ this.pendingCloseNotice = null;
2537
+ this.reconnectingAfterOpen = false;
2495
2538
  }
2496
2539
  handleError(error2) {
2497
2540
  console.error("WebSocket error:", error2);
2498
- const errorMessage = error2 instanceof Error ? error2.message : "Unknown WebSocket error";
2499
- this.updateConnectionState({
2500
- status: "error",
2501
- error: errorMessage
2502
- });
2503
2541
  }
2504
2542
  processMessage(message) {
2505
2543
  const d2 = message.dialog;
@@ -2532,12 +2570,49 @@ class WebSocketManager {
2532
2570
  this.connectionState = { ...this.connectionState, ...updates };
2533
2571
  this.connPubChan.write({ ...this.connectionState });
2534
2572
  }
2573
+ clearConnectionTimeoutTimer() {
2574
+ if (!this.connectionTimeoutTimer) {
2575
+ return;
2576
+ }
2577
+ clearTimeout(this.connectionTimeoutTimer);
2578
+ this.connectionTimeoutTimer = null;
2579
+ }
2580
+ getConnectionNotice(kind) {
2581
+ const t2 = getUiStrings(this.uiLanguage ?? "en");
2582
+ switch (kind) {
2583
+ case "serverClosed":
2584
+ return t2.connectionServerClosedNotice;
2585
+ case "interruptedRetrying":
2586
+ return t2.connectionInterruptedRetryingNotice;
2587
+ case "connectFailed":
2588
+ return t2.connectionConnectFailedNotice;
2589
+ case "timeout":
2590
+ return t2.connectionTimeoutNotice;
2591
+ case "reconnectExhausted":
2592
+ return t2.connectionReconnectExhaustedNotice;
2593
+ }
2594
+ }
2595
+ describeClose(event) {
2596
+ if (this.pendingCloseNotice) {
2597
+ return this.pendingCloseNotice;
2598
+ }
2599
+ if (event.code === 4e3 && event.reason === "Connection timeout") {
2600
+ return this.getConnectionNotice("timeout");
2601
+ }
2602
+ return this.lastOpenSeen || this.reconnectingAfterOpen ? this.getConnectionNotice("interruptedRetrying") : this.getConnectionNotice("connectFailed");
2603
+ }
2604
+ describeCreateFailure(error2) {
2605
+ if (error2 instanceof Error && error2.message.trim() !== "") {
2606
+ return error2.message;
2607
+ }
2608
+ return this.getConnectionNotice("connectFailed");
2609
+ }
2535
2610
  scheduleReconnect() {
2536
2611
  if (this.reconnectTimer) {
2537
2612
  return;
2538
2613
  }
2539
2614
  if (this.connectionState.reconnectAttempts >= this.connectionState.maxReconnectAttempts) {
2540
- const errorMessage = "Max reconnection attempts reached";
2615
+ const errorMessage = this.getConnectionNotice("reconnectExhausted");
2541
2616
  console.error(errorMessage);
2542
2617
  this.updateConnectionState({ status: "error", error: errorMessage });
2543
2618
  return;
@@ -2546,7 +2621,7 @@ class WebSocketManager {
2546
2621
  this.updateConnectionState({
2547
2622
  status: "reconnecting",
2548
2623
  reconnectAttempts: this.connectionState.reconnectAttempts + 1,
2549
- error: void 0
2624
+ error: this.connectionState.error
2550
2625
  });
2551
2626
  this.reconnectTimer = setTimeout(() => {
2552
2627
  this.reconnectTimer = null;
@@ -98649,12 +98724,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
98649
98724
  registerLayoutLoaders([
98650
98725
  {
98651
98726
  name: "dagre",
98652
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-Bv6mn-UV.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
98727
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-B3W6QTXQ.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
98653
98728
  },
98654
98729
  ...[
98655
98730
  {
98656
98731
  name: "cose-bilkent",
98657
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-BtVgObsc.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
98732
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-CtkGd0W6.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
98658
98733
  }
98659
98734
  ]
98660
98735
  ]);
@@ -99094,7 +99169,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
99094
99169
  }, "detector");
99095
99170
  var loader = /* @__PURE__ */ __name(async () => {
99096
99171
  const { diagram: diagram2 } = await __vitePreload(async () => {
99097
- const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-D8-GiS6c.js");
99172
+ const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-gYpylqGb.js");
99098
99173
  return { diagram: diagram22 };
99099
99174
  }, true ? __vite__mapDeps([8,9]) : void 0);
99100
99175
  return { id: id$1, diagram: diagram2 };
@@ -99114,7 +99189,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
99114
99189
  }, "detector");
99115
99190
  var loader2 = /* @__PURE__ */ __name(async () => {
99116
99191
  const { diagram: diagram2 } = await __vitePreload(async () => {
99117
- const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-Cort4hNL.js");
99192
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-D3cIOfGj.js");
99118
99193
  return { diagram: diagram22 };
99119
99194
  }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99120
99195
  return { id: id2, diagram: diagram2 };
@@ -99140,7 +99215,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
99140
99215
  }, "detector");
99141
99216
  var loader3 = /* @__PURE__ */ __name(async () => {
99142
99217
  const { diagram: diagram2 } = await __vitePreload(async () => {
99143
- const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-Cort4hNL.js");
99218
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-D3cIOfGj.js");
99144
99219
  return { diagram: diagram22 };
99145
99220
  }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99146
99221
  return { id: id3, diagram: diagram2 };
@@ -99157,7 +99232,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
99157
99232
  }, "detector");
99158
99233
  var loader4 = /* @__PURE__ */ __name(async () => {
99159
99234
  const { diagram: diagram2 } = await __vitePreload(async () => {
99160
- const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-Kf17ek1z.js");
99235
+ const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-CuAhTGVU.js");
99161
99236
  return { diagram: diagram22 };
99162
99237
  }, true ? __vite__mapDeps([15,12,13,14]) : void 0);
99163
99238
  return { id: id4, diagram: diagram2 };
@@ -99174,7 +99249,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
99174
99249
  }, "detector");
99175
99250
  var loader5 = /* @__PURE__ */ __name(async () => {
99176
99251
  const { diagram: diagram2 } = await __vitePreload(async () => {
99177
- const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-BORnqZ0-.js");
99252
+ const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-CiEaxACG.js");
99178
99253
  return { diagram: diagram22 };
99179
99254
  }, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
99180
99255
  return { id: id5, diagram: diagram2 };
@@ -99191,7 +99266,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
99191
99266
  }, "detector");
99192
99267
  var loader6 = /* @__PURE__ */ __name(async () => {
99193
99268
  const { diagram: diagram2 } = await __vitePreload(async () => {
99194
- const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-DcXFKB1Y.js");
99269
+ const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-CSFhVYXV.js");
99195
99270
  return { diagram: diagram22 };
99196
99271
  }, true ? __vite__mapDeps([20,21,22,23]) : void 0);
99197
99272
  return { id: id6, diagram: diagram2 };
@@ -99208,7 +99283,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
99208
99283
  }, "detector");
99209
99284
  var loader7 = /* @__PURE__ */ __name(async () => {
99210
99285
  const { diagram: diagram2 } = await __vitePreload(async () => {
99211
- const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-DDjsEPg3.js");
99286
+ const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-CiWJjQyU.js");
99212
99287
  return { diagram: diagram22 };
99213
99288
  }, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
99214
99289
  return { id: id7, diagram: diagram2 };
@@ -99224,7 +99299,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
99224
99299
  }, "detector");
99225
99300
  var loader8 = /* @__PURE__ */ __name(async () => {
99226
99301
  const { diagram: diagram2 } = await __vitePreload(async () => {
99227
- const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-DQqCTITO.js");
99302
+ const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-CVh3lLBA.js");
99228
99303
  return { diagram: diagram22 };
99229
99304
  }, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
99230
99305
  return { id: id8, diagram: diagram2 };
@@ -99240,7 +99315,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
99240
99315
  }, "detector");
99241
99316
  var loader9 = /* @__PURE__ */ __name(async () => {
99242
99317
  const { diagram: diagram2 } = await __vitePreload(async () => {
99243
- const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-DxWc0avu.js");
99318
+ const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-D0zAkVD7.js");
99244
99319
  return { diagram: diagram22 };
99245
99320
  }, true ? __vite__mapDeps([28,21,22,23]) : void 0);
99246
99321
  return { id: id9, diagram: diagram2 };
@@ -99257,7 +99332,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
99257
99332
  }, "detector");
99258
99333
  var loader10 = /* @__PURE__ */ __name(async () => {
99259
99334
  const { diagram: diagram2 } = await __vitePreload(async () => {
99260
- const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-BJ2qipzT.js");
99335
+ const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-DR5z9o6h.js");
99261
99336
  return { diagram: diagram22 };
99262
99337
  }, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
99263
99338
  return { id: id10, diagram: diagram2 };
@@ -99274,7 +99349,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
99274
99349
  }, "detector");
99275
99350
  var loader11 = /* @__PURE__ */ __name(async () => {
99276
99351
  const { diagram: diagram2 } = await __vitePreload(async () => {
99277
- const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP-DHgYfzwt.js");
99352
+ const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP--CTFD60w.js");
99278
99353
  return { diagram: diagram22 };
99279
99354
  }, true ? __vite__mapDeps([30,12,13]) : void 0);
99280
99355
  return { id: id11, diagram: diagram2 };
@@ -99291,7 +99366,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
99291
99366
  }, "detector");
99292
99367
  var loader12 = /* @__PURE__ */ __name(async () => {
99293
99368
  const { diagram: diagram2 } = await __vitePreload(async () => {
99294
- const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-DqSNoro8.js");
99369
+ const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-BWAMhn_x.js");
99295
99370
  return { diagram: diagram22 };
99296
99371
  }, true ? __vite__mapDeps([31,9,18]) : void 0);
99297
99372
  return { id: id12, diagram: diagram2 };
@@ -99311,7 +99386,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
99311
99386
  }, "detector");
99312
99387
  var loader13 = /* @__PURE__ */ __name(async () => {
99313
99388
  const { diagram: diagram2 } = await __vitePreload(async () => {
99314
- const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-jN4lhUtx.js");
99389
+ const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-B79Oe3Df.js");
99315
99390
  return { diagram: diagram22 };
99316
99391
  }, true ? __vite__mapDeps([32,33,11,9,12,13]) : void 0);
99317
99392
  return { id: id13, diagram: diagram2 };
@@ -99331,7 +99406,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
99331
99406
  }, "detector");
99332
99407
  var loader14 = /* @__PURE__ */ __name(async () => {
99333
99408
  const { diagram: diagram2 } = await __vitePreload(async () => {
99334
- const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-jN4lhUtx.js");
99409
+ const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-B79Oe3Df.js");
99335
99410
  return { diagram: diagram22 };
99336
99411
  }, true ? __vite__mapDeps([34,33,11,9,12,13]) : void 0);
99337
99412
  return { id: id14, diagram: diagram2 };
@@ -99351,7 +99426,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
99351
99426
  }, "detector");
99352
99427
  var loader15 = /* @__PURE__ */ __name(async () => {
99353
99428
  const { diagram: diagram2 } = await __vitePreload(async () => {
99354
- const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D-D1mvuJi6.js");
99429
+ const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D--jsLD0Dg.js");
99355
99430
  return { diagram: diagram22 };
99356
99431
  }, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
99357
99432
  return { id: id15, diagram: diagram2 };
@@ -99374,7 +99449,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
99374
99449
  }, "detector");
99375
99450
  var loader16 = /* @__PURE__ */ __name(async () => {
99376
99451
  const { diagram: diagram2 } = await __vitePreload(async () => {
99377
- const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-BCYX5Gy-.js");
99452
+ const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-DUG9vyI5.js");
99378
99453
  return { diagram: diagram22 };
99379
99454
  }, true ? __vite__mapDeps([37,36,12,13]) : void 0);
99380
99455
  return { id: id16, diagram: diagram2 };
@@ -99391,7 +99466,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
99391
99466
  }, "detector");
99392
99467
  var loader17 = /* @__PURE__ */ __name(async () => {
99393
99468
  const { diagram: diagram2 } = await __vitePreload(async () => {
99394
- const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K-BtRY6eBa.js");
99469
+ const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K-BBqwkA3d.js");
99395
99470
  return { diagram: diagram22 };
99396
99471
  }, true ? __vite__mapDeps([38,11,9,26]) : void 0);
99397
99472
  return { id: id17, diagram: diagram2 };
@@ -99461,7 +99536,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
99461
99536
  }, "detector");
99462
99537
  var loader18 = /* @__PURE__ */ __name(async () => {
99463
99538
  const { diagram: diagram2 } = await __vitePreload(async () => {
99464
- const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-Cort4hNL.js");
99539
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-D3cIOfGj.js");
99465
99540
  return { diagram: diagram22 };
99466
99541
  }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99467
99542
  return { id: id18, diagram: diagram2 };
@@ -99478,7 +99553,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
99478
99553
  }, "detector");
99479
99554
  var loader19 = /* @__PURE__ */ __name(async () => {
99480
99555
  const { diagram: diagram2 } = await __vitePreload(async () => {
99481
- const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-DDLYGao7.js");
99556
+ const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-BROLp1hL.js");
99482
99557
  return { diagram: diagram22 };
99483
99558
  }, true ? __vite__mapDeps([39,26]) : void 0);
99484
99559
  return { id: id19, diagram: diagram2 };
@@ -99495,7 +99570,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
99495
99570
  }, "detector");
99496
99571
  var loader20 = /* @__PURE__ */ __name(async () => {
99497
99572
  const { diagram: diagram2 } = await __vitePreload(async () => {
99498
- const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-ofWsysn9.js");
99573
+ const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-B_gNrT3l.js");
99499
99574
  return { diagram: diagram22 };
99500
99575
  }, true ? __vite__mapDeps([40,12,13]) : void 0);
99501
99576
  return { id: id20, diagram: diagram2 };
@@ -99512,7 +99587,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
99512
99587
  }, "detector");
99513
99588
  var loader21 = /* @__PURE__ */ __name(async () => {
99514
99589
  const { diagram: diagram2 } = await __vitePreload(async () => {
99515
- const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-aGmxT2H9.js");
99590
+ const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-BS4GzDbo.js");
99516
99591
  return { diagram: diagram22 };
99517
99592
  }, true ? __vite__mapDeps([41,11]) : void 0);
99518
99593
  return { id: id21, diagram: diagram2 };
@@ -99529,7 +99604,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
99529
99604
  }, "detector");
99530
99605
  var loader22 = /* @__PURE__ */ __name(async () => {
99531
99606
  const { diagram: diagram2 } = await __vitePreload(async () => {
99532
- const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-Cuhwe80W.js");
99607
+ const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-XZnViaAX.js");
99533
99608
  return { diagram: diagram22 };
99534
99609
  }, true ? __vite__mapDeps([42,27,22]) : void 0);
99535
99610
  return { id: id22, diagram: diagram2 };
@@ -99546,7 +99621,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
99546
99621
  }, "detector");
99547
99622
  var loader23 = /* @__PURE__ */ __name(async () => {
99548
99623
  const { diagram: diagram2 } = await __vitePreload(async () => {
99549
- const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-BkMbbW0p.js");
99624
+ const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-CB5xXDup.js");
99550
99625
  return { diagram: diagram22 };
99551
99626
  }, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
99552
99627
  return { id: id23, diagram: diagram2 };
@@ -99562,7 +99637,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
99562
99637
  }, "detector");
99563
99638
  var loader24 = /* @__PURE__ */ __name(async () => {
99564
99639
  const { diagram: diagram2 } = await __vitePreload(async () => {
99565
- const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-CZpDu-e5.js");
99640
+ const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-C-PH_Yx3.js");
99566
99641
  return { diagram: diagram22 };
99567
99642
  }, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
99568
99643
  return { id: id24, diagram: diagram2 };
@@ -99578,7 +99653,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
99578
99653
  }, "detector");
99579
99654
  var loader25 = /* @__PURE__ */ __name(async () => {
99580
99655
  const { diagram: diagram2 } = await __vitePreload(async () => {
99581
- const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-sOx5Byq8.js");
99656
+ const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-Bp0nb8IZ.js");
99582
99657
  return { diagram: diagram22 };
99583
99658
  }, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
99584
99659
  return { id: id25, diagram: diagram2 };
@@ -99595,7 +99670,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
99595
99670
  }, "detector");
99596
99671
  var loader26 = /* @__PURE__ */ __name(async () => {
99597
99672
  const { diagram: diagram2 } = await __vitePreload(async () => {
99598
- const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-CzP5Yf9x.js");
99673
+ const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-DmSI_GUt.js");
99599
99674
  return { diagram: diagram22 };
99600
99675
  }, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
99601
99676
  return { id: id26, diagram: diagram2 };
@@ -99612,7 +99687,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
99612
99687
  }, "detector");
99613
99688
  var loader27 = /* @__PURE__ */ __name(async () => {
99614
99689
  const { diagram: diagram2 } = await __vitePreload(async () => {
99615
- const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-Bb2sPnCX.js");
99690
+ const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-MlIIUO7o.js");
99616
99691
  return { diagram: diagram22 };
99617
99692
  }, true ? [] : void 0);
99618
99693
  return { id: id27, diagram: diagram2 };
@@ -99628,7 +99703,7 @@ var detector28 = /* @__PURE__ */ __name((txt) => {
99628
99703
  }, "detector");
99629
99704
  var loader28 = /* @__PURE__ */ __name(async () => {
99630
99705
  const { diagram: diagram2 } = await __vitePreload(async () => {
99631
- const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-DMxsg9P0.js");
99706
+ const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-BXWd8gBB.js");
99632
99707
  return { diagram: diagram22 };
99633
99708
  }, true ? [] : void 0);
99634
99709
  return { id: id28, diagram: diagram2 };
@@ -99645,7 +99720,7 @@ var detector29 = /* @__PURE__ */ __name((txt) => {
99645
99720
  }, "detector");
99646
99721
  var loader29 = /* @__PURE__ */ __name(async () => {
99647
99722
  const { diagram: diagram2 } = await __vitePreload(async () => {
99648
- const { diagram: diagram22 } = await import("./diagram-E7M64L7V-D2OPgDkq.js");
99723
+ const { diagram: diagram22 } = await import("./diagram-E7M64L7V-B6-J_E5Q.js");
99649
99724
  return { diagram: diagram22 };
99650
99725
  }, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
99651
99726
  return { id: id29, diagram: diagram2 };
@@ -102512,7 +102587,15 @@ class DomindsDialogContainer extends HTMLElement {
102512
102587
  case "func_call_requested_evt": {
102513
102588
  const ev = event;
102514
102589
  const timestamp2 = "timestamp" in ev && typeof ev.timestamp === "string" ? ev.timestamp : (/* @__PURE__ */ new Date()).toISOString().slice(0, 19).replace("T", " ");
102515
- this.handleFuncCallRequested(ev.genseq, ev.funcId, ev.funcName, ev.arguments, timestamp2);
102590
+ this.handleFuncCallRequested(
102591
+ ev.genseq,
102592
+ ev.funcId,
102593
+ ev.funcName,
102594
+ ev.arguments,
102595
+ timestamp2,
102596
+ ev.rawFuncId,
102597
+ ev.effectiveFuncId
102598
+ );
102516
102599
  break;
102517
102600
  }
102518
102601
  case "web_search_call_evt":
@@ -103114,7 +103197,7 @@ class DomindsDialogContainer extends HTMLElement {
103114
103197
  this.scrollToBottom();
103115
103198
  }
103116
103199
  // === FUNCTION CALL EVENTS (Non-streaming mode) ===
103117
- handleFuncCallRequested(genseq, funcId, funcName, argumentsStr, timestamp2) {
103200
+ handleFuncCallRequested(genseq, funcId, funcName, argumentsStr, timestamp2, rawFuncId, effectiveFuncId) {
103118
103201
  const existingSection = this.findFuncCallSection(genseq, funcId);
103119
103202
  if (existingSection) {
103120
103203
  const existingName = existingSection.getAttribute("data-func-name") ?? "";
@@ -103140,7 +103223,13 @@ class DomindsDialogContainer extends HTMLElement {
103140
103223
  console.warn("func_call_requested_evt received without generation bubble, skipping");
103141
103224
  return;
103142
103225
  }
103143
- const funcCallSection = this.createFuncCallSection(funcId, funcName, argumentsStr);
103226
+ const funcCallSection = this.createFuncCallSection(
103227
+ funcId,
103228
+ funcName,
103229
+ argumentsStr,
103230
+ rawFuncId,
103231
+ effectiveFuncId
103232
+ );
103144
103233
  funcCallSection.setAttribute("data-genseq", String(genseq));
103145
103234
  const appendTarget = this.getFuncCallAppendTarget(genseq, bubble);
103146
103235
  appendTarget.appendChild(funcCallSection);
@@ -105232,10 +105321,16 @@ ${event.content}`;
105232
105321
  };
105233
105322
  }
105234
105323
  // Create func-call section (inside markdown section) - non-streaming mode
105235
- createFuncCallSection(funcId, funcName, argumentsStr) {
105324
+ createFuncCallSection(funcId, funcName, argumentsStr, rawFuncId, effectiveFuncId) {
105236
105325
  const el = document.createElement("div");
105237
105326
  el.className = "func-call-section";
105238
105327
  el.setAttribute("data-func-id", funcId);
105328
+ if (typeof rawFuncId === "string" && rawFuncId.trim() !== "") {
105329
+ el.setAttribute("data-raw-func-id", rawFuncId);
105330
+ }
105331
+ if (typeof effectiveFuncId === "string" && effectiveFuncId.trim() !== "") {
105332
+ el.setAttribute("data-effective-func-id", effectiveFuncId);
105333
+ }
105239
105334
  el.setAttribute("data-func-name", funcName);
105240
105335
  el.setAttribute("data-func-arguments", argumentsStr);
105241
105336
  let argsDisplay = argumentsStr;
@@ -116029,8 +116124,6 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
116029
116124
  let remaining = normalizedRemaining;
116030
116125
  if (remaining === null) {
116031
116126
  remaining = configuredMax !== null && configuredMax > 0 ? configuredMax : 0;
116032
- } else if (configuredMax !== null && configuredMax > 0) {
116033
- remaining = Math.min(remaining, configuredMax);
116034
116127
  }
116035
116128
  return {
116036
116129
  disableDiligencePush: readyMsg.disableDiligencePush ?? false,
@@ -122505,6 +122598,7 @@ ${content}`;
122505
122598
  }
122506
122599
  async loadInitialData() {
122507
122600
  try {
122601
+ this.wsManager.setUiLanguage(this.uiLanguage);
122508
122602
  await this.wsManager.connect();
122509
122603
  } catch (error2) {
122510
122604
  console.warn("Initial WebSocket connection failed:", error2);
@@ -124461,6 +124555,18 @@ ${content}`;
124461
124555
  this.wsConnectionOutageEligibleForHistory = true;
124462
124556
  this.wsConnectionErrorHistoryRecorded = false;
124463
124557
  }
124558
+ if (state2.status === "reconnecting" && this.wsConnectionOutageEligibleForHistory && !this.wsConnectionErrorHistoryRecorded) {
124559
+ this.showConnectionOutageWarning(
124560
+ state2.error || getUiStrings(this.uiLanguage).connectionInterruptedRetryingNotice
124561
+ );
124562
+ return;
124563
+ }
124564
+ if (state2.status === "disconnected" && this.wsConnectionOutageEligibleForHistory && !this.wsConnectionErrorHistoryRecorded) {
124565
+ this.showConnectionOutageWarning(
124566
+ state2.error || getUiStrings(this.uiLanguage).connectionServerClosedNotice
124567
+ );
124568
+ return;
124569
+ }
124464
124570
  if (state2.status !== "error") {
124465
124571
  return;
124466
124572
  }
@@ -124472,11 +124578,21 @@ ${content}`;
124472
124578
  if (persistHistory) {
124473
124579
  this.wsConnectionErrorHistoryRecorded = true;
124474
124580
  }
124475
- this.showError(state2.error || "Connection error", "error", {
124476
- history: persistHistory ? "persist" : "skip"
124477
- });
124581
+ this.showError(
124582
+ state2.error || getUiStrings(this.uiLanguage).connectionGenericErrorNotice,
124583
+ "error",
124584
+ {
124585
+ history: persistHistory ? "persist" : "skip"
124586
+ }
124587
+ );
124478
124588
  }
124479
124589
  }
124590
+ showConnectionOutageWarning(message) {
124591
+ this.wsConnectionErrorHistoryRecorded = true;
124592
+ this.showError(message, "warning", {
124593
+ history: "persist"
124594
+ });
124595
+ }
124480
124596
  async reopenCurrentDialogAfterReconnect() {
124481
124597
  if (!this.currentDialog) {
124482
124598
  return;
@@ -124818,6 +124934,12 @@ ${content}`;
124818
124934
  return zh ? "对话" : "Dialog";
124819
124935
  case "provider":
124820
124936
  return zh ? "Provider" : "Provider";
124937
+ case "debugPath":
124938
+ return zh ? "调试目录" : "Debug Directory";
124939
+ case "requestPayloadPath":
124940
+ return zh ? "请求 Payload" : "Request Payload";
124941
+ case "debugCaptureError":
124942
+ return zh ? "调试采集错误" : "Debug Capture Error";
124821
124943
  default:
124822
124944
  return key;
124823
124945
  }
@@ -124852,6 +124974,9 @@ ${content}`;
124852
124974
  "rule",
124853
124975
  "dialogId",
124854
124976
  "provider",
124977
+ "debugPath",
124978
+ "requestPayloadPath",
124979
+ "debugCaptureError",
124855
124980
  "errorText",
124856
124981
  "text"
124857
124982
  ];
@@ -124861,7 +124986,7 @@ ${content}`;
124861
124986
  if (value === void 0) return;
124862
124987
  const label = this.escapeHtml(this.getProblemDetailLabel(key));
124863
124988
  const isBlock = key === "errorText" || key === "text";
124864
- const isCode = key === "filePath" || key === "serverId" || key === "toolName" || key === "domindsToolName" || key === "pattern" || key === "rule" || key === "dialogId" || key === "provider";
124989
+ const isCode = key === "filePath" || key === "serverId" || key === "toolName" || key === "domindsToolName" || key === "pattern" || key === "rule" || key === "dialogId" || key === "provider" || key === "debugPath" || key === "requestPayloadPath";
124865
124990
  const displayValue = typeof value === "string" && (key === "errorText" || key === "text") ? this.selectProblemDetailText(problem, value) : value;
124866
124991
  const valueHtml = this.renderProblemDetailValue(displayValue);
124867
124992
  if (isBlock) {
@@ -126910,7 +127035,7 @@ const _DomindsConnectionStatus = class _DomindsConnectionStatus extends HTMLElem
126910
127035
  case "reconnecting":
126911
127036
  return {
126912
127037
  text: t2.connectionReconnecting,
126913
- details: `(${this.getReconnectAttempts()}/5)`
127038
+ details: `(${this.getReconnectAttempts()}/${this.getMaxReconnectAttempts()})`
126914
127039
  };
126915
127040
  default:
126916
127041
  return {
@@ -126923,6 +127048,10 @@ const _DomindsConnectionStatus = class _DomindsConnectionStatus extends HTMLElem
126923
127048
  const state2 = this.wsManager.getConnectionState();
126924
127049
  return state2.reconnectAttempts;
126925
127050
  }
127051
+ getMaxReconnectAttempts() {
127052
+ const state2 = this.wsManager.getConnectionState();
127053
+ return state2.maxReconnectAttempts;
127054
+ }
126926
127055
  addVisualFeedback(status) {
126927
127056
  if (!this.shadowRoot) return;
126928
127057
  const container = this.shadowRoot.querySelector("#status-container");
@@ -126946,7 +127075,6 @@ const _DomindsConnectionStatus = class _DomindsConnectionStatus extends HTMLElem
126946
127075
  async handleReconnect() {
126947
127076
  if (this.reconnectButton) {
126948
127077
  this.reconnectButton.disabled = true;
126949
- this.reconnectButton.textContent = "⏳";
126950
127078
  }
126951
127079
  try {
126952
127080
  await this.wsManager.connect();
@@ -126956,7 +127084,6 @@ const _DomindsConnectionStatus = class _DomindsConnectionStatus extends HTMLElem
126956
127084
  setTimeout(() => {
126957
127085
  if (this.reconnectButton) {
126958
127086
  this.reconnectButton.disabled = false;
126959
- this.reconnectButton.textContent = "🔄";
126960
127087
  }
126961
127088
  }, 1e3);
126962
127089
  }
@@ -127049,6 +127176,7 @@ class DomindsSetup extends HTMLElement {
127049
127176
  }
127050
127177
  async connectRuntimeStatusChannel() {
127051
127178
  try {
127179
+ this.wsManager.setUiLanguage(this.uiLanguage);
127052
127180
  await this.wsManager.connect();
127053
127181
  } catch (error2) {
127054
127182
  console.warn("Failed to connect setup WebSocket runtime status channel", error2);
@@ -128572,4 +128700,4 @@ export {
128572
128700
  purify as y,
128573
128701
  clear$2 as z
128574
128702
  };
128575
- //# sourceMappingURL=index-YBIJr7jH.js.map
128703
+ //# sourceMappingURL=index-BTazqQrV.js.map