dominds 1.25.13 → 1.25.15

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 (119) hide show
  1. package/dist/dialog-display-state.d.ts +4 -2
  2. package/dist/dialog-display-state.js +26 -6
  3. package/dist/llm/kernel-driver/drive.js +15 -0
  4. package/dist/llm/kernel-driver/flow.js +3 -0
  5. package/dist/llm/kernel-driver/sideDialog.js +1 -9
  6. package/dist/mcp/supervisor.js +2 -4
  7. package/dist/minds/system-prompt.js +4 -4
  8. package/dist/runtime/driver-messages.d.ts +5 -0
  9. package/dist/runtime/driver-messages.js +103 -59
  10. package/dist/server/api-routes.js +5 -8
  11. package/dist/server/dominds-self-update.js +584 -106
  12. package/dist/server/websocket-handler.js +5 -15
  13. package/dist/tools/app-reminders.js +6 -6
  14. package/dist/tools/cmd-runner-protocol.d.ts +1 -0
  15. package/dist/tools/cmd-runner-protocol.js +8 -1
  16. package/dist/tools/cmd-runner.js +33 -6
  17. package/dist/tools/mcp.js +2 -8
  18. package/dist/tools/os.js +27 -22
  19. package/dist/tools/pending-tellask-reminder.js +10 -10
  20. package/dist/tools/process-kill.d.ts +4 -0
  21. package/dist/tools/process-kill.js +48 -0
  22. package/dist/tools/prompts/os/en/tools.md +2 -2
  23. package/dist/tools/prompts/os/zh/tools.md +2 -2
  24. package/package.json +4 -4
  25. package/webapp/dist/assets/{_basePickBy-B1-brAPU.js → _basePickBy-bB-pfQPi.js} +3 -3
  26. package/webapp/dist/assets/{_basePickBy-B1-brAPU.js.map → _basePickBy-bB-pfQPi.js.map} +1 -1
  27. package/webapp/dist/assets/{_baseUniq-BuB0jmKD.js → _baseUniq-CGrWBZre.js} +2 -2
  28. package/webapp/dist/assets/{_baseUniq-BuB0jmKD.js.map → _baseUniq-CGrWBZre.js.map} +1 -1
  29. package/webapp/dist/assets/{arc-CvsBvjnB.js → arc-I9vbIaKk.js} +2 -2
  30. package/webapp/dist/assets/{arc-CvsBvjnB.js.map → arc-I9vbIaKk.js.map} +1 -1
  31. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-B-xGuLbb.js → architectureDiagram-2XIMDMQ5-CrwjTxLz.js} +7 -7
  32. package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-B-xGuLbb.js.map → architectureDiagram-2XIMDMQ5-CrwjTxLz.js.map} +1 -1
  33. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-Bu53fwsa.js → blockDiagram-WCTKOSBZ-DTm0qfvP.js} +7 -7
  34. package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-Bu53fwsa.js.map → blockDiagram-WCTKOSBZ-DTm0qfvP.js.map} +1 -1
  35. package/webapp/dist/assets/{c4Diagram-IC4MRINW-D9-FJ4LB.js → c4Diagram-IC4MRINW-DwRQtzZF.js} +3 -3
  36. package/webapp/dist/assets/{c4Diagram-IC4MRINW-D9-FJ4LB.js.map → c4Diagram-IC4MRINW-DwRQtzZF.js.map} +1 -1
  37. package/webapp/dist/assets/{channel-D1VPurpu.js → channel-BHLOwBnI.js} +2 -2
  38. package/webapp/dist/assets/{channel-D1VPurpu.js.map → channel-BHLOwBnI.js.map} +1 -1
  39. package/webapp/dist/assets/{chunk-4BX2VUAB-DB14wcWS.js → chunk-4BX2VUAB-C-uXnDVV.js} +2 -2
  40. package/webapp/dist/assets/{chunk-4BX2VUAB-DB14wcWS.js.map → chunk-4BX2VUAB-C-uXnDVV.js.map} +1 -1
  41. package/webapp/dist/assets/{chunk-55IACEB6-C5KCE85A.js → chunk-55IACEB6-Dq9BI2N6.js} +2 -2
  42. package/webapp/dist/assets/{chunk-55IACEB6-C5KCE85A.js.map → chunk-55IACEB6-Dq9BI2N6.js.map} +1 -1
  43. package/webapp/dist/assets/{chunk-FMBD7UC4-Bb6zm0iH.js → chunk-FMBD7UC4-DR9kFZOV.js} +2 -2
  44. package/webapp/dist/assets/{chunk-FMBD7UC4-Bb6zm0iH.js.map → chunk-FMBD7UC4-DR9kFZOV.js.map} +1 -1
  45. package/webapp/dist/assets/{chunk-JSJVCQXG-CJPrv6fM.js → chunk-JSJVCQXG-xnc6SVE5.js} +2 -2
  46. package/webapp/dist/assets/{chunk-JSJVCQXG-CJPrv6fM.js.map → chunk-JSJVCQXG-xnc6SVE5.js.map} +1 -1
  47. package/webapp/dist/assets/{chunk-KX2RTZJC-8J1Swk7E.js → chunk-KX2RTZJC-rUxlh4aS.js} +2 -2
  48. package/webapp/dist/assets/{chunk-KX2RTZJC-8J1Swk7E.js.map → chunk-KX2RTZJC-rUxlh4aS.js.map} +1 -1
  49. package/webapp/dist/assets/{chunk-NQ4KR5QH-DySHY4x9.js → chunk-NQ4KR5QH-BGU4PhTQ.js} +4 -4
  50. package/webapp/dist/assets/{chunk-NQ4KR5QH-DySHY4x9.js.map → chunk-NQ4KR5QH-BGU4PhTQ.js.map} +1 -1
  51. package/webapp/dist/assets/{chunk-QZHKN3VN-CTO5Z-4P.js → chunk-QZHKN3VN-CAlu4xE7.js} +2 -2
  52. package/webapp/dist/assets/{chunk-QZHKN3VN-CTO5Z-4P.js.map → chunk-QZHKN3VN-CAlu4xE7.js.map} +1 -1
  53. package/webapp/dist/assets/{chunk-WL4C6EOR-Ci_Ec8Ax.js → chunk-WL4C6EOR-zZXRkBBY.js} +6 -6
  54. package/webapp/dist/assets/{chunk-WL4C6EOR-Ci_Ec8Ax.js.map → chunk-WL4C6EOR-zZXRkBBY.js.map} +1 -1
  55. package/webapp/dist/assets/{classDiagram-VBA2DB6C-CxAxBvv7.js → classDiagram-VBA2DB6C-DI1CfOtL.js} +7 -7
  56. package/webapp/dist/assets/{classDiagram-VBA2DB6C-CxAxBvv7.js.map → classDiagram-VBA2DB6C-DI1CfOtL.js.map} +1 -1
  57. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-CxAxBvv7.js → classDiagram-v2-RAHNMMFH-DI1CfOtL.js} +7 -7
  58. package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-CxAxBvv7.js.map → classDiagram-v2-RAHNMMFH-DI1CfOtL.js.map} +1 -1
  59. package/webapp/dist/assets/{clone-ePiNaiNY.js → clone-quTqCNPA.js} +2 -2
  60. package/webapp/dist/assets/{clone-ePiNaiNY.js.map → clone-quTqCNPA.js.map} +1 -1
  61. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-j-Ex-Sef.js → cose-bilkent-S5V4N54A-BY28yO7Y.js} +2 -2
  62. package/webapp/dist/assets/{cose-bilkent-S5V4N54A-j-Ex-Sef.js.map → cose-bilkent-S5V4N54A-BY28yO7Y.js.map} +1 -1
  63. package/webapp/dist/assets/{dagre-KLK3FWXG-ihZ2wOCM.js → dagre-KLK3FWXG-DLyZ54D-.js} +7 -7
  64. package/webapp/dist/assets/{dagre-KLK3FWXG-ihZ2wOCM.js.map → dagre-KLK3FWXG-DLyZ54D-.js.map} +1 -1
  65. package/webapp/dist/assets/{diagram-E7M64L7V-Cp4GQGS7.js → diagram-E7M64L7V-CD-HWZAJ.js} +8 -8
  66. package/webapp/dist/assets/{diagram-E7M64L7V-Cp4GQGS7.js.map → diagram-E7M64L7V-CD-HWZAJ.js.map} +1 -1
  67. package/webapp/dist/assets/{diagram-IFDJBPK2-B70cgyS5.js → diagram-IFDJBPK2-BHOQ9HH2.js} +7 -7
  68. package/webapp/dist/assets/{diagram-IFDJBPK2-B70cgyS5.js.map → diagram-IFDJBPK2-BHOQ9HH2.js.map} +1 -1
  69. package/webapp/dist/assets/{diagram-P4PSJMXO-DMOv7eKE.js → diagram-P4PSJMXO-OEPgBDcD.js} +7 -7
  70. package/webapp/dist/assets/{diagram-P4PSJMXO-DMOv7eKE.js.map → diagram-P4PSJMXO-OEPgBDcD.js.map} +1 -1
  71. package/webapp/dist/assets/{erDiagram-INFDFZHY-BKpXWjIc.js → erDiagram-INFDFZHY-Dcgo204J.js} +5 -5
  72. package/webapp/dist/assets/{erDiagram-INFDFZHY-BKpXWjIc.js.map → erDiagram-INFDFZHY-Dcgo204J.js.map} +1 -1
  73. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-DgrItj0h.js → flowDiagram-PKNHOUZH-CWLo3Lkf.js} +7 -7
  74. package/webapp/dist/assets/{flowDiagram-PKNHOUZH-DgrItj0h.js.map → flowDiagram-PKNHOUZH-CWLo3Lkf.js.map} +1 -1
  75. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-7-8hlYsT.js → ganttDiagram-A5KZAMGK-DWXL4ZD6.js} +3 -3
  76. package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-7-8hlYsT.js.map → ganttDiagram-A5KZAMGK-DWXL4ZD6.js.map} +1 -1
  77. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-cPSaCUUk.js → gitGraphDiagram-K3NZZRJ6-7iLQbTrH.js} +8 -8
  78. package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-cPSaCUUk.js.map → gitGraphDiagram-K3NZZRJ6-7iLQbTrH.js.map} +1 -1
  79. package/webapp/dist/assets/{graph-CAlg3tEk.js → graph-Bq1MLNWN.js} +3 -3
  80. package/webapp/dist/assets/{graph-CAlg3tEk.js.map → graph-Bq1MLNWN.js.map} +1 -1
  81. package/webapp/dist/assets/{index-DLTS_eOh.js → index-r4An5YoX.js} +245 -60
  82. package/webapp/dist/assets/{index-DLTS_eOh.js.map → index-r4An5YoX.js.map} +1 -1
  83. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-CHJHvxMC.js → infoDiagram-LFFYTUFH-CoF5OE3_.js} +6 -6
  84. package/webapp/dist/assets/{infoDiagram-LFFYTUFH-CHJHvxMC.js.map → infoDiagram-LFFYTUFH-CoF5OE3_.js.map} +1 -1
  85. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-S8N-XZ8E.js → ishikawaDiagram-PHBUUO56-iKggfQhA.js} +2 -2
  86. package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-S8N-XZ8E.js.map → ishikawaDiagram-PHBUUO56-iKggfQhA.js.map} +1 -1
  87. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-ChHNpMtH.js → journeyDiagram-4ABVD52K-NYDQ7_xv.js} +5 -5
  88. package/webapp/dist/assets/{journeyDiagram-4ABVD52K-ChHNpMtH.js.map → journeyDiagram-4ABVD52K-NYDQ7_xv.js.map} +1 -1
  89. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-Cqxd99wZ.js → kanban-definition-K7BYSVSG-YWCnJwk0.js} +3 -3
  90. package/webapp/dist/assets/{kanban-definition-K7BYSVSG-Cqxd99wZ.js.map → kanban-definition-K7BYSVSG-YWCnJwk0.js.map} +1 -1
  91. package/webapp/dist/assets/{layout-uOLcVthp.js → layout-CE6gccWy.js} +5 -5
  92. package/webapp/dist/assets/{layout-uOLcVthp.js.map → layout-CE6gccWy.js.map} +1 -1
  93. package/webapp/dist/assets/{linear-Ga_f4H_w.js → linear-12arIJK-.js} +2 -2
  94. package/webapp/dist/assets/{linear-Ga_f4H_w.js.map → linear-12arIJK-.js.map} +1 -1
  95. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-TSH7wOlZ.js → mindmap-definition-YRQLILUH-D_5iNhfP.js} +4 -4
  96. package/webapp/dist/assets/{mindmap-definition-YRQLILUH-TSH7wOlZ.js.map → mindmap-definition-YRQLILUH-D_5iNhfP.js.map} +1 -1
  97. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DPXszqns.js → pieDiagram-SKSYHLDU-DCbLQaXM.js} +8 -8
  98. package/webapp/dist/assets/{pieDiagram-SKSYHLDU-DPXszqns.js.map → pieDiagram-SKSYHLDU-DCbLQaXM.js.map} +1 -1
  99. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-BgA_GVhR.js → quadrantDiagram-337W2JSQ-CVRDOyty.js} +3 -3
  100. package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-BgA_GVhR.js.map → quadrantDiagram-337W2JSQ-CVRDOyty.js.map} +1 -1
  101. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-CM-47daj.js → requirementDiagram-Z7DCOOCP-iBpmayOS.js} +4 -4
  102. package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-CM-47daj.js.map → requirementDiagram-Z7DCOOCP-iBpmayOS.js.map} +1 -1
  103. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-CxDCwHAj.js → sankeyDiagram-WA2Y5GQK-DqzWCtib.js} +2 -2
  104. package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-CxDCwHAj.js.map → sankeyDiagram-WA2Y5GQK-DqzWCtib.js.map} +1 -1
  105. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-1UJP6Fff.js → sequenceDiagram-2WXFIKYE-DHzt-u2j.js} +4 -4
  106. package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-1UJP6Fff.js.map → sequenceDiagram-2WXFIKYE-DHzt-u2j.js.map} +1 -1
  107. package/webapp/dist/assets/{stateDiagram-RAJIS63D-B2aqr0KQ.js → stateDiagram-RAJIS63D-D14FagfU.js} +9 -9
  108. package/webapp/dist/assets/{stateDiagram-RAJIS63D-B2aqr0KQ.js.map → stateDiagram-RAJIS63D-D14FagfU.js.map} +1 -1
  109. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-DvmkevVb.js → stateDiagram-v2-FVOUBMTO-CZRolF-A.js} +5 -5
  110. package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-DvmkevVb.js.map → stateDiagram-v2-FVOUBMTO-CZRolF-A.js.map} +1 -1
  111. package/webapp/dist/assets/{timeline-definition-YZTLITO2-CaOrqzT1.js → timeline-definition-YZTLITO2-L4O4kc8p.js} +3 -3
  112. package/webapp/dist/assets/{timeline-definition-YZTLITO2-CaOrqzT1.js.map → timeline-definition-YZTLITO2-L4O4kc8p.js.map} +1 -1
  113. package/webapp/dist/assets/{treemap-KZPCXAKY-CWs_8GJm.js → treemap-KZPCXAKY-CvHKWhtl.js} +5 -5
  114. package/webapp/dist/assets/{treemap-KZPCXAKY-CWs_8GJm.js.map → treemap-KZPCXAKY-CvHKWhtl.js.map} +1 -1
  115. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-BuBxFDz6.js → vennDiagram-LZ73GAT5-8sPBS5jq.js} +2 -2
  116. package/webapp/dist/assets/{vennDiagram-LZ73GAT5-BuBxFDz6.js.map → vennDiagram-LZ73GAT5-8sPBS5jq.js.map} +1 -1
  117. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-ChjL-_2b.js → xychartDiagram-JWTSCODW-CqLmOgCw.js} +3 -3
  118. package/webapp/dist/assets/{xychartDiagram-JWTSCODW-ChjL-_2b.js.map → xychartDiagram-JWTSCODW-CqLmOgCw.js.map} +1 -1
  119. package/webapp/dist/index.html +1 -1
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KLK3FWXG-ihZ2wOCM.js","assets/graph-CAlg3tEk.js","assets/_baseUniq-BuB0jmKD.js","assets/layout-uOLcVthp.js","assets/_basePickBy-B1-brAPU.js","assets/clone-ePiNaiNY.js","assets/cose-bilkent-S5V4N54A-j-Ex-Sef.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-IC4MRINW-D9-FJ4LB.js","assets/chunk-JSJVCQXG-CJPrv6fM.js","assets/flowDiagram-PKNHOUZH-DgrItj0h.js","assets/chunk-FMBD7UC4-Bb6zm0iH.js","assets/chunk-55IACEB6-C5KCE85A.js","assets/chunk-KX2RTZJC-8J1Swk7E.js","assets/channel-D1VPurpu.js","assets/erDiagram-INFDFZHY-BKpXWjIc.js","assets/gitGraphDiagram-K3NZZRJ6-cPSaCUUk.js","assets/chunk-4BX2VUAB-DB14wcWS.js","assets/chunk-QZHKN3VN-CTO5Z-4P.js","assets/treemap-KZPCXAKY-CWs_8GJm.js","assets/ganttDiagram-A5KZAMGK-7-8hlYsT.js","assets/linear-Ga_f4H_w.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-LFFYTUFH-CHJHvxMC.js","assets/pieDiagram-SKSYHLDU-DPXszqns.js","assets/arc-CvsBvjnB.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-337W2JSQ-BgA_GVhR.js","assets/xychartDiagram-JWTSCODW-ChjL-_2b.js","assets/requirementDiagram-Z7DCOOCP-CM-47daj.js","assets/sequenceDiagram-2WXFIKYE-1UJP6Fff.js","assets/classDiagram-VBA2DB6C-CxAxBvv7.js","assets/chunk-WL4C6EOR-Ci_Ec8Ax.js","assets/classDiagram-v2-RAHNMMFH-CxAxBvv7.js","assets/stateDiagram-RAJIS63D-B2aqr0KQ.js","assets/chunk-NQ4KR5QH-DySHY4x9.js","assets/stateDiagram-v2-FVOUBMTO-DvmkevVb.js","assets/journeyDiagram-4ABVD52K-ChHNpMtH.js","assets/timeline-definition-YZTLITO2-CaOrqzT1.js","assets/mindmap-definition-YRQLILUH-TSH7wOlZ.js","assets/kanban-definition-K7BYSVSG-Cqxd99wZ.js","assets/sankeyDiagram-WA2Y5GQK-CxDCwHAj.js","assets/diagram-P4PSJMXO-DMOv7eKE.js","assets/diagram-IFDJBPK2-B70cgyS5.js","assets/blockDiagram-WCTKOSBZ-Bu53fwsa.js","assets/architectureDiagram-2XIMDMQ5-B-xGuLbb.js","assets/diagram-E7M64L7V-Cp4GQGS7.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KLK3FWXG-DLyZ54D-.js","assets/graph-Bq1MLNWN.js","assets/_baseUniq-CGrWBZre.js","assets/layout-CE6gccWy.js","assets/_basePickBy-bB-pfQPi.js","assets/clone-quTqCNPA.js","assets/cose-bilkent-S5V4N54A-BY28yO7Y.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-IC4MRINW-DwRQtzZF.js","assets/chunk-JSJVCQXG-xnc6SVE5.js","assets/flowDiagram-PKNHOUZH-CWLo3Lkf.js","assets/chunk-FMBD7UC4-DR9kFZOV.js","assets/chunk-55IACEB6-Dq9BI2N6.js","assets/chunk-KX2RTZJC-rUxlh4aS.js","assets/channel-BHLOwBnI.js","assets/erDiagram-INFDFZHY-Dcgo204J.js","assets/gitGraphDiagram-K3NZZRJ6-7iLQbTrH.js","assets/chunk-4BX2VUAB-C-uXnDVV.js","assets/chunk-QZHKN3VN-CAlu4xE7.js","assets/treemap-KZPCXAKY-CvHKWhtl.js","assets/ganttDiagram-A5KZAMGK-DWXL4ZD6.js","assets/linear-12arIJK-.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-LFFYTUFH-CoF5OE3_.js","assets/pieDiagram-SKSYHLDU-DCbLQaXM.js","assets/arc-I9vbIaKk.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-337W2JSQ-CVRDOyty.js","assets/xychartDiagram-JWTSCODW-CqLmOgCw.js","assets/requirementDiagram-Z7DCOOCP-iBpmayOS.js","assets/sequenceDiagram-2WXFIKYE-DHzt-u2j.js","assets/classDiagram-VBA2DB6C-DI1CfOtL.js","assets/chunk-WL4C6EOR-zZXRkBBY.js","assets/classDiagram-v2-RAHNMMFH-DI1CfOtL.js","assets/stateDiagram-RAJIS63D-D14FagfU.js","assets/chunk-NQ4KR5QH-BGU4PhTQ.js","assets/stateDiagram-v2-FVOUBMTO-CZRolF-A.js","assets/journeyDiagram-4ABVD52K-NYDQ7_xv.js","assets/timeline-definition-YZTLITO2-L4O4kc8p.js","assets/mindmap-definition-YRQLILUH-D_5iNhfP.js","assets/kanban-definition-K7BYSVSG-YWCnJwk0.js","assets/sankeyDiagram-WA2Y5GQK-DqzWCtib.js","assets/diagram-P4PSJMXO-OEPgBDcD.js","assets/diagram-IFDJBPK2-BHOQ9HH2.js","assets/blockDiagram-WCTKOSBZ-DTm0qfvP.js","assets/architectureDiagram-2XIMDMQ5-CrwjTxLz.js","assets/diagram-E7M64L7V-CD-HWZAJ.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);
@@ -280,12 +280,17 @@ function getUiStrings(language2) {
280
280
  domindsVersionInstallConfirm: "检测到 npm registry 上有新版 Dominds。\n\n当前: v<current>\n最新: v<latest>\n\n现在安装并在完成后等待重启吗?",
281
281
  domindsVersionRestartConfirm: "将以最新可用版本重启 Dominds 后台。\n\n当前: v<current>\n目标: v<latest>\n\n是否继续?",
282
282
  domindsVersionInstallSuccess: "最新版 Dominds 已安装完成,请点击重启。",
283
+ domindsVersionInstallVerifiedAfterCommandFailure: "安装命令返回异常,但磁盘文件和版本探针已确认 v<latest> 安装成功,请点击重启。",
283
284
  domindsVersionInstallInProgress: "后端正在安装……",
284
285
  domindsVersionRestartScheduled: "Dominds 后台正在重启…",
285
286
  domindsVersionRestartInProgress: "后端正在重启,若页面没有自动刷新,可手动刷新看看。",
286
287
  domindsVersionActionFailedPrefix: "Dominds 更新失败:",
287
288
  domindsVersionCheckUpdateAvailable: "检查完成:发现新版本 v<latest>,点击版本号可安装。",
288
289
  domindsVersionCheckRestartAvailable: "检查完成:新版本 v<latest> 已就绪,点击版本号可重启。",
290
+ domindsVersionCheckManualRestartRequired: "检查完成:发现新版本 v<latest>。请从原启动方式重新启动 Dominds 以更新当前会话。",
291
+ domindsVersionCheckGlobalTargetUnsupported: "检查完成:发现新版本 v<latest>。但无法确认 npm/pnpm 全局安装会覆盖当前 Dominds 启动位置,已停止自动升级;请从原安装方式手动升级。",
292
+ domindsVersionCheckNpxFixedUnsupported: "检查完成:发现新版本 v<latest>。当前是 npx 固定版本启动,不支持自动重启升级;如需自动升级,请用 dominds@latest 启动。",
293
+ domindsVersionCheckNpxVersionlessUnsupported: "检查完成:发现新版本 v<latest>。当前是 npx 未指定版本启动,不承诺重启后解析到最新版本;如需自动升级,请用 dominds@latest 启动。",
289
294
  domindsVersionCheckUpToDate: "检查完成:当前已是最新版本 v<current>。",
290
295
  domindsVersionCheckFailedPrefix: "Dominds 版本检查失败:",
291
296
  domindsVersionTooltipCurrent: "当前版本",
@@ -671,12 +676,17 @@ function getUiStrings(language2) {
671
676
  domindsVersionInstallConfirm: "A newer Dominds version is available on npm registry.\n\nCurrent: v<current>\nLatest: v<latest>\n\nInstall it now and wait for restart?",
672
677
  domindsVersionRestartConfirm: "Dominds backend will restart into the latest available version.\n\nCurrent: v<current>\nTarget: v<latest>\n\nContinue?",
673
678
  domindsVersionInstallSuccess: "Latest Dominds is installed. Click restart when ready.",
679
+ domindsVersionInstallVerifiedAfterCommandFailure: "The install command returned an error, but installed files and version probe confirmed v<latest>. Click restart when ready.",
674
680
  domindsVersionInstallInProgress: "Backend is installing…",
675
681
  domindsVersionRestartScheduled: "Dominds backend is restarting…",
676
682
  domindsVersionRestartInProgress: "Backend is restarting. If the page does not refresh automatically, try a manual refresh.",
677
683
  domindsVersionActionFailedPrefix: "Dominds update failed: ",
678
684
  domindsVersionCheckUpdateAvailable: "Check complete: v<latest> is available. Click the version to install.",
679
685
  domindsVersionCheckRestartAvailable: "Check complete: v<latest> is ready. Click the version to restart.",
686
+ domindsVersionCheckManualRestartRequired: "Check complete: v<latest> is available. Restart Dominds from the original launcher to update this session.",
687
+ domindsVersionCheckGlobalTargetUnsupported: "Check complete: v<latest> is available, but npm/pnpm global install was not verified to overwrite the current Dominds launch location. Automatic update is disabled; update manually from the original install method.",
688
+ domindsVersionCheckNpxFixedUnsupported: "Check complete: v<latest> is available. This npx session uses a fixed Dominds version, so automatic restart updates are not supported. Launch with dominds@latest to enable them.",
689
+ domindsVersionCheckNpxVersionlessUnsupported: "Check complete: v<latest> is available. This npx session did not specify a version, so restart-to-latest is not guaranteed. Launch with dominds@latest to enable automatic restart updates.",
680
690
  domindsVersionCheckUpToDate: "Check complete: v<current> is already the latest.",
681
691
  domindsVersionCheckFailedPrefix: "Dominds version check failed: ",
682
692
  domindsVersionTooltipCurrent: "Current version",
@@ -1215,6 +1225,43 @@ Work language is not known yet (connect first).`;
1215
1225
  }
1216
1226
  }
1217
1227
  }
1228
+ function parseRunControlCountsPayload(value) {
1229
+ if (typeof value !== "object" || value === null || Array.isArray(value)) {
1230
+ throw new Error("Invalid run-control counts response: payload must be an object");
1231
+ }
1232
+ const payload = value;
1233
+ const counts = payload["counts"];
1234
+ if (typeof counts !== "object" || counts === null || Array.isArray(counts)) {
1235
+ throw new Error("Invalid run-control counts response: counts must be an object");
1236
+ }
1237
+ return counts;
1238
+ }
1239
+ function parseRunControlCount(value, field) {
1240
+ if (typeof value !== "number" || !Number.isInteger(value) || value < 0) {
1241
+ throw new Error(`Invalid run-control counts response: ${field} must be a non-negative integer`);
1242
+ }
1243
+ return value;
1244
+ }
1245
+ function parseRunControlSnapshotEpoch(value) {
1246
+ if (typeof value !== "string" || value.trim() === "") {
1247
+ throw new Error(
1248
+ "Invalid run-control counts response: snapshotEpoch must be a non-empty string"
1249
+ );
1250
+ }
1251
+ return value;
1252
+ }
1253
+ function parseRunControlSnapshotSeq(value) {
1254
+ if (typeof value !== "number" || !Number.isInteger(value) || value <= 0) {
1255
+ throw new Error("Invalid run-control counts response: snapshotSeq must be a positive integer");
1256
+ }
1257
+ return value;
1258
+ }
1259
+ function parseRunControlTimestamp(value) {
1260
+ if (typeof value !== "string" || value.trim() === "") {
1261
+ throw new Error("Invalid run-control counts response: timestamp must be a non-empty string");
1262
+ }
1263
+ return value;
1264
+ }
1218
1265
  function mergeAbortSignals(signals) {
1219
1266
  if (typeof AbortSignal.any === "function") return AbortSignal.any(signals);
1220
1267
  if (signals.some((signal) => signal.aborted)) {
@@ -1440,10 +1487,50 @@ class ApiClient {
1440
1487
  return this.request("/api/live-reload");
1441
1488
  }
1442
1489
  async actDomindsSelfUpdate(action) {
1443
- return this.request("/api/dominds/self-update", {
1444
- method: "POST",
1445
- body: { action }
1446
- });
1490
+ const url = `${this.baseURL}/api/dominds/self-update`;
1491
+ const method = "POST";
1492
+ const body = { action };
1493
+ try {
1494
+ const response = await fetch(url, {
1495
+ method,
1496
+ headers: { ...this.defaultHeaders },
1497
+ body: JSON.stringify(body),
1498
+ cache: "no-store"
1499
+ });
1500
+ const contentType = response.headers.get("content-type");
1501
+ const data = contentType?.includes("application/json") ? await response.json() : await response.text();
1502
+ if (!response.ok) {
1503
+ const error2 = new Error(
1504
+ getApiErrorMessage(response.status, response.statusText, data)
1505
+ );
1506
+ error2.status = response.status;
1507
+ error2.response = data;
1508
+ error2.requestBody = body;
1509
+ throw error2;
1510
+ }
1511
+ return {
1512
+ success: true,
1513
+ status: response.status,
1514
+ data,
1515
+ timestamp: timeExports.formatUnifiedTimestamp(/* @__PURE__ */ new Date())
1516
+ };
1517
+ } catch (error2) {
1518
+ const apiError = error2 instanceof Error ? error2 : new Error("Unknown error");
1519
+ console.error("API request failed", {
1520
+ method,
1521
+ url,
1522
+ status: apiError.status ?? null,
1523
+ error: apiError.message,
1524
+ requestBody: apiError.requestBody ?? body,
1525
+ response: apiError.response
1526
+ });
1527
+ return {
1528
+ success: false,
1529
+ error: apiError.message,
1530
+ status: apiError.status,
1531
+ timestamp: timeExports.formatUnifiedTimestamp(/* @__PURE__ */ new Date())
1532
+ };
1533
+ }
1447
1534
  }
1448
1535
  async checkDomindsSelfUpdate() {
1449
1536
  return this.request("/api/dominds/self-update/check", {
@@ -1484,16 +1571,21 @@ class ApiClient {
1484
1571
  async getRunControlCounts() {
1485
1572
  const response = await this.request("/api/dialogs/run-control-counts");
1486
1573
  if (response.success && response.data) {
1487
- const payload = response.data;
1488
- const countsRec = typeof payload["counts"] === "object" && payload["counts"] !== null ? payload["counts"] : payload;
1574
+ const countsRec = parseRunControlCountsPayload(response.data);
1489
1575
  const proceedingRaw = countsRec["proceeding"];
1490
1576
  const resumableRaw = countsRec["resumable"];
1577
+ const snapshotEpochRaw = countsRec["snapshotEpoch"];
1578
+ const snapshotSeqRaw = countsRec["snapshotSeq"];
1579
+ const timestampRaw = countsRec["timestamp"];
1491
1580
  return {
1492
1581
  success: true,
1493
1582
  status: response.status,
1494
1583
  data: {
1495
- proceeding: typeof proceedingRaw === "number" ? proceedingRaw : 0,
1496
- resumable: typeof resumableRaw === "number" ? resumableRaw : 0
1584
+ proceeding: parseRunControlCount(proceedingRaw, "proceeding"),
1585
+ resumable: parseRunControlCount(resumableRaw, "resumable"),
1586
+ snapshotEpoch: parseRunControlSnapshotEpoch(snapshotEpochRaw),
1587
+ snapshotSeq: parseRunControlSnapshotSeq(snapshotSeqRaw),
1588
+ timestamp: parseRunControlTimestamp(timestampRaw)
1497
1589
  },
1498
1590
  timestamp: response.timestamp
1499
1591
  };
@@ -99128,12 +99220,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
99128
99220
  registerLayoutLoaders([
99129
99221
  {
99130
99222
  name: "dagre",
99131
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-ihZ2wOCM.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
99223
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-DLyZ54D-.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
99132
99224
  },
99133
99225
  ...[
99134
99226
  {
99135
99227
  name: "cose-bilkent",
99136
- loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-j-Ex-Sef.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
99228
+ loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-BY28yO7Y.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
99137
99229
  }
99138
99230
  ]
99139
99231
  ]);
@@ -99573,7 +99665,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
99573
99665
  }, "detector");
99574
99666
  var loader = /* @__PURE__ */ __name(async () => {
99575
99667
  const { diagram: diagram2 } = await __vitePreload(async () => {
99576
- const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-D9-FJ4LB.js");
99668
+ const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-DwRQtzZF.js");
99577
99669
  return { diagram: diagram22 };
99578
99670
  }, true ? __vite__mapDeps([8,9]) : void 0);
99579
99671
  return { id: id$1, diagram: diagram2 };
@@ -99593,7 +99685,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
99593
99685
  }, "detector");
99594
99686
  var loader2 = /* @__PURE__ */ __name(async () => {
99595
99687
  const { diagram: diagram2 } = await __vitePreload(async () => {
99596
- const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DgrItj0h.js");
99688
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-CWLo3Lkf.js");
99597
99689
  return { diagram: diagram22 };
99598
99690
  }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99599
99691
  return { id: id2, diagram: diagram2 };
@@ -99619,7 +99711,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
99619
99711
  }, "detector");
99620
99712
  var loader3 = /* @__PURE__ */ __name(async () => {
99621
99713
  const { diagram: diagram2 } = await __vitePreload(async () => {
99622
- const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DgrItj0h.js");
99714
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-CWLo3Lkf.js");
99623
99715
  return { diagram: diagram22 };
99624
99716
  }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99625
99717
  return { id: id3, diagram: diagram2 };
@@ -99636,7 +99728,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
99636
99728
  }, "detector");
99637
99729
  var loader4 = /* @__PURE__ */ __name(async () => {
99638
99730
  const { diagram: diagram2 } = await __vitePreload(async () => {
99639
- const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-BKpXWjIc.js");
99731
+ const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-Dcgo204J.js");
99640
99732
  return { diagram: diagram22 };
99641
99733
  }, true ? __vite__mapDeps([15,12,13,14]) : void 0);
99642
99734
  return { id: id4, diagram: diagram2 };
@@ -99653,7 +99745,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
99653
99745
  }, "detector");
99654
99746
  var loader5 = /* @__PURE__ */ __name(async () => {
99655
99747
  const { diagram: diagram2 } = await __vitePreload(async () => {
99656
- const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-cPSaCUUk.js");
99748
+ const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-7iLQbTrH.js");
99657
99749
  return { diagram: diagram22 };
99658
99750
  }, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
99659
99751
  return { id: id5, diagram: diagram2 };
@@ -99670,7 +99762,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
99670
99762
  }, "detector");
99671
99763
  var loader6 = /* @__PURE__ */ __name(async () => {
99672
99764
  const { diagram: diagram2 } = await __vitePreload(async () => {
99673
- const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-7-8hlYsT.js");
99765
+ const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-DWXL4ZD6.js");
99674
99766
  return { diagram: diagram22 };
99675
99767
  }, true ? __vite__mapDeps([20,21,22,23]) : void 0);
99676
99768
  return { id: id6, diagram: diagram2 };
@@ -99687,7 +99779,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
99687
99779
  }, "detector");
99688
99780
  var loader7 = /* @__PURE__ */ __name(async () => {
99689
99781
  const { diagram: diagram2 } = await __vitePreload(async () => {
99690
- const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-CHJHvxMC.js");
99782
+ const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-CoF5OE3_.js");
99691
99783
  return { diagram: diagram22 };
99692
99784
  }, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
99693
99785
  return { id: id7, diagram: diagram2 };
@@ -99703,7 +99795,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
99703
99795
  }, "detector");
99704
99796
  var loader8 = /* @__PURE__ */ __name(async () => {
99705
99797
  const { diagram: diagram2 } = await __vitePreload(async () => {
99706
- const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-DPXszqns.js");
99798
+ const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-DCbLQaXM.js");
99707
99799
  return { diagram: diagram22 };
99708
99800
  }, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
99709
99801
  return { id: id8, diagram: diagram2 };
@@ -99719,7 +99811,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
99719
99811
  }, "detector");
99720
99812
  var loader9 = /* @__PURE__ */ __name(async () => {
99721
99813
  const { diagram: diagram2 } = await __vitePreload(async () => {
99722
- const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-BgA_GVhR.js");
99814
+ const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-CVRDOyty.js");
99723
99815
  return { diagram: diagram22 };
99724
99816
  }, true ? __vite__mapDeps([28,21,22,23]) : void 0);
99725
99817
  return { id: id9, diagram: diagram2 };
@@ -99736,7 +99828,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
99736
99828
  }, "detector");
99737
99829
  var loader10 = /* @__PURE__ */ __name(async () => {
99738
99830
  const { diagram: diagram2 } = await __vitePreload(async () => {
99739
- const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-ChjL-_2b.js");
99831
+ const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-CqLmOgCw.js");
99740
99832
  return { diagram: diagram22 };
99741
99833
  }, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
99742
99834
  return { id: id10, diagram: diagram2 };
@@ -99753,7 +99845,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
99753
99845
  }, "detector");
99754
99846
  var loader11 = /* @__PURE__ */ __name(async () => {
99755
99847
  const { diagram: diagram2 } = await __vitePreload(async () => {
99756
- const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP-CM-47daj.js");
99848
+ const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP-iBpmayOS.js");
99757
99849
  return { diagram: diagram22 };
99758
99850
  }, true ? __vite__mapDeps([30,12,13]) : void 0);
99759
99851
  return { id: id11, diagram: diagram2 };
@@ -99770,7 +99862,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
99770
99862
  }, "detector");
99771
99863
  var loader12 = /* @__PURE__ */ __name(async () => {
99772
99864
  const { diagram: diagram2 } = await __vitePreload(async () => {
99773
- const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-1UJP6Fff.js");
99865
+ const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-DHzt-u2j.js");
99774
99866
  return { diagram: diagram22 };
99775
99867
  }, true ? __vite__mapDeps([31,9,18]) : void 0);
99776
99868
  return { id: id12, diagram: diagram2 };
@@ -99790,7 +99882,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
99790
99882
  }, "detector");
99791
99883
  var loader13 = /* @__PURE__ */ __name(async () => {
99792
99884
  const { diagram: diagram2 } = await __vitePreload(async () => {
99793
- const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-CxAxBvv7.js");
99885
+ const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-DI1CfOtL.js");
99794
99886
  return { diagram: diagram22 };
99795
99887
  }, true ? __vite__mapDeps([32,33,11,9,12,13]) : void 0);
99796
99888
  return { id: id13, diagram: diagram2 };
@@ -99810,7 +99902,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
99810
99902
  }, "detector");
99811
99903
  var loader14 = /* @__PURE__ */ __name(async () => {
99812
99904
  const { diagram: diagram2 } = await __vitePreload(async () => {
99813
- const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-CxAxBvv7.js");
99905
+ const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-DI1CfOtL.js");
99814
99906
  return { diagram: diagram22 };
99815
99907
  }, true ? __vite__mapDeps([34,33,11,9,12,13]) : void 0);
99816
99908
  return { id: id14, diagram: diagram2 };
@@ -99830,7 +99922,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
99830
99922
  }, "detector");
99831
99923
  var loader15 = /* @__PURE__ */ __name(async () => {
99832
99924
  const { diagram: diagram2 } = await __vitePreload(async () => {
99833
- const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D-B2aqr0KQ.js");
99925
+ const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D-D14FagfU.js");
99834
99926
  return { diagram: diagram22 };
99835
99927
  }, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
99836
99928
  return { id: id15, diagram: diagram2 };
@@ -99853,7 +99945,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
99853
99945
  }, "detector");
99854
99946
  var loader16 = /* @__PURE__ */ __name(async () => {
99855
99947
  const { diagram: diagram2 } = await __vitePreload(async () => {
99856
- const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-DvmkevVb.js");
99948
+ const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-CZRolF-A.js");
99857
99949
  return { diagram: diagram22 };
99858
99950
  }, true ? __vite__mapDeps([37,36,12,13]) : void 0);
99859
99951
  return { id: id16, diagram: diagram2 };
@@ -99870,7 +99962,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
99870
99962
  }, "detector");
99871
99963
  var loader17 = /* @__PURE__ */ __name(async () => {
99872
99964
  const { diagram: diagram2 } = await __vitePreload(async () => {
99873
- const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K-ChHNpMtH.js");
99965
+ const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K-NYDQ7_xv.js");
99874
99966
  return { diagram: diagram22 };
99875
99967
  }, true ? __vite__mapDeps([38,11,9,26]) : void 0);
99876
99968
  return { id: id17, diagram: diagram2 };
@@ -99940,7 +100032,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
99940
100032
  }, "detector");
99941
100033
  var loader18 = /* @__PURE__ */ __name(async () => {
99942
100034
  const { diagram: diagram2 } = await __vitePreload(async () => {
99943
- const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DgrItj0h.js");
100035
+ const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-CWLo3Lkf.js");
99944
100036
  return { diagram: diagram22 };
99945
100037
  }, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
99946
100038
  return { id: id18, diagram: diagram2 };
@@ -99957,7 +100049,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
99957
100049
  }, "detector");
99958
100050
  var loader19 = /* @__PURE__ */ __name(async () => {
99959
100051
  const { diagram: diagram2 } = await __vitePreload(async () => {
99960
- const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-CaOrqzT1.js");
100052
+ const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-L4O4kc8p.js");
99961
100053
  return { diagram: diagram22 };
99962
100054
  }, true ? __vite__mapDeps([39,26]) : void 0);
99963
100055
  return { id: id19, diagram: diagram2 };
@@ -99974,7 +100066,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
99974
100066
  }, "detector");
99975
100067
  var loader20 = /* @__PURE__ */ __name(async () => {
99976
100068
  const { diagram: diagram2 } = await __vitePreload(async () => {
99977
- const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-TSH7wOlZ.js");
100069
+ const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-D_5iNhfP.js");
99978
100070
  return { diagram: diagram22 };
99979
100071
  }, true ? __vite__mapDeps([40,12,13]) : void 0);
99980
100072
  return { id: id20, diagram: diagram2 };
@@ -99991,7 +100083,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
99991
100083
  }, "detector");
99992
100084
  var loader21 = /* @__PURE__ */ __name(async () => {
99993
100085
  const { diagram: diagram2 } = await __vitePreload(async () => {
99994
- const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-Cqxd99wZ.js");
100086
+ const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-YWCnJwk0.js");
99995
100087
  return { diagram: diagram22 };
99996
100088
  }, true ? __vite__mapDeps([41,11]) : void 0);
99997
100089
  return { id: id21, diagram: diagram2 };
@@ -100008,7 +100100,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
100008
100100
  }, "detector");
100009
100101
  var loader22 = /* @__PURE__ */ __name(async () => {
100010
100102
  const { diagram: diagram2 } = await __vitePreload(async () => {
100011
- const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-CxDCwHAj.js");
100103
+ const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-DqzWCtib.js");
100012
100104
  return { diagram: diagram22 };
100013
100105
  }, true ? __vite__mapDeps([42,27,22]) : void 0);
100014
100106
  return { id: id22, diagram: diagram2 };
@@ -100025,7 +100117,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
100025
100117
  }, "detector");
100026
100118
  var loader23 = /* @__PURE__ */ __name(async () => {
100027
100119
  const { diagram: diagram2 } = await __vitePreload(async () => {
100028
- const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-DMOv7eKE.js");
100120
+ const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-OEPgBDcD.js");
100029
100121
  return { diagram: diagram22 };
100030
100122
  }, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
100031
100123
  return { id: id23, diagram: diagram2 };
@@ -100041,7 +100133,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
100041
100133
  }, "detector");
100042
100134
  var loader24 = /* @__PURE__ */ __name(async () => {
100043
100135
  const { diagram: diagram2 } = await __vitePreload(async () => {
100044
- const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-B70cgyS5.js");
100136
+ const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-BHOQ9HH2.js");
100045
100137
  return { diagram: diagram22 };
100046
100138
  }, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
100047
100139
  return { id: id24, diagram: diagram2 };
@@ -100057,7 +100149,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
100057
100149
  }, "detector");
100058
100150
  var loader25 = /* @__PURE__ */ __name(async () => {
100059
100151
  const { diagram: diagram2 } = await __vitePreload(async () => {
100060
- const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-Bu53fwsa.js");
100152
+ const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-DTm0qfvP.js");
100061
100153
  return { diagram: diagram22 };
100062
100154
  }, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
100063
100155
  return { id: id25, diagram: diagram2 };
@@ -100074,7 +100166,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
100074
100166
  }, "detector");
100075
100167
  var loader26 = /* @__PURE__ */ __name(async () => {
100076
100168
  const { diagram: diagram2 } = await __vitePreload(async () => {
100077
- const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-B-xGuLbb.js");
100169
+ const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-CrwjTxLz.js");
100078
100170
  return { diagram: diagram22 };
100079
100171
  }, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
100080
100172
  return { id: id26, diagram: diagram2 };
@@ -100091,7 +100183,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
100091
100183
  }, "detector");
100092
100184
  var loader27 = /* @__PURE__ */ __name(async () => {
100093
100185
  const { diagram: diagram2 } = await __vitePreload(async () => {
100094
- const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-S8N-XZ8E.js");
100186
+ const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-iKggfQhA.js");
100095
100187
  return { diagram: diagram22 };
100096
100188
  }, true ? [] : void 0);
100097
100189
  return { id: id27, diagram: diagram2 };
@@ -100107,7 +100199,7 @@ var detector28 = /* @__PURE__ */ __name((txt) => {
100107
100199
  }, "detector");
100108
100200
  var loader28 = /* @__PURE__ */ __name(async () => {
100109
100201
  const { diagram: diagram2 } = await __vitePreload(async () => {
100110
- const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-BuBxFDz6.js");
100202
+ const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-8sPBS5jq.js");
100111
100203
  return { diagram: diagram22 };
100112
100204
  }, true ? [] : void 0);
100113
100205
  return { id: id28, diagram: diagram2 };
@@ -100124,7 +100216,7 @@ var detector29 = /* @__PURE__ */ __name((txt) => {
100124
100216
  }, "detector");
100125
100217
  var loader29 = /* @__PURE__ */ __name(async () => {
100126
100218
  const { diagram: diagram2 } = await __vitePreload(async () => {
100127
- const { diagram: diagram22 } = await import("./diagram-E7M64L7V-Cp4GQGS7.js");
100219
+ const { diagram: diagram22 } = await import("./diagram-E7M64L7V-CD-HWZAJ.js");
100128
100220
  return { diagram: diagram22 };
100129
100221
  }, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
100130
100222
  return { id: id29, diagram: diagram2 };
@@ -117156,6 +117248,9 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
117156
117248
  this.dialogDisplayStatesByKey = /* @__PURE__ */ new Map();
117157
117249
  this.proceedingDialogsCount = 0;
117158
117250
  this.resumableDialogsCount = 0;
117251
+ this.lastRunControlCountsSnapshotEpoch = null;
117252
+ this.lastRunControlCountsSnapshotSeq = 0;
117253
+ this.runControlCountsApiRefreshSeq = 0;
117159
117254
  this.currentDialog = null;
117160
117255
  this.currentDialogStatus = null;
117161
117256
  this.viewportPanelState = { kind: "hidden" };
@@ -117168,6 +117263,7 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
117168
117263
  this.backendMode = null;
117169
117264
  this.domindsSelfUpdate = null;
117170
117265
  this.domindsSelfUpdateCheckInFlight = false;
117266
+ this.domindsSelfUpdateInstallFailureToastKey = null;
117171
117267
  this.domindsVersionClickTimer = null;
117172
117268
  this.toolbarCurrentCourse = 1;
117173
117269
  this.toolbarTotalCourses = 1;
@@ -118748,11 +118844,21 @@ ${formatUiLanguageOptionLabel({
118748
118844
  break;
118749
118845
  case "restart":
118750
118846
  case "restarting":
118751
- lines.push(`${t2.domindsVersionTooltipStatus}: ${t2.domindsVersionRestartAvailableTitle}`);
118847
+ lines.push(
118848
+ `${t2.domindsVersionTooltipStatus}: ${this.domindsSelfUpdate?.reason === "install_verified_after_command_failure" ? this.formatVersionCheckResult(
118849
+ t2.domindsVersionInstallVerifiedAfterCommandFailure,
118850
+ this.domindsSelfUpdate
118851
+ ) : t2.domindsVersionRestartAvailableTitle}`
118852
+ );
118752
118853
  break;
118753
118854
  case "idle":
118754
118855
  if (this.domindsSelfUpdate?.reason === "latest_check_failed" && this.domindsSelfUpdate.message) {
118755
118856
  lines.push(`${t2.domindsVersionTooltipStatus}: ${this.domindsSelfUpdate.message}`);
118857
+ } else if (this.domindsSelfUpdate !== null) {
118858
+ const noActionMessage = this.formatDomindsVersionNoActionMessage(this.domindsSelfUpdate);
118859
+ if (noActionMessage !== null) {
118860
+ lines.push(`${t2.domindsVersionTooltipStatus}: ${noActionMessage}`);
118861
+ }
118756
118862
  }
118757
118863
  break;
118758
118864
  }
@@ -118794,6 +118900,7 @@ ${formatUiLanguageOptionLabel({
118794
118900
  this.backendVersion = status.version.trim();
118795
118901
  this.backendMode = status.mode;
118796
118902
  this.domindsSelfUpdate = status.selfUpdate;
118903
+ this.showDomindsSelfUpdateFailureIfNeeded(status.selfUpdate);
118797
118904
  if (workspace !== "") {
118798
118905
  document.documentElement.setAttribute("data-dominds-rtws", workspace);
118799
118906
  try {
@@ -118809,6 +118916,16 @@ ${formatUiLanguageOptionLabel({
118809
118916
  }
118810
118917
  this.updateRtwsInfo();
118811
118918
  }
118919
+ showDomindsSelfUpdateFailureIfNeeded(status) {
118920
+ if (status.reason !== "install_failed" || !status.message) return;
118921
+ const key = `${status.checkedAt ?? ""}:${status.message}`;
118922
+ if (this.domindsSelfUpdateInstallFailureToastKey === key) return;
118923
+ this.domindsSelfUpdateInstallFailureToastKey = key;
118924
+ this.showToast(
118925
+ `${getUiStrings(this.uiLanguage).domindsVersionActionFailedPrefix}${status.message}`,
118926
+ "error"
118927
+ );
118928
+ }
118812
118929
  formatVersionActionPrompt(template, latestVersion) {
118813
118930
  const currentVersion = this.backendVersion !== "" ? this.backendVersion : "unknown";
118814
118931
  const targetVersion = latestVersion ?? currentVersion;
@@ -118825,6 +118942,22 @@ ${formatUiLanguageOptionLabel({
118825
118942
  }
118826
118943
  return checkedAt;
118827
118944
  }
118945
+ formatDomindsVersionNoActionMessage(status) {
118946
+ const t2 = getUiStrings(this.uiLanguage);
118947
+ if (status.reason === "manual_restart_required") {
118948
+ return this.formatVersionCheckResult(t2.domindsVersionCheckManualRestartRequired, status);
118949
+ }
118950
+ if (status.reason === "global_install_target_unsupported") {
118951
+ return this.formatVersionCheckResult(t2.domindsVersionCheckGlobalTargetUnsupported, status);
118952
+ }
118953
+ if (status.reason === "npx_fixed_version_unsupported") {
118954
+ return this.formatVersionCheckResult(t2.domindsVersionCheckNpxFixedUnsupported, status);
118955
+ }
118956
+ if (status.reason === "npx_versionless_unsupported") {
118957
+ return this.formatVersionCheckResult(t2.domindsVersionCheckNpxVersionlessUnsupported, status);
118958
+ }
118959
+ return null;
118960
+ }
118828
118961
  showDomindsVersionCheckResult(status) {
118829
118962
  const t2 = getUiStrings(this.uiLanguage);
118830
118963
  if (status.action === "install") {
@@ -118832,15 +118965,19 @@ ${formatUiLanguageOptionLabel({
118832
118965
  return;
118833
118966
  }
118834
118967
  if (status.action === "restart") {
118835
- this.showSuccess(
118836
- this.formatVersionCheckResult(t2.domindsVersionCheckRestartAvailable, status)
118837
- );
118968
+ const messageTemplate = status.reason === "install_verified_after_command_failure" ? t2.domindsVersionInstallVerifiedAfterCommandFailure : t2.domindsVersionCheckRestartAvailable;
118969
+ this.showSuccess(this.formatVersionCheckResult(messageTemplate, status));
118838
118970
  return;
118839
118971
  }
118840
118972
  if (status.reason === "latest_check_failed" && status.message) {
118841
118973
  this.showToast(`${t2.domindsVersionCheckFailedPrefix}${status.message}`, "warning");
118842
118974
  return;
118843
118975
  }
118976
+ const noActionMessage = this.formatDomindsVersionNoActionMessage(status);
118977
+ if (noActionMessage !== null) {
118978
+ this.showToast(noActionMessage, "info");
118979
+ return;
118980
+ }
118844
118981
  this.showSuccess(this.formatVersionCheckResult(t2.domindsVersionCheckUpToDate, status));
118845
118982
  }
118846
118983
  async handleDomindsVersionAction() {
@@ -118875,7 +119012,12 @@ ${formatUiLanguageOptionLabel({
118875
119012
  return;
118876
119013
  }
118877
119014
  if (status.action === "install" && nextStatus.action === "restart") {
118878
- this.showSuccess(t2.domindsVersionInstallSuccess);
119015
+ this.showSuccess(
119016
+ nextStatus.reason === "install_verified_after_command_failure" ? this.formatVersionCheckResult(
119017
+ t2.domindsVersionInstallVerifiedAfterCommandFailure,
119018
+ nextStatus
119019
+ ) : t2.domindsVersionInstallSuccess
119020
+ );
118879
119021
  return;
118880
119022
  }
118881
119023
  this.showInfo(t2.domindsVersionRestartScheduled);
@@ -118927,6 +119069,56 @@ ${formatUiLanguageOptionLabel({
118927
119069
  window.clearTimeout(this.domindsVersionClickTimer);
118928
119070
  this.domindsVersionClickTimer = null;
118929
119071
  }
119072
+ applyRunControlCountsSnapshot(counts, source) {
119073
+ if (counts.snapshotEpoch !== this.lastRunControlCountsSnapshotEpoch && this.lastRunControlCountsSnapshotEpoch !== null) {
119074
+ console.warn("Ignoring run-control counts snapshot from unexpected server epoch", {
119075
+ source,
119076
+ expectedSnapshotEpoch: this.lastRunControlCountsSnapshotEpoch,
119077
+ actualSnapshotEpoch: counts.snapshotEpoch,
119078
+ snapshotSeq: counts.snapshotSeq
119079
+ });
119080
+ return;
119081
+ }
119082
+ if (counts.snapshotEpoch !== this.lastRunControlCountsSnapshotEpoch) {
119083
+ this.lastRunControlCountsSnapshotEpoch = counts.snapshotEpoch;
119084
+ this.lastRunControlCountsSnapshotSeq = 0;
119085
+ }
119086
+ if (counts.snapshotSeq <= this.lastRunControlCountsSnapshotSeq) {
119087
+ return;
119088
+ }
119089
+ this.lastRunControlCountsSnapshotSeq = counts.snapshotSeq;
119090
+ this.proceedingDialogsCount = counts.proceeding;
119091
+ this.resumableDialogsCount = counts.resumable;
119092
+ this.updateToolbarDisplay();
119093
+ }
119094
+ async refreshRunControlCountsFromApi() {
119095
+ const refreshSeq = ++this.runControlCountsApiRefreshSeq;
119096
+ try {
119097
+ const response = await this.apiClient.getRunControlCounts();
119098
+ if (refreshSeq !== this.runControlCountsApiRefreshSeq) {
119099
+ return;
119100
+ }
119101
+ if (response.success && response.data) {
119102
+ this.applyRunControlCountsSnapshot(response.data, "api");
119103
+ return;
119104
+ }
119105
+ if (response.status === 401) {
119106
+ this.onAuthRejected("api");
119107
+ return;
119108
+ }
119109
+ console.warn("Failed to refresh run-control counts via API", response.error);
119110
+ } catch (error2) {
119111
+ console.warn("Failed to refresh run-control counts via API", error2);
119112
+ }
119113
+ }
119114
+ invalidatePendingRunControlCountsApiRefresh() {
119115
+ this.runControlCountsApiRefreshSeq += 1;
119116
+ }
119117
+ setRunControlCountsSnapshotEpoch(snapshotEpoch) {
119118
+ if (snapshotEpoch === this.lastRunControlCountsSnapshotEpoch) return;
119119
+ this.lastRunControlCountsSnapshotEpoch = snapshotEpoch;
119120
+ this.lastRunControlCountsSnapshotSeq = 0;
119121
+ }
118930
119122
  /**
118931
119123
  * Surgical update: Update only the toolbar display elements.
118932
119124
  * Use this when dialog is loaded or course changes.
@@ -123862,7 +124054,7 @@ ${content}`;
123862
124054
  })();
123863
124055
  for (const delay of delaysMs) {
123864
124056
  const t2 = setTimeout(() => {
123865
- void this.loadDialogs();
124057
+ void this.refreshRunControlCountsFromApi();
123866
124058
  }, delay);
123867
124059
  this.runControlRefreshTimers.push(t2);
123868
124060
  }
@@ -125038,11 +125230,10 @@ ${content}`;
125038
125230
  async loadDialogs() {
125039
125231
  try {
125040
125232
  const api = getApiClient();
125041
- const [runningResp, doneResp, archivedResp, runControlCountsResp] = await Promise.all([
125233
+ const [runningResp, doneResp, archivedResp] = await Promise.all([
125042
125234
  api.getMainDialogsByStatus("running"),
125043
125235
  api.getMainDialogsByStatus("completed"),
125044
- api.getMainDialogsByStatus("archived"),
125045
- api.getRunControlCounts()
125236
+ api.getMainDialogsByStatus("archived")
125046
125237
  ]);
125047
125238
  const responses = [runningResp, doneResp, archivedResp];
125048
125239
  for (const response of responses) {
@@ -125070,13 +125261,7 @@ ${content}`;
125070
125261
  if (root2.status !== "running" || !root2.displayState) continue;
125071
125262
  this.dialogDisplayStatesByKey.set(this.dialogKey(root2.rootId, selfId), root2.displayState);
125072
125263
  }
125073
- if (runControlCountsResp.success && runControlCountsResp.data) {
125074
- this.proceedingDialogsCount = runControlCountsResp.data.proceeding;
125075
- this.resumableDialogsCount = runControlCountsResp.data.resumable;
125076
- this.updateToolbarDisplay();
125077
- } else {
125078
- console.warn("Failed to refresh run-control counts via API", runControlCountsResp.error);
125079
- }
125264
+ void this.refreshRunControlCountsFromApi();
125080
125265
  this.markDialogListBootstrapReady();
125081
125266
  if (this.currentDialog) {
125082
125267
  const effectiveStatus = this.lookupVisibleDialogStatus(this.currentDialog);
@@ -127179,6 +127364,8 @@ ${content}`;
127179
127364
  handleGlobalWebSocketEvent(message) {
127180
127365
  switch (message.type) {
127181
127366
  case "welcome": {
127367
+ this.invalidatePendingRunControlCountsApiRefresh();
127368
+ this.setRunControlCountsSnapshotEpoch(message.runControlCountsSnapshotEpoch);
127182
127369
  this.serverWorkLanguage = message.serverWorkLanguage;
127183
127370
  const dialogContainer = this.shadowRoot?.querySelector("#dialog-container");
127184
127371
  if (dialogContainer instanceof DomindsDialogContainer) {
@@ -127356,9 +127543,7 @@ ${content}`;
127356
127543
  return true;
127357
127544
  }
127358
127545
  case "run_control_counts_evt": {
127359
- this.proceedingDialogsCount = message.proceeding;
127360
- this.resumableDialogsCount = message.resumable;
127361
- this.updateToolbarDisplay();
127546
+ this.applyRunControlCountsSnapshot(message, "ws");
127362
127547
  return true;
127363
127548
  }
127364
127549
  case "run_control_refresh": {
@@ -130520,4 +130705,4 @@ export {
130520
130705
  purify as y,
130521
130706
  clear$2 as z
130522
130707
  };
130523
- //# sourceMappingURL=index-DLTS_eOh.js.map
130708
+ //# sourceMappingURL=index-r4An5YoX.js.map