dominds 1.2.7 → 1.3.1

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 (104) hide show
  1. package/dist/docs/context-health.md +17 -5
  2. package/dist/llm/defaults.yaml +9 -0
  3. package/dist/minds/system-prompt-parts.js +4 -4
  4. package/dist/server/api-routes.js +577 -80
  5. package/dist/shared/i18n/driver-messages.js +14 -12
  6. package/dist/static/assets/{_basePickBy-BMCtwrV7.js → _basePickBy-CmziIRM9.js} +3 -3
  7. package/dist/static/assets/{_basePickBy-BMCtwrV7.js.map → _basePickBy-CmziIRM9.js.map} +1 -1
  8. package/dist/static/assets/{_baseUniq-BuyCgJiA.js → _baseUniq-CgDZxcD0.js} +2 -2
  9. package/dist/static/assets/{_baseUniq-BuyCgJiA.js.map → _baseUniq-CgDZxcD0.js.map} +1 -1
  10. package/dist/static/assets/{arc-BDuN8lwA.js → arc-Df9rjNNk.js} +2 -2
  11. package/dist/static/assets/{arc-BDuN8lwA.js.map → arc-Df9rjNNk.js.map} +1 -1
  12. package/dist/static/assets/{architectureDiagram-VXUJARFQ-C-ekqGAD.js → architectureDiagram-VXUJARFQ-Bif8topC.js} +7 -7
  13. package/dist/static/assets/{architectureDiagram-VXUJARFQ-C-ekqGAD.js.map → architectureDiagram-VXUJARFQ-Bif8topC.js.map} +1 -1
  14. package/dist/static/assets/{blockDiagram-VD42YOAC-CgQiNuuQ.js → blockDiagram-VD42YOAC-D9Egoflr.js} +7 -7
  15. package/dist/static/assets/{blockDiagram-VD42YOAC-CgQiNuuQ.js.map → blockDiagram-VD42YOAC-D9Egoflr.js.map} +1 -1
  16. package/dist/static/assets/{c4Diagram-YG6GDRKO-DONC39q-.js → c4Diagram-YG6GDRKO-DBf1NeBf.js} +3 -3
  17. package/dist/static/assets/{c4Diagram-YG6GDRKO-DONC39q-.js.map → c4Diagram-YG6GDRKO-DBf1NeBf.js.map} +1 -1
  18. package/dist/static/assets/{channel-CJTFwXIG.js → channel-Dc34yAJl.js} +2 -2
  19. package/dist/static/assets/{channel-CJTFwXIG.js.map → channel-Dc34yAJl.js.map} +1 -1
  20. package/dist/static/assets/{chunk-4BX2VUAB-NaIy4uLJ.js → chunk-4BX2VUAB-B65G1dJI.js} +2 -2
  21. package/dist/static/assets/{chunk-4BX2VUAB-NaIy4uLJ.js.map → chunk-4BX2VUAB-B65G1dJI.js.map} +1 -1
  22. package/dist/static/assets/{chunk-55IACEB6-JUKI_Ayx.js → chunk-55IACEB6-CSDEOGl2.js} +2 -2
  23. package/dist/static/assets/{chunk-55IACEB6-JUKI_Ayx.js.map → chunk-55IACEB6-CSDEOGl2.js.map} +1 -1
  24. package/dist/static/assets/{chunk-B4BG7PRW-dIswFJDn.js → chunk-B4BG7PRW-Cb6W3QWJ.js} +5 -5
  25. package/dist/static/assets/{chunk-B4BG7PRW-dIswFJDn.js.map → chunk-B4BG7PRW-Cb6W3QWJ.js.map} +1 -1
  26. package/dist/static/assets/{chunk-DI55MBZ5-DU2b_N30.js → chunk-DI55MBZ5-ZAJWeVWH.js} +4 -4
  27. package/dist/static/assets/{chunk-DI55MBZ5-DU2b_N30.js.map → chunk-DI55MBZ5-ZAJWeVWH.js.map} +1 -1
  28. package/dist/static/assets/{chunk-FMBD7UC4-BgExcScw.js → chunk-FMBD7UC4-DiwRlImb.js} +2 -2
  29. package/dist/static/assets/{chunk-FMBD7UC4-BgExcScw.js.map → chunk-FMBD7UC4-DiwRlImb.js.map} +1 -1
  30. package/dist/static/assets/{chunk-QN33PNHL-bitxyqh7.js → chunk-QN33PNHL-wilj7fb5.js} +2 -2
  31. package/dist/static/assets/{chunk-QN33PNHL-bitxyqh7.js.map → chunk-QN33PNHL-wilj7fb5.js.map} +1 -1
  32. package/dist/static/assets/{chunk-QZHKN3VN-Cor8u7DT.js → chunk-QZHKN3VN-DGmviJfR.js} +2 -2
  33. package/dist/static/assets/{chunk-QZHKN3VN-Cor8u7DT.js.map → chunk-QZHKN3VN-DGmviJfR.js.map} +1 -1
  34. package/dist/static/assets/{chunk-TZMSLE5B-Aceoxav_.js → chunk-TZMSLE5B-Nm5wTXa_.js} +2 -2
  35. package/dist/static/assets/{chunk-TZMSLE5B-Aceoxav_.js.map → chunk-TZMSLE5B-Nm5wTXa_.js.map} +1 -1
  36. package/dist/static/assets/{classDiagram-2ON5EDUG-D1Q6a8Hg.js → classDiagram-2ON5EDUG-BvUbXD6H.js} +6 -6
  37. package/dist/static/assets/{classDiagram-2ON5EDUG-D1Q6a8Hg.js.map → classDiagram-2ON5EDUG-BvUbXD6H.js.map} +1 -1
  38. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-D1Q6a8Hg.js → classDiagram-v2-WZHVMYZB-BvUbXD6H.js} +6 -6
  39. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-D1Q6a8Hg.js.map → classDiagram-v2-WZHVMYZB-BvUbXD6H.js.map} +1 -1
  40. package/dist/static/assets/{clone-MlWbv1V0.js → clone-0VLS7GaA.js} +2 -2
  41. package/dist/static/assets/{clone-MlWbv1V0.js.map → clone-0VLS7GaA.js.map} +1 -1
  42. package/dist/static/assets/{cose-bilkent-S5V4N54A-DWPCXSrn.js → cose-bilkent-S5V4N54A-anaPs-75.js} +2 -2
  43. package/dist/static/assets/{cose-bilkent-S5V4N54A-DWPCXSrn.js.map → cose-bilkent-S5V4N54A-anaPs-75.js.map} +1 -1
  44. package/dist/static/assets/{dagre-6UL2VRFP-C8ptQ9V3.js → dagre-6UL2VRFP-YwdsZ11r.js} +7 -7
  45. package/dist/static/assets/{dagre-6UL2VRFP-C8ptQ9V3.js.map → dagre-6UL2VRFP-YwdsZ11r.js.map} +1 -1
  46. package/dist/static/assets/{diagram-PSM6KHXK-Bgf1FqkE.js → diagram-PSM6KHXK-5KQCf3h2.js} +8 -8
  47. package/dist/static/assets/{diagram-PSM6KHXK-Bgf1FqkE.js.map → diagram-PSM6KHXK-5KQCf3h2.js.map} +1 -1
  48. package/dist/static/assets/{diagram-QEK2KX5R-BZ5xzofU.js → diagram-QEK2KX5R-Mf24XxZL.js} +7 -7
  49. package/dist/static/assets/{diagram-QEK2KX5R-BZ5xzofU.js.map → diagram-QEK2KX5R-Mf24XxZL.js.map} +1 -1
  50. package/dist/static/assets/{diagram-S2PKOQOG-Dwp47T9I.js → diagram-S2PKOQOG-DyQjD4D5.js} +7 -7
  51. package/dist/static/assets/{diagram-S2PKOQOG-Dwp47T9I.js.map → diagram-S2PKOQOG-DyQjD4D5.js.map} +1 -1
  52. package/dist/static/assets/{erDiagram-Q2GNP2WA-Cx4weIHl.js → erDiagram-Q2GNP2WA-CEzTKw1u.js} +5 -5
  53. package/dist/static/assets/{erDiagram-Q2GNP2WA-Cx4weIHl.js.map → erDiagram-Q2GNP2WA-CEzTKw1u.js.map} +1 -1
  54. package/dist/static/assets/{flowDiagram-NV44I4VS-vNUuIeRk.js → flowDiagram-NV44I4VS-DT821XSz.js} +6 -6
  55. package/dist/static/assets/{flowDiagram-NV44I4VS-vNUuIeRk.js.map → flowDiagram-NV44I4VS-DT821XSz.js.map} +1 -1
  56. package/dist/static/assets/{ganttDiagram-JELNMOA3-BEfozJAr.js → ganttDiagram-JELNMOA3-DlmeVsGg.js} +3 -3
  57. package/dist/static/assets/{ganttDiagram-JELNMOA3-BEfozJAr.js.map → ganttDiagram-JELNMOA3-DlmeVsGg.js.map} +1 -1
  58. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-eHxwc3d9.js → gitGraphDiagram-V2S2FVAM-yAfyBG_d.js} +8 -8
  59. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-eHxwc3d9.js.map → gitGraphDiagram-V2S2FVAM-yAfyBG_d.js.map} +1 -1
  60. package/dist/static/assets/{graph-C6a6uAok.js → graph-BYv8vyWe.js} +3 -3
  61. package/dist/static/assets/{graph-C6a6uAok.js.map → graph-BYv8vyWe.js.map} +1 -1
  62. package/dist/static/assets/{index-D3TQbAKh.js → index-DMbwqOm6.js} +140 -61
  63. package/dist/static/assets/{index-D3TQbAKh.js.map → index-DMbwqOm6.js.map} +1 -1
  64. package/dist/static/assets/{infoDiagram-HS3SLOUP-CX0NiId3.js → infoDiagram-HS3SLOUP-DaadramQ.js} +6 -6
  65. package/dist/static/assets/{infoDiagram-HS3SLOUP-CX0NiId3.js.map → infoDiagram-HS3SLOUP-DaadramQ.js.map} +1 -1
  66. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-C1IepPZ-.js → journeyDiagram-XKPGCS4Q-ftN8hxu3.js} +5 -5
  67. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-C1IepPZ-.js.map → journeyDiagram-XKPGCS4Q-ftN8hxu3.js.map} +1 -1
  68. package/dist/static/assets/{kanban-definition-3W4ZIXB7-uMNX4Z1W.js → kanban-definition-3W4ZIXB7-BIXETQ-C.js} +3 -3
  69. package/dist/static/assets/{kanban-definition-3W4ZIXB7-uMNX4Z1W.js.map → kanban-definition-3W4ZIXB7-BIXETQ-C.js.map} +1 -1
  70. package/dist/static/assets/{layout-CpE3kk5z.js → layout-OTbrj0Ye.js} +5 -5
  71. package/dist/static/assets/{layout-CpE3kk5z.js.map → layout-OTbrj0Ye.js.map} +1 -1
  72. package/dist/static/assets/{linear-DV8laXr9.js → linear-CVfOC669.js} +2 -2
  73. package/dist/static/assets/{linear-DV8laXr9.js.map → linear-CVfOC669.js.map} +1 -1
  74. package/dist/static/assets/{mindmap-definition-VGOIOE7T-CKjgVM9S.js → mindmap-definition-VGOIOE7T-D2zv5uI9.js} +4 -4
  75. package/dist/static/assets/{mindmap-definition-VGOIOE7T-CKjgVM9S.js.map → mindmap-definition-VGOIOE7T-D2zv5uI9.js.map} +1 -1
  76. package/dist/static/assets/{pieDiagram-ADFJNKIX-BBonlNyT.js → pieDiagram-ADFJNKIX-DaUXTsv7.js} +8 -8
  77. package/dist/static/assets/{pieDiagram-ADFJNKIX-BBonlNyT.js.map → pieDiagram-ADFJNKIX-DaUXTsv7.js.map} +1 -1
  78. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BTI8HbBu.js → quadrantDiagram-AYHSOK5B-B7O2wPX9.js} +3 -3
  79. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-BTI8HbBu.js.map → quadrantDiagram-AYHSOK5B-B7O2wPX9.js.map} +1 -1
  80. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-ZtSr9Q5R.js → requirementDiagram-UZGBJVZJ-DpauVPY1.js} +4 -4
  81. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-ZtSr9Q5R.js.map → requirementDiagram-UZGBJVZJ-DpauVPY1.js.map} +1 -1
  82. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DibLVGzg.js → sankeyDiagram-TZEHDZUN-B3Hbfvad.js} +2 -2
  83. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DibLVGzg.js.map → sankeyDiagram-TZEHDZUN-B3Hbfvad.js.map} +1 -1
  84. package/dist/static/assets/{sequenceDiagram-WL72ISMW-qXatfzVt.js → sequenceDiagram-WL72ISMW-KdbWByWT.js} +4 -4
  85. package/dist/static/assets/{sequenceDiagram-WL72ISMW-qXatfzVt.js.map → sequenceDiagram-WL72ISMW-KdbWByWT.js.map} +1 -1
  86. package/dist/static/assets/{stateDiagram-FKZM4ZOC-7fgxCQHo.js → stateDiagram-FKZM4ZOC-yDOCVezC.js} +9 -9
  87. package/dist/static/assets/{stateDiagram-FKZM4ZOC-7fgxCQHo.js.map → stateDiagram-FKZM4ZOC-yDOCVezC.js.map} +1 -1
  88. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-DcWlOAnF.js → stateDiagram-v2-4FDKWEC3-CpCJhvQO.js} +5 -5
  89. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-DcWlOAnF.js.map → stateDiagram-v2-4FDKWEC3-CpCJhvQO.js.map} +1 -1
  90. package/dist/static/assets/{timeline-definition-IT6M3QCI-iX2MRdpY.js → timeline-definition-IT6M3QCI-CHxuEjhV.js} +3 -3
  91. package/dist/static/assets/{timeline-definition-IT6M3QCI-iX2MRdpY.js.map → timeline-definition-IT6M3QCI-CHxuEjhV.js.map} +1 -1
  92. package/dist/static/assets/{treemap-GDKQZRPO-AVRnyXu1.js → treemap-GDKQZRPO-Bsqu3wIy.js} +5 -5
  93. package/dist/static/assets/{treemap-GDKQZRPO-AVRnyXu1.js.map → treemap-GDKQZRPO-Bsqu3wIy.js.map} +1 -1
  94. package/dist/static/assets/{xychartDiagram-PRI3JC2R-DVYEo5aJ.js → xychartDiagram-PRI3JC2R-RZy33lFF.js} +3 -3
  95. package/dist/static/assets/{xychartDiagram-PRI3JC2R-DVYEo5aJ.js.map → xychartDiagram-PRI3JC2R-RZy33lFF.js.map} +1 -1
  96. package/dist/static/index.html +1 -1
  97. package/dist/tools/ctrl.js +3 -3
  98. package/dist/tools/prompts/control/en/index.md +5 -4
  99. package/dist/tools/prompts/control/en/principles.md +11 -7
  100. package/dist/tools/prompts/control/en/tools.md +19 -0
  101. package/dist/tools/prompts/control/zh/index.md +5 -4
  102. package/dist/tools/prompts/control/zh/principles.md +11 -7
  103. package/dist/tools/prompts/control/zh/tools.md +19 -0
  104. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-C8ptQ9V3.js","assets/graph-C6a6uAok.js","assets/_baseUniq-BuyCgJiA.js","assets/layout-CpE3kk5z.js","assets/_basePickBy-BMCtwrV7.js","assets/clone-MlWbv1V0.js","assets/cose-bilkent-S5V4N54A-DWPCXSrn.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-YG6GDRKO-DONC39q-.js","assets/chunk-TZMSLE5B-Aceoxav_.js","assets/flowDiagram-NV44I4VS-vNUuIeRk.js","assets/chunk-FMBD7UC4-BgExcScw.js","assets/chunk-55IACEB6-JUKI_Ayx.js","assets/chunk-QN33PNHL-bitxyqh7.js","assets/channel-CJTFwXIG.js","assets/erDiagram-Q2GNP2WA-Cx4weIHl.js","assets/gitGraphDiagram-V2S2FVAM-eHxwc3d9.js","assets/chunk-4BX2VUAB-NaIy4uLJ.js","assets/chunk-QZHKN3VN-Cor8u7DT.js","assets/treemap-GDKQZRPO-AVRnyXu1.js","assets/ganttDiagram-JELNMOA3-BEfozJAr.js","assets/linear-DV8laXr9.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-HS3SLOUP-CX0NiId3.js","assets/pieDiagram-ADFJNKIX-BBonlNyT.js","assets/arc-BDuN8lwA.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-AYHSOK5B-BTI8HbBu.js","assets/xychartDiagram-PRI3JC2R-DVYEo5aJ.js","assets/requirementDiagram-UZGBJVZJ-ZtSr9Q5R.js","assets/sequenceDiagram-WL72ISMW-qXatfzVt.js","assets/classDiagram-2ON5EDUG-D1Q6a8Hg.js","assets/chunk-B4BG7PRW-dIswFJDn.js","assets/classDiagram-v2-WZHVMYZB-D1Q6a8Hg.js","assets/stateDiagram-FKZM4ZOC-7fgxCQHo.js","assets/chunk-DI55MBZ5-DU2b_N30.js","assets/stateDiagram-v2-4FDKWEC3-DcWlOAnF.js","assets/journeyDiagram-XKPGCS4Q-C1IepPZ-.js","assets/timeline-definition-IT6M3QCI-iX2MRdpY.js","assets/mindmap-definition-VGOIOE7T-CKjgVM9S.js","assets/kanban-definition-3W4ZIXB7-uMNX4Z1W.js","assets/sankeyDiagram-TZEHDZUN-DibLVGzg.js","assets/diagram-S2PKOQOG-Dwp47T9I.js","assets/diagram-QEK2KX5R-BZ5xzofU.js","assets/blockDiagram-VD42YOAC-CgQiNuuQ.js","assets/architectureDiagram-VXUJARFQ-C-ekqGAD.js","assets/diagram-PSM6KHXK-Bgf1FqkE.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-YwdsZ11r.js","assets/graph-BYv8vyWe.js","assets/_baseUniq-CgDZxcD0.js","assets/layout-OTbrj0Ye.js","assets/_basePickBy-CmziIRM9.js","assets/clone-0VLS7GaA.js","assets/cose-bilkent-S5V4N54A-anaPs-75.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-YG6GDRKO-DBf1NeBf.js","assets/chunk-TZMSLE5B-Nm5wTXa_.js","assets/flowDiagram-NV44I4VS-DT821XSz.js","assets/chunk-FMBD7UC4-DiwRlImb.js","assets/chunk-55IACEB6-CSDEOGl2.js","assets/chunk-QN33PNHL-wilj7fb5.js","assets/channel-Dc34yAJl.js","assets/erDiagram-Q2GNP2WA-CEzTKw1u.js","assets/gitGraphDiagram-V2S2FVAM-yAfyBG_d.js","assets/chunk-4BX2VUAB-B65G1dJI.js","assets/chunk-QZHKN3VN-DGmviJfR.js","assets/treemap-GDKQZRPO-Bsqu3wIy.js","assets/ganttDiagram-JELNMOA3-DlmeVsGg.js","assets/linear-CVfOC669.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-HS3SLOUP-DaadramQ.js","assets/pieDiagram-ADFJNKIX-DaUXTsv7.js","assets/arc-Df9rjNNk.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-AYHSOK5B-B7O2wPX9.js","assets/xychartDiagram-PRI3JC2R-RZy33lFF.js","assets/requirementDiagram-UZGBJVZJ-DpauVPY1.js","assets/sequenceDiagram-WL72ISMW-KdbWByWT.js","assets/classDiagram-2ON5EDUG-BvUbXD6H.js","assets/chunk-B4BG7PRW-Cb6W3QWJ.js","assets/classDiagram-v2-WZHVMYZB-BvUbXD6H.js","assets/stateDiagram-FKZM4ZOC-yDOCVezC.js","assets/chunk-DI55MBZ5-ZAJWeVWH.js","assets/stateDiagram-v2-4FDKWEC3-CpCJhvQO.js","assets/journeyDiagram-XKPGCS4Q-ftN8hxu3.js","assets/timeline-definition-IT6M3QCI-CHxuEjhV.js","assets/mindmap-definition-VGOIOE7T-D2zv5uI9.js","assets/kanban-definition-3W4ZIXB7-BIXETQ-C.js","assets/sankeyDiagram-TZEHDZUN-B3Hbfvad.js","assets/diagram-S2PKOQOG-DyQjD4D5.js","assets/diagram-QEK2KX5R-Mf24XxZL.js","assets/blockDiagram-VD42YOAC-D9Egoflr.js","assets/architectureDiagram-VXUJARFQ-Bif8topC.js","assets/diagram-PSM6KHXK-5KQCf3h2.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);
@@ -97388,12 +97388,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
97388
97388
  registerLayoutLoaders([
97389
97389
  {
97390
97390
  name: "dagre",
97391
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-C8ptQ9V3.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
97391
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-YwdsZ11r.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
97392
97392
  },
97393
97393
  ...[
97394
97394
  {
97395
97395
  name: "cose-bilkent",
97396
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-DWPCXSrn.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
97396
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-anaPs-75.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
97397
97397
  }
97398
97398
  ]
97399
97399
  ]);
@@ -97833,7 +97833,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
97833
97833
  }, "detector");
97834
97834
  var loader = /* @__PURE__ */ __name(async () => {
97835
97835
  const { diagram: diagram2 } = await __vitePreload(async () => {
97836
- const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-DONC39q-.js");
97836
+ const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-DBf1NeBf.js");
97837
97837
  return { diagram: diagram22 };
97838
97838
  }, true ? __vite__mapDeps([8,9]) : void 0);
97839
97839
  return { id, diagram: diagram2 };
@@ -97853,7 +97853,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
97853
97853
  }, "detector");
97854
97854
  var loader2 = /* @__PURE__ */ __name(async () => {
97855
97855
  const { diagram: diagram2 } = await __vitePreload(async () => {
97856
- const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-vNUuIeRk.js");
97856
+ const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-DT821XSz.js");
97857
97857
  return { diagram: diagram22 };
97858
97858
  }, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
97859
97859
  return { id: id2, diagram: diagram2 };
@@ -97879,7 +97879,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
97879
97879
  }, "detector");
97880
97880
  var loader3 = /* @__PURE__ */ __name(async () => {
97881
97881
  const { diagram: diagram2 } = await __vitePreload(async () => {
97882
- const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-vNUuIeRk.js");
97882
+ const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-DT821XSz.js");
97883
97883
  return { diagram: diagram22 };
97884
97884
  }, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
97885
97885
  return { id: id3, diagram: diagram2 };
@@ -97896,7 +97896,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
97896
97896
  }, "detector");
97897
97897
  var loader4 = /* @__PURE__ */ __name(async () => {
97898
97898
  const { diagram: diagram2 } = await __vitePreload(async () => {
97899
- const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-Cx4weIHl.js");
97899
+ const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-CEzTKw1u.js");
97900
97900
  return { diagram: diagram22 };
97901
97901
  }, true ? __vite__mapDeps([15,12,13,14]) : void 0);
97902
97902
  return { id: id4, diagram: diagram2 };
@@ -97913,7 +97913,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
97913
97913
  }, "detector");
97914
97914
  var loader5 = /* @__PURE__ */ __name(async () => {
97915
97915
  const { diagram: diagram2 } = await __vitePreload(async () => {
97916
- const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-eHxwc3d9.js");
97916
+ const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-yAfyBG_d.js");
97917
97917
  return { diagram: diagram22 };
97918
97918
  }, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
97919
97919
  return { id: id5, diagram: diagram2 };
@@ -97930,7 +97930,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
97930
97930
  }, "detector");
97931
97931
  var loader6 = /* @__PURE__ */ __name(async () => {
97932
97932
  const { diagram: diagram2 } = await __vitePreload(async () => {
97933
- const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-BEfozJAr.js");
97933
+ const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-DlmeVsGg.js");
97934
97934
  return { diagram: diagram22 };
97935
97935
  }, true ? __vite__mapDeps([20,21,22,23]) : void 0);
97936
97936
  return { id: id6, diagram: diagram2 };
@@ -97947,7 +97947,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
97947
97947
  }, "detector");
97948
97948
  var loader7 = /* @__PURE__ */ __name(async () => {
97949
97949
  const { diagram: diagram2 } = await __vitePreload(async () => {
97950
- const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-CX0NiId3.js");
97950
+ const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-DaadramQ.js");
97951
97951
  return { diagram: diagram22 };
97952
97952
  }, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
97953
97953
  return { id: id7, diagram: diagram2 };
@@ -97963,7 +97963,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
97963
97963
  }, "detector");
97964
97964
  var loader8 = /* @__PURE__ */ __name(async () => {
97965
97965
  const { diagram: diagram2 } = await __vitePreload(async () => {
97966
- const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-BBonlNyT.js");
97966
+ const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-DaUXTsv7.js");
97967
97967
  return { diagram: diagram22 };
97968
97968
  }, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
97969
97969
  return { id: id8, diagram: diagram2 };
@@ -97979,7 +97979,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
97979
97979
  }, "detector");
97980
97980
  var loader9 = /* @__PURE__ */ __name(async () => {
97981
97981
  const { diagram: diagram2 } = await __vitePreload(async () => {
97982
- const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-BTI8HbBu.js");
97982
+ const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-B7O2wPX9.js");
97983
97983
  return { diagram: diagram22 };
97984
97984
  }, true ? __vite__mapDeps([28,21,22,23]) : void 0);
97985
97985
  return { id: id9, diagram: diagram2 };
@@ -97996,7 +97996,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
97996
97996
  }, "detector");
97997
97997
  var loader10 = /* @__PURE__ */ __name(async () => {
97998
97998
  const { diagram: diagram2 } = await __vitePreload(async () => {
97999
- const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-DVYEo5aJ.js");
97999
+ const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-RZy33lFF.js");
98000
98000
  return { diagram: diagram22 };
98001
98001
  }, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
98002
98002
  return { id: id10, diagram: diagram2 };
@@ -98013,7 +98013,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
98013
98013
  }, "detector");
98014
98014
  var loader11 = /* @__PURE__ */ __name(async () => {
98015
98015
  const { diagram: diagram2 } = await __vitePreload(async () => {
98016
- const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-ZtSr9Q5R.js");
98016
+ const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-DpauVPY1.js");
98017
98017
  return { diagram: diagram22 };
98018
98018
  }, true ? __vite__mapDeps([30,12,13]) : void 0);
98019
98019
  return { id: id11, diagram: diagram2 };
@@ -98030,7 +98030,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
98030
98030
  }, "detector");
98031
98031
  var loader12 = /* @__PURE__ */ __name(async () => {
98032
98032
  const { diagram: diagram2 } = await __vitePreload(async () => {
98033
- const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-qXatfzVt.js");
98033
+ const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-KdbWByWT.js");
98034
98034
  return { diagram: diagram22 };
98035
98035
  }, true ? __vite__mapDeps([31,9,18]) : void 0);
98036
98036
  return { id: id12, diagram: diagram2 };
@@ -98050,7 +98050,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
98050
98050
  }, "detector");
98051
98051
  var loader13 = /* @__PURE__ */ __name(async () => {
98052
98052
  const { diagram: diagram2 } = await __vitePreload(async () => {
98053
- const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-D1Q6a8Hg.js");
98053
+ const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-BvUbXD6H.js");
98054
98054
  return { diagram: diagram22 };
98055
98055
  }, true ? __vite__mapDeps([32,33,11,12,13]) : void 0);
98056
98056
  return { id: id13, diagram: diagram2 };
@@ -98070,7 +98070,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
98070
98070
  }, "detector");
98071
98071
  var loader14 = /* @__PURE__ */ __name(async () => {
98072
98072
  const { diagram: diagram2 } = await __vitePreload(async () => {
98073
- const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-D1Q6a8Hg.js");
98073
+ const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-BvUbXD6H.js");
98074
98074
  return { diagram: diagram22 };
98075
98075
  }, true ? __vite__mapDeps([34,33,11,12,13]) : void 0);
98076
98076
  return { id: id14, diagram: diagram2 };
@@ -98090,7 +98090,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
98090
98090
  }, "detector");
98091
98091
  var loader15 = /* @__PURE__ */ __name(async () => {
98092
98092
  const { diagram: diagram2 } = await __vitePreload(async () => {
98093
- const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-7fgxCQHo.js");
98093
+ const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-yDOCVezC.js");
98094
98094
  return { diagram: diagram22 };
98095
98095
  }, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
98096
98096
  return { id: id15, diagram: diagram2 };
@@ -98113,7 +98113,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
98113
98113
  }, "detector");
98114
98114
  var loader16 = /* @__PURE__ */ __name(async () => {
98115
98115
  const { diagram: diagram2 } = await __vitePreload(async () => {
98116
- const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-DcWlOAnF.js");
98116
+ const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-CpCJhvQO.js");
98117
98117
  return { diagram: diagram22 };
98118
98118
  }, true ? __vite__mapDeps([37,36,12,13]) : void 0);
98119
98119
  return { id: id16, diagram: diagram2 };
@@ -98130,7 +98130,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
98130
98130
  }, "detector");
98131
98131
  var loader17 = /* @__PURE__ */ __name(async () => {
98132
98132
  const { diagram: diagram2 } = await __vitePreload(async () => {
98133
- const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-C1IepPZ-.js");
98133
+ const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-ftN8hxu3.js");
98134
98134
  return { diagram: diagram22 };
98135
98135
  }, true ? __vite__mapDeps([38,9,11,26]) : void 0);
98136
98136
  return { id: id17, diagram: diagram2 };
@@ -98200,7 +98200,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
98200
98200
  }, "detector");
98201
98201
  var loader18 = /* @__PURE__ */ __name(async () => {
98202
98202
  const { diagram: diagram2 } = await __vitePreload(async () => {
98203
- const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-vNUuIeRk.js");
98203
+ const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-DT821XSz.js");
98204
98204
  return { diagram: diagram22 };
98205
98205
  }, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
98206
98206
  return { id: id18, diagram: diagram2 };
@@ -98217,7 +98217,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
98217
98217
  }, "detector");
98218
98218
  var loader19 = /* @__PURE__ */ __name(async () => {
98219
98219
  const { diagram: diagram2 } = await __vitePreload(async () => {
98220
- const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-iX2MRdpY.js");
98220
+ const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-CHxuEjhV.js");
98221
98221
  return { diagram: diagram22 };
98222
98222
  }, true ? __vite__mapDeps([39,26]) : void 0);
98223
98223
  return { id: id19, diagram: diagram2 };
@@ -98234,7 +98234,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
98234
98234
  }, "detector");
98235
98235
  var loader20 = /* @__PURE__ */ __name(async () => {
98236
98236
  const { diagram: diagram2 } = await __vitePreload(async () => {
98237
- const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-CKjgVM9S.js");
98237
+ const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-D2zv5uI9.js");
98238
98238
  return { diagram: diagram22 };
98239
98239
  }, true ? __vite__mapDeps([40,12,13]) : void 0);
98240
98240
  return { id: id20, diagram: diagram2 };
@@ -98251,7 +98251,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
98251
98251
  }, "detector");
98252
98252
  var loader21 = /* @__PURE__ */ __name(async () => {
98253
98253
  const { diagram: diagram2 } = await __vitePreload(async () => {
98254
- const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-uMNX4Z1W.js");
98254
+ const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-BIXETQ-C.js");
98255
98255
  return { diagram: diagram22 };
98256
98256
  }, true ? __vite__mapDeps([41,11]) : void 0);
98257
98257
  return { id: id21, diagram: diagram2 };
@@ -98268,7 +98268,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
98268
98268
  }, "detector");
98269
98269
  var loader22 = /* @__PURE__ */ __name(async () => {
98270
98270
  const { diagram: diagram2 } = await __vitePreload(async () => {
98271
- const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-DibLVGzg.js");
98271
+ const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-B3Hbfvad.js");
98272
98272
  return { diagram: diagram22 };
98273
98273
  }, true ? __vite__mapDeps([42,27,22]) : void 0);
98274
98274
  return { id: id22, diagram: diagram2 };
@@ -98285,7 +98285,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
98285
98285
  }, "detector");
98286
98286
  var loader23 = /* @__PURE__ */ __name(async () => {
98287
98287
  const { diagram: diagram2 } = await __vitePreload(async () => {
98288
- const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-Dwp47T9I.js");
98288
+ const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-DyQjD4D5.js");
98289
98289
  return { diagram: diagram22 };
98290
98290
  }, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
98291
98291
  return { id: id23, diagram: diagram2 };
@@ -98301,7 +98301,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
98301
98301
  }, "detector");
98302
98302
  var loader24 = /* @__PURE__ */ __name(async () => {
98303
98303
  const { diagram: diagram2 } = await __vitePreload(async () => {
98304
- const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-BZ5xzofU.js");
98304
+ const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-Mf24XxZL.js");
98305
98305
  return { diagram: diagram22 };
98306
98306
  }, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
98307
98307
  return { id: id24, diagram: diagram2 };
@@ -98317,7 +98317,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
98317
98317
  }, "detector");
98318
98318
  var loader25 = /* @__PURE__ */ __name(async () => {
98319
98319
  const { diagram: diagram2 } = await __vitePreload(async () => {
98320
- const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-CgQiNuuQ.js");
98320
+ const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-D9Egoflr.js");
98321
98321
  return { diagram: diagram22 };
98322
98322
  }, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
98323
98323
  return { id: id25, diagram: diagram2 };
@@ -98334,7 +98334,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
98334
98334
  }, "detector");
98335
98335
  var loader26 = /* @__PURE__ */ __name(async () => {
98336
98336
  const { diagram: diagram2 } = await __vitePreload(async () => {
98337
- const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-C-ekqGAD.js");
98337
+ const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-Bif8topC.js");
98338
98338
  return { diagram: diagram22 };
98339
98339
  }, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
98340
98340
  return { id: id26, diagram: diagram2 };
@@ -98351,7 +98351,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
98351
98351
  }, "detector");
98352
98352
  var loader27 = /* @__PURE__ */ __name(async () => {
98353
98353
  const { diagram: diagram2 } = await __vitePreload(async () => {
98354
- const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-Bgf1FqkE.js");
98354
+ const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-5KQCf3h2.js");
98355
98355
  return { diagram: diagram22 };
98356
98356
  }, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
98357
98357
  return { id: id27, diagram: diagram2 };
@@ -99209,7 +99209,6 @@ class DomindsMermaidBlock extends HTMLElement {
99209
99209
  if (!customElements.get("dominds-mermaid-block")) {
99210
99210
  customElements.define("dominds-mermaid-block", DomindsMermaidBlock);
99211
99211
  }
99212
- const WORKSPACE_FILE_LINK_PREFIX = "/ws/";
99213
99212
  const WORKSPACE_FILE_PREVIEW_ROUTE = "/f";
99214
99213
  const DOMINDS_RTWS_DATA_ATTR = "data-dominds-rtws";
99215
99214
  function slugifyHeadingId(raw) {
@@ -99229,36 +99228,47 @@ function parseFenceLanguage(info2) {
99229
99228
  if (spaceIndex < 0) return trimmed;
99230
99229
  return trimmed.slice(0, spaceIndex);
99231
99230
  }
99232
- function parseWorkspaceFileLinkTarget(rawHref) {
99231
+ function parseWorkspaceHrefPath(rawHref) {
99233
99232
  const trimmed = rawHref.trim();
99234
- if (!trimmed.startsWith(WORKSPACE_FILE_LINK_PREFIX)) return null;
99235
99233
  const queryIdx = trimmed.indexOf("?");
99236
99234
  const hashIdx = trimmed.indexOf("#");
99237
99235
  const cutIdxCandidates = [queryIdx, hashIdx].filter((idx) => idx >= 0);
99238
99236
  const endIdx = cutIdxCandidates.length > 0 ? Math.min(...cutIdxCandidates) : trimmed.length;
99239
- const hrefWithoutQueryOrHash = trimmed.slice(0, endIdx);
99237
+ const hrefWithoutQueryOrHash = trimmed.slice(0, endIdx).trim();
99240
99238
  if (hrefWithoutQueryOrHash.length < 1) return null;
99241
99239
  const lineColMatch = hrefWithoutQueryOrHash.match(/^(.*):([1-9]\d*)(?::([1-9]\d*))?$/);
99242
- const rawPath = lineColMatch ? lineColMatch[1] : hrefWithoutQueryOrHash;
99243
- if (!rawPath.startsWith(WORKSPACE_FILE_LINK_PREFIX)) return null;
99244
- if (rawPath.endsWith("/")) return null;
99245
- let absolutePath = rawPath;
99246
- try {
99247
- absolutePath = decodeURIComponent(rawPath);
99248
- } catch {
99249
- absolutePath = rawPath;
99240
+ let rawPath = lineColMatch ? lineColMatch[1] : hrefWithoutQueryOrHash;
99241
+ if (rawPath.length > 1 && rawPath.endsWith("/")) {
99242
+ rawPath = rawPath.replace(/\/+$/g, "");
99250
99243
  }
99251
- if (!absolutePath.startsWith(WORKSPACE_FILE_LINK_PREFIX)) return null;
99244
+ if (rawPath.length < 1) return null;
99252
99245
  const lineRaw = lineColMatch?.[2];
99253
99246
  const columnRaw = lineColMatch?.[3];
99254
99247
  const line2 = typeof lineRaw === "string" ? Number.parseInt(lineRaw, 10) : void 0;
99255
99248
  const column2 = typeof columnRaw === "string" ? Number.parseInt(columnRaw, 10) : void 0;
99256
99249
  return {
99257
- absolutePath,
99250
+ rawPath,
99258
99251
  line: typeof line2 === "number" ? line2 : void 0,
99259
99252
  column: typeof column2 === "number" ? column2 : void 0
99260
99253
  };
99261
99254
  }
99255
+ function parseWorkspaceFileLinkTarget(rawHref) {
99256
+ const parsed = parseWorkspaceHrefPath(rawHref);
99257
+ if (parsed === null) return null;
99258
+ if (!parsed.rawPath.startsWith("/")) return null;
99259
+ let absolutePath = parsed.rawPath;
99260
+ try {
99261
+ absolutePath = decodeURIComponent(parsed.rawPath);
99262
+ } catch {
99263
+ absolutePath = parsed.rawPath;
99264
+ }
99265
+ if (!absolutePath.startsWith("/")) return null;
99266
+ return {
99267
+ absolutePath,
99268
+ line: parsed.line,
99269
+ column: parsed.column
99270
+ };
99271
+ }
99262
99272
  function normalizeSlashPath(value) {
99263
99273
  return value.replace(/\\/g, "/");
99264
99274
  }
@@ -99291,12 +99301,12 @@ function getCurrentRtwsAbsPath() {
99291
99301
  function toRtwsRelativePath(absolutePath, rtwsAbsPath) {
99292
99302
  const normalizedAbs = normalizeRtwsAbsPath(absolutePath);
99293
99303
  const normalizedRtws = normalizeRtwsAbsPath(rtwsAbsPath);
99294
- if (normalizedAbs === normalizedRtws) return null;
99304
+ if (normalizedAbs === normalizedRtws) return "";
99295
99305
  const prefix = normalizedRtws === "/" ? "/" : `${normalizedRtws}/`;
99296
99306
  if (!normalizedAbs.startsWith(prefix)) return null;
99297
99307
  const relativePath = normalizedAbs.slice(prefix.length);
99298
- if (relativePath.length < 1) return null;
99299
99308
  if (relativePath.includes("\0")) return null;
99309
+ if (relativePath.length < 1) return "";
99300
99310
  const segments = relativePath.split("/");
99301
99311
  if (segments.some((segment) => segment.length < 1 || segment === "." || segment === "..")) {
99302
99312
  return null;
@@ -99326,9 +99336,49 @@ function getAuthFromCurrentUrl() {
99326
99336
  return null;
99327
99337
  }
99328
99338
  }
99339
+ function normalizeRtwsRelativePath(rawPath, options) {
99340
+ if (rawPath.includes("\0")) return null;
99341
+ if (rawPath.includes("\\")) return null;
99342
+ if (rawPath.startsWith("/")) return null;
99343
+ const normalized = [];
99344
+ for (const part of rawPath.split("/")) {
99345
+ if (part === "" || part === ".") continue;
99346
+ if (part === "..") {
99347
+ if (normalized.length < 1) return null;
99348
+ normalized.pop();
99349
+ continue;
99350
+ }
99351
+ normalized.push(part);
99352
+ }
99353
+ const out = normalized.join("/");
99354
+ if (out.length < 1) {
99355
+ return options.allowRoot ? "" : null;
99356
+ }
99357
+ return out;
99358
+ }
99359
+ function resolveRelativeWorkspaceFilePreviewTarget(rawHref, env) {
99360
+ if (!env.allowRelativeWorkspaceLinks) return null;
99361
+ const trimmed = rawHref.trim();
99362
+ if (trimmed.length < 1) return null;
99363
+ if (trimmed.startsWith("#")) return null;
99364
+ if (trimmed.startsWith("//")) return null;
99365
+ if (/^[a-zA-Z][a-zA-Z\d+.-]*:/.test(trimmed)) return null;
99366
+ const parsed = parseWorkspaceHrefPath(trimmed);
99367
+ if (parsed === null) return null;
99368
+ if (parsed.rawPath.startsWith("/")) return null;
99369
+ const baseDir = typeof env.workspaceLinkBaseDir === "string" ? normalizeRtwsRelativePath(env.workspaceLinkBaseDir, { allowRoot: true }) : "";
99370
+ if (baseDir === null) return null;
99371
+ const combinedPath = baseDir.length > 0 ? `${baseDir}/${parsed.rawPath}` : parsed.rawPath;
99372
+ const relativePath = normalizeRtwsRelativePath(combinedPath, { allowRoot: true });
99373
+ if (relativePath === null) return null;
99374
+ return {
99375
+ relativePath,
99376
+ line: parsed.line,
99377
+ column: parsed.column
99378
+ };
99379
+ }
99329
99380
  function buildWorkspaceFilePreviewHref(target) {
99330
- const encodedPath = target.relativePath.split("/").map((segment) => encodeURIComponent(segment)).join("/");
99331
- const routePath = `${WORKSPACE_FILE_PREVIEW_ROUTE}/${encodedPath}`;
99381
+ const routePath = target.relativePath.length < 1 ? WORKSPACE_FILE_PREVIEW_ROUTE : `${WORKSPACE_FILE_PREVIEW_ROUTE}/${target.relativePath.split("/").map((segment) => encodeURIComponent(segment)).join("/")}`;
99332
99382
  const params = new URLSearchParams();
99333
99383
  if (typeof target.line === "number") {
99334
99384
  params.set("line", String(target.line));
@@ -99446,12 +99496,23 @@ md.core.ruler.push("dominds_heading_ids", (state2) => {
99446
99496
  }
99447
99497
  });
99448
99498
  installDomindsMathBlockRule(md);
99499
+ function getMarkdownRenderEnv(env) {
99500
+ if (typeof env !== "object" || env === null) {
99501
+ return { allowRelativeWorkspaceLinks: false };
99502
+ }
99503
+ const candidate = env;
99504
+ return {
99505
+ allowRelativeWorkspaceLinks: candidate.allowRelativeWorkspaceLinks === true,
99506
+ workspaceLinkBaseDir: typeof candidate.workspaceLinkBaseDir === "string" ? candidate.workspaceLinkBaseDir : void 0
99507
+ };
99508
+ }
99449
99509
  md.renderer.rules.link_open = (tokens, idx, options, _env, self2) => {
99450
99510
  const token2 = tokens[idx];
99451
99511
  const href = token2.attrGet("href");
99512
+ const env = getMarkdownRenderEnv(_env);
99452
99513
  if (typeof href === "string") {
99453
99514
  const workspaceFileLink = parseWorkspaceFileLinkTarget(href);
99454
- const previewTarget = workspaceFileLink === null ? null : resolveWorkspaceFilePreviewTarget(workspaceFileLink);
99515
+ const previewTarget = workspaceFileLink !== null ? resolveWorkspaceFilePreviewTarget(workspaceFileLink) : resolveRelativeWorkspaceFilePreviewTarget(href, env);
99455
99516
  if (previewTarget) {
99456
99517
  token2.attrSet("href", buildWorkspaceFilePreviewHref(previewTarget));
99457
99518
  applyOpenInNewTabAttrs(token2);
@@ -99473,9 +99534,12 @@ md.renderer.rules.fence = (tokens, idx) => {
99473
99534
  const attrLanguage = language.length > 0 ? language : "plaintext";
99474
99535
  return `<dominds-code-block language="${escapeHtmlText(attrLanguage)}">${escapeHtmlText(code2)}</dominds-code-block>`;
99475
99536
  };
99476
- function renderDomindsMarkdown(input, _opts = { kind: "chat" }) {
99537
+ function renderDomindsMarkdown(input, opts = { kind: "chat" }) {
99477
99538
  try {
99478
- const rendered = md.render(input);
99539
+ const rendered = md.render(input, {
99540
+ allowRelativeWorkspaceLinks: opts.allowRelativeWorkspaceLinks === true,
99541
+ workspaceLinkBaseDir: opts.workspaceLinkBaseDir
99542
+ });
99479
99543
  return purify.sanitize(rendered, domPurifyConfig);
99480
99544
  } catch (error2) {
99481
99545
  console.error("Markdown rendering error:", error2);
@@ -99515,7 +99579,10 @@ class DomindsMarkdownSection extends HTMLElement {
99515
99579
  render() {
99516
99580
  const contentEl = this.querySelector(".markdown-content");
99517
99581
  if (contentEl) {
99518
- contentEl.innerHTML = renderDomindsMarkdown(this.accumulatedRawMarkdown);
99582
+ contentEl.innerHTML = renderDomindsMarkdown(this.accumulatedRawMarkdown, {
99583
+ kind: "chat",
99584
+ allowRelativeWorkspaceLinks: true
99585
+ });
99519
99586
  contentEl.setAttribute("data-raw-md", this.accumulatedRawMarkdown);
99520
99587
  }
99521
99588
  }
@@ -101115,7 +101182,10 @@ class DomindsDialogContainer extends HTMLElement {
101115
101182
  }
101116
101183
  const bodyEl = callingSection.querySelector(".calling-body");
101117
101184
  if (bodyEl) {
101118
- bodyEl.innerHTML = renderDomindsMarkdown(event.tellaskContent, {});
101185
+ bodyEl.innerHTML = renderDomindsMarkdown(event.tellaskContent, {
101186
+ kind: "chat",
101187
+ allowRelativeWorkspaceLinks: true
101188
+ });
101119
101189
  bodyEl.classList.add("markdown-content");
101120
101190
  bodyEl.setAttribute("data-raw-md", event.tellaskContent);
101121
101191
  bodyEl.classList.add("completed");
@@ -101146,7 +101216,10 @@ class DomindsDialogContainer extends HTMLElement {
101146
101216
  if (item.type === "input_text") {
101147
101217
  const raw = String(item.text || "");
101148
101218
  const block2 = document.createElement("div");
101149
- block2.innerHTML = renderDomindsMarkdown(raw);
101219
+ block2.innerHTML = renderDomindsMarkdown(raw, {
101220
+ kind: "chat",
101221
+ allowRelativeWorkspaceLinks: true
101222
+ });
101150
101223
  block2.classList.add("markdown-content");
101151
101224
  block2.setAttribute("data-raw-md", raw);
101152
101225
  resultEl.appendChild(block2);
@@ -101210,7 +101283,10 @@ class DomindsDialogContainer extends HTMLElement {
101210
101283
  resultEl.style.display = "block";
101211
101284
  } else {
101212
101285
  const raw = String(event.content || "");
101213
- resultEl.innerHTML = renderDomindsMarkdown(raw);
101286
+ resultEl.innerHTML = renderDomindsMarkdown(raw, {
101287
+ kind: "chat",
101288
+ allowRelativeWorkspaceLinks: true
101289
+ });
101214
101290
  resultEl.setAttribute("data-raw-md", raw);
101215
101291
  resultEl.classList.add("markdown-content");
101216
101292
  resultEl.classList.add("completed");
@@ -104028,7 +104104,7 @@ class DomindsDocsPanel extends HTMLElement {
104028
104104
  } else if (this.fetchState.kind === "error") {
104029
104105
  bodyHtml = `<div class="error">${this.escapeHtml(this.fetchState.message)}</div>`;
104030
104106
  } else if (this.fetchState.kind === "ready") {
104031
- bodyHtml = `<div class="doc-body">${renderDomindsMarkdown(this.fetchState.raw, {})}</div>`;
104107
+ bodyHtml = `<div class="doc-body">${renderDomindsMarkdown(this.fetchState.raw, { kind: "chat" })}</div>`;
104032
104108
  } else {
104033
104109
  bodyHtml = `<div class="muted">—</div>`;
104034
104110
  }
@@ -106130,7 +106206,10 @@ class DomindsQ4HPanel extends HTMLElement {
106130
106206
  </div>
106131
106207
  <div class="q4h-question-body">
106132
106208
  <div class="q4h-tellask">
106133
- <div class="q4h-tellask-body">${renderDomindsMarkdown(question2.tellaskContent, {})}</div>
106209
+ <div class="q4h-tellask-body">${renderDomindsMarkdown(question2.tellaskContent, {
106210
+ kind: "chat",
106211
+ allowRelativeWorkspaceLinks: true
106212
+ })}</div>
106134
106213
  </div>
106135
106214
  </div>
106136
106215
  </div>
@@ -106846,7 +106925,7 @@ class DomindsTeamManualPanel extends HTMLElement {
106846
106925
  } else if (this.state.kind === "error") {
106847
106926
  bodyHtml = `<div class="error">${this.escapeHtml(this.state.message)}</div>`;
106848
106927
  } else if (this.state.kind === "ready") {
106849
- bodyHtml = `<div class="doc-body">${renderDomindsMarkdown(this.state.markdown, {})}</div>`;
106928
+ bodyHtml = `<div class="doc-body">${renderDomindsMarkdown(this.state.markdown, { kind: "chat" })}</div>`;
106850
106929
  } else {
106851
106930
  bodyHtml = `<div class="muted">—</div>`;
106852
106931
  }
@@ -111657,7 +111736,7 @@ ${formatUiLanguageOptionLabel({
111657
111736
  describedUiLanguage: optionLanguage,
111658
111737
  serverWorkLanguage: this.serverWorkLanguage
111659
111738
  });
111660
- tip.innerHTML = renderDomindsMarkdown(tipMarkdown, {});
111739
+ tip.innerHTML = renderDomindsMarkdown(tipMarkdown, { kind: "tooltip" });
111661
111740
  }
111662
111741
  if (optionLanguage === this.uiLanguage) {
111663
111742
  item.dataset.selected = "true";
@@ -115310,7 +115389,7 @@ ${formatUiLanguageOptionLabel({
115310
115389
  describedUiLanguage: optionLanguage,
115311
115390
  serverWorkLanguage: this.serverWorkLanguage
115312
115391
  });
115313
- const tipHtml = renderDomindsMarkdown(tipMarkdown, {});
115392
+ const tipHtml = renderDomindsMarkdown(tipMarkdown, { kind: "tooltip" });
115314
115393
  const selected = optionLanguage === this.uiLanguage;
115315
115394
  return `
115316
115395
  <button type="button" class="ui-language-menu-item" data-language="${optionLanguage}" data-lang-match="${optionMatch.kind}" data-selected="${selected ? "true" : "false"}" ${selected ? 'aria-current="true"' : ""}>
@@ -121418,4 +121497,4 @@ export {
121418
121497
  clear$2 as y,
121419
121498
  defaultConfig2 as z
121420
121499
  };
121421
- //# sourceMappingURL=index-D3TQbAKh.js.map
121500
+ //# sourceMappingURL=index-DMbwqOm6.js.map