react-semaphor 0.1.506 → 0.1.508
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/DATA_APP_SDK.md +56 -0
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +194 -172
- package/dist/appearance/index.cjs +1 -1
- package/dist/appearance/index.js +1 -1
- package/dist/appearance-runtime/index.cjs +1 -1
- package/dist/appearance-runtime/index.js +1 -1
- package/dist/brand-studio/index.cjs +2 -2
- package/dist/brand-studio/index.js +139 -119
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +3 -3
- package/dist/chunks/appearance-context-DzqCdhB4.cjs +1 -0
- package/dist/chunks/{appearance-context-XviHOhWJ.js → appearance-context-VJdrKi7r.js} +2 -1
- package/dist/chunks/{appearance-runtime-provider-D0xVQWnH.js → appearance-runtime-provider-CC4HT2Gi.js} +2 -2
- package/dist/chunks/{appearance-runtime-provider-Ca8rxO86.cjs → appearance-runtime-provider-D5pkvgE4.cjs} +1 -1
- package/dist/chunks/calculated-field-identity-BiTGmnST.cjs +1 -0
- package/dist/chunks/calculated-field-identity-CJL54uFx.js +1373 -0
- package/dist/chunks/{constants-NUleP4DY.js → card-config-utils-Bq1enstT.js} +260 -260
- package/dist/chunks/card-config-utils-CMO4_zVs.cjs +1 -0
- package/dist/chunks/{dashboard-briefing-launcher-DXTpU85p.js → dashboard-briefing-launcher-B9l0ZAbv.js} +12 -12
- package/dist/chunks/{dashboard-briefing-launcher-C8nDSDnV.cjs → dashboard-briefing-launcher-C4zsM3Hd.cjs} +1 -1
- package/dist/chunks/{dashboard-controls-CyL0yimg.js → dashboard-controls-BCQv4xWM.js} +16 -14
- package/dist/chunks/dashboard-controls-CWwllVOe.cjs +52 -0
- package/dist/chunks/{dashboard-json-5Jr3RudV.js → dashboard-json-BtU_q_0A.js} +9 -9
- package/dist/chunks/dashboard-json-DVj2xLsH.cjs +1 -0
- package/dist/chunks/edit-dashboard-visual-CO2IVBOq.cjs +172 -0
- package/dist/chunks/{edit-dashboard-visual-C7X-um9g.js → edit-dashboard-visual-RgFUx-py.js} +1986 -1990
- package/dist/chunks/{editor-action-buttons-CcDm8nA5.cjs → editor-action-buttons-BE8Fby6n.cjs} +2 -2
- package/dist/chunks/{editor-action-buttons-C5Wja_J4.js → editor-action-buttons-D-MaqTIs.js} +6 -6
- package/dist/chunks/field-aggregations-DUb0NU6c.js +1229 -0
- package/dist/chunks/field-aggregations-jSi77h9Z.cjs +1 -0
- package/dist/chunks/{field-dependencies-DVl2p1Nm.js → field-dependencies-Cl97kkHy.js} +30 -34
- package/dist/chunks/{field-dependencies-r_U0CGQ-.cjs → field-dependencies-DIab72rQ.cjs} +1 -1
- package/dist/chunks/{index-BVr4fcCB.js → index-0pdaQ9e1.js} +5 -5
- package/dist/chunks/index-BaIrLSBb.cjs +1422 -0
- package/dist/chunks/{index-De2QNsqV.js → index-ByiS9sB4.js} +45343 -43665
- package/dist/chunks/{index-C9KXfCkC.js → index-CLIro-EG.js} +3 -0
- package/dist/chunks/index-Cx3qmRUB.cjs +1 -0
- package/dist/chunks/{index-BlYf8gNa.cjs → index-DhlVxvyI.cjs} +1 -1
- package/dist/chunks/{matrix-card-DACDwdTq.js → matrix-card-CnKQpnsj.js} +1 -1
- package/dist/chunks/{matrix-card-CRXcmAjp.cjs → matrix-card-U4c72doZ.cjs} +1 -1
- package/dist/chunks/{matrix-control-sources-ClQzIk7E.js → matrix-control-sources-CRRdP03Q.js} +165 -134
- package/dist/chunks/matrix-control-sources-FjxGIbqk.cjs +1 -0
- package/dist/chunks/{matrix-formatter-7GLTcBuy.cjs → matrix-formatter-CveLJo6S.cjs} +1 -1
- package/dist/chunks/{matrix-formatter-xsq7n_e6.js → matrix-formatter-ZVS5QOuq.js} +2 -2
- package/dist/chunks/matrix-member-presentation-CFHjdrxT.cjs +1 -0
- package/dist/chunks/matrix-member-presentation-CzGZJd3a.js +182 -0
- package/dist/chunks/matrix-operation-contract-DoiWTUbT.cjs +1 -0
- package/dist/chunks/matrix-operation-contract-xL8IhFzp.js +1802 -0
- package/dist/chunks/{pivot-header-presentation-3wqWChFd.cjs → pivot-header-presentation-Cxz8-06f.cjs} +1 -1
- package/dist/chunks/{pivot-header-presentation-D44ODZGn.js → pivot-header-presentation-DVylCBHB.js} +2 -2
- package/dist/chunks/{pivot-result-lifecycle-DZ0ZSMoM.cjs → pivot-result-lifecycle-BiERyXnS.cjs} +1 -1
- package/dist/chunks/{pivot-result-lifecycle-BSmqVkVG.js → pivot-result-lifecycle-CmjpW7qG.js} +1 -1
- package/dist/chunks/{report-preferences-dialog-xADifRXs.js → report-preferences-dialog-BbkXcnnn.js} +4 -4
- package/dist/chunks/report-preferences-dialog-C9rpWgQZ.cjs +1 -0
- package/dist/chunks/{search-BHsQIWBV.js → selection-reducer-B94WgZ9V.js} +55 -11
- package/dist/chunks/selection-reducer-CGKKsaPa.cjs +26 -0
- package/dist/chunks/{semantic-format-BhIL1PXP.cjs → semantic-format-BzH69TRq.cjs} +1 -1
- package/dist/chunks/{semantic-format-C3amkGmY.js → semantic-format-CBlRO8Aw.js} +1 -1
- package/dist/chunks/{switch-DHGiC0aU.js → switch-CD4uGTZI.js} +7450 -7694
- package/dist/chunks/switch-iC1x2dcE.cjs +134 -0
- package/dist/chunks/token-types-Ahh5u4iT.cjs +1 -0
- package/dist/chunks/token-types-CPde8_LG.js +8 -0
- package/dist/chunks/{update-policy-Cc9h57pA.cjs → update-policy-COjFudhl.cjs} +1 -1
- package/dist/chunks/{update-policy-eTcz52jO.js → update-policy-D9q1Tz8k.js} +1 -1
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +1 -1
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +734 -622
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +3 -3
- package/dist/data-app-codegen/index.cjs +1 -1
- package/dist/data-app-codegen/index.js +2 -2
- package/dist/data-app-codegen-node/index.cjs +94 -92
- package/dist/data-app-codegen-node/index.js +337 -333
- package/dist/data-app-sdk/index.cjs +9 -9
- package/dist/data-app-sdk/index.js +1091 -969
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +104 -96
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +2 -2
- package/dist/format-utils/index.cjs +1 -1
- package/dist/format-utils/index.js +8 -8
- package/dist/index.cjs +1 -1
- package/dist/index.js +15 -15
- package/dist/style.css +1 -1
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +2 -2
- package/dist/types/brand-studio/brand-studio-draft.d.ts +3 -1
- package/dist/types/components/dashboard/card-selection-pill.d.ts +5 -0
- package/dist/types/components/dashboard/dashboard-container.d.ts +1 -1
- package/dist/types/components/dashboard/drill-breadcrumb.d.ts +1 -0
- package/dist/types/components/dashboard/drill-navigation-controls.d.ts +3 -3
- package/dist/types/components/interactions/applied-filters-display.d.ts +6 -1
- package/dist/types/components/interactions/click-to-filter-review-dialog.d.ts +21 -0
- package/dist/types/components/interactions/dashboard-drill-host.d.ts +13 -0
- package/dist/types/components/interactions/filter-badge-tooltip.d.ts +4 -4
- package/dist/types/components/interactions/insight-modal.d.ts +4 -14
- package/dist/types/components/interactions/insight-viewer.d.ts +7 -19
- package/dist/types/components/interactions/interactions-sheet.d.ts +6 -0
- package/dist/types/components/interactions/panels/click-to-filter-panel.d.ts +20 -0
- package/dist/types/components/interactions/reusable/interaction-selection-popover.d.ts +2 -2
- package/dist/types/components/interactions/sheet/action-editor.d.ts +17 -0
- package/dist/types/components/interactions/sheet/action-meta.d.ts +45 -0
- package/dist/types/components/interactions/sheet/action-picker.d.ts +7 -0
- package/dist/types/components/interactions/sheet/click-outcome-preview.d.ts +10 -0
- package/dist/types/components/interactions/sheet/interactions-home.d.ts +28 -0
- package/dist/types/components/interactions/sheet/sheet-parts.d.ts +37 -0
- package/dist/types/components/surfboard/filter/dashboard-filter-mapping-panel.d.ts +28 -1
- package/dist/types/components/surfboard/filter/selection-chip.d.ts +11 -0
- package/dist/types/components/surfboard/filter/selection-filter-section.d.ts +4 -0
- package/dist/types/components/surfboard/filter/use-dashboard-filter-mapping-popover.d.ts +3 -0
- package/dist/types/components/ui/resizable.d.ts +1 -1
- package/dist/types/components/visual/matrix-table/matrix-interaction-actions.d.ts +13 -1
- package/dist/types/components/visual/matrix-table/matrix-selection-click.d.ts +6 -0
- package/dist/types/data-app-sdk/adapters.d.ts +3 -2
- package/dist/types/data-app-sdk/builders.d.ts +2 -1
- package/dist/types/data-app-sdk/contracts.d.ts +44 -2
- package/dist/types/data-app-sdk/index.d.ts +1 -0
- package/dist/types/data-app-sdk/query-request.d.ts +7 -2
- package/dist/types/data-app-sdk/selection.d.ts +2 -0
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +24 -23
- package/dist/types/lib/appearance/types.d.ts +3 -1
- package/dist/types/lib/briefings/briefing-attachment-model.d.ts +0 -2
- package/dist/types/lib/contexts/interactions-popover-context.d.ts +1 -8
- package/dist/types/lib/dashboard/click-to-filter-card-references.d.ts +23 -0
- package/dist/types/lib/dashboard-inputs/build-normalized-dashboard-inputs.d.ts +16 -2
- package/dist/types/lib/dashboard-inputs/build-selection-dashboard-inputs.d.ts +31 -0
- package/dist/types/lib/dashboard-inputs/click-to-filter-emitted-fields.d.ts +17 -0
- package/dist/types/lib/dashboard-inputs/click-to-filter-mapping-draft.d.ts +99 -0
- package/dist/types/lib/dashboard-inputs/click-to-filter-sheet-reach.d.ts +12 -0
- package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-authoring.d.ts +18 -1
- package/dist/types/lib/dashboard-inputs/dashboard-filter-mapping-candidate-metadata.d.ts +4 -1
- package/dist/types/lib/dashboard-inputs/dashboard-input-scope.d.ts +10 -0
- package/dist/types/lib/dashboard-inputs/dashboard-input-snapshot.d.ts +8 -1
- package/dist/types/lib/dashboard-inputs/index.d.ts +1 -0
- package/dist/types/lib/dashboard-inputs/resolve-dashboard-input-context.d.ts +18 -7
- package/dist/types/lib/dashboard-inputs/resolve-field-date-comparison-coverage.d.ts +5 -2
- package/dist/types/lib/dashboard-inputs/resolve-selection-input.d.ts +77 -0
- package/dist/types/lib/dashboard-inputs/selection-targets.d.ts +26 -0
- package/dist/types/lib/dashboard-inputs/transient-input-context.d.ts +102 -0
- package/dist/types/lib/dashboard-navigation/build-carried-click-context.d.ts +50 -0
- package/dist/types/lib/dashboard-navigation/describe-carried-context.d.ts +11 -0
- package/dist/types/lib/dashboard-navigation/index.d.ts +1 -0
- package/dist/types/lib/dashboard-navigation/navigation-state.d.ts +120 -0
- package/dist/types/lib/dashboard-navigation/run-one-off-drill.d.ts +11 -0
- package/dist/types/lib/dashboard-navigation/use-transient-contexts.d.ts +17 -0
- package/dist/types/lib/dashboard-view-state/card-view-state.d.ts +48 -0
- package/dist/types/lib/dashboard-view-state/drill-path.d.ts +20 -0
- package/dist/types/lib/dashboard-view-state/index.d.ts +2 -0
- package/dist/types/lib/download-pdf.d.ts +0 -3
- package/dist/types/lib/formatters/metric-formatting.d.ts +1 -1
- package/dist/types/lib/hooks/ai/dashboard-context.d.ts +15 -8
- package/dist/types/lib/hooks/chartjs/use-chart-blur.d.ts +10 -2
- package/dist/types/lib/hooks/interactions/{use-event-engine.d.ts → use-drill-actions.d.ts} +28 -7
- package/dist/types/lib/hooks/selection/use-active-selections.d.ts +15 -0
- package/dist/types/lib/hooks/selection/use-click-to-filter-mapping-draft.d.ts +20 -0
- package/dist/types/lib/hooks/selection/use-selection-click.d.ts +34 -0
- package/dist/types/lib/hooks/selection/use-selection-gestures.d.ts +38 -0
- package/dist/types/lib/hooks/selection/use-table-row-selection.d.ts +46 -0
- package/dist/types/lib/hooks/use-dashboard-card.d.ts +0 -2
- package/dist/types/lib/hooks/use-dashboard-filter-mapping-candidates.d.ts +18 -0
- package/dist/types/lib/hooks/use-dashboard-frame-query.d.ts +0 -1
- package/dist/types/lib/hooks/use-dashboard.d.ts +1 -3
- package/dist/types/lib/hooks/use-interactions-popover.d.ts +1 -8
- package/dist/types/lib/hooks/use-resolved-card-config.d.ts +6 -0
- package/dist/types/lib/interactions/click-outcome.d.ts +25 -0
- package/dist/types/lib/interactions/get-click-context-from-chartjs.d.ts +3 -1
- package/dist/types/lib/interactions/get-click-context-from-matrix.d.ts +1 -1
- package/dist/types/lib/interactions/get-click-context-from-table.d.ts +7 -0
- package/dist/types/lib/interactions/interaction-utils.d.ts +17 -1
- package/dist/types/lib/matrix-table/build-matrix-drill-to-detail.d.ts +15 -0
- package/dist/types/lib/matrix-table/matrix-card-interactions.d.ts +14 -3
- package/dist/types/lib/query-context/build-card-query-context.d.ts +19 -8
- package/dist/types/lib/query-context/build-dashboard-execution-snapshot.d.ts +5 -3
- package/dist/types/lib/query-context/build-dashboard-frame-base-query-contexts.d.ts +12 -4
- package/dist/types/lib/query-context/compile-selection-filters.d.ts +5 -0
- package/dist/types/lib/query-context/dashboard-filter-mapping-resolution.d.ts +46 -0
- package/dist/types/lib/query-context/filter-group-utils.d.ts +3 -0
- package/dist/types/lib/query-context/resolve-runtime-card-filters.d.ts +29 -0
- package/dist/types/lib/selection/click-to-filter-authoring-support.d.ts +9 -0
- package/dist/types/lib/selection/selection-from-click-context.d.ts +41 -0
- package/dist/types/lib/selection/selection-labels.d.ts +3 -0
- package/dist/types/lib/selection/selection-notices.d.ts +9 -0
- package/dist/types/lib/selection/selection-reducer.d.ts +46 -0
- package/dist/types/lib/stores/dashboard-store.d.ts +62 -17
- package/dist/types/lib/stores/editor-store.d.ts +1 -2
- package/dist/types/lib/stores/index.d.ts +0 -2
- package/dist/types/lib/types/common-types.d.ts +60 -6
- package/dist/types/lib/types/explorer-types.d.ts +1 -22
- package/dist/types/lib/types/interaction-types.d.ts +6 -198
- package/dist/types/lib/utils/calculate-context-aware-filters.d.ts +21 -12
- package/dist/types/lib/utils/card-utils.d.ts +11 -0
- package/dist/types/lib/utils/date-hierarchy-utils.d.ts +3 -1
- package/dist/types/lib/utils/drag-and-drop-utils.d.ts +1 -1
- package/dist/types/lib/utils/interaction-icons.d.ts +1 -1
- package/dist/types/shared/analytics-protocol/execution-input-schemas.d.ts +32 -32
- package/dist/types/shared/analytics-protocol/index.d.ts +2 -0
- package/dist/types/shared/analytics-protocol/selection-contract.d.ts +100 -0
- package/dist/types/shared/analytics-protocol/selection-filter-compiler.d.ts +12 -0
- package/dist/types/shared/dashboard-authoring/apply-group-by-override.d.ts +19 -0
- package/dist/types/shared/dashboard-authoring/click-to-filter-settings.d.ts +88 -0
- package/dist/types/shared/dashboard-authoring/contracts.d.ts +8 -0
- package/dist/types/shared/dashboard-authoring/index.d.ts +3 -0
- package/dist/types/shared/dashboard-authoring/linked-click-to-filter-overrides.d.ts +32 -0
- package/dist/types/shared/format-utils/matrix-continuation.d.ts +3 -3
- package/package.json +1 -1
- package/src/data-app-sdk/README.md +58 -1
- package/dist/chunks/appearance-context-tNjvTJj3.cjs +0 -1
- package/dist/chunks/calculated-field-identity-BTpUqfEu.js +0 -1276
- package/dist/chunks/calculated-field-identity-rMuXuzEY.cjs +0 -1
- package/dist/chunks/constants-vtu7_IUo.cjs +0 -1
- package/dist/chunks/dashboard-controls-DlxeddZN.cjs +0 -52
- package/dist/chunks/dashboard-json-DhS4yJfc.cjs +0 -1
- package/dist/chunks/edit-dashboard-visual-X3OCnivL.cjs +0 -172
- package/dist/chunks/field-aggregations-BU_3gHKR.js +0 -957
- package/dist/chunks/field-aggregations-CDCamEsQ.cjs +0 -1
- package/dist/chunks/index-C8XCKzB6.cjs +0 -1
- package/dist/chunks/index-DSa6RSdg.cjs +0 -1417
- package/dist/chunks/matrix-control-sources-CeC5EMyq.cjs +0 -1
- package/dist/chunks/matrix-member-presentation-E2B4k3ws.cjs +0 -1
- package/dist/chunks/matrix-member-presentation-qiHxv67e.js +0 -105
- package/dist/chunks/matrix-operation-contract-Cqy4EW2H.js +0 -1638
- package/dist/chunks/matrix-operation-contract-D9dLX-Wr.cjs +0 -1
- package/dist/chunks/report-preferences-dialog-7Vsc_fsG.cjs +0 -1
- package/dist/chunks/search-BqqhaMx9.cjs +0 -26
- package/dist/chunks/switch-BytP6QY8.cjs +0 -139
- package/dist/types/components/interactions/configuration-popover.d.ts +0 -1
- package/dist/types/components/interactions/interaction-card.d.ts +0 -59
- package/dist/types/components/interactions/interaction-event-handler.d.ts +0 -11
- package/dist/types/components/interactions/interactions-list.d.ts +0 -50
- package/dist/types/components/interactions/panels/cross-filter-panel.d.ts +0 -24
- package/dist/types/components/interactions/panels/inline-drill-panel.d.ts +0 -24
- package/dist/types/components/interactions/selectors/action-selector.d.ts +0 -31
- package/dist/types/components/interactions/selectors/trigger-selector.d.ts +0 -38
- package/dist/types/components/surfboard/filter/click-filter-section.d.ts +0 -5
- package/dist/types/lib/interactions/build-interaction-event.d.ts +0 -25
- package/dist/types/lib/interactions/convert-click-filters-to-filter-group.d.ts +0 -10
- package/dist/types/lib/interactions/execute-interaction-event.d.ts +0 -80
- package/dist/types/lib/interactions/field-utils.d.ts +0 -11
- package/dist/types/lib/interactions/handle-chart-click.d.ts +0 -75
- package/dist/types/lib/interactions/linked-interaction-utils.d.ts +0 -14
- package/dist/types/lib/interactions/source-card-filter-utils.d.ts +0 -9
- package/dist/types/lib/stores/drill-actions.d.ts +0 -139
- package/dist/types/lib/stores/interaction-store.d.ts +0 -113
- package/dist/types/lib/stores/pointer-interaction-store.d.ts +0 -18
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("../data-app-sdk-adapters/index.cjs"),i=require("react/jsx-runtime"),u=require("react"),M=require("../chunks/validators-DVYAnnX0.cjs"),Re=require("../chunks/matrix-operation-contract-D9dLX-Wr.cjs"),rr=require("../chunks/matrix-formatter-7GLTcBuy.cjs"),oe=require("../chunks/search-BqqhaMx9.cjs"),Ke=require("../chunks/x-B6ghREd2.cjs");function ce(e,r,t){return{...t,name:e,role:r}}function zr(e){return e}function Pr(e){return e}const Hr={source:{semantic(e){return{...e,kind:"semantic"}},sql(e){return{...e,kind:"sql"}}},field:{measure(e,r={}){return ce(e,"measure",r)},dimension(e,r={}){return ce(e,"dimension",r)},date(e,r={}){return ce(e,"date",r)},id(e,r={}){return ce(e,"id",r)}},filter(e){return{...e,kind:"filter"}},bindInput(e,r){return{toAnalyticsInput(){const[t]=w.toSemaphorInputSnapshots([e]),n=w.toSemaphorInputBinding({...r,inputId:r.inputId||t.inputId});return{...t,inputId:n.inputId,...n.kind?{kind:n.kind}:{},...n.controlRole?{controlRole:n.controlRole}:{},...n.operator?{operator:n.operator}:{},...n.field?{field:n.field}:{},...n.relationshipHint?{relationshipHint:n.relationshipHint}:{}}}}},control(e){return{...e,kind:"control"}},sqlParam(e){return{...e,kind:"control",role:"sqlParam"}},derivedField(e){return{...e,kind:"derived_field",expressionLanguage:e.expressionLanguage||"semaphor_sql_template"}},metric(e){return{...e,queryKind:"metric"}},analysis(e){return{...e,queryKind:"analysis"}},records(e){return{...e,queryKind:"records"}},inputOptions(e){return{...e,queryKind:"inputOptions"}},sql(e){return{...e,queryKind:"sql"}},matrix(e){return{...e,queryKind:"matrix"}}},ae=10,Le=8;function We(e,r){const t=e==null?void 0:e.result;if(t)switch(t.kind){case"records":return se({title:"Records",rowNoun:"rows",records:t.records,columns:t.columns,rowCount:t.rowCount});case"sql":return se({title:"SQL Rows",rowNoun:"rows",records:t.records,columns:t.columns,rowCount:t.rowCount});case"inputOptions":return se({title:"Options",rowNoun:"options",records:t.options.slice(0,ae).map(n=>{var s;return{label:n.label,value:n.value,count:n.count,disambiguation:(s=n.disambiguation)==null?void 0:s.join(" / ")}}),columns:[{key:"label",label:"Label"},{key:"value",label:"Value"},{key:"count",label:"Count"},{key:"disambiguation",label:"Disambiguation"}],rowCount:t.rowCount??t.options.length});case"metric":return Vr(t,r);case"matrix":return se({title:"Matrix Cells",rowNoun:"cells",records:t.window.blocks.flatMap(n=>n.cells).slice(0,ae).map(n=>{const s=t.window.descriptors.measures.find(o=>o.id===n.measureId);return{row:rr.matrixMemberLabel(n.rowPath),column:rr.matrixMemberLabel(n.columnPath),measure:(s==null?void 0:s.column.label)||n.measureId,value:n.value}}),columns:[{key:"row",label:"Row"},{key:"column",label:"Column"},{key:"measure",label:"Measure"},{key:"value",label:"Value"}],rowCount:t.window.blocks.reduce((n,s)=>n+s.cells.length,0)});default:return Ur(t)}}function Vr(e,r){var o,a,f,c,p;const t=[{metric:"primaryValue",value:(r==null?void 0:r.primaryValue)??e.primaryValue}],n=(r==null?void 0:r.comparisonKind)??((o=e.comparison)==null?void 0:o.kind);return n&&t.push({metric:`${n} value`,value:(r==null?void 0:r.comparisonValue)??((a=e.comparison)==null?void 0:a.value)},{metric:"delta",value:(r==null?void 0:r.delta)??((f=e.comparison)==null?void 0:f.delta)},{metric:"deltaPercent",value:(r==null?void 0:r.deltaPercent)??((c=e.comparison)==null?void 0:c.deltaPercent)}),(((p=r==null?void 0:r.missingMeasures)==null?void 0:p.filter(Boolean))??[]).forEach(g=>{t.push({metric:`missing:${g}`,value:"missing"})}),Object.entries((r==null?void 0:r.measures)??{}).sort(([g],[m])=>g.localeCompare(m)).forEach(([g,m])=>{t.push({metric:`measure:${g}`,value:m})}),Object.entries((r==null?void 0:r.measureBindings)??{}).sort(([g],[m])=>g.localeCompare(m)).forEach(([g,m])=>{t.push({metric:`binding:${g}`,value:m})}),se({title:"Metric",rowNoun:"values",records:t,columns:[{key:"metric",label:"Metric"},{key:"value",label:"Value"}],rowCount:t.length})}function se({title:e,rowNoun:r,records:t,columns:n,rowCount:s}){const o=Qr(n,t);if(!o.length)return;const a=s??t.length,f=t.slice(0,ae);return{title:e,summary:`${Jr(a)} ${r}`,columns:o.slice(0,Le),rows:f,truncatedRows:a>f.length,truncatedColumns:o.length>Le}}function Qr(e,r){if(e!=null&&e.length)return e.filter(n=>n.key).map(n=>({key:n.key,label:n.label||n.key}));const t=new Set;return r.slice(0,ae).forEach(n=>{Object.keys(n).forEach(s=>t.add(s))}),[...t].map(n=>({key:n,label:n}))}function Ur(e){throw new Error(`Unhandled Semaphor result kind: ${mr(e)}`)}function Gr(e){return e===null?"null":e===void 0?"":typeof e=="string"?tr(e):typeof e=="number"||typeof e=="boolean"?String(e):tr(mr(e))}function Jr(e){return typeof e=="number"?e.toLocaleString():"-"}function mr(e){return JSON.stringify(e,null,2)??"undefined"}function tr(e){return e.length>80?`${e.slice(0,77)}...`:e}function be(e){return e.viewTitle||e.queryLabel||e.viewId||e.queryId}function Yr(e){if(e.label)return e.label;if(e.queryKind!=="inputOptions")return;const t=e.labelField.label||e.valueField.label||e.labelField.name||e.valueField.name||e.inputId;return`${Xr(t)} Options`}function Xr(e){return(e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\bfilter\b/gi," ").replace(/\boptions?\b/gi," ").replace(/\bid\b/gi," ").replace(/\s+/g," ").trim()||e).split(" ").filter(Boolean).map(n=>n===n.toUpperCase()&&n.length>1?n:`${n.slice(0,1).toUpperCase()}${n.slice(1)}`).join(" ")}function Ne(e){return e.flatMap(r=>{var g,m,v,y;const t=r.latestAttempt,n=t==null?void 0:t.executionResult,s=we((g=n==null?void 0:n.validation)==null?void 0:g.warnings),o=we((m=n==null?void 0:n.validation)==null?void 0:m.errors),a=tt((v=n==null?void 0:n.coverage)==null?void 0:v.missingObligations),f=we((y=n==null?void 0:n.coverage)==null?void 0:y.warnings),c=[],p=be(r);(t==null?void 0:t.status)==="error"&&c.push({trace:r,tone:"error",title:p,message:t.errorMessage||"Query attempt failed."});for(const b of r.clientWarnings)c.push({trace:r,tone:"warning",title:p,message:b});for(const b of s)c.push({trace:r,tone:"warning",title:p,...b});for(const b of o)c.push({trace:r,tone:"error",title:p,...b});for(const b of a)c.push({trace:r,tone:"warning",title:p,message:b});for(const b of f)c.push({trace:r,tone:"warning",title:p,...b});return c})}function Zr(e){return{traceId:e.trace.traceId,queryId:e.trace.queryId,viewId:e.trace.viewId,viewTitle:e.trace.viewTitle,queryLabel:e.trace.queryLabel,severity:e.tone,title:e.title,message:e.message,code:e.code,path:e.path}}function et(e,r){return e.filter(t=>t.trace.traceId===r.traceId).length}function rt(e){const r=Ne(e),t=e.filter(a=>{var f;return((f=a.latestAttempt)==null?void 0:f.status)==="error"}).length,n=e.filter(a=>{var f;return((f=a.latestAttempt)==null?void 0:f.status)==="loading"}).length,s=r.filter(a=>a.tone==="error").length,o=r.filter(a=>a.tone==="warning").length;return{total:e.length,failed:t,loading:n,errorCount:s,warningCount:o,issueCount:r.length,severity:t||s?"error":o?"warning":n?"loading":"ok"}}function tt(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"):[]}function we(e){return Array.isArray(e)?e.map(nt).filter(r=>!!r):[]}function nt(e){if(typeof e=="string")return{message:e};if(!e||typeof e!="object"||Array.isArray(e))return;const r=e,t=typeof r.message=="string"?r.message:"",n=typeof r.code=="string"?r.code:"",s=typeof r.path=="string"?r.path:"";return t&&n?{message:s?`${t} (${n}, ${s})`:`${t} (${n})`,code:n,...s?{path:s}:{}}:t?{message:t,...s?{path:s}:{}}:n?{message:n,code:n}:void 0}function st(e){if(!e.enabled)return e;const r=e.queries.map(yr);return{enabled:e.enabled,queries:r,issues:e.issues,getQuery:t=>r.find(n=>n.queryId===t),getQueries:t=>r.filter(n=>n.queryId===t)}}function nr(e){return e?yr(e):void 0}function yr(e){var r;return(r=e==null?void 0:e.latestAttempt)!=null&&r.executionResult?{...e,latestAttempt:{...e.latestAttempt,resultPreview:e.latestAttempt.resultPreview||We(e.latestAttempt.executionResult),executionResult:it(e.latestAttempt.executionResult)}}:e}function it(e){const{compiledQuery:r,intent:t,result:n,...s}=e,o=ot(s.metadata);return{...s,...o?{metadata:o}:{}}}function ot(e){if(!e||typeof e!="object"||Array.isArray(e))return e;const r=e.dataAppDebug;if(!r||typeof r!="object"||Array.isArray(r))return e;const{compiledSql:t,...n}=r;return{...e,dataAppDebug:n}}function at(e){return e==="relative"?{position:"relative",top:"auto",right:"auto",bottom:"auto",left:"auto"}:{top:e.startsWith("top")?20:"auto",right:e.endsWith("right")?20:"auto",bottom:e.startsWith("bottom")?20:"auto",left:e.endsWith("left")?20:"auto"}}function lt(e){return e==="error"?{borderColor:"var(--sd-error-border)",background:"var(--sd-error-bg)",color:"var(--sd-error-fg)"}:e==="warning"?{borderColor:"var(--sd-warning-border)",background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)"}:e==="loading"?{borderColor:"var(--sd-loading-border)",background:"var(--sd-loading-bg)",color:"var(--sd-loading-fg)"}:{borderColor:"var(--sd-success-border)",background:"var(--sd-success-bg)",color:"var(--sd-success-fg)"}}function dt(e){return e==="right"?{top:16,right:16,bottom:16,left:"auto",width:"min(720px, calc(100vw - 32px))",height:"auto",borderRadius:6}:{top:"auto",right:16,bottom:16,left:16,width:"auto",height:"min(420px, 45vh)",borderRadius:6}}function ut(e){return e==="right"?{gridTemplateColumns:"minmax(210px, 280px) minmax(0, 1fr)"}:{gridTemplateColumns:"minmax(260px, 340px) minmax(0, 1fr)"}}function ct(e){return{borderRight:"1px solid var(--sd-border)",borderBottom:0}}function hr(e){return e==="error"?{background:"var(--sd-error-dot)"}:e==="success"?{background:"var(--sd-success-dot)"}:e==="loading"?{background:"var(--sd-loading-dot)"}:{background:"var(--sd-idle-dot)"}}function ft(e){return e==="error"?{borderColor:"var(--sd-error-border)",color:"var(--sd-error-fg)"}:e==="success"?{borderColor:"var(--sd-success-border)",color:"var(--sd-success-fg)"}:e==="loading"?{borderColor:"var(--sd-loading-border)",color:"var(--sd-loading-fg)"}:{borderColor:"var(--sd-border)",color:"var(--sd-fg-muted)"}}const sr="semaphor-devtools-stylesheet",E="semaphor-devtools",pt=`
|
|
2
|
-
.${
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../data-app-sdk-adapters/index.cjs"),i=require("react/jsx-runtime"),u=require("react"),M=require("../chunks/validators-DVYAnnX0.cjs"),N=require("../chunks/matrix-operation-contract-DoiWTUbT.cjs"),tr=require("../chunks/matrix-formatter-CveLJo6S.cjs"),P=require("../chunks/selection-reducer-CGKKsaPa.cjs"),We=require("../chunks/x-B6ghREd2.cjs");function pe(e,r,t){return{...t,name:e,role:r}}function Vr(e){return e}function Qr(e){return e}const Ur={source:{semantic(e){return{...e,kind:"semantic"}},sql(e){return{...e,kind:"sql"}}},field:{measure(e,r={}){return pe(e,"measure",r)},dimension(e,r={}){return pe(e,"dimension",r)},date(e,r={}){return pe(e,"date",r)},id(e,r={}){return pe(e,"id",r)}},filter(e){return{...e,kind:"filter"}},selection(e){return{...e,kind:"selection"}},bindInput(e,r){return{toAnalyticsInput(){const[t]=I.toSemaphorInputSnapshots([e]),n=I.toSemaphorInputBinding({...r,inputId:r.inputId||t.inputId});return{...t,inputId:n.inputId,...n.kind?{kind:n.kind}:{},...n.controlRole?{controlRole:n.controlRole}:{},...n.operator?{operator:n.operator}:{},...n.field?{field:n.field}:{},...n.relationshipHint?{relationshipHint:n.relationshipHint}:{}}}}},control(e){return{...e,kind:"control"}},sqlParam(e){return{...e,kind:"control",role:"sqlParam"}},derivedField(e){return{...e,kind:"derived_field",expressionLanguage:e.expressionLanguage||"semaphor_sql_template"}},metric(e){return{...e,queryKind:"metric"}},analysis(e){return{...e,queryKind:"analysis"}},records(e){return{...e,queryKind:"records"}},inputOptions(e){return{...e,queryKind:"inputOptions"}},sql(e){return{...e,queryKind:"sql"}},matrix(e){return{...e,queryKind:"matrix"}}},de=10,Oe=8;function Ne(e,r){const t=e==null?void 0:e.result;if(t)switch(t.kind){case"records":return ae({title:"Records",rowNoun:"rows",records:t.records,columns:t.columns,rowCount:t.rowCount});case"sql":return ae({title:"SQL Rows",rowNoun:"rows",records:t.records,columns:t.columns,rowCount:t.rowCount});case"inputOptions":return ae({title:"Options",rowNoun:"options",records:t.options.slice(0,de).map(n=>{var s;return{label:n.label,value:n.value,count:n.count,disambiguation:(s=n.disambiguation)==null?void 0:s.join(" / ")}}),columns:[{key:"label",label:"Label"},{key:"value",label:"Value"},{key:"count",label:"Count"},{key:"disambiguation",label:"Disambiguation"}],rowCount:t.rowCount??t.options.length});case"metric":return Gr(t,r);case"matrix":return ae({title:"Matrix Cells",rowNoun:"cells",records:t.window.blocks.flatMap(n=>n.cells).slice(0,de).map(n=>{const s=t.window.descriptors.measures.find(o=>o.id===n.measureId);return{row:tr.matrixMemberLabel(n.rowPath),column:tr.matrixMemberLabel(n.columnPath),measure:(s==null?void 0:s.column.label)||n.measureId,value:n.value}}),columns:[{key:"row",label:"Row"},{key:"column",label:"Column"},{key:"measure",label:"Measure"},{key:"value",label:"Value"}],rowCount:t.window.blocks.reduce((n,s)=>n+s.cells.length,0)});default:return Yr(t)}}function Gr(e,r){var o,a,p,f,c;const t=[{metric:"primaryValue",value:(r==null?void 0:r.primaryValue)??e.primaryValue}],n=(r==null?void 0:r.comparisonKind)??((o=e.comparison)==null?void 0:o.kind);return n&&t.push({metric:`${n} value`,value:(r==null?void 0:r.comparisonValue)??((a=e.comparison)==null?void 0:a.value)},{metric:"delta",value:(r==null?void 0:r.delta)??((p=e.comparison)==null?void 0:p.delta)},{metric:"deltaPercent",value:(r==null?void 0:r.deltaPercent)??((f=e.comparison)==null?void 0:f.deltaPercent)}),(((c=r==null?void 0:r.missingMeasures)==null?void 0:c.filter(Boolean))??[]).forEach(m=>{t.push({metric:`missing:${m}`,value:"missing"})}),Object.entries((r==null?void 0:r.measures)??{}).sort(([m],[g])=>m.localeCompare(g)).forEach(([m,g])=>{t.push({metric:`measure:${m}`,value:g})}),Object.entries((r==null?void 0:r.measureBindings)??{}).sort(([m],[g])=>m.localeCompare(g)).forEach(([m,g])=>{t.push({metric:`binding:${m}`,value:g})}),ae({title:"Metric",rowNoun:"values",records:t,columns:[{key:"metric",label:"Metric"},{key:"value",label:"Value"}],rowCount:t.length})}function ae({title:e,rowNoun:r,records:t,columns:n,rowCount:s}){const o=Jr(n,t);if(!o.length)return;const a=s??t.length,p=t.slice(0,de);return{title:e,summary:`${Zr(a)} ${r}`,columns:o.slice(0,Oe),rows:p,truncatedRows:a>p.length,truncatedColumns:o.length>Oe}}function Jr(e,r){if(e!=null&&e.length)return e.filter(n=>n.key).map(n=>({key:n.key,label:n.label||n.key}));const t=new Set;return r.slice(0,de).forEach(n=>{Object.keys(n).forEach(s=>t.add(s))}),[...t].map(n=>({key:n,label:n}))}function Yr(e){throw new Error(`Unhandled Semaphor result kind: ${hr(e)}`)}function Xr(e){return e===null?"null":e===void 0?"":typeof e=="string"?nr(e):typeof e=="number"||typeof e=="boolean"?String(e):nr(hr(e))}function Zr(e){return typeof e=="number"?e.toLocaleString():"-"}function hr(e){return JSON.stringify(e,null,2)??"undefined"}function nr(e){return e.length>80?`${e.slice(0,77)}...`:e}function xe(e){return e.viewTitle||e.queryLabel||e.viewId||e.queryId}function et(e){if(e.label)return e.label;if(e.queryKind!=="inputOptions")return;const t=e.labelField.label||e.valueField.label||e.labelField.name||e.valueField.name||e.inputId;return`${rt(t)} Options`}function rt(e){return(e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[_-]+/g," ").replace(/\bfilter\b/gi," ").replace(/\boptions?\b/gi," ").replace(/\bid\b/gi," ").replace(/\s+/g," ").trim()||e).split(" ").filter(Boolean).map(n=>n===n.toUpperCase()&&n.length>1?n:`${n.slice(0,1).toUpperCase()}${n.slice(1)}`).join(" ")}function _e(e){return e.flatMap(r=>{var m,g,h,x;const t=r.latestAttempt,n=t==null?void 0:t.executionResult,s=qe((m=n==null?void 0:n.validation)==null?void 0:m.warnings),o=qe((g=n==null?void 0:n.validation)==null?void 0:g.errors),a=it((h=n==null?void 0:n.coverage)==null?void 0:h.missingObligations),p=qe((x=n==null?void 0:n.coverage)==null?void 0:x.warnings),f=[],c=xe(r);(t==null?void 0:t.status)==="error"&&f.push({trace:r,tone:"error",title:c,message:t.errorMessage||"Query attempt failed."});for(const b of r.clientWarnings)f.push({trace:r,tone:"warning",title:c,message:b});for(const b of s)f.push({trace:r,tone:"warning",title:c,...b});for(const b of o)f.push({trace:r,tone:"error",title:c,...b});for(const b of a)f.push({trace:r,tone:"warning",title:c,message:b});for(const b of p)f.push({trace:r,tone:"warning",title:c,...b});return f})}function tt(e){return{traceId:e.trace.traceId,queryId:e.trace.queryId,viewId:e.trace.viewId,viewTitle:e.trace.viewTitle,queryLabel:e.trace.queryLabel,severity:e.tone,title:e.title,message:e.message,code:e.code,path:e.path}}function nt(e,r){return e.filter(t=>t.trace.traceId===r.traceId).length}function st(e){const r=_e(e),t=e.filter(a=>{var p;return((p=a.latestAttempt)==null?void 0:p.status)==="error"}).length,n=e.filter(a=>{var p;return((p=a.latestAttempt)==null?void 0:p.status)==="loading"}).length,s=r.filter(a=>a.tone==="error").length,o=r.filter(a=>a.tone==="warning").length;return{total:e.length,failed:t,loading:n,errorCount:s,warningCount:o,issueCount:r.length,severity:t||s?"error":o?"warning":n?"loading":"ok"}}function it(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"):[]}function qe(e){return Array.isArray(e)?e.map(ot).filter(r=>!!r):[]}function ot(e){if(typeof e=="string")return{message:e};if(!e||typeof e!="object"||Array.isArray(e))return;const r=e,t=typeof r.message=="string"?r.message:"",n=typeof r.code=="string"?r.code:"",s=typeof r.path=="string"?r.path:"";return t&&n?{message:s?`${t} (${n}, ${s})`:`${t} (${n})`,code:n,...s?{path:s}:{}}:t?{message:t,...s?{path:s}:{}}:n?{message:n,code:n}:void 0}function at(e){if(!e.enabled)return e;const r=e.queries.map(br);return{enabled:e.enabled,queries:r,issues:e.issues,getQuery:t=>r.find(n=>n.queryId===t),getQueries:t=>r.filter(n=>n.queryId===t)}}function sr(e){return e?br(e):void 0}function br(e){var r;return(r=e==null?void 0:e.latestAttempt)!=null&&r.executionResult?{...e,latestAttempt:{...e.latestAttempt,resultPreview:e.latestAttempt.resultPreview||Ne(e.latestAttempt.executionResult),executionResult:lt(e.latestAttempt.executionResult)}}:e}function lt(e){const{compiledQuery:r,intent:t,result:n,...s}=e,o=dt(s.metadata);return{...s,...o?{metadata:o}:{}}}function dt(e){if(!e||typeof e!="object"||Array.isArray(e))return e;const r=e.dataAppDebug;if(!r||typeof r!="object"||Array.isArray(r))return e;const{compiledSql:t,...n}=r;return{...e,dataAppDebug:n}}function ut(e){return e==="relative"?{position:"relative",top:"auto",right:"auto",bottom:"auto",left:"auto"}:{top:e.startsWith("top")?20:"auto",right:e.endsWith("right")?20:"auto",bottom:e.startsWith("bottom")?20:"auto",left:e.endsWith("left")?20:"auto"}}function ct(e){return e==="error"?{borderColor:"var(--sd-error-border)",background:"var(--sd-error-bg)",color:"var(--sd-error-fg)"}:e==="warning"?{borderColor:"var(--sd-warning-border)",background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)"}:e==="loading"?{borderColor:"var(--sd-loading-border)",background:"var(--sd-loading-bg)",color:"var(--sd-loading-fg)"}:{borderColor:"var(--sd-success-border)",background:"var(--sd-success-bg)",color:"var(--sd-success-fg)"}}function ft(e){return e==="right"?{top:16,right:16,bottom:16,left:"auto",width:"min(720px, calc(100vw - 32px))",height:"auto",borderRadius:6}:{top:"auto",right:16,bottom:16,left:16,width:"auto",height:"min(420px, 45vh)",borderRadius:6}}function pt(e){return e==="right"?{gridTemplateColumns:"minmax(210px, 280px) minmax(0, 1fr)"}:{gridTemplateColumns:"minmax(260px, 340px) minmax(0, 1fr)"}}function mt(e){return{borderRight:"1px solid var(--sd-border)",borderBottom:0}}function vr(e){return e==="error"?{background:"var(--sd-error-dot)"}:e==="success"?{background:"var(--sd-success-dot)"}:e==="loading"?{background:"var(--sd-loading-dot)"}:{background:"var(--sd-idle-dot)"}}function gt(e){return e==="error"?{borderColor:"var(--sd-error-border)",color:"var(--sd-error-fg)"}:e==="success"?{borderColor:"var(--sd-success-border)",color:"var(--sd-success-fg)"}:e==="loading"?{borderColor:"var(--sd-loading-border)",color:"var(--sd-loading-fg)"}:{borderColor:"var(--sd-border)",color:"var(--sd-fg-muted)"}}const ir="semaphor-devtools-stylesheet",T="semaphor-devtools",yt=`
|
|
2
|
+
.${T} {
|
|
3
3
|
--sd-bg: #ffffff;
|
|
4
4
|
--sd-bg-muted: #fafafa;
|
|
5
5
|
--sd-bg-raised: #ffffff;
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
@media (prefers-color-scheme: dark) {
|
|
51
|
-
.${
|
|
51
|
+
.${T} {
|
|
52
52
|
--sd-bg: #09090b;
|
|
53
53
|
--sd-bg-muted: #18181b;
|
|
54
54
|
--sd-bg-raised: #18181b;
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
.${
|
|
95
|
+
.${T}-source {
|
|
96
96
|
display: -webkit-box;
|
|
97
97
|
-webkit-line-clamp: 2;
|
|
98
98
|
-webkit-box-orient: vertical;
|
|
@@ -100,18 +100,18 @@
|
|
|
100
100
|
word-break: break-all;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
-
.${
|
|
103
|
+
.${T}-field-row {
|
|
104
104
|
transition: background-color 0.1s ease;
|
|
105
105
|
}
|
|
106
|
-
.${
|
|
106
|
+
.${T}-field-row:hover {
|
|
107
107
|
background-color: var(--sd-bg-muted);
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
.${
|
|
110
|
+
.${T}-tab {
|
|
111
111
|
color: var(--sd-fg-muted);
|
|
112
112
|
transition: color 0.1s ease;
|
|
113
113
|
}
|
|
114
|
-
.${
|
|
114
|
+
.${T}-tab:hover {
|
|
115
115
|
color: var(--sd-fg);
|
|
116
116
|
}
|
|
117
|
-
`;function br(){if(typeof document>"u"||document.getElementById(sr))return;const e=document.createElement("style");e.id=sr,e.textContent=pt,document.head.appendChild(e)}const fe='ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',D="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",te={color:"var(--sd-fg-muted)",fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.08em"};const l={launcher:{position:"fixed",bottom:20,zIndex:2147483e3,display:"inline-flex",alignItems:"center",gap:7,height:36,minWidth:36,padding:"0 10px",borderWidth:1,borderStyle:"solid",borderRadius:6,boxShadow:"var(--sd-shadow)",font:`600 12px/1.2 ${fe}`,cursor:"pointer"},launcherText:{fontVariantNumeric:"tabular-nums"},launcherIssueCount:{display:"grid",minWidth:18,height:18,padding:"0 6px",placeItems:"center",borderRadius:999,border:"1px solid currentColor",background:"var(--sd-bg)",color:"currentColor",fontSize:10,lineHeight:"18px",whiteSpace:"nowrap"},logoMark:{display:"grid",width:18,height:18,placeItems:"center",flex:"0 0 auto",borderRadius:4,background:"var(--sd-fg)",color:"var(--sd-bg)"},panel:{position:"fixed",top:16,right:16,bottom:16,zIndex:2147483001,width:"min(720px, calc(100vw - 32px))",display:"flex",flexDirection:"column",overflow:"hidden",border:"1px solid var(--sd-border)",borderRadius:6,background:"var(--sd-bg)",color:"var(--sd-fg)",boxShadow:"var(--sd-shadow)",font:`13px/1.4 ${fe}`},panelFullscreen:{top:0,right:0,bottom:0,left:0,width:"100vw",height:"100vh",borderRadius:0},panelHeader:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 12px",borderBottom:"1px solid var(--sd-border)"},panelTitleBlock:{minWidth:0},panelTitle:{fontSize:13,fontWeight:600},panelSubtitle:{marginTop:2,color:"var(--sd-fg-muted)",fontSize:11},panelActions:{display:"flex",alignItems:"center",gap:6},iconButton:{display:"grid",width:28,height:28,placeItems:"center",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:5,background:"var(--sd-bg)",color:"var(--sd-fg-muted)",cursor:"pointer"},searchBox:{display:"flex",alignItems:"center",gap:8,margin:10,height:28,padding:"0 8px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:5,color:"var(--sd-fg-muted)"},searchInput:{minWidth:0,flex:1,border:0,outline:0,background:"transparent",color:"var(--sd-fg)",font:`12px/1.4 ${fe}`},issueSummary:{margin:"0 10px 10px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-warning-border)",borderRadius:6,background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)",overflow:"hidden"},issueSummaryToggle:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,width:"100%",padding:"7px 9px 5px",border:0,background:"transparent",color:"inherit",cursor:"pointer",...te},issueSummaryHeaderLabel:{display:"inline-flex",alignItems:"center",gap:4,minWidth:0},issueSummaryCount:{fontVariantNumeric:"tabular-nums"},issueSummaryCollapsed:{padding:"0 9px 8px 26px",color:"var(--sd-fg-muted)",fontSize:11},issueSummaryList:{display:"grid",gap:1,padding:"0 6px 6px"},issueSummaryItem:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr)",alignItems:"start",gap:8,width:"100%",padding:"7px 8px",border:0,borderRadius:5,background:"transparent",color:"inherit",textAlign:"left",cursor:"pointer"},issueSummaryBadge:{display:"inline-flex",alignItems:"center",height:17,padding:"0 5px",borderWidth:1,borderStyle:"solid",borderRadius:3,fontSize:9,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.06em"},issueSummaryBadgeError:{borderColor:"var(--sd-error-border)",background:"var(--sd-error-bg)",color:"var(--sd-error-fg)"},issueSummaryBadgeWarning:{borderColor:"var(--sd-warning-border)",background:"var(--sd-bg)",color:"var(--sd-warning-fg)"},issueSummaryText:{display:"grid",gap:2,minWidth:0},issueSummaryTitle:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,fontWeight:650},issueSummaryMessage:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-warning-fg)",fontSize:11},issueSummaryMore:{padding:"3px 8px 5px",color:"var(--sd-fg-muted)",fontSize:11},panelBody:{display:"grid",gridTemplateColumns:"minmax(210px, 280px) minmax(0, 1fr)",minHeight:0,flex:1,borderTop:"1px solid var(--sd-border-soft)"},queryList:{minHeight:0,overflowY:"auto",padding:8,borderRight:"1px solid var(--sd-border)",background:"var(--sd-bg-muted)"},queryGroup:{display:"grid",gap:3,marginBottom:8},queryGroupHeader:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 6px 3px",...te},queryGroupCount:{color:"var(--sd-fg-subtle)",fontVariantNumeric:"tabular-nums"},queryGroupEmpty:{padding:"7px 8px",color:"var(--sd-fg-subtle)",fontSize:11},queryListItem:{display:"grid",gap:3,width:"100%",padding:"7px 8px",borderWidth:1,borderStyle:"solid",borderColor:"transparent",borderRadius:5,background:"transparent",color:"var(--sd-fg)",textAlign:"left",cursor:"pointer"},queryListItemSelected:{borderColor:"var(--sd-border-strong)",background:"var(--sd-bg-raised)"},queryListItemHeader:{display:"flex",alignItems:"center",gap:7,minWidth:0},statusDot:{width:7,height:7,flex:"0 0 auto",borderRadius:999},queryListTitle:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,fontWeight:650,color:"var(--sd-fg)"},queryListKindChip:{flex:"0 0 auto",display:"inline-flex",alignItems:"center",height:15,padding:"0 5px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)",fontFamily:D,fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.06em"},queryListIssueBadge:{flex:"0 0 auto",display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:16,height:16,padding:"0 4px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-warning-border)",borderRadius:999,background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)",fontSize:10,fontWeight:700,fontVariantNumeric:"tabular-nums"},queryListSource:{minWidth:0,paddingLeft:14,color:"var(--sd-fg-muted)",fontSize:11,lineHeight:1.35,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},queryListSubtitleSep:{color:"var(--sd-fg-subtle)"},detailsPane:{minHeight:0,overflowY:"auto",padding:16},detailsHeader:{display:"grid",gap:6,marginBottom:14},detailsHeaderTopRow:{display:"flex",alignItems:"center",gap:8,minWidth:0},detailsHeaderStatusDot:{width:8,height:8,flex:"0 0 auto",borderRadius:999},detailsTitle:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:14,fontWeight:700,color:"var(--sd-fg)"},detailsKindChip:{flex:"0 0 auto",padding:"2px 6px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)",fontFamily:D,fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.06em"},metaStrip:{display:"flex",flexWrap:"wrap",alignItems:"center",columnGap:6,rowGap:2,paddingLeft:16,color:"var(--sd-fg-muted)",fontSize:11},metaStripItem:{color:"var(--sd-fg-muted)",fontVariantNumeric:"tabular-nums"},metaStripDot:{color:"var(--sd-fg-subtle)"},sourcePillRow:{display:"flex",flexWrap:"wrap",gap:6},sourcePill:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 7px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:5,background:"var(--sd-bg)",color:"var(--sd-fg)"},sourcePillLabel:{fontFamily:D,fontSize:11,color:"var(--sd-fg)"},sourcePillRole:{display:"inline-flex",alignItems:"center",height:14,padding:"0 4px",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg-subtle)",fontFamily:D,fontSize:9,textTransform:"uppercase",letterSpacing:"0.06em"},fieldChipList:{display:"grid",gap:0,paddingTop:2},fieldChip:{display:"flex",alignItems:"center",gap:8,minWidth:0,padding:"5px 6px",margin:"0 -6px",borderRadius:4},fieldGlyph:{display:"inline-flex",flex:"0 0 auto",alignItems:"center",justifyContent:"center",width:18,height:18,borderWidth:1,borderStyle:"solid",borderRadius:4,fontFamily:D,fontSize:11,fontWeight:700,lineHeight:1},fieldAggBadge:{display:"inline-flex",alignItems:"center",height:16,padding:"0 5px",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg)",fontFamily:D,fontSize:10,fontWeight:600,letterSpacing:"0.04em"},fieldChipName:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,fontWeight:500},fieldChipMeta:{flex:"0 0 auto",fontFamily:D,fontSize:10,color:"var(--sd-fg-subtle)"},fieldChipMetaDot:{color:"var(--sd-fg-subtle)",fontSize:10},sqlKeyword:{color:"var(--sd-sql-keyword)",fontWeight:600},sqlBindParam:{color:"var(--sd-sql-bind)"},section:{marginTop:16},sectionTitle:{marginBottom:8,...te},disclosure:{marginTop:16},disclosureSummary:{cursor:"pointer",...te},disclosureBody:{marginTop:8},traceTabs:{marginTop:16},traceTabBar:{display:"flex",gap:2,borderBottom:"1px solid var(--sd-border)",overflowX:"auto",scrollbarWidth:"none"},traceTab:{flex:"0 0 auto",appearance:"none",border:"none",background:"transparent",cursor:"pointer",padding:"6px 9px",marginBottom:-1,fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.07em",borderBottom:"2px solid transparent",whiteSpace:"nowrap"},traceTabActive:{color:"var(--sd-fg)",borderBottom:"2px solid var(--sd-fg)"},traceTabPanel:{paddingTop:12},alertCard:{marginTop:12,padding:"8px 10px",borderWidth:1,borderStyle:"solid",borderRadius:5,fontSize:12,lineHeight:1.45},alertCardError:{borderColor:"var(--sd-error-border)",background:"var(--sd-error-bg)",color:"var(--sd-error-fg)"},alertCardWarning:{borderColor:"var(--sd-warning-border)",background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)"},alertCardTitle:{fontWeight:600,textTransform:"uppercase",letterSpacing:"0.08em",fontSize:10,marginBottom:4},alertCardList:{margin:0,paddingLeft:16,display:"grid",gap:3},recipe:{display:"grid",gap:16},traceLineage:{display:"grid",gap:12},recipeGroup:{display:"grid",gap:4},recipeGroupHeader:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8,paddingBottom:2},recipeGroupTitle:{color:"var(--sd-fg-muted)",fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.08em"},recipeGroupCount:{color:"var(--sd-fg-subtle)",fontSize:10,fontVariantNumeric:"tabular-nums"},recipeFieldList:{display:"grid"},recipeEmptyText:{padding:"5px 0",color:"var(--sd-fg-subtle)",fontSize:11},recipeFieldRow:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, auto)",alignItems:"center",gap:10,minHeight:26,padding:"4px 0",borderBottom:"1px solid var(--sd-border-soft)"},recipeFieldName:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,fontWeight:500},recipeFieldMeta:{minWidth:0,display:"inline-flex",alignItems:"baseline",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg-subtle)",fontSize:11,textAlign:"right"},inputsAppliedBlock:{marginTop:16,padding:"10px 12px",border:"1px solid var(--sd-border)",borderLeft:"2px solid var(--sd-fg-muted)",borderRadius:5,background:"var(--sd-bg-muted)"},inputsAppliedHeader:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8,marginBottom:6},inputsAppliedTitle:{color:"var(--sd-fg)",fontSize:10,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.08em"},inputsAppliedCount:{color:"var(--sd-fg-subtle)",fontSize:10,fontVariantNumeric:"tabular-nums"},inputRecipeList:{display:"grid"},inputRecipeRow:{display:"grid",gap:2,minWidth:0,padding:"6px 0",borderBottom:"1px solid var(--sd-border-soft)"},inputRecipeHeader:{display:"flex",alignItems:"center",gap:8,minWidth:0},inputRecipeLabel:{flex:"1 1 auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,fontWeight:600},inputRecipeId:{flex:"0 0 auto",maxWidth:"32%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg-subtle)",fontFamily:D,fontSize:10,fontWeight:600},inputOperatorBadge:{display:"inline-flex",flex:"0 0 auto",alignItems:"center",height:16,padding:"0 5px",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)",fontFamily:D,fontSize:10,textTransform:"uppercase",letterSpacing:"0.06em"},inputValuePreview:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,textAlign:"right"},inputRecipeBinding:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg-muted)",fontSize:11},eventList:{display:"grid"},eventRow:{display:"grid",gridTemplateColumns:"96px minmax(0, 1fr)",gap:10,padding:"6px 0",borderBottom:"1px solid var(--sd-border-soft)"},eventType:{color:"var(--sd-fg)",fontWeight:600,fontSize:12},eventMeta:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg-muted)",fontSize:11},mutedText:{color:"var(--sd-fg-muted)",fontSize:12},compiledQuery:{display:"grid",gap:10},resultPreview:{display:"grid",gap:8},resultPreviewHeader:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:10},resultPreviewTitle:{color:"var(--sd-fg)",fontSize:12,fontWeight:650},resultPreviewSummary:{flex:"0 0 auto",color:"var(--sd-fg-subtle)",fontSize:11,fontVariantNumeric:"tabular-nums"},resultPreviewScroller:{maxHeight:260,overflow:"auto",border:"1px solid var(--sd-border)",borderRadius:5,background:"var(--sd-bg-muted)"},resultPreviewTable:{width:"100%",borderCollapse:"collapse",tableLayout:"fixed",fontSize:11},resultPreviewTh:{position:"sticky",top:0,zIndex:1,padding:"6px 8px",borderBottom:"1px solid var(--sd-border)",background:"var(--sd-bg-raised)",color:"var(--sd-fg-muted)",fontSize:10,fontWeight:700,letterSpacing:"0.06em",textAlign:"left",textTransform:"uppercase"},resultPreviewTd:{minWidth:0,padding:"6px 8px",borderBottom:"1px solid var(--sd-border-soft)",color:"var(--sd-fg)",fontFamily:D,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",verticalAlign:"top"},resultPreviewEmptyCell:{padding:"9px 10px",color:"var(--sd-fg-subtle)",fontSize:12,textAlign:"center"},resultPreviewFootnote:{color:"var(--sd-fg-subtle)",fontSize:11},codeBlockGroup:{display:"grid",gap:5},codeBlockLabel:{...te},codeBlock:{maxHeight:260,margin:0,overflow:"auto",padding:"8px 10px",border:"1px solid var(--sd-border)",borderRadius:5,background:"var(--sd-bg-muted)",color:"var(--sd-fg)",fontFamily:D,fontSize:11,lineHeight:1.5,whiteSpace:"pre-wrap"},emptyState:{padding:10,color:"var(--sd-fg-muted)",textAlign:"center",fontSize:12},inspectButton:{display:"inline-flex",alignItems:"center",gap:5,height:24,maxWidth:"100%",padding:"0 7px",borderWidth:1,borderStyle:"solid",borderRadius:5,background:"var(--sd-bg)",font:`600 11px/1 ${fe}`,cursor:"pointer"},inspectButtonText:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},Ie=10,qe=100,gt=25,mt=500,vr={enabled:!1,queries:[],issues:[],getQuery:()=>{},getQueries:()=>[]},_e=u.createContext(null),Fe=u.createContext(null),ze=u.createContext(void 0),z=[];function yt({debug:e,children:r}){const t=u.useMemo(()=>vn(e),[e]),[n,s]=u.useReducer(fn,t,Cr),o=u.useRef(n),a=u.useId(),[f,c]=u.useState({open:!1});o.current=n,u.useEffect(()=>{s({type:"config",config:t})},[t]),u.useEffect(()=>{if(!n.enabled||!n.exposeWindowBridge||typeof window>"u")return;const b=bn(()=>o.current);return ht({ownerId:a,bridge:b}),()=>{bt(a)}},[a,n.enabled,n.exposeWindowBridge]);const p=u.useMemo(()=>({state:n,dispatch:s}),[n]),g=u.useCallback(b=>{c({open:!0,focus:b})},[]),m=u.useCallback(()=>{c(b=>({...b,open:!1}))},[]),v=u.useCallback(b=>{c({open:!0,focus:b})},[]),y=u.useMemo(()=>({open:f.open,focus:f.focus,openDevtools:g,closeDevtools:m,focusTrace:v}),[m,v,g,f.focus,f.open]);return i.jsx(_e.Provider,{value:p,children:i.jsx(Fe.Provider,{value:y,children:r})})}function ht(e){const r=z.findIndex(t=>t.ownerId===e.ownerId);r>=0&&z.splice(r,1),z.push(e),xr()}function bt(e){const r=z.findIndex(t=>t.ownerId===e);r>=0&&z.splice(r,1),xr()}function xr(){if(typeof window>"u")return;const e=z[z.length-1];e?window.__SEMAPHOR_DEVTOOLS__=e.bridge:delete window.__SEMAPHOR_DEVTOOLS__}function vt({id:e,title:r,children:t}){const n=u.useMemo(()=>({id:e,title:r}),[e,r]);return i.jsx(ze.Provider,{value:n,children:t})}function Sr({buttonPosition:e="bottom-right",initialIsOpen:r=!1,panelPosition:t="right",className:n,style:s}={}){const o=Pe(),a=u.useContext(Fe),[f,c]=u.useState(""),[p,g]=u.useState(!1),m=u.useRef(null),v=u.useRef(null),y=a==null?void 0:a.openDevtools,b=a==null?void 0:a.closeDevtools,A=(a==null?void 0:a.open)===!0;u.useEffect(()=>{br()},[]),u.useEffect(()=>{r&&o.enabled&&(y==null||y())},[r,o.enabled,y]),u.useEffect(()=>{if(!A||!b)return;const x=S=>{var I,L;const T=S.target;T instanceof Node&&((I=m.current)!=null&&I.contains(T)||(L=v.current)!=null&&L.contains(T)||b())};return document.addEventListener("pointerdown",x,!0),document.addEventListener("mousedown",x,!0),document.addEventListener("click",x,!0),()=>{document.removeEventListener("pointerdown",x,!0),document.removeEventListener("mousedown",x,!0),document.removeEventListener("click",x,!0)}},[b,A]);const d=u.useMemo(()=>rt(o.queries),[o.queries]),h=u.useMemo(()=>Ne(o.queries),[o.queries]),O=_t(d),C=u.useMemo(()=>Ft(o.queries,f),[o.queries,f]),B=u.useMemo(()=>zt(C),[C]),R=u.useMemo(()=>wr(C,a==null?void 0:a.focus)||C[0],[C,a==null?void 0:a.focus]);return!o.enabled||!a?null:i.jsxs(i.Fragment,{children:[i.jsxs("button",{ref:m,type:"button","aria-label":"Open Semaphor Inspector",title:O,className:n?`${E} ${n}`:E,style:{...l.launcher,...at(e),...lt(d.severity),...s},onClick:()=>{var S;const x=(S=h[0])==null?void 0:S.trace;a.openDevtools(x?{traceId:x.traceId,queryId:x.queryId,viewId:x.viewId}:void 0)},children:[i.jsx(wt,{}),i.jsx("span",{style:l.launcherText,children:d.total}),d.issueCount>0?i.jsxs("span",{style:l.launcherIssueCount,children:[d.issueCount," issue",d.issueCount===1?"":"s"]}):null]}),a.open?i.jsxs("div",{ref:v,role:"dialog","aria-label":"Semaphor Inspector","aria-modal":"false",className:E,style:{...l.panel,...dt(t),...p?l.panelFullscreen:null},children:[i.jsxs("div",{style:l.panelHeader,children:[i.jsxs("div",{style:l.panelTitleBlock,children:[i.jsx("div",{style:l.panelTitle,children:"Semaphor Inspector"}),i.jsxs("div",{style:l.panelSubtitle,children:[d.total," queries · ",d.loading," loading ·"," ",d.failed," failed · ",d.errorCount," errors ·"," ",d.warningCount," warnings"]})]}),i.jsxs("div",{style:l.panelActions,children:[i.jsx("button",{type:"button","aria-label":p?"Exit fullscreen Semaphor Inspector":"Enter fullscreen Semaphor Inspector",title:p?"Exit fullscreen Semaphor Inspector":"Enter fullscreen Semaphor Inspector",style:l.iconButton,onClick:()=>g(x=>!x),children:p?i.jsx(oe.Minimize2,{size:15}):i.jsx(oe.Maximize2,{size:15})}),i.jsx("button",{type:"button","aria-label":"Close Semaphor Inspector",style:l.iconButton,onClick:a.closeDevtools,children:i.jsx(Ke.X,{size:15})})]})]}),i.jsxs("label",{style:l.searchBox,children:[i.jsx(oe.Search,{size:14}),i.jsx("input",{"aria-label":"Search Semaphor traces",value:f,onChange:x=>c(x.currentTarget.value),placeholder:"Search traces",style:l.searchInput})]}),h.length?i.jsx(At,{issues:h,onSelect:x=>a.focusTrace({traceId:x.traceId,queryId:x.queryId,viewId:x.viewId})}):null,i.jsxs("div",{style:{...l.panelBody,...ut(t)},children:[i.jsx("div",{style:{...l.queryList,...ct()},"aria-label":"Registered queries",children:C.length?B.map(x=>i.jsxs("div",{style:l.queryGroup,children:[i.jsxs("div",{style:l.queryGroupHeader,children:[i.jsx("span",{children:x.title}),i.jsx("span",{style:l.queryGroupCount,children:x.traces.length})]}),x.traces.length?x.traces.map(S=>{var Y;const T=Ht(S,R),I=be(S),L=jr(S),de=Ar(S),G=Qt(S,I,de),J=G.join(" · "),k=Ir(L),N=et(h,S);return i.jsxs("button",{type:"button",title:`${I} · ${L} · ${J}`,style:{...l.queryListItem,...T?l.queryListItemSelected:null},onClick:()=>a.focusTrace({traceId:S.traceId,queryId:S.queryId,viewId:S.viewId}),children:[i.jsxs("span",{style:l.queryListItemHeader,children:[i.jsx(Ct,{status:(Y=S.latestAttempt)==null?void 0:Y.status}),i.jsx("span",{style:l.queryListTitle,title:I,children:I}),i.jsx("span",{style:{...l.queryListKindChip,...qr(k)},children:L}),N>0?i.jsx("span",{style:l.queryListIssueBadge,children:N}):null]}),i.jsx("span",{className:`${E}-source`,style:l.queryListSource,title:J,children:G.map((X,Z)=>i.jsxs(u.Fragment,{children:[Z>0?i.jsx("span",{style:l.queryListSubtitleSep,children:" · "}):null,i.jsx("span",{children:X})]},`${X}:${Z}`))})]},Oe(S))}):i.jsx("div",{style:l.queryGroupEmpty,children:"No input traces"})]},x.title)):i.jsx("div",{style:l.emptyState,children:"No matching traces"})}),i.jsx(It,{trace:R})]})]}):null]})}function xt({queryId:e,viewId:r,label:t,className:n,style:s}={}){var m,v;const o=Pe(),a=u.useContext(Fe),f=u.useContext(ze);u.useEffect(()=>{br()},[]);const c=r||(f==null?void 0:f.id),p=u.useMemo(()=>Pt(o.queries,{queryId:e,viewId:c}),[o.queries,e,c]);if(!o.enabled||!a||!p)return null;const g=t||`Inspect ${Ut(p,!!e)}`;return i.jsxs("button",{type:"button","aria-label":g,title:g,className:n?`${E} ${n}`:E,style:{...l.inspectButton,...ft((m=p.latestAttempt)==null?void 0:m.status),...s},onClick:()=>a.openDevtools({traceId:p.traceId,queryId:p.queryId,viewId:p.viewId}),children:[i.jsx(oe.Eye,{size:13}),i.jsx("span",{style:l.inspectButtonText,children:((v=p.latestAttempt)==null?void 0:v.status)||"idle"})]})}function Pe(){const e=u.useContext(_e);return!e||!e.state.enabled?vr:ie(e.state)}function St({spec:e,queryKind:r,queryKey:t,intent:n,activeInputs:s,debug:o}){const a=u.useContext(_e),f=u.useContext(ze),c=!!(a!=null&&a.state.enabled),p=a==null?void 0:a.dispatch,g=Sn(e),m=Yr(e),v=u.useMemo(()=>JSON.stringify(e),[e]),y=u.useMemo(()=>JSON.stringify(s||[]),[s]),b=u.useMemo(()=>JSON.stringify(n||null),[n]),A=u.useRef(e),d=u.useRef(v),h=u.useRef(n),O=u.useRef(b),C=u.useRef(s),B=u.useRef(y),R=xn(o),x=JSON.stringify(R||[]),S=u.useRef(R),T=u.useRef(x);d.current!==v&&(d.current=v,A.current=e),O.current!==b&&(O.current=b,h.current=n),B.current!==y&&(B.current=y,C.current=s),T.current!==x&&(T.current=x,S.current=R);const I=A.current,L=h.current,de=C.current,G=S.current,J=u.useId(),k=u.useMemo(()=>g||`query_${Tr(t)}`,[t,g]),N=(o==null?void 0:o.viewId)||(f==null?void 0:f.id),Y=(o==null?void 0:o.viewTitle)||(o==null?void 0:o.title)||(f==null?void 0:f.title),X=o==null?void 0:o.visualType,Z=o==null?void 0:o.sectionTitle,_=u.useMemo(()=>[N||"unscoped-view",k,J].join("::"),[k,J,N]),Ge=u.useMemo(()=>({traceKey:_,spec:I,queryId:k,queryLabel:m,queryKind:r,builder:wn(r),viewId:N,viewTitle:Y,visualType:X,sectionTitle:Z,sourceHints:G,intent:L,activeInputs:de,clientWarnings:g?[]:["Query spec is missing an explicit id; using an opaque internal id."]}),[k,r,g,m,I,de,L,G,Z,_,N,Y,X]);u.useEffect(()=>{if(!(!c||!p))return p({type:"register",descriptor:Ge}),()=>{p({type:"unregister",traceKey:_})}},[Ge,p,c,_]);const K=u.useCallback((q,P)=>{!c||!p||p({type:"event",traceKey:_,event:q,latestAttempt:P})},[p,c,_]),Je=u.useCallback(()=>{K({type:"query_started",queryId:k,at:ge()},{status:"loading"})},[K,k]),Ye=u.useCallback((q,P)=>{const ee=fr(q),re=Tn(q),Fr=Rn(q),er=cr(q);K({type:"query_succeeded",queryId:k,requestId:ee,at:ge(),rowCount:re,durationMs:P},{requestId:ee,status:"success",durationMs:P,rowCount:re,columnCount:Fr,metricCoverage:Ln(q),resultPreview:We(er,On(q)),executionResult:er})},[K,k]),ue=u.useCallback((q,P)=>{const ee=fr(q),re=q instanceof Error?q.message:String(q);K({type:"query_failed",queryId:k,requestId:ee,at:ge(),errorMessage:re},{requestId:ee,status:"error",durationMs:P,errorMessage:re,executionResult:cr(q)})},[K,k]),Xe=u.useCallback(q=>{K({type:"query_ignored_stale",queryId:k,at:ge(),reason:q})},[K,k]),Ze=u.useCallback(q=>{ue(q,0)},[ue]),Se=c?a==null?void 0:a.state.entries[_]:void 0;return u.useMemo(()=>({enabled:c,queryId:k,trace:Se?me(Se):void 0,start:Je,success:Ye,failure:ue,ignored:Xe,validationFailure:Ze}),[c,ue,Xe,k,Je,Ye,Se,Ze])}function wt(){return i.jsx("span",{style:l.logoMark,"aria-hidden":!0,children:i.jsxs("svg",{viewBox:"0 0 100 100",fill:"none",width:"16",height:"16",focusable:"false",children:[i.jsx("rect",{x:"20",y:"15",width:"60",height:"12",rx:"6",fill:"currentColor"}),i.jsx("rect",{x:"20",y:"35",width:"40",height:"12",rx:"6",fill:"currentColor"}),i.jsx("rect",{x:"40",y:"55",width:"40",height:"12",rx:"6",fill:"currentColor"}),i.jsx("rect",{x:"20",y:"75",width:"60",height:"12",rx:"6",fill:"currentColor"})]})})}function It({trace:e}){var R,x,S,T,I;if(!e)return i.jsx("div",{style:l.detailsPane,children:i.jsx("div",{style:l.emptyState,children:"No traces registered yet"})});const r=e.latestAttempt,t=r==null?void 0:r.executionResult,n=Ae((R=t==null?void 0:t.validation)==null?void 0:R.warnings),s=Ae((x=t==null?void 0:t.validation)==null?void 0:x.errors),o=ln((S=t==null?void 0:t.coverage)==null?void 0:S.missingObligations),a=Ae((T=t==null?void 0:t.coverage)==null?void 0:T.warnings),f=t==null?void 0:t.compiledQuery,c=cn(t),p=((I=e.server)==null?void 0:I.compiledSql)||c.compiledSql,g=(r==null?void 0:r.resultPreview)||We(t),m=[...r!=null&&r.errorMessage?[r.errorMessage]:[],...s],v=[...e.clientWarnings,...n,...o,...a],y=e.inputsApplied.length>0,b=!!(f||p),A=Yt(e),d=rn(r==null?void 0:r.rowCount),h=tn(r==null?void 0:r.durationMs),O=e.sourceRefs.length,C=jr(e),B=Ir(C);return i.jsxs("div",{style:l.detailsPane,children:[i.jsxs("div",{style:l.detailsHeader,children:[i.jsxs("div",{style:l.detailsHeaderTopRow,children:[i.jsx("span",{"aria-hidden":!0,style:{...l.detailsHeaderStatusDot,...hr(r==null?void 0:r.status)}}),i.jsx("span",{style:l.detailsTitle,children:be(e)}),i.jsx("span",{style:{...l.detailsKindChip,...qr(B)},children:C})]}),i.jsxs("div",{style:l.metaStrip,children:[i.jsx("span",{style:l.metaStripItem,children:A}),i.jsx("span",{style:l.metaStripDot,children:"·"}),i.jsxs("span",{style:l.metaStripItem,children:[d," rows"]}),i.jsx("span",{style:l.metaStripDot,children:"·"}),i.jsx("span",{style:l.metaStripItem,children:h}),O>0?i.jsxs(i.Fragment,{children:[i.jsx("span",{style:l.metaStripDot,children:"·"}),i.jsx("span",{style:l.metaStripItem,children:O===1?"1 source":`${O} sources`})]}):null]})]}),m.length?i.jsx(ir,{tone:"error",title:"Error",items:m}):null,v.length?i.jsx(ir,{tone:"warning",title:"Warnings",items:v}):null,i.jsx(kt,{trace:e}),y?i.jsx(Bt,{inputs:e.inputsApplied}):null,i.jsx(qt,{trace:e,resultPreview:g,compiledQuery:f,compiledSql:p,hasCompiled:b})]})}function qt({trace:e,resultPreview:r,compiledQuery:t,compiledSql:n,hasCompiled:s}){var b,A;const o=[];r&&o.push({id:"returned",label:"Returned",render:()=>i.jsx(Mt,{preview:r})}),s&&o.push({id:"compiled",label:"Compiled",render:()=>i.jsx(Kt,{compiledQuery:t,compiledSql:n})}),(e.sourceRefs.length||e.fieldRefs.length)&&o.push({id:"lineage",label:"Sources",render:()=>i.jsx(Rt,{trace:e})}),(b=e.sourceHints)!=null&&b.length&&o.push({id:"hints",label:"Hints",render:()=>i.jsx(Lt,{hints:e.sourceHints??[]})}),o.push({id:"lifecycle",label:"Lifecycle",render:()=>i.jsx(jt,{trace:e})}),o.push({id:"raw",label:"Raw",render:()=>i.jsx("pre",{style:l.codeBlock,children:nn(e)})});const a=(A=o[0])==null?void 0:A.id,f=e.traceId||`${e.viewId??""}:${e.queryId}`,[c,p]=u.useState(a),g=u.useRef(f),m=u.useRef(!1),v=o.map(d=>d.id).join("|");u.useEffect(()=>{if(g.current!==f){g.current=f,m.current=!1,p(a);return}if(!(c?v.split("|").includes(c):!1)){m.current=!1,p(a);return}!m.current&&c!==a&&p(a)},[c,a,v,f]);const y=o.find(d=>d.id===c)??o[0];return i.jsxs("div",{style:l.traceTabs,children:[i.jsx("div",{style:l.traceTabBar,role:"tablist","aria-label":"Trace details",children:o.map(d=>{const h=d.id===y.id;return i.jsx("button",{type:"button",role:"tab","aria-selected":h,className:`${E}-tab`,style:{...l.traceTab,...h?l.traceTabActive:null},onClick:()=>{m.current=!0,p(d.id)},children:d.label},d.id)})}),i.jsx("div",{style:l.traceTabPanel,role:"tabpanel",children:y.render()})]})}function jt({trace:e}){return e.recentEvents.length?i.jsx("div",{style:l.eventList,children:e.recentEvents.slice(-5).map((r,t)=>i.jsxs("div",{style:l.eventRow,children:[i.jsx("span",{style:l.eventType,children:sn(r)}),i.jsx("span",{style:l.eventMeta,children:on(r)})]},`${r.type}:${r.at}:${t}`))}):i.jsx("div",{style:l.mutedText,children:"No attempts recorded"})}function ir({tone:e,title:r,items:t}){const n=e==="error"?l.alertCardError:l.alertCardWarning;return i.jsxs("div",{style:{...l.alertCard,...n},children:[i.jsx("div",{style:l.alertCardTitle,children:r}),t.length>1?i.jsx("ul",{style:l.alertCardList,children:t.map((s,o)=>i.jsx("li",{children:s},`${e}-${o}`))}):i.jsx("div",{children:t[0]})]})}function At({issues:e,onSelect:r}){const[t,n]=u.useState(!1),s=e.slice(0,6),o=e.length-s.length,a=e.filter(p=>p.tone==="error").length,f=e.length-a,c=[a?`${a} error${a===1?"":"s"}`:"",f?`${f} warning${f===1?"":"s"}`:""].filter(Boolean);return i.jsxs("section",{style:l.issueSummary,"aria-label":"Semaphor trace issues",children:[i.jsxs("button",{type:"button","aria-expanded":t,style:l.issueSummaryToggle,onClick:()=>n(p=>!p),children:[i.jsxs("span",{style:l.issueSummaryHeaderLabel,children:[t?i.jsx(Ke.ChevronDown,{size:13}):i.jsx(oe.ChevronRight,{size:13}),i.jsx("span",{children:"Issues"})]}),i.jsx("span",{style:l.issueSummaryCount,children:e.length})]}),t?i.jsxs("div",{style:l.issueSummaryList,children:[s.map((p,g)=>i.jsxs("button",{type:"button",title:`${p.title}: ${p.message}`,style:l.issueSummaryItem,onClick:()=>r(p.trace),children:[i.jsx("span",{style:{...l.issueSummaryBadge,...p.tone==="error"?l.issueSummaryBadgeError:l.issueSummaryBadgeWarning},children:p.tone==="error"?"Error":"Warning"}),i.jsxs("span",{style:l.issueSummaryText,children:[i.jsx("span",{style:l.issueSummaryTitle,children:p.title}),i.jsx("span",{style:l.issueSummaryMessage,children:p.message})]})]},`${p.trace.traceId}:${p.title}:${g}`)),o>0?i.jsxs("div",{style:l.issueSummaryMore,children:[o," more issue",o===1?"":"s"," in traces"]}):null]}):i.jsxs("div",{style:l.issueSummaryCollapsed,children:[c.join(" · ")," across traces"]})]})}function Ct({status:e}){return i.jsx("span",{"aria-hidden":!0,style:{...l.statusDot,...hr(e)}})}function kt({trace:e}){var s;const r=(s=e.projectionFieldRefs)!=null&&s.length?e.projectionFieldRefs:e.fieldRefs,t=e.inputFieldRefs||[],n=Jt(r);return i.jsxs("div",{style:l.recipe,children:[i.jsx(Et,{sources:e.sourceRefs}),i.jsx(F,{title:"Measures",fields:n.measures}),i.jsx(F,{title:"Time fields",fields:n.timeFields}),i.jsx(F,{title:"Dimensions",fields:n.dimensions,emptyText:"No dimensions selected"}),i.jsx(F,{title:"Identifiers",fields:n.identifiers}),i.jsx(F,{title:"Other fields",fields:n.other}),i.jsx(F,{title:"Input bindings (Filters)",fields:t})]})}function Et({sources:e}){return e.length?i.jsxs("div",{style:l.recipeGroup,children:[i.jsxs("div",{style:l.recipeGroupHeader,children:[i.jsx("span",{style:l.recipeGroupTitle,children:"From"}),i.jsx("span",{style:l.recipeGroupCount,children:e.length})]}),i.jsx("div",{style:l.sourcePillRow,children:e.map((r,t)=>i.jsx(Tt,{source:r},`${W(r)}:${t}`))})]}):null}function Tt({source:e}){const r=W(e);return i.jsxs("span",{style:l.sourcePill,title:r,children:[i.jsx("span",{style:l.sourcePillLabel,children:r}),i.jsx("span",{style:l.sourcePillRole,children:e.kind})]})}function Rt({trace:e}){return i.jsxs("div",{style:l.traceLineage,children:[i.jsx(Ot,{sources:e.sourceRefs}),i.jsx(F,{title:"All field refs",fields:e.fieldRefs,emptyText:"No field refs captured"})]})}function Lt({hints:e}){return i.jsx("div",{style:l.recipeFieldList,children:e.map((r,t)=>{const n=en(r),s=r.component||r.exportName||n||"Source hint",o=[r.exportName&&r.exportName!==s?r.exportName:void 0,n,r.note].filter(Boolean).join(" · ");return i.jsxs("div",{style:l.recipeFieldRow,title:o||s,children:[i.jsx("span",{style:l.recipeFieldName,children:s}),o?i.jsx("span",{style:l.recipeFieldMeta,children:o}):null]},`${s}:${n}:${t}`)})})}function Ot({sources:e}){return i.jsxs("div",{style:l.recipeGroup,children:[i.jsxs("div",{style:l.recipeGroupHeader,children:[i.jsx("span",{style:l.recipeGroupTitle,children:"Sources"}),i.jsx("span",{style:l.recipeGroupCount,children:e.length})]}),e.length?i.jsx("div",{style:l.recipeFieldList,children:e.map((r,t)=>i.jsxs("div",{style:l.recipeFieldRow,title:W(r),children:[i.jsx("span",{style:l.recipeFieldName,children:W(r)}),i.jsx("span",{style:l.recipeFieldMeta,children:r.kind})]},`${W(r)}:${t}`))}):i.jsx("div",{style:l.recipeEmptyText,children:"No sources captured"})]})}function F({title:e,fields:r,emptyText:t}){return!r.length&&!t?null:i.jsxs("div",{style:l.recipeGroup,children:[i.jsxs("div",{style:l.recipeGroupHeader,children:[i.jsx("span",{style:l.recipeGroupTitle,children:e}),i.jsx("span",{style:l.recipeGroupCount,children:r.length})]}),r.length?i.jsx("div",{style:l.fieldChipList,children:r.map((n,s)=>i.jsx(Dt,{field:n,groupTitle:e},`${He(n)}:${s}`))}):i.jsx("div",{style:l.recipeEmptyText,children:t})]})}function Dt({field:e,groupTitle:r}){const t=Xt(e),n=e.label||e.name,s=e.dataType&&e.dataType!=="unknown"?e.dataType:void 0,o=e.source?W(e.source):void 0,a=[t,s,o].filter(Boolean).join(" · "),f=$t(e,r);return i.jsxs("div",{className:`${E}-field-row`,style:l.fieldChip,title:a,children:[i.jsx("span",{style:{...l.fieldGlyph,...f.style},children:f.text}),e.aggregate?i.jsx("span",{style:l.fieldAggBadge,children:e.aggregate}):null,i.jsx("span",{style:l.fieldChipName,children:n}),s?i.jsx("span",{style:l.fieldChipMeta,children:s}):null,s&&o?i.jsx("span",{style:l.fieldChipMetaDot,children:"·"}):null,o?i.jsx("span",{style:l.fieldChipMeta,children:o}):null]})}function $t(e,r){const t=e.dataType,n=e.role;return!!e.aggregate||n==="measure"||r==="Measures"?{text:"Σ",style:{borderColor:"var(--sd-tone-metric-border)",background:"var(--sd-tone-metric-bg)",color:"var(--sd-tone-metric-fg)"}}:t==="date"||t==="datetime"||n==="date"||r==="Time fields"?{text:"◷",style:{borderColor:"var(--sd-tone-date-border)",background:"var(--sd-tone-date-bg)",color:"var(--sd-tone-date-fg)"}}:t==="number"?{text:"#",style:{borderColor:"var(--sd-tone-records-border)",background:"var(--sd-tone-records-bg)",color:"var(--sd-tone-records-fg)"}}:t==="boolean"?{text:"◐",style:{borderColor:"var(--sd-border)",background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)"}}:{text:"A",style:{borderColor:"var(--sd-tone-string-border)",background:"var(--sd-tone-string-bg)",color:"var(--sd-tone-string-fg)"}}}function Bt({inputs:e}){return i.jsxs("div",{style:l.inputsAppliedBlock,children:[i.jsxs("div",{style:l.inputsAppliedHeader,children:[i.jsx("span",{style:l.inputsAppliedTitle,children:"Active Inputs (Active Filters)"}),i.jsx("span",{style:l.inputsAppliedCount,children:e.length})]}),i.jsx("div",{style:l.inputRecipeList,children:e.map(r=>{const t=Zt(r);return i.jsxs("div",{style:l.inputRecipeRow,title:t.title,children:[i.jsxs("div",{style:l.inputRecipeHeader,children:[i.jsx("span",{style:l.inputRecipeLabel,title:t.title,children:t.label}),t.showId?i.jsx("span",{style:l.inputRecipeId,title:r.inputId,children:r.inputId}):null,t.operator?i.jsx("span",{style:l.inputOperatorBadge,children:t.operator}):null,i.jsx("span",{style:l.inputValuePreview,title:t.value,children:t.value})]}),t.binding?i.jsx("div",{style:l.inputRecipeBinding,title:t.binding,children:t.binding}):null]},r.inputId)})})]})}function Mt({preview:e}){return i.jsxs("div",{style:l.resultPreview,children:[i.jsxs("div",{style:l.resultPreviewHeader,children:[i.jsx("span",{style:l.resultPreviewTitle,children:e.title}),i.jsx("span",{style:l.resultPreviewSummary,children:e.summary})]}),i.jsx("div",{style:l.resultPreviewScroller,children:i.jsxs("table",{style:l.resultPreviewTable,children:[i.jsx("thead",{children:i.jsx("tr",{children:e.columns.map(r=>i.jsx("th",{style:l.resultPreviewTh,children:r.label},r.key))})}),i.jsx("tbody",{children:e.rows.length?e.rows.map((r,t)=>i.jsx("tr",{children:e.columns.map(n=>i.jsx("td",{style:l.resultPreviewTd,children:Gr(r[n.key])},n.key))},t)):i.jsx("tr",{children:i.jsx("td",{colSpan:e.columns.length,style:l.resultPreviewEmptyCell,children:"No rows returned"})})})]})}),e.truncatedRows||e.truncatedColumns?i.jsxs("div",{style:l.resultPreviewFootnote,children:["Showing first ",ae," rows and first"," ",Le," columns."]}):null]})}function Kt({compiledQuery:e,compiledSql:r}){return(e==null?void 0:e.kind)==="sql"?i.jsxs("div",{style:l.compiledQuery,children:[i.jsx(or,{label:"SQL",value:e.sql}),e.pythonCode?i.jsx(je,{label:"Python",value:e.pythonCode}):null,e.parameters?i.jsx(je,{label:"Parameters",value:De(e.parameters)}):null]}):r?i.jsx(or,{label:"SQL",value:r}):i.jsx(je,{label:"Compiled Query",value:De(e)})}function je({label:e,value:r}){return i.jsxs("div",{style:l.codeBlockGroup,children:[i.jsx("div",{style:l.codeBlockLabel,children:e}),i.jsx("pre",{style:l.codeBlock,children:r})]})}function or({label:e,value:r}){return i.jsxs("div",{style:l.codeBlockGroup,children:[i.jsx("div",{style:l.codeBlockLabel,children:e}),i.jsx("pre",{style:l.codeBlock,children:Nt(r)})]})}const Wt=new Set(["SELECT","FROM","JOIN","LEFT","RIGHT","INNER","OUTER","CROSS","ON","USING","WHERE","AND","OR","GROUP","BY","HAVING","ORDER","ASC","DESC","LIMIT","OFFSET","AS","BETWEEN","IN","NOT","NULL","IS","CASE","WHEN","THEN","ELSE","END","DISTINCT","UNION","ALL","WITH"]);function Nt(e){return e.split(/(\s+|,|\(|\))/).map((t,n)=>{if(!t)return null;const s=t.toUpperCase();return Wt.has(s)?i.jsx("span",{style:l.sqlKeyword,children:t},n):t.startsWith("$")||t.startsWith(":")||t.startsWith("?")?i.jsx("span",{style:l.sqlBindParam,children:t},n):i.jsx("span",{children:t},n)})}function _t(e){return[`${e.total} ${e.total===1?"trace":"traces"}`,`${e.loading} loading`,`${e.failed} failed`,`${e.errorCount} error${e.errorCount===1?"":"s"}`,`${e.warningCount} warning${e.warningCount===1?"":"s"}`].join(" · ")}function Ft(e,r){const t=r.trim().toLowerCase();return t?e.filter(n=>[n.queryId,n.queryLabel,n.viewId,n.viewTitle,n.visualType,n.sectionTitle,n.builder,n.queryKind,Ar(n)].filter(Boolean).join(" ").toLowerCase().includes(t)):e}function zt(e){const r=e.filter(s=>s.queryKind==="inputOptions"),t=new Set(r.map(Oe));return[{title:"Views",traces:e.filter(s=>!t.has(Oe(s)))},{title:"Inputs",traces:r}]}function wr(e,r){if(!(!(r!=null&&r.traceId)&&!(r!=null&&r.queryId)&&!(r!=null&&r.viewId)))return r.traceId?e.find(t=>t.traceId===r.traceId):e.find(t=>!(r.queryId&&t.queryId!==r.queryId||r.viewId&&t.viewId!==r.viewId))}function Pt(e,r){if(r.queryId)return wr(e,r);if(!r.viewId)return;const t=e.filter(n=>n.viewId===r.viewId);return t.length===1?t[0]:void 0}function Ht(e,r){return!!(e&&r&&e.traceId===r.traceId)}function Oe(e){return e.traceId}function Vt(e){switch(e){case"metric":return"metric";case"records":return"records";case"matrix":return"matrix";case"analysis":return"analysis";case"inputOptions":return"inputs";case"sql":return"sql";default:return ve(e)}}function Ir(e){const r=e.trim().toLowerCase();return r==="metric"||r==="kpi"?"metric":r==="records"||r==="table"?"records":r==="matrix"||r==="pivot"?"matrix":r==="analysis"?"analysis":r==="inputs"||r==="input options"?"inputs":r==="sql"?"sql":"default"}function qr(e){switch(e){case"metric":return{borderColor:"var(--sd-tone-metric-border)",background:"var(--sd-tone-metric-bg)",color:"var(--sd-tone-metric-fg)"};case"records":return{borderColor:"var(--sd-tone-records-border)",background:"var(--sd-tone-records-bg)",color:"var(--sd-tone-records-fg)"};case"analysis":case"matrix":return{borderColor:"var(--sd-tone-analysis-border)",background:"var(--sd-tone-analysis-bg)",color:"var(--sd-tone-analysis-fg)"};case"inputs":case"sql":case"default":default:return{borderColor:"var(--sd-border)",background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)"}}}function Qt(e,r,t){const n=[];return e.queryLabel&&e.queryLabel!==r&&n.push(e.queryLabel),e.queryId&&e.queryId!==r&&e.queryId!==e.queryLabel?n.push(e.queryId):e.viewId&&e.viewId!==r&&e.viewId!==e.queryLabel&&n.push(e.viewId),n.push(t),n}function jr(e){return Gt(e.visualType)||Vt(e.queryKind)}function Ut(e,r){return r?e.queryLabel||e.queryId:be(e)}function Gt(e){if(e)return e.replace(/[_-]+/g," ").replace(/\b\w/g,r=>r.toUpperCase())}function Ar(e){const r=e.sourceRefs.map(W);return r.length?r.length===1?r[0]:`${r[0]} + ${r.length-1} more`:"No source"}function Jt(e){return e.reduce((r,t)=>(t.role==="measure"?r.measures.push(t):t.role==="date"?r.timeFields.push(t):t.role==="dimension"?r.dimensions.push(t):t.role==="id"?r.identifiers.push(t):r.other.push(t),r),{measures:[],timeFields:[],dimensions:[],identifiers:[],other:[]})}function Yt(e){var r,t;if(e.queryKind==="records"&&((r=e.projectionFieldRefs)!=null&&r.length)&&e.projectionFieldRefs.every(n=>n.role==="measure")&&((t=e.latestAttempt)==null?void 0:t.rowCount)===1)return"KPI query";switch(e.queryKind){case"metric":return"KPI query";case"records":return"Records query";case"matrix":return"Matrix query";case"analysis":return"Analysis query";case"inputOptions":return"Input options query";case"sql":return"SQL query";default:return ve(e.queryKind)}}function Xt(e){return[e.aggregate,e.label||e.name].filter(Boolean).join(" ")}function Zt(e){var f,c,p;const r=e.valuePreview||"redacted",t=e.inputLabel||e.inputId,n=((f=e.fieldRef)==null?void 0:f.label)||((c=e.fieldRef)==null?void 0:c.name),s=(p=e.fieldRef)!=null&&p.source?W(e.fieldRef.source):void 0,o=[n?`on ${n}`:void 0,s].filter(Boolean).join(" · "),a=[t,e.inputId,e.operator,r,o].filter(Boolean).join(" - ");return{label:t,showId:t!==e.inputId,operator:e.operator,value:r,binding:o,title:a}}function W(e){return e.kind==="semantic"?e.datasetName||e.datasetId||e.domainId:e.kind==="physical"?[e.schemaName,e.tableName].filter(Boolean).join(".")||e.tableName:e.connectionId?`SQL ${e.connectionId}`:"SQL source"}function en(e){if(e.file)return e.line&&e.column?`${e.file}:${e.line}:${e.column}`:e.line?`${e.file}:${e.line}`:e.file}function rn(e){return typeof e=="number"?e.toLocaleString():"-"}function tn(e){return typeof e=="number"?`${Math.round(e)}ms`:"-"}function nn(e){return De(e)}function De(e){return JSON.stringify(e,null,2)??"undefined"}function sn(e){switch(e.type){case"query_started":return"Started";case"query_succeeded":return"Succeeded";case"query_failed":return"Failed";case"query_ignored_stale":return"Ignored stale";case"input_changed":return"Input changed";default:return an(e)}}function on(e){return[e.at,"durationMs"in e&&typeof e.durationMs=="number"?`${Math.round(e.durationMs)}ms`:void 0,"rowCount"in e&&typeof e.rowCount=="number"?`${e.rowCount} rows`:void 0,"reason"in e?e.reason:void 0,"errorMessage"in e?e.errorMessage:void 0].filter(Boolean).join(" - ")}function an(e){throw new Error(`Unsupported Semaphor trace event: ${JSON.stringify(e)}`)}function ln(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"):[]}function Ae(e){return Array.isArray(e)?e.map(r=>dn(r)).filter(r=>!!r):[]}function dn(e){var r;return(r=un(e))==null?void 0:r.message}function un(e){if(typeof e=="string")return{message:e};if(!e||typeof e!="object"||Array.isArray(e))return;const r=e,t=typeof r.message=="string"?r.message:"",n=typeof r.code=="string"?r.code:"",s=typeof r.path=="string"?r.path:"";return t&&n?{message:s?`${t} (${n}, ${s})`:`${t} (${n})`,code:n,...s?{path:s}:{}}:t?{message:t}:n?{message:n,code:n}:void 0}function cn(e){const r=e==null?void 0:e.metadata,t=r&&typeof r=="object"&&!Array.isArray(r)&&"dataAppDebug"in r&&r.dataAppDebug&&typeof r.dataAppDebug=="object"&&!Array.isArray(r.dataAppDebug)?r.dataAppDebug:void 0;return{compiledSql:typeof(t==null?void 0:t.compiledSql)=="string"?t.compiledSql:void 0,queryHash:typeof(t==null?void 0:t.queryHash)=="string"?t.queryHash:void 0}}function Cr(e){return{...e,order:[],entries:{},sequence:0}}function fn(e,r){if(r.type==="config")return r.config.enabled?{...e,...r.config}:Cr(r.config);if(!e.enabled)return e;switch(r.type){case"register":return yn(pn(e,r.descriptor));case"unregister":return gn(e,r.traceKey);case"event":return mn(e,r);default:return e}}function pn(e,r){const t=e.entries[r.traceKey],n=t?e.sequence:e.sequence+1,s=Ve(),o={...t||hn(r),...kr(r),traceKey:r.traceKey,latestAttempt:(t==null?void 0:t.latestAttempt)||{status:"idle"},recentEvents:(t==null?void 0:t.recentEvents)||[],mounted:!0,registeredAt:(t==null?void 0:t.registeredAt)||n,lastEventAt:(t==null?void 0:t.lastEventAt)||s};return{...e,sequence:n,order:t?e.order:[...e.order,r.traceKey],entries:{...e.entries,[r.traceKey]:o}}}function gn(e,r){const t=e.entries[r];return t?{...e,entries:{...e.entries,[r]:{...t,mounted:!1}}}:e}function mn(e,r){const t=e.entries[r.traceKey];if(!t)return e;const n=Ve(),s=[...t.recentEvents,r.event].slice(-e.maxEventsPerQuery);return{...e,entries:{...e.entries,[r.traceKey]:{...t,latestAttempt:r.latestAttempt?{...t.latestAttempt,...r.latestAttempt}:t.latestAttempt,recentEvents:s,lastEventAt:n}}}}function yn(e){if(e.order.length<=e.maxQueries)return e;const r=e.order.map(s=>e.entries[s]).filter(s=>!!s).sort((s,o)=>s.mounted!==o.mounted?s.mounted?1:-1:s.lastEventAt-o.lastEventAt),t=e.order.length-e.maxQueries,n=new Set(r.slice(0,t).map(s=>s.traceKey));return n.size?{...e,order:e.order.filter(s=>!n.has(s)),entries:Object.fromEntries(Object.entries(e.entries).filter(([s])=>!n.has(s)))}:e}function hn(e){const r=Ve();return{...kr(e),traceKey:e.traceKey,latestAttempt:{status:"idle"},recentEvents:[],mounted:!0,registeredAt:0,lastEventAt:r}}function kr(e){var n;const r=An(e.spec),t=Cn(e.spec,e.activeInputs);return{traceId:Tr(e.traceKey),viewId:e.viewId,viewTitle:e.viewTitle,visualType:e.visualType,sectionTitle:e.sectionTitle,queryId:e.queryId,queryLabel:e.queryLabel,queryKind:e.queryKind,builder:e.builder,sourceRefs:jn(e.intent),sourceHints:(n=e.sourceHints)!=null&&n.length?e.sourceHints:void 0,projectionFieldRefs:r,inputFieldRefs:t,fieldRefs:kn(e.intent),inputsApplied:(e.activeInputs||[]).map(s=>({inputId:s.inputId,inputLabel:s.label,fieldRef:s.field,operator:s.operator,valuePreview:In(s)})),recentEvents:[],clientWarnings:e.clientWarnings}}function me(e){const{traceKey:r,mounted:t,registeredAt:n,lastEventAt:s,...o}=e;return o}function ie(e){if(!e.enabled)return vr;const r=e.order.map(n=>e.entries[n]).filter(n=>!!n).map(me),t=Ne(r).map(Zr);return{enabled:!0,queries:r,issues:t,getQuery:n=>{const s=Object.values(e.entries).find(o=>o.queryId===n);return s?me(s):void 0},getQueries:n=>Object.values(e.entries).filter(s=>s.queryId===n).map(me)}}function bn(e){return{snapshot:()=>st(ie(e())),getQuery:r=>nr(ie(e()).getQuery(r)),getQueries:r=>ie(e()).getQueries(r).map(t=>nr(t)).filter(t=>!!t),getIssues:()=>ie(e()).issues}}function vn(e){return e===void 0||e===!1?{enabled:!1,exposeWindowBridge:!1,maxEventsPerQuery:Ie,maxQueries:qe}:e===!0?{enabled:!0,exposeWindowBridge:!1,maxEventsPerQuery:Ie,maxQueries:qe}:{enabled:e.enabled!==!1,exposeWindowBridge:e.exposeWindowBridge===!0,maxEventsPerQuery:lr(e.maxEventsPerQuery,Ie,gt),maxQueries:lr(e.maxQueries,qe,mt)}}function xn(e){const t=[e==null?void 0:e.sourceHint,...(e==null?void 0:e.sourceHints)||[]].filter(n=>!!n).map(n=>({file:pe(n.file),line:ar(n.line),column:ar(n.column),exportName:pe(n.exportName),component:pe(n.component),note:pe(n.note)})).filter(n=>!!(n.file||n.line||n.column||n.exportName||n.component||n.note));return t.length?t:void 0}function pe(e){if(typeof e!="string")return;const r=e.trim();return r||void 0}function ar(e){return typeof e=="number"&&Number.isInteger(e)&&e>0?e:void 0}function lr(e,r,t){return e===void 0||!Number.isFinite(e)||!Number.isInteger(e)||e<=0?r:Math.min(e,t)}function Sn(e){return typeof e.id=="string"&&e.id.trim()?e.id:void 0}function wn(e){switch(e){case"metric":return"semaphor.metric";case"records":return"semaphor.records";case"matrix":return"semaphor.matrix";case"analysis":return"semaphor.analysis";case"inputOptions":return"semaphor.inputOptions";case"sql":return"semaphor.sql";default:return ve(e)}}function ve(e){throw new Error(`Unsupported Semaphor query kind: ${JSON.stringify(e)}`)}function In(e){if(qn(e))return;const r=e.value;if(r!==void 0){if(Array.isArray(r)){const t=r.filter(n=>typeof n=="string"||typeof n=="number"||typeof n=="boolean").map(n=>String(n));if(t.length===r.length&&t.length>0){const n=t.slice(0,3).join(", "),s=t.length>3?`, +${t.length-3} more`:"";return dr(`${n}${s}`)}return`${r.length} selected`}return typeof r=="number"||typeof r=="boolean"?String(r):typeof r=="string"?dr(r):r&&typeof r=="object"?`object(${Object.keys(r).slice(0,5).join(",")})`:String(r)}}function dr(e){return e.length>80?`${e.slice(0,77)}...`:e}function qn(e){var t;const r=[e.inputId,e.label,(t=e.field)==null?void 0:t.name].filter(Boolean).join(" ").toLowerCase();return["token","secret","password","email","phone","ssn"].some(n=>r.includes(n))}function jn(e){const r=[];return he(e,t=>{En(t)&&r.push(t)}),M.mergeSemaphorSourcesByIdentity(r)}function An(e){switch(e.queryKind){case"metric":case"analysis":return V([...e.measures||[],e.primaryMeasure,e.dateField,...e.dimensions||[]]);case"records":return V(e.fields||[]);case"inputOptions":return V([e.labelField,e.valueField,e.searchField,...e.disambiguationFields||[]]);case"sql":return V(e.fields||[]);case"matrix":return V([...(e.rows||[]).map(ur),...(e.columns||[]).map(ur),...e.measures.flatMap(r=>r.kind==="aggregate"?[r.field]:Object.values(r.definition.inputs).map(t=>t.field))]);default:return ve(e)}}function Cn(e,r){const t=[...(e.inputs||[]).map(Er),...(r||[]).map(n=>n.field)];return V(t)}function V(e){const r=new Map;return e.forEach(t=>{t&&le(t)&&r.set(He(t),t)}),[...r.values()]}function Er(e){if(!e||typeof e!="object")return;const r=e.toAnalyticsInput;if(typeof r=="function"){const n=r.call(e);return Er(n)}const t=e.field;return le(t)?t:void 0}function ur(e){if(le(e))return e;if(!e||typeof e!="object")return;const r=e.field;return le(r)?r:void 0}function kn(e){const r=new Map;return he(e,t=>{le(t)&&r.set(He(t),t)}),[...r.values()]}function he(e,r){if(!(!e||typeof e!="object")){if(r(e),Array.isArray(e)){e.forEach(t=>he(t,r));return}Object.values(e).forEach(t=>he(t,r))}}function En(e){if(!e||typeof e!="object")return!1;const r=e;return r.kind==="semantic"?typeof r.domainId=="string"&&typeof r.datasetName=="string":r.kind==="physical"?typeof r.connectionId=="string"&&typeof r.tableName=="string":r.kind==="sql"?typeof r.connectionId=="string":!1}function le(e){if(!e||typeof e!="object")return!1;const r=e;return typeof r.name=="string"&&(r.source!==void 0||r.role!==void 0||r.dataType!==void 0||r.aggregate!==void 0)}function He(e){return[e.name,e.role,e.aggregate,e.source?M.semaphorSourceIdentityKey(e.source):""].join(":")}function Tn(e){const r=e;return typeof(r==null?void 0:r.rowCount)=="number"?r.rowCount:Array.isArray(r==null?void 0:r.records)?r.records.length:void 0}function Rn(e){const r=e;return Array.isArray(r==null?void 0:r.columns)?r.columns.length:void 0}function cr(e){const r=e;return r==null?void 0:r.executionResult}function Ln(e){const r=e,t=[...r!=null&&r.measures?Object.keys(r.measures):[],...r!=null&&r.measureBindings?Object.keys(r.measureBindings):[]].filter(Boolean).sort(),n=Array.isArray(r==null?void 0:r.missingMeasures)?r.missingMeasures.filter(s=>typeof s=="string"&&!!s):[];if(!(t.length===0&&n.length===0))return{...t.length>0?{populatedMetricKeys:t}:{},...n.length>0?{missingMeasures:n}:{}}}function On(e){const r=e;if(!r||typeof r!="object")return;const t={};return $e(r.primaryValue)&&(t.primaryValue=r.primaryValue),$e(r.comparisonValue)&&(t.comparisonValue=r.comparisonValue),typeof r.comparisonKind=="string"&&(t.comparisonKind=r.comparisonKind),(typeof r.delta=="number"||r.delta===null)&&(t.delta=r.delta),(typeof r.deltaPercent=="number"||r.deltaPercent===null)&&(t.deltaPercent=r.deltaPercent),Dn(r.measures)&&(t.measures=r.measures),$n(r.measureBindings)&&(t.measureBindings=r.measureBindings),Array.isArray(r.missingMeasures)&&(t.missingMeasures=r.missingMeasures.filter(n=>typeof n=="string"&&!!n)),Object.keys(t).length>0?t:void 0}function $e(e){return e===null||typeof e=="number"||typeof e=="string"}function Dn(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every($e)}function $n(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(r=>typeof r=="string")}function fr(e){const r=e;return typeof(r==null?void 0:r.requestId)=="string"?r.requestId:void 0}function Tr(e){let r=2166136261;for(let t=0;t<e.length;t+=1)r^=e.charCodeAt(t),r=Math.imul(r,16777619);return(r>>>0).toString(36)}function ge(){return new Date().toISOString()}function Ve(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const Bn=["primary","comparisons","contributors","segments","periodChanges","records","changes","drivers","absoluteDeltaDrivers","largestNegativeChanges","largestPositiveChanges","largestNegativeDrivers","largestPositiveDrivers"],Mn=["primary","records","periodChanges","changes","comparisons","contributors","segments","drivers","absoluteDeltaDrivers","largestNegativeChanges","largestPositiveChanges","largestNegativeDrivers","largestPositiveDrivers"];function Rr(e){if(!e)return{};const r=zn(e.executionResult),t=Kn(e,r),n=_n(t),s=Lr(Ue(e.analysisWarnings),Vn(t));return{...e,...Object.keys(t).length?{resultSets:t}:{},...s.length?{analysisWarnings:s}:{},...n?{columns:n.columns,records:n.records,rowCount:n.rowCount}:{}}}function Kn(e,r){const t=Wn(e.resultSets);for(const s of Bn){if(t[s])continue;const o=Pn(e[s]);if(!o.length)continue;const a=r.length?r:Hn(o);t[s]={id:s,role:s,...Qe({records:o,columns:a,resultSetKey:s}),columns:a,rowCount:o.length}}const n=Fn(e.executionResult);return n&&n.records.length>0&&!t.records&&(t.records=n),t}function Wn(e){return Object.fromEntries(Object.entries(e||{}).map(([r,t])=>[r,Nn(t,r)]))}function Nn(e,r=e.id||e.role||"resultSet"){var n;const t=Qe({records:e.records||[],columns:e.columns||[],resultSetKey:r});return{...e,...t,...e.warnings||t.warnings?{warnings:Lr(Ue(e.warnings),t.warnings)}:{},rowCount:e.rowCount??((n=e.records)==null?void 0:n.length)??0}}function _n(e){var r;for(const t of Mn)if((r=e[t])!=null&&r.records.length)return e[t];return Object.values(e).find(t=>t.records.length)||Object.values(e)[0]}function Fn(e){const r=e==null?void 0:e.result;if(!(!r||r.kind!=="records"&&r.kind!=="sql"))return{id:"records",role:"records",...Qe({records:r.records,columns:r.columns,resultSetKey:"records"}),columns:r.columns,rowCount:r.rowCount??r.records.length}}function zn(e){const r=e==null?void 0:e.result;return!r||r.kind!=="records"&&r.kind!=="sql"?[]:r.columns}function Pn(e){return Array.isArray(e)?e.filter(r=>!!(r&&typeof r=="object"&&!Array.isArray(r))):[]}function Qe({records:e,columns:r,resultSetKey:t}){if(!r.length)return{records:e};const n=[];return{records:e.map((o,a)=>{const f={};return r.forEach(c=>{if(Object.prototype.hasOwnProperty.call(o,c.key)){f[c.key]=o[c.key];return}n.push({code:"missing_analysis_result_key",severity:"warning",resultSetKey:t,rowIndex:a,columnKey:c.key,...c.name?{columnName:c.name}:{},...c.label?{columnLabel:c.label}:{},availableKeys:Object.keys(o),message:`Analysis result set "${t}" row ${a} is missing column key "${c.key}". Rows must expose values by column.key; labels and column names are display metadata only.`})}),f}),...n.length?{warnings:n}:{}}}function Hn(e){return Array.from(new Set(e.flatMap(t=>Object.keys(t)))).map(t=>({key:t,name:t,label:t}))}function Vn(e){return Object.values(e).flatMap(r=>Ue(r.warnings))}function Ue(e){return Array.isArray(e)?e.filter(Qn):[]}function Qn(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function Lr(...e){const r=new Set,t=[];for(const n of e.flatMap(s=>s||[])){const s=Un(n);r.has(s)||(r.add(s),t.push(n))}return t}function Un(e){return e.code==="missing_analysis_result_key"?[e.code,e.resultSetKey,e.rowIndex,e.columnKey].join(":"):Be(e)}function Be(e){if(!e||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(t=>Be(t)).join(",")}]`;const r=e;return`{${Object.keys(r).sort().map(t=>`${JSON.stringify(t)}:${Be(r[t])}`).join(",")}}`}const Ce={primaryValue:null},ke={},Gn={records:[]},Ee={options:[]},Jn={records:[]},Te={};function Yn(e){const r=w.toSemaphorActiveInputSnapshots(e.inputs),t=w.toSemaphorAnalysisQueryOptions(e);try{const n=w.toSemaphorAnalysisIntent(e),s=U(n,"analysis");return s?{error:s,activeInputs:r,analysisOptions:t,queryKey:j(void 0,r,s,t),idleData:ke}:{intent:n,error:null,activeInputs:r,analysisOptions:t,queryKey:j(n,r,void 0,t),idleData:ke}}catch(n){const s=Q(n,"analysis");return{error:s,activeInputs:r,analysisOptions:t,queryKey:j(void 0,r,s,t),idleData:ke}}}function Xn(e){const r=w.toSemaphorActiveInputSnapshots(e.inputs);try{const t=w.toSemaphorMetricIntent(e),n=U(t);return n?{error:n,activeInputs:r,queryKey:j(void 0,r,n),idleData:Ce}:{intent:t,error:null,activeInputs:r,queryKey:j(t,r),idleData:Ce}}catch(t){const n=Q(t,"metric");return{error:n,activeInputs:r,queryKey:j(void 0,r,n),idleData:Ce}}}function Zn(e){const r=w.toSemaphorActiveInputSnapshots(e.inputs),t=Gn;try{const n=w.toSemaphorRecordsIntent(e),s=U(n);return s?{error:s,activeInputs:r,queryKey:j(void 0,r,s),idleData:t}:{intent:n,error:null,activeInputs:r,queryKey:j(n,r),idleData:t}}catch(n){const s=Q(n,"records");return{error:s,activeInputs:r,queryKey:j(void 0,r,s),idleData:t}}}function es(e){const r=w.toSemaphorActiveInputSnapshots(e.inputs);try{const t=w.toSemaphorInputOptionsIntent(e),n=U(t);return n?{error:n,activeInputs:r,queryKey:j(void 0,r,n),idleData:Ee}:{intent:t,error:null,activeInputs:r,queryKey:j(t,r),idleData:Ee}}catch(t){const n=Q(t,"inputOptions");return{error:n,activeInputs:r,queryKey:j(void 0,r,n),idleData:Ee}}}function rs(e){const r=w.toSemaphorActiveInputSnapshots(e.inputs),t=Jn;try{const n=w.toSemaphorSqlIntent(e),s=U(n);return s?{error:s,activeInputs:r,queryKey:j(void 0,r,s),idleData:t}:{intent:n,error:null,activeInputs:r,queryKey:j(n,r),idleData:t}}catch(n){const s=Q(n,"sql");return{error:s,activeInputs:r,queryKey:j(void 0,r,s),idleData:t}}}function ts(e){const r=w.toSemaphorActiveInputSnapshots(e.inputs);try{const t=w.toSemaphorMatrixIntent(e),n=Re.matrixWindowRequestSchema.parse(e.matrixWindowRequest),s=U(t);return s?{error:s,activeInputs:r,queryKey:j(void 0,r,s),idleData:Te}:{intent:t,error:null,activeInputs:r,matrixWindowRequest:n,queryKey:JSON.stringify([j(t,r),n]),idleData:Te}}catch(t){const n=Q(t,"matrix");return{error:n,activeInputs:r,queryKey:j(void 0,r,n),idleData:Te}}}function Me(e){var o;if(ns(e))return e;const r=e instanceof Error?e:void 0,t=e,n=t==null?void 0:t.executionResult,s=xe((r==null?void 0:r.message)??String(e),{requestId:typeof(t==null?void 0:t.requestId)=="string"?t.requestId:void 0,details:t==null?void 0:t.details,executionResult:n,validation:(t==null?void 0:t.validation)??(n==null?void 0:n.validation),validationIssues:(t==null?void 0:t.validationIssues)??((o=n==null?void 0:n.validation)==null?void 0:o.errors)});return s.name=(r==null?void 0:r.name)||s.name,s.stack=r==null?void 0:r.stack,s}function Q(e,r){const t=Me(e);if(t.executionResult||t.validation)return t;const n={ok:!1,errors:[{code:"invalid_query_spec",message:t.message,path:"spec"}],warnings:[],repairHints:[{code:"invalid_query_spec",message:t.message,recommendedNextStep:"Update the Data App query spec to satisfy the SDK builder contract."}]},s=Or(void 0,r,n),o=xe(t.message,{executionResult:s,validation:n,validationIssues:n.errors});return o.stack=t.stack,o}function xe(e,r={}){var s,o,a;const t=new Error(e);t.name="SemaphorDataAppQueryError",t.kind="data_app_query_error",r.requestId&&(t.requestId=r.requestId),r.details!==void 0&&(t.details=r.details),r.executionResult!==void 0&&(t.executionResult=r.executionResult),r.validation!==void 0&&(t.validation=r.validation);const n=r.validationIssues??((s=r.validation)==null?void 0:s.errors)??((a=(o=r.executionResult)==null?void 0:o.validation)==null?void 0:a.errors);return n!==void 0&&(t.validationIssues=n),t}function ns(e){return e instanceof Error&&e.kind==="data_app_query_error"}function U(e,r=e.kind){const t=M.validateSemaphorAnalyticsIntent(e);if(t.ok)return null;const n=t.errors.map(o=>o.path?`${o.code} at ${o.path}: ${o.message}`:`${o.code}: ${o.message}`).join("; "),s=Or(e,r,t);return xe(`Invalid Semaphor analytics intent. ${n}`,{executionResult:s,validation:t,validationIssues:t.errors})}function Or(e,r,t){return{...M.getAnalyticsIntentId(e)?{intentId:M.getAnalyticsIntentId(e)}:{},...e?{intent:e}:{},status:"failed",resultShape:r,validation:t,coverage:{answeredObligations:[],missingObligations:["query_spec_validation"],warnings:t.warnings},missingFields:t.errors.filter(n=>n.code==="missing_field").flatMap(n=>{var o;const s=n.path||((o=n.repairHint)==null?void 0:o.invalidField);return s?[s]:[]}),warnings:t.warnings.map(n=>n.message),diagnosticFeedback:{version:1,status:"blocked",summary:"Data App query spec validation failed.",answered:[],blocked:t.errors.map(n=>{var o,a;const s={reasonCode:"query_validation_failed",message:n.message};return n.code==="missing_field"&&(s.missingFields=[n.path||((o=n.repairHint)==null?void 0:o.invalidField)||n.message]),(a=n.repairHint)!=null&&a.recommendedNextStep&&(s.recommendedNextStep=n.repairHint.recommendedNextStep),s})},metadata:{validationKind:"data_app_sdk_query_spec"}}}function j(e,r,t,n){return JSON.stringify({intent:e,activeInputs:r,analysisOptions:n,error:t==null?void 0:t.message})}function Dr(){return{executeAnalysis:(e,r,t)=>ne(e,r,t??{}).then(Rr),executeMetric:(e,r)=>ne(e,r),executeRecords:(e,r)=>ne(e,r),executeInputOptions:(e,r)=>ne(e,r),executeSql:(e,r)=>ne(e,r),executeMatrix:async(e,r)=>{var n,s;const t=await ss(e,r);if(t.status==="failed")throw Br(((n=t.metadata.matrixFailure)==null?void 0:n.message)??"Matrix execution failed.",{executionResult:t});return{window:(s=t.result)==null?void 0:s.window,executionResult:t}}}}async function ne(e,r,t){if(!r.token)throw new Error("SemaphorDataAppProvider needs a token to execute queries.");const n=Kr(r),s=os(e,n);let o;try{o=await $r({intent:e,activeInputs:r.activeInputs,...t?{analysisOptions:t}:{},resultShape:e.kind,...is(r)?{debug:{responseDetail:"debug"}}:{}},r)}catch(f){throw new Error(`${s}: ${f instanceof Error?f.message:String(f)}`)}const a=await Mr(o);if(!o.ok||a.error)throw Br(`${s}: ${a.error||`Semaphor Data App execution failed with status ${o.status}.`}`,a);return a}function $r(e,r,t){if(!r.token)throw new Error("SemaphorDataAppProvider needs a token to execute queries.");return fetch(Kr(r),{method:"POST",signal:t,headers:{"Content-Type":"application/json",Authorization:`Bearer ${r.token}`},body:JSON.stringify(e)})}async function ss(e,r,t){const n=Re.matrixOperationRequestSchema.parse(e),s=await $r({...n,activeInputs:r.activeInputs,resultShape:"matrix"},r,t),o=await Mr(s),a=Re.matrixExecutionResultSchema.safeParse(o.executionResult);if(!a.success)throw new Error(o.error||"Matrix execution returned an invalid governed result.");if(!s.ok&&a.data.status!=="failed")throw new Error(o.error||`Matrix request failed (${s.status}).`);return a.data}function Br(e,r){var t;return xe(e,{requestId:r.requestId,details:r.details,executionResult:r.executionResult,validation:(t=r.executionResult)==null?void 0:t.validation})}function is(e){const r=e.debug;return r?r===!0?!0:r.enabled!==!1&&r.requestServerDebug!==!1:!1}function os(e,r){return[`Semaphor ${e.kind} query`,M.getAnalyticsIntentId(e)?`id=${M.getAnalyticsIntentId(e)}`:void 0,"label"in e&&e.label?`label=${e.label}`:void 0,as(e),`endpoint=${ls(r)}`].filter(t=>!!t).join(" ")}function as(e){const r="source"in e?e.source:void 0;if(!(!r||typeof r!="object")){if(r.kind==="semantic")return`source=${[r.domainId,r.datasetId||r.datasetName].filter(Boolean).join("/")}`;if(r.kind==="physical")return`source=${[r.connectionId,r.databaseName,r.schemaName,r.tableName].filter(Boolean).join("/")}`;if(r.kind==="sql")return r.connectionId?`source=${r.connectionId}`:void 0}}function ls(e){if(!e)return"/api/v1/data-app/execute";try{return new URL(e,"http://localhost").pathname}catch{return e}}async function Mr(e){const r=await e.text().catch(()=>"");if(!r.trim())return e.ok?{error:"Semaphor Data App execution returned an empty response."}:{};try{return JSON.parse(r)}catch{return e.ok?{error:"Semaphor Data App execution returned invalid JSON.",details:r}:{error:ds(e,r),details:r}}}function ds(e,r){const t=e.statusText?` ${e.statusText}`:"",n=r.replace(/\s+/g," ").trim();return n?`Semaphor Data App execution failed with status ${e.status}${t}: ${n.slice(0,240)}`:`Semaphor Data App execution failed with status ${e.status}${t}.`}function Kr(e){const r=us(e).replace(/\/+$/,"");return r?r.endsWith("/api")?`${r}/v1/data-app/execute`:`${r}/api/v1/data-app/execute`:"/api/v1/data-app/execute"}function us(e){if(e.apiBaseUrl)return e.apiBaseUrl;if(!e.token)return"";try{return Ke.jwtDecode(e.token).apiServiceUrl||""}catch{return""}}const Wr=u.createContext({});function cs(){if(!(typeof window>"u"))return window.__SEMAPHOR_DATA_APP_RUNTIME__}function fs(){return u.useContext(Wr)}function ps(e){const[r,t]=u.useState(e.defaultValue),n=Object.prototype.hasOwnProperty.call(e,"value"),s=n?e.value:r,o=u.useMemo(()=>w.normalizeSemaphorInputOptions(e.options),[e.options]),a=u.useCallback(c=>{var g;const p=c;(g=e.onValueChange)==null||g.call(e,p),n||t(p)},[n,e]),f=u.useCallback(()=>a(void 0),[a]);return u.useMemo(()=>{const c=w.toSemaphorInputSpec(e);return{id:e.id,kind:e.kind,label:e.label,field:c.field,operator:c.operator,relationshipHint:c.relationshipHint,controlRole:e.kind==="control"?e.role:void 0,value:s,options:o,isActive:w.hasSemaphorInputValue(s),setValue:a,clear:f,toAnalyticsInput:()=>({inputId:c.inputId,field:c.field,kind:e.kind,label:e.label,value:s,isActive:w.hasSemaphorInputValue(s),operator:c.operator,relationshipHint:c.relationshipHint,controlRole:e.kind==="control"?e.role:void 0})}},[f,o,a,e,s])}function gs(e){const[r,t]=u.useState(()=>Is(e));return u.useEffect(()=>{t(n=>{let s=n;for(const o of e)!Object.prototype.hasOwnProperty.call(s,o.id)&&o.defaultValue!==void 0&&(s={...s,[o.id]:o.defaultValue});return s})},[e]),u.useMemo(()=>e.map(n=>{const s=Object.prototype.hasOwnProperty.call(n,"value"),o=s?n.value:r[n.id],a=w.normalizeSemaphorInputOptions(n.options),f=g=>{var m;(m=n.onValueChange)==null||m.call(n,g),s||t(v=>({...v,[n.id]:g}))},c=()=>f(void 0),p=w.toSemaphorInputSpec(n);return{id:n.id,kind:n.kind,label:n.label,field:p.field,operator:p.operator,relationshipHint:p.relationshipHint,controlRole:n.kind==="control"?n.role:void 0,value:o,options:a,isActive:w.hasSemaphorInputValue(o),setValue:f,clear:c,toAnalyticsInput:()=>({inputId:p.inputId,field:p.field,kind:n.kind,label:n.label,value:o,isActive:w.hasSemaphorInputValue(o),operator:p.operator,relationshipHint:p.relationshipHint,controlRole:n.kind==="control"?n.role:void 0})}}),[e,r])}function ms(e,r){const t=(r==null?void 0:r.status)==="success"?r.options:void 0,n=u.useMemo(()=>ys(t),[t]);u.useEffect(()=>{Nr(e.value,t)||e.clear()},[e,n,r==null?void 0:r.status,t])}function Nr(e,r){if(!w.hasSemaphorInputValue(e)||r===void 0)return!0;const t=new Set(r.map(s=>pr(s.value)));return(Array.isArray(e)?e:[e]).every(s=>t.has(pr(s)))}function ys(e){return JSON.stringify((e||[]).map(r=>r.value))}function pr(e){return`${typeof e}:${String(e)}`}function hs(e,r={}){const t=u.useMemo(()=>r.inputs?{...e,inputs:r.inputs}:e,[r.inputs,e]),n=u.useMemo(()=>{switch(t.queryKind){case"metric":return{queryKind:t.queryKind,request:Xn(t)};case"analysis":return{queryKind:t.queryKind,request:Yn(t)};case"records":return{queryKind:t.queryKind,request:Zn(t)};case"inputOptions":return{queryKind:t.queryKind,request:es(t)};case"sql":return{queryKind:t.queryKind,request:rs(t)};case"matrix":return{queryKind:t.queryKind,request:ts(t)};default:return ye(t)}},[t]),s=St({spec:t,queryKind:n.queryKind,queryKey:n.request.queryKey,intent:n.request.intent,activeInputs:n.request.activeInputs,debug:r.debug}),o=u.useRef(null),a=u.useMemo(()=>({start:s.start,success:s.success,failure:s.failure,ignored:s.ignored}),[s.failure,s.ignored,s.start,s.success]),f=u.useCallback(d=>{var O,C,B,R,x,S,T,I,L;const h=n.request;if(h.intent)switch(n.queryKind){case"metric":return(O=d.executor)==null?void 0:O.executeMetric(h.intent,d);case"analysis":return(B=(C=d.executor)==null?void 0:C.executeAnalysis)==null?void 0:B.call(C,h.intent,d,h.analysisOptions);case"records":return(R=d.executor)==null?void 0:R.executeRecords(h.intent,d);case"inputOptions":return(x=d.executor)==null?void 0:x.executeInputOptions(h.intent,d);case"sql":return(T=(S=d.executor)==null?void 0:S.executeSql)==null?void 0:T.call(S,h.intent,d);case"matrix":if(!h.matrixWindowRequest)throw new Error("Matrix window request is required.");return(L=(I=d.executor)==null?void 0:I.executeMatrix)==null?void 0:L.call(I,{intent:h.intent,matrixWindowRequest:h.matrixWindowRequest},d);default:return ye(n)}},[n]),c=ws(n.request.queryKey,f,n.request.idleData,n.request.activeInputs,a),p=s.queryId,g=s.validationFailure;u.useEffect(()=>{const d=n.request.error;if(!d){o.current=null;return}const h=`${p}:${d.message}`;o.current!==h&&(o.current=h,g(d))},[n.request.error,n.request.queryKey,p,g]);const m=n.request.error?n.request.idleData:c.data,v=n.request.error?"error":c.status,y=!n.request.error&&c.status==="loading",b=n.request.error||c.error,A=s.trace;switch(n.queryKind){case"metric":{const d=m,h=H({queryKind:n.queryKind,status:v,isLoading:y,error:b,trace:A,payload:d,activeInputs:n.request.activeInputs,isStale:c.isStale});return{id:t.id,intent:n.request.intent,primaryValue:(d==null?void 0:d.primaryValue)??null,measures:d==null?void 0:d.measures,measureBindings:d==null?void 0:d.measureBindings,missingMeasures:d==null?void 0:d.missingMeasures,comparisonValue:d==null?void 0:d.comparisonValue,comparisonKind:d==null?void 0:d.comparisonKind,delta:d==null?void 0:d.delta,deltaPercent:d==null?void 0:d.deltaPercent,records:d==null?void 0:d.records,...h}}case"analysis":{const d=Rr(m),h=H({queryKind:n.queryKind,status:v,isLoading:y,error:b,trace:A,payload:d,activeInputs:n.request.activeInputs,isStale:c.isStale});return{id:t.id,intent:n.request.intent,...d||{},...h}}case"records":{const d=m,h=H({queryKind:n.queryKind,status:v,isLoading:y,error:b,trace:A,payload:d,activeInputs:n.request.activeInputs,isStale:c.isStale});return{id:t.id,intent:n.request.intent,records:(d==null?void 0:d.records)||[],columns:d==null?void 0:d.columns,rowCount:d==null?void 0:d.rowCount,pagination:d==null?void 0:d.pagination,totals:d==null?void 0:d.totals,...h}}case"inputOptions":{const d=m,h=H({queryKind:n.queryKind,status:v,isLoading:y,error:b,trace:A,payload:d,activeInputs:n.request.activeInputs,isStale:c.isStale});return{id:t.id,intent:n.request.intent,options:(d==null?void 0:d.options)||[],dependencyOutcomes:d==null?void 0:d.dependencyOutcomes,match:d==null?void 0:d.match,...h}}case"sql":{const d=m,h=H({queryKind:n.queryKind,status:v,isLoading:y,error:b,trace:A,payload:d,activeInputs:n.request.activeInputs,isStale:c.isStale});return{id:t.id,intent:n.request.intent,records:(d==null?void 0:d.records)||[],columns:d==null?void 0:d.columns,rowCount:d==null?void 0:d.rowCount,pagination:d==null?void 0:d.pagination,output:d==null?void 0:d.output,rowLimitExceeded:d==null?void 0:d.rowLimitExceeded,...h}}case"matrix":{const d=m,h=H({queryKind:n.queryKind,status:v,isLoading:y,error:b,trace:A,payload:d,activeInputs:n.request.activeInputs,isStale:c.isStale});return{id:t.id,intent:n.request.intent,window:d==null?void 0:d.window,...h,executionResult:vs(h.executionResult)?h.executionResult:void 0}}default:return ye(n)}}function H(e){var o,a,f;const r=bs(e.payload)??((o=e.error)==null?void 0:o.executionResult),t=((a=e.error)==null?void 0:a.validation)??(r==null?void 0:r.validation),n=r==null?void 0:r.coverage,s=r==null?void 0:r.diagnosticFeedback;return{status:e.status,executionStatus:r==null?void 0:r.status,executionResult:r,validation:t,coverage:n,diagnosticFeedback:s,isLoading:e.isLoading,isEmpty:Ss(e.queryKind,e.payload,e.status),isPartial:xs(e.payload,r),isFiltered:!!((f=e.activeInputs)!=null&&f.some(c=>c.kind==="filter"&&c.isActive)),isStale:e.isStale,isValidated:!!t,error:e.error,trace:e.trace}}function bs(e){const r=e;return r==null?void 0:r.executionResult}function vs(e){return(e==null?void 0:e.resultShape)==="matrix"}function xs(e,r){var n,s;const t=!!(e!=null&&e.rowLimitExceeded);return!!((r==null?void 0:r.status)==="partial"||((n=r==null?void 0:r.diagnosticFeedback)==null?void 0:n.status)==="partial"||(r==null?void 0:r.status)!=="failed"&&((s=r==null?void 0:r.coverage)!=null&&s.missingObligations.length)||t)}function Ss(e,r,t){var n,s,o;if(t!=="success")return!1;switch(e){case"metric":{const a=r;return(a==null?void 0:a.primaryValue)==null&&!$(a==null?void 0:a.records)}case"analysis":{const a=r;return a?!a.answerSummary&&!$(a.records)&&!$(a.changes)&&!$(a.drivers)&&!$(a.largestNegativeChanges)&&!$(a.largestPositiveChanges)&&!$(a.largestNegativeDrivers)&&!$(a.largestPositiveDrivers)&&!Object.values(a.resultSets||{}).some(f=>$(f.records)):!0}case"records":{const a=r;return!$(a==null?void 0:a.records)}case"sql":{const a=r;return!$(a==null?void 0:a.records)&&(a==null?void 0:a.output)===void 0}case"inputOptions":{const a=r;return!((n=a==null?void 0:a.options)!=null&&n.length)}case"matrix":{const a=r;return!((s=a==null?void 0:a.window)!=null&&s.pages.some(f=>f.members.length>0))&&!((o=a==null?void 0:a.window)!=null&&o.blocks.some(f=>f.cells.length>0))}default:return ye(e)}}function $(e){return Array.isArray(e)&&e.length>0}function ws(e,r,t,n,s){const o=fs(),a=u.useRef(r),f=u.useRef(n),[c,p]=u.useState({status:"idle",data:t,error:null,isStale:!1});return a.current=r,f.current=n,u.useEffect(()=>{let g;try{g=a.current({...o,activeInputs:f.current})}catch(y){s==null||s.failure(y,0),p({status:"error",data:t,error:Me(y),isStale:!1});return}if(!g){p({status:"idle",data:t,error:null,isStale:!1});return}let m=!1;const v=_r();return s==null||s.start(),p(y=>({status:"loading",data:y.data,error:null,isStale:y.isStale||y.status==="success"})),g.then(y=>{m?s==null||s.ignored("superseded"):(s==null||s.success(y,gr(v)),p({status:"success",data:y,error:null,isStale:!1}))}).catch(y=>{m?s==null||s.ignored("superseded"):(s==null||s.failure(y,gr(v)),p({status:"error",data:t,error:Me(y),isStale:!1}))}),()=>{m=!0}},[t,e,o,s]),c}function _r(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}function gr(e){return Math.max(0,Math.round(_r()-e))}function Is(e){return Object.fromEntries(e.filter(r=>r.defaultValue!==void 0).map(r=>[r.id,r.defaultValue]))}function ye(e){throw new Error(`Unsupported Semaphor query kind: ${JSON.stringify(e)}`)}function qs(e){return!e||typeof e=="boolean"||e.enabled===!1?null:e.autoRenderDevtools===!0?{}:e.autoRenderDevtools?e.autoRenderDevtools:null}function js({token:e,apiBaseUrl:r,executor:t,debug:n,children:s}){var y;const o=cs(),a=((y=o==null?void 0:o.authToken)==null?void 0:y.accessToken)||e,f=(o==null?void 0:o.dataApiBaseUrl)||(o==null?void 0:o.apiBaseUrl)||r,c=(o==null?void 0:o.debug)??n,p=qs(c),g=u.useMemo(()=>Dr(),[]),m=t||g,v=u.useMemo(()=>({token:a,apiBaseUrl:f,executor:m,debug:c}),[f,c,m,a]);return i.jsx(yt,{debug:c,children:i.jsxs(Wr.Provider,{value:v,children:[s,p?i.jsx(Sr,{...p}):null]})})}exports.semaphorMetricAggregate=M.semaphorMetricAggregate;exports.semaphorMetricMeasureBindingKey=M.semaphorMetricMeasureBindingKey;exports.SemaphorDataAppProvider=js;exports.SemaphorDevtools=Sr;exports.SemaphorDevtoolsInspectButton=xt;exports.SemaphorViewBoundary=vt;exports.createSemaphorQueryExecutor=Dr;exports.defineSemaphorDataApp=zr;exports.defineSemaphorInput=Pr;exports.isSemaphorInputValueValidForOptions=Nr;exports.semaphor=Hr;exports.useClearInvalidSemaphorInputValue=ms;exports.useSemaphorDevtools=Pe;exports.useSemaphorInput=ps;exports.useSemaphorInputs=gs;exports.useSemaphorQuery=hs;
|
|
117
|
+
`;function xr(){if(typeof document>"u"||document.getElementById(ir))return;const e=document.createElement("style");e.id=ir,e.textContent=yt,document.head.appendChild(e)}const me='ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',$="ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",ie={color:"var(--sd-fg-muted)",fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.08em"};const l={launcher:{position:"fixed",bottom:20,zIndex:2147483e3,display:"inline-flex",alignItems:"center",gap:7,height:36,minWidth:36,padding:"0 10px",borderWidth:1,borderStyle:"solid",borderRadius:6,boxShadow:"var(--sd-shadow)",font:`600 12px/1.2 ${me}`,cursor:"pointer"},launcherText:{fontVariantNumeric:"tabular-nums"},launcherIssueCount:{display:"grid",minWidth:18,height:18,padding:"0 6px",placeItems:"center",borderRadius:999,border:"1px solid currentColor",background:"var(--sd-bg)",color:"currentColor",fontSize:10,lineHeight:"18px",whiteSpace:"nowrap"},logoMark:{display:"grid",width:18,height:18,placeItems:"center",flex:"0 0 auto",borderRadius:4,background:"var(--sd-fg)",color:"var(--sd-bg)"},panel:{position:"fixed",top:16,right:16,bottom:16,zIndex:2147483001,width:"min(720px, calc(100vw - 32px))",display:"flex",flexDirection:"column",overflow:"hidden",border:"1px solid var(--sd-border)",borderRadius:6,background:"var(--sd-bg)",color:"var(--sd-fg)",boxShadow:"var(--sd-shadow)",font:`13px/1.4 ${me}`},panelFullscreen:{top:0,right:0,bottom:0,left:0,width:"100vw",height:"100vh",borderRadius:0},panelHeader:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,padding:"10px 12px",borderBottom:"1px solid var(--sd-border)"},panelTitleBlock:{minWidth:0},panelTitle:{fontSize:13,fontWeight:600},panelSubtitle:{marginTop:2,color:"var(--sd-fg-muted)",fontSize:11},panelActions:{display:"flex",alignItems:"center",gap:6},iconButton:{display:"grid",width:28,height:28,placeItems:"center",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:5,background:"var(--sd-bg)",color:"var(--sd-fg-muted)",cursor:"pointer"},searchBox:{display:"flex",alignItems:"center",gap:8,margin:10,height:28,padding:"0 8px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:5,color:"var(--sd-fg-muted)"},searchInput:{minWidth:0,flex:1,border:0,outline:0,background:"transparent",color:"var(--sd-fg)",font:`12px/1.4 ${me}`},issueSummary:{margin:"0 10px 10px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-warning-border)",borderRadius:6,background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)",overflow:"hidden"},issueSummaryToggle:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,width:"100%",padding:"7px 9px 5px",border:0,background:"transparent",color:"inherit",cursor:"pointer",...ie},issueSummaryHeaderLabel:{display:"inline-flex",alignItems:"center",gap:4,minWidth:0},issueSummaryCount:{fontVariantNumeric:"tabular-nums"},issueSummaryCollapsed:{padding:"0 9px 8px 26px",color:"var(--sd-fg-muted)",fontSize:11},issueSummaryList:{display:"grid",gap:1,padding:"0 6px 6px"},issueSummaryItem:{display:"grid",gridTemplateColumns:"auto minmax(0, 1fr)",alignItems:"start",gap:8,width:"100%",padding:"7px 8px",border:0,borderRadius:5,background:"transparent",color:"inherit",textAlign:"left",cursor:"pointer"},issueSummaryBadge:{display:"inline-flex",alignItems:"center",height:17,padding:"0 5px",borderWidth:1,borderStyle:"solid",borderRadius:3,fontSize:9,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.06em"},issueSummaryBadgeError:{borderColor:"var(--sd-error-border)",background:"var(--sd-error-bg)",color:"var(--sd-error-fg)"},issueSummaryBadgeWarning:{borderColor:"var(--sd-warning-border)",background:"var(--sd-bg)",color:"var(--sd-warning-fg)"},issueSummaryText:{display:"grid",gap:2,minWidth:0},issueSummaryTitle:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,fontWeight:650},issueSummaryMessage:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-warning-fg)",fontSize:11},issueSummaryMore:{padding:"3px 8px 5px",color:"var(--sd-fg-muted)",fontSize:11},panelBody:{display:"grid",gridTemplateColumns:"minmax(210px, 280px) minmax(0, 1fr)",minHeight:0,flex:1,borderTop:"1px solid var(--sd-border-soft)"},queryList:{minHeight:0,overflowY:"auto",padding:8,borderRight:"1px solid var(--sd-border)",background:"var(--sd-bg-muted)"},queryGroup:{display:"grid",gap:3,marginBottom:8},queryGroupHeader:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"4px 6px 3px",...ie},queryGroupCount:{color:"var(--sd-fg-subtle)",fontVariantNumeric:"tabular-nums"},queryGroupEmpty:{padding:"7px 8px",color:"var(--sd-fg-subtle)",fontSize:11},queryListItem:{display:"grid",gap:3,width:"100%",padding:"7px 8px",borderWidth:1,borderStyle:"solid",borderColor:"transparent",borderRadius:5,background:"transparent",color:"var(--sd-fg)",textAlign:"left",cursor:"pointer"},queryListItemSelected:{borderColor:"var(--sd-border-strong)",background:"var(--sd-bg-raised)"},queryListItemHeader:{display:"flex",alignItems:"center",gap:7,minWidth:0},statusDot:{width:7,height:7,flex:"0 0 auto",borderRadius:999},queryListTitle:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,fontWeight:650,color:"var(--sd-fg)"},queryListKindChip:{flex:"0 0 auto",display:"inline-flex",alignItems:"center",height:15,padding:"0 5px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)",fontFamily:$,fontSize:9,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.06em"},queryListIssueBadge:{flex:"0 0 auto",display:"inline-flex",alignItems:"center",justifyContent:"center",minWidth:16,height:16,padding:"0 4px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-warning-border)",borderRadius:999,background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)",fontSize:10,fontWeight:700,fontVariantNumeric:"tabular-nums"},queryListSource:{minWidth:0,paddingLeft:14,color:"var(--sd-fg-muted)",fontSize:11,lineHeight:1.35,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},queryListSubtitleSep:{color:"var(--sd-fg-subtle)"},detailsPane:{minHeight:0,overflowY:"auto",padding:16},detailsHeader:{display:"grid",gap:6,marginBottom:14},detailsHeaderTopRow:{display:"flex",alignItems:"center",gap:8,minWidth:0},detailsHeaderStatusDot:{width:8,height:8,flex:"0 0 auto",borderRadius:999},detailsTitle:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:14,fontWeight:700,color:"var(--sd-fg)"},detailsKindChip:{flex:"0 0 auto",padding:"2px 6px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)",fontFamily:$,fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.06em"},metaStrip:{display:"flex",flexWrap:"wrap",alignItems:"center",columnGap:6,rowGap:2,paddingLeft:16,color:"var(--sd-fg-muted)",fontSize:11},metaStripItem:{color:"var(--sd-fg-muted)",fontVariantNumeric:"tabular-nums"},metaStripDot:{color:"var(--sd-fg-subtle)"},sourcePillRow:{display:"flex",flexWrap:"wrap",gap:6},sourcePill:{display:"inline-flex",alignItems:"center",gap:6,padding:"4px 7px",borderWidth:1,borderStyle:"solid",borderColor:"var(--sd-border)",borderRadius:5,background:"var(--sd-bg)",color:"var(--sd-fg)"},sourcePillLabel:{fontFamily:$,fontSize:11,color:"var(--sd-fg)"},sourcePillRole:{display:"inline-flex",alignItems:"center",height:14,padding:"0 4px",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg-subtle)",fontFamily:$,fontSize:9,textTransform:"uppercase",letterSpacing:"0.06em"},fieldChipList:{display:"grid",gap:0,paddingTop:2},fieldChip:{display:"flex",alignItems:"center",gap:8,minWidth:0,padding:"5px 6px",margin:"0 -6px",borderRadius:4},fieldGlyph:{display:"inline-flex",flex:"0 0 auto",alignItems:"center",justifyContent:"center",width:18,height:18,borderWidth:1,borderStyle:"solid",borderRadius:4,fontFamily:$,fontSize:11,fontWeight:700,lineHeight:1},fieldAggBadge:{display:"inline-flex",alignItems:"center",height:16,padding:"0 5px",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg)",fontFamily:$,fontSize:10,fontWeight:600,letterSpacing:"0.04em"},fieldChipName:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,fontWeight:500},fieldChipMeta:{flex:"0 0 auto",fontFamily:$,fontSize:10,color:"var(--sd-fg-subtle)"},fieldChipMetaDot:{color:"var(--sd-fg-subtle)",fontSize:10},sqlKeyword:{color:"var(--sd-sql-keyword)",fontWeight:600},sqlBindParam:{color:"var(--sd-sql-bind)"},section:{marginTop:16},sectionTitle:{marginBottom:8,...ie},disclosure:{marginTop:16},disclosureSummary:{cursor:"pointer",...ie},disclosureBody:{marginTop:8},traceTabs:{marginTop:16},traceTabBar:{display:"flex",gap:2,borderBottom:"1px solid var(--sd-border)",overflowX:"auto",scrollbarWidth:"none"},traceTab:{flex:"0 0 auto",appearance:"none",border:"none",background:"transparent",cursor:"pointer",padding:"6px 9px",marginBottom:-1,fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.07em",borderBottom:"2px solid transparent",whiteSpace:"nowrap"},traceTabActive:{color:"var(--sd-fg)",borderBottom:"2px solid var(--sd-fg)"},traceTabPanel:{paddingTop:12},alertCard:{marginTop:12,padding:"8px 10px",borderWidth:1,borderStyle:"solid",borderRadius:5,fontSize:12,lineHeight:1.45},alertCardError:{borderColor:"var(--sd-error-border)",background:"var(--sd-error-bg)",color:"var(--sd-error-fg)"},alertCardWarning:{borderColor:"var(--sd-warning-border)",background:"var(--sd-warning-bg)",color:"var(--sd-warning-fg)"},alertCardTitle:{fontWeight:600,textTransform:"uppercase",letterSpacing:"0.08em",fontSize:10,marginBottom:4},alertCardList:{margin:0,paddingLeft:16,display:"grid",gap:3},recipe:{display:"grid",gap:16},traceLineage:{display:"grid",gap:12},recipeGroup:{display:"grid",gap:4},recipeGroupHeader:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8,paddingBottom:2},recipeGroupTitle:{color:"var(--sd-fg-muted)",fontSize:10,fontWeight:600,textTransform:"uppercase",letterSpacing:"0.08em"},recipeGroupCount:{color:"var(--sd-fg-subtle)",fontSize:10,fontVariantNumeric:"tabular-nums"},recipeFieldList:{display:"grid"},recipeEmptyText:{padding:"5px 0",color:"var(--sd-fg-subtle)",fontSize:11},recipeFieldRow:{display:"grid",gridTemplateColumns:"minmax(0, 1fr) minmax(0, auto)",alignItems:"center",gap:10,minHeight:26,padding:"4px 0",borderBottom:"1px solid var(--sd-border-soft)"},recipeFieldName:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,fontWeight:500},recipeFieldMeta:{minWidth:0,display:"inline-flex",alignItems:"baseline",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg-subtle)",fontSize:11,textAlign:"right"},inputsAppliedBlock:{marginTop:16,padding:"10px 12px",border:"1px solid var(--sd-border)",borderLeft:"2px solid var(--sd-fg-muted)",borderRadius:5,background:"var(--sd-bg-muted)"},inputsAppliedHeader:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:8,marginBottom:6},inputsAppliedTitle:{color:"var(--sd-fg)",fontSize:10,fontWeight:700,textTransform:"uppercase",letterSpacing:"0.08em"},inputsAppliedCount:{color:"var(--sd-fg-subtle)",fontSize:10,fontVariantNumeric:"tabular-nums"},inputRecipeList:{display:"grid"},inputRecipeRow:{display:"grid",gap:2,minWidth:0,padding:"6px 0",borderBottom:"1px solid var(--sd-border-soft)"},inputRecipeHeader:{display:"flex",alignItems:"center",gap:8,minWidth:0},inputRecipeLabel:{flex:"1 1 auto",minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,fontWeight:600},inputRecipeId:{flex:"0 0 auto",maxWidth:"32%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg-subtle)",fontFamily:$,fontSize:10,fontWeight:600},inputOperatorBadge:{display:"inline-flex",flex:"0 0 auto",alignItems:"center",height:16,padding:"0 5px",borderRadius:3,background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)",fontFamily:$,fontSize:10,textTransform:"uppercase",letterSpacing:"0.06em"},inputValuePreview:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg)",fontSize:12,textAlign:"right"},inputRecipeBinding:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg-muted)",fontSize:11},eventList:{display:"grid"},eventRow:{display:"grid",gridTemplateColumns:"96px minmax(0, 1fr)",gap:10,padding:"6px 0",borderBottom:"1px solid var(--sd-border-soft)"},eventType:{color:"var(--sd-fg)",fontWeight:600,fontSize:12},eventMeta:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--sd-fg-muted)",fontSize:11},mutedText:{color:"var(--sd-fg-muted)",fontSize:12},compiledQuery:{display:"grid",gap:10},resultPreview:{display:"grid",gap:8},resultPreviewHeader:{display:"flex",alignItems:"baseline",justifyContent:"space-between",gap:10},resultPreviewTitle:{color:"var(--sd-fg)",fontSize:12,fontWeight:650},resultPreviewSummary:{flex:"0 0 auto",color:"var(--sd-fg-subtle)",fontSize:11,fontVariantNumeric:"tabular-nums"},resultPreviewScroller:{maxHeight:260,overflow:"auto",border:"1px solid var(--sd-border)",borderRadius:5,background:"var(--sd-bg-muted)"},resultPreviewTable:{width:"100%",borderCollapse:"collapse",tableLayout:"fixed",fontSize:11},resultPreviewTh:{position:"sticky",top:0,zIndex:1,padding:"6px 8px",borderBottom:"1px solid var(--sd-border)",background:"var(--sd-bg-raised)",color:"var(--sd-fg-muted)",fontSize:10,fontWeight:700,letterSpacing:"0.06em",textAlign:"left",textTransform:"uppercase"},resultPreviewTd:{minWidth:0,padding:"6px 8px",borderBottom:"1px solid var(--sd-border-soft)",color:"var(--sd-fg)",fontFamily:$,fontSize:11,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",verticalAlign:"top"},resultPreviewEmptyCell:{padding:"9px 10px",color:"var(--sd-fg-subtle)",fontSize:12,textAlign:"center"},resultPreviewFootnote:{color:"var(--sd-fg-subtle)",fontSize:11},codeBlockGroup:{display:"grid",gap:5},codeBlockLabel:{...ie},codeBlock:{maxHeight:260,margin:0,overflow:"auto",padding:"8px 10px",border:"1px solid var(--sd-border)",borderRadius:5,background:"var(--sd-bg-muted)",color:"var(--sd-fg)",fontFamily:$,fontSize:11,lineHeight:1.5,whiteSpace:"pre-wrap"},emptyState:{padding:10,color:"var(--sd-fg-muted)",textAlign:"center",fontSize:12},inspectButton:{display:"inline-flex",alignItems:"center",gap:5,height:24,maxWidth:"100%",padding:"0 7px",borderWidth:1,borderStyle:"solid",borderRadius:5,background:"var(--sd-bg)",font:`600 11px/1 ${me}`,cursor:"pointer"},inspectButtonText:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},je=10,Ae=100,ht=25,bt=500,Sr={enabled:!1,queries:[],issues:[],getQuery:()=>{},getQueries:()=>[]},Fe=u.createContext(null),ze=u.createContext(null),Pe=u.createContext(void 0),H=[];function vt({debug:e,children:r}){const t=u.useMemo(()=>wn(e),[e]),[n,s]=u.useReducer(gn,t,Tr),o=u.useRef(n),a=u.useId(),[p,f]=u.useState({open:!1});o.current=n,u.useEffect(()=>{s({type:"config",config:t})},[t]),u.useEffect(()=>{if(!n.enabled||!n.exposeWindowBridge||typeof window>"u")return;const b=Sn(()=>o.current);return xt({ownerId:a,bridge:b}),()=>{St(a)}},[a,n.enabled,n.exposeWindowBridge]);const c=u.useMemo(()=>({state:n,dispatch:s}),[n]),m=u.useCallback(b=>{f({open:!0,focus:b})},[]),g=u.useCallback(()=>{f(b=>({...b,open:!1}))},[]),h=u.useCallback(b=>{f({open:!0,focus:b})},[]),x=u.useMemo(()=>({open:p.open,focus:p.focus,openDevtools:m,closeDevtools:g,focusTrace:h}),[g,h,m,p.focus,p.open]);return i.jsx(Fe.Provider,{value:c,children:i.jsx(ze.Provider,{value:x,children:r})})}function xt(e){const r=H.findIndex(t=>t.ownerId===e.ownerId);r>=0&&H.splice(r,1),H.push(e),wr()}function St(e){const r=H.findIndex(t=>t.ownerId===e);r>=0&&H.splice(r,1),wr()}function wr(){if(typeof window>"u")return;const e=H[H.length-1];e?window.__SEMAPHOR_DEVTOOLS__=e.bridge:delete window.__SEMAPHOR_DEVTOOLS__}function wt({id:e,title:r,children:t}){const n=u.useMemo(()=>({id:e,title:r}),[e,r]);return i.jsx(Pe.Provider,{value:n,children:t})}function Ir({buttonPosition:e="bottom-right",initialIsOpen:r=!1,panelPosition:t="right",className:n,style:s}={}){const o=He(),a=u.useContext(ze),[p,f]=u.useState(""),[c,m]=u.useState(!1),g=u.useRef(null),h=u.useRef(null),x=a==null?void 0:a.openDevtools,b=a==null?void 0:a.closeDevtools,S=(a==null?void 0:a.open)===!0;u.useEffect(()=>{xr()},[]),u.useEffect(()=>{r&&o.enabled&&(x==null||x())},[r,o.enabled,x]),u.useEffect(()=>{if(!S||!b)return;const v=w=>{var q,L;const E=w.target;E instanceof Node&&((q=g.current)!=null&&q.contains(E)||(L=h.current)!=null&&L.contains(E)||b())};return document.addEventListener("pointerdown",v,!0),document.addEventListener("mousedown",v,!0),document.addEventListener("click",v,!0),()=>{document.removeEventListener("pointerdown",v,!0),document.removeEventListener("mousedown",v,!0),document.removeEventListener("click",v,!0)}},[b,S]);const d=u.useMemo(()=>st(o.queries),[o.queries]),y=u.useMemo(()=>_e(o.queries),[o.queries]),O=Pt(d),C=u.useMemo(()=>Ht(o.queries,p),[o.queries,p]),B=u.useMemo(()=>Vt(C),[C]),R=u.useMemo(()=>qr(C,a==null?void 0:a.focus)||C[0],[C,a==null?void 0:a.focus]);return!o.enabled||!a?null:i.jsxs(i.Fragment,{children:[i.jsxs("button",{ref:g,type:"button","aria-label":"Open Semaphor Inspector",title:O,className:n?`${T} ${n}`:T,style:{...l.launcher,...ut(e),...ct(d.severity),...s},onClick:()=>{var w;const v=(w=y[0])==null?void 0:w.trace;a.openDevtools(v?{traceId:v.traceId,queryId:v.queryId,viewId:v.viewId}:void 0)},children:[i.jsx(jt,{}),i.jsx("span",{style:l.launcherText,children:d.total}),d.issueCount>0?i.jsxs("span",{style:l.launcherIssueCount,children:[d.issueCount," issue",d.issueCount===1?"":"s"]}):null]}),a.open?i.jsxs("div",{ref:h,role:"dialog","aria-label":"Semaphor Inspector","aria-modal":"false",className:T,style:{...l.panel,...ft(t),...c?l.panelFullscreen:null},children:[i.jsxs("div",{style:l.panelHeader,children:[i.jsxs("div",{style:l.panelTitleBlock,children:[i.jsx("div",{style:l.panelTitle,children:"Semaphor Inspector"}),i.jsxs("div",{style:l.panelSubtitle,children:[d.total," queries · ",d.loading," loading ·"," ",d.failed," failed · ",d.errorCount," errors ·"," ",d.warningCount," warnings"]})]}),i.jsxs("div",{style:l.panelActions,children:[i.jsx("button",{type:"button","aria-label":c?"Exit fullscreen Semaphor Inspector":"Enter fullscreen Semaphor Inspector",title:c?"Exit fullscreen Semaphor Inspector":"Enter fullscreen Semaphor Inspector",style:l.iconButton,onClick:()=>m(v=>!v),children:c?i.jsx(P.Minimize2,{size:15}):i.jsx(P.Maximize2,{size:15})}),i.jsx("button",{type:"button","aria-label":"Close Semaphor Inspector",style:l.iconButton,onClick:a.closeDevtools,children:i.jsx(We.X,{size:15})})]})]}),i.jsxs("label",{style:l.searchBox,children:[i.jsx(P.Search,{size:14}),i.jsx("input",{"aria-label":"Search Semaphor traces",value:p,onChange:v=>f(v.currentTarget.value),placeholder:"Search traces",style:l.searchInput})]}),y.length?i.jsx(Tt,{issues:y,onSelect:v=>a.focusTrace({traceId:v.traceId,queryId:v.queryId,viewId:v.viewId})}):null,i.jsxs("div",{style:{...l.panelBody,...pt(t)},children:[i.jsx("div",{style:{...l.queryList,...mt()},"aria-label":"Registered queries",children:C.length?B.map(v=>i.jsxs("div",{style:l.queryGroup,children:[i.jsxs("div",{style:l.queryGroupHeader,children:[i.jsx("span",{children:v.title}),i.jsx("span",{style:l.queryGroupCount,children:v.traces.length})]}),v.traces.length?v.traces.map(w=>{var ee;const E=Ut(w,R),q=xe(w),L=Cr(w),ce=kr(w),X=Jt(w,q,ce),Z=X.join(" · "),k=jr(L),_=nt(y,w);return i.jsxs("button",{type:"button",title:`${q} · ${L} · ${Z}`,style:{...l.queryListItem,...E?l.queryListItemSelected:null},onClick:()=>a.focusTrace({traceId:w.traceId,queryId:w.queryId,viewId:w.viewId}),children:[i.jsxs("span",{style:l.queryListItemHeader,children:[i.jsx(Et,{status:(ee=w.latestAttempt)==null?void 0:ee.status}),i.jsx("span",{style:l.queryListTitle,title:q,children:q}),i.jsx("span",{style:{...l.queryListKindChip,...Ar(k)},children:L}),_>0?i.jsx("span",{style:l.queryListIssueBadge,children:_}):null]}),i.jsx("span",{className:`${T}-source`,style:l.queryListSource,title:Z,children:X.map((re,te)=>i.jsxs(u.Fragment,{children:[te>0?i.jsx("span",{style:l.queryListSubtitleSep,children:" · "}):null,i.jsx("span",{children:re})]},`${re}:${te}`))})]},$e(w))}):i.jsx("div",{style:l.queryGroupEmpty,children:"No input traces"})]},v.title)):i.jsx("div",{style:l.emptyState,children:"No matching traces"})}),i.jsx(At,{trace:R})]})]}):null]})}function It({queryId:e,viewId:r,label:t,className:n,style:s}={}){var g,h;const o=He(),a=u.useContext(ze),p=u.useContext(Pe);u.useEffect(()=>{xr()},[]);const f=r||(p==null?void 0:p.id),c=u.useMemo(()=>Qt(o.queries,{queryId:e,viewId:f}),[o.queries,e,f]);if(!o.enabled||!a||!c)return null;const m=t||`Inspect ${Yt(c,!!e)}`;return i.jsxs("button",{type:"button","aria-label":m,title:m,className:n?`${T} ${n}`:T,style:{...l.inspectButton,...gt((g=c.latestAttempt)==null?void 0:g.status),...s},onClick:()=>a.openDevtools({traceId:c.traceId,queryId:c.queryId,viewId:c.viewId}),children:[i.jsx(P.Eye,{size:13}),i.jsx("span",{style:l.inspectButtonText,children:((h=c.latestAttempt)==null?void 0:h.status)||"idle"})]})}function He(){const e=u.useContext(Fe);return!e||!e.state.enabled?Sr:le(e.state)}function qt({spec:e,queryKind:r,queryKey:t,intent:n,activeInputs:s,debug:o}){const a=u.useContext(Fe),p=u.useContext(Pe),f=!!(a!=null&&a.state.enabled),c=a==null?void 0:a.dispatch,m=qn(e),g=et(e),h=u.useMemo(()=>JSON.stringify(e),[e]),x=u.useMemo(()=>JSON.stringify(s||[]),[s]),b=u.useMemo(()=>JSON.stringify(n||null),[n]),S=u.useRef(e),d=u.useRef(h),y=u.useRef(n),O=u.useRef(b),C=u.useRef(s),B=u.useRef(x),R=In(o),v=JSON.stringify(R||[]),w=u.useRef(R),E=u.useRef(v);d.current!==h&&(d.current=h,S.current=e),O.current!==b&&(O.current=b,y.current=n),B.current!==x&&(B.current=x,C.current=s),E.current!==v&&(E.current=v,w.current=R);const q=S.current,L=y.current,ce=C.current,X=w.current,Z=u.useId(),k=u.useMemo(()=>m||`query_${Lr(t)}`,[t,m]),_=(o==null?void 0:o.viewId)||(p==null?void 0:p.id),ee=(o==null?void 0:o.viewTitle)||(o==null?void 0:o.title)||(p==null?void 0:p.title),re=o==null?void 0:o.visualType,te=o==null?void 0:o.sectionTitle,F=u.useMemo(()=>[_||"unscoped-view",k,Z].join("::"),[k,Z,_]),Je=u.useMemo(()=>({traceKey:F,spec:q,queryId:k,queryLabel:g,queryKind:r,builder:jn(r),viewId:_,viewTitle:ee,visualType:re,sectionTitle:te,sourceHints:X,intent:L,activeInputs:ce,clientWarnings:m?[]:["Query spec is missing an explicit id; using an opaque internal id."]}),[k,r,m,g,q,ce,L,X,te,F,_,ee,re]);u.useEffect(()=>{if(!(!f||!c))return c({type:"register",descriptor:Je}),()=>{c({type:"unregister",traceKey:F})}},[Je,c,f,F]);const K=u.useCallback((j,V)=>{!f||!c||c({type:"event",traceKey:F,event:j,latestAttempt:V})},[c,f,F]),Ye=u.useCallback(()=>{K({type:"query_started",queryId:k,at:ye()},{status:"loading"})},[K,k]),Xe=u.useCallback((j,V)=>{const ne=pr(j),se=On(j),Hr=$n(j),rr=fr(j);K({type:"query_succeeded",queryId:k,requestId:ne,at:ye(),rowCount:se,durationMs:V},{requestId:ne,status:"success",durationMs:V,rowCount:se,columnCount:Hr,metricCoverage:Dn(j),resultPreview:Ne(rr,Mn(j)),executionResult:rr})},[K,k]),fe=u.useCallback((j,V)=>{const ne=pr(j),se=j instanceof Error?j.message:String(j);K({type:"query_failed",queryId:k,requestId:ne,at:ye(),errorMessage:se},{requestId:ne,status:"error",durationMs:V,errorMessage:se,executionResult:fr(j)})},[K,k]),Ze=u.useCallback(j=>{K({type:"query_ignored_stale",queryId:k,at:ye(),reason:j})},[K,k]),er=u.useCallback(j=>{fe(j,0)},[fe]),Ie=f?a==null?void 0:a.state.entries[F]:void 0;return u.useMemo(()=>({enabled:f,queryId:k,trace:Ie?he(Ie):void 0,start:Ye,success:Xe,failure:fe,ignored:Ze,validationFailure:er}),[f,fe,Ze,k,Ye,Xe,Ie,er])}function jt(){return i.jsx("span",{style:l.logoMark,"aria-hidden":!0,children:i.jsxs("svg",{viewBox:"0 0 100 100",fill:"none",width:"16",height:"16",focusable:"false",children:[i.jsx("rect",{x:"20",y:"15",width:"60",height:"12",rx:"6",fill:"currentColor"}),i.jsx("rect",{x:"20",y:"35",width:"40",height:"12",rx:"6",fill:"currentColor"}),i.jsx("rect",{x:"40",y:"55",width:"40",height:"12",rx:"6",fill:"currentColor"}),i.jsx("rect",{x:"20",y:"75",width:"60",height:"12",rx:"6",fill:"currentColor"})]})})}function At({trace:e}){var R,v,w,E,q;if(!e)return i.jsx("div",{style:l.detailsPane,children:i.jsx("div",{style:l.emptyState,children:"No traces registered yet"})});const r=e.latestAttempt,t=r==null?void 0:r.executionResult,n=ke((R=t==null?void 0:t.validation)==null?void 0:R.warnings),s=ke((v=t==null?void 0:t.validation)==null?void 0:v.errors),o=cn((w=t==null?void 0:t.coverage)==null?void 0:w.missingObligations),a=ke((E=t==null?void 0:t.coverage)==null?void 0:E.warnings),p=t==null?void 0:t.compiledQuery,f=mn(t),c=((q=e.server)==null?void 0:q.compiledSql)||f.compiledSql,m=(r==null?void 0:r.resultPreview)||Ne(t),g=[...r!=null&&r.errorMessage?[r.errorMessage]:[],...s],h=[...e.clientWarnings,...n,...o,...a],x=e.inputsApplied.length>0,b=!!(p||c),S=en(e),d=sn(r==null?void 0:r.rowCount),y=on(r==null?void 0:r.durationMs),O=e.sourceRefs.length,C=Cr(e),B=jr(C);return i.jsxs("div",{style:l.detailsPane,children:[i.jsxs("div",{style:l.detailsHeader,children:[i.jsxs("div",{style:l.detailsHeaderTopRow,children:[i.jsx("span",{"aria-hidden":!0,style:{...l.detailsHeaderStatusDot,...vr(r==null?void 0:r.status)}}),i.jsx("span",{style:l.detailsTitle,children:xe(e)}),i.jsx("span",{style:{...l.detailsKindChip,...Ar(B)},children:C})]}),i.jsxs("div",{style:l.metaStrip,children:[i.jsx("span",{style:l.metaStripItem,children:S}),i.jsx("span",{style:l.metaStripDot,children:"·"}),i.jsxs("span",{style:l.metaStripItem,children:[d," rows"]}),i.jsx("span",{style:l.metaStripDot,children:"·"}),i.jsx("span",{style:l.metaStripItem,children:y}),O>0?i.jsxs(i.Fragment,{children:[i.jsx("span",{style:l.metaStripDot,children:"·"}),i.jsx("span",{style:l.metaStripItem,children:O===1?"1 source":`${O} sources`})]}):null]})]}),g.length?i.jsx(or,{tone:"error",title:"Error",items:g}):null,h.length?i.jsx(or,{tone:"warning",title:"Warnings",items:h}):null,i.jsx(Rt,{trace:e}),x?i.jsx(Wt,{inputs:e.inputsApplied}):null,i.jsx(Ct,{trace:e,resultPreview:m,compiledQuery:p,compiledSql:c,hasCompiled:b})]})}function Ct({trace:e,resultPreview:r,compiledQuery:t,compiledSql:n,hasCompiled:s}){var b,S;const o=[];r&&o.push({id:"returned",label:"Returned",render:()=>i.jsx(Nt,{preview:r})}),s&&o.push({id:"compiled",label:"Compiled",render:()=>i.jsx(_t,{compiledQuery:t,compiledSql:n})}),(e.sourceRefs.length||e.fieldRefs.length)&&o.push({id:"lineage",label:"Sources",render:()=>i.jsx($t,{trace:e})}),(b=e.sourceHints)!=null&&b.length&&o.push({id:"hints",label:"Hints",render:()=>i.jsx(Dt,{hints:e.sourceHints??[]})}),o.push({id:"lifecycle",label:"Lifecycle",render:()=>i.jsx(kt,{trace:e})}),o.push({id:"raw",label:"Raw",render:()=>i.jsx("pre",{style:l.codeBlock,children:an(e)})});const a=(S=o[0])==null?void 0:S.id,p=e.traceId||`${e.viewId??""}:${e.queryId}`,[f,c]=u.useState(a),m=u.useRef(p),g=u.useRef(!1),h=o.map(d=>d.id).join("|");u.useEffect(()=>{if(m.current!==p){m.current=p,g.current=!1,c(a);return}if(!(f?h.split("|").includes(f):!1)){g.current=!1,c(a);return}!g.current&&f!==a&&c(a)},[f,a,h,p]);const x=o.find(d=>d.id===f)??o[0];return i.jsxs("div",{style:l.traceTabs,children:[i.jsx("div",{style:l.traceTabBar,role:"tablist","aria-label":"Trace details",children:o.map(d=>{const y=d.id===x.id;return i.jsx("button",{type:"button",role:"tab","aria-selected":y,className:`${T}-tab`,style:{...l.traceTab,...y?l.traceTabActive:null},onClick:()=>{g.current=!0,c(d.id)},children:d.label},d.id)})}),i.jsx("div",{style:l.traceTabPanel,role:"tabpanel",children:x.render()})]})}function kt({trace:e}){return e.recentEvents.length?i.jsx("div",{style:l.eventList,children:e.recentEvents.slice(-5).map((r,t)=>i.jsxs("div",{style:l.eventRow,children:[i.jsx("span",{style:l.eventType,children:ln(r)}),i.jsx("span",{style:l.eventMeta,children:dn(r)})]},`${r.type}:${r.at}:${t}`))}):i.jsx("div",{style:l.mutedText,children:"No attempts recorded"})}function or({tone:e,title:r,items:t}){const n=e==="error"?l.alertCardError:l.alertCardWarning;return i.jsxs("div",{style:{...l.alertCard,...n},children:[i.jsx("div",{style:l.alertCardTitle,children:r}),t.length>1?i.jsx("ul",{style:l.alertCardList,children:t.map((s,o)=>i.jsx("li",{children:s},`${e}-${o}`))}):i.jsx("div",{children:t[0]})]})}function Tt({issues:e,onSelect:r}){const[t,n]=u.useState(!1),s=e.slice(0,6),o=e.length-s.length,a=e.filter(c=>c.tone==="error").length,p=e.length-a,f=[a?`${a} error${a===1?"":"s"}`:"",p?`${p} warning${p===1?"":"s"}`:""].filter(Boolean);return i.jsxs("section",{style:l.issueSummary,"aria-label":"Semaphor trace issues",children:[i.jsxs("button",{type:"button","aria-expanded":t,style:l.issueSummaryToggle,onClick:()=>n(c=>!c),children:[i.jsxs("span",{style:l.issueSummaryHeaderLabel,children:[t?i.jsx(We.ChevronDown,{size:13}):i.jsx(P.ChevronRight,{size:13}),i.jsx("span",{children:"Issues"})]}),i.jsx("span",{style:l.issueSummaryCount,children:e.length})]}),t?i.jsxs("div",{style:l.issueSummaryList,children:[s.map((c,m)=>i.jsxs("button",{type:"button",title:`${c.title}: ${c.message}`,style:l.issueSummaryItem,onClick:()=>r(c.trace),children:[i.jsx("span",{style:{...l.issueSummaryBadge,...c.tone==="error"?l.issueSummaryBadgeError:l.issueSummaryBadgeWarning},children:c.tone==="error"?"Error":"Warning"}),i.jsxs("span",{style:l.issueSummaryText,children:[i.jsx("span",{style:l.issueSummaryTitle,children:c.title}),i.jsx("span",{style:l.issueSummaryMessage,children:c.message})]})]},`${c.trace.traceId}:${c.title}:${m}`)),o>0?i.jsxs("div",{style:l.issueSummaryMore,children:[o," more issue",o===1?"":"s"," in traces"]}):null]}):i.jsxs("div",{style:l.issueSummaryCollapsed,children:[f.join(" · ")," across traces"]})]})}function Et({status:e}){return i.jsx("span",{"aria-hidden":!0,style:{...l.statusDot,...vr(e)}})}function Rt({trace:e}){var s;const r=(s=e.projectionFieldRefs)!=null&&s.length?e.projectionFieldRefs:e.fieldRefs,t=e.inputFieldRefs||[],n=Zt(r);return i.jsxs("div",{style:l.recipe,children:[i.jsx(Lt,{sources:e.sourceRefs}),i.jsx(z,{title:"Measures",fields:n.measures}),i.jsx(z,{title:"Time fields",fields:n.timeFields}),i.jsx(z,{title:"Dimensions",fields:n.dimensions,emptyText:"No dimensions selected"}),i.jsx(z,{title:"Identifiers",fields:n.identifiers}),i.jsx(z,{title:"Other fields",fields:n.other}),i.jsx(z,{title:"Input bindings (Filters)",fields:t})]})}function Lt({sources:e}){return e.length?i.jsxs("div",{style:l.recipeGroup,children:[i.jsxs("div",{style:l.recipeGroupHeader,children:[i.jsx("span",{style:l.recipeGroupTitle,children:"From"}),i.jsx("span",{style:l.recipeGroupCount,children:e.length})]}),i.jsx("div",{style:l.sourcePillRow,children:e.map((r,t)=>i.jsx(Ot,{source:r},`${W(r)}:${t}`))})]}):null}function Ot({source:e}){const r=W(e);return i.jsxs("span",{style:l.sourcePill,title:r,children:[i.jsx("span",{style:l.sourcePillLabel,children:r}),i.jsx("span",{style:l.sourcePillRole,children:e.kind})]})}function $t({trace:e}){return i.jsxs("div",{style:l.traceLineage,children:[i.jsx(Mt,{sources:e.sourceRefs}),i.jsx(z,{title:"All field refs",fields:e.fieldRefs,emptyText:"No field refs captured"})]})}function Dt({hints:e}){return i.jsx("div",{style:l.recipeFieldList,children:e.map((r,t)=>{const n=nn(r),s=r.component||r.exportName||n||"Source hint",o=[r.exportName&&r.exportName!==s?r.exportName:void 0,n,r.note].filter(Boolean).join(" · ");return i.jsxs("div",{style:l.recipeFieldRow,title:o||s,children:[i.jsx("span",{style:l.recipeFieldName,children:s}),o?i.jsx("span",{style:l.recipeFieldMeta,children:o}):null]},`${s}:${n}:${t}`)})})}function Mt({sources:e}){return i.jsxs("div",{style:l.recipeGroup,children:[i.jsxs("div",{style:l.recipeGroupHeader,children:[i.jsx("span",{style:l.recipeGroupTitle,children:"Sources"}),i.jsx("span",{style:l.recipeGroupCount,children:e.length})]}),e.length?i.jsx("div",{style:l.recipeFieldList,children:e.map((r,t)=>i.jsxs("div",{style:l.recipeFieldRow,title:W(r),children:[i.jsx("span",{style:l.recipeFieldName,children:W(r)}),i.jsx("span",{style:l.recipeFieldMeta,children:r.kind})]},`${W(r)}:${t}`))}):i.jsx("div",{style:l.recipeEmptyText,children:"No sources captured"})]})}function z({title:e,fields:r,emptyText:t}){return!r.length&&!t?null:i.jsxs("div",{style:l.recipeGroup,children:[i.jsxs("div",{style:l.recipeGroupHeader,children:[i.jsx("span",{style:l.recipeGroupTitle,children:e}),i.jsx("span",{style:l.recipeGroupCount,children:r.length})]}),r.length?i.jsx("div",{style:l.fieldChipList,children:r.map((n,s)=>i.jsx(Bt,{field:n,groupTitle:e},`${Ve(n)}:${s}`))}):i.jsx("div",{style:l.recipeEmptyText,children:t})]})}function Bt({field:e,groupTitle:r}){const t=rn(e),n=e.label||e.name,s=e.dataType&&e.dataType!=="unknown"?e.dataType:void 0,o=e.source?W(e.source):void 0,a=[t,s,o].filter(Boolean).join(" · "),p=Kt(e,r);return i.jsxs("div",{className:`${T}-field-row`,style:l.fieldChip,title:a,children:[i.jsx("span",{style:{...l.fieldGlyph,...p.style},children:p.text}),e.aggregate?i.jsx("span",{style:l.fieldAggBadge,children:e.aggregate}):null,i.jsx("span",{style:l.fieldChipName,children:n}),s?i.jsx("span",{style:l.fieldChipMeta,children:s}):null,s&&o?i.jsx("span",{style:l.fieldChipMetaDot,children:"·"}):null,o?i.jsx("span",{style:l.fieldChipMeta,children:o}):null]})}function Kt(e,r){const t=e.dataType,n=e.role;return!!e.aggregate||n==="measure"||r==="Measures"?{text:"Σ",style:{borderColor:"var(--sd-tone-metric-border)",background:"var(--sd-tone-metric-bg)",color:"var(--sd-tone-metric-fg)"}}:t==="date"||t==="datetime"||n==="date"||r==="Time fields"?{text:"◷",style:{borderColor:"var(--sd-tone-date-border)",background:"var(--sd-tone-date-bg)",color:"var(--sd-tone-date-fg)"}}:t==="number"?{text:"#",style:{borderColor:"var(--sd-tone-records-border)",background:"var(--sd-tone-records-bg)",color:"var(--sd-tone-records-fg)"}}:t==="boolean"?{text:"◐",style:{borderColor:"var(--sd-border)",background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)"}}:{text:"A",style:{borderColor:"var(--sd-tone-string-border)",background:"var(--sd-tone-string-bg)",color:"var(--sd-tone-string-fg)"}}}function Wt({inputs:e}){return i.jsxs("div",{style:l.inputsAppliedBlock,children:[i.jsxs("div",{style:l.inputsAppliedHeader,children:[i.jsx("span",{style:l.inputsAppliedTitle,children:"Active Inputs (Active Filters)"}),i.jsx("span",{style:l.inputsAppliedCount,children:e.length})]}),i.jsx("div",{style:l.inputRecipeList,children:e.map(r=>{const t=tn(r);return i.jsxs("div",{style:l.inputRecipeRow,title:t.title,children:[i.jsxs("div",{style:l.inputRecipeHeader,children:[i.jsx("span",{style:l.inputRecipeLabel,title:t.title,children:t.label}),t.showId?i.jsx("span",{style:l.inputRecipeId,title:r.inputId,children:r.inputId}):null,t.operator?i.jsx("span",{style:l.inputOperatorBadge,children:t.operator}):null,i.jsx("span",{style:l.inputValuePreview,title:t.value,children:t.value})]}),t.binding?i.jsx("div",{style:l.inputRecipeBinding,title:t.binding,children:t.binding}):null]},r.inputId)})})]})}function Nt({preview:e}){return i.jsxs("div",{style:l.resultPreview,children:[i.jsxs("div",{style:l.resultPreviewHeader,children:[i.jsx("span",{style:l.resultPreviewTitle,children:e.title}),i.jsx("span",{style:l.resultPreviewSummary,children:e.summary})]}),i.jsx("div",{style:l.resultPreviewScroller,children:i.jsxs("table",{style:l.resultPreviewTable,children:[i.jsx("thead",{children:i.jsx("tr",{children:e.columns.map(r=>i.jsx("th",{style:l.resultPreviewTh,children:r.label},r.key))})}),i.jsx("tbody",{children:e.rows.length?e.rows.map((r,t)=>i.jsx("tr",{children:e.columns.map(n=>i.jsx("td",{style:l.resultPreviewTd,children:Xr(r[n.key])},n.key))},t)):i.jsx("tr",{children:i.jsx("td",{colSpan:e.columns.length,style:l.resultPreviewEmptyCell,children:"No rows returned"})})})]})}),e.truncatedRows||e.truncatedColumns?i.jsxs("div",{style:l.resultPreviewFootnote,children:["Showing first ",de," rows and first"," ",Oe," columns."]}):null]})}function _t({compiledQuery:e,compiledSql:r}){return(e==null?void 0:e.kind)==="sql"?i.jsxs("div",{style:l.compiledQuery,children:[i.jsx(ar,{label:"SQL",value:e.sql}),e.pythonCode?i.jsx(Ce,{label:"Python",value:e.pythonCode}):null,e.parameters?i.jsx(Ce,{label:"Parameters",value:De(e.parameters)}):null]}):r?i.jsx(ar,{label:"SQL",value:r}):i.jsx(Ce,{label:"Compiled Query",value:De(e)})}function Ce({label:e,value:r}){return i.jsxs("div",{style:l.codeBlockGroup,children:[i.jsx("div",{style:l.codeBlockLabel,children:e}),i.jsx("pre",{style:l.codeBlock,children:r})]})}function ar({label:e,value:r}){return i.jsxs("div",{style:l.codeBlockGroup,children:[i.jsx("div",{style:l.codeBlockLabel,children:e}),i.jsx("pre",{style:l.codeBlock,children:zt(r)})]})}const Ft=new Set(["SELECT","FROM","JOIN","LEFT","RIGHT","INNER","OUTER","CROSS","ON","USING","WHERE","AND","OR","GROUP","BY","HAVING","ORDER","ASC","DESC","LIMIT","OFFSET","AS","BETWEEN","IN","NOT","NULL","IS","CASE","WHEN","THEN","ELSE","END","DISTINCT","UNION","ALL","WITH"]);function zt(e){return e.split(/(\s+|,|\(|\))/).map((t,n)=>{if(!t)return null;const s=t.toUpperCase();return Ft.has(s)?i.jsx("span",{style:l.sqlKeyword,children:t},n):t.startsWith("$")||t.startsWith(":")||t.startsWith("?")?i.jsx("span",{style:l.sqlBindParam,children:t},n):i.jsx("span",{children:t},n)})}function Pt(e){return[`${e.total} ${e.total===1?"trace":"traces"}`,`${e.loading} loading`,`${e.failed} failed`,`${e.errorCount} error${e.errorCount===1?"":"s"}`,`${e.warningCount} warning${e.warningCount===1?"":"s"}`].join(" · ")}function Ht(e,r){const t=r.trim().toLowerCase();return t?e.filter(n=>[n.queryId,n.queryLabel,n.viewId,n.viewTitle,n.visualType,n.sectionTitle,n.builder,n.queryKind,kr(n)].filter(Boolean).join(" ").toLowerCase().includes(t)):e}function Vt(e){const r=e.filter(s=>s.queryKind==="inputOptions"),t=new Set(r.map($e));return[{title:"Views",traces:e.filter(s=>!t.has($e(s)))},{title:"Inputs",traces:r}]}function qr(e,r){if(!(!(r!=null&&r.traceId)&&!(r!=null&&r.queryId)&&!(r!=null&&r.viewId)))return r.traceId?e.find(t=>t.traceId===r.traceId):e.find(t=>!(r.queryId&&t.queryId!==r.queryId||r.viewId&&t.viewId!==r.viewId))}function Qt(e,r){if(r.queryId)return qr(e,r);if(!r.viewId)return;const t=e.filter(n=>n.viewId===r.viewId);return t.length===1?t[0]:void 0}function Ut(e,r){return!!(e&&r&&e.traceId===r.traceId)}function $e(e){return e.traceId}function Gt(e){switch(e){case"metric":return"metric";case"records":return"records";case"matrix":return"matrix";case"analysis":return"analysis";case"inputOptions":return"inputs";case"sql":return"sql";default:return Se(e)}}function jr(e){const r=e.trim().toLowerCase();return r==="metric"||r==="kpi"?"metric":r==="records"||r==="table"?"records":r==="matrix"||r==="pivot"?"matrix":r==="analysis"?"analysis":r==="inputs"||r==="input options"?"inputs":r==="sql"?"sql":"default"}function Ar(e){switch(e){case"metric":return{borderColor:"var(--sd-tone-metric-border)",background:"var(--sd-tone-metric-bg)",color:"var(--sd-tone-metric-fg)"};case"records":return{borderColor:"var(--sd-tone-records-border)",background:"var(--sd-tone-records-bg)",color:"var(--sd-tone-records-fg)"};case"analysis":case"matrix":return{borderColor:"var(--sd-tone-analysis-border)",background:"var(--sd-tone-analysis-bg)",color:"var(--sd-tone-analysis-fg)"};case"inputs":case"sql":case"default":default:return{borderColor:"var(--sd-border)",background:"var(--sd-bg-accent)",color:"var(--sd-fg-muted)"}}}function Jt(e,r,t){const n=[];return e.queryLabel&&e.queryLabel!==r&&n.push(e.queryLabel),e.queryId&&e.queryId!==r&&e.queryId!==e.queryLabel?n.push(e.queryId):e.viewId&&e.viewId!==r&&e.viewId!==e.queryLabel&&n.push(e.viewId),n.push(t),n}function Cr(e){return Xt(e.visualType)||Gt(e.queryKind)}function Yt(e,r){return r?e.queryLabel||e.queryId:xe(e)}function Xt(e){if(e)return e.replace(/[_-]+/g," ").replace(/\b\w/g,r=>r.toUpperCase())}function kr(e){const r=e.sourceRefs.map(W);return r.length?r.length===1?r[0]:`${r[0]} + ${r.length-1} more`:"No source"}function Zt(e){return e.reduce((r,t)=>(t.role==="measure"?r.measures.push(t):t.role==="date"?r.timeFields.push(t):t.role==="dimension"?r.dimensions.push(t):t.role==="id"?r.identifiers.push(t):r.other.push(t),r),{measures:[],timeFields:[],dimensions:[],identifiers:[],other:[]})}function en(e){var r,t;if(e.queryKind==="records"&&((r=e.projectionFieldRefs)!=null&&r.length)&&e.projectionFieldRefs.every(n=>n.role==="measure")&&((t=e.latestAttempt)==null?void 0:t.rowCount)===1)return"KPI query";switch(e.queryKind){case"metric":return"KPI query";case"records":return"Records query";case"matrix":return"Matrix query";case"analysis":return"Analysis query";case"inputOptions":return"Input options query";case"sql":return"SQL query";default:return Se(e.queryKind)}}function rn(e){return[e.aggregate,e.label||e.name].filter(Boolean).join(" ")}function tn(e){var p,f,c;const r=e.valuePreview||"redacted",t=e.inputLabel||e.inputId,n=((p=e.fieldRef)==null?void 0:p.label)||((f=e.fieldRef)==null?void 0:f.name),s=(c=e.fieldRef)!=null&&c.source?W(e.fieldRef.source):void 0,o=[n?`on ${n}`:void 0,s].filter(Boolean).join(" · "),a=[t,e.inputId,e.operator,r,o].filter(Boolean).join(" - ");return{label:t,showId:t!==e.inputId,operator:e.operator,value:r,binding:o,title:a}}function W(e){return e.kind==="semantic"?e.datasetName||e.datasetId||e.domainId:e.kind==="physical"?[e.schemaName,e.tableName].filter(Boolean).join(".")||e.tableName:e.connectionId?`SQL ${e.connectionId}`:"SQL source"}function nn(e){if(e.file)return e.line&&e.column?`${e.file}:${e.line}:${e.column}`:e.line?`${e.file}:${e.line}`:e.file}function sn(e){return typeof e=="number"?e.toLocaleString():"-"}function on(e){return typeof e=="number"?`${Math.round(e)}ms`:"-"}function an(e){return De(e)}function De(e){return JSON.stringify(e,null,2)??"undefined"}function ln(e){switch(e.type){case"query_started":return"Started";case"query_succeeded":return"Succeeded";case"query_failed":return"Failed";case"query_ignored_stale":return"Ignored stale";case"input_changed":return"Input changed";default:return un(e)}}function dn(e){return[e.at,"durationMs"in e&&typeof e.durationMs=="number"?`${Math.round(e.durationMs)}ms`:void 0,"rowCount"in e&&typeof e.rowCount=="number"?`${e.rowCount} rows`:void 0,"reason"in e?e.reason:void 0,"errorMessage"in e?e.errorMessage:void 0].filter(Boolean).join(" - ")}function un(e){throw new Error(`Unsupported Semaphor trace event: ${JSON.stringify(e)}`)}function cn(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"):[]}function ke(e){return Array.isArray(e)?e.map(r=>fn(r)).filter(r=>!!r):[]}function fn(e){var r;return(r=pn(e))==null?void 0:r.message}function pn(e){if(typeof e=="string")return{message:e};if(!e||typeof e!="object"||Array.isArray(e))return;const r=e,t=typeof r.message=="string"?r.message:"",n=typeof r.code=="string"?r.code:"",s=typeof r.path=="string"?r.path:"";return t&&n?{message:s?`${t} (${n}, ${s})`:`${t} (${n})`,code:n,...s?{path:s}:{}}:t?{message:t}:n?{message:n,code:n}:void 0}function mn(e){const r=e==null?void 0:e.metadata,t=r&&typeof r=="object"&&!Array.isArray(r)&&"dataAppDebug"in r&&r.dataAppDebug&&typeof r.dataAppDebug=="object"&&!Array.isArray(r.dataAppDebug)?r.dataAppDebug:void 0;return{compiledSql:typeof(t==null?void 0:t.compiledSql)=="string"?t.compiledSql:void 0,queryHash:typeof(t==null?void 0:t.queryHash)=="string"?t.queryHash:void 0}}function Tr(e){return{...e,order:[],entries:{},sequence:0}}function gn(e,r){if(r.type==="config")return r.config.enabled?{...e,...r.config}:Tr(r.config);if(!e.enabled)return e;switch(r.type){case"register":return vn(yn(e,r.descriptor));case"unregister":return hn(e,r.traceKey);case"event":return bn(e,r);default:return e}}function yn(e,r){const t=e.entries[r.traceKey],n=t?e.sequence:e.sequence+1,s=Qe(),o={...t||xn(r),...Er(r),traceKey:r.traceKey,latestAttempt:(t==null?void 0:t.latestAttempt)||{status:"idle"},recentEvents:(t==null?void 0:t.recentEvents)||[],mounted:!0,registeredAt:(t==null?void 0:t.registeredAt)||n,lastEventAt:(t==null?void 0:t.lastEventAt)||s};return{...e,sequence:n,order:t?e.order:[...e.order,r.traceKey],entries:{...e.entries,[r.traceKey]:o}}}function hn(e,r){const t=e.entries[r];return t?{...e,entries:{...e.entries,[r]:{...t,mounted:!1}}}:e}function bn(e,r){const t=e.entries[r.traceKey];if(!t)return e;const n=Qe(),s=[...t.recentEvents,r.event].slice(-e.maxEventsPerQuery);return{...e,entries:{...e.entries,[r.traceKey]:{...t,latestAttempt:r.latestAttempt?{...t.latestAttempt,...r.latestAttempt}:t.latestAttempt,recentEvents:s,lastEventAt:n}}}}function vn(e){if(e.order.length<=e.maxQueries)return e;const r=e.order.map(s=>e.entries[s]).filter(s=>!!s).sort((s,o)=>s.mounted!==o.mounted?s.mounted?1:-1:s.lastEventAt-o.lastEventAt),t=e.order.length-e.maxQueries,n=new Set(r.slice(0,t).map(s=>s.traceKey));return n.size?{...e,order:e.order.filter(s=>!n.has(s)),entries:Object.fromEntries(Object.entries(e.entries).filter(([s])=>!n.has(s)))}:e}function xn(e){const r=Qe();return{...Er(e),traceKey:e.traceKey,latestAttempt:{status:"idle"},recentEvents:[],mounted:!0,registeredAt:0,lastEventAt:r}}function Er(e){var n;const r=Tn(e.spec),t=En(e.spec,e.activeInputs);return{traceId:Lr(e.traceKey),viewId:e.viewId,viewTitle:e.viewTitle,visualType:e.visualType,sectionTitle:e.sectionTitle,queryId:e.queryId,queryLabel:e.queryLabel,queryKind:e.queryKind,builder:e.builder,sourceRefs:kn(e.intent),sourceHints:(n=e.sourceHints)!=null&&n.length?e.sourceHints:void 0,projectionFieldRefs:r,inputFieldRefs:t,fieldRefs:Rn(e.intent),inputsApplied:(e.activeInputs||[]).map(s=>({inputId:s.inputId,inputLabel:s.label,fieldRef:s.field,operator:s.operator,valuePreview:An(s)})),recentEvents:[],clientWarnings:e.clientWarnings}}function he(e){const{traceKey:r,mounted:t,registeredAt:n,lastEventAt:s,...o}=e;return o}function le(e){if(!e.enabled)return Sr;const r=e.order.map(n=>e.entries[n]).filter(n=>!!n).map(he),t=_e(r).map(tt);return{enabled:!0,queries:r,issues:t,getQuery:n=>{const s=Object.values(e.entries).find(o=>o.queryId===n);return s?he(s):void 0},getQueries:n=>Object.values(e.entries).filter(s=>s.queryId===n).map(he)}}function Sn(e){return{snapshot:()=>at(le(e())),getQuery:r=>sr(le(e()).getQuery(r)),getQueries:r=>le(e()).getQueries(r).map(t=>sr(t)).filter(t=>!!t),getIssues:()=>le(e()).issues}}function wn(e){return e===void 0||e===!1?{enabled:!1,exposeWindowBridge:!1,maxEventsPerQuery:je,maxQueries:Ae}:e===!0?{enabled:!0,exposeWindowBridge:!1,maxEventsPerQuery:je,maxQueries:Ae}:{enabled:e.enabled!==!1,exposeWindowBridge:e.exposeWindowBridge===!0,maxEventsPerQuery:dr(e.maxEventsPerQuery,je,ht),maxQueries:dr(e.maxQueries,Ae,bt)}}function In(e){const t=[e==null?void 0:e.sourceHint,...(e==null?void 0:e.sourceHints)||[]].filter(n=>!!n).map(n=>({file:ge(n.file),line:lr(n.line),column:lr(n.column),exportName:ge(n.exportName),component:ge(n.component),note:ge(n.note)})).filter(n=>!!(n.file||n.line||n.column||n.exportName||n.component||n.note));return t.length?t:void 0}function ge(e){if(typeof e!="string")return;const r=e.trim();return r||void 0}function lr(e){return typeof e=="number"&&Number.isInteger(e)&&e>0?e:void 0}function dr(e,r,t){return e===void 0||!Number.isFinite(e)||!Number.isInteger(e)||e<=0?r:Math.min(e,t)}function qn(e){return typeof e.id=="string"&&e.id.trim()?e.id:void 0}function jn(e){switch(e){case"metric":return"semaphor.metric";case"records":return"semaphor.records";case"matrix":return"semaphor.matrix";case"analysis":return"semaphor.analysis";case"inputOptions":return"semaphor.inputOptions";case"sql":return"semaphor.sql";default:return Se(e)}}function Se(e){throw new Error(`Unsupported Semaphor query kind: ${JSON.stringify(e)}`)}function An(e){if(Cn(e))return;const r=e.value;if(r!==void 0){if(Array.isArray(r)){const t=r.filter(n=>typeof n=="string"||typeof n=="number"||typeof n=="boolean").map(n=>String(n));if(t.length===r.length&&t.length>0){const n=t.slice(0,3).join(", "),s=t.length>3?`, +${t.length-3} more`:"";return ur(`${n}${s}`)}return`${r.length} selected`}return typeof r=="number"||typeof r=="boolean"?String(r):typeof r=="string"?ur(r):r&&typeof r=="object"?`object(${Object.keys(r).slice(0,5).join(",")})`:String(r)}}function ur(e){return e.length>80?`${e.slice(0,77)}...`:e}function Cn(e){var t;const r=[e.inputId,e.label,(t=e.field)==null?void 0:t.name].filter(Boolean).join(" ").toLowerCase();return["token","secret","password","email","phone","ssn"].some(n=>r.includes(n))}function kn(e){const r=[];return ve(e,t=>{Ln(t)&&r.push(t)}),M.mergeSemaphorSourcesByIdentity(r)}function Tn(e){switch(e.queryKind){case"metric":case"analysis":return G([...e.measures||[],e.primaryMeasure,e.dateField,...e.dimensions||[]]);case"records":return G(e.fields||[]);case"inputOptions":return G([e.labelField,e.valueField,e.searchField,...e.disambiguationFields||[]]);case"sql":return G(e.fields||[]);case"matrix":return G([...(e.rows||[]).map(cr),...(e.columns||[]).map(cr),...e.measures.flatMap(r=>r.kind==="aggregate"?[r.field]:Object.values(r.definition.inputs).map(t=>t.field))]);default:return Se(e)}}function En(e,r){const t=[...(e.inputs||[]).map(Rr),...(r||[]).map(n=>n.field)];return G(t)}function G(e){const r=new Map;return e.forEach(t=>{t&&ue(t)&&r.set(Ve(t),t)}),[...r.values()]}function Rr(e){if(!e||typeof e!="object")return;const r=e.toAnalyticsInput;if(typeof r=="function"){const n=r.call(e);return Rr(n)}const t=e.field;return ue(t)?t:void 0}function cr(e){if(ue(e))return e;if(!e||typeof e!="object")return;const r=e.field;return ue(r)?r:void 0}function Rn(e){const r=new Map;return ve(e,t=>{ue(t)&&r.set(Ve(t),t)}),[...r.values()]}function ve(e,r){if(!(!e||typeof e!="object")){if(r(e),Array.isArray(e)){e.forEach(t=>ve(t,r));return}Object.values(e).forEach(t=>ve(t,r))}}function Ln(e){if(!e||typeof e!="object")return!1;const r=e;return r.kind==="semantic"?typeof r.domainId=="string"&&typeof r.datasetName=="string":r.kind==="physical"?typeof r.connectionId=="string"&&typeof r.tableName=="string":r.kind==="sql"?typeof r.connectionId=="string":!1}function ue(e){if(!e||typeof e!="object")return!1;const r=e;return typeof r.name=="string"&&(r.source!==void 0||r.role!==void 0||r.dataType!==void 0||r.aggregate!==void 0)}function Ve(e){return[e.name,e.role,e.aggregate,e.source?M.semaphorSourceIdentityKey(e.source):""].join(":")}function On(e){const r=e;return typeof(r==null?void 0:r.rowCount)=="number"?r.rowCount:Array.isArray(r==null?void 0:r.records)?r.records.length:void 0}function $n(e){const r=e;return Array.isArray(r==null?void 0:r.columns)?r.columns.length:void 0}function fr(e){const r=e;return r==null?void 0:r.executionResult}function Dn(e){const r=e,t=[...r!=null&&r.measures?Object.keys(r.measures):[],...r!=null&&r.measureBindings?Object.keys(r.measureBindings):[]].filter(Boolean).sort(),n=Array.isArray(r==null?void 0:r.missingMeasures)?r.missingMeasures.filter(s=>typeof s=="string"&&!!s):[];if(!(t.length===0&&n.length===0))return{...t.length>0?{populatedMetricKeys:t}:{},...n.length>0?{missingMeasures:n}:{}}}function Mn(e){const r=e;if(!r||typeof r!="object")return;const t={};return Me(r.primaryValue)&&(t.primaryValue=r.primaryValue),Me(r.comparisonValue)&&(t.comparisonValue=r.comparisonValue),typeof r.comparisonKind=="string"&&(t.comparisonKind=r.comparisonKind),(typeof r.delta=="number"||r.delta===null)&&(t.delta=r.delta),(typeof r.deltaPercent=="number"||r.deltaPercent===null)&&(t.deltaPercent=r.deltaPercent),Bn(r.measures)&&(t.measures=r.measures),Kn(r.measureBindings)&&(t.measureBindings=r.measureBindings),Array.isArray(r.missingMeasures)&&(t.missingMeasures=r.missingMeasures.filter(n=>typeof n=="string"&&!!n)),Object.keys(t).length>0?t:void 0}function Me(e){return e===null||typeof e=="number"||typeof e=="string"}function Bn(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(Me)}function Kn(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(r=>typeof r=="string")}function pr(e){const r=e;return typeof(r==null?void 0:r.requestId)=="string"?r.requestId:void 0}function Lr(e){let r=2166136261;for(let t=0;t<e.length;t+=1)r^=e.charCodeAt(t),r=Math.imul(r,16777619);return(r>>>0).toString(36)}function ye(){return new Date().toISOString()}function Qe(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const Wn=["primary","comparisons","contributors","segments","periodChanges","records","changes","drivers","absoluteDeltaDrivers","largestNegativeChanges","largestPositiveChanges","largestNegativeDrivers","largestPositiveDrivers"],Nn=["primary","records","periodChanges","changes","comparisons","contributors","segments","drivers","absoluteDeltaDrivers","largestNegativeChanges","largestPositiveChanges","largestNegativeDrivers","largestPositiveDrivers"];function Or(e){if(!e)return{};const r=Vn(e.executionResult),t=_n(e,r),n=Pn(t),s=$r(Ge(e.analysisWarnings),Gn(t));return{...e,...Object.keys(t).length?{resultSets:t}:{},...s.length?{analysisWarnings:s}:{},...n?{columns:n.columns,records:n.records,rowCount:n.rowCount}:{}}}function _n(e,r){const t=Fn(e.resultSets);for(const s of Wn){if(t[s])continue;const o=Qn(e[s]);if(!o.length)continue;const a=r.length?r:Un(o);t[s]={id:s,role:s,...Ue({records:o,columns:a,resultSetKey:s}),columns:a,rowCount:o.length}}const n=Hn(e.executionResult);return n&&n.records.length>0&&!t.records&&(t.records=n),t}function Fn(e){return Object.fromEntries(Object.entries(e||{}).map(([r,t])=>[r,zn(t,r)]))}function zn(e,r=e.id||e.role||"resultSet"){var n;const t=Ue({records:e.records||[],columns:e.columns||[],resultSetKey:r});return{...e,...t,...e.warnings||t.warnings?{warnings:$r(Ge(e.warnings),t.warnings)}:{},rowCount:e.rowCount??((n=e.records)==null?void 0:n.length)??0}}function Pn(e){var r;for(const t of Nn)if((r=e[t])!=null&&r.records.length)return e[t];return Object.values(e).find(t=>t.records.length)||Object.values(e)[0]}function Hn(e){const r=e==null?void 0:e.result;if(!(!r||r.kind!=="records"&&r.kind!=="sql"))return{id:"records",role:"records",...Ue({records:r.records,columns:r.columns,resultSetKey:"records"}),columns:r.columns,rowCount:r.rowCount??r.records.length}}function Vn(e){const r=e==null?void 0:e.result;return!r||r.kind!=="records"&&r.kind!=="sql"?[]:r.columns}function Qn(e){return Array.isArray(e)?e.filter(r=>!!(r&&typeof r=="object"&&!Array.isArray(r))):[]}function Ue({records:e,columns:r,resultSetKey:t}){if(!r.length)return{records:e};const n=[];return{records:e.map((o,a)=>{const p={};return r.forEach(f=>{if(Object.prototype.hasOwnProperty.call(o,f.key)){p[f.key]=o[f.key];return}n.push({code:"missing_analysis_result_key",severity:"warning",resultSetKey:t,rowIndex:a,columnKey:f.key,...f.name?{columnName:f.name}:{},...f.label?{columnLabel:f.label}:{},availableKeys:Object.keys(o),message:`Analysis result set "${t}" row ${a} is missing column key "${f.key}". Rows must expose values by column.key; labels and column names are display metadata only.`})}),p}),...n.length?{warnings:n}:{}}}function Un(e){return Array.from(new Set(e.flatMap(t=>Object.keys(t)))).map(t=>({key:t,name:t,label:t}))}function Gn(e){return Object.values(e).flatMap(r=>Ge(r.warnings))}function Ge(e){return Array.isArray(e)?e.filter(Jn):[]}function Jn(e){return!!(e&&typeof e=="object"&&!Array.isArray(e))}function $r(...e){const r=new Set,t=[];for(const n of e.flatMap(s=>s||[])){const s=Yn(n);r.has(s)||(r.add(s),t.push(n))}return t}function Yn(e){return e.code==="missing_analysis_result_key"?[e.code,e.resultSetKey,e.rowIndex,e.columnKey].join(":"):Be(e)}function Be(e){if(!e||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(t=>Be(t)).join(",")}]`;const r=e;return`{${Object.keys(r).sort().map(t=>`${JSON.stringify(t)}:${Be(r[t])}`).join(",")}}`}const Te={primaryValue:null},Ee={},Xn={records:[]},Re={options:[]},Zn={records:[]},Le={};function Q(e,r){const t=I.toSemaphorSelectionSnapshots(r);return t.length===0?e:{...e,selections:t,queryKey:JSON.stringify([e.queryKey,t])}}function es(e){const r=I.toSemaphorActiveInputSnapshots(e.inputs),t=I.toSemaphorAnalysisQueryOptions(e);try{const n=I.toSemaphorAnalysisIntent(e),s=Y(n,"analysis");return s?{error:s,activeInputs:r,analysisOptions:t,queryKey:A(void 0,r,s,t),idleData:Ee}:{intent:n,error:null,activeInputs:r,analysisOptions:t,queryKey:A(n,r,void 0,t),idleData:Ee}}catch(n){const s=J(n,"analysis");return{error:s,activeInputs:r,analysisOptions:t,queryKey:A(void 0,r,s,t),idleData:Ee}}}function rs(e){const r=I.toSemaphorActiveInputSnapshots(e.inputs);try{const t=I.toSemaphorMetricIntent(e),n=Y(t);return n?{error:n,activeInputs:r,queryKey:A(void 0,r,n),idleData:Te}:{intent:t,error:null,activeInputs:r,queryKey:A(t,r),idleData:Te}}catch(t){const n=J(t,"metric");return{error:n,activeInputs:r,queryKey:A(void 0,r,n),idleData:Te}}}function ts(e){const r=I.toSemaphorActiveInputSnapshots(e.inputs),t=Xn;try{const n=I.toSemaphorRecordsIntent(e),s=Y(n);return s?{error:s,activeInputs:r,queryKey:A(void 0,r,s),idleData:t}:{intent:n,error:null,activeInputs:r,queryKey:A(n,r),idleData:t}}catch(n){const s=J(n,"records");return{error:s,activeInputs:r,queryKey:A(void 0,r,s),idleData:t}}}function ns(e){const r=I.toSemaphorActiveInputSnapshots(e.inputs);try{const t=I.toSemaphorInputOptionsIntent(e),n=Y(t);return n?{error:n,activeInputs:r,queryKey:A(void 0,r,n),idleData:Re}:{intent:t,error:null,activeInputs:r,queryKey:A(t,r),idleData:Re}}catch(t){const n=J(t,"inputOptions");return{error:n,activeInputs:r,queryKey:A(void 0,r,n),idleData:Re}}}function ss(e){const r=I.toSemaphorActiveInputSnapshots(e.inputs),t=Zn;try{const n=I.toSemaphorSqlIntent(e),s=Y(n);return s?{error:s,activeInputs:r,queryKey:A(void 0,r,s),idleData:t}:{intent:n,error:null,activeInputs:r,queryKey:A(n,r),idleData:t}}catch(n){const s=J(n,"sql");return{error:s,activeInputs:r,queryKey:A(void 0,r,s),idleData:t}}}function is(e){const r=I.toSemaphorActiveInputSnapshots(e.inputs);try{const t=I.toSemaphorMatrixIntent(e),n=N.matrixWindowRequestSchema.parse(e.matrixWindowRequest),s=Y(t);return s?{error:s,activeInputs:r,queryKey:A(void 0,r,s),idleData:Le}:{intent:t,error:null,activeInputs:r,matrixWindowRequest:n,queryKey:JSON.stringify([A(t,r),n]),idleData:Le}}catch(t){const n=J(t,"matrix");return{error:n,activeInputs:r,queryKey:A(void 0,r,n),idleData:Le}}}function Ke(e){var o;if(os(e))return e;const r=e instanceof Error?e:void 0,t=e,n=t==null?void 0:t.executionResult,s=we((r==null?void 0:r.message)??String(e),{requestId:typeof(t==null?void 0:t.requestId)=="string"?t.requestId:void 0,details:t==null?void 0:t.details,executionResult:n,validation:(t==null?void 0:t.validation)??(n==null?void 0:n.validation),validationIssues:(t==null?void 0:t.validationIssues)??((o=n==null?void 0:n.validation)==null?void 0:o.errors)});return s.name=(r==null?void 0:r.name)||s.name,s.stack=r==null?void 0:r.stack,s}function J(e,r){const t=Ke(e);if(t.executionResult||t.validation)return t;const n={ok:!1,errors:[{code:"invalid_query_spec",message:t.message,path:"spec"}],warnings:[],repairHints:[{code:"invalid_query_spec",message:t.message,recommendedNextStep:"Update the Data App query spec to satisfy the SDK builder contract."}]},s=Dr(void 0,r,n),o=we(t.message,{executionResult:s,validation:n,validationIssues:n.errors});return o.stack=t.stack,o}function we(e,r={}){var s,o,a;const t=new Error(e);t.name="SemaphorDataAppQueryError",t.kind="data_app_query_error",r.requestId&&(t.requestId=r.requestId),r.details!==void 0&&(t.details=r.details),r.executionResult!==void 0&&(t.executionResult=r.executionResult),r.validation!==void 0&&(t.validation=r.validation);const n=r.validationIssues??((s=r.validation)==null?void 0:s.errors)??((a=(o=r.executionResult)==null?void 0:o.validation)==null?void 0:a.errors);return n!==void 0&&(t.validationIssues=n),t}function os(e){return e instanceof Error&&e.kind==="data_app_query_error"}function Y(e,r=e.kind){const t=M.validateSemaphorAnalyticsIntent(e);if(t.ok)return null;const n=t.errors.map(o=>o.path?`${o.code} at ${o.path}: ${o.message}`:`${o.code}: ${o.message}`).join("; "),s=Dr(e,r,t);return we(`Invalid Semaphor analytics intent. ${n}`,{executionResult:s,validation:t,validationIssues:t.errors})}function Dr(e,r,t){return{...M.getAnalyticsIntentId(e)?{intentId:M.getAnalyticsIntentId(e)}:{},...e?{intent:e}:{},status:"failed",resultShape:r,validation:t,coverage:{answeredObligations:[],missingObligations:["query_spec_validation"],warnings:t.warnings},missingFields:t.errors.filter(n=>n.code==="missing_field").flatMap(n=>{var o;const s=n.path||((o=n.repairHint)==null?void 0:o.invalidField);return s?[s]:[]}),warnings:t.warnings.map(n=>n.message),diagnosticFeedback:{version:1,status:"blocked",summary:"Data App query spec validation failed.",answered:[],blocked:t.errors.map(n=>{var o,a;const s={reasonCode:"query_validation_failed",message:n.message};return n.code==="missing_field"&&(s.missingFields=[n.path||((o=n.repairHint)==null?void 0:o.invalidField)||n.message]),(a=n.repairHint)!=null&&a.recommendedNextStep&&(s.recommendedNextStep=n.repairHint.recommendedNextStep),s})},metadata:{validationKind:"data_app_sdk_query_spec"}}}function A(e,r,t,n){return JSON.stringify({intent:e,activeInputs:r,analysisOptions:n,error:t==null?void 0:t.message})}function Mr(){return{executeAnalysis:(e,r,t)=>oe(e,r,t??{}).then(Or),executeMetric:(e,r)=>oe(e,r),executeRecords:(e,r)=>oe(e,r),executeInputOptions:(e,r)=>oe(e,r),executeSql:(e,r)=>oe(e,r),executeMatrix:async(e,r)=>{var n,s;const t=await as(e,r);if(t.status==="failed")throw Kr(((n=t.metadata.matrixFailure)==null?void 0:n.message)??"Matrix execution failed.",{executionResult:t});return{window:(s=t.result)==null?void 0:s.window,executionResult:t}}}}async function oe(e,r,t){if(!r.token)throw new Error("SemaphorDataAppProvider needs a token to execute queries.");const n=Nr(r),s=ds(e,n);let o;try{o=await Br({intent:e,activeInputs:r.activeInputs,selections:r.selections,...t?{analysisOptions:t}:{},resultShape:e.kind,...ls(r)?{debug:{responseDetail:"debug"}}:{}},r)}catch(p){throw new Error(`${s}: ${p instanceof Error?p.message:String(p)}`)}const a=await Wr(o);if(!o.ok||a.error)throw Kr(`${s}: ${a.error||`Semaphor Data App execution failed with status ${o.status}.`}`,a);return a}function Br(e,r,t){if(!r.token)throw new Error("SemaphorDataAppProvider needs a token to execute queries.");return fetch(Nr(r),{method:"POST",signal:t,headers:{"Content-Type":"application/json",Authorization:`Bearer ${r.token}`},body:JSON.stringify(e)})}async function as(e,r,t){const n=N.matrixOperationRequestSchema.parse(e),s=await Br({...n,activeInputs:r.activeInputs,selections:r.selections,resultShape:"matrix"},r,t),o=await Wr(s),a=N.matrixExecutionResultSchema.safeParse(o.executionResult);if(!a.success)throw new Error(o.error||"Matrix execution returned an invalid governed result.");if(!s.ok&&a.data.status!=="failed")throw new Error(o.error||`Matrix request failed (${s.status}).`);return a.data}function Kr(e,r){var t;return we(e,{requestId:r.requestId,details:r.details,executionResult:r.executionResult,validation:(t=r.executionResult)==null?void 0:t.validation})}function ls(e){const r=e.debug;return r?r===!0?!0:r.enabled!==!1&&r.requestServerDebug!==!1:!1}function ds(e,r){return[`Semaphor ${e.kind} query`,M.getAnalyticsIntentId(e)?`id=${M.getAnalyticsIntentId(e)}`:void 0,"label"in e&&e.label?`label=${e.label}`:void 0,us(e),`endpoint=${cs(r)}`].filter(t=>!!t).join(" ")}function us(e){const r="source"in e?e.source:void 0;if(!(!r||typeof r!="object")){if(r.kind==="semantic")return`source=${[r.domainId,r.datasetId||r.datasetName].filter(Boolean).join("/")}`;if(r.kind==="physical")return`source=${[r.connectionId,r.databaseName,r.schemaName,r.tableName].filter(Boolean).join("/")}`;if(r.kind==="sql")return r.connectionId?`source=${r.connectionId}`:void 0}}function cs(e){if(!e)return"/api/v1/data-app/execute";try{return new URL(e,"http://localhost").pathname}catch{return e}}async function Wr(e){const r=await e.text().catch(()=>"");if(!r.trim())return e.ok?{error:"Semaphor Data App execution returned an empty response."}:{};try{return JSON.parse(r)}catch{return e.ok?{error:"Semaphor Data App execution returned invalid JSON.",details:r}:{error:fs(e,r),details:r}}}function fs(e,r){const t=e.statusText?` ${e.statusText}`:"",n=r.replace(/\s+/g," ").trim();return n?`Semaphor Data App execution failed with status ${e.status}${t}: ${n.slice(0,240)}`:`Semaphor Data App execution failed with status ${e.status}${t}.`}function Nr(e){const r=ps(e).replace(/\/+$/,"");return r?r.endsWith("/api")?`${r}/v1/data-app/execute`:`${r}/api/v1/data-app/execute`:"/api/v1/data-app/execute"}function ps(e){if(e.apiBaseUrl)return e.apiBaseUrl;if(!e.token)return"";try{return We.jwtDecode(e.token).apiServiceUrl||""}catch{return""}}const _r=u.createContext({});function ms(){if(!(typeof window>"u"))return window.__SEMAPHOR_DATA_APP_RUNTIME__}function gs(){return u.useContext(_r)}function ys(e){const[r,t]=u.useState(e.defaultValue),n=Object.prototype.hasOwnProperty.call(e,"value"),s=n?e.value:r,o=u.useMemo(()=>I.normalizeSemaphorInputOptions(e.options),[e.options]),a=u.useCallback(f=>{var m;const c=f;(m=e.onValueChange)==null||m.call(e,c),n||t(c)},[n,e]),p=u.useCallback(()=>a(void 0),[a]);return u.useMemo(()=>{const f=I.toSemaphorInputSpec(e);return{id:e.id,kind:e.kind,label:e.label,field:f.field,operator:f.operator,relationshipHint:f.relationshipHint,controlRole:e.kind==="control"?e.role:void 0,value:s,options:o,isActive:I.hasSemaphorInputValue(s),setValue:a,clear:p,toAnalyticsInput:()=>({inputId:f.inputId,field:f.field,kind:e.kind,label:e.label,value:s,isActive:I.hasSemaphorInputValue(s),operator:f.operator,relationshipHint:f.relationshipHint,controlRole:e.kind==="control"?e.role:void 0})}},[p,o,a,e,s])}function hs(e){const[r,t]=u.useState(()=>As(e));return u.useEffect(()=>{t(n=>{let s=n;for(const o of e)!Object.prototype.hasOwnProperty.call(s,o.id)&&o.defaultValue!==void 0&&(s={...s,[o.id]:o.defaultValue});return s})},[e]),u.useMemo(()=>e.map(n=>{const s=Object.prototype.hasOwnProperty.call(n,"value"),o=s?n.value:r[n.id],a=I.normalizeSemaphorInputOptions(n.options),p=m=>{var g;(g=n.onValueChange)==null||g.call(n,m),s||t(h=>({...h,[n.id]:m}))},f=()=>p(void 0),c=I.toSemaphorInputSpec(n);return{id:n.id,kind:n.kind,label:n.label,field:c.field,operator:c.operator,relationshipHint:c.relationshipHint,controlRole:n.kind==="control"?n.role:void 0,value:o,options:a,isActive:I.hasSemaphorInputValue(o),setValue:p,clear:f,toAnalyticsInput:()=>({inputId:c.inputId,field:c.field,kind:n.kind,label:n.label,value:o,isActive:I.hasSemaphorInputValue(o),operator:c.operator,relationshipHint:c.relationshipHint,controlRole:n.kind==="control"?n.role:void 0})}}),[e,r])}function bs(e,r){const t=(r==null?void 0:r.status)==="success"?r.options:void 0,n=u.useMemo(()=>vs(t),[t]);u.useEffect(()=>{Fr(e.value,t)||e.clear()},[e,n,r==null?void 0:r.status,t])}function Fr(e,r){if(!I.hasSemaphorInputValue(e)||r===void 0)return!0;const t=new Set(r.map(s=>mr(s.value)));return(Array.isArray(e)?e:[e]).every(s=>t.has(mr(s)))}function vs(e){return JSON.stringify((e||[]).map(r=>r.value))}function mr(e){return`${typeof e}:${String(e)}`}function xs(e,r={}){const t=u.useMemo(()=>r.inputs?{...e,inputs:r.inputs}:e,[r.inputs,e]),n=u.useMemo(()=>(()=>{switch(t.queryKind){case"metric":return{queryKind:t.queryKind,request:Q(rs(t),r.selections)};case"analysis":return{queryKind:t.queryKind,request:Q(es(t),r.selections)};case"records":return{queryKind:t.queryKind,request:Q(ts(t),r.selections)};case"inputOptions":return{queryKind:t.queryKind,request:Q(ns(t),r.selections)};case"sql":return{queryKind:t.queryKind,request:Q(ss(t),r.selections)};case"matrix":return{queryKind:t.queryKind,request:Q(is(t),r.selections)};default:return be(t)}})(),[t,r.selections]),s=qt({spec:t,queryKind:n.queryKind,queryKey:n.request.queryKey,intent:n.request.intent,activeInputs:n.request.activeInputs,debug:r.debug}),o=u.useRef(null),a=u.useMemo(()=>({start:s.start,success:s.success,failure:s.failure,ignored:s.ignored}),[s.failure,s.ignored,s.start,s.success]),p=u.useCallback(d=>{var O,C,B,R,v,w,E,q,L;const y=n.request;if(y.intent)switch(n.queryKind){case"metric":return(O=d.executor)==null?void 0:O.executeMetric(y.intent,d);case"analysis":return(B=(C=d.executor)==null?void 0:C.executeAnalysis)==null?void 0:B.call(C,y.intent,d,y.analysisOptions);case"records":return(R=d.executor)==null?void 0:R.executeRecords(y.intent,d);case"inputOptions":return(v=d.executor)==null?void 0:v.executeInputOptions(y.intent,d);case"sql":return(E=(w=d.executor)==null?void 0:w.executeSql)==null?void 0:E.call(w,y.intent,d);case"matrix":if(!y.matrixWindowRequest)throw new Error("Matrix window request is required.");return(L=(q=d.executor)==null?void 0:q.executeMatrix)==null?void 0:L.call(q,{intent:y.intent,matrixWindowRequest:y.matrixWindowRequest},d);default:return be(n)}},[n]),f=js(n.request.queryKey,p,n.request.idleData,n.request.activeInputs,n.request.selections,a),c=s.queryId,m=s.validationFailure;u.useEffect(()=>{const d=n.request.error;if(!d){o.current=null;return}const y=`${c}:${d.message}`;o.current!==y&&(o.current=y,m(d))},[n.request.error,n.request.queryKey,c,m]);const g=n.request.error?n.request.idleData:f.data,h=n.request.error?"error":f.status,x=!n.request.error&&f.status==="loading",b=n.request.error||f.error,S=s.trace;switch(n.queryKind){case"metric":{const d=g,y=U({queryKind:n.queryKind,status:h,isLoading:x,error:b,trace:S,payload:d,activeInputs:n.request.activeInputs,selections:n.request.selections,isStale:f.isStale});return{id:t.id,intent:n.request.intent,primaryValue:(d==null?void 0:d.primaryValue)??null,measures:d==null?void 0:d.measures,measureBindings:d==null?void 0:d.measureBindings,missingMeasures:d==null?void 0:d.missingMeasures,comparisonValue:d==null?void 0:d.comparisonValue,comparisonKind:d==null?void 0:d.comparisonKind,delta:d==null?void 0:d.delta,deltaPercent:d==null?void 0:d.deltaPercent,records:d==null?void 0:d.records,...y}}case"analysis":{const d=Or(g),y=U({queryKind:n.queryKind,status:h,isLoading:x,error:b,trace:S,payload:d,activeInputs:n.request.activeInputs,selections:n.request.selections,isStale:f.isStale});return{id:t.id,intent:n.request.intent,...d||{},...y}}case"records":{const d=g,y=U({queryKind:n.queryKind,status:h,isLoading:x,error:b,trace:S,payload:d,activeInputs:n.request.activeInputs,selections:n.request.selections,isStale:f.isStale});return{id:t.id,intent:n.request.intent,records:(d==null?void 0:d.records)||[],columns:d==null?void 0:d.columns,rowCount:d==null?void 0:d.rowCount,pagination:d==null?void 0:d.pagination,totals:d==null?void 0:d.totals,...y}}case"inputOptions":{const d=g,y=U({queryKind:n.queryKind,status:h,isLoading:x,error:b,trace:S,payload:d,activeInputs:n.request.activeInputs,selections:n.request.selections,isStale:f.isStale});return{id:t.id,intent:n.request.intent,options:(d==null?void 0:d.options)||[],dependencyOutcomes:d==null?void 0:d.dependencyOutcomes,match:d==null?void 0:d.match,...y}}case"sql":{const d=g,y=U({queryKind:n.queryKind,status:h,isLoading:x,error:b,trace:S,payload:d,activeInputs:n.request.activeInputs,selections:n.request.selections,isStale:f.isStale});return{id:t.id,intent:n.request.intent,records:(d==null?void 0:d.records)||[],columns:d==null?void 0:d.columns,rowCount:d==null?void 0:d.rowCount,pagination:d==null?void 0:d.pagination,output:d==null?void 0:d.output,rowLimitExceeded:d==null?void 0:d.rowLimitExceeded,...y}}case"matrix":{const d=g,y=U({queryKind:n.queryKind,status:h,isLoading:x,error:b,trace:S,payload:d,activeInputs:n.request.activeInputs,selections:n.request.selections,isStale:f.isStale});return{id:t.id,intent:n.request.intent,window:d==null?void 0:d.window,...y,executionResult:ws(y.executionResult)?y.executionResult:void 0}}default:return be(n)}}function U(e){var o,a,p,f;const r=Ss(e.payload)??((o=e.error)==null?void 0:o.executionResult),t=((a=e.error)==null?void 0:a.validation)??(r==null?void 0:r.validation),n=r==null?void 0:r.coverage,s=r==null?void 0:r.diagnosticFeedback;return{status:e.status,executionStatus:r==null?void 0:r.status,executionResult:r,validation:t,coverage:n,diagnosticFeedback:s,isLoading:e.isLoading,isEmpty:qs(e.queryKind,e.payload,e.status),isPartial:Is(e.payload,r),isFiltered:!!((p=e.activeInputs)!=null&&p.some(c=>c.kind==="filter"&&c.isActive)||(f=e.selections)!=null&&f.length),isStale:e.isStale,isValidated:!!t,error:e.error,trace:e.trace}}function Ss(e){const r=e;return r==null?void 0:r.executionResult}function ws(e){return(e==null?void 0:e.resultShape)==="matrix"}function Is(e,r){var n,s;const t=!!(e!=null&&e.rowLimitExceeded);return!!((r==null?void 0:r.status)==="partial"||((n=r==null?void 0:r.diagnosticFeedback)==null?void 0:n.status)==="partial"||(r==null?void 0:r.status)!=="failed"&&((s=r==null?void 0:r.coverage)!=null&&s.missingObligations.length)||t)}function qs(e,r,t){var n,s,o;if(t!=="success")return!1;switch(e){case"metric":{const a=r;return(a==null?void 0:a.primaryValue)==null&&!D(a==null?void 0:a.records)}case"analysis":{const a=r;return a?!a.answerSummary&&!D(a.records)&&!D(a.changes)&&!D(a.drivers)&&!D(a.largestNegativeChanges)&&!D(a.largestPositiveChanges)&&!D(a.largestNegativeDrivers)&&!D(a.largestPositiveDrivers)&&!Object.values(a.resultSets||{}).some(p=>D(p.records)):!0}case"records":{const a=r;return!D(a==null?void 0:a.records)}case"sql":{const a=r;return!D(a==null?void 0:a.records)&&(a==null?void 0:a.output)===void 0}case"inputOptions":{const a=r;return!((n=a==null?void 0:a.options)!=null&&n.length)}case"matrix":{const a=r;return!((s=a==null?void 0:a.window)!=null&&s.pages.some(p=>p.members.length>0))&&!((o=a==null?void 0:a.window)!=null&&o.blocks.some(p=>p.cells.length>0))}default:return be(e)}}function D(e){return Array.isArray(e)&&e.length>0}function js(e,r,t,n,s,o){const a=gs(),p=u.useRef(r),f=u.useRef(n),c=u.useRef(s),[m,g]=u.useState({status:"idle",data:t,error:null,isStale:!1});return p.current=r,f.current=n,c.current=s,u.useEffect(()=>{let h;try{h=p.current({...a,activeInputs:f.current,selections:c.current})}catch(S){o==null||o.failure(S,0),g({status:"error",data:t,error:Ke(S),isStale:!1});return}if(!h){g({status:"idle",data:t,error:null,isStale:!1});return}let x=!1;const b=zr();return o==null||o.start(),g(S=>({status:"loading",data:S.data,error:null,isStale:S.isStale||S.status==="success"})),h.then(S=>{x?o==null||o.ignored("superseded"):(o==null||o.success(S,gr(b)),g({status:"success",data:S,error:null,isStale:!1}))}).catch(S=>{x?o==null||o.ignored("superseded"):(o==null||o.failure(S,gr(b)),g({status:"error",data:t,error:Ke(S),isStale:!1}))}),()=>{x=!0}},[t,e,a,o]),m}function zr(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}function gr(e){return Math.max(0,Math.round(zr()-e))}function As(e){return Object.fromEntries(e.filter(r=>r.defaultValue!==void 0).map(r=>[r.id,r.defaultValue]))}function be(e){throw new Error(`Unsupported Semaphor query kind: ${JSON.stringify(e)}`)}function Cs(e){const[r,t]=u.useState(()=>yr(e,e.defaultTuples||[])),n=Object.prototype.hasOwnProperty.call(e,"tuples"),s=yr(e,n?e.tuples||[]:r),o=u.useRef(s);o.current=s;const a=u.useCallback(c=>{var m;o.current=c,(m=e.onTuplesChange)==null||m.call(e,c),n||t(c)},[n,e]),p=u.useCallback((c,m={kind:"replace"})=>{const g=Pr(e,c),h=P.reduceSelection(o.current,g,m,{multipleSelection:e.multipleSelection??!0,tupleKey:N.analyticsSelectionTupleKey});return(h.outcome!=="limitReached"||m.kind==="range")&&a(h.tuples),h},[a,e]),f=u.useCallback(()=>{const c=o.current;if(c.length===0)return;const m=P.reduceSelection(c,c[0],{kind:"clear"},{multipleSelection:e.multipleSelection??!0,tupleKey:N.analyticsSelectionTupleKey});a(m.tuples)},[a,e.multipleSelection]);return u.useMemo(()=>({id:e.id,kind:"selection",label:e.label,fields:e.fields,tuples:s,isActive:s.length>0,select:p,clear:f,toAnalyticsSelection:()=>s.length>0?{id:e.id,tuples:s}:void 0}),[f,p,e.fields,e.id,e.label,s])}function yr(e,r){if(e.fields.length===0)throw new Error(`Semaphor selection "${e.id}" requires at least one field.`);if(r.length>N.SELECTION_LIMIT)throw new Error(`Semaphor selection "${e.id}" cannot contain more than ${N.SELECTION_LIMIT} tuples.`);if(e.multipleSelection===!1&&r.length>1)throw new Error(`Semaphor selection "${e.id}" allows only one selected tuple.`);return r.map(t=>Pr(e,t))}function Pr(e,r){const t=N.analyticsSelectionTupleSchema.parse(r);for(const n of t.conditions)if(!e.fields.some(s=>M.semaphorFieldRefsMatch(s,n.field)))throw new Error(`Semaphor selection "${e.id}" received field "${n.field.name}" outside its declared fields.`);return t}function ks(e){return!e||typeof e=="boolean"||e.enabled===!1?null:e.autoRenderDevtools===!0?{}:e.autoRenderDevtools?e.autoRenderDevtools:null}function Ts({token:e,apiBaseUrl:r,executor:t,debug:n,children:s}){var x;const o=ms(),a=((x=o==null?void 0:o.authToken)==null?void 0:x.accessToken)||e,p=(o==null?void 0:o.dataApiBaseUrl)||(o==null?void 0:o.apiBaseUrl)||r,f=(o==null?void 0:o.debug)??n,c=ks(f),m=u.useMemo(()=>Mr(),[]),g=t||m,h=u.useMemo(()=>({token:a,apiBaseUrl:p,executor:g,debug:f}),[p,f,g,a]);return i.jsx(vt,{debug:f,children:i.jsxs(_r.Provider,{value:h,children:[s,c?i.jsx(Ir,{...c}):null]})})}exports.semaphorMetricAggregate=M.semaphorMetricAggregate;exports.semaphorMetricMeasureBindingKey=M.semaphorMetricMeasureBindingKey;exports.SemaphorDataAppProvider=Ts;exports.SemaphorDevtools=Ir;exports.SemaphorDevtoolsInspectButton=It;exports.SemaphorViewBoundary=wt;exports.createSemaphorQueryExecutor=Mr;exports.defineSemaphorDataApp=Vr;exports.defineSemaphorInput=Qr;exports.isSemaphorInputValueValidForOptions=Fr;exports.semaphor=Ur;exports.useClearInvalidSemaphorInputValue=bs;exports.useSemaphorDevtools=He;exports.useSemaphorInput=ys;exports.useSemaphorInputs=hs;exports.useSemaphorQuery=xs;exports.useSemaphorSelection=Cs;
|