dominds 1.2.5 → 1.2.6

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 (142) hide show
  1. package/dist/agent-priming.js +2051 -0
  2. package/dist/apps/app-lock-file.js +228 -0
  3. package/dist/apps/assigned-port.js +124 -0
  4. package/dist/apps/enabled-apps.js +472 -7
  5. package/dist/apps/manifest.js +37 -0
  6. package/dist/apps/override-paths.js +0 -5
  7. package/dist/apps/problems.js +43 -0
  8. package/dist/apps/resolution-file.js +370 -0
  9. package/dist/apps/runtime.js +5 -17
  10. package/dist/cli/disable.js +10 -6
  11. package/dist/cli/enable.js +21 -19
  12. package/dist/cli/install.js +40 -18
  13. package/dist/cli/uninstall.js +6 -6
  14. package/dist/cli/update.js +38 -13
  15. package/dist/docs/app-constitution.md +85 -18
  16. package/dist/docs/app-constitution.zh.md +86 -21
  17. package/dist/docs/dialog-system.md +1 -1
  18. package/dist/docs/dialog-system.zh.md +1 -1
  19. package/dist/docs/dominds-agent-priming.md +218 -0
  20. package/dist/docs/dominds-agent-priming.zh.md +196 -0
  21. package/dist/docs/drive-logic-context-refactor-plan.zh.md +338 -0
  22. package/dist/docs/keep-going.md +176 -0
  23. package/dist/docs/keep-going.zh.md +162 -0
  24. package/dist/docs/showing-by-doing.md +208 -0
  25. package/dist/docs/showing-by-doing.zh.md +177 -0
  26. package/dist/docs/team-mgmt-toolset.md +482 -0
  27. package/dist/docs/team-mgmt-toolset.zh.md +426 -0
  28. package/dist/llm/defaults.yaml +1 -1
  29. package/dist/llm/driver.js +4093 -0
  30. package/dist/minds/promptdocs.js +263 -0
  31. package/dist/server/api-routes.js +333 -0
  32. package/dist/server/prompts-routes.js +545 -0
  33. package/dist/server/server-core.js +4 -0
  34. package/dist/shared/team-mgmt-manual.js +120 -0
  35. package/dist/shared/types/prompts.js +2 -0
  36. package/dist/shared/types/tellask.js +8 -0
  37. package/dist/showing-by-doing.js +1091 -0
  38. package/dist/snippets/README.en.md +3 -0
  39. package/dist/snippets/README.md +4 -0
  40. package/dist/static/assets/{_basePickBy-CF9r08iy.js → _basePickBy-5YF_9hQW.js} +3 -3
  41. package/dist/static/assets/{_basePickBy-CF9r08iy.js.map → _basePickBy-5YF_9hQW.js.map} +1 -1
  42. package/dist/static/assets/{_baseUniq-CxKv0cd4.js → _baseUniq-jhU9AUhp.js} +2 -2
  43. package/dist/static/assets/{_baseUniq-CxKv0cd4.js.map → _baseUniq-jhU9AUhp.js.map} +1 -1
  44. package/dist/static/assets/{arc-C9JyvnlB.js → arc-CxfO0spY.js} +2 -2
  45. package/dist/static/assets/{arc-C9JyvnlB.js.map → arc-CxfO0spY.js.map} +1 -1
  46. package/dist/static/assets/{architectureDiagram-VXUJARFQ-CpcUgjHf.js → architectureDiagram-VXUJARFQ-DdfdIFQM.js} +7 -7
  47. package/dist/static/assets/{architectureDiagram-VXUJARFQ-CpcUgjHf.js.map → architectureDiagram-VXUJARFQ-DdfdIFQM.js.map} +1 -1
  48. package/dist/static/assets/{blockDiagram-VD42YOAC-BA9vtmm7.js → blockDiagram-VD42YOAC-Cwqz2taZ.js} +7 -7
  49. package/dist/static/assets/{blockDiagram-VD42YOAC-BA9vtmm7.js.map → blockDiagram-VD42YOAC-Cwqz2taZ.js.map} +1 -1
  50. package/dist/static/assets/{c4Diagram-YG6GDRKO-D49MGNdF.js → c4Diagram-YG6GDRKO-B4tMGdJJ.js} +3 -3
  51. package/dist/static/assets/{c4Diagram-YG6GDRKO-D49MGNdF.js.map → c4Diagram-YG6GDRKO-B4tMGdJJ.js.map} +1 -1
  52. package/dist/static/assets/{channel-B4KzL0Kg.js → channel-vcTCKrpR.js} +2 -2
  53. package/dist/static/assets/{channel-B4KzL0Kg.js.map → channel-vcTCKrpR.js.map} +1 -1
  54. package/dist/static/assets/{chunk-4BX2VUAB-0F-1ayl0.js → chunk-4BX2VUAB-9jaRyZiz.js} +2 -2
  55. package/dist/static/assets/{chunk-4BX2VUAB-0F-1ayl0.js.map → chunk-4BX2VUAB-9jaRyZiz.js.map} +1 -1
  56. package/dist/static/assets/{chunk-55IACEB6-Dnl2HDTZ.js → chunk-55IACEB6-CqFPCghN.js} +2 -2
  57. package/dist/static/assets/{chunk-55IACEB6-Dnl2HDTZ.js.map → chunk-55IACEB6-CqFPCghN.js.map} +1 -1
  58. package/dist/static/assets/{chunk-B4BG7PRW-Bhx5RbkQ.js → chunk-B4BG7PRW-BVwJVEzB.js} +5 -5
  59. package/dist/static/assets/{chunk-B4BG7PRW-Bhx5RbkQ.js.map → chunk-B4BG7PRW-BVwJVEzB.js.map} +1 -1
  60. package/dist/static/assets/{chunk-DI55MBZ5-EYd1wL3E.js → chunk-DI55MBZ5-i9DDRLYs.js} +4 -4
  61. package/dist/static/assets/{chunk-DI55MBZ5-EYd1wL3E.js.map → chunk-DI55MBZ5-i9DDRLYs.js.map} +1 -1
  62. package/dist/static/assets/{chunk-FMBD7UC4-DAjkhhUU.js → chunk-FMBD7UC4-DtB9tnhF.js} +2 -2
  63. package/dist/static/assets/{chunk-FMBD7UC4-DAjkhhUU.js.map → chunk-FMBD7UC4-DtB9tnhF.js.map} +1 -1
  64. package/dist/static/assets/{chunk-QN33PNHL-CK6TY7IE.js → chunk-QN33PNHL-Bzbixp1o.js} +2 -2
  65. package/dist/static/assets/{chunk-QN33PNHL-CK6TY7IE.js.map → chunk-QN33PNHL-Bzbixp1o.js.map} +1 -1
  66. package/dist/static/assets/{chunk-QZHKN3VN-CketngiE.js → chunk-QZHKN3VN-CI-C5uv0.js} +2 -2
  67. package/dist/static/assets/{chunk-QZHKN3VN-CketngiE.js.map → chunk-QZHKN3VN-CI-C5uv0.js.map} +1 -1
  68. package/dist/static/assets/{chunk-TZMSLE5B-Bcuvqo45.js → chunk-TZMSLE5B-CANsFBw_.js} +2 -2
  69. package/dist/static/assets/{chunk-TZMSLE5B-Bcuvqo45.js.map → chunk-TZMSLE5B-CANsFBw_.js.map} +1 -1
  70. package/dist/static/assets/{classDiagram-2ON5EDUG-CaP4T3r4.js → classDiagram-2ON5EDUG-D00eOaDx.js} +6 -6
  71. package/dist/static/assets/{classDiagram-2ON5EDUG-CaP4T3r4.js.map → classDiagram-2ON5EDUG-D00eOaDx.js.map} +1 -1
  72. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-CaP4T3r4.js → classDiagram-v2-WZHVMYZB-D00eOaDx.js} +6 -6
  73. package/dist/static/assets/{classDiagram-v2-WZHVMYZB-CaP4T3r4.js.map → classDiagram-v2-WZHVMYZB-D00eOaDx.js.map} +1 -1
  74. package/dist/static/assets/{clone-C-JULvnG.js → clone-BvOc2yso.js} +2 -2
  75. package/dist/static/assets/{clone-C-JULvnG.js.map → clone-BvOc2yso.js.map} +1 -1
  76. package/dist/static/assets/{cose-bilkent-S5V4N54A-vXCmi_eC.js → cose-bilkent-S5V4N54A-DSYAdAyx.js} +2 -2
  77. package/dist/static/assets/{cose-bilkent-S5V4N54A-vXCmi_eC.js.map → cose-bilkent-S5V4N54A-DSYAdAyx.js.map} +1 -1
  78. package/dist/static/assets/{dagre-6UL2VRFP-bhGzX6kO.js → dagre-6UL2VRFP-B7J4YtNM.js} +7 -7
  79. package/dist/static/assets/{dagre-6UL2VRFP-bhGzX6kO.js.map → dagre-6UL2VRFP-B7J4YtNM.js.map} +1 -1
  80. package/dist/static/assets/{diagram-PSM6KHXK-BUKfmfGk.js → diagram-PSM6KHXK-htuDE0_8.js} +8 -8
  81. package/dist/static/assets/{diagram-PSM6KHXK-BUKfmfGk.js.map → diagram-PSM6KHXK-htuDE0_8.js.map} +1 -1
  82. package/dist/static/assets/{diagram-QEK2KX5R-DYlq3uFq.js → diagram-QEK2KX5R-g1GZbARf.js} +7 -7
  83. package/dist/static/assets/{diagram-QEK2KX5R-DYlq3uFq.js.map → diagram-QEK2KX5R-g1GZbARf.js.map} +1 -1
  84. package/dist/static/assets/{diagram-S2PKOQOG-CjxkLHWG.js → diagram-S2PKOQOG-DYvwVsZm.js} +7 -7
  85. package/dist/static/assets/{diagram-S2PKOQOG-CjxkLHWG.js.map → diagram-S2PKOQOG-DYvwVsZm.js.map} +1 -1
  86. package/dist/static/assets/{erDiagram-Q2GNP2WA-S3hR85On.js → erDiagram-Q2GNP2WA-CuCw1fng.js} +5 -5
  87. package/dist/static/assets/{erDiagram-Q2GNP2WA-S3hR85On.js.map → erDiagram-Q2GNP2WA-CuCw1fng.js.map} +1 -1
  88. package/dist/static/assets/{flowDiagram-NV44I4VS-aBmNMuQ0.js → flowDiagram-NV44I4VS-B7e0sjm_.js} +6 -6
  89. package/dist/static/assets/{flowDiagram-NV44I4VS-aBmNMuQ0.js.map → flowDiagram-NV44I4VS-B7e0sjm_.js.map} +1 -1
  90. package/dist/static/assets/{ganttDiagram-JELNMOA3-DJxXaiW1.js → ganttDiagram-JELNMOA3-BZRuh3DE.js} +3 -3
  91. package/dist/static/assets/{ganttDiagram-JELNMOA3-DJxXaiW1.js.map → ganttDiagram-JELNMOA3-BZRuh3DE.js.map} +1 -1
  92. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-DEOBCM0G.js → gitGraphDiagram-V2S2FVAM-B8lN7T9U.js} +8 -8
  93. package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-DEOBCM0G.js.map → gitGraphDiagram-V2S2FVAM-B8lN7T9U.js.map} +1 -1
  94. package/dist/static/assets/{graph-DwrKSIE7.js → graph-CVmBZVHx.js} +3 -3
  95. package/dist/static/assets/{graph-DwrKSIE7.js.map → graph-CVmBZVHx.js.map} +1 -1
  96. package/dist/static/assets/{index-HWTRvE2k.js → index-BMt8OZ6H.js} +332 -57
  97. package/dist/static/assets/{index-HWTRvE2k.js.map → index-BMt8OZ6H.js.map} +1 -1
  98. package/dist/static/assets/{infoDiagram-HS3SLOUP-BH9kVuYd.js → infoDiagram-HS3SLOUP-Bs7DwY4Q.js} +6 -6
  99. package/dist/static/assets/{infoDiagram-HS3SLOUP-BH9kVuYd.js.map → infoDiagram-HS3SLOUP-Bs7DwY4Q.js.map} +1 -1
  100. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-Dap7AcjR.js → journeyDiagram-XKPGCS4Q-7zHAqy6Q.js} +5 -5
  101. package/dist/static/assets/{journeyDiagram-XKPGCS4Q-Dap7AcjR.js.map → journeyDiagram-XKPGCS4Q-7zHAqy6Q.js.map} +1 -1
  102. package/dist/static/assets/{kanban-definition-3W4ZIXB7-4NOl8MEj.js → kanban-definition-3W4ZIXB7-DJaBY2Ug.js} +3 -3
  103. package/dist/static/assets/{kanban-definition-3W4ZIXB7-4NOl8MEj.js.map → kanban-definition-3W4ZIXB7-DJaBY2Ug.js.map} +1 -1
  104. package/dist/static/assets/{layout-D6uIxu1E.js → layout-DCgFs2G2.js} +5 -5
  105. package/dist/static/assets/{layout-D6uIxu1E.js.map → layout-DCgFs2G2.js.map} +1 -1
  106. package/dist/static/assets/{linear-CvBOGQA2.js → linear-3qLxTIu4.js} +2 -2
  107. package/dist/static/assets/{linear-CvBOGQA2.js.map → linear-3qLxTIu4.js.map} +1 -1
  108. package/dist/static/assets/{mindmap-definition-VGOIOE7T-ugsrLNY5.js → mindmap-definition-VGOIOE7T-D8LVSYNe.js} +4 -4
  109. package/dist/static/assets/{mindmap-definition-VGOIOE7T-ugsrLNY5.js.map → mindmap-definition-VGOIOE7T-D8LVSYNe.js.map} +1 -1
  110. package/dist/static/assets/{pieDiagram-ADFJNKIX-CdVZjM8g.js → pieDiagram-ADFJNKIX-K7J0sf-_.js} +8 -8
  111. package/dist/static/assets/{pieDiagram-ADFJNKIX-CdVZjM8g.js.map → pieDiagram-ADFJNKIX-K7J0sf-_.js.map} +1 -1
  112. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-A6m5lZKd.js → quadrantDiagram-AYHSOK5B-BjOUsjH1.js} +3 -3
  113. package/dist/static/assets/{quadrantDiagram-AYHSOK5B-A6m5lZKd.js.map → quadrantDiagram-AYHSOK5B-BjOUsjH1.js.map} +1 -1
  114. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-Cac3zSJH.js → requirementDiagram-UZGBJVZJ-B2Q3tMos.js} +4 -4
  115. package/dist/static/assets/{requirementDiagram-UZGBJVZJ-Cac3zSJH.js.map → requirementDiagram-UZGBJVZJ-B2Q3tMos.js.map} +1 -1
  116. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DXDdUUl1.js → sankeyDiagram-TZEHDZUN-BG5wvCeZ.js} +2 -2
  117. package/dist/static/assets/{sankeyDiagram-TZEHDZUN-DXDdUUl1.js.map → sankeyDiagram-TZEHDZUN-BG5wvCeZ.js.map} +1 -1
  118. package/dist/static/assets/{sequenceDiagram-WL72ISMW-Domsjl5Y.js → sequenceDiagram-WL72ISMW-BuLOLu3-.js} +4 -4
  119. package/dist/static/assets/{sequenceDiagram-WL72ISMW-Domsjl5Y.js.map → sequenceDiagram-WL72ISMW-BuLOLu3-.js.map} +1 -1
  120. package/dist/static/assets/{stateDiagram-FKZM4ZOC-Bu0lRQK1.js → stateDiagram-FKZM4ZOC-CWCqsmNr.js} +9 -9
  121. package/dist/static/assets/{stateDiagram-FKZM4ZOC-Bu0lRQK1.js.map → stateDiagram-FKZM4ZOC-CWCqsmNr.js.map} +1 -1
  122. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-D0K-n3ic.js → stateDiagram-v2-4FDKWEC3-DYbP1xu4.js} +5 -5
  123. package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-D0K-n3ic.js.map → stateDiagram-v2-4FDKWEC3-DYbP1xu4.js.map} +1 -1
  124. package/dist/static/assets/{timeline-definition-IT6M3QCI-BGvpddwR.js → timeline-definition-IT6M3QCI-DaPtomWv.js} +3 -3
  125. package/dist/static/assets/{timeline-definition-IT6M3QCI-BGvpddwR.js.map → timeline-definition-IT6M3QCI-DaPtomWv.js.map} +1 -1
  126. package/dist/static/assets/{treemap-GDKQZRPO-BoOzOm2j.js → treemap-GDKQZRPO-cEZjfkb6.js} +5 -5
  127. package/dist/static/assets/{treemap-GDKQZRPO-BoOzOm2j.js.map → treemap-GDKQZRPO-cEZjfkb6.js.map} +1 -1
  128. package/dist/static/assets/{xychartDiagram-PRI3JC2R-C_h3_ICR.js → xychartDiagram-PRI3JC2R-7zI4Kz0F.js} +3 -3
  129. package/dist/static/assets/{xychartDiagram-PRI3JC2R-C_h3_ICR.js.map → xychartDiagram-PRI3JC2R-7zI4Kz0F.js.map} +1 -1
  130. package/dist/static/index.html +1 -1
  131. package/dist/team.js +52 -48
  132. package/dist/tellask.js +439 -0
  133. package/dist/tools/context-health.js +177 -0
  134. package/dist/tools/diag.js +583 -0
  135. package/dist/tools/fs.js +194 -68
  136. package/dist/tools/prompts/memory/en/principles.md +13 -5
  137. package/dist/tools/prompts/memory/en/tools.md +11 -36
  138. package/dist/tools/prompts/memory/zh/principles.md +18 -8
  139. package/dist/tools/prompts/memory/zh/tools.md +11 -36
  140. package/dist/tools/team-mgmt.js +3487 -0
  141. package/dist/utils/task-doc.js +236 -0
  142. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-bhGzX6kO.js","assets/graph-DwrKSIE7.js","assets/_baseUniq-CxKv0cd4.js","assets/layout-D6uIxu1E.js","assets/_basePickBy-CF9r08iy.js","assets/clone-C-JULvnG.js","assets/cose-bilkent-S5V4N54A-vXCmi_eC.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-YG6GDRKO-D49MGNdF.js","assets/chunk-TZMSLE5B-Bcuvqo45.js","assets/flowDiagram-NV44I4VS-aBmNMuQ0.js","assets/chunk-FMBD7UC4-DAjkhhUU.js","assets/chunk-55IACEB6-Dnl2HDTZ.js","assets/chunk-QN33PNHL-CK6TY7IE.js","assets/channel-B4KzL0Kg.js","assets/erDiagram-Q2GNP2WA-S3hR85On.js","assets/gitGraphDiagram-V2S2FVAM-DEOBCM0G.js","assets/chunk-4BX2VUAB-0F-1ayl0.js","assets/chunk-QZHKN3VN-CketngiE.js","assets/treemap-GDKQZRPO-BoOzOm2j.js","assets/ganttDiagram-JELNMOA3-DJxXaiW1.js","assets/linear-CvBOGQA2.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-HS3SLOUP-BH9kVuYd.js","assets/pieDiagram-ADFJNKIX-CdVZjM8g.js","assets/arc-C9JyvnlB.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-AYHSOK5B-A6m5lZKd.js","assets/xychartDiagram-PRI3JC2R-C_h3_ICR.js","assets/requirementDiagram-UZGBJVZJ-Cac3zSJH.js","assets/sequenceDiagram-WL72ISMW-Domsjl5Y.js","assets/classDiagram-2ON5EDUG-CaP4T3r4.js","assets/chunk-B4BG7PRW-Bhx5RbkQ.js","assets/classDiagram-v2-WZHVMYZB-CaP4T3r4.js","assets/stateDiagram-FKZM4ZOC-Bu0lRQK1.js","assets/chunk-DI55MBZ5-EYd1wL3E.js","assets/stateDiagram-v2-4FDKWEC3-D0K-n3ic.js","assets/journeyDiagram-XKPGCS4Q-Dap7AcjR.js","assets/timeline-definition-IT6M3QCI-BGvpddwR.js","assets/mindmap-definition-VGOIOE7T-ugsrLNY5.js","assets/kanban-definition-3W4ZIXB7-4NOl8MEj.js","assets/sankeyDiagram-TZEHDZUN-DXDdUUl1.js","assets/diagram-S2PKOQOG-CjxkLHWG.js","assets/diagram-QEK2KX5R-DYlq3uFq.js","assets/blockDiagram-VD42YOAC-BA9vtmm7.js","assets/architectureDiagram-VXUJARFQ-CpcUgjHf.js","assets/diagram-PSM6KHXK-BUKfmfGk.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-B7J4YtNM.js","assets/graph-CVmBZVHx.js","assets/_baseUniq-jhU9AUhp.js","assets/layout-DCgFs2G2.js","assets/_basePickBy-5YF_9hQW.js","assets/clone-BvOc2yso.js","assets/cose-bilkent-S5V4N54A-DSYAdAyx.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-YG6GDRKO-B4tMGdJJ.js","assets/chunk-TZMSLE5B-CANsFBw_.js","assets/flowDiagram-NV44I4VS-B7e0sjm_.js","assets/chunk-FMBD7UC4-DtB9tnhF.js","assets/chunk-55IACEB6-CqFPCghN.js","assets/chunk-QN33PNHL-Bzbixp1o.js","assets/channel-vcTCKrpR.js","assets/erDiagram-Q2GNP2WA-CuCw1fng.js","assets/gitGraphDiagram-V2S2FVAM-B8lN7T9U.js","assets/chunk-4BX2VUAB-9jaRyZiz.js","assets/chunk-QZHKN3VN-CI-C5uv0.js","assets/treemap-GDKQZRPO-cEZjfkb6.js","assets/ganttDiagram-JELNMOA3-BZRuh3DE.js","assets/linear-3qLxTIu4.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-HS3SLOUP-Bs7DwY4Q.js","assets/pieDiagram-ADFJNKIX-K7J0sf-_.js","assets/arc-CxfO0spY.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-AYHSOK5B-BjOUsjH1.js","assets/xychartDiagram-PRI3JC2R-7zI4Kz0F.js","assets/requirementDiagram-UZGBJVZJ-B2Q3tMos.js","assets/sequenceDiagram-WL72ISMW-BuLOLu3-.js","assets/classDiagram-2ON5EDUG-D00eOaDx.js","assets/chunk-B4BG7PRW-BVwJVEzB.js","assets/classDiagram-v2-WZHVMYZB-D00eOaDx.js","assets/stateDiagram-FKZM4ZOC-CWCqsmNr.js","assets/chunk-DI55MBZ5-i9DDRLYs.js","assets/stateDiagram-v2-4FDKWEC3-DYbP1xu4.js","assets/journeyDiagram-XKPGCS4Q-7zHAqy6Q.js","assets/timeline-definition-IT6M3QCI-DaPtomWv.js","assets/mindmap-definition-VGOIOE7T-D8LVSYNe.js","assets/kanban-definition-3W4ZIXB7-DJaBY2Ug.js","assets/sankeyDiagram-TZEHDZUN-BG5wvCeZ.js","assets/diagram-S2PKOQOG-DYvwVsZm.js","assets/diagram-QEK2KX5R-g1GZbARf.js","assets/blockDiagram-VD42YOAC-Cwqz2taZ.js","assets/architectureDiagram-VXUJARFQ-DdfdIFQM.js","assets/diagram-PSM6KHXK-htuDE0_8.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);
@@ -97380,12 +97380,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
97380
97380
  registerLayoutLoaders([
97381
97381
  {
97382
97382
  name: "dagre",
97383
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-bhGzX6kO.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
97383
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-B7J4YtNM.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
97384
97384
  },
97385
97385
  ...[
97386
97386
  {
97387
97387
  name: "cose-bilkent",
97388
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-vXCmi_eC.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
97388
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-DSYAdAyx.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
97389
97389
  }
97390
97390
  ]
97391
97391
  ]);
@@ -97825,7 +97825,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
97825
97825
  }, "detector");
97826
97826
  var loader = /* @__PURE__ */ __name(async () => {
97827
97827
  const { diagram: diagram2 } = await __vitePreload(async () => {
97828
- const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-D49MGNdF.js");
97828
+ const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-B4tMGdJJ.js");
97829
97829
  return { diagram: diagram22 };
97830
97830
  }, true ? __vite__mapDeps([8,9]) : void 0);
97831
97831
  return { id, diagram: diagram2 };
@@ -97845,7 +97845,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
97845
97845
  }, "detector");
97846
97846
  var loader2 = /* @__PURE__ */ __name(async () => {
97847
97847
  const { diagram: diagram2 } = await __vitePreload(async () => {
97848
- const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-aBmNMuQ0.js");
97848
+ const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-B7e0sjm_.js");
97849
97849
  return { diagram: diagram22 };
97850
97850
  }, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
97851
97851
  return { id: id2, diagram: diagram2 };
@@ -97871,7 +97871,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
97871
97871
  }, "detector");
97872
97872
  var loader3 = /* @__PURE__ */ __name(async () => {
97873
97873
  const { diagram: diagram2 } = await __vitePreload(async () => {
97874
- const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-aBmNMuQ0.js");
97874
+ const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-B7e0sjm_.js");
97875
97875
  return { diagram: diagram22 };
97876
97876
  }, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
97877
97877
  return { id: id3, diagram: diagram2 };
@@ -97888,7 +97888,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
97888
97888
  }, "detector");
97889
97889
  var loader4 = /* @__PURE__ */ __name(async () => {
97890
97890
  const { diagram: diagram2 } = await __vitePreload(async () => {
97891
- const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-S3hR85On.js");
97891
+ const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-CuCw1fng.js");
97892
97892
  return { diagram: diagram22 };
97893
97893
  }, true ? __vite__mapDeps([15,12,13,14]) : void 0);
97894
97894
  return { id: id4, diagram: diagram2 };
@@ -97905,7 +97905,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
97905
97905
  }, "detector");
97906
97906
  var loader5 = /* @__PURE__ */ __name(async () => {
97907
97907
  const { diagram: diagram2 } = await __vitePreload(async () => {
97908
- const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-DEOBCM0G.js");
97908
+ const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-B8lN7T9U.js");
97909
97909
  return { diagram: diagram22 };
97910
97910
  }, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
97911
97911
  return { id: id5, diagram: diagram2 };
@@ -97922,7 +97922,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
97922
97922
  }, "detector");
97923
97923
  var loader6 = /* @__PURE__ */ __name(async () => {
97924
97924
  const { diagram: diagram2 } = await __vitePreload(async () => {
97925
- const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-DJxXaiW1.js");
97925
+ const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-BZRuh3DE.js");
97926
97926
  return { diagram: diagram22 };
97927
97927
  }, true ? __vite__mapDeps([20,21,22,23]) : void 0);
97928
97928
  return { id: id6, diagram: diagram2 };
@@ -97939,7 +97939,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
97939
97939
  }, "detector");
97940
97940
  var loader7 = /* @__PURE__ */ __name(async () => {
97941
97941
  const { diagram: diagram2 } = await __vitePreload(async () => {
97942
- const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-BH9kVuYd.js");
97942
+ const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-Bs7DwY4Q.js");
97943
97943
  return { diagram: diagram22 };
97944
97944
  }, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
97945
97945
  return { id: id7, diagram: diagram2 };
@@ -97955,7 +97955,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
97955
97955
  }, "detector");
97956
97956
  var loader8 = /* @__PURE__ */ __name(async () => {
97957
97957
  const { diagram: diagram2 } = await __vitePreload(async () => {
97958
- const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-CdVZjM8g.js");
97958
+ const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-K7J0sf-_.js");
97959
97959
  return { diagram: diagram22 };
97960
97960
  }, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
97961
97961
  return { id: id8, diagram: diagram2 };
@@ -97971,7 +97971,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
97971
97971
  }, "detector");
97972
97972
  var loader9 = /* @__PURE__ */ __name(async () => {
97973
97973
  const { diagram: diagram2 } = await __vitePreload(async () => {
97974
- const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-A6m5lZKd.js");
97974
+ const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-BjOUsjH1.js");
97975
97975
  return { diagram: diagram22 };
97976
97976
  }, true ? __vite__mapDeps([28,21,22,23]) : void 0);
97977
97977
  return { id: id9, diagram: diagram2 };
@@ -97988,7 +97988,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
97988
97988
  }, "detector");
97989
97989
  var loader10 = /* @__PURE__ */ __name(async () => {
97990
97990
  const { diagram: diagram2 } = await __vitePreload(async () => {
97991
- const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-C_h3_ICR.js");
97991
+ const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-7zI4Kz0F.js");
97992
97992
  return { diagram: diagram22 };
97993
97993
  }, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
97994
97994
  return { id: id10, diagram: diagram2 };
@@ -98005,7 +98005,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
98005
98005
  }, "detector");
98006
98006
  var loader11 = /* @__PURE__ */ __name(async () => {
98007
98007
  const { diagram: diagram2 } = await __vitePreload(async () => {
98008
- const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-Cac3zSJH.js");
98008
+ const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-B2Q3tMos.js");
98009
98009
  return { diagram: diagram22 };
98010
98010
  }, true ? __vite__mapDeps([30,12,13]) : void 0);
98011
98011
  return { id: id11, diagram: diagram2 };
@@ -98022,7 +98022,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
98022
98022
  }, "detector");
98023
98023
  var loader12 = /* @__PURE__ */ __name(async () => {
98024
98024
  const { diagram: diagram2 } = await __vitePreload(async () => {
98025
- const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-Domsjl5Y.js");
98025
+ const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-BuLOLu3-.js");
98026
98026
  return { diagram: diagram22 };
98027
98027
  }, true ? __vite__mapDeps([31,9,18]) : void 0);
98028
98028
  return { id: id12, diagram: diagram2 };
@@ -98042,7 +98042,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
98042
98042
  }, "detector");
98043
98043
  var loader13 = /* @__PURE__ */ __name(async () => {
98044
98044
  const { diagram: diagram2 } = await __vitePreload(async () => {
98045
- const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-CaP4T3r4.js");
98045
+ const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-D00eOaDx.js");
98046
98046
  return { diagram: diagram22 };
98047
98047
  }, true ? __vite__mapDeps([32,33,11,12,13]) : void 0);
98048
98048
  return { id: id13, diagram: diagram2 };
@@ -98062,7 +98062,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
98062
98062
  }, "detector");
98063
98063
  var loader14 = /* @__PURE__ */ __name(async () => {
98064
98064
  const { diagram: diagram2 } = await __vitePreload(async () => {
98065
- const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-CaP4T3r4.js");
98065
+ const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-D00eOaDx.js");
98066
98066
  return { diagram: diagram22 };
98067
98067
  }, true ? __vite__mapDeps([34,33,11,12,13]) : void 0);
98068
98068
  return { id: id14, diagram: diagram2 };
@@ -98082,7 +98082,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
98082
98082
  }, "detector");
98083
98083
  var loader15 = /* @__PURE__ */ __name(async () => {
98084
98084
  const { diagram: diagram2 } = await __vitePreload(async () => {
98085
- const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-Bu0lRQK1.js");
98085
+ const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-CWCqsmNr.js");
98086
98086
  return { diagram: diagram22 };
98087
98087
  }, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
98088
98088
  return { id: id15, diagram: diagram2 };
@@ -98105,7 +98105,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
98105
98105
  }, "detector");
98106
98106
  var loader16 = /* @__PURE__ */ __name(async () => {
98107
98107
  const { diagram: diagram2 } = await __vitePreload(async () => {
98108
- const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-D0K-n3ic.js");
98108
+ const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-DYbP1xu4.js");
98109
98109
  return { diagram: diagram22 };
98110
98110
  }, true ? __vite__mapDeps([37,36,12,13]) : void 0);
98111
98111
  return { id: id16, diagram: diagram2 };
@@ -98122,7 +98122,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
98122
98122
  }, "detector");
98123
98123
  var loader17 = /* @__PURE__ */ __name(async () => {
98124
98124
  const { diagram: diagram2 } = await __vitePreload(async () => {
98125
- const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-Dap7AcjR.js");
98125
+ const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-7zHAqy6Q.js");
98126
98126
  return { diagram: diagram22 };
98127
98127
  }, true ? __vite__mapDeps([38,9,11,26]) : void 0);
98128
98128
  return { id: id17, diagram: diagram2 };
@@ -98192,7 +98192,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
98192
98192
  }, "detector");
98193
98193
  var loader18 = /* @__PURE__ */ __name(async () => {
98194
98194
  const { diagram: diagram2 } = await __vitePreload(async () => {
98195
- const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-aBmNMuQ0.js");
98195
+ const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-B7e0sjm_.js");
98196
98196
  return { diagram: diagram22 };
98197
98197
  }, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
98198
98198
  return { id: id18, diagram: diagram2 };
@@ -98209,7 +98209,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
98209
98209
  }, "detector");
98210
98210
  var loader19 = /* @__PURE__ */ __name(async () => {
98211
98211
  const { diagram: diagram2 } = await __vitePreload(async () => {
98212
- const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-BGvpddwR.js");
98212
+ const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-DaPtomWv.js");
98213
98213
  return { diagram: diagram22 };
98214
98214
  }, true ? __vite__mapDeps([39,26]) : void 0);
98215
98215
  return { id: id19, diagram: diagram2 };
@@ -98226,7 +98226,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
98226
98226
  }, "detector");
98227
98227
  var loader20 = /* @__PURE__ */ __name(async () => {
98228
98228
  const { diagram: diagram2 } = await __vitePreload(async () => {
98229
- const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-ugsrLNY5.js");
98229
+ const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-D8LVSYNe.js");
98230
98230
  return { diagram: diagram22 };
98231
98231
  }, true ? __vite__mapDeps([40,12,13]) : void 0);
98232
98232
  return { id: id20, diagram: diagram2 };
@@ -98243,7 +98243,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
98243
98243
  }, "detector");
98244
98244
  var loader21 = /* @__PURE__ */ __name(async () => {
98245
98245
  const { diagram: diagram2 } = await __vitePreload(async () => {
98246
- const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-4NOl8MEj.js");
98246
+ const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-DJaBY2Ug.js");
98247
98247
  return { diagram: diagram22 };
98248
98248
  }, true ? __vite__mapDeps([41,11]) : void 0);
98249
98249
  return { id: id21, diagram: diagram2 };
@@ -98260,7 +98260,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
98260
98260
  }, "detector");
98261
98261
  var loader22 = /* @__PURE__ */ __name(async () => {
98262
98262
  const { diagram: diagram2 } = await __vitePreload(async () => {
98263
- const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-DXDdUUl1.js");
98263
+ const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-BG5wvCeZ.js");
98264
98264
  return { diagram: diagram22 };
98265
98265
  }, true ? __vite__mapDeps([42,27,22]) : void 0);
98266
98266
  return { id: id22, diagram: diagram2 };
@@ -98277,7 +98277,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
98277
98277
  }, "detector");
98278
98278
  var loader23 = /* @__PURE__ */ __name(async () => {
98279
98279
  const { diagram: diagram2 } = await __vitePreload(async () => {
98280
- const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-CjxkLHWG.js");
98280
+ const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-DYvwVsZm.js");
98281
98281
  return { diagram: diagram22 };
98282
98282
  }, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
98283
98283
  return { id: id23, diagram: diagram2 };
@@ -98293,7 +98293,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
98293
98293
  }, "detector");
98294
98294
  var loader24 = /* @__PURE__ */ __name(async () => {
98295
98295
  const { diagram: diagram2 } = await __vitePreload(async () => {
98296
- const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-DYlq3uFq.js");
98296
+ const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-g1GZbARf.js");
98297
98297
  return { diagram: diagram22 };
98298
98298
  }, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
98299
98299
  return { id: id24, diagram: diagram2 };
@@ -98309,7 +98309,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
98309
98309
  }, "detector");
98310
98310
  var loader25 = /* @__PURE__ */ __name(async () => {
98311
98311
  const { diagram: diagram2 } = await __vitePreload(async () => {
98312
- const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-BA9vtmm7.js");
98312
+ const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-Cwqz2taZ.js");
98313
98313
  return { diagram: diagram22 };
98314
98314
  }, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
98315
98315
  return { id: id25, diagram: diagram2 };
@@ -98326,7 +98326,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
98326
98326
  }, "detector");
98327
98327
  var loader26 = /* @__PURE__ */ __name(async () => {
98328
98328
  const { diagram: diagram2 } = await __vitePreload(async () => {
98329
- const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-CpcUgjHf.js");
98329
+ const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-DdfdIFQM.js");
98330
98330
  return { diagram: diagram22 };
98331
98331
  }, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
98332
98332
  return { id: id26, diagram: diagram2 };
@@ -98343,7 +98343,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
98343
98343
  }, "detector");
98344
98344
  var loader27 = /* @__PURE__ */ __name(async () => {
98345
98345
  const { diagram: diagram2 } = await __vitePreload(async () => {
98346
- const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-BUKfmfGk.js");
98346
+ const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-htuDE0_8.js");
98347
98347
  return { diagram: diagram22 };
98348
98348
  }, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
98349
98349
  return { id: id27, diagram: diagram2 };
@@ -99201,6 +99201,9 @@ class DomindsMermaidBlock extends HTMLElement {
99201
99201
  if (!customElements.get("dominds-mermaid-block")) {
99202
99202
  customElements.define("dominds-mermaid-block", DomindsMermaidBlock);
99203
99203
  }
99204
+ const WORKSPACE_FILE_LINK_PREFIX = "/ws/";
99205
+ const WORKSPACE_FILE_PREVIEW_ROUTE = "/f";
99206
+ const DOMINDS_RTWS_DATA_ATTR = "data-dominds-rtws";
99204
99207
  function slugifyHeadingId(raw) {
99205
99208
  const trimmed = raw.trim();
99206
99209
  if (!trimmed) return "";
@@ -99218,6 +99221,131 @@ function parseFenceLanguage(info2) {
99218
99221
  if (spaceIndex < 0) return trimmed;
99219
99222
  return trimmed.slice(0, spaceIndex);
99220
99223
  }
99224
+ function parseWorkspaceFileLinkTarget(rawHref) {
99225
+ const trimmed = rawHref.trim();
99226
+ if (!trimmed.startsWith(WORKSPACE_FILE_LINK_PREFIX)) return null;
99227
+ const queryIdx = trimmed.indexOf("?");
99228
+ const hashIdx = trimmed.indexOf("#");
99229
+ const cutIdxCandidates = [queryIdx, hashIdx].filter((idx) => idx >= 0);
99230
+ const endIdx = cutIdxCandidates.length > 0 ? Math.min(...cutIdxCandidates) : trimmed.length;
99231
+ const hrefWithoutQueryOrHash = trimmed.slice(0, endIdx);
99232
+ if (hrefWithoutQueryOrHash.length < 1) return null;
99233
+ const lineColMatch = hrefWithoutQueryOrHash.match(/^(.*):([1-9]\d*)(?::([1-9]\d*))?$/);
99234
+ const rawPath = lineColMatch ? lineColMatch[1] : hrefWithoutQueryOrHash;
99235
+ if (!rawPath.startsWith(WORKSPACE_FILE_LINK_PREFIX)) return null;
99236
+ if (rawPath.endsWith("/")) return null;
99237
+ let absolutePath = rawPath;
99238
+ try {
99239
+ absolutePath = decodeURIComponent(rawPath);
99240
+ } catch {
99241
+ absolutePath = rawPath;
99242
+ }
99243
+ if (!absolutePath.startsWith(WORKSPACE_FILE_LINK_PREFIX)) return null;
99244
+ const lineRaw = lineColMatch?.[2];
99245
+ const columnRaw = lineColMatch?.[3];
99246
+ const line2 = typeof lineRaw === "string" ? Number.parseInt(lineRaw, 10) : void 0;
99247
+ const column2 = typeof columnRaw === "string" ? Number.parseInt(columnRaw, 10) : void 0;
99248
+ return {
99249
+ absolutePath,
99250
+ line: typeof line2 === "number" ? line2 : void 0,
99251
+ column: typeof column2 === "number" ? column2 : void 0
99252
+ };
99253
+ }
99254
+ function normalizeSlashPath(value) {
99255
+ return value.replace(/\\/g, "/");
99256
+ }
99257
+ function normalizeRtwsAbsPath(value) {
99258
+ const normalized = normalizeSlashPath(value).replace(/\/+/g, "/");
99259
+ if (normalized === "/") return normalized;
99260
+ return normalized.replace(/\/+$/g, "");
99261
+ }
99262
+ function getCurrentRtwsAbsPath() {
99263
+ if (typeof document !== "undefined") {
99264
+ const raw = document.documentElement.getAttribute(DOMINDS_RTWS_DATA_ATTR);
99265
+ if (typeof raw === "string") {
99266
+ const trimmed = raw.trim();
99267
+ if (trimmed.length > 0 && trimmed.startsWith("/")) {
99268
+ return normalizeRtwsAbsPath(trimmed);
99269
+ }
99270
+ }
99271
+ }
99272
+ if (typeof window === "undefined") return null;
99273
+ try {
99274
+ const cached = window.localStorage.getItem("dominds.rtws");
99275
+ if (typeof cached !== "string") return null;
99276
+ const trimmed = cached.trim();
99277
+ if (trimmed.length < 1 || !trimmed.startsWith("/")) return null;
99278
+ return normalizeRtwsAbsPath(trimmed);
99279
+ } catch {
99280
+ return null;
99281
+ }
99282
+ }
99283
+ function toRtwsRelativePath(absolutePath, rtwsAbsPath) {
99284
+ const normalizedAbs = normalizeRtwsAbsPath(absolutePath);
99285
+ const normalizedRtws = normalizeRtwsAbsPath(rtwsAbsPath);
99286
+ if (normalizedAbs === normalizedRtws) return null;
99287
+ const prefix = normalizedRtws === "/" ? "/" : `${normalizedRtws}/`;
99288
+ if (!normalizedAbs.startsWith(prefix)) return null;
99289
+ const relativePath = normalizedAbs.slice(prefix.length);
99290
+ if (relativePath.length < 1) return null;
99291
+ if (relativePath.includes("\0")) return null;
99292
+ const segments = relativePath.split("/");
99293
+ if (segments.some((segment) => segment.length < 1 || segment === "." || segment === "..")) {
99294
+ return null;
99295
+ }
99296
+ return relativePath;
99297
+ }
99298
+ function resolveWorkspaceFilePreviewTarget(linkTarget) {
99299
+ const rtwsAbsPath = getCurrentRtwsAbsPath();
99300
+ if (rtwsAbsPath === null) return null;
99301
+ const relativePath = toRtwsRelativePath(linkTarget.absolutePath, rtwsAbsPath);
99302
+ if (relativePath === null) return null;
99303
+ return {
99304
+ relativePath,
99305
+ line: linkTarget.line,
99306
+ column: linkTarget.column
99307
+ };
99308
+ }
99309
+ function getAuthFromCurrentUrl() {
99310
+ if (typeof window === "undefined") return null;
99311
+ try {
99312
+ const url = new URL(window.location.href);
99313
+ const auth = url.searchParams.get("auth");
99314
+ if (typeof auth !== "string") return null;
99315
+ const trimmed = auth.trim();
99316
+ return trimmed.length > 0 ? trimmed : null;
99317
+ } catch {
99318
+ return null;
99319
+ }
99320
+ }
99321
+ function buildWorkspaceFilePreviewHref(target) {
99322
+ const encodedPath = target.relativePath.split("/").map((segment) => encodeURIComponent(segment)).join("/");
99323
+ const routePath = `${WORKSPACE_FILE_PREVIEW_ROUTE}/${encodedPath}`;
99324
+ const params = new URLSearchParams();
99325
+ if (typeof target.line === "number") {
99326
+ params.set("line", String(target.line));
99327
+ }
99328
+ if (typeof target.column === "number") {
99329
+ params.set("column", String(target.column));
99330
+ }
99331
+ const auth = getAuthFromCurrentUrl();
99332
+ if (auth !== null) {
99333
+ params.set("auth", auth);
99334
+ }
99335
+ const query = params.toString();
99336
+ if (query.length < 1) return routePath;
99337
+ return `${routePath}?${query}`;
99338
+ }
99339
+ function applyOpenInNewTabAttrs(token2) {
99340
+ token2.attrSet("target", "_blank");
99341
+ const relValue = token2.attrGet("rel");
99342
+ const relTokens = new Set(
99343
+ typeof relValue === "string" ? relValue.split(/\s+/).map((part) => part.trim()).filter((part) => part.length > 0) : []
99344
+ );
99345
+ relTokens.add("noopener");
99346
+ relTokens.add("noreferrer");
99347
+ token2.attrSet("rel", Array.from(relTokens).join(" "));
99348
+ }
99221
99349
  function installDomindsMathBlockRule(md2) {
99222
99350
  md2.block.ruler.before(
99223
99351
  "fence",
@@ -99313,15 +99441,17 @@ installDomindsMathBlockRule(md);
99313
99441
  md.renderer.rules.link_open = (tokens, idx, options, _env, self2) => {
99314
99442
  const token2 = tokens[idx];
99315
99443
  const href = token2.attrGet("href");
99316
- if (typeof href === "string" && /^https?:\/\//i.test(href.trim())) {
99317
- token2.attrSet("target", "_blank");
99318
- const relValue = token2.attrGet("rel");
99319
- const relTokens = new Set(
99320
- typeof relValue === "string" ? relValue.split(/\s+/).map((part) => part.trim()).filter((part) => part.length > 0) : []
99321
- );
99322
- relTokens.add("noopener");
99323
- relTokens.add("noreferrer");
99324
- token2.attrSet("rel", Array.from(relTokens).join(" "));
99444
+ if (typeof href === "string") {
99445
+ const workspaceFileLink = parseWorkspaceFileLinkTarget(href);
99446
+ const previewTarget = workspaceFileLink === null ? null : resolveWorkspaceFilePreviewTarget(workspaceFileLink);
99447
+ if (previewTarget) {
99448
+ token2.attrSet("href", buildWorkspaceFilePreviewHref(previewTarget));
99449
+ applyOpenInNewTabAttrs(token2);
99450
+ return self2.renderToken(tokens, idx, options);
99451
+ }
99452
+ if (/^https?:\/\//i.test(href.trim())) {
99453
+ applyOpenInNewTabAttrs(token2);
99454
+ }
99325
99455
  }
99326
99456
  return self2.renderToken(tokens, idx, options);
99327
99457
  };
@@ -115801,31 +115931,46 @@ ${content}`;
115801
115931
  const prevBtn = target.closest("#course-navi-prev");
115802
115932
  if (prevBtn) {
115803
115933
  if (this.toolbarCurrentCourse > 1) {
115934
+ const targetCourse = this.toolbarCurrentCourse - 1;
115804
115935
  const dc = this.shadowRoot?.querySelector(
115805
115936
  "#dialog-container"
115806
115937
  );
115807
115938
  if (dc && typeof dc.setCurrentCourse === "function") {
115808
- await dc.setCurrentCourse(this.toolbarCurrentCourse - 1);
115939
+ await dc.setCurrentCourse(targetCourse);
115809
115940
  }
115810
- this.toolbarCurrentCourse = Math.max(1, this.toolbarCurrentCourse - 1);
115941
+ this.toolbarCurrentCourse = Math.max(1, targetCourse);
115811
115942
  this.updateToolbarCourseDisplay();
115943
+ if (this.currentDialog) {
115944
+ this.syncAddressBarToDeepLink({
115945
+ kind: "dialog",
115946
+ rootId: this.currentDialog.rootId,
115947
+ selfId: this.currentDialog.selfId,
115948
+ course: this.toolbarCurrentCourse
115949
+ });
115950
+ }
115812
115951
  }
115813
115952
  return;
115814
115953
  }
115815
115954
  const nextBtn = target.closest("#course-navi-next");
115816
115955
  if (nextBtn) {
115817
115956
  if (this.toolbarCurrentCourse < this.toolbarTotalCourses) {
115957
+ const targetCourse = this.toolbarCurrentCourse + 1;
115818
115958
  const dc = this.shadowRoot?.querySelector(
115819
115959
  "#dialog-container"
115820
115960
  );
115821
115961
  if (dc && typeof dc.setCurrentCourse === "function") {
115822
- await dc.setCurrentCourse(this.toolbarCurrentCourse + 1);
115962
+ await dc.setCurrentCourse(targetCourse);
115823
115963
  }
115824
- this.toolbarCurrentCourse = Math.min(
115825
- this.toolbarTotalCourses,
115826
- this.toolbarCurrentCourse + 1
115827
- );
115964
+ this.toolbarCurrentCourse = Math.min(this.toolbarTotalCourses, targetCourse);
115828
115965
  this.updateToolbarCourseDisplay();
115966
+ if (this.currentDialog) {
115967
+ this.syncAddressBarToDeepLink({
115968
+ kind: "dialog",
115969
+ rootId: this.currentDialog.rootId,
115970
+ selfId: this.currentDialog.selfId,
115971
+ course: this.toolbarCurrentCourse
115972
+ });
115973
+ }
115829
115974
  }
115830
115975
  return;
115831
115976
  }
@@ -116456,9 +116601,10 @@ ${content}`;
116456
116601
  const params = new URLSearchParams(window.location.search);
116457
116602
  const rootId = (params.get("rootId") ?? "").trim();
116458
116603
  const selfRaw = (params.get("selfId") ?? "").trim();
116604
+ const course = parseOptionalInt(params.get("course"));
116459
116605
  if (rootId === "") return null;
116460
116606
  const selfId = selfRaw === "" ? rootId : selfRaw;
116461
- return { kind: "dialog", rootId, selfId };
116607
+ return { kind: "dialog", rootId, selfId, course };
116462
116608
  }
116463
116609
  if (kind === "callsite") {
116464
116610
  const params = new URLSearchParams(window.location.search);
@@ -116545,7 +116691,7 @@ ${content}`;
116545
116691
  status: rootMatch.status
116546
116692
  };
116547
116693
  }
116548
- buildDialogDeepLinkUrl(rootId, selfId) {
116694
+ buildDialogDeepLinkUrl(rootId, selfId, course) {
116549
116695
  const url = new URL(window.location.href);
116550
116696
  url.searchParams.delete("rootId");
116551
116697
  url.searchParams.delete("selfId");
@@ -116558,6 +116704,38 @@ ${content}`;
116558
116704
  url.pathname = "/dl/dialog";
116559
116705
  url.searchParams.set("rootId", rootId);
116560
116706
  url.searchParams.set("selfId", selfId);
116707
+ if (typeof course === "number") {
116708
+ url.searchParams.set("course", String(Math.floor(course)));
116709
+ }
116710
+ return url;
116711
+ }
116712
+ buildCallsiteDeepLinkUrl(rootId, selfId, course, callId) {
116713
+ const url = this.buildDialogDeepLinkUrl(rootId, selfId);
116714
+ url.pathname = "/dl/callsite";
116715
+ url.searchParams.set("course", String(Math.floor(course)));
116716
+ url.searchParams.set("callId", callId);
116717
+ return url;
116718
+ }
116719
+ buildGenseqDeepLinkUrl(rootId, selfId, course, genseq) {
116720
+ const url = this.buildDialogDeepLinkUrl(rootId, selfId);
116721
+ url.pathname = "/dl/genseq";
116722
+ url.searchParams.set("course", String(Math.floor(course)));
116723
+ url.searchParams.set("genseq", String(Math.floor(genseq)));
116724
+ return url;
116725
+ }
116726
+ buildQ4HDeepLinkUrl(params) {
116727
+ const url = this.buildDialogDeepLinkUrl(params.rootId, params.selfId);
116728
+ url.pathname = "/dl/q4h";
116729
+ url.searchParams.set("qid", params.questionId);
116730
+ if (typeof params.course === "number") {
116731
+ url.searchParams.set("course", String(Math.floor(params.course)));
116732
+ }
116733
+ if (typeof params.messageIndex === "number") {
116734
+ url.searchParams.set("msg", String(Math.floor(params.messageIndex)));
116735
+ }
116736
+ if (typeof params.callId === "string" && params.callId.trim() !== "") {
116737
+ url.searchParams.set("callId", params.callId.trim());
116738
+ }
116561
116739
  return url;
116562
116740
  }
116563
116741
  stripUrlAuthParamAfterSuccessfulOpen() {
@@ -116576,6 +116754,48 @@ ${content}`;
116576
116754
  }
116577
116755
  window.history.replaceState({}, "", target.toString());
116578
116756
  }
116757
+ syncAddressBarToDeepLink(intent) {
116758
+ let target = null;
116759
+ if (intent.kind === "dialog") {
116760
+ target = this.buildDialogDeepLinkUrl(intent.rootId, intent.selfId, intent.course);
116761
+ } else if (intent.kind === "callsite") {
116762
+ target = this.buildCallsiteDeepLinkUrl(
116763
+ intent.rootId,
116764
+ intent.selfId,
116765
+ intent.course,
116766
+ intent.callId
116767
+ );
116768
+ } else if (intent.kind === "genseq") {
116769
+ target = this.buildGenseqDeepLinkUrl(
116770
+ intent.rootId,
116771
+ intent.selfId,
116772
+ intent.course,
116773
+ intent.genseq
116774
+ );
116775
+ } else if (intent.kind === "q4h") {
116776
+ const rootId = intent.rootId?.trim() ?? "";
116777
+ const selfId = intent.selfId?.trim() ?? "";
116778
+ if (rootId !== "" && selfId !== "") {
116779
+ target = this.buildQ4HDeepLinkUrl({
116780
+ questionId: intent.questionId,
116781
+ rootId,
116782
+ selfId,
116783
+ course: intent.course,
116784
+ messageIndex: intent.messageIndex,
116785
+ callId: intent.callId
116786
+ });
116787
+ }
116788
+ } else {
116789
+ const _exhaustive = intent;
116790
+ return _exhaustive;
116791
+ }
116792
+ if (!target) return;
116793
+ const current = new URL(window.location.href);
116794
+ if (current.pathname === target.pathname && current.search === target.search && current.hash === target.hash) {
116795
+ return;
116796
+ }
116797
+ window.history.replaceState({}, "", target.toString());
116798
+ }
116579
116799
  async copyTextToClipboard(text2) {
116580
116800
  try {
116581
116801
  if (navigator.clipboard && typeof navigator.clipboard.writeText === "function") {
@@ -116686,6 +116906,9 @@ ${content}`;
116686
116906
  status: resolvedStatus
116687
116907
  };
116688
116908
  };
116909
+ const ensureDialogSelectedWithoutAddressSync = async (dialogInfo2) => {
116910
+ await this.restoreDialogFromDeepLink(dialogInfo2);
116911
+ };
116689
116912
  if (intent.kind === "dialog") {
116690
116913
  const dialogInfo2 = await resolveDialogInfoForDeepLink(intent.rootId, intent.selfId);
116691
116914
  if (!dialogInfo2) {
@@ -116693,8 +116916,17 @@ ${content}`;
116693
116916
  this.pendingDeepLink = null;
116694
116917
  return;
116695
116918
  }
116696
- await this.selectDialog(dialogInfo2);
116919
+ await ensureDialogSelectedWithoutAddressSync(dialogInfo2);
116920
+ if (typeof intent.course === "number") {
116921
+ const dialogContainer2 = this.shadowRoot?.querySelector(
116922
+ "#dialog-container"
116923
+ );
116924
+ if (dialogContainer2) {
116925
+ await dialogContainer2.setCurrentCourse(intent.course);
116926
+ }
116927
+ }
116697
116928
  this.q4hInput?.focusInput();
116929
+ this.syncAddressBarToDeepLink(intent);
116698
116930
  this.pendingDeepLink = null;
116699
116931
  return;
116700
116932
  }
@@ -116705,7 +116937,7 @@ ${content}`;
116705
116937
  this.pendingDeepLink = null;
116706
116938
  return;
116707
116939
  }
116708
- await this.selectDialog(dialogInfo2);
116940
+ await ensureDialogSelectedWithoutAddressSync(dialogInfo2);
116709
116941
  const dialogContainer2 = this.shadowRoot?.querySelector(
116710
116942
  "#dialog-container"
116711
116943
  );
@@ -116719,6 +116951,7 @@ ${content}`;
116719
116951
  })
116720
116952
  );
116721
116953
  }
116954
+ this.syncAddressBarToDeepLink(intent);
116722
116955
  this.q4hInput?.focusInput();
116723
116956
  this.pendingDeepLink = null;
116724
116957
  return;
@@ -116730,7 +116963,7 @@ ${content}`;
116730
116963
  this.pendingDeepLink = null;
116731
116964
  return;
116732
116965
  }
116733
- await this.selectDialog(dialogInfo2);
116966
+ await ensureDialogSelectedWithoutAddressSync(dialogInfo2);
116734
116967
  const dialogContainer2 = this.shadowRoot?.querySelector(
116735
116968
  "#dialog-container"
116736
116969
  );
@@ -116744,6 +116977,7 @@ ${content}`;
116744
116977
  })
116745
116978
  );
116746
116979
  }
116980
+ this.syncAddressBarToDeepLink(intent);
116747
116981
  this.q4hInput?.focusInput();
116748
116982
  this.pendingDeepLink = null;
116749
116983
  return;
@@ -116763,7 +116997,7 @@ ${content}`;
116763
116997
  this.pendingDeepLink = null;
116764
116998
  return;
116765
116999
  }
116766
- await this.selectDialog(dialogInfo);
117000
+ await ensureDialogSelectedWithoutAddressSync(dialogInfo);
116767
117001
  const dialogContainer = this.shadowRoot?.querySelector(
116768
117002
  "#dialog-container"
116769
117003
  );
@@ -116805,6 +117039,15 @@ ${content}`;
116805
117039
  } else {
116806
117040
  this.q4hInput?.focusInput();
116807
117041
  }
117042
+ this.syncAddressBarToDeepLink({
117043
+ kind: "q4h",
117044
+ questionId: intent.questionId,
117045
+ rootId,
117046
+ selfId,
117047
+ course,
117048
+ messageIndex,
117049
+ callId
117050
+ });
116808
117051
  this.pendingDeepLink = null;
116809
117052
  } finally {
116810
117053
  this.deepLinkInFlight = false;
@@ -117369,6 +117612,17 @@ ${content}`;
117369
117612
  const resolved = workspace !== "" ? workspace : rtws;
117370
117613
  if (resolved !== "") {
117371
117614
  this.backendRtws = resolved;
117615
+ document.documentElement.setAttribute("data-dominds-rtws", resolved);
117616
+ try {
117617
+ window.localStorage.setItem("dominds.rtws", resolved);
117618
+ } catch {
117619
+ }
117620
+ } else {
117621
+ document.documentElement.removeAttribute("data-dominds-rtws");
117622
+ try {
117623
+ window.localStorage.removeItem("dominds.rtws");
117624
+ } catch {
117625
+ }
117372
117626
  }
117373
117627
  }
117374
117628
  if (data && typeof data.version === "string") {
@@ -117379,6 +117633,11 @@ ${content}`;
117379
117633
  console.error("Failed to load rtws info:", error2);
117380
117634
  this.backendRtws = "Unknown rtws";
117381
117635
  this.backendVersion = "";
117636
+ document.documentElement.removeAttribute("data-dominds-rtws");
117637
+ try {
117638
+ window.localStorage.removeItem("dominds.rtws");
117639
+ } catch {
117640
+ }
117382
117641
  this.updateRtwsInfo();
117383
117642
  }
117384
117643
  }
@@ -117517,7 +117776,7 @@ ${content}`;
117517
117776
  this.q4hInput.setDisabled(disabled);
117518
117777
  }
117519
117778
  }
117520
- async selectDialog(dialog) {
117779
+ async applyDialogSelection(dialog, options) {
117521
117780
  const selfId = dialog.selfId || dialog.rootId;
117522
117781
  const rootId = dialog.rootId || dialog.selfId;
117523
117782
  if (!selfId || !rootId) {
@@ -117635,14 +117894,30 @@ ${content}`;
117635
117894
  this.renderRemindersWidget();
117636
117895
  this.setupRemindersWidgetDrag();
117637
117896
  }
117638
- this.syncAddressBarToDialogDeepLink(normalizedDialog);
117639
- const t2 = getUiStrings(this.uiLanguage);
117640
- this.showSuccess(t2.dialogLoadedToast);
117897
+ if (options.syncAddressBar) {
117898
+ this.syncAddressBarToDialogDeepLink(normalizedDialog);
117899
+ }
117900
+ if (options.showLoadedToast) {
117901
+ const t2 = getUiStrings(this.uiLanguage);
117902
+ this.showSuccess(t2.dialogLoadedToast);
117903
+ }
117641
117904
  } catch (error2) {
117642
117905
  const message = error2 instanceof Error ? error2.message : "Unknown error";
117643
117906
  this.showError(`Failed to load dialog: ${message}`, "error");
117644
117907
  }
117645
117908
  }
117909
+ async selectDialog(dialog) {
117910
+ await this.applyDialogSelection(dialog, { syncAddressBar: true, showLoadedToast: true });
117911
+ }
117912
+ async restoreDialogFromDeepLink(dialog) {
117913
+ const selfId = dialog.selfId || dialog.rootId;
117914
+ const rootId = dialog.rootId || dialog.selfId;
117915
+ const current = this.currentDialog;
117916
+ if (current && current.rootId === rootId && current.selfId === selfId) {
117917
+ return;
117918
+ }
117919
+ await this.applyDialogSelection(dialog, { syncAddressBar: false, showLoadedToast: false });
117920
+ }
117646
117921
  /**
117647
117922
  * Get the current dialog info (for E2E testing)
117648
117923
  * @returns Current dialog info or null if no dialog selected
@@ -121094,4 +121369,4 @@ export {
121094
121369
  clear$2 as y,
121095
121370
  defaultConfig2 as z
121096
121371
  };
121097
- //# sourceMappingURL=index-HWTRvE2k.js.map
121372
+ //# sourceMappingURL=index-BMt8OZ6H.js.map