dominds 1.17.2 → 1.17.4
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-host/host.js +13 -2
- package/dist/apps-host/ipc-types.js +18 -1
- package/dist/dialog-fork.js +1 -0
- package/dist/dialog.js +5 -0
- package/dist/docs/mcp-support.md +4 -1
- package/dist/docs/team_mgmt-toolset.md +8 -7
- package/dist/docs/team_mgmt-toolset.zh.md +6 -5
- package/dist/mcp/manual-problems.d.ts +33 -0
- package/dist/mcp/manual-problems.js +323 -0
- package/dist/mcp/supervisor.js +23 -1
- package/dist/persistence.js +12 -0
- package/dist/priming.js +7 -0
- package/dist/shared-reminders.js +2 -0
- package/dist/tool.d.ts +5 -0
- package/dist/tool.js +66 -4
- package/dist/tools/app-reminders.js +20 -3
- package/dist/tools/ctrl.js +43 -4
- package/dist/tools/manual/output-limit.d.ts +9 -0
- package/dist/tools/manual/output-limit.js +12 -0
- package/dist/tools/os.js +173 -37
- package/dist/tools/pending-tellask-reminder.d.ts +1 -1
- package/dist/tools/pending-tellask-reminder.js +39 -19
- package/dist/tools/team_mgmt-manual.d.ts +2 -0
- package/dist/tools/team_mgmt-manual.js +160 -0
- package/dist/tools/team_mgmt-mcp-manual.d.ts +27 -0
- package/dist/tools/team_mgmt-mcp-manual.js +643 -0
- package/dist/tools/team_mgmt.d.ts +11 -1
- package/dist/tools/team_mgmt.js +22 -867
- package/dist/tools/toolset-manual.js +5 -5
- package/package.json +4 -4
- package/webapp/dist/assets/{_basePickBy-EK9iGcOl.js → _basePickBy-CgM-M_q8.js} +3 -3
- package/webapp/dist/assets/{_basePickBy-EK9iGcOl.js.map → _basePickBy-CgM-M_q8.js.map} +1 -1
- package/webapp/dist/assets/{_baseUniq-BHtz-XvO.js → _baseUniq-B06twih4.js} +2 -2
- package/webapp/dist/assets/{_baseUniq-BHtz-XvO.js.map → _baseUniq-B06twih4.js.map} +1 -1
- package/webapp/dist/assets/{arc-NqUmMwkS.js → arc-CoXJvjeB.js} +2 -2
- package/webapp/dist/assets/{arc-NqUmMwkS.js.map → arc-CoXJvjeB.js.map} +1 -1
- package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CJ7Jb15a.js → architectureDiagram-2XIMDMQ5-BLFRWTKn.js} +7 -7
- package/webapp/dist/assets/{architectureDiagram-2XIMDMQ5-CJ7Jb15a.js.map → architectureDiagram-2XIMDMQ5-BLFRWTKn.js.map} +1 -1
- package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-RNM7ujN4.js → blockDiagram-WCTKOSBZ-CYRE6deu.js} +7 -7
- package/webapp/dist/assets/{blockDiagram-WCTKOSBZ-RNM7ujN4.js.map → blockDiagram-WCTKOSBZ-CYRE6deu.js.map} +1 -1
- package/webapp/dist/assets/{c4Diagram-IC4MRINW-DKra5-za.js → c4Diagram-IC4MRINW-B26QTIJt.js} +3 -3
- package/webapp/dist/assets/{c4Diagram-IC4MRINW-DKra5-za.js.map → c4Diagram-IC4MRINW-B26QTIJt.js.map} +1 -1
- package/webapp/dist/assets/{channel-CxE9sL_E.js → channel-C5U2W0P9.js} +2 -2
- package/webapp/dist/assets/{channel-CxE9sL_E.js.map → channel-C5U2W0P9.js.map} +1 -1
- package/webapp/dist/assets/{chunk-4BX2VUAB-BlyIt9uv.js → chunk-4BX2VUAB-7z2PgnSv.js} +2 -2
- package/webapp/dist/assets/{chunk-4BX2VUAB-BlyIt9uv.js.map → chunk-4BX2VUAB-7z2PgnSv.js.map} +1 -1
- package/webapp/dist/assets/{chunk-55IACEB6-DsPShmjL.js → chunk-55IACEB6-6sRVmXqs.js} +2 -2
- package/webapp/dist/assets/{chunk-55IACEB6-DsPShmjL.js.map → chunk-55IACEB6-6sRVmXqs.js.map} +1 -1
- package/webapp/dist/assets/{chunk-FMBD7UC4-C2i0rEFF.js → chunk-FMBD7UC4-BwYp8OtY.js} +2 -2
- package/webapp/dist/assets/{chunk-FMBD7UC4-C2i0rEFF.js.map → chunk-FMBD7UC4-BwYp8OtY.js.map} +1 -1
- package/webapp/dist/assets/{chunk-JSJVCQXG-CK8inzJx.js → chunk-JSJVCQXG-CRq8LK53.js} +2 -2
- package/webapp/dist/assets/{chunk-JSJVCQXG-CK8inzJx.js.map → chunk-JSJVCQXG-CRq8LK53.js.map} +1 -1
- package/webapp/dist/assets/{chunk-KX2RTZJC-BjEK5_oI.js → chunk-KX2RTZJC-CzFE355P.js} +2 -2
- package/webapp/dist/assets/{chunk-KX2RTZJC-BjEK5_oI.js.map → chunk-KX2RTZJC-CzFE355P.js.map} +1 -1
- package/webapp/dist/assets/{chunk-NQ4KR5QH-Clf489xc.js → chunk-NQ4KR5QH-3cQSOzCt.js} +4 -4
- package/webapp/dist/assets/{chunk-NQ4KR5QH-Clf489xc.js.map → chunk-NQ4KR5QH-3cQSOzCt.js.map} +1 -1
- package/webapp/dist/assets/{chunk-QZHKN3VN-CMikir3s.js → chunk-QZHKN3VN-DWkpxb-w.js} +2 -2
- package/webapp/dist/assets/{chunk-QZHKN3VN-CMikir3s.js.map → chunk-QZHKN3VN-DWkpxb-w.js.map} +1 -1
- package/webapp/dist/assets/{chunk-WL4C6EOR-1gtCLicd.js → chunk-WL4C6EOR-DkpfoQzK.js} +6 -6
- package/webapp/dist/assets/{chunk-WL4C6EOR-1gtCLicd.js.map → chunk-WL4C6EOR-DkpfoQzK.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-VBA2DB6C-kzzlkQ_D.js → classDiagram-VBA2DB6C-mVfJeuZL.js} +7 -7
- package/webapp/dist/assets/{classDiagram-VBA2DB6C-kzzlkQ_D.js.map → classDiagram-VBA2DB6C-mVfJeuZL.js.map} +1 -1
- package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-kzzlkQ_D.js → classDiagram-v2-RAHNMMFH-mVfJeuZL.js} +7 -7
- package/webapp/dist/assets/{classDiagram-v2-RAHNMMFH-kzzlkQ_D.js.map → classDiagram-v2-RAHNMMFH-mVfJeuZL.js.map} +1 -1
- package/webapp/dist/assets/{clone-XglJh1R0.js → clone-5uLJc7AC.js} +2 -2
- package/webapp/dist/assets/{clone-XglJh1R0.js.map → clone-5uLJc7AC.js.map} +1 -1
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A--gZrh2tG.js → cose-bilkent-S5V4N54A-CoiJzdQi.js} +2 -2
- package/webapp/dist/assets/{cose-bilkent-S5V4N54A--gZrh2tG.js.map → cose-bilkent-S5V4N54A-CoiJzdQi.js.map} +1 -1
- package/webapp/dist/assets/{dagre-KLK3FWXG-D_JMhNNL.js → dagre-KLK3FWXG-DU_3BSOq.js} +7 -7
- package/webapp/dist/assets/{dagre-KLK3FWXG-D_JMhNNL.js.map → dagre-KLK3FWXG-DU_3BSOq.js.map} +1 -1
- package/webapp/dist/assets/{diagram-E7M64L7V-HkYhqJDL.js → diagram-E7M64L7V-DgqOvF1U.js} +8 -8
- package/webapp/dist/assets/{diagram-E7M64L7V-HkYhqJDL.js.map → diagram-E7M64L7V-DgqOvF1U.js.map} +1 -1
- package/webapp/dist/assets/{diagram-IFDJBPK2-BFv5iU5U.js → diagram-IFDJBPK2-CFWMc1oD.js} +7 -7
- package/webapp/dist/assets/{diagram-IFDJBPK2-BFv5iU5U.js.map → diagram-IFDJBPK2-CFWMc1oD.js.map} +1 -1
- package/webapp/dist/assets/{diagram-P4PSJMXO-Dg46tTnk.js → diagram-P4PSJMXO-lrqvXDXp.js} +7 -7
- package/webapp/dist/assets/{diagram-P4PSJMXO-Dg46tTnk.js.map → diagram-P4PSJMXO-lrqvXDXp.js.map} +1 -1
- package/webapp/dist/assets/{erDiagram-INFDFZHY-BzJClUtq.js → erDiagram-INFDFZHY-C28KjRkA.js} +5 -5
- package/webapp/dist/assets/{erDiagram-INFDFZHY-BzJClUtq.js.map → erDiagram-INFDFZHY-C28KjRkA.js.map} +1 -1
- package/webapp/dist/assets/{flowDiagram-PKNHOUZH-IBGgxeki.js → flowDiagram-PKNHOUZH-DkxGh-JF.js} +7 -7
- package/webapp/dist/assets/{flowDiagram-PKNHOUZH-IBGgxeki.js.map → flowDiagram-PKNHOUZH-DkxGh-JF.js.map} +1 -1
- package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-DdxgzFKe.js → ganttDiagram-A5KZAMGK-BmZnHD96.js} +3 -3
- package/webapp/dist/assets/{ganttDiagram-A5KZAMGK-DdxgzFKe.js.map → ganttDiagram-A5KZAMGK-BmZnHD96.js.map} +1 -1
- package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-C14OpSSI.js → gitGraphDiagram-K3NZZRJ6-xiHqomZC.js} +8 -8
- package/webapp/dist/assets/{gitGraphDiagram-K3NZZRJ6-C14OpSSI.js.map → gitGraphDiagram-K3NZZRJ6-xiHqomZC.js.map} +1 -1
- package/webapp/dist/assets/{graph-BrKKvSVx.js → graph-ozb0amP0.js} +3 -3
- package/webapp/dist/assets/{graph-BrKKvSVx.js.map → graph-ozb0amP0.js.map} +1 -1
- package/webapp/dist/assets/{index-BV_dDe3L.js → index-Cyx7eev_.js} +700 -165
- package/webapp/dist/assets/{index-BV_dDe3L.js.map → index-Cyx7eev_.js.map} +1 -1
- package/webapp/dist/assets/{infoDiagram-LFFYTUFH-k0Yv94VI.js → infoDiagram-LFFYTUFH-fLl_TA1F.js} +6 -6
- package/webapp/dist/assets/{infoDiagram-LFFYTUFH-k0Yv94VI.js.map → infoDiagram-LFFYTUFH-fLl_TA1F.js.map} +1 -1
- package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-C3EYBxjN.js → ishikawaDiagram-PHBUUO56-ZL9tBKUr.js} +2 -2
- package/webapp/dist/assets/{ishikawaDiagram-PHBUUO56-C3EYBxjN.js.map → ishikawaDiagram-PHBUUO56-ZL9tBKUr.js.map} +1 -1
- package/webapp/dist/assets/{journeyDiagram-4ABVD52K-BnSlOrbq.js → journeyDiagram-4ABVD52K--aRyymZs.js} +5 -5
- package/webapp/dist/assets/{journeyDiagram-4ABVD52K-BnSlOrbq.js.map → journeyDiagram-4ABVD52K--aRyymZs.js.map} +1 -1
- package/webapp/dist/assets/{kanban-definition-K7BYSVSG-CNYH0HDF.js → kanban-definition-K7BYSVSG-BO_QdW_O.js} +3 -3
- package/webapp/dist/assets/{kanban-definition-K7BYSVSG-CNYH0HDF.js.map → kanban-definition-K7BYSVSG-BO_QdW_O.js.map} +1 -1
- package/webapp/dist/assets/{layout-NtmBC9CZ.js → layout-Bu3Xw0z2.js} +5 -5
- package/webapp/dist/assets/{layout-NtmBC9CZ.js.map → layout-Bu3Xw0z2.js.map} +1 -1
- package/webapp/dist/assets/{linear-BrqwApt9.js → linear-Bq77itJm.js} +2 -2
- package/webapp/dist/assets/{linear-BrqwApt9.js.map → linear-Bq77itJm.js.map} +1 -1
- package/webapp/dist/assets/{mindmap-definition-YRQLILUH-DcknQb8H.js → mindmap-definition-YRQLILUH-CHB8qv8L.js} +4 -4
- package/webapp/dist/assets/{mindmap-definition-YRQLILUH-DcknQb8H.js.map → mindmap-definition-YRQLILUH-CHB8qv8L.js.map} +1 -1
- package/webapp/dist/assets/{pieDiagram-SKSYHLDU-wydKHXzN.js → pieDiagram-SKSYHLDU-Cxg_wh4K.js} +8 -8
- package/webapp/dist/assets/{pieDiagram-SKSYHLDU-wydKHXzN.js.map → pieDiagram-SKSYHLDU-Cxg_wh4K.js.map} +1 -1
- package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-D6i3VaFO.js → quadrantDiagram-337W2JSQ-DFguuaS9.js} +3 -3
- package/webapp/dist/assets/{quadrantDiagram-337W2JSQ-D6i3VaFO.js.map → quadrantDiagram-337W2JSQ-DFguuaS9.js.map} +1 -1
- package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-C0sBwH6H.js → requirementDiagram-Z7DCOOCP--tJ_dfsT.js} +4 -4
- package/webapp/dist/assets/{requirementDiagram-Z7DCOOCP-C0sBwH6H.js.map → requirementDiagram-Z7DCOOCP--tJ_dfsT.js.map} +1 -1
- package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-33jPg4PK.js → sankeyDiagram-WA2Y5GQK-f0zWimMc.js} +2 -2
- package/webapp/dist/assets/{sankeyDiagram-WA2Y5GQK-33jPg4PK.js.map → sankeyDiagram-WA2Y5GQK-f0zWimMc.js.map} +1 -1
- package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-CJsKHnh5.js → sequenceDiagram-2WXFIKYE-dwXRRnyq.js} +4 -4
- package/webapp/dist/assets/{sequenceDiagram-2WXFIKYE-CJsKHnh5.js.map → sequenceDiagram-2WXFIKYE-dwXRRnyq.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-RAJIS63D-B6A5jTdU.js → stateDiagram-RAJIS63D-DToxcEC2.js} +9 -9
- package/webapp/dist/assets/{stateDiagram-RAJIS63D-B6A5jTdU.js.map → stateDiagram-RAJIS63D-DToxcEC2.js.map} +1 -1
- package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-6YIjpVKr.js → stateDiagram-v2-FVOUBMTO-BY5hDUqz.js} +5 -5
- package/webapp/dist/assets/{stateDiagram-v2-FVOUBMTO-6YIjpVKr.js.map → stateDiagram-v2-FVOUBMTO-BY5hDUqz.js.map} +1 -1
- package/webapp/dist/assets/{timeline-definition-YZTLITO2-BQS5KHfj.js → timeline-definition-YZTLITO2-CT3WRcFt.js} +3 -3
- package/webapp/dist/assets/{timeline-definition-YZTLITO2-BQS5KHfj.js.map → timeline-definition-YZTLITO2-CT3WRcFt.js.map} +1 -1
- package/webapp/dist/assets/{treemap-KZPCXAKY-DB1uUX8l.js → treemap-KZPCXAKY-Lnkh2bpd.js} +5 -5
- package/webapp/dist/assets/{treemap-KZPCXAKY-DB1uUX8l.js.map → treemap-KZPCXAKY-Lnkh2bpd.js.map} +1 -1
- package/webapp/dist/assets/{vennDiagram-LZ73GAT5-BtcfWZJx.js → vennDiagram-LZ73GAT5-CYSLSh1w.js} +2 -2
- package/webapp/dist/assets/{vennDiagram-LZ73GAT5-BtcfWZJx.js.map → vennDiagram-LZ73GAT5-CYSLSh1w.js.map} +1 -1
- package/webapp/dist/assets/{xychartDiagram-JWTSCODW-CfIdcI74.js → xychartDiagram-JWTSCODW-DgvaqrGO.js} +3 -3
- package/webapp/dist/assets/{xychartDiagram-JWTSCODW-CfIdcI74.js.map → xychartDiagram-JWTSCODW-DgvaqrGO.js.map} +1 -1
- 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-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dagre-KLK3FWXG-DU_3BSOq.js","assets/graph-ozb0amP0.js","assets/_baseUniq-B06twih4.js","assets/layout-Bu3Xw0z2.js","assets/_basePickBy-CgM-M_q8.js","assets/clone-5uLJc7AC.js","assets/cose-bilkent-S5V4N54A-CoiJzdQi.js","assets/cytoscape.esm-Bm8DJGmZ.js","assets/c4Diagram-IC4MRINW-B26QTIJt.js","assets/chunk-JSJVCQXG-CRq8LK53.js","assets/flowDiagram-PKNHOUZH-DkxGh-JF.js","assets/chunk-FMBD7UC4-BwYp8OtY.js","assets/chunk-55IACEB6-6sRVmXqs.js","assets/chunk-KX2RTZJC-CzFE355P.js","assets/channel-C5U2W0P9.js","assets/erDiagram-INFDFZHY-C28KjRkA.js","assets/gitGraphDiagram-K3NZZRJ6-xiHqomZC.js","assets/chunk-4BX2VUAB-7z2PgnSv.js","assets/chunk-QZHKN3VN-DWkpxb-w.js","assets/treemap-KZPCXAKY-Lnkh2bpd.js","assets/ganttDiagram-A5KZAMGK-BmZnHD96.js","assets/linear-Bq77itJm.js","assets/init-ZxktEp_H.js","assets/defaultLocale-B2RvLBDe.js","assets/infoDiagram-LFFYTUFH-fLl_TA1F.js","assets/pieDiagram-SKSYHLDU-Cxg_wh4K.js","assets/arc-CoXJvjeB.js","assets/ordinal-CxptdPJm.js","assets/quadrantDiagram-337W2JSQ-DFguuaS9.js","assets/xychartDiagram-JWTSCODW-DgvaqrGO.js","assets/requirementDiagram-Z7DCOOCP--tJ_dfsT.js","assets/sequenceDiagram-2WXFIKYE-dwXRRnyq.js","assets/classDiagram-VBA2DB6C-mVfJeuZL.js","assets/chunk-WL4C6EOR-DkpfoQzK.js","assets/classDiagram-v2-RAHNMMFH-mVfJeuZL.js","assets/stateDiagram-RAJIS63D-DToxcEC2.js","assets/chunk-NQ4KR5QH-3cQSOzCt.js","assets/stateDiagram-v2-FVOUBMTO-BY5hDUqz.js","assets/journeyDiagram-4ABVD52K--aRyymZs.js","assets/timeline-definition-YZTLITO2-CT3WRcFt.js","assets/mindmap-definition-YRQLILUH-CHB8qv8L.js","assets/kanban-definition-K7BYSVSG-BO_QdW_O.js","assets/sankeyDiagram-WA2Y5GQK-f0zWimMc.js","assets/diagram-P4PSJMXO-lrqvXDXp.js","assets/diagram-IFDJBPK2-CFWMc1oD.js","assets/blockDiagram-WCTKOSBZ-CYRE6deu.js","assets/architectureDiagram-2XIMDMQ5-BLFRWTKn.js","assets/diagram-E7M64L7V-DgqOvF1U.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);
|
|
@@ -63314,11 +63314,176 @@ function requireLib() {
|
|
|
63314
63314
|
}
|
|
63315
63315
|
var libExports = /* @__PURE__ */ requireLib();
|
|
63316
63316
|
const HighlightJS = /* @__PURE__ */ getDefaultExportFromCjs(libExports);
|
|
63317
|
+
const PROGRESSIVE_EXPAND_INITIAL_MAX_HEIGHT_PX = 120;
|
|
63318
|
+
const PROGRESSIVE_EXPAND_STEP_PARENT_RATIO = 1 / 3;
|
|
63319
|
+
const PROGRESSIVE_EXPAND_STEP_PARENT_ATTR = "data-progressive-expand-step-parent";
|
|
63320
|
+
function sameProgressiveExpandState(left, right) {
|
|
63321
|
+
if (left.kind !== right.kind) return false;
|
|
63322
|
+
if (left.kind !== "partial" || right.kind !== "partial") return true;
|
|
63323
|
+
return left.maxHeightPx === right.maxHeightPx;
|
|
63324
|
+
}
|
|
63325
|
+
function resolveProgressiveExpandStepParent(target) {
|
|
63326
|
+
return target.closest(`[${PROGRESSIVE_EXPAND_STEP_PARENT_ATTR}="true"]`);
|
|
63327
|
+
}
|
|
63328
|
+
function computeProgressiveExpandStepPx(parent) {
|
|
63329
|
+
const parentHeight = parent?.clientHeight ?? 0;
|
|
63330
|
+
const viewportHeight = typeof window === "undefined" ? 0 : window.innerHeight;
|
|
63331
|
+
const referenceHeight = parentHeight > 0 ? parentHeight : viewportHeight > 0 ? viewportHeight : PROGRESSIVE_EXPAND_INITIAL_MAX_HEIGHT_PX;
|
|
63332
|
+
return Math.max(1, Math.floor(referenceHeight * PROGRESSIVE_EXPAND_STEP_PARENT_RATIO));
|
|
63333
|
+
}
|
|
63334
|
+
function getProgressiveExpandLabel(language2) {
|
|
63335
|
+
return language2 === "zh" ? { text: "展开更多", title: "展开更多" } : { text: "Show more", title: "Show more" };
|
|
63336
|
+
}
|
|
63337
|
+
class ProgressiveExpandableComponent {
|
|
63338
|
+
constructor(options) {
|
|
63339
|
+
this.overflowObserver = null;
|
|
63340
|
+
this.boundOnNestedGrowth = (event) => {
|
|
63341
|
+
if (!(event instanceof CustomEvent)) return;
|
|
63342
|
+
if (event.type !== "progressive-expand-content-grown") return;
|
|
63343
|
+
if (event.target === this.target) return;
|
|
63344
|
+
if (this.currentState.kind === "full") return;
|
|
63345
|
+
requestAnimationFrame(() => {
|
|
63346
|
+
this.refreshExpandFooter();
|
|
63347
|
+
});
|
|
63348
|
+
};
|
|
63349
|
+
this.boundOnClick = () => {
|
|
63350
|
+
const stepPx = computeProgressiveExpandStepPx(this.stepParent);
|
|
63351
|
+
const currentMaxHeightPx = this.currentState.kind === "partial" ? Math.max(this.currentState.maxHeightPx, this.target.clientHeight) : Math.max(this.target.clientHeight, PROGRESSIVE_EXPAND_INITIAL_MAX_HEIGHT_PX);
|
|
63352
|
+
const nextMaxHeightPx = currentMaxHeightPx + stepPx;
|
|
63353
|
+
this.collapseToHeight(nextMaxHeightPx);
|
|
63354
|
+
this.updateState({ kind: "partial", maxHeightPx: nextMaxHeightPx });
|
|
63355
|
+
requestAnimationFrame(() => {
|
|
63356
|
+
this.refreshExpandFooter();
|
|
63357
|
+
this.emitContentGrown("expand-step");
|
|
63358
|
+
this.onAfterExpandStep?.();
|
|
63359
|
+
});
|
|
63360
|
+
};
|
|
63361
|
+
this.target = options.target;
|
|
63362
|
+
this.footer = options.footer;
|
|
63363
|
+
this.button = options.button;
|
|
63364
|
+
this.stepParent = options.stepParent ?? null;
|
|
63365
|
+
this.label = options.label;
|
|
63366
|
+
this.observeTargetUntilOverflow = options.observeTargetUntilOverflow === true;
|
|
63367
|
+
this.onStateChange = options.onStateChange;
|
|
63368
|
+
this.onAfterExpandStep = options.onAfterExpandStep;
|
|
63369
|
+
this.currentState = options.state ?? { kind: "initial" };
|
|
63370
|
+
this.button.setAttribute("aria-label", this.label.text);
|
|
63371
|
+
this.button.title = this.label.title;
|
|
63372
|
+
this.button.onclick = this.boundOnClick;
|
|
63373
|
+
this.target.addEventListener(
|
|
63374
|
+
"progressive-expand-content-grown",
|
|
63375
|
+
this.boundOnNestedGrowth
|
|
63376
|
+
);
|
|
63377
|
+
this.applyCurrentState();
|
|
63378
|
+
this.attachOverflowObserverIfNeeded();
|
|
63379
|
+
this.refreshExpandFooter();
|
|
63380
|
+
requestAnimationFrame(() => {
|
|
63381
|
+
this.refreshExpandFooter();
|
|
63382
|
+
});
|
|
63383
|
+
}
|
|
63384
|
+
cleanup() {
|
|
63385
|
+
this.disconnectOverflowObserver();
|
|
63386
|
+
this.button.onclick = null;
|
|
63387
|
+
this.target.removeEventListener(
|
|
63388
|
+
"progressive-expand-content-grown",
|
|
63389
|
+
this.boundOnNestedGrowth
|
|
63390
|
+
);
|
|
63391
|
+
}
|
|
63392
|
+
emitContentGrown(reason) {
|
|
63393
|
+
dispatchDomindsEvent(
|
|
63394
|
+
this.target,
|
|
63395
|
+
"progressive-expand-content-grown",
|
|
63396
|
+
{ reason },
|
|
63397
|
+
{ bubbles: true, composed: true }
|
|
63398
|
+
);
|
|
63399
|
+
}
|
|
63400
|
+
updateState(nextState) {
|
|
63401
|
+
if (sameProgressiveExpandState(this.currentState, nextState)) return;
|
|
63402
|
+
this.currentState = nextState;
|
|
63403
|
+
this.onStateChange?.(nextState);
|
|
63404
|
+
}
|
|
63405
|
+
collapseToHeight(heightPx) {
|
|
63406
|
+
this.target.style.maxHeight = `${Math.max(PROGRESSIVE_EXPAND_INITIAL_MAX_HEIGHT_PX, heightPx)}px`;
|
|
63407
|
+
this.target.style.overflowY = "hidden";
|
|
63408
|
+
}
|
|
63409
|
+
collapseToInitial() {
|
|
63410
|
+
this.collapseToHeight(PROGRESSIVE_EXPAND_INITIAL_MAX_HEIGHT_PX);
|
|
63411
|
+
}
|
|
63412
|
+
showCurrentContentFully() {
|
|
63413
|
+
this.target.style.maxHeight = "none";
|
|
63414
|
+
this.target.style.overflowY = "visible";
|
|
63415
|
+
}
|
|
63416
|
+
disconnectOverflowObserver() {
|
|
63417
|
+
this.overflowObserver?.disconnect();
|
|
63418
|
+
this.overflowObserver = null;
|
|
63419
|
+
}
|
|
63420
|
+
expandFully() {
|
|
63421
|
+
this.showCurrentContentFully();
|
|
63422
|
+
this.footer.classList.add("is-hidden");
|
|
63423
|
+
this.disconnectOverflowObserver();
|
|
63424
|
+
this.updateState({ kind: "full" });
|
|
63425
|
+
}
|
|
63426
|
+
applyCurrentState() {
|
|
63427
|
+
switch (this.currentState.kind) {
|
|
63428
|
+
case "initial":
|
|
63429
|
+
this.collapseToInitial();
|
|
63430
|
+
return;
|
|
63431
|
+
case "partial":
|
|
63432
|
+
this.collapseToHeight(this.currentState.maxHeightPx);
|
|
63433
|
+
return;
|
|
63434
|
+
case "full":
|
|
63435
|
+
this.expandFully();
|
|
63436
|
+
return;
|
|
63437
|
+
}
|
|
63438
|
+
}
|
|
63439
|
+
attachOverflowObserverIfNeeded() {
|
|
63440
|
+
this.disconnectOverflowObserver();
|
|
63441
|
+
if (!this.observeTargetUntilOverflow || this.currentState.kind !== "initial" || typeof ResizeObserver === "undefined") {
|
|
63442
|
+
return;
|
|
63443
|
+
}
|
|
63444
|
+
this.overflowObserver = new ResizeObserver(() => {
|
|
63445
|
+
this.refreshExpandFooter();
|
|
63446
|
+
this.emitContentGrown("content-growth");
|
|
63447
|
+
});
|
|
63448
|
+
this.overflowObserver.observe(this.target);
|
|
63449
|
+
}
|
|
63450
|
+
refreshExpandFooter() {
|
|
63451
|
+
if (!this.target.isConnected) return;
|
|
63452
|
+
if (this.currentState.kind === "initial") {
|
|
63453
|
+
const exceedsInitialClamp = this.target.scrollHeight > PROGRESSIVE_EXPAND_INITIAL_MAX_HEIGHT_PX + 1;
|
|
63454
|
+
if (exceedsInitialClamp) {
|
|
63455
|
+
this.collapseToInitial();
|
|
63456
|
+
this.footer.classList.remove("is-hidden");
|
|
63457
|
+
this.disconnectOverflowObserver();
|
|
63458
|
+
return;
|
|
63459
|
+
}
|
|
63460
|
+
this.footer.classList.add("is-hidden");
|
|
63461
|
+
this.showCurrentContentFully();
|
|
63462
|
+
return;
|
|
63463
|
+
}
|
|
63464
|
+
const overflow = this.target.scrollHeight > this.target.clientHeight + 1;
|
|
63465
|
+
if (overflow) {
|
|
63466
|
+
this.footer.classList.remove("is-hidden");
|
|
63467
|
+
this.disconnectOverflowObserver();
|
|
63468
|
+
return;
|
|
63469
|
+
}
|
|
63470
|
+
this.footer.classList.add("is-hidden");
|
|
63471
|
+
this.expandFully();
|
|
63472
|
+
}
|
|
63473
|
+
}
|
|
63474
|
+
function setupProgressiveExpandBehavior(options) {
|
|
63475
|
+
const component = new ProgressiveExpandableComponent(options);
|
|
63476
|
+
return () => {
|
|
63477
|
+
component.cleanup();
|
|
63478
|
+
};
|
|
63479
|
+
}
|
|
63317
63480
|
class DomindsCodeBlock extends HTMLElement {
|
|
63318
63481
|
constructor() {
|
|
63319
63482
|
super();
|
|
63320
63483
|
this._language = "";
|
|
63321
63484
|
this._code = "";
|
|
63485
|
+
this.progressiveExpandCleanup = null;
|
|
63486
|
+
this.progressiveExpandState = { kind: "initial" };
|
|
63322
63487
|
this.style.display = "block";
|
|
63323
63488
|
}
|
|
63324
63489
|
static get observedAttributes() {
|
|
@@ -63327,6 +63492,10 @@ class DomindsCodeBlock extends HTMLElement {
|
|
|
63327
63492
|
connectedCallback() {
|
|
63328
63493
|
this.render();
|
|
63329
63494
|
}
|
|
63495
|
+
disconnectedCallback() {
|
|
63496
|
+
this.progressiveExpandCleanup?.();
|
|
63497
|
+
this.progressiveExpandCleanup = null;
|
|
63498
|
+
}
|
|
63330
63499
|
attributeChangedCallback(name, oldValue, newValue) {
|
|
63331
63500
|
if (name === "language" && oldValue !== newValue) {
|
|
63332
63501
|
this._language = newValue;
|
|
@@ -63413,11 +63582,82 @@ class DomindsCodeBlock extends HTMLElement {
|
|
|
63413
63582
|
background: var(--dominds-bg, var(--color-bg-primary, #f8f8f8));
|
|
63414
63583
|
overflow: auto;
|
|
63415
63584
|
}
|
|
63585
|
+
.code-expand-footer {
|
|
63586
|
+
display: flex;
|
|
63587
|
+
justify-content: center;
|
|
63588
|
+
align-items: center;
|
|
63589
|
+
padding: 0 0 4px;
|
|
63590
|
+
margin-top: -1px;
|
|
63591
|
+
background: linear-gradient(
|
|
63592
|
+
to bottom,
|
|
63593
|
+
color-mix(in srgb, var(--dominds-bg-secondary, #ffffff) 0%, transparent),
|
|
63594
|
+
var(--dominds-bg-secondary, var(--color-bg-secondary, #ffffff)) 72%
|
|
63595
|
+
);
|
|
63596
|
+
}
|
|
63597
|
+
.code-expand-footer.is-hidden {
|
|
63598
|
+
display: none;
|
|
63599
|
+
}
|
|
63600
|
+
.code-expand-btn {
|
|
63601
|
+
width: 28px;
|
|
63602
|
+
height: 20px;
|
|
63603
|
+
border-radius: 999px;
|
|
63604
|
+
border: 1px solid var(--dominds-border, var(--color-border-primary, #e5e5e5));
|
|
63605
|
+
background: var(--dominds-bg-secondary, var(--color-bg-secondary, #ffffff));
|
|
63606
|
+
color: var(--dominds-muted, var(--color-fg-tertiary, #616161));
|
|
63607
|
+
cursor: pointer;
|
|
63608
|
+
display: inline-flex;
|
|
63609
|
+
align-items: center;
|
|
63610
|
+
justify-content: center;
|
|
63611
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
|
|
63612
|
+
transition:
|
|
63613
|
+
background 0.2s ease,
|
|
63614
|
+
border-color 0.2s ease,
|
|
63615
|
+
color 0.2s ease,
|
|
63616
|
+
box-shadow 0.2s ease;
|
|
63617
|
+
}
|
|
63618
|
+
.code-expand-btn:hover {
|
|
63619
|
+
border-color: var(--dominds-primary, var(--color-accent-primary, #005fb8));
|
|
63620
|
+
color: var(--dominds-primary, var(--color-accent-primary, #005fb8));
|
|
63621
|
+
background: color-mix(
|
|
63622
|
+
in srgb,
|
|
63623
|
+
var(--dominds-bg-secondary, #ffffff) 85%,
|
|
63624
|
+
var(--dominds-primary, #005fb8) 15%
|
|
63625
|
+
);
|
|
63626
|
+
}
|
|
63627
|
+
.code-expand-btn:focus-visible {
|
|
63628
|
+
outline: 2px solid var(--dominds-primary, var(--color-accent-primary, #005fb8));
|
|
63629
|
+
outline-offset: 1px;
|
|
63630
|
+
}
|
|
63631
|
+
.code-expand-icon {
|
|
63632
|
+
width: 12px;
|
|
63633
|
+
height: 12px;
|
|
63634
|
+
--icon-mask: ${ICON_MASK_URLS.chevronsDown};
|
|
63635
|
+
animation: progressive-expand-flash 2.2s ease-in-out infinite;
|
|
63636
|
+
}
|
|
63637
|
+
.code-expand-btn:hover .code-expand-icon,
|
|
63638
|
+
.code-expand-btn:focus-visible .code-expand-icon {
|
|
63639
|
+
animation-play-state: paused;
|
|
63640
|
+
}
|
|
63416
63641
|
code.hljs {
|
|
63417
63642
|
padding: 0;
|
|
63418
63643
|
background: transparent;
|
|
63419
63644
|
color: var(--dominds-fg, var(--color-fg-primary, #3b3b3b));
|
|
63420
63645
|
}
|
|
63646
|
+
@keyframes progressive-expand-flash {
|
|
63647
|
+
0%,
|
|
63648
|
+
100% {
|
|
63649
|
+
opacity: 0.5;
|
|
63650
|
+
transform: translateY(0);
|
|
63651
|
+
}
|
|
63652
|
+
35% {
|
|
63653
|
+
opacity: 1;
|
|
63654
|
+
transform: translateY(1px);
|
|
63655
|
+
}
|
|
63656
|
+
60% {
|
|
63657
|
+
opacity: 0.75;
|
|
63658
|
+
transform: translateY(3px);
|
|
63659
|
+
}
|
|
63660
|
+
}
|
|
63421
63661
|
</style>
|
|
63422
63662
|
<div class="code-block-wrapper">
|
|
63423
63663
|
<div class="code-header">
|
|
@@ -63425,13 +63665,45 @@ class DomindsCodeBlock extends HTMLElement {
|
|
|
63425
63665
|
<button class="copy-btn" title="Copy code" aria-label="Copy code" onclick="navigator.clipboard.writeText(this.parentElement.nextElementSibling.querySelector('code').textContent)"><span class="icon-mask" aria-hidden="true"></span></button>
|
|
63426
63666
|
</div>
|
|
63427
63667
|
<pre><code class="hljs language-${language2}">${highlighted}</code></pre>
|
|
63668
|
+
<div class="code-expand-footer is-hidden">
|
|
63669
|
+
<button type="button" class="code-expand-btn">
|
|
63670
|
+
<span class="code-expand-icon icon-mask" aria-hidden="true"></span>
|
|
63671
|
+
</button>
|
|
63672
|
+
</div>
|
|
63428
63673
|
</div>
|
|
63429
63674
|
`;
|
|
63675
|
+
this.setupProgressiveExpand();
|
|
63430
63676
|
} catch (error2) {
|
|
63431
63677
|
console.error("Highlighting error:", error2);
|
|
63432
63678
|
this.innerHTML = `<pre><code>${this._code}</code></pre>`;
|
|
63433
63679
|
}
|
|
63434
63680
|
}
|
|
63681
|
+
setupProgressiveExpand() {
|
|
63682
|
+
const target = this.querySelector("pre");
|
|
63683
|
+
const footer = this.querySelector(".code-expand-footer");
|
|
63684
|
+
const button = this.querySelector(".code-expand-btn");
|
|
63685
|
+
if (!(target instanceof HTMLElement)) return;
|
|
63686
|
+
if (!(footer instanceof HTMLElement)) return;
|
|
63687
|
+
if (!(button instanceof HTMLButtonElement)) return;
|
|
63688
|
+
const stepParent = resolveProgressiveExpandStepParent(this);
|
|
63689
|
+
const language2 = this.closest("[lang]")?.getAttribute("lang") ?? "en";
|
|
63690
|
+
this.progressiveExpandCleanup?.();
|
|
63691
|
+
this.progressiveExpandCleanup = setupProgressiveExpandBehavior({
|
|
63692
|
+
target,
|
|
63693
|
+
footer,
|
|
63694
|
+
button,
|
|
63695
|
+
stepParent,
|
|
63696
|
+
label: getProgressiveExpandLabel(language2),
|
|
63697
|
+
// Code blocks can keep growing while streaming output arrives. Observe only the code block
|
|
63698
|
+
// itself until it first crosses the initial clamp threshold; never infer or observe parent
|
|
63699
|
+
// containers here.
|
|
63700
|
+
observeTargetUntilOverflow: true,
|
|
63701
|
+
state: this.progressiveExpandState,
|
|
63702
|
+
onStateChange: (state2) => {
|
|
63703
|
+
this.progressiveExpandState = state2;
|
|
63704
|
+
}
|
|
63705
|
+
});
|
|
63706
|
+
}
|
|
63435
63707
|
}
|
|
63436
63708
|
if (!customElements.get("dominds-code-block")) {
|
|
63437
63709
|
customElements.define("dominds-code-block", DomindsCodeBlock);
|
|
@@ -98071,12 +98343,12 @@ var registerDefaultLayoutLoaders = /* @__PURE__ */ __name(() => {
|
|
|
98071
98343
|
registerLayoutLoaders([
|
|
98072
98344
|
{
|
|
98073
98345
|
name: "dagre",
|
|
98074
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-
|
|
98346
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./dagre-KLK3FWXG-DU_3BSOq.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0), "loader")
|
|
98075
98347
|
},
|
|
98076
98348
|
...[
|
|
98077
98349
|
{
|
|
98078
98350
|
name: "cose-bilkent",
|
|
98079
|
-
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A
|
|
98351
|
+
loader: /* @__PURE__ */ __name(async () => await __vitePreload(() => import("./cose-bilkent-S5V4N54A-CoiJzdQi.js"), true ? __vite__mapDeps([6,7]) : void 0), "loader")
|
|
98080
98352
|
}
|
|
98081
98353
|
]
|
|
98082
98354
|
]);
|
|
@@ -98461,12 +98733,12 @@ function baseKeys(object) {
|
|
|
98461
98733
|
var DataView = getNative(root, "DataView");
|
|
98462
98734
|
var Promise$1 = getNative(root, "Promise");
|
|
98463
98735
|
var Set$1 = getNative(root, "Set");
|
|
98464
|
-
var WeakMap
|
|
98736
|
+
var WeakMap = getNative(root, "WeakMap");
|
|
98465
98737
|
var mapTag$1 = "[object Map]", objectTag = "[object Object]", promiseTag = "[object Promise]", setTag$1 = "[object Set]", weakMapTag = "[object WeakMap]";
|
|
98466
98738
|
var dataViewTag = "[object DataView]";
|
|
98467
|
-
var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set$1), weakMapCtorString = toSource(WeakMap
|
|
98739
|
+
var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set$1), weakMapCtorString = toSource(WeakMap);
|
|
98468
98740
|
var getTag = baseGetTag;
|
|
98469
|
-
if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map$1 && getTag(new Map$1()) != mapTag$1 || Promise$1 && getTag(Promise$1.resolve()) != promiseTag || Set$1 && getTag(new Set$1()) != setTag$1 || WeakMap
|
|
98741
|
+
if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map$1 && getTag(new Map$1()) != mapTag$1 || Promise$1 && getTag(Promise$1.resolve()) != promiseTag || Set$1 && getTag(new Set$1()) != setTag$1 || WeakMap && getTag(new WeakMap()) != weakMapTag) {
|
|
98470
98742
|
getTag = function(value) {
|
|
98471
98743
|
var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
|
|
98472
98744
|
if (ctorString) {
|
|
@@ -98516,7 +98788,7 @@ var detector = /* @__PURE__ */ __name((txt) => {
|
|
|
98516
98788
|
}, "detector");
|
|
98517
98789
|
var loader = /* @__PURE__ */ __name(async () => {
|
|
98518
98790
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98519
|
-
const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-
|
|
98791
|
+
const { diagram: diagram22 } = await import("./c4Diagram-IC4MRINW-B26QTIJt.js");
|
|
98520
98792
|
return { diagram: diagram22 };
|
|
98521
98793
|
}, true ? __vite__mapDeps([8,9]) : void 0);
|
|
98522
98794
|
return { id: id$1, diagram: diagram2 };
|
|
@@ -98536,7 +98808,7 @@ var detector2 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98536
98808
|
}, "detector");
|
|
98537
98809
|
var loader2 = /* @__PURE__ */ __name(async () => {
|
|
98538
98810
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98539
|
-
const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-
|
|
98811
|
+
const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DkxGh-JF.js");
|
|
98540
98812
|
return { diagram: diagram22 };
|
|
98541
98813
|
}, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
|
|
98542
98814
|
return { id: id2, diagram: diagram2 };
|
|
@@ -98562,7 +98834,7 @@ var detector3 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98562
98834
|
}, "detector");
|
|
98563
98835
|
var loader3 = /* @__PURE__ */ __name(async () => {
|
|
98564
98836
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98565
|
-
const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-
|
|
98837
|
+
const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DkxGh-JF.js");
|
|
98566
98838
|
return { diagram: diagram22 };
|
|
98567
98839
|
}, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
|
|
98568
98840
|
return { id: id3, diagram: diagram2 };
|
|
@@ -98579,7 +98851,7 @@ var detector4 = /* @__PURE__ */ __name((txt) => {
|
|
|
98579
98851
|
}, "detector");
|
|
98580
98852
|
var loader4 = /* @__PURE__ */ __name(async () => {
|
|
98581
98853
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98582
|
-
const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-
|
|
98854
|
+
const { diagram: diagram22 } = await import("./erDiagram-INFDFZHY-C28KjRkA.js");
|
|
98583
98855
|
return { diagram: diagram22 };
|
|
98584
98856
|
}, true ? __vite__mapDeps([15,12,13,14]) : void 0);
|
|
98585
98857
|
return { id: id4, diagram: diagram2 };
|
|
@@ -98596,7 +98868,7 @@ var detector5 = /* @__PURE__ */ __name((txt) => {
|
|
|
98596
98868
|
}, "detector");
|
|
98597
98869
|
var loader5 = /* @__PURE__ */ __name(async () => {
|
|
98598
98870
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98599
|
-
const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-
|
|
98871
|
+
const { diagram: diagram22 } = await import("./gitGraphDiagram-K3NZZRJ6-xiHqomZC.js");
|
|
98600
98872
|
return { diagram: diagram22 };
|
|
98601
98873
|
}, true ? __vite__mapDeps([16,17,18,19,2,4,5]) : void 0);
|
|
98602
98874
|
return { id: id5, diagram: diagram2 };
|
|
@@ -98613,7 +98885,7 @@ var detector6 = /* @__PURE__ */ __name((txt) => {
|
|
|
98613
98885
|
}, "detector");
|
|
98614
98886
|
var loader6 = /* @__PURE__ */ __name(async () => {
|
|
98615
98887
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98616
|
-
const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-
|
|
98888
|
+
const { diagram: diagram22 } = await import("./ganttDiagram-A5KZAMGK-BmZnHD96.js");
|
|
98617
98889
|
return { diagram: diagram22 };
|
|
98618
98890
|
}, true ? __vite__mapDeps([20,21,22,23]) : void 0);
|
|
98619
98891
|
return { id: id6, diagram: diagram2 };
|
|
@@ -98630,7 +98902,7 @@ var detector7 = /* @__PURE__ */ __name((txt) => {
|
|
|
98630
98902
|
}, "detector");
|
|
98631
98903
|
var loader7 = /* @__PURE__ */ __name(async () => {
|
|
98632
98904
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98633
|
-
const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-
|
|
98905
|
+
const { diagram: diagram22 } = await import("./infoDiagram-LFFYTUFH-fLl_TA1F.js");
|
|
98634
98906
|
return { diagram: diagram22 };
|
|
98635
98907
|
}, true ? __vite__mapDeps([24,19,2,4,5]) : void 0);
|
|
98636
98908
|
return { id: id7, diagram: diagram2 };
|
|
@@ -98646,7 +98918,7 @@ var detector8 = /* @__PURE__ */ __name((txt) => {
|
|
|
98646
98918
|
}, "detector");
|
|
98647
98919
|
var loader8 = /* @__PURE__ */ __name(async () => {
|
|
98648
98920
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98649
|
-
const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-
|
|
98921
|
+
const { diagram: diagram22 } = await import("./pieDiagram-SKSYHLDU-Cxg_wh4K.js");
|
|
98650
98922
|
return { diagram: diagram22 };
|
|
98651
98923
|
}, true ? __vite__mapDeps([25,17,19,2,4,5,26,27,22]) : void 0);
|
|
98652
98924
|
return { id: id8, diagram: diagram2 };
|
|
@@ -98662,7 +98934,7 @@ var detector9 = /* @__PURE__ */ __name((txt) => {
|
|
|
98662
98934
|
}, "detector");
|
|
98663
98935
|
var loader9 = /* @__PURE__ */ __name(async () => {
|
|
98664
98936
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98665
|
-
const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-
|
|
98937
|
+
const { diagram: diagram22 } = await import("./quadrantDiagram-337W2JSQ-DFguuaS9.js");
|
|
98666
98938
|
return { diagram: diagram22 };
|
|
98667
98939
|
}, true ? __vite__mapDeps([28,21,22,23]) : void 0);
|
|
98668
98940
|
return { id: id9, diagram: diagram2 };
|
|
@@ -98679,7 +98951,7 @@ var detector10 = /* @__PURE__ */ __name((txt) => {
|
|
|
98679
98951
|
}, "detector");
|
|
98680
98952
|
var loader10 = /* @__PURE__ */ __name(async () => {
|
|
98681
98953
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98682
|
-
const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-
|
|
98954
|
+
const { diagram: diagram22 } = await import("./xychartDiagram-JWTSCODW-DgvaqrGO.js");
|
|
98683
98955
|
return { diagram: diagram22 };
|
|
98684
98956
|
}, true ? __vite__mapDeps([29,22,27,21,23]) : void 0);
|
|
98685
98957
|
return { id: id10, diagram: diagram2 };
|
|
@@ -98696,7 +98968,7 @@ var detector11 = /* @__PURE__ */ __name((txt) => {
|
|
|
98696
98968
|
}, "detector");
|
|
98697
98969
|
var loader11 = /* @__PURE__ */ __name(async () => {
|
|
98698
98970
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98699
|
-
const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP
|
|
98971
|
+
const { diagram: diagram22 } = await import("./requirementDiagram-Z7DCOOCP--tJ_dfsT.js");
|
|
98700
98972
|
return { diagram: diagram22 };
|
|
98701
98973
|
}, true ? __vite__mapDeps([30,12,13]) : void 0);
|
|
98702
98974
|
return { id: id11, diagram: diagram2 };
|
|
@@ -98713,7 +98985,7 @@ var detector12 = /* @__PURE__ */ __name((txt) => {
|
|
|
98713
98985
|
}, "detector");
|
|
98714
98986
|
var loader12 = /* @__PURE__ */ __name(async () => {
|
|
98715
98987
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98716
|
-
const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-
|
|
98988
|
+
const { diagram: diagram22 } = await import("./sequenceDiagram-2WXFIKYE-dwXRRnyq.js");
|
|
98717
98989
|
return { diagram: diagram22 };
|
|
98718
98990
|
}, true ? __vite__mapDeps([31,9,18]) : void 0);
|
|
98719
98991
|
return { id: id12, diagram: diagram2 };
|
|
@@ -98733,7 +99005,7 @@ var detector13 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98733
99005
|
}, "detector");
|
|
98734
99006
|
var loader13 = /* @__PURE__ */ __name(async () => {
|
|
98735
99007
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98736
|
-
const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-
|
|
99008
|
+
const { diagram: diagram22 } = await import("./classDiagram-VBA2DB6C-mVfJeuZL.js");
|
|
98737
99009
|
return { diagram: diagram22 };
|
|
98738
99010
|
}, true ? __vite__mapDeps([32,33,11,9,12,13]) : void 0);
|
|
98739
99011
|
return { id: id13, diagram: diagram2 };
|
|
@@ -98753,7 +99025,7 @@ var detector14 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98753
99025
|
}, "detector");
|
|
98754
99026
|
var loader14 = /* @__PURE__ */ __name(async () => {
|
|
98755
99027
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98756
|
-
const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-
|
|
99028
|
+
const { diagram: diagram22 } = await import("./classDiagram-v2-RAHNMMFH-mVfJeuZL.js");
|
|
98757
99029
|
return { diagram: diagram22 };
|
|
98758
99030
|
}, true ? __vite__mapDeps([34,33,11,9,12,13]) : void 0);
|
|
98759
99031
|
return { id: id14, diagram: diagram2 };
|
|
@@ -98773,7 +99045,7 @@ var detector15 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98773
99045
|
}, "detector");
|
|
98774
99046
|
var loader15 = /* @__PURE__ */ __name(async () => {
|
|
98775
99047
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98776
|
-
const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D-
|
|
99048
|
+
const { diagram: diagram22 } = await import("./stateDiagram-RAJIS63D-DToxcEC2.js");
|
|
98777
99049
|
return { diagram: diagram22 };
|
|
98778
99050
|
}, true ? __vite__mapDeps([35,36,12,13,1,2,3,4]) : void 0);
|
|
98779
99051
|
return { id: id15, diagram: diagram2 };
|
|
@@ -98796,7 +99068,7 @@ var detector16 = /* @__PURE__ */ __name((txt, config2) => {
|
|
|
98796
99068
|
}, "detector");
|
|
98797
99069
|
var loader16 = /* @__PURE__ */ __name(async () => {
|
|
98798
99070
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98799
|
-
const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-
|
|
99071
|
+
const { diagram: diagram22 } = await import("./stateDiagram-v2-FVOUBMTO-BY5hDUqz.js");
|
|
98800
99072
|
return { diagram: diagram22 };
|
|
98801
99073
|
}, true ? __vite__mapDeps([37,36,12,13]) : void 0);
|
|
98802
99074
|
return { id: id16, diagram: diagram2 };
|
|
@@ -98813,7 +99085,7 @@ var detector17 = /* @__PURE__ */ __name((txt) => {
|
|
|
98813
99085
|
}, "detector");
|
|
98814
99086
|
var loader17 = /* @__PURE__ */ __name(async () => {
|
|
98815
99087
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98816
|
-
const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K
|
|
99088
|
+
const { diagram: diagram22 } = await import("./journeyDiagram-4ABVD52K--aRyymZs.js");
|
|
98817
99089
|
return { diagram: diagram22 };
|
|
98818
99090
|
}, true ? __vite__mapDeps([38,11,9,26]) : void 0);
|
|
98819
99091
|
return { id: id17, diagram: diagram2 };
|
|
@@ -98883,7 +99155,7 @@ var detector18 = /* @__PURE__ */ __name((txt, config2 = {}) => {
|
|
|
98883
99155
|
}, "detector");
|
|
98884
99156
|
var loader18 = /* @__PURE__ */ __name(async () => {
|
|
98885
99157
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98886
|
-
const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-
|
|
99158
|
+
const { diagram: diagram22 } = await import("./flowDiagram-PKNHOUZH-DkxGh-JF.js");
|
|
98887
99159
|
return { diagram: diagram22 };
|
|
98888
99160
|
}, true ? __vite__mapDeps([10,11,9,12,13,14]) : void 0);
|
|
98889
99161
|
return { id: id18, diagram: diagram2 };
|
|
@@ -98900,7 +99172,7 @@ var detector19 = /* @__PURE__ */ __name((txt) => {
|
|
|
98900
99172
|
}, "detector");
|
|
98901
99173
|
var loader19 = /* @__PURE__ */ __name(async () => {
|
|
98902
99174
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98903
|
-
const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-
|
|
99175
|
+
const { diagram: diagram22 } = await import("./timeline-definition-YZTLITO2-CT3WRcFt.js");
|
|
98904
99176
|
return { diagram: diagram22 };
|
|
98905
99177
|
}, true ? __vite__mapDeps([39,26]) : void 0);
|
|
98906
99178
|
return { id: id19, diagram: diagram2 };
|
|
@@ -98917,7 +99189,7 @@ var detector20 = /* @__PURE__ */ __name((txt) => {
|
|
|
98917
99189
|
}, "detector");
|
|
98918
99190
|
var loader20 = /* @__PURE__ */ __name(async () => {
|
|
98919
99191
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98920
|
-
const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-
|
|
99192
|
+
const { diagram: diagram22 } = await import("./mindmap-definition-YRQLILUH-CHB8qv8L.js");
|
|
98921
99193
|
return { diagram: diagram22 };
|
|
98922
99194
|
}, true ? __vite__mapDeps([40,12,13]) : void 0);
|
|
98923
99195
|
return { id: id20, diagram: diagram2 };
|
|
@@ -98934,7 +99206,7 @@ var detector21 = /* @__PURE__ */ __name((txt) => {
|
|
|
98934
99206
|
}, "detector");
|
|
98935
99207
|
var loader21 = /* @__PURE__ */ __name(async () => {
|
|
98936
99208
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98937
|
-
const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-
|
|
99209
|
+
const { diagram: diagram22 } = await import("./kanban-definition-K7BYSVSG-BO_QdW_O.js");
|
|
98938
99210
|
return { diagram: diagram22 };
|
|
98939
99211
|
}, true ? __vite__mapDeps([41,11]) : void 0);
|
|
98940
99212
|
return { id: id21, diagram: diagram2 };
|
|
@@ -98951,7 +99223,7 @@ var detector22 = /* @__PURE__ */ __name((txt) => {
|
|
|
98951
99223
|
}, "detector");
|
|
98952
99224
|
var loader22 = /* @__PURE__ */ __name(async () => {
|
|
98953
99225
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98954
|
-
const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-
|
|
99226
|
+
const { diagram: diagram22 } = await import("./sankeyDiagram-WA2Y5GQK-f0zWimMc.js");
|
|
98955
99227
|
return { diagram: diagram22 };
|
|
98956
99228
|
}, true ? __vite__mapDeps([42,27,22]) : void 0);
|
|
98957
99229
|
return { id: id22, diagram: diagram2 };
|
|
@@ -98968,7 +99240,7 @@ var detector23 = /* @__PURE__ */ __name((txt) => {
|
|
|
98968
99240
|
}, "detector");
|
|
98969
99241
|
var loader23 = /* @__PURE__ */ __name(async () => {
|
|
98970
99242
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98971
|
-
const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-
|
|
99243
|
+
const { diagram: diagram22 } = await import("./diagram-P4PSJMXO-lrqvXDXp.js");
|
|
98972
99244
|
return { diagram: diagram22 };
|
|
98973
99245
|
}, true ? __vite__mapDeps([43,17,19,2,4,5]) : void 0);
|
|
98974
99246
|
return { id: id23, diagram: diagram2 };
|
|
@@ -98984,7 +99256,7 @@ var detector24 = /* @__PURE__ */ __name((txt) => {
|
|
|
98984
99256
|
}, "detector");
|
|
98985
99257
|
var loader24 = /* @__PURE__ */ __name(async () => {
|
|
98986
99258
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
98987
|
-
const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-
|
|
99259
|
+
const { diagram: diagram22 } = await import("./diagram-IFDJBPK2-CFWMc1oD.js");
|
|
98988
99260
|
return { diagram: diagram22 };
|
|
98989
99261
|
}, true ? __vite__mapDeps([44,17,19,2,4,5]) : void 0);
|
|
98990
99262
|
return { id: id24, diagram: diagram2 };
|
|
@@ -99000,7 +99272,7 @@ var detector25 = /* @__PURE__ */ __name((txt) => {
|
|
|
99000
99272
|
}, "detector");
|
|
99001
99273
|
var loader25 = /* @__PURE__ */ __name(async () => {
|
|
99002
99274
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99003
|
-
const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-
|
|
99275
|
+
const { diagram: diagram22 } = await import("./blockDiagram-WCTKOSBZ-CYRE6deu.js");
|
|
99004
99276
|
return { diagram: diagram22 };
|
|
99005
99277
|
}, true ? __vite__mapDeps([45,11,5,2,1,14]) : void 0);
|
|
99006
99278
|
return { id: id25, diagram: diagram2 };
|
|
@@ -99017,7 +99289,7 @@ var detector26 = /* @__PURE__ */ __name((txt) => {
|
|
|
99017
99289
|
}, "detector");
|
|
99018
99290
|
var loader26 = /* @__PURE__ */ __name(async () => {
|
|
99019
99291
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99020
|
-
const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-
|
|
99292
|
+
const { diagram: diagram22 } = await import("./architectureDiagram-2XIMDMQ5-BLFRWTKn.js");
|
|
99021
99293
|
return { diagram: diagram22 };
|
|
99022
99294
|
}, true ? __vite__mapDeps([46,17,19,2,4,5,7]) : void 0);
|
|
99023
99295
|
return { id: id26, diagram: diagram2 };
|
|
@@ -99034,7 +99306,7 @@ var detector27 = /* @__PURE__ */ __name((txt) => {
|
|
|
99034
99306
|
}, "detector");
|
|
99035
99307
|
var loader27 = /* @__PURE__ */ __name(async () => {
|
|
99036
99308
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99037
|
-
const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-
|
|
99309
|
+
const { diagram: diagram22 } = await import("./ishikawaDiagram-PHBUUO56-ZL9tBKUr.js");
|
|
99038
99310
|
return { diagram: diagram22 };
|
|
99039
99311
|
}, true ? [] : void 0);
|
|
99040
99312
|
return { id: id27, diagram: diagram2 };
|
|
@@ -99050,7 +99322,7 @@ var detector28 = /* @__PURE__ */ __name((txt) => {
|
|
|
99050
99322
|
}, "detector");
|
|
99051
99323
|
var loader28 = /* @__PURE__ */ __name(async () => {
|
|
99052
99324
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99053
|
-
const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-
|
|
99325
|
+
const { diagram: diagram22 } = await import("./vennDiagram-LZ73GAT5-CYSLSh1w.js");
|
|
99054
99326
|
return { diagram: diagram22 };
|
|
99055
99327
|
}, true ? [] : void 0);
|
|
99056
99328
|
return { id: id28, diagram: diagram2 };
|
|
@@ -99067,7 +99339,7 @@ var detector29 = /* @__PURE__ */ __name((txt) => {
|
|
|
99067
99339
|
}, "detector");
|
|
99068
99340
|
var loader29 = /* @__PURE__ */ __name(async () => {
|
|
99069
99341
|
const { diagram: diagram2 } = await __vitePreload(async () => {
|
|
99070
|
-
const { diagram: diagram22 } = await import("./diagram-E7M64L7V-
|
|
99342
|
+
const { diagram: diagram22 } = await import("./diagram-E7M64L7V-DgqOvF1U.js");
|
|
99071
99343
|
return { diagram: diagram22 };
|
|
99072
99344
|
}, true ? __vite__mapDeps([47,13,17,19,2,4,5,23,27,22]) : void 0);
|
|
99073
99345
|
return { id: id29, diagram: diagram2 };
|
|
@@ -100501,8 +100773,6 @@ function isSystemNoticeMarkdownContent(value) {
|
|
|
100501
100773
|
const trimmed = value.trimStart();
|
|
100502
100774
|
return trimmed.startsWith("【系统提示】") || trimmed.startsWith("[System notice]");
|
|
100503
100775
|
}
|
|
100504
|
-
const CALLING_CONTENT_INITIAL_MAX_HEIGHT_PX = 120;
|
|
100505
|
-
const CALLING_EXPAND_STEP_VIEWPORT_RATIO = 1 / 3;
|
|
100506
100776
|
const AUTO_SCROLL_FOLLOW_THRESHOLD_PX = 32;
|
|
100507
100777
|
const AUTO_SCROLL_WHEEL_RESISTANCE_PX = 56;
|
|
100508
100778
|
const AUTO_SCROLL_WHEEL_DECAY_MS = 520;
|
|
@@ -100547,7 +100817,7 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
100547
100817
|
this.toolResultImageStatusElByKey = /* @__PURE__ */ new Map();
|
|
100548
100818
|
this.queuedUserBubbleByMsgId = /* @__PURE__ */ new Map();
|
|
100549
100819
|
this.pendingTellaskCallAnchorByGenseq = /* @__PURE__ */ new Map();
|
|
100550
|
-
this.
|
|
100820
|
+
this.progressiveExpandCleanupByTarget = /* @__PURE__ */ new Map();
|
|
100551
100821
|
this.viewportPanelState = { kind: "hidden" };
|
|
100552
100822
|
this.pendingScrollRequest = null;
|
|
100553
100823
|
this.highlightSeq = 0;
|
|
@@ -101286,6 +101556,10 @@ class DomindsDialogContainer extends HTMLElement {
|
|
|
101286
101556
|
}
|
|
101287
101557
|
// Clean up current state and DOM content
|
|
101288
101558
|
cleanup() {
|
|
101559
|
+
for (const cleanup of this.progressiveExpandCleanupByTarget.values()) {
|
|
101560
|
+
cleanup();
|
|
101561
|
+
}
|
|
101562
|
+
this.progressiveExpandCleanupByTarget.clear();
|
|
101289
101563
|
this.stopAutoScrollObservation();
|
|
101290
101564
|
this.resetAutoScrollTransientState();
|
|
101291
101565
|
this.clearViewportPanel();
|
|
@@ -102472,73 +102746,41 @@ itemId: ${itemId}` : ""}` : `itemId: ${itemId}`;
|
|
|
102472
102746
|
this.stopCallTimingTicker();
|
|
102473
102747
|
}
|
|
102474
102748
|
}
|
|
102475
|
-
getProgressiveExpandLabel() {
|
|
102476
|
-
if (this.uiLanguage === "zh") {
|
|
102477
|
-
return { text: "展开更多", title: "展开更多" };
|
|
102478
|
-
}
|
|
102479
|
-
return { text: "Show more", title: "Show more" };
|
|
102480
|
-
}
|
|
102481
102749
|
setupProgressiveExpand(options) {
|
|
102482
|
-
const { target, footer, button } = options;
|
|
102483
|
-
const label = this.
|
|
102750
|
+
const { target, footer, button, stepParent } = options;
|
|
102751
|
+
const label = getProgressiveExpandLabel(this.uiLanguage);
|
|
102484
102752
|
button.innerHTML = `
|
|
102485
102753
|
<span class="progressive-expand-icon icon-mask" aria-hidden="true"></span>
|
|
102486
102754
|
`;
|
|
102487
|
-
|
|
102488
|
-
|
|
102489
|
-
const
|
|
102490
|
-
target
|
|
102491
|
-
|
|
102492
|
-
|
|
102493
|
-
|
|
102494
|
-
|
|
102495
|
-
|
|
102496
|
-
|
|
102497
|
-
|
|
102498
|
-
|
|
102499
|
-
if (!target.isConnected) return;
|
|
102500
|
-
const overflow = target.scrollHeight > target.clientHeight + 1;
|
|
102501
|
-
if (overflow) {
|
|
102502
|
-
footer.classList.remove("is-hidden");
|
|
102503
|
-
return;
|
|
102504
|
-
}
|
|
102505
|
-
expandFully();
|
|
102506
|
-
};
|
|
102507
|
-
button.onclick = () => {
|
|
102508
|
-
const stepPx = Math.max(
|
|
102509
|
-
1,
|
|
102510
|
-
Math.floor(window.innerHeight * CALLING_EXPAND_STEP_VIEWPORT_RATIO)
|
|
102511
|
-
);
|
|
102512
|
-
const nextMaxHeightPx = Math.max(target.clientHeight, CALLING_CONTENT_INITIAL_MAX_HEIGHT_PX) + stepPx;
|
|
102513
|
-
target.style.maxHeight = `${nextMaxHeightPx}px`;
|
|
102514
|
-
target.style.overflowY = "hidden";
|
|
102515
|
-
requestAnimationFrame(() => {
|
|
102516
|
-
refreshExpandFooter();
|
|
102755
|
+
const previousCleanup = this.progressiveExpandCleanupByTarget.get(target);
|
|
102756
|
+
previousCleanup?.();
|
|
102757
|
+
const cleanup = setupProgressiveExpandBehavior({
|
|
102758
|
+
target,
|
|
102759
|
+
footer,
|
|
102760
|
+
button,
|
|
102761
|
+
stepParent,
|
|
102762
|
+
label,
|
|
102763
|
+
// Dialog blocks can still grow after first render while content streams in. Observe only
|
|
102764
|
+
// the target itself and stop as soon as the first overflow threshold is crossed.
|
|
102765
|
+
observeTargetUntilOverflow: true,
|
|
102766
|
+
onAfterExpandStep: () => {
|
|
102517
102767
|
this.scrollToBottom();
|
|
102518
|
-
}
|
|
102519
|
-
};
|
|
102520
|
-
const previousObserver = this.progressiveExpandObserverByTarget.get(target);
|
|
102521
|
-
if (previousObserver) {
|
|
102522
|
-
previousObserver.disconnect();
|
|
102523
|
-
}
|
|
102524
|
-
if (typeof ResizeObserver !== "undefined") {
|
|
102525
|
-
const observer = new ResizeObserver(() => {
|
|
102526
|
-
refreshExpandFooter();
|
|
102527
|
-
});
|
|
102528
|
-
observer.observe(target);
|
|
102529
|
-
this.progressiveExpandObserverByTarget.set(target, observer);
|
|
102530
|
-
}
|
|
102531
|
-
collapseToInitial();
|
|
102532
|
-
requestAnimationFrame(() => {
|
|
102533
|
-
refreshExpandFooter();
|
|
102768
|
+
}
|
|
102534
102769
|
});
|
|
102770
|
+
this.progressiveExpandCleanupByTarget.set(target, cleanup);
|
|
102535
102771
|
}
|
|
102536
102772
|
setupCallingProgressiveExpand(section) {
|
|
102537
102773
|
const content = section.querySelector(".calling-content");
|
|
102538
102774
|
const footer = section.querySelector(".calling-expand-footer");
|
|
102539
102775
|
const button = section.querySelector(".calling-expand-btn");
|
|
102540
102776
|
if (!content || !footer || !button) return;
|
|
102541
|
-
|
|
102777
|
+
const stepParent = resolveProgressiveExpandStepParent(section);
|
|
102778
|
+
this.setupProgressiveExpand({
|
|
102779
|
+
target: content,
|
|
102780
|
+
footer,
|
|
102781
|
+
button,
|
|
102782
|
+
stepParent
|
|
102783
|
+
});
|
|
102542
102784
|
}
|
|
102543
102785
|
setupFuncCallArgsProgressiveExpand(section) {
|
|
102544
102786
|
const target = section.querySelector(".func-call-arguments");
|
|
@@ -102549,7 +102791,8 @@ itemId: ${itemId}` : ""}` : `itemId: ${itemId}`;
|
|
|
102549
102791
|
".func-call-arguments-expand-btn"
|
|
102550
102792
|
);
|
|
102551
102793
|
if (!target || !footer || !button) return;
|
|
102552
|
-
|
|
102794
|
+
const stepParent = resolveProgressiveExpandStepParent(section);
|
|
102795
|
+
this.setupProgressiveExpand({ target, footer, button, stepParent });
|
|
102553
102796
|
}
|
|
102554
102797
|
setupFuncCallResultProgressiveExpand(section) {
|
|
102555
102798
|
const target = section.querySelector(".func-call-result");
|
|
@@ -102558,14 +102801,16 @@ itemId: ${itemId}` : ""}` : `itemId: ${itemId}`;
|
|
|
102558
102801
|
".func-call-result-expand-btn"
|
|
102559
102802
|
);
|
|
102560
102803
|
if (!target || !footer || !button) return;
|
|
102561
|
-
|
|
102804
|
+
const stepParent = resolveProgressiveExpandStepParent(section);
|
|
102805
|
+
this.setupProgressiveExpand({ target, footer, button, stepParent });
|
|
102562
102806
|
}
|
|
102563
102807
|
setupTellaskResponseProgressiveExpand(section) {
|
|
102564
102808
|
const target = section.querySelector(".teammate-content");
|
|
102565
102809
|
const footer = section.querySelector(".teammate-expand-footer");
|
|
102566
102810
|
const button = section.querySelector(".teammate-expand-btn");
|
|
102567
102811
|
if (!target || !footer || !button) return;
|
|
102568
|
-
|
|
102812
|
+
const stepParent = resolveProgressiveExpandStepParent(section);
|
|
102813
|
+
this.setupProgressiveExpand({ target, footer, button, stepParent });
|
|
102569
102814
|
}
|
|
102570
102815
|
setupUiOnlyMarkdownProgressiveExpand(section) {
|
|
102571
102816
|
const target = section.querySelector(".ui-only-markdown-content");
|
|
@@ -102574,7 +102819,8 @@ itemId: ${itemId}` : ""}` : `itemId: ${itemId}`;
|
|
|
102574
102819
|
".ui-only-markdown-expand-btn"
|
|
102575
102820
|
);
|
|
102576
102821
|
if (!target || !footer || !button) return;
|
|
102577
|
-
|
|
102822
|
+
const stepParent = resolveProgressiveExpandStepParent(section);
|
|
102823
|
+
this.setupProgressiveExpand({ target, footer, button, stepParent });
|
|
102578
102824
|
}
|
|
102579
102825
|
handleToolCallStart(event) {
|
|
102580
102826
|
const genseq = event.genseq;
|
|
@@ -113861,6 +114107,7 @@ const _DomindsApp = class _DomindsApp extends HTMLElement {
|
|
|
113861
114107
|
this.toolsWidgetWidthPx = 380;
|
|
113862
114108
|
this.toolsWidgetHeightPx = 320;
|
|
113863
114109
|
this.sidebarResizeCleanup = null;
|
|
114110
|
+
this.reminderProgressiveExpandCleanupByKey = /* @__PURE__ */ new Map();
|
|
113864
114111
|
this.boundOnWindowResize = () => {
|
|
113865
114112
|
this.restoreViewportScopedResizableSizes();
|
|
113866
114113
|
this.setupSidebarResizePersistence();
|
|
@@ -115052,6 +115299,7 @@ ${formatUiLanguageOptionLabel({
|
|
|
115052
115299
|
this.sidebarResizeCleanup();
|
|
115053
115300
|
this.sidebarResizeCleanup = null;
|
|
115054
115301
|
}
|
|
115302
|
+
this.cleanupAllReminderProgressiveExpands();
|
|
115055
115303
|
}
|
|
115056
115304
|
/**
|
|
115057
115305
|
* Initial render - creates the DOM structure once after component construction.
|
|
@@ -118833,6 +119081,133 @@ ${currentVersion}`;
|
|
|
118833
119081
|
min-width: 0;
|
|
118834
119082
|
}
|
|
118835
119083
|
|
|
119084
|
+
.rem-item-body {
|
|
119085
|
+
display: flex;
|
|
119086
|
+
flex-direction: column;
|
|
119087
|
+
gap: 4px;
|
|
119088
|
+
min-width: 0;
|
|
119089
|
+
}
|
|
119090
|
+
|
|
119091
|
+
.rem-item-content.rem-item-content-markdown {
|
|
119092
|
+
white-space: normal;
|
|
119093
|
+
padding-right: 2px;
|
|
119094
|
+
}
|
|
119095
|
+
|
|
119096
|
+
.rem-item-content.rem-item-content-expandable {
|
|
119097
|
+
overflow-y: hidden;
|
|
119098
|
+
}
|
|
119099
|
+
|
|
119100
|
+
.rem-item-expand-footer {
|
|
119101
|
+
margin-top: 2px;
|
|
119102
|
+
padding-top: 2px;
|
|
119103
|
+
border-top: 1px solid var(--dominds-border, #e0e0e0);
|
|
119104
|
+
display: flex;
|
|
119105
|
+
justify-content: center;
|
|
119106
|
+
}
|
|
119107
|
+
|
|
119108
|
+
.rem-item-expand-footer.is-hidden {
|
|
119109
|
+
display: none;
|
|
119110
|
+
}
|
|
119111
|
+
|
|
119112
|
+
.rem-item-expand-btn {
|
|
119113
|
+
border: 1px solid var(--dominds-border, #e0e0e0);
|
|
119114
|
+
background: color-mix(in srgb, var(--dominds-bg, #ffffff) 86%, var(--dominds-hover, #f8f9fa) 14%);
|
|
119115
|
+
color: var(--dominds-fg, #475569);
|
|
119116
|
+
border-radius: 999px;
|
|
119117
|
+
width: 26px;
|
|
119118
|
+
height: 22px;
|
|
119119
|
+
padding: 0;
|
|
119120
|
+
cursor: pointer;
|
|
119121
|
+
display: inline-flex;
|
|
119122
|
+
align-items: center;
|
|
119123
|
+
justify-content: center;
|
|
119124
|
+
}
|
|
119125
|
+
|
|
119126
|
+
.rem-item-expand-btn:hover {
|
|
119127
|
+
background: var(--dominds-hover, #f1f5f9);
|
|
119128
|
+
}
|
|
119129
|
+
|
|
119130
|
+
.rem-item-expand-btn:focus-visible {
|
|
119131
|
+
outline: 2px solid var(--dominds-primary, #007acc);
|
|
119132
|
+
outline-offset: 1px;
|
|
119133
|
+
}
|
|
119134
|
+
|
|
119135
|
+
.rem-item-expand-icon {
|
|
119136
|
+
display: inline-flex;
|
|
119137
|
+
align-items: center;
|
|
119138
|
+
justify-content: center;
|
|
119139
|
+
animation: progressive-expand-flash 2.2s ease-in-out infinite;
|
|
119140
|
+
width: 14px;
|
|
119141
|
+
height: 14px;
|
|
119142
|
+
--icon-mask: ${ICON_MASK_URLS.chevronsDown};
|
|
119143
|
+
}
|
|
119144
|
+
|
|
119145
|
+
.rem-item-expand-btn:hover .rem-item-expand-icon,
|
|
119146
|
+
.rem-item-expand-btn:focus-visible .rem-item-expand-icon {
|
|
119147
|
+
animation-play-state: paused;
|
|
119148
|
+
}
|
|
119149
|
+
|
|
119150
|
+
|
|
119151
|
+
.rem-item-content.rem-item-content-markdown > :first-child {
|
|
119152
|
+
margin-top: 0;
|
|
119153
|
+
}
|
|
119154
|
+
|
|
119155
|
+
.rem-item-content.rem-item-content-markdown > :last-child {
|
|
119156
|
+
margin-bottom: 0;
|
|
119157
|
+
}
|
|
119158
|
+
|
|
119159
|
+
.rem-item-content.rem-item-content-markdown p {
|
|
119160
|
+
margin: 0 0 0.55em;
|
|
119161
|
+
}
|
|
119162
|
+
|
|
119163
|
+
.rem-item-content.rem-item-content-markdown ul,
|
|
119164
|
+
.rem-item-content.rem-item-content-markdown ol {
|
|
119165
|
+
margin: 0 0 0.65em 1.25em;
|
|
119166
|
+
padding: 0;
|
|
119167
|
+
}
|
|
119168
|
+
|
|
119169
|
+
.rem-item-content.rem-item-content-markdown li {
|
|
119170
|
+
margin: 0.18em 0;
|
|
119171
|
+
}
|
|
119172
|
+
|
|
119173
|
+
.rem-item-content.rem-item-content-markdown h1,
|
|
119174
|
+
.rem-item-content.rem-item-content-markdown h2,
|
|
119175
|
+
.rem-item-content.rem-item-content-markdown h3,
|
|
119176
|
+
.rem-item-content.rem-item-content-markdown h4,
|
|
119177
|
+
.rem-item-content.rem-item-content-markdown h5,
|
|
119178
|
+
.rem-item-content.rem-item-content-markdown h6 {
|
|
119179
|
+
margin: 0.75em 0 0.4em;
|
|
119180
|
+
line-height: 1.3;
|
|
119181
|
+
}
|
|
119182
|
+
|
|
119183
|
+
.rem-item-content.rem-item-content-markdown blockquote {
|
|
119184
|
+
margin: 0.6em 0;
|
|
119185
|
+
padding-left: 0.75em;
|
|
119186
|
+
border-left: 3px solid color-mix(in srgb, var(--dominds-primary, #007acc) 45%, transparent);
|
|
119187
|
+
color: color-mix(in srgb, var(--dominds-fg, #333333) 78%, var(--dominds-muted, #666666) 22%);
|
|
119188
|
+
}
|
|
119189
|
+
|
|
119190
|
+
.rem-item-content.rem-item-content-markdown code:not([class]) {
|
|
119191
|
+
background: color-mix(in srgb, var(--dominds-hover, #f8f9fa) 86%, var(--dominds-bg, #ffffff) 14%);
|
|
119192
|
+
border-radius: 4px;
|
|
119193
|
+
padding: 0.08em 0.32em;
|
|
119194
|
+
font-size: 0.95em;
|
|
119195
|
+
}
|
|
119196
|
+
|
|
119197
|
+
.rem-item-content.rem-item-content-markdown table {
|
|
119198
|
+
width: 100%;
|
|
119199
|
+
border-collapse: collapse;
|
|
119200
|
+
margin: 0.6em 0;
|
|
119201
|
+
}
|
|
119202
|
+
|
|
119203
|
+
.rem-item-content.rem-item-content-markdown th,
|
|
119204
|
+
.rem-item-content.rem-item-content-markdown td {
|
|
119205
|
+
border: 1px solid var(--dominds-border, #e0e0e0);
|
|
119206
|
+
padding: 0.32em 0.45em;
|
|
119207
|
+
text-align: left;
|
|
119208
|
+
vertical-align: top;
|
|
119209
|
+
}
|
|
119210
|
+
|
|
118836
119211
|
.rem-item-content-loading {
|
|
118837
119212
|
color: var(--dominds-muted, #666666);
|
|
118838
119213
|
font-style: italic;
|
|
@@ -118863,6 +119238,11 @@ ${currentVersion}`;
|
|
|
118863
119238
|
background: color-mix(in srgb, var(--dominds-hover) 65%, var(--dominds-bg) 35%);
|
|
118864
119239
|
}
|
|
118865
119240
|
|
|
119241
|
+
@keyframes progressive-expand-flash {
|
|
119242
|
+
0%, 100% { opacity: 0.46; transform: translateY(0); }
|
|
119243
|
+
50% { opacity: 1; transform: translateY(1px); }
|
|
119244
|
+
}
|
|
119245
|
+
|
|
118866
119246
|
`;
|
|
118867
119247
|
}
|
|
118868
119248
|
getHTML() {
|
|
@@ -119099,7 +119479,7 @@ ${uiLanguageButtonTooltip}">
|
|
|
119099
119479
|
<span class="icon-mask app-icon-close" aria-hidden="true"></span>
|
|
119100
119480
|
</button>
|
|
119101
119481
|
</div>
|
|
119102
|
-
<div id="reminders-widget-content">
|
|
119482
|
+
<div id="reminders-widget-content" lang="${this.uiLanguage}" data-progressive-expand-step-parent="true">
|
|
119103
119483
|
${this.toolbarReminders.length === 0 ? `<div class="reminders-widget-empty">${t2.noReminders}</div>` : ""}
|
|
119104
119484
|
</div>
|
|
119105
119485
|
<div id="reminders-widget-resize-handle" aria-hidden="true">
|
|
@@ -119110,7 +119490,7 @@ ${uiLanguageButtonTooltip}">
|
|
|
119110
119490
|
|
|
119111
119491
|
<div class="dialog-section">
|
|
119112
119492
|
<div class="conversation-viewport">
|
|
119113
|
-
<div class="conversation-scroll-area">
|
|
119493
|
+
<div class="conversation-scroll-area" lang="${this.uiLanguage}" data-progressive-expand-step-parent="true">
|
|
119114
119494
|
<dominds-dialog-container id="dialog-container" ui-language="${this.uiLanguage}"></dominds-dialog-container>
|
|
119115
119495
|
</div>
|
|
119116
119496
|
</div>
|
|
@@ -119267,13 +119647,6 @@ ${content}`;
|
|
|
119267
119647
|
this.shadowRoot.addEventListener("reminders-update", () => {
|
|
119268
119648
|
this.updateRemindersWidget();
|
|
119269
119649
|
});
|
|
119270
|
-
this.shadowRoot.addEventListener("reminder-text", (event) => {
|
|
119271
|
-
this.toolbarReminders[event.detail.index] = {
|
|
119272
|
-
reminder_id: `transient-${String(event.detail.index)}`,
|
|
119273
|
-
content: event.detail.content
|
|
119274
|
-
};
|
|
119275
|
-
this.updateRemindersWidget();
|
|
119276
|
-
});
|
|
119277
119650
|
this.shadowRoot.addEventListener("dialog-expand", (event) => {
|
|
119278
119651
|
const { rootId, status } = event.detail;
|
|
119279
119652
|
if (rootId && status) {
|
|
@@ -122703,6 +123076,7 @@ ${content}`;
|
|
|
122703
123076
|
}
|
|
122704
123077
|
closeRemindersWidget() {
|
|
122705
123078
|
this.remindersWidgetVisible = false;
|
|
123079
|
+
this.cleanupAllReminderProgressiveExpands();
|
|
122706
123080
|
const widget = this.shadowRoot?.querySelector("#reminders-widget");
|
|
122707
123081
|
if (widget) widget.remove();
|
|
122708
123082
|
this.updateToolbarDisplay();
|
|
@@ -123402,9 +123776,6 @@ ${content}`;
|
|
|
123402
123776
|
if (remBtnCount) {
|
|
123403
123777
|
remBtnCount.textContent = String(this.toolbarReminders.length);
|
|
123404
123778
|
}
|
|
123405
|
-
if (this.remindersWidgetVisible) {
|
|
123406
|
-
this.renderRemindersWidget();
|
|
123407
|
-
}
|
|
123408
123779
|
}
|
|
123409
123780
|
/**
|
|
123410
123781
|
* Reset reminder operation count (call when starting new dialog)
|
|
@@ -123463,7 +123834,7 @@ ${content}`;
|
|
|
123463
123834
|
<span class="icon-mask app-icon-close" aria-hidden="true"></span>
|
|
123464
123835
|
</button>
|
|
123465
123836
|
</div>
|
|
123466
|
-
<div id="reminders-widget-content"></div>
|
|
123837
|
+
<div id="reminders-widget-content" lang="${this.uiLanguage}" data-progressive-expand-step-parent="true"></div>
|
|
123467
123838
|
<div id="reminders-widget-resize-handle" aria-hidden="true">
|
|
123468
123839
|
<span class="icon-mask app-icon-resize-corner-bottom-left" aria-hidden="true"></span>
|
|
123469
123840
|
</div>
|
|
@@ -123480,7 +123851,7 @@ ${content}`;
|
|
|
123480
123851
|
}
|
|
123481
123852
|
/**
|
|
123482
123853
|
* Render reminders widget content with proper formatting
|
|
123483
|
-
*
|
|
123854
|
+
* Preserve backend-authored reminder semantics in the widget.
|
|
123484
123855
|
*/
|
|
123485
123856
|
renderRemindersWidget() {
|
|
123486
123857
|
if (!this.remindersWidgetVisible) return;
|
|
@@ -123494,49 +123865,30 @@ ${content}`;
|
|
|
123494
123865
|
console.warn("No reminders widget content container found");
|
|
123495
123866
|
return;
|
|
123496
123867
|
}
|
|
123868
|
+
widgetContent.setAttribute("lang", this.uiLanguage);
|
|
123869
|
+
widgetContent.setAttribute("data-progressive-expand-step-parent", "true");
|
|
123497
123870
|
if (widgetTitle) {
|
|
123498
123871
|
widgetTitle.textContent = formatRemindersTitle(this.uiLanguage, this.toolbarReminders.length);
|
|
123499
123872
|
}
|
|
123873
|
+
const shell = this.ensureRemindersWidgetShell(widgetContent);
|
|
123500
123874
|
const numberedReminders = this.toolbarReminders.filter((r2) => r2 && r2.echoback !== false);
|
|
123501
123875
|
const virtualReminders = this.toolbarReminders.filter((r2) => r2 && r2.echoback === false);
|
|
123502
|
-
|
|
123503
|
-
|
|
123504
|
-
|
|
123505
|
-
|
|
123506
|
-
|
|
123507
|
-
|
|
123508
|
-
|
|
123509
|
-
|
|
123510
|
-
|
|
123511
|
-
|
|
123512
|
-
|
|
123513
|
-
|
|
123514
|
-
|
|
123515
|
-
|
|
123516
|
-
|
|
123517
|
-
|
|
123518
|
-
const virtualItemsArray = virtualReminders.map((r2) => {
|
|
123519
|
-
if (!r2 || !r2.content) {
|
|
123520
|
-
return `<div class="rem-item rem-item-virtual"><div class="rem-item-content rem-item-content-loading">${t2.loading}</div></div>`;
|
|
123521
|
-
}
|
|
123522
|
-
r2.meta && typeof r2.meta === "object" ? r2.meta : void 0;
|
|
123523
|
-
const displayContent = this.formatReminderDisplayContent(r2.content, r2.meta);
|
|
123524
|
-
return `<div class="rem-item rem-item-virtual"><div class="rem-item-content">${this.renderReminderPlainHtml(displayContent)}</div></div>`;
|
|
123525
|
-
});
|
|
123526
|
-
const virtualItems = virtualItemsArray.join('<hr class="rem-divider">');
|
|
123527
|
-
const sections = [];
|
|
123528
|
-
if (virtualItems.length > 0) {
|
|
123529
|
-
sections.push(`<div class="rem-section">${virtualItems}</div>`);
|
|
123530
|
-
}
|
|
123531
|
-
if (numberedItems.length > 0) {
|
|
123532
|
-
if (virtualItems.length > 0) {
|
|
123533
|
-
sections.push('<hr class="rem-divider rem-divider-section">');
|
|
123534
|
-
}
|
|
123535
|
-
sections.push(`<div class="rem-section">${numberedItems}</div>`);
|
|
123536
|
-
}
|
|
123537
|
-
contentHTML = sections.join("");
|
|
123538
|
-
}
|
|
123539
|
-
widgetContent.innerHTML = contentHTML;
|
|
123876
|
+
const t2 = getUiStrings(this.uiLanguage);
|
|
123877
|
+
const virtualEntries = virtualReminders.map(
|
|
123878
|
+
(r2, i2) => this.buildReminderRenderEntry("virtual", r2, i2, t2)
|
|
123879
|
+
);
|
|
123880
|
+
const numberedEntries = numberedReminders.map(
|
|
123881
|
+
(r2, i2) => this.buildReminderRenderEntry("numbered", r2, i2, t2)
|
|
123882
|
+
);
|
|
123883
|
+
this.assertUniqueReminderRenderKeys("virtual", virtualEntries);
|
|
123884
|
+
this.assertUniqueReminderRenderKeys("numbered", numberedEntries);
|
|
123885
|
+
shell.empty.textContent = t2.noReminders;
|
|
123886
|
+
shell.empty.hidden = virtualEntries.length > 0 || numberedEntries.length > 0;
|
|
123887
|
+
shell.virtualSection.hidden = virtualEntries.length < 1;
|
|
123888
|
+
shell.numberedSection.hidden = numberedEntries.length < 1;
|
|
123889
|
+
shell.sectionDivider.hidden = virtualEntries.length < 1 || numberedEntries.length < 1;
|
|
123890
|
+
this.patchReminderSection(shell.virtualSection, virtualEntries, widgetContent);
|
|
123891
|
+
this.patchReminderSection(shell.numberedSection, numberedEntries, widgetContent);
|
|
123540
123892
|
}
|
|
123541
123893
|
renderReminderScopeBadgeHtml(scope) {
|
|
123542
123894
|
const t2 = getUiStrings(this.uiLanguage);
|
|
@@ -123548,26 +123900,209 @@ ${content}`;
|
|
|
123548
123900
|
}
|
|
123549
123901
|
return `<span class="rem-item-scope rem-item-scope-dialog" title="${this.escapeHtml(t2.dialogReminderScope)}" aria-label="${this.escapeHtml(t2.dialogReminderScope)}"><span class="icon-mask" aria-hidden="true"></span></span>`;
|
|
123550
123902
|
}
|
|
123551
|
-
formatReminderDisplayContent(content,
|
|
123552
|
-
if (!meta) {
|
|
123553
|
-
return content;
|
|
123554
|
-
}
|
|
123555
|
-
const metaPid = typeof meta.pid === "number" ? meta.pid : void 0;
|
|
123556
|
-
const metaKind = typeof meta.kind === "string" ? meta.kind : void 0;
|
|
123557
|
-
const metaInitialCommand = typeof meta.initialCommandLine === "string" ? meta.initialCommandLine : void 0;
|
|
123558
|
-
const metaDaemonCommand = typeof meta.daemonCommandLine === "string" ? meta.daemonCommandLine : void 0;
|
|
123559
|
-
if (metaKind === "daemon" && metaPid) {
|
|
123560
|
-
const t2 = getUiStrings(this.uiLanguage);
|
|
123561
|
-
const pidStr = String(metaPid);
|
|
123562
|
-
const commandStr = metaInitialCommand || metaDaemonCommand || t2.unknownCommand;
|
|
123563
|
-
return `🔄 ${t2.daemonLabel} (PID: ${pidStr})
|
|
123564
|
-
${t2.commandLabel}: ${commandStr}`;
|
|
123565
|
-
}
|
|
123903
|
+
formatReminderDisplayContent(content, _meta) {
|
|
123566
123904
|
return content;
|
|
123567
123905
|
}
|
|
123906
|
+
renderReminderContentHtml(content, renderMode) {
|
|
123907
|
+
if (renderMode === "plain") {
|
|
123908
|
+
return [
|
|
123909
|
+
'<div class="rem-item-body">',
|
|
123910
|
+
`<div class="rem-item-content rem-item-content-expandable">${this.renderReminderPlainHtml(content)}</div>`,
|
|
123911
|
+
'<div class="rem-item-expand-footer is-hidden"><button type="button" class="rem-item-expand-btn"><span class="rem-item-expand-icon icon-mask" aria-hidden="true"></span></button></div>',
|
|
123912
|
+
"</div>"
|
|
123913
|
+
].join("");
|
|
123914
|
+
}
|
|
123915
|
+
return [
|
|
123916
|
+
'<div class="rem-item-body">',
|
|
123917
|
+
`<div class="rem-item-content rem-item-content-markdown rem-item-content-expandable markdown-content">${renderDomindsMarkdown(content, { kind: "chat" })}</div>`,
|
|
123918
|
+
'<div class="rem-item-expand-footer is-hidden"><button type="button" class="rem-item-expand-btn"><span class="rem-item-expand-icon icon-mask" aria-hidden="true"></span></button></div>',
|
|
123919
|
+
"</div>"
|
|
123920
|
+
].join("");
|
|
123921
|
+
}
|
|
123568
123922
|
renderReminderPlainHtml(content) {
|
|
123569
123923
|
return htmlExports.escapeHtml(content).replace(/\n/g, "<br>");
|
|
123570
123924
|
}
|
|
123925
|
+
ensureRemindersWidgetShell(widgetContent) {
|
|
123926
|
+
let empty2 = widgetContent.querySelector('[data-reminders-role="empty"]');
|
|
123927
|
+
if (!(empty2 instanceof HTMLElement)) {
|
|
123928
|
+
empty2 = document.createElement("div");
|
|
123929
|
+
empty2.className = "reminders-widget-empty";
|
|
123930
|
+
empty2.setAttribute("data-reminders-role", "empty");
|
|
123931
|
+
widgetContent.appendChild(empty2);
|
|
123932
|
+
}
|
|
123933
|
+
let virtualSection = widgetContent.querySelector(
|
|
123934
|
+
'[data-reminders-role="virtual-section"]'
|
|
123935
|
+
);
|
|
123936
|
+
if (!(virtualSection instanceof HTMLElement)) {
|
|
123937
|
+
virtualSection = document.createElement("div");
|
|
123938
|
+
virtualSection.className = "rem-section rem-section-virtual";
|
|
123939
|
+
virtualSection.setAttribute("data-reminders-role", "virtual-section");
|
|
123940
|
+
widgetContent.appendChild(virtualSection);
|
|
123941
|
+
}
|
|
123942
|
+
let sectionDivider = widgetContent.querySelector(
|
|
123943
|
+
'[data-reminders-role="section-divider"]'
|
|
123944
|
+
);
|
|
123945
|
+
if (!(sectionDivider instanceof HTMLHRElement)) {
|
|
123946
|
+
sectionDivider = document.createElement("hr");
|
|
123947
|
+
sectionDivider.className = "rem-divider rem-divider-section";
|
|
123948
|
+
sectionDivider.setAttribute("data-reminders-role", "section-divider");
|
|
123949
|
+
widgetContent.appendChild(sectionDivider);
|
|
123950
|
+
}
|
|
123951
|
+
let numberedSection = widgetContent.querySelector(
|
|
123952
|
+
'[data-reminders-role="numbered-section"]'
|
|
123953
|
+
);
|
|
123954
|
+
if (!(numberedSection instanceof HTMLElement)) {
|
|
123955
|
+
numberedSection = document.createElement("div");
|
|
123956
|
+
numberedSection.className = "rem-section rem-section-numbered";
|
|
123957
|
+
numberedSection.setAttribute("data-reminders-role", "numbered-section");
|
|
123958
|
+
widgetContent.appendChild(numberedSection);
|
|
123959
|
+
}
|
|
123960
|
+
const orderedShellNodes = [
|
|
123961
|
+
empty2,
|
|
123962
|
+
virtualSection,
|
|
123963
|
+
sectionDivider,
|
|
123964
|
+
numberedSection
|
|
123965
|
+
];
|
|
123966
|
+
let rootReferenceNode = widgetContent.firstChild;
|
|
123967
|
+
for (const shellNode of orderedShellNodes) {
|
|
123968
|
+
if (shellNode !== rootReferenceNode) {
|
|
123969
|
+
widgetContent.insertBefore(shellNode, rootReferenceNode);
|
|
123970
|
+
}
|
|
123971
|
+
rootReferenceNode = shellNode.nextSibling;
|
|
123972
|
+
}
|
|
123973
|
+
for (const child of Array.from(widgetContent.childNodes)) {
|
|
123974
|
+
if (orderedShellNodes.includes(child)) continue;
|
|
123975
|
+
child.remove();
|
|
123976
|
+
}
|
|
123977
|
+
return {
|
|
123978
|
+
empty: empty2,
|
|
123979
|
+
virtualSection,
|
|
123980
|
+
sectionDivider,
|
|
123981
|
+
numberedSection
|
|
123982
|
+
};
|
|
123983
|
+
}
|
|
123984
|
+
buildReminderRenderEntry(section, reminder, index, t2) {
|
|
123985
|
+
const fallbackId = `pending-${String(index + 1)}`;
|
|
123986
|
+
const reminderId = typeof reminder?.reminder_id === "string" && reminder.reminder_id.trim() !== "" ? reminder.reminder_id : fallbackId;
|
|
123987
|
+
let html2;
|
|
123988
|
+
if (!reminder || !reminder.content) {
|
|
123989
|
+
const scopeBadgeHtml = section === "numbered" ? "" : this.renderReminderScopeBadgeHtml(reminder?.scope);
|
|
123990
|
+
const itemClass = section === "virtual" ? "rem-item rem-item-virtual" : "rem-item";
|
|
123991
|
+
html2 = `<div class="${itemClass}"><div class="rem-item-head"><div class="rem-item-number" title="${this.escapeHtml(reminderId)}">${this.escapeHtml(reminderId)}</div>${scopeBadgeHtml}</div><div class="rem-item-content rem-item-content-loading">${t2.loading}</div></div>`;
|
|
123992
|
+
} else {
|
|
123993
|
+
const displayContent = this.formatReminderDisplayContent(reminder.content, reminder.meta);
|
|
123994
|
+
const scopeBadgeHtml = section === "numbered" ? this.renderReminderScopeBadgeHtml(reminder.scope) : "";
|
|
123995
|
+
const itemClass = section === "virtual" ? "rem-item rem-item-virtual" : "rem-item";
|
|
123996
|
+
html2 = `<div class="${itemClass}"><div class="rem-item-head"><div class="rem-item-number" title="${this.escapeHtml(reminderId)}">${this.escapeHtml(reminderId)}</div>${scopeBadgeHtml}</div>${this.renderReminderContentHtml(displayContent, reminder.renderMode)}</div>`;
|
|
123997
|
+
}
|
|
123998
|
+
return {
|
|
123999
|
+
key: `${section}:${reminderId}`,
|
|
124000
|
+
fingerprint: `${this.uiLanguage}\0${reminder?.renderRevision ?? `loading:${section}:${reminderId}`}`,
|
|
124001
|
+
html: html2
|
|
124002
|
+
};
|
|
124003
|
+
}
|
|
124004
|
+
createReminderItemElement(entry, widgetContent) {
|
|
124005
|
+
const wrapper = document.createElement("div");
|
|
124006
|
+
wrapper.innerHTML = entry.html;
|
|
124007
|
+
const item = wrapper.firstElementChild;
|
|
124008
|
+
if (!(item instanceof HTMLElement)) {
|
|
124009
|
+
throw new Error(`Reminder render produced no root node for key=${entry.key}`);
|
|
124010
|
+
}
|
|
124011
|
+
item.dataset.reminderKey = entry.key;
|
|
124012
|
+
item.dataset.reminderFingerprint = entry.fingerprint;
|
|
124013
|
+
postprocessRenderedDomindsMarkdown(item);
|
|
124014
|
+
this.setupReminderProgressiveExpandForItem(entry.key, item, widgetContent);
|
|
124015
|
+
return item;
|
|
124016
|
+
}
|
|
124017
|
+
setupReminderProgressiveExpandForItem(key, item, widgetContent) {
|
|
124018
|
+
this.cleanupReminderProgressiveExpand(key);
|
|
124019
|
+
const target = item.querySelector(".rem-item-content");
|
|
124020
|
+
const footer = item.querySelector(".rem-item-expand-footer");
|
|
124021
|
+
const button = item.querySelector(".rem-item-expand-btn");
|
|
124022
|
+
if (!target || !footer || !button) return;
|
|
124023
|
+
const cleanup = setupProgressiveExpandBehavior({
|
|
124024
|
+
target,
|
|
124025
|
+
footer,
|
|
124026
|
+
button,
|
|
124027
|
+
stepParent: widgetContent,
|
|
124028
|
+
label: getProgressiveExpandLabel(this.uiLanguage),
|
|
124029
|
+
// Reminder bodies can become long after first paint when a nested code block is expanded.
|
|
124030
|
+
// Track only target self-growth until the first outer overflow appears; never track widget
|
|
124031
|
+
// parent resize for this.
|
|
124032
|
+
observeTargetUntilOverflow: true
|
|
124033
|
+
});
|
|
124034
|
+
this.reminderProgressiveExpandCleanupByKey.set(key, cleanup);
|
|
124035
|
+
}
|
|
124036
|
+
cleanupReminderProgressiveExpand(key) {
|
|
124037
|
+
const cleanup = this.reminderProgressiveExpandCleanupByKey.get(key);
|
|
124038
|
+
if (!cleanup) return;
|
|
124039
|
+
cleanup();
|
|
124040
|
+
this.reminderProgressiveExpandCleanupByKey.delete(key);
|
|
124041
|
+
}
|
|
124042
|
+
cleanupAllReminderProgressiveExpands() {
|
|
124043
|
+
for (const cleanup of this.reminderProgressiveExpandCleanupByKey.values()) {
|
|
124044
|
+
cleanup();
|
|
124045
|
+
}
|
|
124046
|
+
this.reminderProgressiveExpandCleanupByKey.clear();
|
|
124047
|
+
}
|
|
124048
|
+
assertUniqueReminderRenderKeys(section, entries2) {
|
|
124049
|
+
const seen2 = /* @__PURE__ */ new Set();
|
|
124050
|
+
for (const entry of entries2) {
|
|
124051
|
+
if (seen2.has(entry.key)) {
|
|
124052
|
+
throw new Error(`Duplicate reminder render key in ${section} section: ${entry.key}`);
|
|
124053
|
+
}
|
|
124054
|
+
seen2.add(entry.key);
|
|
124055
|
+
}
|
|
124056
|
+
}
|
|
124057
|
+
patchReminderSection(section, entries2, widgetContent) {
|
|
124058
|
+
const existingByKey = /* @__PURE__ */ new Map();
|
|
124059
|
+
for (const child of Array.from(section.children)) {
|
|
124060
|
+
if (!(child instanceof HTMLElement)) {
|
|
124061
|
+
child.remove();
|
|
124062
|
+
continue;
|
|
124063
|
+
}
|
|
124064
|
+
if (!child.classList.contains("rem-item")) {
|
|
124065
|
+
child.remove();
|
|
124066
|
+
continue;
|
|
124067
|
+
}
|
|
124068
|
+
const key = child.dataset.reminderKey;
|
|
124069
|
+
if (typeof key === "string" && key.length > 0) {
|
|
124070
|
+
if (existingByKey.has(key)) {
|
|
124071
|
+
throw new Error(`Duplicate reminder DOM key in widget section: ${key}`);
|
|
124072
|
+
}
|
|
124073
|
+
existingByKey.set(key, child);
|
|
124074
|
+
} else {
|
|
124075
|
+
child.remove();
|
|
124076
|
+
}
|
|
124077
|
+
}
|
|
124078
|
+
let referenceNode = section.firstChild;
|
|
124079
|
+
for (const entry of entries2) {
|
|
124080
|
+
const existing = existingByKey.get(entry.key) ?? null;
|
|
124081
|
+
let item = existing;
|
|
124082
|
+
if (existing !== null && existing.dataset.reminderFingerprint !== entry.fingerprint) {
|
|
124083
|
+
const nextSibling = existing.nextSibling;
|
|
124084
|
+
const wasReferenceNode = existing === referenceNode;
|
|
124085
|
+
this.cleanupReminderProgressiveExpand(entry.key);
|
|
124086
|
+
existing.remove();
|
|
124087
|
+
if (wasReferenceNode) {
|
|
124088
|
+
referenceNode = nextSibling;
|
|
124089
|
+
}
|
|
124090
|
+
item = null;
|
|
124091
|
+
}
|
|
124092
|
+
if (item === null) {
|
|
124093
|
+
item = this.createReminderItemElement(entry, widgetContent);
|
|
124094
|
+
section.insertBefore(item, referenceNode);
|
|
124095
|
+
} else if (item !== referenceNode) {
|
|
124096
|
+
section.insertBefore(item, referenceNode);
|
|
124097
|
+
}
|
|
124098
|
+
referenceNode = item.nextSibling;
|
|
124099
|
+
existingByKey.delete(entry.key);
|
|
124100
|
+
}
|
|
124101
|
+
for (const [obsoleteKey, obsoleteNode] of existingByKey.entries()) {
|
|
124102
|
+
this.cleanupReminderProgressiveExpand(obsoleteKey);
|
|
124103
|
+
obsoleteNode.remove();
|
|
124104
|
+
}
|
|
124105
|
+
}
|
|
123571
124106
|
/**
|
|
123572
124107
|
* Get agent display name from team configuration or fallback to default format
|
|
123573
124108
|
*/
|
|
@@ -125854,4 +126389,4 @@ export {
|
|
|
125854
126389
|
purify as y,
|
|
125855
126390
|
clear$2 as z
|
|
125856
126391
|
};
|
|
125857
|
-
//# sourceMappingURL=index-
|
|
126392
|
+
//# sourceMappingURL=index-Cyx7eev_.js.map
|