@yejiming/dsh-data-agent 0.1.2 → 0.1.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/lib/client.js CHANGED
@@ -1001,7 +1001,7 @@ window.__ModuleLoader__.load({
1001
1001
  }
1002
1002
  //#endregion
1003
1003
  //#region \0dsh-css:/Users/yejiming/Desktop/OpenSource/dsh-data-agent/src/client/DataAgentWorkbench.module.css.mjs
1004
- const css$1 = ".Sv3uVW_triggerSlot{z-index:12;pointer-events:auto;display:flex;position:absolute;top:-42px;right:12px}.Sv3uVW_trigger{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-specific-selector,var(--dsw-alias-bg-layer-2,#ffffff0f));width:30px;height:30px;color:var(--dsw-alias-label-secondary,#808080e6);cursor:pointer;border-radius:9px;place-items:center;padding:0;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:grid;position:relative;box-shadow:0 1px 2px #0000000a}.Sv3uVW_trigger:hover,.Sv3uVW_triggerActive{border-color:var(--dsw-alias-border-l3,#80808080);background:var(--dsw-alias-interactive-bg-hover-solid,var(--dsw-alias-interactive-bg-hover,#8080801a));color:var(--dsw-alias-label-primary,inherit)}.Sv3uVW_trigger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 25%, transparent);outline:none}.Sv3uVW_triggerDot{box-shadow:0 0 0 2px var(--dsw-specific-input-major,var(--dsw-alias-bg-base,#fff));border-radius:999px;position:absolute;bottom:-2px;right:-2px}.Sv3uVW_workbenchModal{width:min(920px,94vw)}.Sv3uVW_workbenchModalContent{min-height:min(590px,70vh);max-height:min(700px,76vh);overflow:auto}.Sv3uVW_workbench{box-sizing:border-box;min-height:520px;font-family:var(--dsw-font-family,-apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif);color:var(--dsw-alias-label-primary,inherit);flex-direction:column;gap:14px;font-size:13px;line-height:1.5;display:flex}.Sv3uVW_connectionSummary{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#ffffff0a);border-radius:10px;align-items:center;gap:8px;min-height:34px;padding:6px 10px;display:flex}.Sv3uVW_connectionState{flex:none;font-size:12px;font-weight:600}.Sv3uVW_summaryType{border:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-1,#ffffff08);color:var(--dsw-alias-label-secondary,#808080cc);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);border-radius:999px;flex:none;padding:2px 8px;font-size:11px}.Sv3uVW_summaryDb{min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.Sv3uVW_tabs{background:var(--dsw-specific-selector,var(--dsw-alias-bg-layer-2,#80808014));border-radius:10px;align-items:center;gap:4px;padding:3px;display:flex;overflow-x:auto}.Sv3uVW_tab{height:34px;color:var(--dsw-alias-label-secondary,#808080cc);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1 0 120px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.Sv3uVW_tab:hover:not(:disabled){color:var(--dsw-alias-label-primary,inherit);background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_tabActive,.Sv3uVW_tabActive:hover:not(:disabled){color:var(--dsw-alias-label-primary,inherit);background:var(--dsw-specific-input-major,var(--dsw-alias-bg-layer-1,#fffc));box-shadow:var(--dsw-shadow-lv1,0 1px 3px #00000014)}.Sv3uVW_tab:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 28%, transparent);outline:none}.Sv3uVW_tab:disabled{opacity:.42;cursor:default}.Sv3uVW_tabPanel{flex-direction:column;flex:1;gap:14px;min-height:0;padding:2px;display:flex}.Sv3uVW_fieldGrid{flex-direction:column;gap:11px;display:flex}.Sv3uVW_fieldRow2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.Sv3uVW_field{flex-direction:column;gap:5px;min-width:0;display:flex}.Sv3uVW_label{color:var(--dsw-alias-label-secondary,#808080bf);font-size:11px;font-weight:500}.Sv3uVW_rememberRow{color:var(--dsw-alias-label-primary,inherit);cursor:pointer;user-select:none;align-items:center;gap:7px;font-size:12px;display:flex}.Sv3uVW_rememberRow input[type=checkbox]{width:14px;height:14px;accent-color:var(--dsw-alias-button-info-fill,#3b82f6);flex:none;margin:0}.Sv3uVW_rememberHint{color:var(--dsw-alias-label-caption,#8080808c);font-size:11px}.Sv3uVW_input{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#ffffff0a);width:100%;height:34px;color:var(--dsw-alias-label-primary,inherit);font:inherit;border-radius:8px;padding:0 10px;font-size:13px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.Sv3uVW_input::placeholder{color:var(--dsw-alias-label-caption,#80808080)}.Sv3uVW_input:focus,.Sv3uVW_input:focus-visible,.Sv3uVW_sqlInput:focus,.Sv3uVW_sqlInput:focus-visible{border-color:var(--dsw-alias-button-info-fill,#3b82f6);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 18%, transparent);outline:none}.Sv3uVW_input:disabled{opacity:.58}select.Sv3uVW_input{appearance:none;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' fill='none' stroke='%23777' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.Sv3uVW_actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:auto;padding-top:4px;display:flex}.Sv3uVW_primary,.Sv3uVW_ghost{min-width:96px;height:34px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 15px;font-size:13px;font-weight:500;transition:background-color .15s ease-out,border-color .15s ease-out,opacity .15s ease-out;display:inline-flex}.Sv3uVW_primary{background:var(--dsw-alias-button-info-fill,#3b82f6);color:#fff}.Sv3uVW_primary:hover:not(:disabled){background:var(--dsw-alias-button-info-hover,#3573e0)}.Sv3uVW_ghost{border-color:var(--dsw-alias-border-l2,#80808059);color:var(--dsw-alias-label-primary,inherit);background:0 0}.Sv3uVW_ghost:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_primary:focus-visible,.Sv3uVW_ghost:focus-visible,.Sv3uVW_treeItem:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 24%, transparent);outline:none}.Sv3uVW_primary:disabled,.Sv3uVW_ghost:disabled{opacity:.45;cursor:default}.Sv3uVW_schemaPanel{grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:20px;height:min(470px,56vh);display:grid}.Sv3uVW_modalCol{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.Sv3uVW_modalColTitle{color:var(--dsw-alias-label-tertiary,#808080b3);letter-spacing:.06em;text-transform:uppercase;flex:none;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.Sv3uVW_colCount,.Sv3uVW_treeCount{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#ffffff0a);color:var(--dsw-alias-label-secondary,#808080cc);border-radius:999px;flex:none;padding:1px 7px;font-size:10px;font-weight:500}.Sv3uVW_treeScroll{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.Sv3uVW_tree{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.Sv3uVW_treeNode,.Sv3uVW_treeChildren{flex-direction:column;gap:1px;display:flex}.Sv3uVW_treeItem{width:100%;min-height:30px;color:var(--dsw-alias-label-primary,inherit);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:0 8px;font-size:12.5px;display:flex}.Sv3uVW_treeItem:hover{background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_treeItem.Sv3uVW_active,.Sv3uVW_treeItem.Sv3uVW_active:hover{background:var(--dsw-alias-interactive-bg-active,#3b82f62e)}.Sv3uVW_treeChevron{color:var(--dsw-alias-label-tertiary,#80808099);flex:none;transition:transform .15s ease-out}.Sv3uVW_treeChevron.Sv3uVW_open{transform:rotate(90deg)}.Sv3uVW_treeIcon{color:var(--dsw-alias-label-secondary,#808080cc);flex:none}.Sv3uVW_treeItem.Sv3uVW_active .Sv3uVW_treeIcon{color:var(--dsw-alias-button-info-fill,#3b82f6)}.Sv3uVW_treeName{min-width:0;font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.Sv3uVW_treeChildren{border-left:1px solid var(--dsw-alias-border-l2,#80808059);max-height:154px;margin-left:12px;padding-left:10px;overflow-y:auto}.Sv3uVW_hint{color:var(--dsw-alias-label-tertiary,#80808099);font-size:12px}.Sv3uVW_modalHint{color:var(--dsw-alias-label-caption,#80808080);flex:none;margin-top:2px;font-size:11.5px}.Sv3uVW_colScroll{border:1px solid var(--dsw-alias-border-l1,#80808033);border-radius:8px;flex:1;min-height:0;overflow:auto}.Sv3uVW_columnsTable{border-collapse:collapse;width:100%;font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:12px}.Sv3uVW_columnsTable th{z-index:1;border-bottom:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#ffffff0a);color:var(--dsw-alias-label-tertiary,#808080b3);letter-spacing:.05em;text-align:left;text-transform:uppercase;padding:7px 10px;font-size:10.5px;font-weight:600;position:sticky;top:0}.Sv3uVW_columnsTable td{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);padding:6px 10px}.Sv3uVW_columnsTable tbody tr:hover td{background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_typeCell{color:var(--dsw-alias-label-secondary,#808080cc)}.Sv3uVW_nullCell{color:var(--dsw-alias-label-caption,#80808080);font-size:11px}.Sv3uVW_emptyState{border:1px dashed var(--dsw-alias-border-l2,#80808059);min-height:0;color:var(--dsw-alias-label-tertiary,#808080b3);border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.Sv3uVW_emptyStateIcon{width:20px;height:20px;color:var(--dsw-alias-label-dimmed,#80808066)}.Sv3uVW_emptyStateText{font-size:12px}.Sv3uVW_sqlPanel{min-height:430px}.Sv3uVW_sqlInput{box-sizing:border-box;resize:vertical;border:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#ffffff0a);width:100%;min-height:210px;color:var(--dsw-alias-label-primary,inherit);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);border-radius:10px;padding:12px;font-size:12.5px;line-height:1.6}.Sv3uVW_sqlInput::placeholder{color:var(--dsw-alias-label-caption,#80808080)}.Sv3uVW_sqlActions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.Sv3uVW_shortcutHint{color:var(--dsw-alias-label-caption,#80808080);font-size:11.5px}.Sv3uVW_sqlResultEmpty,.Sv3uVW_sqlMessage{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-markdown-code-block,#ffffff0a);border-radius:8px;flex:1;min-height:150px;margin:0;padding:11px 12px}.Sv3uVW_sqlResultEmpty{color:var(--dsw-alias-label-caption,#80808080);place-items:center;font-size:12px;display:grid}.Sv3uVW_sqlMessage{max-height:280px;color:var(--dsw-alias-label-primary,inherit);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);white-space:pre-wrap;word-break:break-word;font-size:11.5px;line-height:1.55;overflow:auto}.Sv3uVW_sqlMessageError{border-color:var(--dsw-alias-state-error-secondary,#ef444480);background:var(--dsw-alias-interactive-bg-hover-danger,#ef444414);color:var(--dsw-alias-state-error-primary,#ef4444)}.Sv3uVW_sqlResultPanel{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-markdown-code-block,#ffffff0a);border-radius:8px;flex-direction:column;flex:1;min-height:210px;display:flex;overflow:hidden}.Sv3uVW_sqlResultToolbar{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#ffffff0a);flex:none;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:6px 8px 6px 11px;display:flex}.Sv3uVW_sqlResultMeta{min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);white-space:nowrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.Sv3uVW_sqlResultLimit{background:var(--dsw-alias-interactive-bg-hover,#80808014);color:var(--dsw-alias-label-tertiary,#808080a6);border-radius:999px;padding:1px 6px;font-size:10.5px}.Sv3uVW_sqlFeedback{color:var(--dsw-alias-state-success-primary,#16a34a);text-overflow:ellipsis;overflow:hidden}.Sv3uVW_sqlExportActions{flex:none;align-items:center;gap:5px;display:flex}.Sv3uVW_sqlExportButton,.Sv3uVW_sqlPageButton{border:1px solid var(--dsw-alias-border-l2,#80808059);height:28px;color:var(--dsw-alias-label-secondary,#808080cc);font:inherit;cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:11.5px;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,opacity .15s ease-out;display:inline-flex}.Sv3uVW_sqlExportButton:hover:not(:disabled),.Sv3uVW_sqlPageButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#80808014);color:var(--dsw-alias-label-primary,inherit)}.Sv3uVW_sqlExportButton:focus-visible,.Sv3uVW_sqlPageButton:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 24%, transparent);outline:none}.Sv3uVW_sqlExportButton:disabled,.Sv3uVW_sqlPageButton:disabled{opacity:.42;cursor:default}.Sv3uVW_sqlTableScroll{flex:1;min-height:150px;max-height:300px;overflow:auto}.Sv3uVW_sqlResultTable{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;color:var(--dsw-alias-label-primary,inherit);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:11.5px}.Sv3uVW_sqlResultTable th{z-index:1;border-bottom:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#8080801f);color:var(--dsw-alias-label-secondary,#808080cc);text-align:left;white-space:nowrap;padding:7px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.Sv3uVW_sqlResultTable td{border-bottom:1px solid var(--dsw-alias-border-l1,#8080802e);text-overflow:ellipsis;white-space:nowrap;max-width:360px;padding:6px 10px;overflow:hidden}.Sv3uVW_sqlResultTable tbody tr:hover td{background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_sqlNull,.Sv3uVW_sqlEmptyString{color:var(--dsw-alias-label-caption,#80808080);font-size:10.5px}.Sv3uVW_sqlNull{font-style:italic}.Sv3uVW_sqlTableEmpty{height:92px;color:var(--dsw-alias-label-caption,#80808080);text-align:center}.Sv3uVW_sqlPagination{border-top:1px solid var(--dsw-alias-border-l1,#80808033);min-height:36px;color:var(--dsw-alias-label-tertiary,#808080a6);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px 4px 11px;font-size:11px;display:flex}.Sv3uVW_sqlPageActions{gap:5px;display:flex}.Sv3uVW_sqlPageButton{height:26px}.Sv3uVW_catalogPanel{min-height:450px}.Sv3uVW_catalogPanel[hidden]{display:none}.Sv3uVW_catalogProgress,.Sv3uVW_catalogConfirm{align-items:center;gap:8px;display:flex}.Sv3uVW_catalogToolbar{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);flex-direction:column;padding-bottom:10px;display:flex}.Sv3uVW_catalogOverview{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:end;gap:14px;padding-bottom:10px;display:grid}.Sv3uVW_catalogControl{min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);flex-direction:column;gap:4px;font-size:11px;display:flex}.Sv3uVW_catalogStats{min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);grid-template-columns:minmax(140px,auto) minmax(0,1fr);align-items:center;gap:5px 16px;font-size:11px;display:grid}.Sv3uVW_catalogSourceName{color:var(--dsw-alias-label-primary,inherit);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.Sv3uVW_catalogCounts{align-items:center;gap:16px;min-width:0;display:flex}.Sv3uVW_catalogCounts>span{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.Sv3uVW_catalogCounts strong{color:var(--dsw-alias-label-primary,inherit);font-variant-numeric:tabular-nums;font-size:13px}.Sv3uVW_catalogScanTimes{min-width:0;color:var(--dsw-alias-label-caption,#8080808c);grid-column:1/-1;gap:18px;display:flex}.Sv3uVW_catalogScanTimes span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Sv3uVW_catalogScanTimes time{color:var(--dsw-alias-label-secondary,#808080cc);font-variant-numeric:tabular-nums;margin-left:4px}.Sv3uVW_catalogLatestRun{border-top:1px solid var(--dsw-alias-border-l1,#80808029);min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);align-items:center;gap:8px;padding:8px 0;font-size:11px;display:flex}.Sv3uVW_catalogLatestRun[data-error=true]{color:var(--dsw-alias-state-error-primary,#ef4444)}.Sv3uVW_catalogLatestLabel{flex:none;font-weight:600}.Sv3uVW_catalogLatestRun code{max-width:150px;color:var(--dsw-alias-label-caption,#8080808c);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.Sv3uVW_catalogLatestError{overflow-wrap:anywhere;min-width:0}.Sv3uVW_catalogLatestError strong{font-weight:600}.Sv3uVW_catalogActions{flex-direction:column;display:flex}.Sv3uVW_catalogActionGroup{border-top:1px solid var(--dsw-alias-border-l1,#80808029);grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:10px 0 0;display:grid}.Sv3uVW_catalogActionGroup+.Sv3uVW_catalogActionGroup{margin-top:10px}.Sv3uVW_catalogActionGroup>div{min-width:0}.Sv3uVW_catalogSectionLabel{color:var(--dsw-alias-label-secondary,#808080cc);align-self:start;padding-top:7px;font-size:11px;font-weight:600}.Sv3uVW_catalogScanBar{align-items:center;gap:8px;min-width:0;display:flex}.Sv3uVW_catalogScanBar .Sv3uVW_input{flex:160px;max-width:none}.Sv3uVW_catalogInlineNotice{color:var(--dsw-alias-label-caption,#8080808c);margin-top:5px;font-size:10.5px}.Sv3uVW_catalogDiffBar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;display:grid}.Sv3uVW_catalogNotice,.Sv3uVW_catalogError,.Sv3uVW_catalogProgress,.Sv3uVW_catalogConfirm{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#8080800d);color:var(--dsw-alias-label-secondary,#808080cc);border-radius:8px;padding:8px 10px;font-size:11.5px}.Sv3uVW_catalogNotice{background:0 0;border:none;padding-block:5px}.Sv3uVW_catalogError{border-color:var(--dsw-alias-state-error-secondary,#ef444480);color:var(--dsw-alias-state-error-primary,#ef4444)}.Sv3uVW_catalogProgress code{margin-left:auto;font-size:10px}.Sv3uVW_catalogConfirm span{flex:1}.Sv3uVW_catalogWorkspace{flex:none;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;height:clamp(380px,52vh,520px);min-height:0;display:grid;overflow:hidden}.Sv3uVW_catalogResults,.Sv3uVW_catalogDetail{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex;overflow:hidden}.Sv3uVW_catalogSearch{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.Sv3uVW_catalogSearchQuery,.Sv3uVW_catalogSearchActions{grid-column:1/-1}.Sv3uVW_catalogSearchActions{justify-content:space-between;align-items:center;gap:8px;display:flex}.Sv3uVW_catalogCheck{color:var(--dsw-alias-label-secondary,#808080cc);align-items:center;gap:6px;font-size:11px;display:flex}.Sv3uVW_catalogList,.Sv3uVW_catalogDetail{border:1px solid var(--dsw-alias-border-l1,#80808033);border-radius:9px;overflow:hidden}.Sv3uVW_catalogList{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.Sv3uVW_catalogItem{border:0;border-bottom:1px solid var(--dsw-alias-border-l1,#80808029);color:var(--dsw-alias-label-primary,inherit);font:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:3px;padding:9px 10px;display:flex}.Sv3uVW_catalogItem:hover,.Sv3uVW_catalogItemActive{background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_catalogItem:focus-visible{outline:2px solid var(--dsw-alias-button-info-fill,#3b82f6);outline-offset:-2px}.Sv3uVW_catalogItem code,.Sv3uVW_catalogHistoryItem code,.Sv3uVW_catalogDetailScroll>code{color:var(--dsw-alias-label-secondary,#808080cc);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.Sv3uVW_catalogItem>span:last-child{color:var(--dsw-alias-label-caption,#8080808c);font-size:10.5px}.Sv3uVW_catalogItemHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.Sv3uVW_catalogListEmpty{min-height:160px;color:var(--dsw-alias-label-caption,#8080808c);place-items:center;display:grid}.Sv3uVW_catalogBadge{border:1px solid var(--dsw-alias-border-l2,#80808059);width:fit-content;color:var(--dsw-alias-label-secondary,#808080cc);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.Sv3uVW_catalogBadge_verified,.Sv3uVW_catalogBadge_observed,.Sv3uVW_catalogBadge_restored{color:#16a34a;border-color:#16a34a73}.Sv3uVW_catalogBadge_inferred,.Sv3uVW_catalogBadge_needs_review,.Sv3uVW_catalogBadge_changed{color:#d97706;border-color:#d9770673}.Sv3uVW_catalogBadge_missing,.Sv3uVW_catalogBadge_unavailable,.Sv3uVW_catalogBadge_retired{color:#dc2626;border-color:#dc262661}.Sv3uVW_catalogDetailTabs{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);flex:none;gap:3px;padding:5px;display:flex}.Sv3uVW_catalogDetailHeader{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);flex-direction:column;flex:none;gap:7px;padding:12px 12px 10px;display:flex}.Sv3uVW_catalogDetailHeader h3,.Sv3uVW_catalogDetailHeader p{margin:0}.Sv3uVW_catalogDetailHeader p{color:var(--dsw-alias-label-secondary,#808080cc);font-size:11.5px}.Sv3uVW_catalogDetailTitle{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.Sv3uVW_catalogDetailTitle>div{flex-direction:column;gap:2px;min-width:0;display:flex}.Sv3uVW_catalogDetailTitle code{color:var(--dsw-alias-label-secondary,#808080cc);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.Sv3uVW_catalogDetailCounts{color:var(--dsw-alias-label-caption,#8080808c);align-items:center;gap:18px;font-size:10.5px;display:flex}.Sv3uVW_catalogDetailCounts span{align-items:baseline;gap:4px;display:inline-flex}.Sv3uVW_catalogDetailCounts strong{color:var(--dsw-alias-label-primary,inherit);font-variant-numeric:tabular-nums;font-size:13px}.Sv3uVW_catalogDetailTab,.Sv3uVW_catalogDetailTabActive{color:var(--dsw-alias-label-secondary,#808080cc);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:6px 8px;font-size:11.5px}.Sv3uVW_catalogDetailTabActive{background:var(--dsw-alias-interactive-bg-active,#3b82f624);color:var(--dsw-alias-label-primary,inherit)}.Sv3uVW_catalogDetailScroll{overscroll-behavior:contain;flex-direction:column;flex:1;gap:9px;min-height:0;padding:12px;display:flex;overflow:auto}.Sv3uVW_catalogDetailScroll h3,.Sv3uVW_catalogDetailScroll p,.Sv3uVW_catalogDefinition pre,.Sv3uVW_catalogHistoryItem p{margin:0}.Sv3uVW_catalogDefinition,.Sv3uVW_catalogHistoryItem{border:1px solid var(--dsw-alias-border-l1,#80808033);border-radius:8px;flex-direction:column;gap:5px;padding:9px;display:flex}.Sv3uVW_catalogFacts{grid-template-columns:minmax(7rem,max-content) minmax(0,1fr);gap:.35rem .8rem;margin:.75rem 0;display:grid}.Sv3uVW_catalogFacts dt{color:var(--dsh-color-text-secondary,#64748b)}.Sv3uVW_catalogFacts dd{overflow-wrap:anywhere;min-width:0;margin:0}.Sv3uVW_catalogRelations{gap:.5rem;margin-top:1rem;display:grid}.Sv3uVW_catalogScanFacts{border-top:1px solid var(--dsw-alias-border-l1,#80808033);color:var(--dsw-alias-label-secondary,#808080cc);padding-top:8px}.Sv3uVW_catalogScanFacts summary{cursor:pointer;font-weight:600}.Sv3uVW_catalogBusinessEmpty{border:1px dashed var(--dsw-alias-border-l2,#80808059);color:var(--dsw-alias-label-secondary,#808080cc);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.Sv3uVW_catalogBusinessEmpty strong{color:var(--dsw-alias-label-primary,inherit)}.Sv3uVW_catalogBusinessEmpty p{margin:0}.Sv3uVW_catalogMeaningReview,.Sv3uVW_catalogMeaningSection,.Sv3uVW_catalogMeaningFields{flex-direction:column;display:flex}.Sv3uVW_catalogMeaningReview{gap:16px}.Sv3uVW_catalogMeaningSection{gap:8px}.Sv3uVW_catalogMeaningSection h4{margin:0;font-size:12px}.Sv3uVW_catalogMeaningFields{border:1px solid var(--dsw-alias-border-l1,#80808033);border-radius:8px;gap:0;overflow:hidden}.Sv3uVW_catalogMeaningField{border-bottom:1px solid var(--dsw-alias-border-l1,#80808029);grid-template-columns:minmax(110px,.32fr) minmax(0,1fr);gap:10px;padding:9px 10px;display:grid}.Sv3uVW_catalogMeaningField:last-child{border-bottom:0}.Sv3uVW_catalogMeaningFieldMeta{flex-direction:column;gap:3px;min-width:0;display:flex}.Sv3uVW_catalogMeaningFieldMeta strong,.Sv3uVW_catalogMeaningFieldMeta code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Sv3uVW_catalogMeaningFieldMeta code,.Sv3uVW_catalogMeaningOrigin,.Sv3uVW_catalogMeaningActions code{color:var(--dsw-alias-label-caption,#8080808c);font-size:10px}.Sv3uVW_catalogMeaningCard{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#80808009);border-radius:8px;flex-direction:column;gap:7px;min-width:0;padding:10px;display:flex}.Sv3uVW_catalogMeaningCardCompact{background:0 0;border:0;padding:0}.Sv3uVW_catalogMeaningCard p,.Sv3uVW_catalogMeaningMissing{margin:0;line-height:1.55}.Sv3uVW_catalogMeaningMissing{color:var(--dsw-alias-label-caption,#8080808c)}.Sv3uVW_catalogMeaningOrigin{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Sv3uVW_catalogMeaningActions{align-items:center;gap:6px;min-width:0;display:flex}.Sv3uVW_catalogMeaningActions code{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;overflow:hidden}.Sv3uVW_catalogDefinition pre{background:var(--dsw-alias-markdown-code-block,#80808014);white-space:pre-wrap;border-radius:6px;padding:7px;font-size:11px;overflow:auto}.Sv3uVW_catalogEditor{border-top:1px solid var(--dsw-alias-border-l1,#80808033);flex-direction:column;gap:8px;padding-top:8px;display:flex}.Sv3uVW_catalogTextArea{box-sizing:border-box;resize:vertical;border:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#ffffff0a);min-height:68px;color:var(--dsw-alias-label-primary,inherit);font:inherit;border-radius:8px;padding:8px 10px}.Sv3uVW_visuallyHidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Sv3uVW_errorBar{border:1px solid var(--dsw-alias-state-error-secondary,#ef444480);background:var(--dsw-alias-interactive-bg-hover-danger,#ef444414);border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.Sv3uVW_errorHead{color:var(--dsw-alias-state-error-primary,#ef4444);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.Sv3uVW_errorIcon{flex:none}.Sv3uVW_errorText{white-space:pre-wrap;word-break:break-word;font-size:12px}@media (width<=760px){.Sv3uVW_catalogOverview{grid-template-columns:minmax(0,1fr)}.Sv3uVW_catalogStats{grid-template-columns:minmax(120px,auto) minmax(0,1fr)}.Sv3uVW_catalogWorkspace{flex-direction:column;height:auto;display:flex;overflow:visible}.Sv3uVW_catalogList,.Sv3uVW_catalogDetail{flex:none;height:min(420px,58vh);min-height:280px;max-height:420px}.Sv3uVW_catalogMeaningField{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.Sv3uVW_triggerSlot{top:-42px;right:10px}.Sv3uVW_workbenchModal{width:min(96vw,920px)}.Sv3uVW_workbenchModalContent{min-height:0;max-height:72vh}.Sv3uVW_workbench{min-height:0}.Sv3uVW_fieldRow2{grid-template-columns:1fr}.Sv3uVW_schemaPanel{flex-direction:column;height:auto;display:flex}.Sv3uVW_catalogScanBar,.Sv3uVW_catalogConfirm,.Sv3uVW_catalogProgress{flex-direction:column;align-items:stretch}.Sv3uVW_catalogControl,.Sv3uVW_catalogScanBar .Sv3uVW_input{width:100%;max-width:none}.Sv3uVW_catalogScanBar .Sv3uVW_input{flex:none}.Sv3uVW_catalogDiffBar,.Sv3uVW_catalogSearch{grid-template-columns:minmax(0,1fr)}.Sv3uVW_catalogActionGroup{grid-template-columns:minmax(0,1fr);gap:4px}.Sv3uVW_catalogSectionLabel{padding-top:0}.Sv3uVW_catalogDiffBar>*,.Sv3uVW_catalogSearchQuery,.Sv3uVW_catalogSearchActions{grid-column:1}.Sv3uVW_catalogSearchActions{flex-direction:column;align-items:stretch}.Sv3uVW_treeScroll{flex:none;height:240px}.Sv3uVW_colScroll{flex:none;height:220px}.Sv3uVW_emptyState{flex:none;min-height:120px}.Sv3uVW_rememberRow{flex-wrap:wrap;align-items:flex-start}.Sv3uVW_rememberHint{flex-basis:100%;padding-left:21px}.Sv3uVW_sqlResultToolbar{flex-direction:column;align-items:flex-start}.Sv3uVW_sqlResultMeta{white-space:normal;flex-wrap:wrap;max-width:100%}.Sv3uVW_sqlExportActions{width:100%}.Sv3uVW_sqlExportButton{flex:1}}@media (prefers-reduced-motion:reduce){.Sv3uVW_trigger,.Sv3uVW_input,.Sv3uVW_primary,.Sv3uVW_ghost,.Sv3uVW_sqlExportButton,.Sv3uVW_sqlPageButton,.Sv3uVW_treeChevron{transition:none}}";
1004
+ const css$1 = ".Sv3uVW_triggerSlot{z-index:12;pointer-events:auto;display:flex;position:absolute;top:-42px;right:12px}.Sv3uVW_heroTrigger{height:32px;color:var(--dsw-alias-label-primary,inherit);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:7px;padding:0 10px;font-size:14px;display:inline-flex}.Sv3uVW_heroTrigger:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_heroTrigger:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 28%, transparent);outline:none}.Sv3uVW_heroTrigger:disabled{opacity:.55;cursor:progress}.Sv3uVW_trigger{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-specific-selector,var(--dsw-alias-bg-layer-2,#ffffff0f));width:30px;height:30px;color:var(--dsw-alias-label-secondary,#808080e6);cursor:pointer;border-radius:9px;place-items:center;padding:0;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out;display:grid;position:relative;box-shadow:0 1px 2px #0000000a}.Sv3uVW_trigger:hover,.Sv3uVW_triggerActive{border-color:var(--dsw-alias-border-l3,#80808080);background:var(--dsw-alias-interactive-bg-hover-solid,var(--dsw-alias-interactive-bg-hover,#8080801a));color:var(--dsw-alias-label-primary,inherit)}.Sv3uVW_trigger:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 25%, transparent);outline:none}.Sv3uVW_triggerDot{box-shadow:0 0 0 2px var(--dsw-specific-input-major,var(--dsw-alias-bg-base,#fff));border-radius:999px;position:absolute;bottom:-2px;right:-2px}.Sv3uVW_workbenchModal{width:min(920px,94vw)}.Sv3uVW_workbenchModalContent{min-height:min(590px,70vh);max-height:min(700px,76vh);overflow:auto}.Sv3uVW_workbench{box-sizing:border-box;min-height:520px;font-family:var(--dsw-font-family,-apple-system, BlinkMacSystemFont, \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif);color:var(--dsw-alias-label-primary,inherit);flex-direction:column;gap:14px;font-size:13px;line-height:1.5;display:flex}.Sv3uVW_connectionSummary{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#ffffff0a);border-radius:10px;align-items:center;gap:8px;min-height:34px;padding:6px 10px;display:flex}.Sv3uVW_connectionState{flex:none;font-size:12px;font-weight:600}.Sv3uVW_summaryType{border:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-1,#ffffff08);color:var(--dsw-alias-label-secondary,#808080cc);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);border-radius:999px;flex:none;padding:2px 8px;font-size:11px}.Sv3uVW_summaryDb{min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.Sv3uVW_tabs{background:var(--dsw-specific-selector,var(--dsw-alias-bg-layer-2,#80808014));border-radius:10px;align-items:center;gap:4px;padding:3px;display:flex;overflow-x:auto}.Sv3uVW_tab{height:34px;color:var(--dsw-alias-label-secondary,#808080cc);font:inherit;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1 0 120px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:13px;font-weight:500;display:inline-flex}.Sv3uVW_tab:hover:not(:disabled){color:var(--dsw-alias-label-primary,inherit);background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_tabActive,.Sv3uVW_tabActive:hover:not(:disabled){color:var(--dsw-alias-label-primary,inherit);background:var(--dsw-specific-input-major,var(--dsw-alias-bg-layer-1,#fffc));box-shadow:var(--dsw-shadow-lv1,0 1px 3px #00000014)}.Sv3uVW_tab:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 28%, transparent);outline:none}.Sv3uVW_tab:disabled{opacity:.42;cursor:default}.Sv3uVW_tabPanel{flex-direction:column;flex:1;gap:14px;min-height:0;padding:2px;display:flex}.Sv3uVW_fieldGrid{flex-direction:column;gap:11px;display:flex}.Sv3uVW_fieldRow2{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.Sv3uVW_field{flex-direction:column;gap:5px;min-width:0;display:flex}.Sv3uVW_label{color:var(--dsw-alias-label-secondary,#808080bf);font-size:11px;font-weight:500}.Sv3uVW_rememberRow{color:var(--dsw-alias-label-primary,inherit);cursor:pointer;user-select:none;align-items:center;gap:7px;font-size:12px;display:flex}.Sv3uVW_rememberRow input[type=checkbox]{width:14px;height:14px;accent-color:var(--dsw-alias-button-info-fill,#3b82f6);flex:none;margin:0}.Sv3uVW_rememberHint{color:var(--dsw-alias-label-caption,#8080808c);font-size:11px}.Sv3uVW_input{box-sizing:border-box;border:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#ffffff0a);width:100%;height:34px;color:var(--dsw-alias-label-primary,inherit);font:inherit;border-radius:8px;padding:0 10px;font-size:13px;transition:border-color .15s ease-out,box-shadow .15s ease-out}.Sv3uVW_input::placeholder{color:var(--dsw-alias-label-caption,#80808080)}.Sv3uVW_input:focus,.Sv3uVW_input:focus-visible,.Sv3uVW_sqlInput:focus,.Sv3uVW_sqlInput:focus-visible{border-color:var(--dsw-alias-button-info-fill,#3b82f6);box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 18%, transparent);outline:none}.Sv3uVW_input:disabled{opacity:.58}select.Sv3uVW_input{appearance:none;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' fill='none' stroke='%23777' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.Sv3uVW_actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:auto;padding-top:4px;display:flex}.Sv3uVW_primary,.Sv3uVW_ghost{min-width:96px;height:34px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 15px;font-size:13px;font-weight:500;transition:background-color .15s ease-out,border-color .15s ease-out,opacity .15s ease-out;display:inline-flex}.Sv3uVW_primary{background:var(--dsw-alias-button-info-fill,#3b82f6);color:#fff}.Sv3uVW_primary:hover:not(:disabled){background:var(--dsw-alias-button-info-hover,#3573e0)}.Sv3uVW_ghost{border-color:var(--dsw-alias-border-l2,#80808059);color:var(--dsw-alias-label-primary,inherit);background:0 0}.Sv3uVW_ghost:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_primary:focus-visible,.Sv3uVW_ghost:focus-visible,.Sv3uVW_treeItem:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 24%, transparent);outline:none}.Sv3uVW_primary:disabled,.Sv3uVW_ghost:disabled{opacity:.45;cursor:default}.Sv3uVW_schemaPanel{grid-template-columns:minmax(260px,.9fr) minmax(320px,1.1fr);gap:20px;height:min(470px,56vh);display:grid}.Sv3uVW_modalCol{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.Sv3uVW_modalColTitle{color:var(--dsw-alias-label-tertiary,#808080b3);letter-spacing:.06em;text-transform:uppercase;flex:none;align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.Sv3uVW_colCount,.Sv3uVW_treeCount{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#ffffff0a);color:var(--dsw-alias-label-secondary,#808080cc);border-radius:999px;flex:none;padding:1px 7px;font-size:10px;font-weight:500}.Sv3uVW_treeScroll{flex:1;min-height:0;padding-right:4px;overflow-y:auto}.Sv3uVW_tree{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.Sv3uVW_treeNode,.Sv3uVW_treeChildren{flex-direction:column;gap:1px;display:flex}.Sv3uVW_treeItem{width:100%;min-height:30px;color:var(--dsw-alias-label-primary,inherit);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;align-items:center;gap:6px;padding:0 8px;font-size:12.5px;display:flex}.Sv3uVW_treeItem:hover{background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_treeItem.Sv3uVW_active,.Sv3uVW_treeItem.Sv3uVW_active:hover{background:var(--dsw-alias-interactive-bg-active,#3b82f62e)}.Sv3uVW_treeChevron{color:var(--dsw-alias-label-tertiary,#80808099);flex:none;transition:transform .15s ease-out}.Sv3uVW_treeChevron.Sv3uVW_open{transform:rotate(90deg)}.Sv3uVW_treeIcon{color:var(--dsw-alias-label-secondary,#808080cc);flex:none}.Sv3uVW_treeItem.Sv3uVW_active .Sv3uVW_treeIcon{color:var(--dsw-alias-button-info-fill,#3b82f6)}.Sv3uVW_treeName{min-width:0;font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.Sv3uVW_treeChildren{border-left:1px solid var(--dsw-alias-border-l2,#80808059);max-height:154px;margin-left:12px;padding-left:10px;overflow-y:auto}.Sv3uVW_hint{color:var(--dsw-alias-label-tertiary,#80808099);font-size:12px}.Sv3uVW_modalHint{color:var(--dsw-alias-label-caption,#80808080);flex:none;margin-top:2px;font-size:11.5px}.Sv3uVW_colScroll{border:1px solid var(--dsw-alias-border-l1,#80808033);border-radius:8px;flex:1;min-height:0;overflow:auto}.Sv3uVW_columnsTable{border-collapse:collapse;width:100%;font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:12px}.Sv3uVW_columnsTable th{z-index:1;border-bottom:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#ffffff0a);color:var(--dsw-alias-label-tertiary,#808080b3);letter-spacing:.05em;text-align:left;text-transform:uppercase;padding:7px 10px;font-size:10.5px;font-weight:600;position:sticky;top:0}.Sv3uVW_columnsTable td{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);padding:6px 10px}.Sv3uVW_columnsTable tbody tr:hover td{background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_typeCell{color:var(--dsw-alias-label-secondary,#808080cc)}.Sv3uVW_nullCell{color:var(--dsw-alias-label-caption,#80808080);font-size:11px}.Sv3uVW_emptyState{border:1px dashed var(--dsw-alias-border-l2,#80808059);min-height:0;color:var(--dsw-alias-label-tertiary,#808080b3);border-radius:8px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.Sv3uVW_emptyStateIcon{width:20px;height:20px;color:var(--dsw-alias-label-dimmed,#80808066)}.Sv3uVW_emptyStateText{font-size:12px}.Sv3uVW_sqlPanel{min-height:430px}.Sv3uVW_sqlInput{box-sizing:border-box;resize:vertical;border:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#ffffff0a);width:100%;min-height:210px;color:var(--dsw-alias-label-primary,inherit);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);border-radius:10px;padding:12px;font-size:12.5px;line-height:1.6}.Sv3uVW_sqlInput::placeholder{color:var(--dsw-alias-label-caption,#80808080)}.Sv3uVW_sqlActions{justify-content:flex-end;align-items:center;gap:10px;display:flex}.Sv3uVW_shortcutHint{color:var(--dsw-alias-label-caption,#80808080);font-size:11.5px}.Sv3uVW_sqlResultEmpty,.Sv3uVW_sqlMessage{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-markdown-code-block,#ffffff0a);border-radius:8px;flex:1;min-height:150px;margin:0;padding:11px 12px}.Sv3uVW_sqlResultEmpty{color:var(--dsw-alias-label-caption,#80808080);place-items:center;font-size:12px;display:grid}.Sv3uVW_sqlMessage{max-height:280px;color:var(--dsw-alias-label-primary,inherit);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);white-space:pre-wrap;word-break:break-word;font-size:11.5px;line-height:1.55;overflow:auto}.Sv3uVW_sqlMessageError{border-color:var(--dsw-alias-state-error-secondary,#ef444480);background:var(--dsw-alias-interactive-bg-hover-danger,#ef444414);color:var(--dsw-alias-state-error-primary,#ef4444)}.Sv3uVW_sqlResultPanel{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-markdown-code-block,#ffffff0a);border-radius:8px;flex-direction:column;flex:1;min-height:210px;display:flex;overflow:hidden}.Sv3uVW_sqlResultToolbar{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#ffffff0a);flex:none;justify-content:space-between;align-items:center;gap:10px;min-height:42px;padding:6px 8px 6px 11px;display:flex}.Sv3uVW_sqlResultMeta{min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);white-space:nowrap;align-items:center;gap:8px;font-size:11.5px;display:flex}.Sv3uVW_sqlResultLimit{background:var(--dsw-alias-interactive-bg-hover,#80808014);color:var(--dsw-alias-label-tertiary,#808080a6);border-radius:999px;padding:1px 6px;font-size:10.5px}.Sv3uVW_sqlFeedback{color:var(--dsw-alias-state-success-primary,#16a34a);text-overflow:ellipsis;overflow:hidden}.Sv3uVW_sqlExportActions{flex:none;align-items:center;gap:5px;display:flex}.Sv3uVW_sqlExportButton,.Sv3uVW_sqlPageButton{border:1px solid var(--dsw-alias-border-l2,#80808059);height:28px;color:var(--dsw-alias-label-secondary,#808080cc);font:inherit;cursor:pointer;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:0 9px;font-size:11.5px;transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out,opacity .15s ease-out;display:inline-flex}.Sv3uVW_sqlExportButton:hover:not(:disabled),.Sv3uVW_sqlPageButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover,#80808014);color:var(--dsw-alias-label-primary,inherit)}.Sv3uVW_sqlExportButton:focus-visible,.Sv3uVW_sqlPageButton:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, var(--dsw-alias-button-info-fill,#3b82f6) 24%, transparent);outline:none}.Sv3uVW_sqlExportButton:disabled,.Sv3uVW_sqlPageButton:disabled{opacity:.42;cursor:default}.Sv3uVW_sqlTableScroll{flex:1;min-height:150px;max-height:300px;overflow:auto}.Sv3uVW_sqlResultTable{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;color:var(--dsw-alias-label-primary,inherit);font-family:var(--ds-font-family-code,ui-monospace, SFMono-Regular, Menlo, Consolas, monospace);font-size:11.5px}.Sv3uVW_sqlResultTable th{z-index:1;border-bottom:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#8080801f);color:var(--dsw-alias-label-secondary,#808080cc);text-align:left;white-space:nowrap;padding:7px 10px;font-size:11px;font-weight:600;position:sticky;top:0}.Sv3uVW_sqlResultTable td{border-bottom:1px solid var(--dsw-alias-border-l1,#8080802e);text-overflow:ellipsis;white-space:nowrap;max-width:360px;padding:6px 10px;overflow:hidden}.Sv3uVW_sqlResultTable tbody tr:hover td{background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_sqlNull,.Sv3uVW_sqlEmptyString{color:var(--dsw-alias-label-caption,#80808080);font-size:10.5px}.Sv3uVW_sqlNull{font-style:italic}.Sv3uVW_sqlTableEmpty{height:92px;color:var(--dsw-alias-label-caption,#80808080);text-align:center}.Sv3uVW_sqlPagination{border-top:1px solid var(--dsw-alias-border-l1,#80808033);min-height:36px;color:var(--dsw-alias-label-tertiary,#808080a6);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px 4px 11px;font-size:11px;display:flex}.Sv3uVW_sqlPageActions{gap:5px;display:flex}.Sv3uVW_sqlPageButton{height:26px}.Sv3uVW_catalogPanel{min-height:450px}.Sv3uVW_catalogPanel[hidden]{display:none}.Sv3uVW_catalogProgress,.Sv3uVW_catalogConfirm{align-items:center;gap:8px;display:flex}.Sv3uVW_catalogToolbar{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);flex-direction:column;padding-bottom:10px;display:flex}.Sv3uVW_catalogOverview{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);align-items:end;gap:14px;padding-bottom:10px;display:grid}.Sv3uVW_catalogControl{min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);flex-direction:column;gap:4px;font-size:11px;display:flex}.Sv3uVW_catalogStats{min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);grid-template-columns:minmax(140px,auto) minmax(0,1fr);align-items:center;gap:5px 16px;font-size:11px;display:grid}.Sv3uVW_catalogSourceName{color:var(--dsw-alias-label-primary,inherit);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.Sv3uVW_catalogCounts{align-items:center;gap:16px;min-width:0;display:flex}.Sv3uVW_catalogCounts>span{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.Sv3uVW_catalogCounts strong{color:var(--dsw-alias-label-primary,inherit);font-variant-numeric:tabular-nums;font-size:13px}.Sv3uVW_catalogScanTimes{min-width:0;color:var(--dsw-alias-label-caption,#8080808c);grid-column:1/-1;gap:18px;display:flex}.Sv3uVW_catalogScanTimes span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Sv3uVW_catalogScanTimes time{color:var(--dsw-alias-label-secondary,#808080cc);font-variant-numeric:tabular-nums;margin-left:4px}.Sv3uVW_catalogLatestRun{border-top:1px solid var(--dsw-alias-border-l1,#80808029);min-width:0;color:var(--dsw-alias-label-secondary,#808080cc);align-items:center;gap:8px;padding:8px 0;font-size:11px;display:flex}.Sv3uVW_catalogLatestRun[data-error=true]{color:var(--dsw-alias-state-error-primary,#ef4444)}.Sv3uVW_catalogLatestLabel{flex:none;font-weight:600}.Sv3uVW_catalogLatestRun code{max-width:150px;color:var(--dsw-alias-label-caption,#8080808c);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.Sv3uVW_catalogLatestError{overflow-wrap:anywhere;min-width:0}.Sv3uVW_catalogLatestError strong{font-weight:600}.Sv3uVW_catalogActions{flex-direction:column;display:flex}.Sv3uVW_catalogActionGroup{border-top:1px solid var(--dsw-alias-border-l1,#80808029);grid-template-columns:104px minmax(0,1fr);align-items:center;gap:12px;min-width:0;padding:10px 0 0;display:grid}.Sv3uVW_catalogActionGroup+.Sv3uVW_catalogActionGroup{margin-top:10px}.Sv3uVW_catalogActionGroup>div{min-width:0}.Sv3uVW_catalogSectionLabel{color:var(--dsw-alias-label-secondary,#808080cc);align-self:start;padding-top:7px;font-size:11px;font-weight:600}.Sv3uVW_catalogScanBar{align-items:center;gap:8px;min-width:0;display:flex}.Sv3uVW_catalogScanBar .Sv3uVW_input{flex:160px;max-width:none}.Sv3uVW_catalogInlineNotice{color:var(--dsw-alias-label-caption,#8080808c);margin-top:5px;font-size:10.5px}.Sv3uVW_catalogDiffBar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;display:grid}.Sv3uVW_catalogNotice,.Sv3uVW_catalogError,.Sv3uVW_catalogProgress,.Sv3uVW_catalogConfirm{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#8080800d);color:var(--dsw-alias-label-secondary,#808080cc);border-radius:8px;padding:8px 10px;font-size:11.5px}.Sv3uVW_catalogNotice{background:0 0;border:none;padding-block:5px}.Sv3uVW_catalogError{border-color:var(--dsw-alias-state-error-secondary,#ef444480);color:var(--dsw-alias-state-error-primary,#ef4444)}.Sv3uVW_catalogProgress code{margin-left:auto;font-size:10px}.Sv3uVW_catalogConfirm span{flex:1}.Sv3uVW_catalogWorkspace{flex:none;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;height:clamp(380px,52vh,520px);min-height:0;display:grid;overflow:hidden}.Sv3uVW_catalogResults,.Sv3uVW_catalogDetail{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex;overflow:hidden}.Sv3uVW_catalogSearch{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.Sv3uVW_catalogSearchQuery,.Sv3uVW_catalogSearchActions{grid-column:1/-1}.Sv3uVW_catalogSearchActions{justify-content:space-between;align-items:center;gap:8px;display:flex}.Sv3uVW_catalogCheck{color:var(--dsw-alias-label-secondary,#808080cc);align-items:center;gap:6px;font-size:11px;display:flex}.Sv3uVW_catalogList,.Sv3uVW_catalogDetail{border:1px solid var(--dsw-alias-border-l1,#80808033);border-radius:9px;overflow:hidden}.Sv3uVW_catalogList{overscroll-behavior:contain;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.Sv3uVW_catalogItem{border:0;border-bottom:1px solid var(--dsw-alias-border-l1,#80808029);color:var(--dsw-alias-label-primary,inherit);font:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:3px;padding:9px 10px;display:flex}.Sv3uVW_catalogItem:hover,.Sv3uVW_catalogItemActive{background:var(--dsw-alias-interactive-bg-hover,#80808014)}.Sv3uVW_catalogItem:focus-visible{outline:2px solid var(--dsw-alias-button-info-fill,#3b82f6);outline-offset:-2px}.Sv3uVW_catalogItem code,.Sv3uVW_catalogHistoryItem code,.Sv3uVW_catalogDetailScroll>code{color:var(--dsw-alias-label-secondary,#808080cc);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.Sv3uVW_catalogItem>span:last-child{color:var(--dsw-alias-label-caption,#8080808c);font-size:10.5px}.Sv3uVW_catalogItemHead{justify-content:space-between;align-items:center;gap:8px;display:flex}.Sv3uVW_catalogListEmpty{min-height:160px;color:var(--dsw-alias-label-caption,#8080808c);place-items:center;display:grid}.Sv3uVW_catalogBadge{border:1px solid var(--dsw-alias-border-l2,#80808059);width:fit-content;color:var(--dsw-alias-label-secondary,#808080cc);white-space:nowrap;border-radius:999px;flex:none;align-items:center;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.Sv3uVW_catalogBadge_verified,.Sv3uVW_catalogBadge_observed,.Sv3uVW_catalogBadge_restored{color:#16a34a;border-color:#16a34a73}.Sv3uVW_catalogBadge_inferred,.Sv3uVW_catalogBadge_needs_review,.Sv3uVW_catalogBadge_changed{color:#d97706;border-color:#d9770673}.Sv3uVW_catalogBadge_missing,.Sv3uVW_catalogBadge_unavailable,.Sv3uVW_catalogBadge_retired{color:#dc2626;border-color:#dc262661}.Sv3uVW_catalogDetailTabs{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);flex:none;gap:3px;padding:5px;display:flex}.Sv3uVW_catalogDetailHeader{border-bottom:1px solid var(--dsw-alias-border-l1,#80808033);flex-direction:column;flex:none;gap:7px;padding:12px 12px 10px;display:flex}.Sv3uVW_catalogDetailHeader h3,.Sv3uVW_catalogDetailHeader p{margin:0}.Sv3uVW_catalogDetailHeader p{color:var(--dsw-alias-label-secondary,#808080cc);font-size:11.5px}.Sv3uVW_catalogDetailTitle{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.Sv3uVW_catalogDetailTitle>div{flex-direction:column;gap:2px;min-width:0;display:flex}.Sv3uVW_catalogDetailTitle code{color:var(--dsw-alias-label-secondary,#808080cc);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.Sv3uVW_catalogDetailCounts{color:var(--dsw-alias-label-caption,#8080808c);align-items:center;gap:18px;font-size:10.5px;display:flex}.Sv3uVW_catalogDetailCounts span{align-items:baseline;gap:4px;display:inline-flex}.Sv3uVW_catalogDetailCounts strong{color:var(--dsw-alias-label-primary,inherit);font-variant-numeric:tabular-nums;font-size:13px}.Sv3uVW_catalogDetailTab,.Sv3uVW_catalogDetailTabActive{color:var(--dsw-alias-label-secondary,#808080cc);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:1;padding:6px 8px;font-size:11.5px}.Sv3uVW_catalogDetailTabActive{background:var(--dsw-alias-interactive-bg-active,#3b82f624);color:var(--dsw-alias-label-primary,inherit)}.Sv3uVW_catalogDetailScroll{overscroll-behavior:contain;flex-direction:column;flex:1;gap:9px;min-height:0;padding:12px;display:flex;overflow:auto}.Sv3uVW_catalogDetailScroll h3,.Sv3uVW_catalogDetailScroll p,.Sv3uVW_catalogDefinition pre,.Sv3uVW_catalogHistoryItem p{margin:0}.Sv3uVW_catalogDefinition,.Sv3uVW_catalogHistoryItem{border:1px solid var(--dsw-alias-border-l1,#80808033);border-radius:8px;flex-direction:column;gap:5px;padding:9px;display:flex}.Sv3uVW_catalogFacts{grid-template-columns:minmax(7rem,max-content) minmax(0,1fr);gap:.35rem .8rem;margin:.75rem 0;display:grid}.Sv3uVW_catalogFacts dt{color:var(--dsh-color-text-secondary,#64748b)}.Sv3uVW_catalogFacts dd{overflow-wrap:anywhere;min-width:0;margin:0}.Sv3uVW_catalogRelations{gap:.5rem;margin-top:1rem;display:grid}.Sv3uVW_catalogScanFacts{border-top:1px solid var(--dsw-alias-border-l1,#80808033);color:var(--dsw-alias-label-secondary,#808080cc);padding-top:8px}.Sv3uVW_catalogScanFacts summary{cursor:pointer;font-weight:600}.Sv3uVW_catalogBusinessEmpty{border:1px dashed var(--dsw-alias-border-l2,#80808059);color:var(--dsw-alias-label-secondary,#808080cc);border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.Sv3uVW_catalogBusinessEmpty strong{color:var(--dsw-alias-label-primary,inherit)}.Sv3uVW_catalogBusinessEmpty p{margin:0}.Sv3uVW_catalogMeaningReview,.Sv3uVW_catalogMeaningSection,.Sv3uVW_catalogMeaningFields{flex-direction:column;display:flex}.Sv3uVW_catalogMeaningReview{gap:16px}.Sv3uVW_catalogMeaningSection{gap:8px}.Sv3uVW_catalogMeaningSection h4{margin:0;font-size:12px}.Sv3uVW_catalogMeaningFields{border:1px solid var(--dsw-alias-border-l1,#80808033);border-radius:8px;gap:0;overflow:hidden}.Sv3uVW_catalogMeaningField{border-bottom:1px solid var(--dsw-alias-border-l1,#80808029);grid-template-columns:minmax(110px,.32fr) minmax(0,1fr);gap:10px;padding:9px 10px;display:grid}.Sv3uVW_catalogMeaningField:last-child{border-bottom:0}.Sv3uVW_catalogMeaningFieldMeta{flex-direction:column;gap:3px;min-width:0;display:flex}.Sv3uVW_catalogMeaningFieldMeta strong,.Sv3uVW_catalogMeaningFieldMeta code{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Sv3uVW_catalogMeaningFieldMeta code,.Sv3uVW_catalogMeaningOrigin,.Sv3uVW_catalogMeaningActions code{color:var(--dsw-alias-label-caption,#8080808c);font-size:10px}.Sv3uVW_catalogMeaningCard{border:1px solid var(--dsw-alias-border-l1,#80808033);background:var(--dsw-alias-bg-layer-2,#80808009);border-radius:8px;flex-direction:column;gap:7px;min-width:0;padding:10px;display:flex}.Sv3uVW_catalogMeaningCardCompact{background:0 0;border:0;padding:0}.Sv3uVW_catalogMeaningCard p,.Sv3uVW_catalogMeaningMissing{margin:0;line-height:1.55}.Sv3uVW_catalogMeaningMissing{color:var(--dsw-alias-label-caption,#8080808c)}.Sv3uVW_catalogMeaningOrigin{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.Sv3uVW_catalogMeaningActions{align-items:center;gap:6px;min-width:0;display:flex}.Sv3uVW_catalogMeaningActions code{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:auto;overflow:hidden}.Sv3uVW_catalogDefinition pre{background:var(--dsw-alias-markdown-code-block,#80808014);white-space:pre-wrap;border-radius:6px;padding:7px;font-size:11px;overflow:auto}.Sv3uVW_catalogEditor{border-top:1px solid var(--dsw-alias-border-l1,#80808033);flex-direction:column;gap:8px;padding-top:8px;display:flex}.Sv3uVW_catalogTextArea{box-sizing:border-box;resize:vertical;border:1px solid var(--dsw-alias-border-l2,#80808059);background:var(--dsw-alias-bg-layer-2,#ffffff0a);min-height:68px;color:var(--dsw-alias-label-primary,inherit);font:inherit;border-radius:8px;padding:8px 10px}.Sv3uVW_visuallyHidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.Sv3uVW_errorBar{border:1px solid var(--dsw-alias-state-error-secondary,#ef444480);background:var(--dsw-alias-interactive-bg-hover-danger,#ef444414);border-radius:10px;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.Sv3uVW_errorHead{color:var(--dsw-alias-state-error-primary,#ef4444);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.Sv3uVW_errorIcon{flex:none}.Sv3uVW_errorText{white-space:pre-wrap;word-break:break-word;font-size:12px}@media (width<=760px){.Sv3uVW_catalogOverview{grid-template-columns:minmax(0,1fr)}.Sv3uVW_catalogStats{grid-template-columns:minmax(120px,auto) minmax(0,1fr)}.Sv3uVW_catalogWorkspace{flex-direction:column;height:auto;display:flex;overflow:visible}.Sv3uVW_catalogList,.Sv3uVW_catalogDetail{flex:none;height:min(420px,58vh);min-height:280px;max-height:420px}.Sv3uVW_catalogMeaningField{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.Sv3uVW_triggerSlot{top:-42px;right:10px}.Sv3uVW_workbenchModal{width:min(96vw,920px)}.Sv3uVW_workbenchModalContent{min-height:0;max-height:72vh}.Sv3uVW_workbench{min-height:0}.Sv3uVW_fieldRow2{grid-template-columns:1fr}.Sv3uVW_schemaPanel{flex-direction:column;height:auto;display:flex}.Sv3uVW_catalogScanBar,.Sv3uVW_catalogConfirm,.Sv3uVW_catalogProgress{flex-direction:column;align-items:stretch}.Sv3uVW_catalogControl,.Sv3uVW_catalogScanBar .Sv3uVW_input{width:100%;max-width:none}.Sv3uVW_catalogScanBar .Sv3uVW_input{flex:none}.Sv3uVW_catalogDiffBar,.Sv3uVW_catalogSearch{grid-template-columns:minmax(0,1fr)}.Sv3uVW_catalogActionGroup{grid-template-columns:minmax(0,1fr);gap:4px}.Sv3uVW_catalogSectionLabel{padding-top:0}.Sv3uVW_catalogDiffBar>*,.Sv3uVW_catalogSearchQuery,.Sv3uVW_catalogSearchActions{grid-column:1}.Sv3uVW_catalogSearchActions{flex-direction:column;align-items:stretch}.Sv3uVW_treeScroll{flex:none;height:240px}.Sv3uVW_colScroll{flex:none;height:220px}.Sv3uVW_emptyState{flex:none;min-height:120px}.Sv3uVW_rememberRow{flex-wrap:wrap;align-items:flex-start}.Sv3uVW_rememberHint{flex-basis:100%;padding-left:21px}.Sv3uVW_sqlResultToolbar{flex-direction:column;align-items:flex-start}.Sv3uVW_sqlResultMeta{white-space:normal;flex-wrap:wrap;max-width:100%}.Sv3uVW_sqlExportActions{width:100%}.Sv3uVW_sqlExportButton{flex:1}}@media (prefers-reduced-motion:reduce){.Sv3uVW_trigger,.Sv3uVW_input,.Sv3uVW_primary,.Sv3uVW_ghost,.Sv3uVW_sqlExportButton,.Sv3uVW_sqlPageButton,.Sv3uVW_treeChevron{transition:none}}";
1005
1005
  const tagId$1 = "@yejiming/dsh-data-agent/DataAgentWorkbench.module.css";
1006
1006
  if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
1007
1007
  const tag = document.createElement("style");
@@ -1011,150 +1011,151 @@ window.__ModuleLoader__.load({
1011
1011
  document.head.appendChild(tag);
1012
1012
  }
1013
1013
  var DataAgentWorkbench_module_css_default = {
1014
- "workbench": "Sv3uVW_workbench",
1015
- "connectionSummary": "Sv3uVW_connectionSummary",
1016
- "shortcutHint": "Sv3uVW_shortcutHint",
1017
- "catalogError": "Sv3uVW_catalogError",
1018
- "catalogBadge_needs_review": "Sv3uVW_catalogBadge_needs_review",
1019
- "catalogScanTimes": "Sv3uVW_catalogScanTimes",
1020
- "treeIcon": "Sv3uVW_treeIcon",
1021
- "fieldGrid": "Sv3uVW_fieldGrid",
1014
+ "catalogBadge": "Sv3uVW_catalogBadge",
1022
1015
  "sqlResultToolbar": "Sv3uVW_sqlResultToolbar",
1023
- "tree": "Sv3uVW_tree",
1024
- "modalColTitle": "Sv3uVW_modalColTitle",
1025
1016
  "sqlResultEmpty": "Sv3uVW_sqlResultEmpty",
1026
- "catalogSearchActions": "Sv3uVW_catalogSearchActions",
1027
- "catalogSectionLabel": "Sv3uVW_catalogSectionLabel",
1028
- "catalogCounts": "Sv3uVW_catalogCounts",
1029
- "errorText": "Sv3uVW_errorText",
1030
- "field": "Sv3uVW_field",
1031
- "nullCell": "Sv3uVW_nullCell",
1017
+ "catalogItem": "Sv3uVW_catalogItem",
1018
+ "catalogDetailTabs": "Sv3uVW_catalogDetailTabs",
1019
+ "catalogPanel": "Sv3uVW_catalogPanel",
1020
+ "workbenchModal": "Sv3uVW_workbenchModal",
1032
1021
  "trigger": "Sv3uVW_trigger",
1033
- "treeNode": "Sv3uVW_treeNode",
1034
- "catalogLatestLabel": "Sv3uVW_catalogLatestLabel",
1035
- "catalogSearch": "Sv3uVW_catalogSearch",
1022
+ "rememberHint": "Sv3uVW_rememberHint",
1023
+ "tabPanel": "Sv3uVW_tabPanel",
1024
+ "sqlResultLimit": "Sv3uVW_sqlResultLimit",
1025
+ "catalogDetailScroll": "Sv3uVW_catalogDetailScroll",
1036
1026
  "catalogBadge_inferred": "Sv3uVW_catalogBadge_inferred",
1037
- "catalogDetailTabActive": "Sv3uVW_catalogDetailTabActive",
1027
+ "colCount": "Sv3uVW_colCount",
1028
+ "catalogCounts": "Sv3uVW_catalogCounts",
1029
+ "catalogSearch": "Sv3uVW_catalogSearch",
1030
+ "catalogSearchActions": "Sv3uVW_catalogSearchActions",
1038
1031
  "catalogBusinessEmpty": "Sv3uVW_catalogBusinessEmpty",
1039
- "catalogMeaningFields": "Sv3uVW_catalogMeaningFields",
1040
- "catalogLatestRun": "Sv3uVW_catalogLatestRun",
1041
- "sqlResultMeta": "Sv3uVW_sqlResultMeta",
1042
- "ghost": "Sv3uVW_ghost",
1043
- "triggerDot": "Sv3uVW_triggerDot",
1044
- "catalogToolbar": "Sv3uVW_catalogToolbar",
1045
- "input": "Sv3uVW_input",
1046
- "catalogBadge_observed": "Sv3uVW_catalogBadge_observed",
1032
+ "schemaPanel": "Sv3uVW_schemaPanel",
1033
+ "catalogBadge_unavailable": "Sv3uVW_catalogBadge_unavailable",
1034
+ "errorText": "Sv3uVW_errorText",
1047
1035
  "rememberRow": "Sv3uVW_rememberRow",
1048
- "visuallyHidden": "Sv3uVW_visuallyHidden",
1049
- "tab": "Sv3uVW_tab",
1050
- "catalogBadge": "Sv3uVW_catalogBadge",
1051
- "primary": "Sv3uVW_primary",
1052
- "catalogProgress": "Sv3uVW_catalogProgress",
1053
- "catalogScanBar": "Sv3uVW_catalogScanBar",
1054
- "actions": "Sv3uVW_actions",
1055
- "catalogDetailTitle": "Sv3uVW_catalogDetailTitle",
1056
- "sqlResultTable": "Sv3uVW_sqlResultTable",
1057
- "treeItem": "Sv3uVW_treeItem",
1058
- "connectionState": "Sv3uVW_connectionState",
1059
- "sqlMessageError": "Sv3uVW_sqlMessageError",
1060
- "catalogActions": "Sv3uVW_catalogActions",
1061
- "catalogWorkspace": "Sv3uVW_catalogWorkspace",
1062
- "colScroll": "Sv3uVW_colScroll",
1063
- "summaryDb": "Sv3uVW_summaryDb",
1064
- "treeScroll": "Sv3uVW_treeScroll",
1065
- "catalogPanel": "Sv3uVW_catalogPanel",
1066
- "catalogItem": "Sv3uVW_catalogItem",
1067
- "catalogBadge_retired": "Sv3uVW_catalogBadge_retired",
1068
- "tabActive": "Sv3uVW_tabActive",
1069
- "sqlEmptyString": "Sv3uVW_sqlEmptyString",
1070
- "catalogBadge_verified": "Sv3uVW_catalogBadge_verified",
1071
- "sqlActions": "Sv3uVW_sqlActions",
1072
- "rememberHint": "Sv3uVW_rememberHint",
1073
1036
  "catalogBadge_changed": "Sv3uVW_catalogBadge_changed",
1037
+ "catalogInlineNotice": "Sv3uVW_catalogInlineNotice",
1038
+ "catalogItemHead": "Sv3uVW_catalogItemHead",
1039
+ "catalogMeaningMissing": "Sv3uVW_catalogMeaningMissing",
1040
+ "field": "Sv3uVW_field",
1074
1041
  "catalogStats": "Sv3uVW_catalogStats",
1075
- "modalHint": "Sv3uVW_modalHint",
1076
- "catalogRelations": "Sv3uVW_catalogRelations",
1077
- "catalogDetailScroll": "Sv3uVW_catalogDetailScroll",
1078
- "catalogMeaningReview": "Sv3uVW_catalogMeaningReview",
1079
- "catalogMeaningField": "Sv3uVW_catalogMeaningField",
1080
- "catalogMeaningCardCompact": "Sv3uVW_catalogMeaningCardCompact",
1081
- "sqlExportButton": "Sv3uVW_sqlExportButton",
1082
- "catalogHistoryItem": "Sv3uVW_catalogHistoryItem",
1042
+ "modalColTitle": "Sv3uVW_modalColTitle",
1043
+ "catalogSearchQuery": "Sv3uVW_catalogSearchQuery",
1044
+ "modalCol": "Sv3uVW_modalCol",
1045
+ "catalogBadge_missing": "Sv3uVW_catalogBadge_missing",
1046
+ "catalogListEmpty": "Sv3uVW_catalogListEmpty",
1047
+ "catalogDetailTabActive": "Sv3uVW_catalogDetailTabActive",
1083
1048
  "hint": "Sv3uVW_hint",
1084
- "tabPanel": "Sv3uVW_tabPanel",
1085
- "catalogDiffBar": "Sv3uVW_catalogDiffBar",
1049
+ "catalogControl": "Sv3uVW_catalogControl",
1086
1050
  "catalogCheck": "Sv3uVW_catalogCheck",
1087
- "errorBar": "Sv3uVW_errorBar",
1088
- "sqlTableEmpty": "Sv3uVW_sqlTableEmpty",
1089
- "triggerSlot": "Sv3uVW_triggerSlot",
1090
- "catalogDetailTabs": "Sv3uVW_catalogDetailTabs",
1091
- "summaryType": "Sv3uVW_summaryType",
1092
- "catalogListEmpty": "Sv3uVW_catalogListEmpty",
1093
- "treeChildren": "Sv3uVW_treeChildren",
1051
+ "tab": "Sv3uVW_tab",
1094
1052
  "catalogDetailTab": "Sv3uVW_catalogDetailTab",
1053
+ "catalogFacts": "Sv3uVW_catalogFacts",
1054
+ "catalogMeaningOrigin": "Sv3uVW_catalogMeaningOrigin",
1055
+ "catalogProgress": "Sv3uVW_catalogProgress",
1056
+ "catalogMeaningField": "Sv3uVW_catalogMeaningField",
1057
+ "catalogMeaningCard": "Sv3uVW_catalogMeaningCard",
1058
+ "fieldGrid": "Sv3uVW_fieldGrid",
1095
1059
  "triggerActive": "Sv3uVW_triggerActive",
1096
- "catalogConfirm": "Sv3uVW_catalogConfirm",
1097
- "schemaPanel": "Sv3uVW_schemaPanel",
1098
- "catalogList": "Sv3uVW_catalogList",
1099
- "tabs": "Sv3uVW_tabs",
1100
1060
  "typeCell": "Sv3uVW_typeCell",
1101
- "catalogSourceName": "Sv3uVW_catalogSourceName",
1102
- "catalogControl": "Sv3uVW_catalogControl",
1103
- "sqlExportActions": "Sv3uVW_sqlExportActions",
1104
- "sqlNull": "Sv3uVW_sqlNull",
1105
- "catalogOverview": "Sv3uVW_catalogOverview",
1106
- "treeName": "Sv3uVW_treeName",
1107
- "treeChevron": "Sv3uVW_treeChevron",
1108
- "catalogInlineNotice": "Sv3uVW_catalogInlineNotice",
1109
- "sqlResultPanel": "Sv3uVW_sqlResultPanel",
1110
- "catalogNotice": "Sv3uVW_catalogNotice",
1111
- "label": "Sv3uVW_label",
1112
- "sqlResultLimit": "Sv3uVW_sqlResultLimit",
1113
- "catalogDetailCounts": "Sv3uVW_catalogDetailCounts",
1061
+ "catalogDiffBar": "Sv3uVW_catalogDiffBar",
1062
+ "catalogHistoryItem": "Sv3uVW_catalogHistoryItem",
1063
+ "catalogDetailTitle": "Sv3uVW_catalogDetailTitle",
1114
1064
  "catalogBadge_restored": "Sv3uVW_catalogBadge_restored",
1065
+ "catalogMeaningSection": "Sv3uVW_catalogMeaningSection",
1066
+ "treeName": "Sv3uVW_treeName",
1067
+ "catalogLatestLabel": "Sv3uVW_catalogLatestLabel",
1068
+ "tabs": "Sv3uVW_tabs",
1069
+ "heroTrigger": "Sv3uVW_heroTrigger",
1070
+ "sqlResultTable": "Sv3uVW_sqlResultTable",
1071
+ "sqlPagination": "Sv3uVW_sqlPagination",
1072
+ "workbench": "Sv3uVW_workbench",
1073
+ "catalogSourceName": "Sv3uVW_catalogSourceName",
1074
+ "tree": "Sv3uVW_tree",
1075
+ "catalogConfirm": "Sv3uVW_catalogConfirm",
1076
+ "catalogDefinition": "Sv3uVW_catalogDefinition",
1077
+ "summaryDb": "Sv3uVW_summaryDb",
1078
+ "sqlPageButton": "Sv3uVW_sqlPageButton",
1079
+ "catalogActions": "Sv3uVW_catalogActions",
1080
+ "catalogToolbar": "Sv3uVW_catalogToolbar",
1081
+ "catalogBadge_retired": "Sv3uVW_catalogBadge_retired",
1082
+ "triggerSlot": "Sv3uVW_triggerSlot",
1083
+ "catalogMeaningCardCompact": "Sv3uVW_catalogMeaningCardCompact",
1084
+ "primary": "Sv3uVW_primary",
1115
1085
  "sqlInput": "Sv3uVW_sqlInput",
1116
- "catalogMeaningMissing": "Sv3uVW_catalogMeaningMissing",
1117
- "colCount": "Sv3uVW_colCount",
1086
+ "catalogLatestError": "Sv3uVW_catalogLatestError",
1087
+ "treeChildren": "Sv3uVW_treeChildren",
1088
+ "connectionState": "Sv3uVW_connectionState",
1089
+ "catalogMeaningFields": "Sv3uVW_catalogMeaningFields",
1090
+ "sqlTableScroll": "Sv3uVW_sqlTableScroll",
1091
+ "treeItem": "Sv3uVW_treeItem",
1092
+ "sqlNull": "Sv3uVW_sqlNull",
1118
1093
  "emptyStateIcon": "Sv3uVW_emptyStateIcon",
1119
1094
  "catalogMeaningFieldMeta": "Sv3uVW_catalogMeaningFieldMeta",
1120
- "columnsTable": "Sv3uVW_columnsTable",
1121
- "sqlPageActions": "Sv3uVW_sqlPageActions",
1122
- "catalogMeaningOrigin": "Sv3uVW_catalogMeaningOrigin",
1123
- "treeCount": "Sv3uVW_treeCount",
1124
- "catalogDetailHeader": "Sv3uVW_catalogDetailHeader",
1125
- "emptyStateText": "Sv3uVW_emptyStateText",
1095
+ "catalogError": "Sv3uVW_catalogError",
1096
+ "catalogWorkspace": "Sv3uVW_catalogWorkspace",
1097
+ "catalogDetail": "Sv3uVW_catalogDetail",
1098
+ "input": "Sv3uVW_input",
1099
+ "sqlFeedback": "Sv3uVW_sqlFeedback",
1100
+ "catalogScanTimes": "Sv3uVW_catalogScanTimes",
1101
+ "catalogList": "Sv3uVW_catalogList",
1102
+ "catalogNotice": "Sv3uVW_catalogNotice",
1103
+ "catalogEditor": "Sv3uVW_catalogEditor",
1104
+ "summaryType": "Sv3uVW_summaryType",
1105
+ "catalogBadge_verified": "Sv3uVW_catalogBadge_verified",
1106
+ "sqlMessageError": "Sv3uVW_sqlMessageError",
1107
+ "errorBar": "Sv3uVW_errorBar",
1108
+ "colScroll": "Sv3uVW_colScroll",
1109
+ "catalogScanBar": "Sv3uVW_catalogScanBar",
1126
1110
  "catalogMeaningActions": "Sv3uVW_catalogMeaningActions",
1127
- "catalogMeaningSection": "Sv3uVW_catalogMeaningSection",
1111
+ "open": "Sv3uVW_open",
1112
+ "errorIcon": "Sv3uVW_errorIcon",
1128
1113
  "active": "Sv3uVW_active",
1129
- "sqlTableScroll": "Sv3uVW_sqlTableScroll",
1114
+ "visuallyHidden": "Sv3uVW_visuallyHidden",
1130
1115
  "catalogScanFacts": "Sv3uVW_catalogScanFacts",
1131
- "catalogEditor": "Sv3uVW_catalogEditor",
1132
- "catalogFacts": "Sv3uVW_catalogFacts",
1133
- "catalogMeaningCard": "Sv3uVW_catalogMeaningCard",
1134
- "catalogTextArea": "Sv3uVW_catalogTextArea",
1135
- "sqlPanel": "Sv3uVW_sqlPanel",
1116
+ "sqlPageActions": "Sv3uVW_sqlPageActions",
1117
+ "tabActive": "Sv3uVW_tabActive",
1136
1118
  "errorHead": "Sv3uVW_errorHead",
1137
- "workbenchModal": "Sv3uVW_workbenchModal",
1138
- "errorIcon": "Sv3uVW_errorIcon",
1119
+ "catalogLatestRun": "Sv3uVW_catalogLatestRun",
1120
+ "catalogRelations": "Sv3uVW_catalogRelations",
1121
+ "ghost": "Sv3uVW_ghost",
1122
+ "workbenchModalContent": "Sv3uVW_workbenchModalContent",
1123
+ "label": "Sv3uVW_label",
1124
+ "catalogSectionLabel": "Sv3uVW_catalogSectionLabel",
1125
+ "triggerDot": "Sv3uVW_triggerDot",
1126
+ "catalogDetailCounts": "Sv3uVW_catalogDetailCounts",
1127
+ "nullCell": "Sv3uVW_nullCell",
1128
+ "catalogResults": "Sv3uVW_catalogResults",
1129
+ "treeChevron": "Sv3uVW_treeChevron",
1130
+ "columnsTable": "Sv3uVW_columnsTable",
1131
+ "shortcutHint": "Sv3uVW_shortcutHint",
1132
+ "sqlResultPanel": "Sv3uVW_sqlResultPanel",
1133
+ "catalogBadge_observed": "Sv3uVW_catalogBadge_observed",
1139
1134
  "sqlMessage": "Sv3uVW_sqlMessage",
1140
- "sqlPagination": "Sv3uVW_sqlPagination",
1141
- "catalogLatestError": "Sv3uVW_catalogLatestError",
1142
- "catalogDetail": "Sv3uVW_catalogDetail",
1135
+ "emptyState": "Sv3uVW_emptyState",
1136
+ "sqlExportActions": "Sv3uVW_sqlExportActions",
1137
+ "catalogBadge_needs_review": "Sv3uVW_catalogBadge_needs_review",
1138
+ "catalogDetailHeader": "Sv3uVW_catalogDetailHeader",
1139
+ "catalogTextArea": "Sv3uVW_catalogTextArea",
1140
+ "sqlEmptyString": "Sv3uVW_sqlEmptyString",
1141
+ "sqlResultMeta": "Sv3uVW_sqlResultMeta",
1142
+ "actions": "Sv3uVW_actions",
1143
+ "sqlActions": "Sv3uVW_sqlActions",
1144
+ "treeCount": "Sv3uVW_treeCount",
1145
+ "modalHint": "Sv3uVW_modalHint",
1143
1146
  "catalogItemActive": "Sv3uVW_catalogItemActive",
1144
- "workbenchModalContent": "Sv3uVW_workbenchModalContent",
1147
+ "connectionSummary": "Sv3uVW_connectionSummary",
1148
+ "treeIcon": "Sv3uVW_treeIcon",
1149
+ "emptyStateText": "Sv3uVW_emptyStateText",
1150
+ "sqlTableEmpty": "Sv3uVW_sqlTableEmpty",
1151
+ "catalogMeaningReview": "Sv3uVW_catalogMeaningReview",
1152
+ "treeNode": "Sv3uVW_treeNode",
1145
1153
  "catalogActionGroup": "Sv3uVW_catalogActionGroup",
1146
- "catalogResults": "Sv3uVW_catalogResults",
1154
+ "catalogOverview": "Sv3uVW_catalogOverview",
1155
+ "sqlPanel": "Sv3uVW_sqlPanel",
1156
+ "sqlExportButton": "Sv3uVW_sqlExportButton",
1147
1157
  "fieldRow2": "Sv3uVW_fieldRow2",
1148
- "catalogBadge_unavailable": "Sv3uVW_catalogBadge_unavailable",
1149
- "catalogDefinition": "Sv3uVW_catalogDefinition",
1150
- "open": "Sv3uVW_open",
1151
- "modalCol": "Sv3uVW_modalCol",
1152
- "sqlPageButton": "Sv3uVW_sqlPageButton",
1153
- "catalogItemHead": "Sv3uVW_catalogItemHead",
1154
- "catalogBadge_missing": "Sv3uVW_catalogBadge_missing",
1155
- "sqlFeedback": "Sv3uVW_sqlFeedback",
1156
- "emptyState": "Sv3uVW_emptyState",
1157
- "catalogSearchQuery": "Sv3uVW_catalogSearchQuery"
1158
+ "treeScroll": "Sv3uVW_treeScroll"
1158
1159
  };
1159
1160
  //#endregion
1160
1161
  //#region src/client/QueryResultTable.tsx
@@ -3156,6 +3157,111 @@ window.__ModuleLoader__.load({
3156
3157
  "catalog.kind.metric": true
3157
3158
  };
3158
3159
  //#endregion
3160
+ //#region src/client/workbench-open.ts
3161
+ /** The plugin preset id used by both the hero stage and Session projection. */
3162
+ const DATA_AGENT_PRESET = "data-agent";
3163
+ function createObservable(initial) {
3164
+ let snapshot = initial;
3165
+ const listeners = /* @__PURE__ */ new Set();
3166
+ return {
3167
+ getSnapshot: () => snapshot,
3168
+ subscribe(fn) {
3169
+ listeners.add(fn);
3170
+ return () => listeners.delete(fn);
3171
+ },
3172
+ set(next) {
3173
+ if (Object.is(snapshot, next)) return;
3174
+ snapshot = next;
3175
+ for (const listener of listeners) listener();
3176
+ }
3177
+ };
3178
+ }
3179
+ /**
3180
+ * Create the one-way hero → Session workbench bridge.
3181
+ *
3182
+ * The host remains responsible for workspace inheritance, Session creation,
3183
+ * navigation, and applying the staged agent preset. This bridge only waits
3184
+ * for the resulting Session projection before publishing an open request.
3185
+ */
3186
+ function createWorkbenchOpenBridge(sessions, startSession) {
3187
+ const store = createObservable({
3188
+ pending: false,
3189
+ revision: 0
3190
+ });
3191
+ const settle = () => {
3192
+ const current = store.getSnapshot();
3193
+ if (!current.pending) return;
3194
+ const list = sessions.getSnapshot();
3195
+ const sessionId = list.current;
3196
+ if (sessionId === void 0) return;
3197
+ if (list.byId[sessionId]?.projectionValues?.agentPreset !== "data-agent") return;
3198
+ store.set({
3199
+ pending: false,
3200
+ revision: current.revision + 1,
3201
+ sessionId
3202
+ });
3203
+ };
3204
+ const unsubscribe = sessions.subscribe(settle);
3205
+ return {
3206
+ store,
3207
+ requestFromHero() {
3208
+ if (store.getSnapshot().pending) return;
3209
+ const current = store.getSnapshot();
3210
+ store.set({
3211
+ pending: true,
3212
+ revision: current.revision
3213
+ });
3214
+ try {
3215
+ startSession();
3216
+ settle();
3217
+ } catch (error) {
3218
+ store.set({
3219
+ pending: false,
3220
+ revision: current.revision
3221
+ });
3222
+ throw error;
3223
+ }
3224
+ },
3225
+ acknowledge(revision) {
3226
+ const current = store.getSnapshot();
3227
+ if (current.revision !== revision || current.sessionId === void 0) return;
3228
+ store.set({
3229
+ pending: false,
3230
+ revision: current.revision
3231
+ });
3232
+ },
3233
+ dispose() {
3234
+ unsubscribe();
3235
+ }
3236
+ };
3237
+ }
3238
+ //#endregion
3239
+ //#region src/client/workbench-placeholder.ts
3240
+ /**
3241
+ * Apply data-agent copy to one host composer card and return an exact cleanup.
3242
+ * alpha.2's Lexical surface renders a visible placeholder sibling in addition
3243
+ * to the editor attributes; older compatible surfaces still use a textarea.
3244
+ */
3245
+ function overrideComposerPlaceholder(card, placeholder) {
3246
+ const textarea = card?.querySelector("textarea") ?? null;
3247
+ const lexical = card?.querySelector("[role=\"textbox\"][contenteditable=\"true\"]") ?? null;
3248
+ const input = lexical ?? textarea;
3249
+ if (input === null || input instanceof HTMLTextAreaElement && input.disabled) return;
3250
+ const attribute = lexical === null ? "placeholder" : "data-placeholder";
3251
+ const hostPlaceholder = input.getAttribute(attribute);
3252
+ const visiblePlaceholder = lexical === null ? null : card?.querySelector("[data-composer-placeholder=\"true\"]") ?? null;
3253
+ const hostVisibleText = visiblePlaceholder?.textContent ?? null;
3254
+ input.setAttribute(attribute, placeholder);
3255
+ if (visiblePlaceholder !== null) visiblePlaceholder.textContent = placeholder;
3256
+ return () => {
3257
+ if (input.getAttribute(attribute) === placeholder) {
3258
+ if (hostPlaceholder === null) input.removeAttribute(attribute);
3259
+ else input.setAttribute(attribute, hostPlaceholder);
3260
+ }
3261
+ if (visiblePlaceholder?.textContent === placeholder) visiblePlaceholder.textContent = hostVisibleText;
3262
+ };
3263
+ }
3264
+ //#endregion
3159
3265
  //#region src/client/DataAgentWorkbench.tsx
3160
3266
  /**
3161
3267
  * The database workbench entry for data-agent sessions.
@@ -3169,8 +3275,6 @@ window.__ModuleLoader__.load({
3169
3275
  * Non-data-agent sessions render null before any effect or request runs.
3170
3276
  * Connection state lives on the server and is mirrored from `/status`.
3171
3277
  */
3172
- /** The plugin's preset id, matching the installed agent preset directory. */
3173
- const DATA_AGENT_PRESET = "data-agent";
3174
3278
  /** 16×16 stroke icons drawn inline (the primitives package does not export icon atoms). */
3175
3279
  function Icon({ className, children, size = 14 }) {
3176
3280
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
@@ -3394,8 +3498,10 @@ window.__ModuleLoader__.load({
3394
3498
  return (saved.host ?? "") === (summary.host ?? "") && (saved.port ?? void 0) === (summary.port ?? void 0) && (saved.user ?? "") === (summary.user ?? "") && (saved.type !== "clickhouse" || saved.secure === true === (summary.secure === true));
3395
3499
  }
3396
3500
  /** The database workbench body. */
3397
- function DataAgentWorkbench({ sessionId, useSessions, t }) {
3398
- const isDataAgent = useSessions((snapshot) => snapshot).byId[sessionId]?.agentPreset === DATA_AGENT_PRESET;
3501
+ function DataAgentWorkbench({ sessionId, useSessions, useWorkbenchOpen, acknowledgeWorkbenchOpen, t }) {
3502
+ const isDataAgent = useSessions((snapshot) => snapshot).byId[sessionId]?.projectionValues?.agentPreset === DATA_AGENT_PRESET;
3503
+ const openRequest = useWorkbenchOpen((snapshot) => snapshot);
3504
+ const requestedFromHero = openRequest.sessionId === sessionId && openRequest.revision > 0;
3399
3505
  const tabsId = (0, react.useId)();
3400
3506
  const [initialSaved] = (0, react.useState)(loadConnection);
3401
3507
  const [type, setType] = (0, react.useState)(initialSaved?.type ?? "mysql");
@@ -3416,7 +3522,7 @@ window.__ModuleLoader__.load({
3416
3522
  const [reconnectRequired, setReconnectRequired] = (0, react.useState)(false);
3417
3523
  const [connectionProfileId, setConnectionProfileId] = (0, react.useState)();
3418
3524
  const [catalogAvailable, setCatalogAvailable] = (0, react.useState)(false);
3419
- const [workbenchOpen, setWorkbenchOpen] = (0, react.useState)(false);
3525
+ const [workbenchOpen, setWorkbenchOpen] = (0, react.useState)(requestedFromHero);
3420
3526
  const [activeTab, setActiveTab] = (0, react.useState)("connection");
3421
3527
  const [restoring, setRestoring] = (0, react.useState)(false);
3422
3528
  const [schemas, setSchemas] = (0, react.useState)([]);
@@ -3701,15 +3807,8 @@ window.__ModuleLoader__.load({
3701
3807
  const composerPlaceholder = connected ? t("composer.placeholder.connected") : reconnectRequired ? t("composer.placeholder.reconnectRequired") : t("composer.placeholder.disconnected");
3702
3808
  (0, react.useLayoutEffect)(() => {
3703
3809
  if (!isDataAgent) return;
3704
- const textarea = (triggerSlotRef.current?.closest("[data-composer-card]"))?.querySelector("textarea");
3705
- if (textarea === void 0 || textarea === null || textarea.disabled) return;
3706
- const hostPlaceholder = textarea.getAttribute("placeholder");
3707
- textarea.setAttribute("placeholder", composerPlaceholder);
3708
- return () => {
3709
- if (textarea.getAttribute("placeholder") !== composerPlaceholder) return;
3710
- if (hostPlaceholder === null) textarea.removeAttribute("placeholder");
3711
- else textarea.setAttribute("placeholder", hostPlaceholder);
3712
- };
3810
+ const card = triggerSlotRef.current?.closest("[data-composer-card]");
3811
+ return overrideComposerPlaceholder(card, composerPlaceholder);
3713
3812
  });
3714
3813
  if (!isDataAgent) return null;
3715
3814
  const databaseLabel = sqlite ? t("form.database.sqlite") : type === "oracle" ? t("form.database.oracle") : type === "hive" || type === "impala" ? t("form.database.hive") : t("form.database");
@@ -3761,7 +3860,10 @@ window.__ModuleLoader__.load({
3761
3860
  })
3762
3861
  }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Modal, {
3763
3862
  open: workbenchOpen,
3764
- onClose: () => setWorkbenchOpen(false),
3863
+ onClose: () => {
3864
+ setWorkbenchOpen(false);
3865
+ if (requestedFromHero) acknowledgeWorkbenchOpen(openRequest.revision);
3866
+ },
3765
3867
  title: t("wb.workbench.title"),
3766
3868
  description: t("wb.workbench.description"),
3767
3869
  closeLabel: t("action.close"),
@@ -4222,6 +4324,50 @@ window.__ModuleLoader__.load({
4222
4324
  })
4223
4325
  })] });
4224
4326
  }
4327
+ //#endregion
4328
+ //#region src/client/DataAgentHeroControls.tsx
4329
+ /**
4330
+ * Alpha.2 New Session compatibility surface.
4331
+ *
4332
+ * The host's agent-preset seat owns the staged selection. This component
4333
+ * preserves that seat verbatim and adds the database entry only while the
4334
+ * staged preset is `data-agent`.
4335
+ */
4336
+ /** Render the original preset picker plus the database entry for data-agent. */
4337
+ function DataAgentHeroControls(props) {
4338
+ const { originalSeat: OriginalSeat, dataAgentT, requestWorkbench, useHeroWorkbench, useAgentPresetSeat } = props;
4339
+ const preset = useAgentPresetSeat((state) => state.current);
4340
+ const currentSessionId = props.useSessions((state) => state.current);
4341
+ const pending = useHeroWorkbench((state) => state.pending);
4342
+ const triggerLabel = dataAgentT("workbench.open.disconnected");
4343
+ const triggerRef = (0, react.useRef)(null);
4344
+ const showHeroWorkbench = preset === "data-agent" && currentSessionId === void 0;
4345
+ (0, react.useLayoutEffect)(() => {
4346
+ if (!showHeroWorkbench) return;
4347
+ let scope = triggerRef.current?.parentElement ?? null;
4348
+ let card = null;
4349
+ while (scope !== null && card === null) {
4350
+ card = scope.querySelector("[data-composer-card]");
4351
+ scope = scope.parentElement;
4352
+ }
4353
+ const placeholder = dataAgentT("composer.placeholder.disconnected");
4354
+ return overrideComposerPlaceholder(card, placeholder);
4355
+ }, [dataAgentT, showHeroWorkbench]);
4356
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(OriginalSeat, { ...props }), showHeroWorkbench && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
4357
+ label: triggerLabel,
4358
+ side: "top",
4359
+ delayMs: 400,
4360
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
4361
+ type: "button",
4362
+ ref: triggerRef,
4363
+ className: DataAgentWorkbench_module_css_default.heroTrigger,
4364
+ "aria-label": triggerLabel,
4365
+ disabled: pending,
4366
+ onClick: requestWorkbench,
4367
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconDataOutline16, { size: 17 }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: pending ? dataAgentT("state.checking") : dataAgentT("action.config") })]
4368
+ })
4369
+ })] });
4370
+ }
4225
4371
  const VIEW_KINDS = [
4226
4372
  "metric",
4227
4373
  "line",
@@ -45574,40 +45720,40 @@ window.__ModuleLoader__.load({
45574
45720
  document.head.appendChild(tag);
45575
45721
  }
45576
45722
  var AnalysisDashboard_module_css_default = {
45577
- "modalShell": "_1tppBG_modalShell",
45578
- "rowHead": "_1tppBG_rowHead",
45579
- "preview": "_1tppBG_preview",
45580
- "rowActions": "_1tppBG_rowActions",
45581
- "empty": "_1tppBG_empty",
45582
- "table": "_1tppBG_table",
45583
- "row": "_1tppBG_row",
45584
- "rowTitle": "_1tppBG_rowTitle",
45585
- "emptyText": "_1tppBG_emptyText",
45586
- "modalClose": "_1tppBG_modalClose",
45587
- "rowInterrupted": "_1tppBG_rowInterrupted",
45588
- "metricLabel": "_1tppBG_metricLabel",
45589
- "viewFull": "_1tppBG_viewFull",
45590
- "metricValue": "_1tppBG_metricValue",
45591
- "modalTitle": "_1tppBG_modalTitle",
45592
- "modal": "_1tppBG_modal",
45593
- "grid": "_1tppBG_grid",
45594
45723
  "modalCount": "_1tppBG_modalCount",
45724
+ "modal": "_1tppBG_modal",
45725
+ "rowInterrupted": "_1tppBG_rowInterrupted",
45595
45726
  "modalSummary": "_1tppBG_modalSummary",
45596
- "viewTitle": "_1tppBG_viewTitle",
45727
+ "grid": "_1tppBG_grid",
45728
+ "modalHeader": "_1tppBG_modalHeader",
45729
+ "row": "_1tppBG_row",
45730
+ "metricBand": "_1tppBG_metricBand",
45731
+ "chartCanvas": "_1tppBG_chartCanvas",
45732
+ "metricLabel": "_1tppBG_metricLabel",
45733
+ "modalClose": "_1tppBG_modalClose",
45734
+ "visuallyHidden": "_1tppBG_visuallyHidden",
45735
+ "rowActions": "_1tppBG_rowActions",
45597
45736
  "rowButton": "_1tppBG_rowButton",
45737
+ "modalTitleWrap": "_1tppBG_modalTitleWrap",
45738
+ "emptyText": "_1tppBG_emptyText",
45598
45739
  "rowError": "_1tppBG_rowError",
45599
- "modalHeader": "_1tppBG_modalHeader",
45600
- "modalBody": "_1tppBG_modalBody",
45740
+ "empty": "_1tppBG_empty",
45741
+ "rowHead": "_1tppBG_rowHead",
45742
+ "modalTitle": "_1tppBG_modalTitle",
45743
+ "metric": "_1tppBG_metric",
45744
+ "modalShell": "_1tppBG_modalShell",
45745
+ "chart": "_1tppBG_chart",
45601
45746
  "view": "_1tppBG_view",
45602
45747
  "tableWrap": "_1tppBG_tableWrap",
45603
- "modalTitleWrap": "_1tppBG_modalTitleWrap",
45604
- "visuallyHidden": "_1tppBG_visuallyHidden",
45748
+ "rowTitle": "_1tppBG_rowTitle",
45749
+ "preview": "_1tppBG_preview",
45750
+ "viewHalf": "_1tppBG_viewHalf",
45751
+ "table": "_1tppBG_table",
45752
+ "metricValue": "_1tppBG_metricValue",
45753
+ "modalBody": "_1tppBG_modalBody",
45754
+ "viewTitle": "_1tppBG_viewTitle",
45605
45755
  "rowSummary": "_1tppBG_rowSummary",
45606
- "metricBand": "_1tppBG_metricBand",
45607
- "metric": "_1tppBG_metric",
45608
- "chart": "_1tppBG_chart",
45609
- "chartCanvas": "_1tppBG_chartCanvas",
45610
- "viewHalf": "_1tppBG_viewHalf"
45756
+ "viewFull": "_1tppBG_viewFull"
45611
45757
  };
45612
45758
  //#endregion
45613
45759
  //#region src/client/AnalysisChart.tsx
@@ -45898,7 +46044,6 @@ window.__ModuleLoader__.load({
45898
46044
  open,
45899
46045
  onClose,
45900
46046
  title: report.title,
45901
- closeLabel: t("analysis.close"),
45902
46047
  className: AnalysisDashboard_module_css_default.modal,
45903
46048
  headless: true,
45904
46049
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
@@ -46484,12 +46629,16 @@ window.__ModuleLoader__.load({
46484
46629
  };
46485
46630
  //#endregion
46486
46631
  //#region src/client/index.ts
46487
- /** Required services: the locale service, the slot registry, and the sessions list. */
46632
+ /** Required services: locale/slots, Session state, and host New Session navigation. */
46488
46633
  const inject = [
46489
46634
  "slots",
46490
46635
  "locale",
46491
- "sessions"
46636
+ "sessions",
46637
+ "uiWorkspace"
46492
46638
  ];
46639
+ function priorityOf(entry) {
46640
+ return entry.options.priority ?? 0;
46641
+ }
46493
46642
  /**
46494
46643
  * Client plugin body: register the data-agent dictionaries and the database
46495
46644
  * workbench trigger into the composer card's right control region. The registration rides the slot
@@ -46501,25 +46650,87 @@ window.__ModuleLoader__.load({
46501
46650
  zh,
46502
46651
  en
46503
46652
  }), "data-agent: dictionaries");
46504
- ctx.locale.bind(NS);
46653
+ const t = ctx.locale.bind(NS);
46505
46654
  ctx.inject([
46506
46655
  "slots",
46507
46656
  "locale",
46508
- "sessions"
46657
+ "sessions",
46658
+ "uiWorkspace"
46509
46659
  ], (scope) => {
46510
- const list = scope.sessions.list;
46660
+ const { sessions, slots, uiWorkspace } = scope;
46661
+ const list = sessions.list;
46511
46662
  const sessionsSource = {
46512
46663
  getSnapshot: () => list.getSnapshot(),
46513
46664
  subscribe: (fn) => list.subscribe(fn)
46514
46665
  };
46515
- scope.slots.inject("conversation.input.right", () => scope.slots.register({
46666
+ const workbenchOpen = createWorkbenchOpenBridge(sessionsSource, () => uiWorkspace.startSession());
46667
+ scope.effect(() => () => workbenchOpen.dispose(), "data-agent: workbench open bridge");
46668
+ slots.inject("conversation.input.right", () => slots.register({
46516
46669
  name: "conversation.input.right",
46517
46670
  id: "data-agent",
46518
46671
  order: 0,
46519
46672
  locale: NS,
46520
- inject: () => ({ hooks: { sessions: sessionsSource } })
46673
+ inject: () => ({
46674
+ hooks: {
46675
+ sessions: sessionsSource,
46676
+ workbenchOpen: workbenchOpen.store
46677
+ },
46678
+ acknowledgeWorkbenchOpen: workbenchOpen.acknowledge
46679
+ })
46521
46680
  }, DataAgentWorkbench));
46522
- scope.slots.inject("tool.call.toolview", () => scope.slots.register({
46681
+ slots.inject("conversation.hero.agentPreset", () => {
46682
+ let source;
46683
+ let disposeShadow;
46684
+ let disposed = false;
46685
+ let scheduled = false;
46686
+ const reconcile = () => {
46687
+ scheduled = false;
46688
+ if (disposed) return;
46689
+ const entries = slots.entries("conversation.hero.agentPreset").filter((entry) => entry.component !== DataAgentHeroControls).slice().sort((left, right) => priorityOf(left) - priorityOf(right));
46690
+ const next = entries[0];
46691
+ if (next === source) return;
46692
+ const previous = disposeShadow;
46693
+ disposeShadow = void 0;
46694
+ source = void 0;
46695
+ previous?.();
46696
+ if (next === void 0 || next.inject === void 0) return;
46697
+ const originalSeat = next.component;
46698
+ const originalInject = next.inject;
46699
+ const priority = Math.min(...entries.map(priorityOf)) - 1;
46700
+ source = next;
46701
+ disposeShadow = slots.register({
46702
+ name: "conversation.hero.agentPreset",
46703
+ priority,
46704
+ locale: "settings.agentPreset",
46705
+ inject: () => {
46706
+ const face = originalInject();
46707
+ return {
46708
+ ...face,
46709
+ hooks: {
46710
+ ...face.hooks,
46711
+ heroWorkbench: workbenchOpen.store
46712
+ },
46713
+ originalSeat,
46714
+ dataAgentT: t,
46715
+ requestWorkbench: workbenchOpen.requestFromHero
46716
+ };
46717
+ }
46718
+ }, DataAgentHeroControls);
46719
+ };
46720
+ const schedule = () => {
46721
+ if (scheduled || disposed) return;
46722
+ scheduled = true;
46723
+ queueMicrotask(reconcile);
46724
+ };
46725
+ const unsubscribe = slots.subscribe("conversation.hero.agentPreset", schedule);
46726
+ reconcile();
46727
+ return () => {
46728
+ disposed = true;
46729
+ unsubscribe();
46730
+ disposeShadow?.();
46731
+ };
46732
+ });
46733
+ slots.inject("tool.call.toolview", () => slots.register({
46523
46734
  name: "tool.call.toolview",
46524
46735
  key: "render-analysis",
46525
46736
  locale: NS