dominds 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/apps/configuration-file.js +21 -0
- package/dist/apps/enabled-apps.js +3 -53
- package/dist/apps/local-package-root.js +41 -0
- package/dist/apps/runtime.js +10 -0
- package/dist/apps-host/client.js +124 -1
- package/dist/apps-host/host.js +53 -0
- package/dist/apps-host/ipc-types.js +61 -1
- package/dist/cli/install.js +41 -8
- package/dist/docs/app-constitution.md +22 -0
- package/dist/docs/app-constitution.zh.md +22 -0
- package/dist/llm/kernel-driver/runtime.js +112 -22
- package/dist/minds/load.js +20 -2
- package/dist/minds/system-prompt.js +4 -0
- package/dist/priming.js +2 -26
- package/dist/server/websocket-handler.js +5 -0
- package/dist/server.js +5 -2
- package/dist/shared/markdown-frontmatter.js +44 -0
- package/dist/shared/team_mgmt-manual.js +9 -0
- package/dist/skills/load.js +281 -0
- package/dist/static/assets/{_basePickBy-B-A5XrWM.js → _basePickBy-CFicLWwx.js} +3 -3
- package/dist/static/assets/{_basePickBy-B-A5XrWM.js.map → _basePickBy-CFicLWwx.js.map} +1 -1
- package/dist/static/assets/{_baseUniq-BANLb0cu.js → _baseUniq-DQTl8GFk.js} +2 -2
- package/dist/static/assets/{_baseUniq-BANLb0cu.js.map → _baseUniq-DQTl8GFk.js.map} +1 -1
- package/dist/static/assets/{arc-CYZYnojf.js → arc-Bc5lgJ6S.js} +2 -2
- package/dist/static/assets/{arc-CYZYnojf.js.map → arc-Bc5lgJ6S.js.map} +1 -1
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-Cxf4pmYG.js → architectureDiagram-VXUJARFQ-DygUo6iw.js} +7 -7
- package/dist/static/assets/{architectureDiagram-VXUJARFQ-Cxf4pmYG.js.map → architectureDiagram-VXUJARFQ-DygUo6iw.js.map} +1 -1
- package/dist/static/assets/{blockDiagram-VD42YOAC-wvs0G30c.js → blockDiagram-VD42YOAC-0r3VY3gz.js} +7 -7
- package/dist/static/assets/{blockDiagram-VD42YOAC-wvs0G30c.js.map → blockDiagram-VD42YOAC-0r3VY3gz.js.map} +1 -1
- package/dist/static/assets/{c4Diagram-YG6GDRKO-BKFNexn4.js → c4Diagram-YG6GDRKO-pQD_vC1A.js} +3 -3
- package/dist/static/assets/{c4Diagram-YG6GDRKO-BKFNexn4.js.map → c4Diagram-YG6GDRKO-pQD_vC1A.js.map} +1 -1
- package/dist/static/assets/{channel-_1qpxJWy.js → channel-CHWYhNRt.js} +2 -2
- package/dist/static/assets/{channel-_1qpxJWy.js.map → channel-CHWYhNRt.js.map} +1 -1
- package/dist/static/assets/{chunk-4BX2VUAB-BIdC0phm.js → chunk-4BX2VUAB-K89xP4ET.js} +2 -2
- package/dist/static/assets/{chunk-4BX2VUAB-BIdC0phm.js.map → chunk-4BX2VUAB-K89xP4ET.js.map} +1 -1
- package/dist/static/assets/{chunk-55IACEB6-BNvGenQ9.js → chunk-55IACEB6-DHAy4AJ-.js} +2 -2
- package/dist/static/assets/{chunk-55IACEB6-BNvGenQ9.js.map → chunk-55IACEB6-DHAy4AJ-.js.map} +1 -1
- package/dist/static/assets/{chunk-B4BG7PRW-jmf-1Wv7.js → chunk-B4BG7PRW-BrImUg93.js} +5 -5
- package/dist/static/assets/{chunk-B4BG7PRW-jmf-1Wv7.js.map → chunk-B4BG7PRW-BrImUg93.js.map} +1 -1
- package/dist/static/assets/{chunk-DI55MBZ5-nmEmcikR.js → chunk-DI55MBZ5-_jVBMKQY.js} +4 -4
- package/dist/static/assets/{chunk-DI55MBZ5-nmEmcikR.js.map → chunk-DI55MBZ5-_jVBMKQY.js.map} +1 -1
- package/dist/static/assets/{chunk-FMBD7UC4-kGysaq_j.js → chunk-FMBD7UC4-BmGs24Z_.js} +2 -2
- package/dist/static/assets/{chunk-FMBD7UC4-kGysaq_j.js.map → chunk-FMBD7UC4-BmGs24Z_.js.map} +1 -1
- package/dist/static/assets/{chunk-QN33PNHL-8JwMLFIJ.js → chunk-QN33PNHL-Bu8ZzYdl.js} +2 -2
- package/dist/static/assets/{chunk-QN33PNHL-8JwMLFIJ.js.map → chunk-QN33PNHL-Bu8ZzYdl.js.map} +1 -1
- package/dist/static/assets/{chunk-QZHKN3VN-DZleEj00.js → chunk-QZHKN3VN-D4fM_-kX.js} +2 -2
- package/dist/static/assets/{chunk-QZHKN3VN-DZleEj00.js.map → chunk-QZHKN3VN-D4fM_-kX.js.map} +1 -1
- package/dist/static/assets/{chunk-TZMSLE5B-CXxl_uqH.js → chunk-TZMSLE5B-xK6Lo8h6.js} +2 -2
- package/dist/static/assets/{chunk-TZMSLE5B-CXxl_uqH.js.map → chunk-TZMSLE5B-xK6Lo8h6.js.map} +1 -1
- package/dist/static/assets/{classDiagram-2ON5EDUG-C-7R0QB6.js → classDiagram-2ON5EDUG-Bn36uVsZ.js} +6 -6
- package/dist/static/assets/{classDiagram-2ON5EDUG-C-7R0QB6.js.map → classDiagram-2ON5EDUG-Bn36uVsZ.js.map} +1 -1
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-C-7R0QB6.js → classDiagram-v2-WZHVMYZB-Bn36uVsZ.js} +6 -6
- package/dist/static/assets/{classDiagram-v2-WZHVMYZB-C-7R0QB6.js.map → classDiagram-v2-WZHVMYZB-Bn36uVsZ.js.map} +1 -1
- package/dist/static/assets/{clone-BwOKYSj8.js → clone-BUW9sxY1.js} +2 -2
- package/dist/static/assets/{clone-BwOKYSj8.js.map → clone-BUW9sxY1.js.map} +1 -1
- package/dist/static/assets/{cose-bilkent-S5V4N54A-BCBalM7p.js → cose-bilkent-S5V4N54A-BMTYUmA4.js} +2 -2
- package/dist/static/assets/{cose-bilkent-S5V4N54A-BCBalM7p.js.map → cose-bilkent-S5V4N54A-BMTYUmA4.js.map} +1 -1
- package/dist/static/assets/{dagre-6UL2VRFP-uV2ekQoj.js → dagre-6UL2VRFP-p-0HOF0Q.js} +7 -7
- package/dist/static/assets/{dagre-6UL2VRFP-uV2ekQoj.js.map → dagre-6UL2VRFP-p-0HOF0Q.js.map} +1 -1
- package/dist/static/assets/{diagram-PSM6KHXK-D-ZMog1-.js → diagram-PSM6KHXK-CfpXvSJR.js} +8 -8
- package/dist/static/assets/{diagram-PSM6KHXK-D-ZMog1-.js.map → diagram-PSM6KHXK-CfpXvSJR.js.map} +1 -1
- package/dist/static/assets/{diagram-QEK2KX5R-BThSELUH.js → diagram-QEK2KX5R-3T4XwT5a.js} +7 -7
- package/dist/static/assets/{diagram-QEK2KX5R-BThSELUH.js.map → diagram-QEK2KX5R-3T4XwT5a.js.map} +1 -1
- package/dist/static/assets/{diagram-S2PKOQOG-Di-YN5cd.js → diagram-S2PKOQOG-CPHGTwGV.js} +7 -7
- package/dist/static/assets/{diagram-S2PKOQOG-Di-YN5cd.js.map → diagram-S2PKOQOG-CPHGTwGV.js.map} +1 -1
- package/dist/static/assets/{erDiagram-Q2GNP2WA-lBZ9DITn.js → erDiagram-Q2GNP2WA-Bj7OGj2H.js} +5 -5
- package/dist/static/assets/{erDiagram-Q2GNP2WA-lBZ9DITn.js.map → erDiagram-Q2GNP2WA-Bj7OGj2H.js.map} +1 -1
- package/dist/static/assets/{flowDiagram-NV44I4VS-C_60PNQR.js → flowDiagram-NV44I4VS-DOGilHpN.js} +6 -6
- package/dist/static/assets/{flowDiagram-NV44I4VS-C_60PNQR.js.map → flowDiagram-NV44I4VS-DOGilHpN.js.map} +1 -1
- package/dist/static/assets/{ganttDiagram-JELNMOA3-Dvqq-VHJ.js → ganttDiagram-JELNMOA3-585cSoqi.js} +3 -3
- package/dist/static/assets/{ganttDiagram-JELNMOA3-Dvqq-VHJ.js.map → ganttDiagram-JELNMOA3-585cSoqi.js.map} +1 -1
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-BTj8orRe.js → gitGraphDiagram-V2S2FVAM-gmTvHjpH.js} +8 -8
- package/dist/static/assets/{gitGraphDiagram-V2S2FVAM-BTj8orRe.js.map → gitGraphDiagram-V2S2FVAM-gmTvHjpH.js.map} +1 -1
- package/dist/static/assets/{graph-BqCzR2Nl.js → graph-Dtj8yklH.js} +3 -3
- package/dist/static/assets/{graph-BqCzR2Nl.js.map → graph-Dtj8yklH.js.map} +1 -1
- package/dist/static/assets/{index-DrTqAfFy.js → index-BvNwR1gS.js} +442 -246
- package/dist/static/assets/index-BvNwR1gS.js.map +1 -0
- package/dist/static/assets/{infoDiagram-HS3SLOUP-DlC6wsrv.js → infoDiagram-HS3SLOUP-BVq8aa78.js} +6 -6
- package/dist/static/assets/{infoDiagram-HS3SLOUP-DlC6wsrv.js.map → infoDiagram-HS3SLOUP-BVq8aa78.js.map} +1 -1
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-Dg_RgtQX.js → journeyDiagram-XKPGCS4Q-BY5Lcmin.js} +5 -5
- package/dist/static/assets/{journeyDiagram-XKPGCS4Q-Dg_RgtQX.js.map → journeyDiagram-XKPGCS4Q-BY5Lcmin.js.map} +1 -1
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-DuGS3lId.js → kanban-definition-3W4ZIXB7-zEbpyocs.js} +3 -3
- package/dist/static/assets/{kanban-definition-3W4ZIXB7-DuGS3lId.js.map → kanban-definition-3W4ZIXB7-zEbpyocs.js.map} +1 -1
- package/dist/static/assets/{layout-FDz2bstZ.js → layout-Bst5DR3z.js} +5 -5
- package/dist/static/assets/{layout-FDz2bstZ.js.map → layout-Bst5DR3z.js.map} +1 -1
- package/dist/static/assets/{linear-CzsdvPGb.js → linear-TSyBw4eX.js} +2 -2
- package/dist/static/assets/{linear-CzsdvPGb.js.map → linear-TSyBw4eX.js.map} +1 -1
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-WsAF5UNp.js → mindmap-definition-VGOIOE7T-I6ArhFTa.js} +4 -4
- package/dist/static/assets/{mindmap-definition-VGOIOE7T-WsAF5UNp.js.map → mindmap-definition-VGOIOE7T-I6ArhFTa.js.map} +1 -1
- package/dist/static/assets/{pieDiagram-ADFJNKIX-DJpRJ5ei.js → pieDiagram-ADFJNKIX-DdaOCLgH.js} +8 -8
- package/dist/static/assets/{pieDiagram-ADFJNKIX-DJpRJ5ei.js.map → pieDiagram-ADFJNKIX-DdaOCLgH.js.map} +1 -1
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-CMyIzTkY.js → quadrantDiagram-AYHSOK5B-Bp82x7cE.js} +3 -3
- package/dist/static/assets/{quadrantDiagram-AYHSOK5B-CMyIzTkY.js.map → quadrantDiagram-AYHSOK5B-Bp82x7cE.js.map} +1 -1
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-D_yqVXGu.js → requirementDiagram-UZGBJVZJ-eSQPrL7r.js} +4 -4
- package/dist/static/assets/{requirementDiagram-UZGBJVZJ-D_yqVXGu.js.map → requirementDiagram-UZGBJVZJ-eSQPrL7r.js.map} +1 -1
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-D4-cF724.js → sankeyDiagram-TZEHDZUN-DbMClHuR.js} +2 -2
- package/dist/static/assets/{sankeyDiagram-TZEHDZUN-D4-cF724.js.map → sankeyDiagram-TZEHDZUN-DbMClHuR.js.map} +1 -1
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-B7J3gWYN.js → sequenceDiagram-WL72ISMW-CxQHJ2QR.js} +4 -4
- package/dist/static/assets/{sequenceDiagram-WL72ISMW-B7J3gWYN.js.map → sequenceDiagram-WL72ISMW-CxQHJ2QR.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-DwEYYCcu.js → stateDiagram-FKZM4ZOC-BrJWwcfT.js} +9 -9
- package/dist/static/assets/{stateDiagram-FKZM4ZOC-DwEYYCcu.js.map → stateDiagram-FKZM4ZOC-BrJWwcfT.js.map} +1 -1
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-D4LOOQV5.js → stateDiagram-v2-4FDKWEC3-AOoa1rfD.js} +5 -5
- package/dist/static/assets/{stateDiagram-v2-4FDKWEC3-D4LOOQV5.js.map → stateDiagram-v2-4FDKWEC3-AOoa1rfD.js.map} +1 -1
- package/dist/static/assets/{timeline-definition-IT6M3QCI-CyG-TJ_A.js → timeline-definition-IT6M3QCI-CGDQb8vq.js} +3 -3
- package/dist/static/assets/{timeline-definition-IT6M3QCI-CyG-TJ_A.js.map → timeline-definition-IT6M3QCI-CGDQb8vq.js.map} +1 -1
- package/dist/static/assets/{treemap-GDKQZRPO-yY4GiKmU.js → treemap-GDKQZRPO-DUkGxSl_.js} +5 -5
- package/dist/static/assets/{treemap-GDKQZRPO-yY4GiKmU.js.map → treemap-GDKQZRPO-DUkGxSl_.js.map} +1 -1
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-5TYN_q15.js → xychartDiagram-PRI3JC2R-DhC3pydn.js} +3 -3
- package/dist/static/assets/{xychartDiagram-PRI3JC2R-5TYN_q15.js.map → xychartDiagram-PRI3JC2R-DhC3pydn.js.map} +1 -1
- package/dist/static/index.html +1 -1
- package/dist/team-config-updates.js +26 -0
- package/dist/team.js +23 -5
- package/dist/tools/team_mgmt.js +137 -0
- package/dist/tools/toolset-manual.js +12 -3
- package/package.json +1 -1
- package/dist/static/assets/index-DrTqAfFy.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-6UL2VRFP-p-0HOF0Q.js","assets/graph-Dtj8yklH.js","assets/_baseUniq-DQTl8GFk.js","assets/layout-Bst5DR3z.js","assets/_basePickBy-CFicLWwx.js","assets/clone-BUW9sxY1.js","assets/cose-bilkent-S5V4N54A-BMTYUmA4.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-YG6GDRKO-pQD_vC1A.js","assets/chunk-TZMSLE5B-xK6Lo8h6.js","assets/flowDiagram-NV44I4VS-DOGilHpN.js","assets/chunk-FMBD7UC4-BmGs24Z_.js","assets/chunk-55IACEB6-DHAy4AJ-.js","assets/chunk-QN33PNHL-Bu8ZzYdl.js","assets/channel-CHWYhNRt.js","assets/erDiagram-Q2GNP2WA-Bj7OGj2H.js","assets/gitGraphDiagram-V2S2FVAM-gmTvHjpH.js","assets/chunk-4BX2VUAB-K89xP4ET.js","assets/chunk-QZHKN3VN-D4fM_-kX.js","assets/treemap-GDKQZRPO-DUkGxSl_.js","assets/ganttDiagram-JELNMOA3-585cSoqi.js","assets/linear-TSyBw4eX.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-HS3SLOUP-BVq8aa78.js","assets/pieDiagram-ADFJNKIX-DdaOCLgH.js","assets/arc-Bc5lgJ6S.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-AYHSOK5B-Bp82x7cE.js","assets/xychartDiagram-PRI3JC2R-DhC3pydn.js","assets/requirementDiagram-UZGBJVZJ-eSQPrL7r.js","assets/sequenceDiagram-WL72ISMW-CxQHJ2QR.js","assets/classDiagram-2ON5EDUG-Bn36uVsZ.js","assets/chunk-B4BG7PRW-BrImUg93.js","assets/classDiagram-v2-WZHVMYZB-Bn36uVsZ.js","assets/stateDiagram-FKZM4ZOC-BrJWwcfT.js","assets/chunk-DI55MBZ5-_jVBMKQY.js","assets/stateDiagram-v2-4FDKWEC3-AOoa1rfD.js","assets/journeyDiagram-XKPGCS4Q-BY5Lcmin.js","assets/timeline-definition-IT6M3QCI-CGDQb8vq.js","assets/mindmap-definition-VGOIOE7T-I6ArhFTa.js","assets/kanban-definition-3W4ZIXB7-zEbpyocs.js","assets/sankeyDiagram-TZEHDZUN-DbMClHuR.js","assets/diagram-S2PKOQOG-CPHGTwGV.js","assets/diagram-QEK2KX5R-3T4XwT5a.js","assets/blockDiagram-VD42YOAC-0r3VY3gz.js","assets/architectureDiagram-VXUJARFQ-DygUo6iw.js","assets/diagram-PSM6KHXK-CfpXvSJR.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);
|
|
@@ -257,6 +257,13 @@ function getUiStrings(language) {
|
|
|
257
257
|
emergencyStop: "紧急停止",
|
|
258
258
|
resumeAll: "全部继续",
|
|
259
259
|
continueLabel: "继续",
|
|
260
|
+
retryPanelTitleRetrying: "正在重试",
|
|
261
|
+
retryPanelAttemptPrefix: "已重试 ",
|
|
262
|
+
retryPanelAttemptConnector: " / ",
|
|
263
|
+
retryPanelAttemptSuffix: " 次",
|
|
264
|
+
retryPanelCountdownPrefix: "下次重试倒计时 ",
|
|
265
|
+
retryPanelRunningAttemptPrefix: "正在进行第 ",
|
|
266
|
+
retryPanelRunningAttemptSuffix: " 次重试…",
|
|
260
267
|
stoppedByYou: "已由你停止",
|
|
261
268
|
stoppedByEmergencyStop: "已被紧急停止终止",
|
|
262
269
|
interruptedByServerRestart: "因服务器重启而中断",
|
|
@@ -579,6 +586,13 @@ function getUiStrings(language) {
|
|
|
579
586
|
emergencyStop: "Emergency stop",
|
|
580
587
|
resumeAll: "Resume all",
|
|
581
588
|
continueLabel: "Continue",
|
|
589
|
+
retryPanelTitleRetrying: "Retrying",
|
|
590
|
+
retryPanelAttemptPrefix: "Attempt ",
|
|
591
|
+
retryPanelAttemptConnector: " / ",
|
|
592
|
+
retryPanelAttemptSuffix: "",
|
|
593
|
+
retryPanelCountdownPrefix: "Next retry in ",
|
|
594
|
+
retryPanelRunningAttemptPrefix: "Running retry attempt ",
|
|
595
|
+
retryPanelRunningAttemptSuffix: "...",
|
|
582
596
|
stoppedByYou: "Stopped by you",
|
|
583
597
|
stoppedByEmergencyStop: "Stopped by emergency stop",
|
|
584
598
|
interruptedByServerRestart: "Interrupted by server restart",
|
|
@@ -97268,12 +97282,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
97268
97282
|
registerLayoutLoaders([
|
|
97269
97283
|
{
|
|
97270
97284
|
name: "dagre",
|
|
97271
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-
|
|
97285
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-6UL2VRFP-p-0HOF0Q.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
|
|
97272
97286
|
},
|
|
97273
97287
|
...[
|
|
97274
97288
|
{
|
|
97275
97289
|
name: "cose-bilkent",
|
|
97276
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-
|
|
97290
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-BMTYUmA4.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
|
|
97277
97291
|
}
|
|
97278
97292
|
]
|
|
97279
97293
|
]);
|
|
@@ -97713,7 +97727,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
97713
97727
|
}, "detector");
|
|
97714
97728
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
97715
97729
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97716
|
-
const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-
|
|
97730
|
+
const { diagram: diagram22 } = await import("./c4Diagram-YG6GDRKO-pQD_vC1A.js");
|
|
97717
97731
|
return { diagram: diagram22 };
|
|
97718
97732
|
}, true ? __vite__mapDeps([8,9]) : void 0);
|
|
97719
97733
|
return { id, diagram: diagram2 };
|
|
@@ -97733,7 +97747,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97733
97747
|
}, "detector");
|
|
97734
97748
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
97735
97749
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97736
|
-
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-
|
|
97750
|
+
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-DOGilHpN.js");
|
|
97737
97751
|
return { diagram: diagram22 };
|
|
97738
97752
|
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
97739
97753
|
return { id: id2, diagram: diagram2 };
|
|
@@ -97759,7 +97773,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97759
97773
|
}, "detector");
|
|
97760
97774
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
97761
97775
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97762
|
-
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-
|
|
97776
|
+
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-DOGilHpN.js");
|
|
97763
97777
|
return { diagram: diagram22 };
|
|
97764
97778
|
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
97765
97779
|
return { id: id3, diagram: diagram2 };
|
|
@@ -97776,7 +97790,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
97776
97790
|
}, "detector");
|
|
97777
97791
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
97778
97792
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97779
|
-
const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-
|
|
97793
|
+
const { diagram: diagram22 } = await import("./erDiagram-Q2GNP2WA-Bj7OGj2H.js");
|
|
97780
97794
|
return { diagram: diagram22 };
|
|
97781
97795
|
}, true ? __vite__mapDeps([15,12,13,14]) : void 0);
|
|
97782
97796
|
return { id: id4, diagram: diagram2 };
|
|
@@ -97793,7 +97807,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
97793
97807
|
}, "detector");
|
|
97794
97808
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
97795
97809
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97796
|
-
const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-
|
|
97810
|
+
const { diagram: diagram22 } = await import("./gitGraphDiagram-V2S2FVAM-gmTvHjpH.js");
|
|
97797
97811
|
return { diagram: diagram22 };
|
|
97798
97812
|
}, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
|
|
97799
97813
|
return { id: id5, diagram: diagram2 };
|
|
@@ -97810,7 +97824,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
97810
97824
|
}, "detector");
|
|
97811
97825
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
97812
97826
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97813
|
-
const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-
|
|
97827
|
+
const { diagram: diagram22 } = await import("./ganttDiagram-JELNMOA3-585cSoqi.js");
|
|
97814
97828
|
return { diagram: diagram22 };
|
|
97815
97829
|
}, true ? __vite__mapDeps([20,21,22,23]) : void 0);
|
|
97816
97830
|
return { id: id6, diagram: diagram2 };
|
|
@@ -97827,7 +97841,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
97827
97841
|
}, "detector");
|
|
97828
97842
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
97829
97843
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97830
|
-
const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-
|
|
97844
|
+
const { diagram: diagram22 } = await import("./infoDiagram-HS3SLOUP-BVq8aa78.js");
|
|
97831
97845
|
return { diagram: diagram22 };
|
|
97832
97846
|
}, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
|
|
97833
97847
|
return { id: id7, diagram: diagram2 };
|
|
@@ -97843,7 +97857,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
97843
97857
|
}, "detector");
|
|
97844
97858
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
97845
97859
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97846
|
-
const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-
|
|
97860
|
+
const { diagram: diagram22 } = await import("./pieDiagram-ADFJNKIX-DdaOCLgH.js");
|
|
97847
97861
|
return { diagram: diagram22 };
|
|
97848
97862
|
}, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
|
|
97849
97863
|
return { id: id8, diagram: diagram2 };
|
|
@@ -97859,7 +97873,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
97859
97873
|
}, "detector");
|
|
97860
97874
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
97861
97875
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97862
|
-
const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-
|
|
97876
|
+
const { diagram: diagram22 } = await import("./quadrantDiagram-AYHSOK5B-Bp82x7cE.js");
|
|
97863
97877
|
return { diagram: diagram22 };
|
|
97864
97878
|
}, true ? __vite__mapDeps([28,21,22,23]) : void 0);
|
|
97865
97879
|
return { id: id9, diagram: diagram2 };
|
|
@@ -97876,7 +97890,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
97876
97890
|
}, "detector");
|
|
97877
97891
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
97878
97892
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97879
|
-
const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-
|
|
97893
|
+
const { diagram: diagram22 } = await import("./xychartDiagram-PRI3JC2R-DhC3pydn.js");
|
|
97880
97894
|
return { diagram: diagram22 };
|
|
97881
97895
|
}, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
|
|
97882
97896
|
return { id: id10, diagram: diagram2 };
|
|
@@ -97893,7 +97907,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
97893
97907
|
}, "detector");
|
|
97894
97908
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
97895
97909
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97896
|
-
const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-
|
|
97910
|
+
const { diagram: diagram22 } = await import("./requirementDiagram-UZGBJVZJ-eSQPrL7r.js");
|
|
97897
97911
|
return { diagram: diagram22 };
|
|
97898
97912
|
}, true ? __vite__mapDeps([30,12,13]) : void 0);
|
|
97899
97913
|
return { id: id11, diagram: diagram2 };
|
|
@@ -97910,7 +97924,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
97910
97924
|
}, "detector");
|
|
97911
97925
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
97912
97926
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97913
|
-
const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-
|
|
97927
|
+
const { diagram: diagram22 } = await import("./sequenceDiagram-WL72ISMW-CxQHJ2QR.js");
|
|
97914
97928
|
return { diagram: diagram22 };
|
|
97915
97929
|
}, true ? __vite__mapDeps([31,9,18]) : void 0);
|
|
97916
97930
|
return { id: id12, diagram: diagram2 };
|
|
@@ -97930,7 +97944,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97930
97944
|
}, "detector");
|
|
97931
97945
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
97932
97946
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97933
|
-
const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-
|
|
97947
|
+
const { diagram: diagram22 } = await import("./classDiagram-2ON5EDUG-Bn36uVsZ.js");
|
|
97934
97948
|
return { diagram: diagram22 };
|
|
97935
97949
|
}, true ? __vite__mapDeps([32,33,11,12,13]) : void 0);
|
|
97936
97950
|
return { id: id13, diagram: diagram2 };
|
|
@@ -97950,7 +97964,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97950
97964
|
}, "detector");
|
|
97951
97965
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
97952
97966
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97953
|
-
const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-
|
|
97967
|
+
const { diagram: diagram22 } = await import("./classDiagram-v2-WZHVMYZB-Bn36uVsZ.js");
|
|
97954
97968
|
return { diagram: diagram22 };
|
|
97955
97969
|
}, true ? __vite__mapDeps([34,33,11,12,13]) : void 0);
|
|
97956
97970
|
return { id: id14, diagram: diagram2 };
|
|
@@ -97970,7 +97984,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97970
97984
|
}, "detector");
|
|
97971
97985
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
97972
97986
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97973
|
-
const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-
|
|
97987
|
+
const { diagram: diagram22 } = await import("./stateDiagram-FKZM4ZOC-BrJWwcfT.js");
|
|
97974
97988
|
return { diagram: diagram22 };
|
|
97975
97989
|
}, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
|
|
97976
97990
|
return { id: id15, diagram: diagram2 };
|
|
@@ -97993,7 +98007,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
97993
98007
|
}, "detector");
|
|
97994
98008
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
97995
98009
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
97996
|
-
const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-
|
|
98010
|
+
const { diagram: diagram22 } = await import("./stateDiagram-v2-4FDKWEC3-AOoa1rfD.js");
|
|
97997
98011
|
return { diagram: diagram22 };
|
|
97998
98012
|
}, true ? __vite__mapDeps([37,36,12,13]) : void 0);
|
|
97999
98013
|
return { id: id16, diagram: diagram2 };
|
|
@@ -98010,7 +98024,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
98010
98024
|
}, "detector");
|
|
98011
98025
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
98012
98026
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98013
|
-
const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-
|
|
98027
|
+
const { diagram: diagram22 } = await import("./journeyDiagram-XKPGCS4Q-BY5Lcmin.js");
|
|
98014
98028
|
return { diagram: diagram22 };
|
|
98015
98029
|
}, true ? __vite__mapDeps([38,9,11,26]) : void 0);
|
|
98016
98030
|
return { id: id17, diagram: diagram2 };
|
|
@@ -98080,7 +98094,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
98080
98094
|
}, "detector");
|
|
98081
98095
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
98082
98096
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98083
|
-
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-
|
|
98097
|
+
const { diagram: diagram22 } = await import("./flowDiagram-NV44I4VS-DOGilHpN.js");
|
|
98084
98098
|
return { diagram: diagram22 };
|
|
98085
98099
|
}, true ? __vite__mapDeps([10,11,12,13,14]) : void 0);
|
|
98086
98100
|
return { id: id18, diagram: diagram2 };
|
|
@@ -98097,7 +98111,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
98097
98111
|
}, "detector");
|
|
98098
98112
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
98099
98113
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98100
|
-
const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-
|
|
98114
|
+
const { diagram: diagram22 } = await import("./timeline-definition-IT6M3QCI-CGDQb8vq.js");
|
|
98101
98115
|
return { diagram: diagram22 };
|
|
98102
98116
|
}, true ? __vite__mapDeps([39,26]) : void 0);
|
|
98103
98117
|
return { id: id19, diagram: diagram2 };
|
|
@@ -98114,7 +98128,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
98114
98128
|
}, "detector");
|
|
98115
98129
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
98116
98130
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98117
|
-
const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-
|
|
98131
|
+
const { diagram: diagram22 } = await import("./mindmap-definition-VGOIOE7T-I6ArhFTa.js");
|
|
98118
98132
|
return { diagram: diagram22 };
|
|
98119
98133
|
}, true ? __vite__mapDeps([40,12,13]) : void 0);
|
|
98120
98134
|
return { id: id20, diagram: diagram2 };
|
|
@@ -98131,7 +98145,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
98131
98145
|
}, "detector");
|
|
98132
98146
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
98133
98147
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98134
|
-
const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-
|
|
98148
|
+
const { diagram: diagram22 } = await import("./kanban-definition-3W4ZIXB7-zEbpyocs.js");
|
|
98135
98149
|
return { diagram: diagram22 };
|
|
98136
98150
|
}, true ? __vite__mapDeps([41,11]) : void 0);
|
|
98137
98151
|
return { id: id21, diagram: diagram2 };
|
|
@@ -98148,7 +98162,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
98148
98162
|
}, "detector");
|
|
98149
98163
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
98150
98164
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98151
|
-
const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-
|
|
98165
|
+
const { diagram: diagram22 } = await import("./sankeyDiagram-TZEHDZUN-DbMClHuR.js");
|
|
98152
98166
|
return { diagram: diagram22 };
|
|
98153
98167
|
}, true ? __vite__mapDeps([42,27,22]) : void 0);
|
|
98154
98168
|
return { id: id22, diagram: diagram2 };
|
|
@@ -98165,7 +98179,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
98165
98179
|
}, "detector");
|
|
98166
98180
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
98167
98181
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98168
|
-
const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-
|
|
98182
|
+
const { diagram: diagram22 } = await import("./diagram-S2PKOQOG-CPHGTwGV.js");
|
|
98169
98183
|
return { diagram: diagram22 };
|
|
98170
98184
|
}, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
|
|
98171
98185
|
return { id: id23, diagram: diagram2 };
|
|
@@ -98181,7 +98195,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
98181
98195
|
}, "detector");
|
|
98182
98196
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
98183
98197
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98184
|
-
const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-
|
|
98198
|
+
const { diagram: diagram22 } = await import("./diagram-QEK2KX5R-3T4XwT5a.js");
|
|
98185
98199
|
return { diagram: diagram22 };
|
|
98186
98200
|
}, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
|
|
98187
98201
|
return { id: id24, diagram: diagram2 };
|
|
@@ -98197,7 +98211,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
98197
98211
|
}, "detector");
|
|
98198
98212
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
98199
98213
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98200
|
-
const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-
|
|
98214
|
+
const { diagram: diagram22 } = await import("./blockDiagram-VD42YOAC-0r3VY3gz.js");
|
|
98201
98215
|
return { diagram: diagram22 };
|
|
98202
98216
|
}, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
|
|
98203
98217
|
return { id: id25, diagram: diagram2 };
|
|
@@ -98214,7 +98228,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
98214
98228
|
}, "detector");
|
|
98215
98229
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
98216
98230
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98217
|
-
const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-
|
|
98231
|
+
const { diagram: diagram22 } = await import("./architectureDiagram-VXUJARFQ-DygUo6iw.js");
|
|
98218
98232
|
return { diagram: diagram22 };
|
|
98219
98233
|
}, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
|
|
98220
98234
|
return { id: id26, diagram: diagram2 };
|
|
@@ -98231,7 +98245,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
98231
98245
|
}, "detector");
|
|
98232
98246
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
98233
98247
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98234
|
-
const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-
|
|
98248
|
+
const { diagram: diagram22 } = await import("./diagram-PSM6KHXK-CfpXvSJR.js");
|
|
98235
98249
|
return { diagram: diagram22 };
|
|
98236
98250
|
}, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
|
|
98237
98251
|
return { id: id27, diagram: diagram2 };
|
|
@@ -99542,6 +99556,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99542
99556
|
this.queuedUserBubbleByMsgId = /* @__PURE__ */ new Map();
|
|
99543
99557
|
this.pendingTeammateCallAnchorByGenseq = /* @__PURE__ */ new Map();
|
|
99544
99558
|
this.progressiveExpandObserverByTarget = /* @__PURE__ */ new WeakMap();
|
|
99559
|
+
this.retryPanelState = { kind: "hidden" };
|
|
99545
99560
|
this.pendingScrollRequest = null;
|
|
99546
99561
|
this.highlightSeq = 0;
|
|
99547
99562
|
this.pendingHighlight = null;
|
|
@@ -99679,7 +99694,6 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
99679
99694
|
if (name !== "ui-language") return;
|
|
99680
99695
|
const parsed = normalizeLanguageCode(newValue || "");
|
|
99681
99696
|
this.uiLanguage = parsed ?? "en";
|
|
99682
|
-
this.updateResumePanel();
|
|
99683
99697
|
}
|
|
99684
99698
|
async connectedCallback() {
|
|
99685
99699
|
const parsed = normalizeLanguageCode(this.getAttribute("ui-language") || "");
|
|
@@ -100114,6 +100128,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100114
100128
|
this.clearGenerationGlow();
|
|
100115
100129
|
this.stopAutoScrollObservation();
|
|
100116
100130
|
this.stopAutoScrollWheelSettleTimer();
|
|
100131
|
+
this.clearRetryPanel();
|
|
100117
100132
|
this.generationBubble = void 0;
|
|
100118
100133
|
this.thinkingSection = void 0;
|
|
100119
100134
|
this.markdownSection = void 0;
|
|
@@ -100137,6 +100152,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100137
100152
|
this.clearGenerationGlow();
|
|
100138
100153
|
this.stopAutoScrollObservation();
|
|
100139
100154
|
this.stopAutoScrollWheelSettleTimer();
|
|
100155
|
+
this.clearRetryPanel();
|
|
100140
100156
|
this.previousDialog = void 0;
|
|
100141
100157
|
this.runState = null;
|
|
100142
100158
|
this.generationBubble = void 0;
|
|
@@ -100232,7 +100248,9 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100232
100248
|
break;
|
|
100233
100249
|
}
|
|
100234
100250
|
this.runState = event.runState;
|
|
100235
|
-
|
|
100251
|
+
if (event.runState.kind === "interrupted" || event.runState.kind === "dead") {
|
|
100252
|
+
this.clearRetryPanel();
|
|
100253
|
+
}
|
|
100236
100254
|
break;
|
|
100237
100255
|
case "dlg_run_state_marker_evt": {
|
|
100238
100256
|
if (!this.currentDialog || event.dialog.selfId !== this.currentDialog.selfId || event.dialog.rootId !== this.currentDialog.rootId) {
|
|
@@ -100243,10 +100261,10 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100243
100261
|
kind: "interrupted",
|
|
100244
100262
|
reason: event.reason ?? { kind: "system_stop", detail: "Interrupted." }
|
|
100245
100263
|
};
|
|
100264
|
+
this.clearRetryPanel();
|
|
100246
100265
|
} else if (this.runState !== null && this.runState.kind === "interrupted") {
|
|
100247
100266
|
this.runState = { kind: "proceeding" };
|
|
100248
100267
|
}
|
|
100249
|
-
this.updateResumePanel();
|
|
100250
100268
|
let reasonText;
|
|
100251
100269
|
const reason = event.reason;
|
|
100252
100270
|
if (reason) {
|
|
@@ -100414,6 +100432,9 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100414
100432
|
}
|
|
100415
100433
|
// === GENERATING EVENTS (Frontend Bubble Management) ===
|
|
100416
100434
|
handleGeneratingStart(seq2, timestamp2, msgId) {
|
|
100435
|
+
if (this.retryPanelState.kind !== "hidden" && this.retryPanelState.genseq !== seq2) {
|
|
100436
|
+
this.clearRetryPanel();
|
|
100437
|
+
}
|
|
100417
100438
|
const applyPendingCallAnchor = (bubble2) => {
|
|
100418
100439
|
const pendingAnchor = this.pendingTeammateCallAnchorByGenseq.get(seq2);
|
|
100419
100440
|
if (!pendingAnchor) return;
|
|
@@ -100664,6 +100685,9 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100664
100685
|
bubble.classList.remove("generating");
|
|
100665
100686
|
bubble.classList.add("completed");
|
|
100666
100687
|
bubble.setAttribute("data-finalized", "true");
|
|
100688
|
+
if (this.retryPanelState.kind !== "hidden" && this.retryPanelState.genseq === seq2) {
|
|
100689
|
+
this.clearRetryPanel();
|
|
100690
|
+
}
|
|
100667
100691
|
this.thinkingSection = void 0;
|
|
100668
100692
|
this.markdownSection = void 0;
|
|
100669
100693
|
this.callingSection = void 0;
|
|
@@ -100677,10 +100701,8 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100677
100701
|
`.generation-bubble[data-seq="${String(seq2)}"]`
|
|
100678
100702
|
) : null;
|
|
100679
100703
|
if (targetBubble) {
|
|
100680
|
-
|
|
100681
|
-
|
|
100682
|
-
if (this.generationBubble && this.generationBubble.getAttribute("data-seq") === String(seq2)) {
|
|
100683
|
-
this.generationBubble = void 0;
|
|
100704
|
+
this.resetGenerationBubbleForRetry(targetBubble);
|
|
100705
|
+
this.generationBubble = targetBubble;
|
|
100684
100706
|
this.thinkingSection = void 0;
|
|
100685
100707
|
this.markdownSection = void 0;
|
|
100686
100708
|
this.callingSection = void 0;
|
|
@@ -100864,6 +100886,28 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100864
100886
|
}
|
|
100865
100887
|
}
|
|
100866
100888
|
}
|
|
100889
|
+
resetGenerationBubbleForRetry(bubble) {
|
|
100890
|
+
bubble.classList.remove("completed");
|
|
100891
|
+
bubble.classList.add("generating");
|
|
100892
|
+
bubble.setAttribute("data-finalized", "false");
|
|
100893
|
+
const modelEl = bubble.querySelector(".bubble-author-model");
|
|
100894
|
+
if (modelEl) {
|
|
100895
|
+
modelEl.textContent = "";
|
|
100896
|
+
}
|
|
100897
|
+
const body = bubble.querySelector(".bubble-body");
|
|
100898
|
+
if (!body) return;
|
|
100899
|
+
let sawDivider = false;
|
|
100900
|
+
for (const child of Array.from(body.children)) {
|
|
100901
|
+
if (!(child instanceof HTMLElement)) continue;
|
|
100902
|
+
if (child.classList.contains("user-response-divider")) {
|
|
100903
|
+
sawDivider = true;
|
|
100904
|
+
continue;
|
|
100905
|
+
}
|
|
100906
|
+
if (sawDivider) {
|
|
100907
|
+
child.remove();
|
|
100908
|
+
}
|
|
100909
|
+
}
|
|
100910
|
+
}
|
|
100867
100911
|
compactWebSearchItemId(itemId) {
|
|
100868
100912
|
const raw = itemId.trim();
|
|
100869
100913
|
if (raw.length <= 28) return raw;
|
|
@@ -102297,52 +102341,65 @@ ${event.content}`;
|
|
|
102297
102341
|
if (trimmed.length <= 240) return trimmed;
|
|
102298
102342
|
return `${trimmed.slice(0, 240)}...`;
|
|
102299
102343
|
}
|
|
102300
|
-
|
|
102301
|
-
|
|
102302
|
-
|
|
102303
|
-
|
|
102304
|
-
|
|
102344
|
+
describeRetryFailure(event) {
|
|
102345
|
+
if (typeof event.status === "number") {
|
|
102346
|
+
return `HTTP ${event.status}`;
|
|
102347
|
+
}
|
|
102348
|
+
if (typeof event.code === "string" && event.code.trim() !== "") {
|
|
102349
|
+
return event.code.trim();
|
|
102350
|
+
}
|
|
102351
|
+
if (event.failureKind === "retriable") {
|
|
102352
|
+
return this.uiLanguage === "zh" ? "可重试错误" : "Retriable error";
|
|
102353
|
+
}
|
|
102354
|
+
if (event.failureKind === "rejected") {
|
|
102355
|
+
return this.uiLanguage === "zh" ? "请求被拒绝" : "Request rejected";
|
|
102305
102356
|
}
|
|
102306
|
-
return
|
|
102357
|
+
return this.uiLanguage === "zh" ? "致命错误" : "Fatal error";
|
|
102307
102358
|
}
|
|
102308
102359
|
handleLlmRetry(event) {
|
|
102309
|
-
|
|
102310
|
-
|
|
102311
|
-
|
|
102312
|
-
|
|
102313
|
-
const
|
|
102314
|
-
`.generation-bubble[data-seq="${String(event.genseq)}"]`
|
|
102315
|
-
) : null;
|
|
102316
|
-
if (!targetBubble) return;
|
|
102317
|
-
let section = targetBubble.querySelector(".retry-section");
|
|
102318
|
-
if (!section) {
|
|
102319
|
-
section = document.createElement("div");
|
|
102320
|
-
section.className = "retry-section";
|
|
102321
|
-
section.innerHTML = `
|
|
102322
|
-
<div class="section-header">
|
|
102323
|
-
<span class="section-icon icon-mask dc-icon-refresh" aria-hidden="true"></span>
|
|
102324
|
-
<span class="section-title">${this.uiLanguage === "zh" ? "重试中" : "Retrying"}</span>
|
|
102325
|
-
</div>
|
|
102326
|
-
<div class="retry-items"></div>
|
|
102327
|
-
`;
|
|
102328
|
-
const body = targetBubble.querySelector(".bubble-body");
|
|
102329
|
-
(body || targetBubble).appendChild(section);
|
|
102330
|
-
}
|
|
102331
|
-
const items = section.querySelector(".retry-items");
|
|
102332
|
-
if (!items) return;
|
|
102333
|
-
const item = document.createElement("div");
|
|
102334
|
-
item.className = `retry-item ${event.phase === "exhausted" ? "retry-item-final" : ""}`;
|
|
102335
|
-
const statusText = typeof event.status === "number" ? `HTTP ${event.status}` : typeof event.code === "string" && event.code !== "" ? event.code : event.failureKind;
|
|
102336
|
-
const metaText = event.phase === "retrying" ? this.uiLanguage === "zh" ? `第 ${event.attempt}/${event.totalAttempts} 次,等待 ${event.backoffMs ?? 0}ms,${statusText}` : `Attempt ${event.attempt}/${event.totalAttempts}, wait ${event.backoffMs ?? 0}ms, ${statusText}` : this.uiLanguage === "zh" ? `已耗尽重试 ${event.attempt}/${event.totalAttempts},${statusText}` : `Retries exhausted ${event.attempt}/${event.totalAttempts}, ${statusText}`;
|
|
102360
|
+
if (event.phase === "exhausted") {
|
|
102361
|
+
this.clearRetryPanel();
|
|
102362
|
+
return;
|
|
102363
|
+
}
|
|
102364
|
+
const failureLabel = this.describeRetryFailure(event);
|
|
102337
102365
|
const errorText = this.summarizeRetryError(event.error);
|
|
102338
|
-
|
|
102339
|
-
|
|
102340
|
-
|
|
102341
|
-
|
|
102342
|
-
|
|
102343
|
-
|
|
102344
|
-
|
|
102345
|
-
|
|
102366
|
+
if (event.phase === "waiting") {
|
|
102367
|
+
const backoffMs = Math.max(0, Math.floor(event.backoffMs ?? 0));
|
|
102368
|
+
this.retryPanelState = {
|
|
102369
|
+
kind: "retry-waiting",
|
|
102370
|
+
genseq: event.genseq,
|
|
102371
|
+
attempt: event.attempt,
|
|
102372
|
+
totalAttempts: event.totalAttempts,
|
|
102373
|
+
provider: event.provider,
|
|
102374
|
+
failureLabel,
|
|
102375
|
+
error: errorText,
|
|
102376
|
+
nextRetryAtMs: Date.now() + backoffMs
|
|
102377
|
+
};
|
|
102378
|
+
} else {
|
|
102379
|
+
this.retryPanelState = {
|
|
102380
|
+
kind: "retry-running",
|
|
102381
|
+
genseq: event.genseq,
|
|
102382
|
+
attempt: event.attempt,
|
|
102383
|
+
totalAttempts: event.totalAttempts,
|
|
102384
|
+
provider: event.provider,
|
|
102385
|
+
failureLabel,
|
|
102386
|
+
error: errorText
|
|
102387
|
+
};
|
|
102388
|
+
}
|
|
102389
|
+
this.emitRetryPanelStateChanged();
|
|
102390
|
+
}
|
|
102391
|
+
clearRetryPanel() {
|
|
102392
|
+
this.retryPanelState = { kind: "hidden" };
|
|
102393
|
+
this.emitRetryPanelStateChanged();
|
|
102394
|
+
}
|
|
102395
|
+
emitRetryPanelStateChanged() {
|
|
102396
|
+
this.dispatchEvent(
|
|
102397
|
+
new CustomEvent("dialog-retry-panel-state", {
|
|
102398
|
+
detail: { state: this.retryPanelState },
|
|
102399
|
+
bubbles: true,
|
|
102400
|
+
composed: true
|
|
102401
|
+
})
|
|
102402
|
+
);
|
|
102346
102403
|
}
|
|
102347
102404
|
handleProtocolError(err) {
|
|
102348
102405
|
const container = this.shadowRoot?.querySelector(".messages");
|
|
@@ -102450,15 +102507,6 @@ ${event.content}`;
|
|
|
102450
102507
|
<style>${this.getStyles()}</style>
|
|
102451
102508
|
<div class="container">
|
|
102452
102509
|
<div class="messages"></div>
|
|
102453
|
-
<div id="resume-panel" class="resume-panel hidden">
|
|
102454
|
-
<div class="resume-text">
|
|
102455
|
-
<div class="resume-title">${t2.continueLabel}</div>
|
|
102456
|
-
<div id="resume-reason" class="resume-reason"></div>
|
|
102457
|
-
</div>
|
|
102458
|
-
<div class="resume-actions">
|
|
102459
|
-
<button id="resume-btn" class="resume-btn" type="button">${t2.continueLabel}</button>
|
|
102460
|
-
</div>
|
|
102461
|
-
</div>
|
|
102462
102510
|
<div id="scroll-to-bottom-wrap" class="scroll-to-bottom-wrap hidden">
|
|
102463
102511
|
<button
|
|
102464
102512
|
id="scroll-to-bottom-btn"
|
|
@@ -102472,14 +102520,6 @@ ${event.content}`;
|
|
|
102472
102520
|
</div>
|
|
102473
102521
|
</div>
|
|
102474
102522
|
`;
|
|
102475
|
-
const btn = this.shadowRoot.querySelector("#resume-btn");
|
|
102476
|
-
if (btn) {
|
|
102477
|
-
btn.onclick = () => {
|
|
102478
|
-
const dialog = this.currentDialog;
|
|
102479
|
-
if (!dialog) return;
|
|
102480
|
-
this.wsManager.sendRaw({ type: "resume_dialog", dialog });
|
|
102481
|
-
};
|
|
102482
|
-
}
|
|
102483
102523
|
const scrollBtn = this.shadowRoot.querySelector(
|
|
102484
102524
|
"#scroll-to-bottom-btn"
|
|
102485
102525
|
);
|
|
@@ -102489,7 +102529,6 @@ ${event.content}`;
|
|
|
102489
102529
|
this.scrollToBottom({ force: true });
|
|
102490
102530
|
};
|
|
102491
102531
|
}
|
|
102492
|
-
this.updateResumePanel();
|
|
102493
102532
|
this.updateScrollToBottomButton();
|
|
102494
102533
|
}
|
|
102495
102534
|
updateScrollToBottomButton() {
|
|
@@ -102500,46 +102539,6 @@ ${event.content}`;
|
|
|
102500
102539
|
const shouldShow = this.scrollContainer !== null && !this.autoScrollEnabled;
|
|
102501
102540
|
wrap.classList.toggle("hidden", !shouldShow);
|
|
102502
102541
|
}
|
|
102503
|
-
updateResumePanel() {
|
|
102504
|
-
const root2 = this.shadowRoot;
|
|
102505
|
-
if (!root2) return;
|
|
102506
|
-
const panel = root2.querySelector("#resume-panel");
|
|
102507
|
-
const reasonEl = root2.querySelector("#resume-reason");
|
|
102508
|
-
const btn = root2.querySelector("#resume-btn");
|
|
102509
|
-
const titleEl = root2.querySelector(".resume-title");
|
|
102510
|
-
if (!panel || !reasonEl || !btn) return;
|
|
102511
|
-
const t2 = getUiStrings(this.uiLanguage);
|
|
102512
|
-
if (titleEl) titleEl.textContent = t2.continueLabel;
|
|
102513
|
-
btn.textContent = t2.continueLabel;
|
|
102514
|
-
const state2 = this.runState;
|
|
102515
|
-
const canShow = !!this.currentDialog && state2 !== null && state2.kind === "interrupted";
|
|
102516
|
-
panel.classList.toggle("hidden", !canShow);
|
|
102517
|
-
if (!canShow) {
|
|
102518
|
-
reasonEl.textContent = "";
|
|
102519
|
-
btn.disabled = true;
|
|
102520
|
-
return;
|
|
102521
|
-
}
|
|
102522
|
-
btn.disabled = false;
|
|
102523
|
-
const reason = state2.reason;
|
|
102524
|
-
switch (reason.kind) {
|
|
102525
|
-
case "user_stop":
|
|
102526
|
-
reasonEl.textContent = t2.stoppedByYou;
|
|
102527
|
-
break;
|
|
102528
|
-
case "emergency_stop":
|
|
102529
|
-
reasonEl.textContent = t2.stoppedByEmergencyStop;
|
|
102530
|
-
break;
|
|
102531
|
-
case "server_restart":
|
|
102532
|
-
reasonEl.textContent = t2.interruptedByServerRestart;
|
|
102533
|
-
break;
|
|
102534
|
-
case "system_stop":
|
|
102535
|
-
reasonEl.textContent = reason.detail;
|
|
102536
|
-
break;
|
|
102537
|
-
default: {
|
|
102538
|
-
const _exhaustive = reason;
|
|
102539
|
-
reasonEl.textContent = String(_exhaustive);
|
|
102540
|
-
}
|
|
102541
|
-
}
|
|
102542
|
-
}
|
|
102543
102542
|
formatInterruptionReason(reason) {
|
|
102544
102543
|
const t2 = getUiStrings(this.uiLanguage);
|
|
102545
102544
|
switch (reason.kind) {
|
|
@@ -102646,52 +102645,6 @@ ${event.content}`;
|
|
|
102646
102645
|
height: 18px;
|
|
102647
102646
|
}
|
|
102648
102647
|
|
|
102649
|
-
.resume-panel {
|
|
102650
|
-
margin: 0 12px 12px 12px;
|
|
102651
|
-
padding: 9px 10px;
|
|
102652
|
-
border: 1px solid var(--dominds-border, var(--color-border-primary, #e2e8f0));
|
|
102653
|
-
border-radius: 8px;
|
|
102654
|
-
background: var(
|
|
102655
|
-
--dominds-sidebar-bg,
|
|
102656
|
-
var(--dominds-bg, var(--color-bg-secondary, #ffffff))
|
|
102657
|
-
);
|
|
102658
|
-
display: flex;
|
|
102659
|
-
align-items: center;
|
|
102660
|
-
justify-content: space-between;
|
|
102661
|
-
gap: 8px;
|
|
102662
|
-
}
|
|
102663
|
-
|
|
102664
|
-
.resume-panel.hidden {
|
|
102665
|
-
display: none;
|
|
102666
|
-
}
|
|
102667
|
-
|
|
102668
|
-
.resume-title {
|
|
102669
|
-
font-weight: 600;
|
|
102670
|
-
font-size: var(--dominds-font-size-md, 13px);
|
|
102671
|
-
color: var(--dominds-fg, var(--color-fg-primary, #0f172a));
|
|
102672
|
-
}
|
|
102673
|
-
|
|
102674
|
-
.resume-reason {
|
|
102675
|
-
font-size: var(--dominds-font-size-sm, 12px);
|
|
102676
|
-
color: var(--dominds-muted, var(--color-fg-tertiary, #64748b));
|
|
102677
|
-
margin-top: 1px;
|
|
102678
|
-
}
|
|
102679
|
-
|
|
102680
|
-
.resume-btn {
|
|
102681
|
-
border: 1px solid var(--dominds-border, var(--color-border-primary, #e2e8f0));
|
|
102682
|
-
background: var(--dominds-primary, var(--color-accent-primary, #007acc));
|
|
102683
|
-
color: white;
|
|
102684
|
-
padding: 6px 8px;
|
|
102685
|
-
border-radius: 8px;
|
|
102686
|
-
cursor: pointer;
|
|
102687
|
-
font-weight: 600;
|
|
102688
|
-
}
|
|
102689
|
-
|
|
102690
|
-
.resume-btn:disabled {
|
|
102691
|
-
opacity: 0.6;
|
|
102692
|
-
cursor: not-allowed;
|
|
102693
|
-
}
|
|
102694
|
-
|
|
102695
102648
|
.run-marker {
|
|
102696
102649
|
padding: 2px 3px;
|
|
102697
102650
|
}
|
|
@@ -103192,58 +103145,6 @@ ${event.content}`;
|
|
|
103192
103145
|
margin-bottom: 0;
|
|
103193
103146
|
}
|
|
103194
103147
|
|
|
103195
|
-
.retry-section {
|
|
103196
|
-
margin: 4px 0;
|
|
103197
|
-
padding: 4px 6px;
|
|
103198
|
-
border-radius: 6px;
|
|
103199
|
-
border-left: 3px solid var(--dominds-warning, var(--color-warning, #f59e0b));
|
|
103200
|
-
background: color-mix(
|
|
103201
|
-
in srgb,
|
|
103202
|
-
var(--dominds-warning, #f59e0b) 10%,
|
|
103203
|
-
var(--dominds-bg, var(--color-bg-primary, #ffffff))
|
|
103204
|
-
);
|
|
103205
|
-
}
|
|
103206
|
-
|
|
103207
|
-
.retry-items {
|
|
103208
|
-
display: flex;
|
|
103209
|
-
flex-direction: column;
|
|
103210
|
-
gap: 4px;
|
|
103211
|
-
}
|
|
103212
|
-
|
|
103213
|
-
.retry-item {
|
|
103214
|
-
padding: 2px 0;
|
|
103215
|
-
}
|
|
103216
|
-
|
|
103217
|
-
.retry-item-final {
|
|
103218
|
-
border-top: 1px dashed
|
|
103219
|
-
color-mix(
|
|
103220
|
-
in srgb,
|
|
103221
|
-
var(--dominds-warning, #f59e0b) 45%,
|
|
103222
|
-
transparent
|
|
103223
|
-
);
|
|
103224
|
-
margin-top: 2px;
|
|
103225
|
-
padding-top: 6px;
|
|
103226
|
-
}
|
|
103227
|
-
|
|
103228
|
-
.retry-meta {
|
|
103229
|
-
font-size: var(--dominds-font-size-sm, 12px);
|
|
103230
|
-
color: var(--dominds-fg, var(--color-fg-secondary, #475569));
|
|
103231
|
-
opacity: 0.92;
|
|
103232
|
-
}
|
|
103233
|
-
|
|
103234
|
-
.retry-error {
|
|
103235
|
-
font-size: var(--dominds-font-size-sm, 12px);
|
|
103236
|
-
color: var(--dominds-fg, var(--color-fg-secondary, #475569));
|
|
103237
|
-
white-space: pre-wrap;
|
|
103238
|
-
word-break: break-word;
|
|
103239
|
-
}
|
|
103240
|
-
|
|
103241
|
-
.retry-suggestion {
|
|
103242
|
-
margin-top: 2px;
|
|
103243
|
-
font-size: var(--dominds-font-size-sm, 12px);
|
|
103244
|
-
color: var(--dominds-fg-muted, var(--color-fg-muted, #64748b));
|
|
103245
|
-
}
|
|
103246
|
-
|
|
103247
103148
|
/* Calling section styles (nested inside markdown) */
|
|
103248
103149
|
.calling-section {
|
|
103249
103150
|
margin: 4px 0;
|
|
@@ -106817,6 +106718,7 @@ const TEAM_MGMT_MANUAL_TOPIC_KEYS = [
|
|
|
106817
106718
|
"team",
|
|
106818
106719
|
"member-properties",
|
|
106819
106720
|
"minds",
|
|
106721
|
+
"skills",
|
|
106820
106722
|
"priming",
|
|
106821
106723
|
"env",
|
|
106822
106724
|
"permissions",
|
|
@@ -106840,6 +106742,9 @@ const TEAM_MGMT_MANUAL_TOPIC_META = {
|
|
|
106840
106742
|
minds: {
|
|
106841
106743
|
titleI18n: { zh: "角色资产(.minds/team/<id>/*)", en: "Minds Assets (.minds/team/<id>/*)" }
|
|
106842
106744
|
},
|
|
106745
|
+
skills: {
|
|
106746
|
+
titleI18n: { zh: "技能(.minds/skills/*)", en: "Skills (.minds/skills/*)" }
|
|
106747
|
+
},
|
|
106843
106748
|
priming: {
|
|
106844
106749
|
titleI18n: {
|
|
106845
106750
|
zh: "启动脚本(.minds/priming/*)",
|
|
@@ -106870,6 +106775,7 @@ const TEAM_MGMT_MANUAL_UI_TOPIC_ORDER = [
|
|
|
106870
106775
|
"builtin-defaults",
|
|
106871
106776
|
"mcp",
|
|
106872
106777
|
"minds",
|
|
106778
|
+
"skills",
|
|
106873
106779
|
"priming",
|
|
106874
106780
|
"env",
|
|
106875
106781
|
"troubleshooting"
|
|
@@ -106890,6 +106796,7 @@ const TEAM_MGMT_MANUAL_UI_TOOL_TOPICS_BY_KEY = {
|
|
|
106890
106796
|
// Other
|
|
106891
106797
|
mcp: ["mcp"],
|
|
106892
106798
|
minds: ["minds"],
|
|
106799
|
+
skills: ["skills"],
|
|
106893
106800
|
priming: ["priming"],
|
|
106894
106801
|
env: ["env"],
|
|
106895
106802
|
troubleshooting: ["troubleshooting"]
|
|
@@ -111122,6 +111029,8 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
|
|
|
111122
111029
|
this.generatingDialogKeys = /* @__PURE__ */ new Set();
|
|
111123
111030
|
this.currentDialog = null;
|
|
111124
111031
|
this.currentDialogStatus = null;
|
|
111032
|
+
this.retryPanelState = { kind: "hidden" };
|
|
111033
|
+
this.retryPanelTicker = null;
|
|
111125
111034
|
this.teamMembers = [];
|
|
111126
111035
|
this.defaultResponder = null;
|
|
111127
111036
|
this.taskDocuments = [];
|
|
@@ -111803,6 +111712,7 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
|
|
|
111803
111712
|
this.updateToolsRegistryUi();
|
|
111804
111713
|
this.updateContextHealthUi();
|
|
111805
111714
|
this.updateToastHistoryUi();
|
|
111715
|
+
this.updateDialogViewportPanels();
|
|
111806
111716
|
}
|
|
111807
111717
|
applyUiLanguageSelectDecorations(t2) {
|
|
111808
111718
|
if (!this.shadowRoot) return;
|
|
@@ -112168,6 +112078,7 @@ ${formatUiLanguageOptionLabel({
|
|
|
112168
112078
|
}
|
|
112169
112079
|
disconnectedCallback() {
|
|
112170
112080
|
this.wsManager.disconnect();
|
|
112081
|
+
this.stopRetryPanelTicker();
|
|
112171
112082
|
for (const t2 of this.runControlRefreshTimers) {
|
|
112172
112083
|
clearTimeout(t2);
|
|
112173
112084
|
}
|
|
@@ -112236,6 +112147,7 @@ ${formatUiLanguageOptionLabel({
|
|
|
112236
112147
|
this.applyUiLanguageToDom();
|
|
112237
112148
|
this.updateProblemsUi();
|
|
112238
112149
|
this.updateToolsRegistryUi();
|
|
112150
|
+
this.updateDialogViewportPanels();
|
|
112239
112151
|
}
|
|
112240
112152
|
/**
|
|
112241
112153
|
* Surgical update: Update only the dialog list without destroying the container.
|
|
@@ -114124,14 +114036,130 @@ ${formatUiLanguageOptionLabel({
|
|
|
114124
114036
|
background: var(--dominds-sidebar-bg, #f8f9fa);
|
|
114125
114037
|
}
|
|
114126
114038
|
|
|
114039
|
+
.conversation-viewport {
|
|
114040
|
+
position: relative;
|
|
114041
|
+
flex: 1;
|
|
114042
|
+
min-height: 0;
|
|
114043
|
+
}
|
|
114044
|
+
|
|
114127
114045
|
/* Conversation area scrolls independently */
|
|
114128
|
-
|
|
114129
|
-
|
|
114130
|
-
|
|
114131
|
-
|
|
114132
|
-
|
|
114133
|
-
|
|
114134
|
-
|
|
114046
|
+
.conversation-scroll-area {
|
|
114047
|
+
flex: 1;
|
|
114048
|
+
height: 100%;
|
|
114049
|
+
min-height: 0;
|
|
114050
|
+
overflow-y: auto;
|
|
114051
|
+
contain: content;
|
|
114052
|
+
background: var(--dominds-sidebar-bg, #f8f9fa);
|
|
114053
|
+
}
|
|
114054
|
+
|
|
114055
|
+
.dialog-viewport-panels {
|
|
114056
|
+
display: flex;
|
|
114057
|
+
flex-direction: column;
|
|
114058
|
+
gap: 10px;
|
|
114059
|
+
flex-shrink: 0;
|
|
114060
|
+
padding: 0 12px 12px 12px;
|
|
114061
|
+
background: var(--dominds-sidebar-bg, #f8f9fa);
|
|
114062
|
+
}
|
|
114063
|
+
|
|
114064
|
+
.dialog-viewport-panels.hidden,
|
|
114065
|
+
.dialog-viewport-panel.hidden {
|
|
114066
|
+
display: none;
|
|
114067
|
+
}
|
|
114068
|
+
|
|
114069
|
+
.dialog-viewport-panel {
|
|
114070
|
+
padding: 9px 10px;
|
|
114071
|
+
border: 1px solid var(--dominds-border, var(--color-border-primary, #e2e8f0));
|
|
114072
|
+
border-radius: 8px;
|
|
114073
|
+
background: var(
|
|
114074
|
+
--dominds-sidebar-bg,
|
|
114075
|
+
var(--dominds-bg, var(--color-bg-secondary, #ffffff))
|
|
114076
|
+
);
|
|
114077
|
+
}
|
|
114078
|
+
|
|
114079
|
+
.dialog-viewport-panel-header {
|
|
114080
|
+
display: flex;
|
|
114081
|
+
align-items: flex-start;
|
|
114082
|
+
gap: 8px;
|
|
114083
|
+
}
|
|
114084
|
+
|
|
114085
|
+
.dialog-viewport-panel-header .icon-mask {
|
|
114086
|
+
width: 16px;
|
|
114087
|
+
height: 16px;
|
|
114088
|
+
flex: 0 0 auto;
|
|
114089
|
+
margin-top: 1px;
|
|
114090
|
+
}
|
|
114091
|
+
|
|
114092
|
+
.dialog-viewport-panel-text {
|
|
114093
|
+
min-width: 0;
|
|
114094
|
+
display: flex;
|
|
114095
|
+
flex-direction: column;
|
|
114096
|
+
gap: 1px;
|
|
114097
|
+
}
|
|
114098
|
+
|
|
114099
|
+
.dialog-viewport-panel-title {
|
|
114100
|
+
font-weight: 600;
|
|
114101
|
+
font-size: var(--dominds-font-size-md, 13px);
|
|
114102
|
+
color: var(--dominds-fg, var(--color-fg-primary, #0f172a));
|
|
114103
|
+
}
|
|
114104
|
+
|
|
114105
|
+
.dialog-viewport-panel-summary {
|
|
114106
|
+
font-size: var(--dominds-font-size-sm, 12px);
|
|
114107
|
+
color: var(--dominds-muted, var(--color-fg-tertiary, #64748b));
|
|
114108
|
+
margin-top: 1px;
|
|
114109
|
+
}
|
|
114110
|
+
|
|
114111
|
+
.dialog-viewport-panel-error {
|
|
114112
|
+
margin-top: 4px;
|
|
114113
|
+
font-size: var(--dominds-font-size-sm, 12px);
|
|
114114
|
+
color: var(--dominds-fg, var(--color-fg-secondary, #475569));
|
|
114115
|
+
white-space: pre-wrap;
|
|
114116
|
+
word-break: break-word;
|
|
114117
|
+
}
|
|
114118
|
+
|
|
114119
|
+
.retry-panel {
|
|
114120
|
+
border-color: color-mix(
|
|
114121
|
+
in srgb,
|
|
114122
|
+
var(--dominds-warning, var(--color-warning, #f59e0b)) 40%,
|
|
114123
|
+
var(--dominds-border, var(--color-border-primary, #e2e8f0))
|
|
114124
|
+
);
|
|
114125
|
+
background: color-mix(
|
|
114126
|
+
in srgb,
|
|
114127
|
+
var(--dominds-warning, #f59e0b) 14%,
|
|
114128
|
+
var(--dominds-sidebar-bg, var(--dominds-bg, #ffffff))
|
|
114129
|
+
);
|
|
114130
|
+
}
|
|
114131
|
+
|
|
114132
|
+
.retry-panel .icon-mask {
|
|
114133
|
+
color: var(--dominds-warning, var(--color-warning, #f59e0b));
|
|
114134
|
+
}
|
|
114135
|
+
|
|
114136
|
+
.resume-panel {
|
|
114137
|
+
display: flex;
|
|
114138
|
+
align-items: center;
|
|
114139
|
+
justify-content: space-between;
|
|
114140
|
+
gap: 10px;
|
|
114141
|
+
}
|
|
114142
|
+
|
|
114143
|
+
.dialog-viewport-panel-actions {
|
|
114144
|
+
display: flex;
|
|
114145
|
+
align-items: center;
|
|
114146
|
+
flex-shrink: 0;
|
|
114147
|
+
}
|
|
114148
|
+
|
|
114149
|
+
.dialog-resume-btn {
|
|
114150
|
+
border: 1px solid var(--dominds-border, var(--color-border-primary, #e2e8f0));
|
|
114151
|
+
background: var(--dominds-primary, var(--color-accent-primary, #007acc));
|
|
114152
|
+
color: white;
|
|
114153
|
+
padding: 6px 8px;
|
|
114154
|
+
border-radius: 8px;
|
|
114155
|
+
cursor: pointer;
|
|
114156
|
+
font-weight: 600;
|
|
114157
|
+
}
|
|
114158
|
+
|
|
114159
|
+
.dialog-resume-btn:disabled {
|
|
114160
|
+
opacity: 0.6;
|
|
114161
|
+
cursor: not-allowed;
|
|
114162
|
+
}
|
|
114135
114163
|
|
|
114136
114164
|
.q4h-input-wrap {
|
|
114137
114165
|
flex-shrink: 0;
|
|
@@ -115708,9 +115736,32 @@ ${uiLanguageButtonTooltip}">
|
|
|
115708
115736
|
` : ""}
|
|
115709
115737
|
|
|
115710
115738
|
<div class="dialog-section">
|
|
115711
|
-
|
|
115712
|
-
<
|
|
115713
|
-
|
|
115739
|
+
<div class="conversation-viewport">
|
|
115740
|
+
<div class="conversation-scroll-area">
|
|
115741
|
+
<dominds-dialog-container id="dialog-container" ui-language="${this.uiLanguage}"></dominds-dialog-container>
|
|
115742
|
+
</div>
|
|
115743
|
+
</div>
|
|
115744
|
+
<div id="dialog-viewport-panels" class="dialog-viewport-panels hidden">
|
|
115745
|
+
<div id="dialog-retry-panel" class="dialog-viewport-panel retry-panel hidden" data-state="hidden">
|
|
115746
|
+
<div class="dialog-viewport-panel-header">
|
|
115747
|
+
<span class="icon-mask app-icon-refresh" aria-hidden="true"></span>
|
|
115748
|
+
<div class="dialog-viewport-panel-text">
|
|
115749
|
+
<div id="dialog-retry-title" class="dialog-viewport-panel-title"></div>
|
|
115750
|
+
<div id="dialog-retry-summary" class="dialog-viewport-panel-summary"></div>
|
|
115751
|
+
</div>
|
|
115752
|
+
</div>
|
|
115753
|
+
<div id="dialog-retry-error" class="dialog-viewport-panel-error"></div>
|
|
115754
|
+
</div>
|
|
115755
|
+
<div id="dialog-resume-panel" class="dialog-viewport-panel resume-panel hidden">
|
|
115756
|
+
<div class="dialog-viewport-panel-text">
|
|
115757
|
+
<div id="dialog-resume-title" class="dialog-viewport-panel-title">${t2.continueLabel}</div>
|
|
115758
|
+
<div id="dialog-resume-reason" class="dialog-viewport-panel-summary"></div>
|
|
115759
|
+
</div>
|
|
115760
|
+
<div class="dialog-viewport-panel-actions">
|
|
115761
|
+
<button id="dialog-resume-btn" class="dialog-resume-btn" type="button">${t2.continueLabel}</button>
|
|
115762
|
+
</div>
|
|
115763
|
+
</div>
|
|
115764
|
+
</div>
|
|
115714
115765
|
<div class="bottom-panel ${this.bottomPanelExpanded ? "expanded" : "collapsed"}" id="bottom-panel">
|
|
115715
115766
|
<div class="bottom-panel-resize-handle ${this.bottomPanelExpanded ? "" : "hidden"}" id="bottom-panel-resize-handle" role="separator" aria-orientation="horizontal">
|
|
115716
115767
|
<div class="bp-resize-grip left" data-role="resize" aria-hidden="true"></div>
|
|
@@ -116050,6 +116101,11 @@ ${content}`;
|
|
|
116050
116101
|
void this.openCreateDialogFlow({ source: "toolbar" });
|
|
116051
116102
|
return;
|
|
116052
116103
|
}
|
|
116104
|
+
const resumeBtn = target.closest("#dialog-resume-btn");
|
|
116105
|
+
if (resumeBtn) {
|
|
116106
|
+
this.resumeCurrentDialog();
|
|
116107
|
+
return;
|
|
116108
|
+
}
|
|
116053
116109
|
const savePrimingBtn = target.closest("#navibar-save-priming");
|
|
116054
116110
|
if (savePrimingBtn) {
|
|
116055
116111
|
await this.saveCurrentCourseAsPrimingScript();
|
|
@@ -116286,6 +116342,17 @@ ${content}`;
|
|
|
116286
116342
|
input.setDisabled(course !== latest);
|
|
116287
116343
|
}
|
|
116288
116344
|
});
|
|
116345
|
+
dialogContainerEl.addEventListener("dialog-retry-panel-state", (e2) => {
|
|
116346
|
+
const ce2 = e2;
|
|
116347
|
+
const detail = ce2.detail && typeof ce2.detail === "object" ? ce2.detail : null;
|
|
116348
|
+
const state2 = detail?.state;
|
|
116349
|
+
if (!state2 || typeof state2 !== "object" || !("kind" in state2)) {
|
|
116350
|
+
console.warn("Invalid dialog-retry-panel-state payload", ce2.detail);
|
|
116351
|
+
return;
|
|
116352
|
+
}
|
|
116353
|
+
this.retryPanelState = state2;
|
|
116354
|
+
this.updateDialogViewportPanels();
|
|
116355
|
+
});
|
|
116289
116356
|
}
|
|
116290
116357
|
const uiLangButton = this.shadowRoot.querySelector("#ui-language-menu-button");
|
|
116291
116358
|
const uiLangMenu = this.shadowRoot.querySelector("#ui-language-menu");
|
|
@@ -117457,6 +117524,7 @@ ${content}`;
|
|
|
117457
117524
|
clearCurrentDialogSelection() {
|
|
117458
117525
|
this.currentDialog = null;
|
|
117459
117526
|
this.currentDialogStatus = null;
|
|
117527
|
+
this.retryPanelState = { kind: "hidden" };
|
|
117460
117528
|
this.updateBrowserTitle(null);
|
|
117461
117529
|
const root2 = this.shadowRoot;
|
|
117462
117530
|
if (!root2) return;
|
|
@@ -117473,6 +117541,7 @@ ${content}`;
|
|
|
117473
117541
|
this.q4hInput.clearDialog();
|
|
117474
117542
|
this.q4hInput.setRunState(null);
|
|
117475
117543
|
}
|
|
117544
|
+
this.updateDialogViewportPanels();
|
|
117476
117545
|
}
|
|
117477
117546
|
updateBrowserTitle(dialog) {
|
|
117478
117547
|
if (dialog === null) {
|
|
@@ -117939,6 +118008,131 @@ ${content}`;
|
|
|
117939
118008
|
const rootMatch = this.getRootDialog(rootId);
|
|
117940
118009
|
return rootMatch ? rootMatch.status : null;
|
|
117941
118010
|
}
|
|
118011
|
+
ensureRetryPanelTicker() {
|
|
118012
|
+
if (this.retryPanelState.kind !== "retry-waiting") {
|
|
118013
|
+
this.stopRetryPanelTicker();
|
|
118014
|
+
return;
|
|
118015
|
+
}
|
|
118016
|
+
if (this.retryPanelTicker !== null) return;
|
|
118017
|
+
this.retryPanelTicker = window.setInterval(() => {
|
|
118018
|
+
if (this.retryPanelState.kind !== "retry-waiting") {
|
|
118019
|
+
this.stopRetryPanelTicker();
|
|
118020
|
+
return;
|
|
118021
|
+
}
|
|
118022
|
+
this.updateDialogViewportPanels();
|
|
118023
|
+
}, 200);
|
|
118024
|
+
}
|
|
118025
|
+
stopRetryPanelTicker() {
|
|
118026
|
+
if (this.retryPanelTicker === null) return;
|
|
118027
|
+
window.clearInterval(this.retryPanelTicker);
|
|
118028
|
+
this.retryPanelTicker = null;
|
|
118029
|
+
}
|
|
118030
|
+
formatRetryCountdown(remainingMs) {
|
|
118031
|
+
const safeMs = Math.max(0, remainingMs);
|
|
118032
|
+
if (safeMs >= 1e4) {
|
|
118033
|
+
const seconds2 = Math.ceil(safeMs / 1e3);
|
|
118034
|
+
return this.uiLanguage === "zh" ? `${seconds2} 秒` : `${seconds2}s`;
|
|
118035
|
+
}
|
|
118036
|
+
const seconds = (safeMs / 1e3).toFixed(1);
|
|
118037
|
+
return this.uiLanguage === "zh" ? `${seconds} 秒` : `${seconds}s`;
|
|
118038
|
+
}
|
|
118039
|
+
buildRetryWaitingSummary(state2) {
|
|
118040
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
118041
|
+
const attemptText = `${t2.retryPanelAttemptPrefix}${state2.attempt}${t2.retryPanelAttemptConnector}${state2.totalAttempts}${t2.retryPanelAttemptSuffix}`;
|
|
118042
|
+
const providerText = state2.provider.trim();
|
|
118043
|
+
const failureText = providerText === "" ? state2.failureLabel : `${providerText} · ${state2.failureLabel}`;
|
|
118044
|
+
const remainingMs = Math.max(0, state2.nextRetryAtMs - Date.now());
|
|
118045
|
+
const countdown = this.formatRetryCountdown(remainingMs);
|
|
118046
|
+
return `${attemptText} · ${t2.retryPanelCountdownPrefix}${countdown} · ${failureText}`;
|
|
118047
|
+
}
|
|
118048
|
+
buildRetryRunningSummary(state2) {
|
|
118049
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
118050
|
+
const attemptText = `${t2.retryPanelRunningAttemptPrefix}${state2.attempt}${t2.retryPanelRunningAttemptSuffix}`;
|
|
118051
|
+
const providerText = state2.provider.trim();
|
|
118052
|
+
const failureText = providerText === "" ? state2.failureLabel : `${providerText} · ${state2.failureLabel}`;
|
|
118053
|
+
return `${attemptText} · ${failureText}`;
|
|
118054
|
+
}
|
|
118055
|
+
getCurrentDialogRunState() {
|
|
118056
|
+
const current = this.currentDialog;
|
|
118057
|
+
if (!current) return null;
|
|
118058
|
+
return this.dialogRunStatesByKey.get(this.dialogKey(current.rootId, current.selfId)) ?? null;
|
|
118059
|
+
}
|
|
118060
|
+
formatInterruptionReason(reason) {
|
|
118061
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
118062
|
+
switch (reason.kind) {
|
|
118063
|
+
case "user_stop":
|
|
118064
|
+
return t2.stoppedByYou;
|
|
118065
|
+
case "emergency_stop":
|
|
118066
|
+
return t2.stoppedByEmergencyStop;
|
|
118067
|
+
case "server_restart":
|
|
118068
|
+
return t2.interruptedByServerRestart;
|
|
118069
|
+
case "system_stop":
|
|
118070
|
+
return reason.detail;
|
|
118071
|
+
default: {
|
|
118072
|
+
const _exhaustive = reason;
|
|
118073
|
+
return String(_exhaustive);
|
|
118074
|
+
}
|
|
118075
|
+
}
|
|
118076
|
+
}
|
|
118077
|
+
updateDialogViewportPanels() {
|
|
118078
|
+
const root2 = this.shadowRoot;
|
|
118079
|
+
if (!root2) return;
|
|
118080
|
+
const wrap = root2.querySelector("#dialog-viewport-panels");
|
|
118081
|
+
const retryPanel = root2.querySelector("#dialog-retry-panel");
|
|
118082
|
+
const retryTitle = root2.querySelector("#dialog-retry-title");
|
|
118083
|
+
const retrySummary = root2.querySelector("#dialog-retry-summary");
|
|
118084
|
+
const retryError = root2.querySelector("#dialog-retry-error");
|
|
118085
|
+
const resumePanel = root2.querySelector("#dialog-resume-panel");
|
|
118086
|
+
const resumeTitle = root2.querySelector("#dialog-resume-title");
|
|
118087
|
+
const resumeReason = root2.querySelector("#dialog-resume-reason");
|
|
118088
|
+
const resumeBtn = root2.querySelector("#dialog-resume-btn");
|
|
118089
|
+
if (!wrap || !retryPanel || !retryTitle || !retrySummary || !retryError || !resumePanel || !resumeTitle || !resumeReason || !resumeBtn) {
|
|
118090
|
+
return;
|
|
118091
|
+
}
|
|
118092
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
118093
|
+
const retryState = this.retryPanelState;
|
|
118094
|
+
const retryVisible = this.currentDialog !== null && retryState.kind !== "hidden";
|
|
118095
|
+
retryPanel.classList.toggle("hidden", !retryVisible);
|
|
118096
|
+
if (!retryVisible) {
|
|
118097
|
+
retryTitle.textContent = "";
|
|
118098
|
+
retrySummary.textContent = "";
|
|
118099
|
+
retryError.textContent = "";
|
|
118100
|
+
this.stopRetryPanelTicker();
|
|
118101
|
+
} else {
|
|
118102
|
+
retryTitle.textContent = t2.retryPanelTitleRetrying;
|
|
118103
|
+
retrySummary.textContent = retryState.kind === "retry-waiting" ? this.buildRetryWaitingSummary(retryState) : this.buildRetryRunningSummary(retryState);
|
|
118104
|
+
retryError.textContent = retryState.error;
|
|
118105
|
+
if (retryState.kind === "retry-waiting") {
|
|
118106
|
+
this.ensureRetryPanelTicker();
|
|
118107
|
+
} else {
|
|
118108
|
+
this.stopRetryPanelTicker();
|
|
118109
|
+
}
|
|
118110
|
+
}
|
|
118111
|
+
const runState = this.getCurrentDialogRunState();
|
|
118112
|
+
const interruptedRunState = this.currentDialog !== null && runState !== null && runState.kind === "interrupted" ? runState : null;
|
|
118113
|
+
const resumeVisible = interruptedRunState !== null;
|
|
118114
|
+
resumePanel.classList.toggle("hidden", !resumeVisible);
|
|
118115
|
+
resumeTitle.textContent = t2.continueLabel;
|
|
118116
|
+
resumeBtn.textContent = t2.continueLabel;
|
|
118117
|
+
resumeBtn.disabled = !resumeVisible;
|
|
118118
|
+
if (!resumeVisible) {
|
|
118119
|
+
resumeReason.textContent = "";
|
|
118120
|
+
} else {
|
|
118121
|
+
resumeReason.textContent = this.formatInterruptionReason(interruptedRunState.reason);
|
|
118122
|
+
}
|
|
118123
|
+
const hasVisiblePanels = retryVisible || resumeVisible;
|
|
118124
|
+
wrap.classList.toggle("hidden", !hasVisiblePanels);
|
|
118125
|
+
}
|
|
118126
|
+
resumeCurrentDialog() {
|
|
118127
|
+
if (!this.currentDialog) return;
|
|
118128
|
+
this.wsManager.sendRaw({
|
|
118129
|
+
type: "resume_dialog",
|
|
118130
|
+
dialog: {
|
|
118131
|
+
selfId: this.currentDialog.selfId,
|
|
118132
|
+
rootId: this.currentDialog.rootId
|
|
118133
|
+
}
|
|
118134
|
+
});
|
|
118135
|
+
}
|
|
117942
118136
|
updateInputPanelVisibility() {
|
|
117943
118137
|
const t2 = getUiStrings(this.uiLanguage);
|
|
117944
118138
|
const readOnly = this.currentDialogStatus === "completed" || this.currentDialogStatus === "archived";
|
|
@@ -117964,6 +118158,7 @@ ${content}`;
|
|
|
117964
118158
|
if (this.q4hInput) {
|
|
117965
118159
|
this.q4hInput.setDisabled(disabled);
|
|
117966
118160
|
}
|
|
118161
|
+
this.updateDialogViewportPanels();
|
|
117967
118162
|
}
|
|
117968
118163
|
async applyDialogSelection(dialog, options) {
|
|
117969
118164
|
const selfId = dialog.selfId || dialog.rootId;
|
|
@@ -117988,6 +118183,7 @@ ${content}`;
|
|
|
117988
118183
|
}
|
|
117989
118184
|
this.currentDialog = normalizedDialog;
|
|
117990
118185
|
this.currentDialogStatus = normalizedDialog.status ?? this.resolveDialogStatus(normalizedDialog);
|
|
118186
|
+
this.retryPanelState = { kind: "hidden" };
|
|
117991
118187
|
this.updateInputPanelVisibility();
|
|
117992
118188
|
this.applyDiligenceState({
|
|
117993
118189
|
disableDiligencePush: false,
|
|
@@ -121620,4 +121816,4 @@ export {
|
|
|
121620
121816
|
clear$2 as y,
|
|
121621
121817
|
defaultConfig2 as z
|
|
121622
121818
|
};
|
|
121623
|
-
//# sourceMappingURL=index-
|
|
121819
|
+
//# sourceMappingURL=index-BvNwR1gS.js.map
|