react-semaphor 0.1.477 → 0.1.478
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics-protocol/index.cjs +1 -1
- package/dist/analytics-protocol/index.js +9 -9
- package/dist/brand-studio/index.cjs +1 -1
- package/dist/brand-studio/index.js +4 -4
- package/dist/briefings/index.cjs +1 -1
- package/dist/briefings/index.js +4 -4
- package/dist/chunks/{analyze-result-contract-OgPk-zGu.cjs → analyze-result-contract-BX_nQmPN.cjs} +1 -1
- package/dist/chunks/{analyze-result-contract-C8s8EUL5.js → analyze-result-contract-DsiAzCYn.js} +1 -1
- package/dist/chunks/{saved-temporal-bucket-format-CHsXUPJI.js → card-config-utils-CyDKaPNT.js} +190 -190
- package/dist/chunks/card-config-utils-D3Xuu0ub.cjs +1 -0
- package/dist/chunks/{common-types-C1IM7gao.cjs → common-types-BCSbPclk.cjs} +1 -1
- package/dist/chunks/{common-types-BLPy5_E0.js → common-types-D3r4PILe.js} +1 -1
- package/dist/chunks/{dashboard-briefing-launcher-CXHq6ime.cjs → dashboard-briefing-launcher-7qAW16mO.cjs} +2 -2
- package/dist/chunks/{dashboard-briefing-launcher-C9d8CPxv.js → dashboard-briefing-launcher-DAhtLQPc.js} +134 -134
- package/dist/chunks/{dashboard-controls-BqDm4ARp.js → dashboard-controls-C_CBmEwW.js} +13 -12
- package/dist/chunks/{dashboard-controls-d7Yd2fJb.cjs → dashboard-controls-CoVqAeKG.cjs} +10 -10
- package/dist/chunks/{dashboard-input-contract-JFJZgenC.cjs → dashboard-date-comparison-definition-C93wv8Ua.cjs} +1 -1
- package/dist/chunks/{dashboard-input-contract-BrGdGFz0.js → dashboard-date-comparison-definition-KohOqBqR.js} +19 -19
- package/dist/chunks/dashboard-filter-value-compatibility-BAatYtUS.js +1215 -0
- package/dist/chunks/dashboard-filter-value-compatibility-Bco2gN96.cjs +1 -0
- package/dist/chunks/{dashboard-json-CL_vgcWq.js → dashboard-json-0w58H39L.js} +7 -7
- package/dist/chunks/dashboard-json-B3XSl7b_.cjs +1 -0
- package/dist/chunks/{edit-dashboard-visual-Dklel3MC.cjs → edit-dashboard-visual-BsLRKeuO.cjs} +6 -6
- package/dist/chunks/{edit-dashboard-visual-C0Zvyo-X.js → edit-dashboard-visual-BsWEU8xf.js} +277 -277
- package/dist/chunks/{editor-action-buttons-BOyUtX9j.js → editor-action-buttons-B3CB5c__.js} +39 -39
- package/dist/chunks/{editor-action-buttons-AcaZsiDy.cjs → editor-action-buttons-DMLDvrJD.cjs} +1 -1
- package/dist/chunks/{index-Cd8qGOXl.cjs → index--0Il-Bpd.cjs} +238 -238
- package/dist/chunks/{format-types-CFHQoIuk.js → index-BS0_dp0l.js} +168 -168
- package/dist/chunks/{index-D9S3j7_z.js → index-BvRREsU9.js} +9 -9
- package/dist/chunks/index-ByQgqT9d.cjs +1 -0
- package/dist/chunks/{index-v2MZLyus.cjs → index-CXeIDdjd.cjs} +1 -1
- package/dist/chunks/{index-DrdF7QR7.js → index-DgGcVyUs.js} +30518 -31308
- package/dist/chunks/matrix-result-contract-CFPnlcLm.cjs +1 -0
- package/dist/chunks/{matrix-result-contract-BpzhImar.js → matrix-result-contract-DFfUvb1r.js} +3 -3
- package/dist/chunks/{temporal-bucket-CtP7hKLa.js → metric-comparison-CTexJ8V1.js} +705 -705
- package/dist/chunks/metric-comparison-x0lipytf.cjs +1 -0
- package/dist/chunks/pivot-header-presentation-8Ra1RfHg.cjs +4 -0
- package/dist/chunks/{pivot-header-presentation-CaERAWpl.js → pivot-header-presentation-tpb_J900.js} +118 -118
- package/dist/chunks/{pivot-result-identity-CIZXsI53.js → pivot-result-identity-BIeP9v8I.js} +1 -1
- package/dist/chunks/{pivot-result-identity-DRUlTWUq.cjs → pivot-result-identity-BVnhG2rR.cjs} +1 -1
- package/dist/chunks/pivot-result-lifecycle-D_bRCqaB.cjs +1 -0
- package/dist/chunks/{pivot-result-lifecycle-B9FTybxN.js → pivot-result-lifecycle-mjJ1rBvV.js} +7 -7
- package/dist/chunks/{raw-temporal-contract-U8J9RlEH.js → raw-temporal-contract-BuQIB31z.js} +1 -1
- package/dist/chunks/{raw-temporal-contract-D8YuxTAg.cjs → raw-temporal-contract-vnNwLy9R.cjs} +1 -1
- package/dist/chunks/{report-preferences-dialog-BjygtSP3.js → report-preferences-dialog-Bytgubvz.js} +25 -25
- package/dist/chunks/report-preferences-dialog-I0Pbn_Yb.cjs +1 -0
- package/dist/chunks/{report-runtime-context-DNbgCsko.js → report-runtime-context-B_pAmqxl.js} +1 -1
- package/dist/chunks/{report-runtime-context-RFiWq4wK.cjs → report-runtime-context-BfW4qiMJ.cjs} +1 -1
- package/dist/chunks/{source-entity-resolution-BDC-Qngk.cjs → source-entity-resolution-DCAAS-y8.cjs} +1 -1
- package/dist/chunks/{source-entity-resolution-ugN3sZUk.js → source-entity-resolution-WUstJID6.js} +1 -1
- package/dist/chunks/{switch-C8NihGV4.js → switch-BsGTOjuD.js} +12342 -11110
- package/dist/chunks/switch-Cpj3DrCZ.cjs +138 -0
- package/dist/chunks/{temporal-bucket-authoring-DJ9kK2wD.js → temporal-bucket-authoring-CyTCHy1K.js} +3 -3
- package/dist/chunks/temporal-bucket-authoring-DueSgLJU.cjs +1 -0
- package/dist/chunks/{temporal-bucket-contract-CZl5D7FZ.js → temporal-bucket-contract-BeOx0uYe.js} +1 -1
- package/dist/chunks/{temporal-bucket-contract-BD862TAa.cjs → temporal-bucket-contract-Cp-usD9Z.cjs} +1 -1
- package/dist/chunks/{token-types-CoHsSJ4E.cjs → token-types-D9eN35rf.cjs} +1 -1
- package/dist/chunks/{token-types-DfDtCqlw.js → token-types-Dvomvqw0.js} +1 -1
- package/dist/chunks/{update-policy-BGNXFgBU.cjs → update-policy-Buw2LmvX.cjs} +1 -1
- package/dist/chunks/{update-policy-BybMiM61.js → update-policy-MWg0aH3d.js} +1 -1
- package/dist/chunks/{validators-D-T-2HOR.js → validators-D3AarM2T.js} +662 -663
- package/dist/chunks/validators-DqIM0B3C.cjs +1 -0
- package/dist/dashboard/index.cjs +1 -1
- package/dist/dashboard/index.js +2 -2
- package/dist/dashboard-authoring/index.cjs +3 -3
- package/dist/dashboard-authoring/index.js +81 -79
- package/dist/data-app-builder/index.cjs +1 -1
- package/dist/data-app-builder/index.js +2 -2
- 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 +1 -1
- package/dist/data-app-codegen-node/index.js +3 -3
- package/dist/data-app-sdk/index.cjs +1 -1
- package/dist/data-app-sdk/index.js +3 -3
- package/dist/data-app-sdk-adapters/index.cjs +1 -1
- package/dist/data-app-sdk-adapters/index.js +2 -2
- package/dist/data-app-sdk-validation/index.cjs +1 -1
- package/dist/data-app-sdk-validation/index.js +3 -3
- package/dist/format-utils/index.cjs +3 -3
- package/dist/format-utils/index.js +9 -9
- package/dist/index.cjs +1 -1
- package/dist/index.js +177 -176
- package/dist/report-runtime-context/index.cjs +1 -1
- package/dist/report-runtime-context/index.js +2 -2
- package/dist/surfboard/index.cjs +1 -1
- package/dist/surfboard/index.js +3 -3
- package/dist/types/briefings.d.ts +11 -0
- package/dist/types/dashboard-authoring.d.ts +17 -0
- package/dist/types/dashboard.d.ts +11 -0
- package/dist/types/index.cjs +1 -1
- package/dist/types/index.js +4 -4
- package/dist/types/main.d.ts +12 -0
- package/dist/types/shared.d.ts +11 -0
- package/dist/types/surfboard.d.ts +11 -0
- package/dist/types/types.d.ts +11 -0
- package/package.json +1 -1
- package/dist/chunks/dashboard-filter-value-compatibility-BCVF9IHg.js +0 -1026
- package/dist/chunks/dashboard-filter-value-compatibility-DLkdeypb.cjs +0 -1
- package/dist/chunks/dashboard-json-BYQjTmqD.cjs +0 -1
- package/dist/chunks/format-types-PSZZ7hG8.cjs +0 -1
- package/dist/chunks/matrix-result-contract-Bhg60NtS.cjs +0 -1
- package/dist/chunks/pivot-header-presentation-CePk1R6g.cjs +0 -4
- package/dist/chunks/pivot-result-lifecycle-CcGt_29N.cjs +0 -1
- package/dist/chunks/report-preferences-dialog-DW40ECz1.cjs +0 -1
- package/dist/chunks/saved-temporal-bucket-format-DNMtD77o.cjs +0 -1
- package/dist/chunks/switch-B1mZx2k9.cjs +0 -138
- package/dist/chunks/temporal-bucket-9Wz9Ds6H.cjs +0 -1
- package/dist/chunks/temporal-bucket-authoring-DSpzgXHc.cjs +0 -1
- package/dist/chunks/validators-DcshgK7w.cjs +0 -1
package/dist/chunks/{report-preferences-dialog-BjygtSP3.js → report-preferences-dialog-Bytgubvz.js}
RENAMED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { jsxs as o, Fragment as j, jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import oe, { useState as S, useRef as X, useEffect as U, useCallback as E, useMemo as _ } from "react";
|
|
3
|
-
import {
|
|
4
|
-
import { u as ae, c as F, O as W, P as we, a as Ce, B as
|
|
5
|
-
import { a as Pe } from "./report-runtime-context-
|
|
3
|
+
import { ay as ee, az as ce, aA as B, aB as $, aC as de, g as ue, h as me, i as fe, j as he, k as M, l as H, aD as ve, aE as V, aF as z, b as ye, aG as pe, aH as ge, aI as Se, aJ as be, aK as Te } from "./index-DgGcVyUs.js";
|
|
4
|
+
import { u as ae, c as F, O as W, P as we, a as Ce, B as D, b as ke, d as q, L as te, T as xe, F as Ne, G, I as K } from "./switch-BsGTOjuD.js";
|
|
5
|
+
import { a as Pe } from "./report-runtime-context-B_pAmqxl.js";
|
|
6
6
|
import "./x-CXDkqdur.js";
|
|
7
|
-
import "./
|
|
8
|
-
import "./validators-
|
|
9
|
-
import "./analyze-result-contract-
|
|
7
|
+
import "./card-config-utils-CyDKaPNT.js";
|
|
8
|
+
import "./validators-D3AarM2T.js";
|
|
9
|
+
import "./analyze-result-contract-DsiAzCYn.js";
|
|
10
10
|
import { parseValueFormatPreferencesResponse as Ae, canonicalizeSupportedLocale as Ee, canonicalizeSupportedCurrencyCode as ze } from "../value-format-preferences/index.js";
|
|
11
|
-
function
|
|
11
|
+
function De(e = {}) {
|
|
12
12
|
const { authToken: i, tokenProps: a } = ee(), d = ae(
|
|
13
13
|
(g) => g.actions.applyResolvedCalendarPreferences
|
|
14
14
|
), r = e.enabled ?? !0, l = (i == null ? void 0 : i.accessToken) ?? null, m = (a == null ? void 0 : a.apiServiceUrl) ?? null, [y, p] = S(!1), [b, w] = S(!1), [u, T] = S(!1), [C, h] = S(null), [k, P] = S(null), f = X(l);
|
|
@@ -83,7 +83,7 @@ function Le(e = {}) {
|
|
|
83
83
|
d,
|
|
84
84
|
N
|
|
85
85
|
]
|
|
86
|
-
),
|
|
86
|
+
), L = E(async () => {
|
|
87
87
|
if (!l || !m)
|
|
88
88
|
return h("Not authenticated"), !1;
|
|
89
89
|
const g = l;
|
|
@@ -120,7 +120,7 @@ function Le(e = {}) {
|
|
|
120
120
|
isClearing: u,
|
|
121
121
|
error: C,
|
|
122
122
|
updatePreferences: A,
|
|
123
|
-
clearPreferences:
|
|
123
|
+
clearPreferences: L,
|
|
124
124
|
refetch: x
|
|
125
125
|
};
|
|
126
126
|
}
|
|
@@ -144,7 +144,7 @@ const I = [
|
|
|
144
144
|
{ value: 1, label: "Monday" },
|
|
145
145
|
{ value: 6, label: "Saturday" }
|
|
146
146
|
], J = "text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground";
|
|
147
|
-
function
|
|
147
|
+
function Le() {
|
|
148
148
|
try {
|
|
149
149
|
const e = Intl;
|
|
150
150
|
if (e.supportedValuesOf)
|
|
@@ -188,15 +188,15 @@ function je({
|
|
|
188
188
|
isClearing: l,
|
|
189
189
|
updatePreferences: m,
|
|
190
190
|
clearPreferences: y
|
|
191
|
-
} =
|
|
191
|
+
} = De({ enabled: e }), p = ce(), b = (a == null ? void 0 : a.resolved.tz) || (p == null ? void 0 : p.tz) || "UTC", w = (a == null ? void 0 : a.resolved.weekStart) ?? (p == null ? void 0 : p.weekStart) ?? 1, [u, T] = S((a == null ? void 0 : a.stored) === null), [C, h] = S(!1), [k, P] = S(
|
|
192
192
|
b
|
|
193
193
|
), [f, N] = S(
|
|
194
194
|
w
|
|
195
|
-
), [x, A] = S(!1),
|
|
196
|
-
() =>
|
|
195
|
+
), [x, A] = S(!1), L = _(() => Le(), []), g = _(
|
|
196
|
+
() => L.filter(
|
|
197
197
|
(c) => !I.some((ie) => ie.value === c)
|
|
198
198
|
),
|
|
199
|
-
[
|
|
199
|
+
[L]
|
|
200
200
|
), s = _(() => Y(k), [k]), n = a != null && a.inherited ? Y(a.inherited.tz) : "UTC", v = a != null && a.inherited ? Re(a.inherited.weekStart) : "Monday", R = Fe(
|
|
201
201
|
a == null ? void 0 : a.inheritedSources
|
|
202
202
|
);
|
|
@@ -316,7 +316,7 @@ function je({
|
|
|
316
316
|
modal: !0,
|
|
317
317
|
children: [
|
|
318
318
|
/* @__PURE__ */ t(Ce, { asChild: !0, children: /* @__PURE__ */ o(
|
|
319
|
-
|
|
319
|
+
D,
|
|
320
320
|
{
|
|
321
321
|
variant: "outline",
|
|
322
322
|
size: "xs",
|
|
@@ -435,7 +435,7 @@ function je({
|
|
|
435
435
|
] }),
|
|
436
436
|
/* @__PURE__ */ o(V, { children: [
|
|
437
437
|
/* @__PURE__ */ t(
|
|
438
|
-
|
|
438
|
+
D,
|
|
439
439
|
{
|
|
440
440
|
variant: "outline",
|
|
441
441
|
size: "xs",
|
|
@@ -444,7 +444,7 @@ function je({
|
|
|
444
444
|
children: "Cancel"
|
|
445
445
|
}
|
|
446
446
|
),
|
|
447
|
-
/* @__PURE__ */ t(
|
|
447
|
+
/* @__PURE__ */ t(D, { size: "xs", onClick: se, disabled: le, children: O ? /* @__PURE__ */ o(j, { children: [
|
|
448
448
|
/* @__PURE__ */ t(te, { className: "h-3.5 w-3.5 animate-spin" }),
|
|
449
449
|
"Saving…"
|
|
450
450
|
] }) : "Save" })
|
|
@@ -503,7 +503,7 @@ function Ue(e = {}) {
|
|
|
503
503
|
U(() => {
|
|
504
504
|
r && A();
|
|
505
505
|
}, [r, A]);
|
|
506
|
-
const
|
|
506
|
+
const L = E(
|
|
507
507
|
async (s) => {
|
|
508
508
|
const n = l;
|
|
509
509
|
C(!0), f(null);
|
|
@@ -535,7 +535,7 @@ function Ue(e = {}) {
|
|
|
535
535
|
isSaving: T,
|
|
536
536
|
isClearing: h,
|
|
537
537
|
error: P,
|
|
538
|
-
updatePreferences:
|
|
538
|
+
updatePreferences: L,
|
|
539
539
|
clearPreferences: g,
|
|
540
540
|
refetch: A
|
|
541
541
|
};
|
|
@@ -583,10 +583,10 @@ function Oe({
|
|
|
583
583
|
return /* @__PURE__ */ o(j, { children: [
|
|
584
584
|
/* @__PURE__ */ t("div", { className: "py-2", children: /* @__PURE__ */ t("div", { className: "flex min-h-36 items-center justify-center text-[12px] text-muted-foreground", children: d ? "Loading preferences…" : "Preferences unavailable." }) }),
|
|
585
585
|
/* @__PURE__ */ o(V, { className: "justify-between sm:justify-between", children: [
|
|
586
|
-
/* @__PURE__ */ t(
|
|
586
|
+
/* @__PURE__ */ t(D, { variant: "ghost", size: "xs", disabled: !0, children: "Reset display formats" }),
|
|
587
587
|
/* @__PURE__ */ o("div", { className: "flex gap-2", children: [
|
|
588
|
-
/* @__PURE__ */ t(
|
|
589
|
-
/* @__PURE__ */ t(
|
|
588
|
+
/* @__PURE__ */ t(D, { variant: "outline", size: "xs", onClick: i, children: "Cancel" }),
|
|
589
|
+
/* @__PURE__ */ t(D, { size: "xs", disabled: !0, children: "Save" })
|
|
590
590
|
] })
|
|
591
591
|
] })
|
|
592
592
|
] });
|
|
@@ -650,7 +650,7 @@ function _e({
|
|
|
650
650
|
) }),
|
|
651
651
|
/* @__PURE__ */ o(V, { className: "justify-between sm:justify-between", children: [
|
|
652
652
|
/* @__PURE__ */ t(
|
|
653
|
-
|
|
653
|
+
D,
|
|
654
654
|
{
|
|
655
655
|
variant: "ghost",
|
|
656
656
|
size: "xs",
|
|
@@ -661,7 +661,7 @@ function _e({
|
|
|
661
661
|
),
|
|
662
662
|
/* @__PURE__ */ o("div", { className: "flex gap-2", children: [
|
|
663
663
|
/* @__PURE__ */ t(
|
|
664
|
-
|
|
664
|
+
D,
|
|
665
665
|
{
|
|
666
666
|
variant: "outline",
|
|
667
667
|
size: "xs",
|
|
@@ -671,7 +671,7 @@ function _e({
|
|
|
671
671
|
}
|
|
672
672
|
),
|
|
673
673
|
/* @__PURE__ */ t(
|
|
674
|
-
|
|
674
|
+
D,
|
|
675
675
|
{
|
|
676
676
|
size: "xs",
|
|
677
677
|
onClick: y,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),o=require("react"),l=require("./index--0Il-Bpd.cjs"),u=require("./switch-Cpj3DrCZ.cjs"),V=require("./report-runtime-context-BfW4qiMJ.cjs");require("./x-B6ghREd2.cjs");require("./card-config-utils-D3Xuu0ub.cjs");require("./validators-DqIM0B3C.cjs");require("./analyze-result-contract-BX_nQmPN.cjs");const L=require("../value-format-preferences/index.cjs");function G(a={}){const{authToken:c,tokenProps:t}=l.useSemaphorContext(),m=u.useDashboardStore(p=>p.actions.applyResolvedCalendarPreferences),s=a.enabled??!0,i=(c==null?void 0:c.accessToken)??null,h=(t==null?void 0:t.apiServiceUrl)??null,[g,S]=o.useState(!1),[b,C]=o.useState(!1),[f,j]=o.useState(!1),[T,x]=o.useState(null),[w,P]=o.useState(null),v=o.useRef(i);v.current=i,o.useEffect(()=>{P(null),x(null),S(!1),C(!1),j(!1)},[i]);const N=o.useCallback(async p=>{const r=V.parseCalendarPreferencesResponse(await p.json());if(!r.ok)throw new Error("Calendar preferences response is invalid");return r.value},[]),k=o.useCallback(async()=>{if(!s||!i||!h)return;const p=i;S(!0),x(null);try{const r=await fetch(`${h}/v1/user-preferences/calendar`,{method:"GET",headers:{Authorization:`Bearer ${i}`}});if(!r.ok){const y=await r.json().catch(()=>({}));throw new Error(y.error||"Failed to fetch preferences")}const n=await N(r);v.current===p&&P(n)}catch(r){v.current===p&&x(r instanceof Error?r.message:"Unknown error")}finally{v.current===p&&S(!1)}},[i,h,s,N]);o.useEffect(()=>{s&&k()},[s,k]);const E=o.useCallback(async p=>{if(!i||!h)return x("Not authenticated"),!1;const r=i;C(!0),x(null);try{const n=await fetch(`${h}/v1/user-preferences/calendar`,{method:"PATCH",headers:{"Content-Type":"application/json",Authorization:`Bearer ${i}`},body:JSON.stringify(p)});if(!n.ok){const D=await n.json().catch(()=>({}));throw new Error(D.error||"Failed to update preferences")}const y=await N(n);return v.current!==r?!1:(P(y),m(y.resolved,y.sources),!0)}catch(n){return v.current===r&&x(n instanceof Error?n.message:"Unknown error"),!1}finally{v.current===r&&C(!1)}},[i,h,m,N]),A=o.useCallback(async()=>{if(!i||!h)return x("Not authenticated"),!1;const p=i;j(!0),x(null);try{const r=await fetch(`${h}/v1/user-preferences/calendar`,{method:"DELETE",headers:{Authorization:`Bearer ${i}`}});if(!r.ok){const y=await r.json().catch(()=>({}));throw new Error(y.error||"Failed to clear preferences")}const n=await N(r);return v.current!==p?!1:(P(n),m(n.resolved,n.sources),!0)}catch(r){return v.current===p&&x(r instanceof Error?r.message:"Unknown error"),!1}finally{v.current===p&&j(!1)}},[i,h,m,N]);return{preferences:w,isLoading:g,isSaving:b,isClearing:f,error:T,updatePreferences:E,clearPreferences:A,refetch:k}}const F=[{value:"America/New_York",label:"Eastern Time (US & Canada)"},{value:"America/Chicago",label:"Central Time (US & Canada)"},{value:"America/Denver",label:"Mountain Time (US & Canada)"},{value:"America/Los_Angeles",label:"Pacific Time (US & Canada)"},{value:"America/Phoenix",label:"Arizona"},{value:"America/Anchorage",label:"Alaska"},{value:"Pacific/Honolulu",label:"Hawaii"},{value:"Europe/London",label:"London"},{value:"Europe/Paris",label:"Paris, Berlin, Rome"},{value:"Asia/Tokyo",label:"Tokyo"},{value:"Asia/Shanghai",label:"Beijing, Shanghai"},{value:"Asia/Kolkata",label:"Mumbai, New Delhi"},{value:"Australia/Sydney",label:"Sydney"},{value:"UTC",label:"UTC"}],B=[{value:0,label:"Sunday"},{value:1,label:"Monday"},{value:6,label:"Saturday"}],R="text-[10px] font-medium uppercase tracking-[0.08em] text-muted-foreground";function W(){try{const a=Intl;if(a.supportedValuesOf)return a.supportedValuesOf("timeZone")}catch{}return F.map(a=>a.value)}function H(a){if(!a)return"default";if(a.tz!==a.weekStart)return"inherited";switch(a.tz){case"viewer_tenant":return"tenant";case"viewer_organization":return"organization";case"system_default":return"system";case"session_initial":return"embedded";default:return"default"}}function U(a){const c=F.find(t=>t.value===a);return c?c.label:a}function K(a){const c=B.find(t=>t.value===a);return c?c.label:String(a)}function J({active:a,onClose:c}){const{preferences:t,isLoading:m,isSaving:s,isClearing:i,updatePreferences:h,clearPreferences:g}=G({enabled:a}),S=l.useCalendarContext(),b=(t==null?void 0:t.resolved.tz)||(S==null?void 0:S.tz)||"UTC",C=(t==null?void 0:t.resolved.weekStart)??(S==null?void 0:S.weekStart)??1,[f,j]=o.useState((t==null?void 0:t.stored)===null),[T,x]=o.useState(!1),[w,P]=o.useState(b),[v,N]=o.useState(C),[k,E]=o.useState(!1),A=o.useMemo(()=>W(),[]),p=o.useMemo(()=>A.filter(d=>!F.some(M=>M.value===d)),[A]),r=o.useMemo(()=>U(w),[w]),n=t!=null&&t.inherited?U(t.inherited.tz):"UTC",y=t!=null&&t.inherited?K(t.inherited.weekStart):"Monday",D=H(t==null?void 0:t.inheritedSources);o.useEffect(()=>{if(!a){x(!1);return}T||(t&&j(t.stored===null),P(b),N(C))},[a,T,t,b,C]);const O=async()=>{if(m){l.ue.error("Preferences are still loading. Please try again.");return}f?await g()?(l.ue.success("Now using default settings."),c()):l.ue.error("Failed to save preferences. Please try again."):await h({tz:w,weekStart:v})?(l.ue.success("Preferences saved."),c()):l.ue.error("Failed to save preferences. Please try again.")},_=()=>{c()},z=s||i,$=z||m;return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-4 py-1",children:[e.jsxs(l.RadioGroup,{value:f?"defaults":"custom",onValueChange:d=>{x(!0),j(d==="defaults")},className:"space-y-0.5",children:[e.jsxs("label",{htmlFor:"mode-defaults",className:u.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",f&&"bg-muted/50"),onClick:()=>{x(!0),j(!0)},children:[e.jsx(l.RadioGroupItem,{value:"defaults",id:"mode-defaults",className:"mt-0.5"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("p",{className:"text-[13px] font-medium text-foreground",children:["Use ",D," defaults"]}),e.jsxs("p",{className:"text-[12px] text-muted-foreground",children:[n,", week starts ",y]})]})]}),e.jsxs("label",{htmlFor:"mode-custom",className:u.cn("flex cursor-pointer items-start gap-2 rounded-control px-2 py-1.5 hover:bg-muted/50",!f&&"bg-muted/50"),onClick:()=>{x(!0),j(!1)},children:[e.jsx(l.RadioGroupItem,{value:"custom",id:"mode-custom",className:"mt-0.5"}),e.jsx("p",{className:"flex-1 text-[13px] font-medium text-foreground",children:"Use custom settings"})]})]}),e.jsxs("div",{className:u.cn("space-y-4 border-t border-border/60 pt-4 transition-opacity",f&&"pointer-events-none opacity-50"),children:[e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(u.Label,{className:R,children:"Timezone"}),e.jsxs(u.Popover,{open:k,onOpenChange:E,modal:!0,children:[e.jsx(u.PopoverTrigger,{asChild:!0,children:e.jsxs(u.Button,{variant:"outline",size:"xs",role:"combobox","aria-expanded":k,className:"w-full justify-between text-[12px] font-normal",disabled:f,children:[e.jsx("span",{className:"truncate",children:r}),e.jsx(l.ChevronsUpDown,{className:"ml-2 h-3.5 w-3.5 shrink-0 opacity-50"})]})}),e.jsx(u.PopoverContent,{className:"z-50 w-[--radix-popover-trigger-width] p-0",align:"start",children:e.jsxs(l.Command,{className:"overflow-visible",children:[e.jsx(l.CommandInput,{placeholder:"Search timezones…"}),e.jsxs(l.CommandList,{children:[e.jsx(l.CommandEmpty,{children:"No timezone found."}),e.jsx(l.CommandGroup,{heading:"Common",children:F.map(d=>e.jsxs(l.CommandItem,{value:`${d.value} ${d.label}`,onSelect:()=>{x(!0),P(d.value),E(!1)},children:[e.jsx(u.Check,{className:u.cn("h-3.5 w-3.5",w===d.value?"opacity-100":"opacity-0")}),e.jsx("span",{className:"flex-1",children:d.label}),e.jsx("span",{className:"text-[11px] text-muted-foreground",children:d.value})]},d.value))}),e.jsx(l.CommandSeparator,{}),e.jsx(l.CommandGroup,{heading:"All timezones",children:p.map(d=>e.jsxs(l.CommandItem,{value:d,onSelect:()=>{x(!0),P(d),E(!1)},children:[e.jsx(u.Check,{className:u.cn("h-3.5 w-3.5",w===d?"opacity-100":"opacity-0")}),d]},d))})]})]})})]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx(u.Label,{className:R,children:"Week starts on"}),e.jsx(l.RadioGroup,{value:String(v),onValueChange:d=>{x(!0),N(Number(d))},className:"flex gap-4",disabled:f,children:B.map(d=>e.jsxs("label",{htmlFor:`week-start-${d.value}`,className:u.cn("flex cursor-pointer items-center gap-2 text-[13px]",f&&"cursor-not-allowed"),children:[e.jsx(l.RadioGroupItem,{value:String(d.value),id:`week-start-${d.value}`,disabled:f}),d.label]},d.value))})]})]})]}),e.jsxs(l.DialogFooter,{children:[e.jsx(u.Button,{variant:"outline",size:"xs",onClick:_,disabled:z,children:"Cancel"}),e.jsx(u.Button,{size:"xs",onClick:O,disabled:$,children:z?e.jsxs(e.Fragment,{children:[e.jsx(u.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})}function Y(a={}){const{authToken:c,tokenProps:t}=l.useSemaphorContext(),m=u.useDashboardStore(r=>r.actions.applyResolvedValueFormatPreferences),s=a.enabled??!0,i=(c==null?void 0:c.accessToken)??null,h=(t==null?void 0:t.apiServiceUrl)??null,g=o.useRef(i);g.current=i;const[S,b]=o.useState(null),[C,f]=o.useState(!1),[j,T]=o.useState(!1),[x,w]=o.useState(!1),[P,v]=o.useState(null);o.useEffect(()=>{b(null),v(null),f(!1),T(!1),w(!1)},[i]);const N=o.useCallback(async r=>{const n=L.parseValueFormatPreferencesResponse(await r.json());if(!n.ok)throw new Error("Value format preferences response is invalid");return n.value},[]),k=o.useCallback(async(r,n)=>{if(!i||!h)throw new Error("Not authenticated");const y=await fetch(`${h}/v1/user-preferences/value-format`,{method:r,headers:{Authorization:`Bearer ${i}`,...n?{"Content-Type":"application/json"}:{}},body:n?JSON.stringify(n):void 0});if(!y.ok){const D=await y.json().catch(()=>({}));throw new Error(D.error||"Failed to update preferences")}return N(y)},[i,h,N]),E=o.useCallback(async()=>{if(!s||!i||!h)return;const r=i;f(!0),v(null);try{const n=await k("GET");g.current===r&&b(n)}catch(n){g.current===r&&v(n instanceof Error?n.message:"Unknown error")}finally{g.current===r&&f(!1)}},[i,h,s,k]);o.useEffect(()=>{s&&E()},[s,E]);const A=o.useCallback(async r=>{const n=i;T(!0),v(null);try{const y=await k("PATCH",r);return g.current!==n?!1:(b(y),m(y.resolved,y.sources),!0)}catch(y){return g.current===n&&v(y instanceof Error?y.message:"Unknown error"),!1}finally{g.current===n&&T(!1)}},[i,m,k]),p=o.useCallback(async()=>{const r=i;w(!0),v(null);try{const n=await k("DELETE");return g.current!==r?!1:(b(n),m(n.resolved,n.sources),!0)}catch(n){return g.current===r&&v(n instanceof Error?n.message:"Unknown error"),!1}finally{g.current===r&&w(!1)}},[i,m,k]);return{preferences:S,isLoading:C,isSaving:j,isClearing:x,error:P,updatePreferences:A,clearPreferences:p,refetch:E}}const I=["locale","dateStyle","dateTime.dateStyle","dateTime.timeStyle","defaultCurrency"];function q(a,c){var t,m;switch(c){case"locale":return a==null?void 0:a.locale;case"dateStyle":return a==null?void 0:a.dateStyle;case"dateTime.dateStyle":return(t=a==null?void 0:a.dateTime)==null?void 0:t.dateStyle;case"dateTime.timeStyle":return(m=a==null?void 0:a.dateTime)==null?void 0:m.timeStyle;case"defaultCurrency":return a==null?void 0:a.defaultCurrency}}function Z(a){var m,s;const c=(m=a==null?void 0:a.dateTime)==null?void 0:m.dateStyle,t=(s=a==null?void 0:a.dateTime)==null?void 0:s.timeStyle;return{locale:a==null?void 0:a.locale,dateStyle:a==null?void 0:a.dateStyle,dateTime:c===void 0&&t===void 0?void 0:{dateStyle:c,timeStyle:t},defaultCurrency:a==null?void 0:a.defaultCurrency}}function Q({active:a,onClose:c}){var g,S,b,C,f,j,T;const{preferences:t,isLoading:m,isSaving:s,updatePreferences:i}=Y({enabled:a});if(!a)return null;if(!t)return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2",children:e.jsx("div",{className:"flex min-h-36 items-center justify-center text-[12px] text-muted-foreground",children:m?"Loading preferences…":"Preferences unavailable."})}),e.jsxs(l.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(u.Button,{variant:"ghost",size:"xs",disabled:!0,children:"Reset display formats"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(u.Button,{variant:"outline",size:"xs",onClick:c,children:"Cancel"}),e.jsx(u.Button,{size:"xs",disabled:!0,children:"Save"})]})]})]});const h=[((g=t.stored)==null?void 0:g.locale)??"",((S=t.stored)==null?void 0:S.dateStyle)??"",((C=(b=t.stored)==null?void 0:b.dateTime)==null?void 0:C.dateStyle)??"",((j=(f=t.stored)==null?void 0:f.dateTime)==null?void 0:j.timeStyle)??"",((T=t.stored)==null?void 0:T.defaultCurrency)??""].join(":");return e.jsx(X,{preferences:t,isSaving:s,updatePreferences:i,onClose:c},h)}function X({preferences:a,isSaving:c,updatePreferences:t,onClose:m}){var b,C;const[s,i]=o.useState(()=>Z(a.stored)),h=(s.locale===void 0||L.canonicalizeSupportedLocale(s.locale)!==void 0)&&(s.defaultCurrency===void 0||L.canonicalizeSupportedCurrencyCode(s.defaultCurrency)!==void 0)&&(s.dateStyle===void 0||["short","medium","long"].includes(s.dateStyle))&&(((b=s.dateTime)==null?void 0:b.dateStyle)===void 0||["short","medium","long"].includes(s.dateTime.dateStyle))&&(((C=s.dateTime)==null?void 0:C.timeStyle)===void 0||["short","medium","long"].includes(s.dateTime.timeStyle)),g=async()=>{const f={...s.locale!==void 0?{locale:s.locale}:{},...s.dateStyle!==void 0?{dateStyle:s.dateStyle}:{},...s.dateTime?{dateTime:{...s.dateTime}}:{},...s.defaultCurrency!==void 0?{defaultCurrency:s.defaultCurrency}:{}},j=I.filter(w=>q(s,w)===void 0&&q(a.stored,w)!==void 0),T={...Object.keys(f).length>0?{set:f}:{},...j.length>0?{clear:j}:{}};(Object.keys(T).length===0?!0:await t(T))?(l.ue.success("Display format preferences saved."),m()):l.ue.error("Failed to save preferences. Please try again.")},S=async()=>{await t({clear:[...I]})?(l.ue.success("Display format preferences reset."),m()):l.ue.error("Failed to reset display format preferences. Please try again.")};return e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"py-2",children:e.jsx(l.DisplayFormatPreferencesFields,{value:s,inherited:a.inherited,inheritedSources:a.inheritedSources,onChange:i,disabled:c})}),e.jsxs(l.DialogFooter,{className:"justify-between sm:justify-between",children:[e.jsx(u.Button,{variant:"ghost",size:"xs",onClick:S,disabled:c||a.stored===null,children:"Reset display formats"}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx(u.Button,{variant:"outline",size:"xs",onClick:m,disabled:c,children:"Cancel"}),e.jsx(u.Button,{size:"xs",onClick:g,disabled:c||!h,children:c?e.jsxs(e.Fragment,{children:[e.jsx(u.LoaderCircle,{className:"h-3.5 w-3.5 animate-spin"}),"Saving…"]}):"Save"})]})]})]})}function ee({open:a,onOpenChange:c}){const[t,m]=o.useState("display"),s=()=>c(!1);return e.jsx(l.Dialog,{open:a,onOpenChange:c,children:e.jsxs(l.DialogContent,{className:"rounded-control border-border/60 sm:max-w-[440px] sm:rounded-control",children:[e.jsxs(l.DialogHeader,{children:[e.jsx(l.DialogTitle,{className:"text-[15px]",children:"Report preferences"}),e.jsx(l.DialogDescription,{className:"text-[13px] leading-5",children:"Set how values and Calendar periods appear for you."})]}),e.jsxs(u.Tabs,{value:t,onValueChange:m,children:[e.jsxs(u.TabsList,{variant:"underline",className:"w-full justify-start",children:[e.jsx(u.TabsTrigger,{value:"display",children:"Display formats"}),e.jsx(u.TabsTrigger,{value:"calendar",children:"Calendar"})]}),e.jsx(u.TabsContent,{value:"display",children:e.jsx(Q,{active:a&&t==="display",onClose:s})}),e.jsx(u.TabsContent,{value:"calendar",children:e.jsx(J,{active:a&&t==="calendar",onClose:s})})]})]})})}exports.ReportPreferencesDialog=ee;
|
package/dist/chunks/{report-runtime-context-DNbgCsko.js → report-runtime-context-B_pAmqxl.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { parseValueFormatPreferences as _, isReportPreferenceSource as C } from "../value-format-preferences/index.js";
|
|
2
|
-
import { b as k, h as g } from "./validators-
|
|
2
|
+
import { b as k, h as g } from "./validators-D3AarM2T.js";
|
|
3
3
|
const M = {
|
|
4
4
|
tz: "UTC",
|
|
5
5
|
weekStart: 1,
|
package/dist/chunks/{report-runtime-context-RFiWq4wK.cjs → report-runtime-context-BfW4qiMJ.cjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const p=require("../value-format-preferences/index.cjs"),f=require("./validators-
|
|
1
|
+
"use strict";const p=require("../value-format-preferences/index.cjs"),f=require("./validators-DqIM0B3C.cjs"),g={tz:"UTC",weekStart:1,anchor:"now"},b=["tz","weekStart","anchor","fiscalCalendar"],E=["kind","yearStartMonth"],w=["calendar","valueFormat","preferenceSources"],T=["calendar","valueFormat"],y=["tz","weekStart"],F=["stored","inherited","inheritedSources","resolved","sources"],z=["locale","dateStyle","dateTime","defaultCurrency"],R=["dateStyle","timeStyle"];function o(e){if(e===null||typeof e!="object"||Array.isArray(e))return!1;const a=Object.getPrototypeOf(e);return a===null||Object.getPrototypeOf(a)===null}function n(e,a,r){const t=new Set(a);return Object.keys(e).filter(s=>!t.has(s)).map(s=>({path:r==="$"?s:`${r}.${s}`,code:"unknown_property",message:`Unknown property "${s}"`}))}function _(e){return Number.isInteger(e)&&typeof e=="number"&&e>=0&&e<=6}function d(e,a,r){if(!o(e))return{ok:!1,issues:[{path:a,code:"invalid_type",message:"Calendar preferences must be an object"}]};const t=n(e,["tz","weekStart"],a);return(!r||e.tz!==void 0)&&(typeof e.tz!="string"||!f.isValidIanaTimeZone(e.tz))&&t.push({path:`${a}.tz`,code:"invalid_timezone",message:"tz must be a valid IANA timezone"}),(!r||e.weekStart!==void 0)&&!_(e.weekStart)&&t.push({path:`${a}.weekStart`,code:"invalid_week_start",message:"weekStart must be an integer from 0 to 6"}),t.length?{ok:!1,issues:t}:{ok:!0,value:{...e.tz!==void 0?{tz:e.tz}:{},...e.weekStart!==void 0?{weekStart:e.weekStart}:{}}}}function A(e){if(e==="now")return{ok:!0,value:"now"};if(!o(e))return{ok:!1,issues:[{path:"anchor",code:"invalid_anchor",message:'anchor must be "now" or an object with an ISO timestamp'}]};const a=n(e,["iso"],"anchor"),r=e.iso;return f.parseSemaphorIsoInstant(r)===null&&a.push({path:"anchor.iso",code:"invalid_anchor",message:"anchor.iso must be an ISO timestamp with an explicit offset"}),a.length?{ok:!1,issues:a}:{ok:!0,value:{iso:r}}}function O(e){if(!o(e))return{ok:!1,issues:[{path:"fiscalCalendar",code:"invalid_fiscal_calendar",message:"fiscalCalendar must be an object"}]};const a=n(e,E,"fiscalCalendar");return e.kind!=="month_aligned"&&a.push({path:"fiscalCalendar.kind",code:"invalid_fiscal_calendar",message:'fiscalCalendar.kind must be "month_aligned"'}),(!Number.isInteger(e.yearStartMonth)||typeof e.yearStartMonth!="number"||e.yearStartMonth<1||e.yearStartMonth>12)&&a.push({path:"fiscalCalendar.yearStartMonth",code:"invalid_fiscal_calendar",message:"fiscalCalendar.yearStartMonth must be an integer from 1 to 12"}),a.length?{ok:!1,issues:a}:{ok:!0,value:{kind:"month_aligned",yearStartMonth:e.yearStartMonth}}}function C(e){if(!o(e))return{ok:!1,issues:[{path:"$",code:"invalid_type",message:"Calendar context must be an object"}]};const a=n(e,b,"$");(typeof e.tz!="string"||!f.isValidIanaTimeZone(e.tz))&&a.push({path:"tz",code:"invalid_timezone",message:"tz must be a valid IANA timezone"}),_(e.weekStart)||a.push({path:"weekStart",code:"invalid_week_start",message:"weekStart must be an integer from 0 to 6"});const r=A(e.anchor);r.ok||a.push(...r.issues);let t;if(e.fiscalCalendar!==void 0){const s=O(e.fiscalCalendar);s.ok?t=s.value:a.push(...s.issues)}return a.length||!r.ok?{ok:!1,issues:a}:{ok:!0,value:{tz:e.tz,weekStart:e.weekStart,anchor:r.value,...t?{fiscalCalendar:t}:{}}}}function l(e,a,r){if(!p.isReportPreferenceSource(e)){r.push({path:a,code:"invalid_preference_source",message:"Preference source is invalid"});return}return e}function k(e,a){if(!o(e))return{ok:!1,issues:[{path:a,code:"invalid_type",message:"Calendar preference sources must be an object"}]};const r=n(e,y,a),t=l(e.tz,`${a}.tz`,r),s=l(e.weekStart,`${a}.weekStart`,r);return r.length||!t||!s?{ok:!1,issues:r}:{ok:!0,value:{tz:t,weekStart:s}}}function $(e){if(!o(e))return{ok:!1,issues:[{path:"$",code:"invalid_type",message:"Calendar preference response must be an object"}]};const a=n(e,F,"$"),r=e.stored===null?{ok:!0,value:null}:d(e.stored,"stored",!0),t=d(e.inherited,"inherited",!1),s=k(e.inheritedSources,"inheritedSources"),c=d(e.resolved,"resolved",!1),i=k(e.sources,"sources");for(const u of[r,t,s,c,i])u.ok||a.push(...u.issues);return a.length||!r.ok||!t.ok||!s.ok||!c.ok||!i.ok?{ok:!1,issues:a}:{ok:!0,value:{stored:r.value,inherited:t.value,inheritedSources:s.value,resolved:c.value,sources:i.value}}}function P(e){if(!o(e))return{ok:!1,issues:[{path:"preferenceSources",code:"invalid_type",message:"preferenceSources must be an object"}]};const a=n(e,T,"preferenceSources"),r=e.calendar,t=e.valueFormat;if(o(r)||a.push({path:"preferenceSources.calendar",code:"invalid_type",message:"Calendar preference sources must be an object"}),o(t)||a.push({path:"preferenceSources.valueFormat",code:"invalid_type",message:"Value-format preference sources must be an object"}),!o(r)||!o(t))return{ok:!1,issues:a};a.push(...n(r,y,"preferenceSources.calendar"),...n(t,z,"preferenceSources.valueFormat"));const s=t.dateTime;o(s)?a.push(...n(s,R,"preferenceSources.valueFormat.dateTime")):a.push({path:"preferenceSources.valueFormat.dateTime",code:"invalid_type",message:"Datetime preference sources must be an object"});const c=l(r.tz,"preferenceSources.calendar.tz",a),i=l(r.weekStart,"preferenceSources.calendar.weekStart",a),u=l(t.locale,"preferenceSources.valueFormat.locale",a),m=l(t.dateStyle,"preferenceSources.valueFormat.dateStyle",a),S=o(s)?l(s.dateStyle,"preferenceSources.valueFormat.dateTime.dateStyle",a):void 0,v=o(s)?l(s.timeStyle,"preferenceSources.valueFormat.dateTime.timeStyle",a):void 0,h=l(t.defaultCurrency,"preferenceSources.valueFormat.defaultCurrency",a);return a.length||!c||!i||!u||!m||!S||!v||!h?{ok:!1,issues:a}:{ok:!0,value:{calendar:{tz:c,weekStart:i},valueFormat:{locale:u,dateStyle:m,dateTime:{dateStyle:S,timeStyle:v},defaultCurrency:h}}}}function j(e){var t;const a=p.parseValueFormatPreferences(e);if(!a.ok)return{ok:!1,issues:a.issues.map(s=>({path:`valueFormat.${s.path}`,code:"invalid_value_format",message:s.message}))};const r=a.value;return r.locale===void 0||r.dateStyle===void 0||((t=r.dateTime)==null?void 0:t.dateStyle)===void 0||r.dateTime.timeStyle===void 0||r.defaultCurrency===void 0?{ok:!1,issues:[{path:"valueFormat",code:"invalid_value_format",message:"Resolved value-format preferences must be complete"}]}:{ok:!0,value:{locale:r.locale,dateStyle:r.dateStyle,dateTime:{dateStyle:r.dateTime.dateStyle,timeStyle:r.dateTime.timeStyle},defaultCurrency:r.defaultCurrency}}}function N(e){if(!o(e))return{ok:!1,issues:[{path:"$",code:"invalid_type",message:"Report runtime context must be an object"}]};const a=n(e,w,"$"),r=C(e.calendar),t=j(e.valueFormat),s=P(e.preferenceSources);return r.ok||a.push(...r.issues.map(c=>({...c,path:c.path==="$"?"calendar":`calendar.${c.path}`}))),t.ok||a.push(...t.issues),s.ok||a.push(...s.issues),a.length||!r.ok||!t.ok||!s.ok?{ok:!1,issues:a}:{ok:!0,value:{calendar:r.value,valueFormat:t.value,preferenceSources:s.value}}}exports.DEFAULT_CALENDAR_CONTEXT=g;exports.parseCalendarContext=C;exports.parseCalendarPreferencesResponse=$;exports.parseReportRuntimeContext=N;
|
package/dist/chunks/{source-entity-resolution-BDC-Qngk.cjs → source-entity-resolution-DCAAS-y8.cjs}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const Y=require("./validators-DcshgK7w.cjs");function y(e){const i=ae(e);return i.length>0?i.join("."):void 0}function Q(e){const i=y(e.qualifiedName),t=(i==null?void 0:i.split("."))||[];if(t.length===0)return{};const a={};let s=t.length-1;for(let r=e.capabilities.prefixLevels.length-1;r>=0&&s>=0;r-=1,s-=1)te(a,e.capabilities.prefixLevels[r],t[s]);return a}function B(e){return!e.left.tableName||!e.right.tableName?!1:e.capabilities.prefixLevels.every(i=>{const t=S(e.left,i),a=S(e.right,i);return!t||!a||t===a})}function Z(e){return e.capabilities.prefixLevels.every(i=>{const t=S(e.requested,i);return t?S(e.allowed,i)===t:!0})}function G(e,i={}){const t=F(e),a={connectionId:i.connectionId,connectionType:e,path:["database","schema","table"],labels:{database:"Database",schema:"Schema",table:"Table"},prefixLevels:["database","schema","table"],dialect:"postgres",supportsFilterClause:!0};return t.includes("postgres")?{...a,prefixLevels:["schema","table"],dialect:"postgres"}:t.includes("mysql")?{...a,prefixLevels:["database","table"],dialect:"mysql",supportsFilterClause:!1}:t.includes("mssql")||t.includes("sqlserver")?{...a,dialect:"mssql",supportsFilterClause:!1}:t.includes("redshift")?{...a,prefixLevels:["schema","table"],dialect:"redshift"}:t.includes("snowflake")?{...a,dialect:"snowflake"}:t.includes("clickhouse")?{connectionId:i.connectionId,connectionType:e,path:["database","table"],labels:{database:"Database",table:"Table"},prefixLevels:["database","table"],dialect:"clickhouse",supportsFilterClause:!1}:t==="s3"||t==="api"?{connectionId:i.connectionId,connectionType:e,path:["table"],labels:{table:t==="api"?"API Table":"File Table"},prefixLevels:["table"],dialect:"duckdb",supportsFilterClause:!0}:t==="googlesheets"||t==="fileupload"?{connectionId:i.connectionId,connectionType:e,path:["table"],labels:{table:"Table"},prefixLevels:["table"],dialect:"postgres",supportsFilterClause:!0}:t==="s3tables"?{...a,labels:{database:"Database",schema:"Namespace",table:"Table"},dialect:"duckdb"}:t==="bigquery"?{...a,labels:{database:"Project",schema:"Dataset",table:"Table"},prefixLevels:["schema","table"],dialect:"bigquery",supportsFilterClause:!1}:a}function v(e,i={}){return j(e)?G(e,i):void 0}function j(e){const i=F(e);if(i.includes("postgres"))return"postgres";if(i.includes("mysql"))return"mysql";if(i.includes("mssql")||i.includes("sqlserver"))return"mssql";if(i.includes("redshift"))return"redshift";if(i.includes("snowflake"))return"snowflake";if(i.includes("clickhouse"))return"clickhouse";if(i==="s3"||i==="api"||i==="googlesheets"||i==="fileupload"||i==="s3tables"||i==="bigquery")return i}function T(e){const i=F(e);switch(i){case"mysql":case"bigquery":case"redshift":case"snowflake":case"clickhouse":case"duckdb":case"sqlite":return i;case"mssql":case"sqlserver":return"mssql";case"postgres":case"postgresql":return"postgres";default:return"unknown"}}function ee(e){return e.capabilities.prefixLevels.every(i=>!!S(e.source,i))}function ie(e){const i=e.quoteIdentifier??ne;return e.capabilities.prefixLevels.map(t=>S(e.source,t)).filter(t=>!!t).map(t=>i(t,e.capabilities.dialect)).join(".")}function S(e,i){return i==="database"?e.databaseName:i==="schema"?e.schemaName:e.tableName}function te(e,i,t){i==="database"?e.databaseName=t:i==="schema"?e.schemaName=t:e.tableName=t}function ae(e){const i=e==null?void 0:e.trim();if(!i)return[];const t=i.split(".").map(a=>{const s=a.trim();return s.length>=2&&s.startsWith('"')&&s.endsWith('"')?s.slice(1,-1):s});return t.some(a=>!a)?[]:t}function ne(e,i){return i==="mysql"||i==="bigquery"||i==="clickhouse"||i==="duckdb"?`\`${e.replace(/`/g,"``")}\``:i==="mssql"?`[${e.replace(/]/g,"]]")}]`:`"${e.replace(/"/g,'""')}"`}function F(e){if(typeof e!="string")return"";const i=[];for(const t of e.trim().toLowerCase())se(t)&&i.push(t);return i.join("")}function se(e){const i=e.charCodeAt(0);return i>=48&&i<=57||i>=97&&i<=122}function R(e){return e.prefixLevels.length===1&&e.prefixLevels[0]==="table"?["table"]:Array.from(new Set(["database",...e.prefixLevels]))}function oe(e){const i=e.source.connectionType?v(e.source.connectionType):void 0,t=e.source.dialect?T(e.source.dialect):void 0,a=e.source.dialect&&e.source.dialect!=="unknown"?v(e.source.dialect):void 0;if(!e.capabilities&&e.source.connectionType&&e.source.dialect&&e.source.dialect!=="unknown"&&(!i||t==="unknown"||i.dialect!==t))return{kind:"incompatible_capabilities"};const s=e.capabilities||i||a;if(!s)return{kind:"incompatible_capabilities"};const r=R(s),o={...r.includes("database")&&e.source.databaseName?{databaseName:e.source.databaseName}:{},...r.includes("schema")&&e.source.schemaName?{schemaName:e.source.schemaName}:{},...e.source.tableName?{tableName:e.source.tableName}:{}},n=r.filter(d=>d==="database"?!o.databaseName:d==="schema"?!o.schemaName:!o.tableName);return n.length>0?{kind:"missing_coordinates",missing:n}:{kind:"resolved",coordinates:o}}function f(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function w(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function $(e){const i=w(e);return!i||!f(i.name)||i.type==="model"?!1:i.type==="dataset"?i.datasetType==="physical":!0}function x(e){const i=w(e);if(!i)return{};const t=f(i.table)||f(i.name);return{...f(i.database)?{databaseName:f(i.database)}:{},...f(i.schema)?{schemaName:f(i.schema)}:{},...t?{tableName:t}:{}}}function J(e){if(de(e))return{kind:"malformed"};const i=e.entities.filter($),t=re(e),a=ce({entities:i,connectionType:e.connectionType,dialect:e.dialect,capabilities:e.capabilities});if(!a)return{kind:"incompatible_capabilities"};const{capabilities:s}=a,r=ue({hints:e.qualifiedHints||[],coordinateHint:e.coordinateHint,capabilityAuthority:a});if(r.kind!=="valid")return{kind:r.kind};const o=r.coordinates,n=o?i.filter(c=>B({left:K(x(c),s),right:o,capabilities:s})):i;if(o&&n.length===0)return{kind:"not_found",basis:"qualified",coordinates:o,capabilityAuthority:a};if(o&&n.length===1){const c=n[0],u=D(a,c);return{kind:"resolved",basis:"qualified",entity:c,coordinates:he(x(c),o,u),capabilityAuthority:u}}const d=U([...e.bareHints||[],...r.bareHints,o==null?void 0:o.tableName]);if(d.size>0){const c=n.filter(u=>{const b=be(u);return Array.from(d).some(h=>b.has(h))});if(c.length===1){const u=c[0],b=D(a,u);return{kind:"resolved",basis:"bare",entity:u,coordinates:A(x(u),b),capabilityAuthority:b}}return c.length>1?{kind:"ambiguous",basis:"bare"}:{kind:"not_found",basis:"bare",capabilityAuthority:a}}if(o)return{kind:"ambiguous",basis:"qualified"};if(t)return{kind:"not_found",basis:t,capabilityAuthority:a};if(i.length===1){const c=i[0],u=D(a,c);return{kind:"resolved",basis:"unqualified",entity:c,coordinates:A(x(c),u),capabilityAuthority:u}}return{kind:"unqualified"}}function re(e){const i=(e.qualifiedHints||[]).map(f).filter(a=>!!a);return Object.values(e.coordinateHint||{}).some(a=>!!f(a))||i.some(a=>a.includes("."))?"qualified":[...i,...e.bareHints||[]].some(a=>!!f(a))?"bare":void 0}function q(e){return`${e.dialect}:${e.prefixLevels.join(".")}`}function L(e){return{dialect:e.dialect,prefixLevels:[...e.prefixLevels]}}function ce(e){var I;const i=f(e.connectionType),t=f(e.dialect),a=e.capabilities?L(e.capabilities):void 0,s=i?v(i):void 0,r=t?T(t):void 0,o=t&&t!=="unknown"?v(t):void 0;if(i&&!s||t&&t!=="unknown"&&r==="unknown"||a&&s&&q(a)!==q(s))return;const n=a||(s?L(s):o?L(o):void 0);if(n)return r&&r!=="unknown"&&n.dialect!==r?void 0:{capabilities:n,...i?{connectionType:i}:{},dialect:n.dialect,evidence:"explicit"};const d=e.entities.map(m=>{const k=w(m),g=f(k==null?void 0:k.connectionType),p=f(k==null?void 0:k.dialect),C=g?v(g):void 0,H=p?T(p):void 0,E=p&&p!=="unknown"?v(p):void 0;if(g&&!C||p&&p!=="unknown"&&H==="unknown"||p&&p!=="unknown"&&!C&&!E||C&&H&&H!=="unknown"&&C.dialect!==H)return;const V=C||E,P=V?L(V):le(k);return P?{capabilities:P,connectionType:g,capabilityIdentity:g?j(g):void 0,inferred:!C&&!E,signature:q(P)}:void 0});if(d.some(m=>!m))return;const c=d.filter(m=>!!m);if(new Set(c.map(m=>m.signature)).size>1)return;const u=(I=c[0])==null?void 0:I.capabilities;if(!u||r&&r!=="unknown"&&u.dialect!==r)return;const b=new Set(c.map(m=>m.capabilityIdentity).filter(m=>!!m)),h=c.every(m=>m.connectionType&&m.capabilityIdentity);return{capabilities:u,...h&&b.size===1?{connectionType:c[0].connectionType}:{},dialect:u.dialect,evidence:c.every(m=>m.inferred)?"coordinates":"entity"}}function le(e){const i=!!f(e==null?void 0:e.database),t=!!f(e==null?void 0:e.schema);if(!(i&&t)){if(t)return{dialect:"unknown",prefixLevels:["schema","table"]};if(i)return{dialect:"unknown",prefixLevels:["database","table"]}}}function D(e,i){var s;if(e.evidence!=="entity")return e;const t=f((s=w(i))==null?void 0:s.connectionType),a=t?v(t):void 0;return a&&q(a)===q(e.capabilities)?{...e,connectionType:t}:e}function de(e){return(e.qualifiedHints||[]).some(t=>{const a=f(t);return!!(a&&a.includes(".")&&!y(a))})?!0:Object.values(e.coordinateHint||{}).some(t=>{const a=f(t);return!!(a&&!y(a))})}function ue(e){const{capabilities:i}=e.capabilityAuthority,t=[],a=[];for(const b of e.hints){const h=f(b);if(!h)continue;if(!h.includes(".")){a.push(h);continue}const I=y(h);if(!I)return{kind:"malformed"};t.push(I)}const s=fe(e.coordinateHint);if(s.kind==="malformed")return s;const r=Array.from(new Set(t)).map(b=>Q({qualifiedName:b,capabilities:i}));if(!me(r,i))return{kind:"conflicting"};const o=[...new Set(t)].sort((b,h)=>h.split(".").length-b.split(".").length)[0],n=o?Q({qualifiedName:o,capabilities:i}):void 0,d=K(s.coordinates,i),c=A(s.coordinates,e.capabilityAuthority),u=!!(d.tableName&&(d.databaseName||d.schemaName));return n&&u&&!B({left:n,right:d,capabilities:i})?{kind:"conflicting"}:{kind:"valid",coordinates:n?{...c,...n}:u?c:void 0,bareHints:[...a,...!u&&d.tableName?[d.tableName]:[]]}}function fe(e){const i={};for(const[t,a]of Object.entries(e||{})){const s=f(a);if(!s)continue;const r=y(s);if(!r)return{kind:"malformed"};i[t]=r}return{kind:"valid",coordinates:i}}function K(e,i){return{...i.prefixLevels.includes("database")&&e.databaseName?{databaseName:e.databaseName}:{},...i.prefixLevels.includes("schema")&&e.schemaName?{schemaName:e.schemaName}:{},...e.tableName?{tableName:e.tableName}:{}}}function me(e,i){return e.every((t,a)=>e.slice(a+1).every(s=>B({left:t,right:s,capabilities:i})))}function U(e){return new Set(e.map(f).map(y).filter(i=>!!i))}function be(e){const i=w(e);return i?U([f(i.name),f(i.table),f(i.id)]):new Set}function he(e,i,t){return A({...e,...i},t)}function A(e,i){const t=i.evidence==="coordinates"?i.capabilities.prefixLevels:R(i.capabilities);return{...t.includes("database")&&e.databaseName?{databaseName:e.databaseName}:{},...t.includes("schema")&&e.schemaName?{schemaName:e.schemaName}:{},...e.tableName?{tableName:e.tableName}:{}}}function l(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function N(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function ye(e){const i=N(e);return!!(i&&i.type==="dataset"&&l(i.name))}function M(e){const i=N(e);return!!(i&&i.type==="dataset"&&i.datasetType!=="physical"&&l(i.name))}function O(e){const i=new Set;for(const t of e){const a=l(t);if(!a)continue;const s=y(a);if(!s)continue;const r=s.toLowerCase();i.add(r);const o=r.split("."),n=o[o.length-1];n&&i.add(n)}return i}function W(e){var t;const i=l(e);return i?(t=y(i))==null?void 0:t.toLowerCase():void 0}function z(e,i){const t=N(i),a=l(t==null?void 0:t.domainId)||l(e.semanticDomainId),s=l(t==null?void 0:t.name);if(!a||!s)return;const r=(t==null?void 0:t.datasetType)==="physical"?void 0:Y.getSemaphorDatasetEntityId(t||{}),o=l(t==null?void 0:t.connectionId)||l(e.connectionId);return{kind:"semantic",domainId:a,datasetName:s,...r?{datasetId:r}:{},...o?{connectionId:o}:{}}}function X(e,i={}){const t=l(e.fieldEntityType);if(t&&t!=="dataset")return{kind:"unqualified"};const a=e.entities.filter(o=>i.includePhysicalDatasets?ye(o):M(o)),s=l(e.entityId);if(s){const o=W(s),n=a.filter(d=>{const c=N(d);return!!(o&&W(c==null?void 0:c.id)===o)});if(n.length>1)return{kind:"ambiguous",basis:"bare"};if(n.length===1){const d=z(e,n[0]);return d?{kind:"resolved",basis:"bare",entity:n[0],source:d,matchedById:!0}:{kind:"not_found",basis:"bare"}}}const r=O([e.entityName,...e.qualifiedHints||[],...e.bareHints||[]]);if(r.size>0){const o=a.filter(n=>{const d=N(n);return[...O([d==null?void 0:d.id,d==null?void 0:d.name])].some(u=>r.has(u))});if(o.length>1)return{kind:"ambiguous",basis:"bare"};if(o.length===1){const n=z(e,o[0]);return n?{kind:"resolved",basis:"bare",entity:o[0],source:n,matchedById:!1}:{kind:"not_found",basis:"bare"}}return{kind:"not_found",basis:"bare"}}if(a.length===1){const o=z(e,a[0]);return o?{kind:"resolved",basis:"unqualified",entity:a[0],source:o,matchedById:!1}:{kind:"unqualified"}}return{kind:"unqualified"}}function _(e){const i=e.resolution.kind==="resolved"?N(e.resolution.entity):void 0,t=l(e.connectionId)||l(i==null?void 0:i.connectionId),{connectionType:a,dialect:s}=e.resolution.capabilityAuthority,r=v(s),o=!!(r&&r.dialect===e.resolution.capabilityAuthority.capabilities.dialect&&r.prefixLevels.join(".")===e.resolution.capabilityAuthority.capabilities.prefixLevels.join(".")),n=e.resolution.coordinates;if(!(!t||!(n!=null&&n.tableName)))return{kind:"physical",connectionId:t,...a?{connectionType:a}:{},...!a&&o?{dialect:s}:{},tableName:n.tableName,...n.databaseName?{databaseName:n.databaseName}:{},...n.schemaName?{schemaName:n.schemaName}:{}}}function pe(e){var s,r,o;if(l(e.connectionType)||l(e.dialect)||e.capabilities||l(e.semanticDomainId)||l(e.fieldEntityType)==="dataset"||l((s=e.fallbackCoordinateHint)==null?void 0:s.databaseName)||l((r=e.fallbackCoordinateHint)==null?void 0:r.schemaName))return;const i=[l((o=e.fallbackCoordinateHint)==null?void 0:o.tableName),...(e.qualifiedHints||[]).map(l),...(e.bareHints||[]).map(l),l(e.entityName),...l(e.fieldEntityType)==="table"?[l(e.entityId)]:[]].filter(n=>!!n);if(!i.length||i.some(n=>n.includes(".")))return;const t=i.map(y);return t.some(n=>!n)?void 0:new Set(t.map(n=>n.toLowerCase())).size===1?t[0]:void 0}function ve(e){const i=e.entities.filter($),t=e.entities.filter(M),a=i.length>0||t.length>0,s=X(e),r=e.qualifiedHints||[],o=r.some(c=>{var u;return(u=l(c))==null?void 0:u.includes(".")}),n=J({entities:i,connectionType:l(e.connectionType),dialect:e.dialect,capabilities:e.capabilities,qualifiedHints:r,bareHints:[e.entityName,e.entityId,...e.bareHints||[]],...!o&&e.fallbackCoordinateHint?{coordinateHint:e.fallbackCoordinateHint}:{}});if(n.kind==="malformed"||n.kind==="conflicting"||n.kind==="incompatible_capabilities"&&o||n.kind==="ambiguous"&&n.basis==="qualified")return n;if(n.kind==="resolved"&&n.basis==="qualified"){const c=_({resolution:n,connectionId:e.connectionId});return c?{kind:"resolved",basis:n.basis,source:c,entity:n.entity}:{kind:"missing_connection"}}if(n.kind==="not_found"&&n.basis==="qualified"&&n.coordinates){const c=_({resolution:n,connectionId:e.connectionId});return c?a?{kind:"candidate",basis:"qualified",source:c}:{kind:"resolved",basis:"qualified",source:c}:{kind:"missing_connection"}}if(s.kind==="resolved")return n.kind==="resolved"&&n.basis==="bare"&&!s.matchedById?{kind:"ambiguous",basis:"bare"}:{kind:"resolved",basis:s.basis,source:s.source,entity:s.entity};if(s.kind==="ambiguous")return s;if(n.kind==="resolved"){const c=_({resolution:n,connectionId:e.connectionId});return c?{kind:"resolved",basis:n.basis,source:c,entity:n.entity}:{kind:"missing_connection"}}const d=l(e.entityName)||l(e.entityId);if(!a&&!o&&l(e.semanticDomainId)&&(!l(e.fieldEntityType)||l(e.fieldEntityType)==="dataset")&&d)return{kind:"resolved",basis:"historical",source:{kind:"semantic",domainId:l(e.semanticDomainId),datasetName:d,...l(e.connectionId)?{connectionId:l(e.connectionId)}:{}}};if(n.kind==="incompatible_capabilities"){const c=a?void 0:pe(e),u=l(e.connectionId);return c&&u?{kind:"resolved",basis:"historical",source:{kind:"physical",connectionId:u,tableName:c}}:n}return n.kind==="ambiguous"?n:n.kind==="not_found"?{kind:"not_found",basis:n.basis}:{kind:"unqualified"}}exports.buildSemaphorQualifiedSourcePath=ie;exports.canonicalizeSemaphorQualifiedSourcePath=y;exports.getSemaphorCatalogCoordinateLevels=R;exports.getSemaphorConnectionCapabilities=G;exports.isSemaphorPhysicalSourceEntity=$;exports.isSemaphorSemanticSourceEntity=M;exports.normalizeSemaphorDialect=T;exports.parseSemaphorQualifiedSourcePath=Q;exports.resolveSemaphorConnectionCapabilities=v;exports.resolveSemaphorConnectionCapabilityIdentity=j;exports.resolveSemaphorPhysicalCatalogAddress=oe;exports.resolveSemaphorPhysicalSourceEntity=J;exports.resolveSemaphorSemanticDatasetEntity=X;exports.resolveSemaphorSourceEntity=ve;exports.semaphorPhysicalSourceCoordinatesAreCompatible=B;exports.semaphorPhysicalSourceCoordinatesCover=Z;exports.semaphorSourceHasRequiredCoordinates=ee;
|
|
1
|
+
"use strict";const Y=require("./validators-DqIM0B3C.cjs");function y(e){const i=ae(e);return i.length>0?i.join("."):void 0}function Q(e){const i=y(e.qualifiedName),t=(i==null?void 0:i.split("."))||[];if(t.length===0)return{};const a={};let s=t.length-1;for(let r=e.capabilities.prefixLevels.length-1;r>=0&&s>=0;r-=1,s-=1)te(a,e.capabilities.prefixLevels[r],t[s]);return a}function B(e){return!e.left.tableName||!e.right.tableName?!1:e.capabilities.prefixLevels.every(i=>{const t=S(e.left,i),a=S(e.right,i);return!t||!a||t===a})}function Z(e){return e.capabilities.prefixLevels.every(i=>{const t=S(e.requested,i);return t?S(e.allowed,i)===t:!0})}function G(e,i={}){const t=F(e),a={connectionId:i.connectionId,connectionType:e,path:["database","schema","table"],labels:{database:"Database",schema:"Schema",table:"Table"},prefixLevels:["database","schema","table"],dialect:"postgres",supportsFilterClause:!0};return t.includes("postgres")?{...a,prefixLevels:["schema","table"],dialect:"postgres"}:t.includes("mysql")?{...a,prefixLevels:["database","table"],dialect:"mysql",supportsFilterClause:!1}:t.includes("mssql")||t.includes("sqlserver")?{...a,dialect:"mssql",supportsFilterClause:!1}:t.includes("redshift")?{...a,prefixLevels:["schema","table"],dialect:"redshift"}:t.includes("snowflake")?{...a,dialect:"snowflake"}:t.includes("clickhouse")?{connectionId:i.connectionId,connectionType:e,path:["database","table"],labels:{database:"Database",table:"Table"},prefixLevels:["database","table"],dialect:"clickhouse",supportsFilterClause:!1}:t==="s3"||t==="api"?{connectionId:i.connectionId,connectionType:e,path:["table"],labels:{table:t==="api"?"API Table":"File Table"},prefixLevels:["table"],dialect:"duckdb",supportsFilterClause:!0}:t==="googlesheets"||t==="fileupload"?{connectionId:i.connectionId,connectionType:e,path:["table"],labels:{table:"Table"},prefixLevels:["table"],dialect:"postgres",supportsFilterClause:!0}:t==="s3tables"?{...a,labels:{database:"Database",schema:"Namespace",table:"Table"},dialect:"duckdb"}:t==="bigquery"?{...a,labels:{database:"Project",schema:"Dataset",table:"Table"},prefixLevels:["schema","table"],dialect:"bigquery",supportsFilterClause:!1}:a}function v(e,i={}){return j(e)?G(e,i):void 0}function j(e){const i=F(e);if(i.includes("postgres"))return"postgres";if(i.includes("mysql"))return"mysql";if(i.includes("mssql")||i.includes("sqlserver"))return"mssql";if(i.includes("redshift"))return"redshift";if(i.includes("snowflake"))return"snowflake";if(i.includes("clickhouse"))return"clickhouse";if(i==="s3"||i==="api"||i==="googlesheets"||i==="fileupload"||i==="s3tables"||i==="bigquery")return i}function T(e){const i=F(e);switch(i){case"mysql":case"bigquery":case"redshift":case"snowflake":case"clickhouse":case"duckdb":case"sqlite":return i;case"mssql":case"sqlserver":return"mssql";case"postgres":case"postgresql":return"postgres";default:return"unknown"}}function ee(e){return e.capabilities.prefixLevels.every(i=>!!S(e.source,i))}function ie(e){const i=e.quoteIdentifier??ne;return e.capabilities.prefixLevels.map(t=>S(e.source,t)).filter(t=>!!t).map(t=>i(t,e.capabilities.dialect)).join(".")}function S(e,i){return i==="database"?e.databaseName:i==="schema"?e.schemaName:e.tableName}function te(e,i,t){i==="database"?e.databaseName=t:i==="schema"?e.schemaName=t:e.tableName=t}function ae(e){const i=e==null?void 0:e.trim();if(!i)return[];const t=i.split(".").map(a=>{const s=a.trim();return s.length>=2&&s.startsWith('"')&&s.endsWith('"')?s.slice(1,-1):s});return t.some(a=>!a)?[]:t}function ne(e,i){return i==="mysql"||i==="bigquery"||i==="clickhouse"||i==="duckdb"?`\`${e.replace(/`/g,"``")}\``:i==="mssql"?`[${e.replace(/]/g,"]]")}]`:`"${e.replace(/"/g,'""')}"`}function F(e){if(typeof e!="string")return"";const i=[];for(const t of e.trim().toLowerCase())se(t)&&i.push(t);return i.join("")}function se(e){const i=e.charCodeAt(0);return i>=48&&i<=57||i>=97&&i<=122}function R(e){return e.prefixLevels.length===1&&e.prefixLevels[0]==="table"?["table"]:Array.from(new Set(["database",...e.prefixLevels]))}function oe(e){const i=e.source.connectionType?v(e.source.connectionType):void 0,t=e.source.dialect?T(e.source.dialect):void 0,a=e.source.dialect&&e.source.dialect!=="unknown"?v(e.source.dialect):void 0;if(!e.capabilities&&e.source.connectionType&&e.source.dialect&&e.source.dialect!=="unknown"&&(!i||t==="unknown"||i.dialect!==t))return{kind:"incompatible_capabilities"};const s=e.capabilities||i||a;if(!s)return{kind:"incompatible_capabilities"};const r=R(s),o={...r.includes("database")&&e.source.databaseName?{databaseName:e.source.databaseName}:{},...r.includes("schema")&&e.source.schemaName?{schemaName:e.source.schemaName}:{},...e.source.tableName?{tableName:e.source.tableName}:{}},n=r.filter(d=>d==="database"?!o.databaseName:d==="schema"?!o.schemaName:!o.tableName);return n.length>0?{kind:"missing_coordinates",missing:n}:{kind:"resolved",coordinates:o}}function f(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function w(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function $(e){const i=w(e);return!i||!f(i.name)||i.type==="model"?!1:i.type==="dataset"?i.datasetType==="physical":!0}function x(e){const i=w(e);if(!i)return{};const t=f(i.table)||f(i.name);return{...f(i.database)?{databaseName:f(i.database)}:{},...f(i.schema)?{schemaName:f(i.schema)}:{},...t?{tableName:t}:{}}}function J(e){if(de(e))return{kind:"malformed"};const i=e.entities.filter($),t=re(e),a=ce({entities:i,connectionType:e.connectionType,dialect:e.dialect,capabilities:e.capabilities});if(!a)return{kind:"incompatible_capabilities"};const{capabilities:s}=a,r=ue({hints:e.qualifiedHints||[],coordinateHint:e.coordinateHint,capabilityAuthority:a});if(r.kind!=="valid")return{kind:r.kind};const o=r.coordinates,n=o?i.filter(c=>B({left:K(x(c),s),right:o,capabilities:s})):i;if(o&&n.length===0)return{kind:"not_found",basis:"qualified",coordinates:o,capabilityAuthority:a};if(o&&n.length===1){const c=n[0],u=D(a,c);return{kind:"resolved",basis:"qualified",entity:c,coordinates:he(x(c),o,u),capabilityAuthority:u}}const d=U([...e.bareHints||[],...r.bareHints,o==null?void 0:o.tableName]);if(d.size>0){const c=n.filter(u=>{const b=be(u);return Array.from(d).some(h=>b.has(h))});if(c.length===1){const u=c[0],b=D(a,u);return{kind:"resolved",basis:"bare",entity:u,coordinates:A(x(u),b),capabilityAuthority:b}}return c.length>1?{kind:"ambiguous",basis:"bare"}:{kind:"not_found",basis:"bare",capabilityAuthority:a}}if(o)return{kind:"ambiguous",basis:"qualified"};if(t)return{kind:"not_found",basis:t,capabilityAuthority:a};if(i.length===1){const c=i[0],u=D(a,c);return{kind:"resolved",basis:"unqualified",entity:c,coordinates:A(x(c),u),capabilityAuthority:u}}return{kind:"unqualified"}}function re(e){const i=(e.qualifiedHints||[]).map(f).filter(a=>!!a);return Object.values(e.coordinateHint||{}).some(a=>!!f(a))||i.some(a=>a.includes("."))?"qualified":[...i,...e.bareHints||[]].some(a=>!!f(a))?"bare":void 0}function q(e){return`${e.dialect}:${e.prefixLevels.join(".")}`}function L(e){return{dialect:e.dialect,prefixLevels:[...e.prefixLevels]}}function ce(e){var I;const i=f(e.connectionType),t=f(e.dialect),a=e.capabilities?L(e.capabilities):void 0,s=i?v(i):void 0,r=t?T(t):void 0,o=t&&t!=="unknown"?v(t):void 0;if(i&&!s||t&&t!=="unknown"&&r==="unknown"||a&&s&&q(a)!==q(s))return;const n=a||(s?L(s):o?L(o):void 0);if(n)return r&&r!=="unknown"&&n.dialect!==r?void 0:{capabilities:n,...i?{connectionType:i}:{},dialect:n.dialect,evidence:"explicit"};const d=e.entities.map(m=>{const k=w(m),g=f(k==null?void 0:k.connectionType),p=f(k==null?void 0:k.dialect),C=g?v(g):void 0,H=p?T(p):void 0,E=p&&p!=="unknown"?v(p):void 0;if(g&&!C||p&&p!=="unknown"&&H==="unknown"||p&&p!=="unknown"&&!C&&!E||C&&H&&H!=="unknown"&&C.dialect!==H)return;const V=C||E,P=V?L(V):le(k);return P?{capabilities:P,connectionType:g,capabilityIdentity:g?j(g):void 0,inferred:!C&&!E,signature:q(P)}:void 0});if(d.some(m=>!m))return;const c=d.filter(m=>!!m);if(new Set(c.map(m=>m.signature)).size>1)return;const u=(I=c[0])==null?void 0:I.capabilities;if(!u||r&&r!=="unknown"&&u.dialect!==r)return;const b=new Set(c.map(m=>m.capabilityIdentity).filter(m=>!!m)),h=c.every(m=>m.connectionType&&m.capabilityIdentity);return{capabilities:u,...h&&b.size===1?{connectionType:c[0].connectionType}:{},dialect:u.dialect,evidence:c.every(m=>m.inferred)?"coordinates":"entity"}}function le(e){const i=!!f(e==null?void 0:e.database),t=!!f(e==null?void 0:e.schema);if(!(i&&t)){if(t)return{dialect:"unknown",prefixLevels:["schema","table"]};if(i)return{dialect:"unknown",prefixLevels:["database","table"]}}}function D(e,i){var s;if(e.evidence!=="entity")return e;const t=f((s=w(i))==null?void 0:s.connectionType),a=t?v(t):void 0;return a&&q(a)===q(e.capabilities)?{...e,connectionType:t}:e}function de(e){return(e.qualifiedHints||[]).some(t=>{const a=f(t);return!!(a&&a.includes(".")&&!y(a))})?!0:Object.values(e.coordinateHint||{}).some(t=>{const a=f(t);return!!(a&&!y(a))})}function ue(e){const{capabilities:i}=e.capabilityAuthority,t=[],a=[];for(const b of e.hints){const h=f(b);if(!h)continue;if(!h.includes(".")){a.push(h);continue}const I=y(h);if(!I)return{kind:"malformed"};t.push(I)}const s=fe(e.coordinateHint);if(s.kind==="malformed")return s;const r=Array.from(new Set(t)).map(b=>Q({qualifiedName:b,capabilities:i}));if(!me(r,i))return{kind:"conflicting"};const o=[...new Set(t)].sort((b,h)=>h.split(".").length-b.split(".").length)[0],n=o?Q({qualifiedName:o,capabilities:i}):void 0,d=K(s.coordinates,i),c=A(s.coordinates,e.capabilityAuthority),u=!!(d.tableName&&(d.databaseName||d.schemaName));return n&&u&&!B({left:n,right:d,capabilities:i})?{kind:"conflicting"}:{kind:"valid",coordinates:n?{...c,...n}:u?c:void 0,bareHints:[...a,...!u&&d.tableName?[d.tableName]:[]]}}function fe(e){const i={};for(const[t,a]of Object.entries(e||{})){const s=f(a);if(!s)continue;const r=y(s);if(!r)return{kind:"malformed"};i[t]=r}return{kind:"valid",coordinates:i}}function K(e,i){return{...i.prefixLevels.includes("database")&&e.databaseName?{databaseName:e.databaseName}:{},...i.prefixLevels.includes("schema")&&e.schemaName?{schemaName:e.schemaName}:{},...e.tableName?{tableName:e.tableName}:{}}}function me(e,i){return e.every((t,a)=>e.slice(a+1).every(s=>B({left:t,right:s,capabilities:i})))}function U(e){return new Set(e.map(f).map(y).filter(i=>!!i))}function be(e){const i=w(e);return i?U([f(i.name),f(i.table),f(i.id)]):new Set}function he(e,i,t){return A({...e,...i},t)}function A(e,i){const t=i.evidence==="coordinates"?i.capabilities.prefixLevels:R(i.capabilities);return{...t.includes("database")&&e.databaseName?{databaseName:e.databaseName}:{},...t.includes("schema")&&e.schemaName?{schemaName:e.schemaName}:{},...e.tableName?{tableName:e.tableName}:{}}}function l(e){return typeof e=="string"&&e.trim()?e.trim():void 0}function N(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function ye(e){const i=N(e);return!!(i&&i.type==="dataset"&&l(i.name))}function M(e){const i=N(e);return!!(i&&i.type==="dataset"&&i.datasetType!=="physical"&&l(i.name))}function O(e){const i=new Set;for(const t of e){const a=l(t);if(!a)continue;const s=y(a);if(!s)continue;const r=s.toLowerCase();i.add(r);const o=r.split("."),n=o[o.length-1];n&&i.add(n)}return i}function W(e){var t;const i=l(e);return i?(t=y(i))==null?void 0:t.toLowerCase():void 0}function z(e,i){const t=N(i),a=l(t==null?void 0:t.domainId)||l(e.semanticDomainId),s=l(t==null?void 0:t.name);if(!a||!s)return;const r=(t==null?void 0:t.datasetType)==="physical"?void 0:Y.getSemaphorDatasetEntityId(t||{}),o=l(t==null?void 0:t.connectionId)||l(e.connectionId);return{kind:"semantic",domainId:a,datasetName:s,...r?{datasetId:r}:{},...o?{connectionId:o}:{}}}function X(e,i={}){const t=l(e.fieldEntityType);if(t&&t!=="dataset")return{kind:"unqualified"};const a=e.entities.filter(o=>i.includePhysicalDatasets?ye(o):M(o)),s=l(e.entityId);if(s){const o=W(s),n=a.filter(d=>{const c=N(d);return!!(o&&W(c==null?void 0:c.id)===o)});if(n.length>1)return{kind:"ambiguous",basis:"bare"};if(n.length===1){const d=z(e,n[0]);return d?{kind:"resolved",basis:"bare",entity:n[0],source:d,matchedById:!0}:{kind:"not_found",basis:"bare"}}}const r=O([e.entityName,...e.qualifiedHints||[],...e.bareHints||[]]);if(r.size>0){const o=a.filter(n=>{const d=N(n);return[...O([d==null?void 0:d.id,d==null?void 0:d.name])].some(u=>r.has(u))});if(o.length>1)return{kind:"ambiguous",basis:"bare"};if(o.length===1){const n=z(e,o[0]);return n?{kind:"resolved",basis:"bare",entity:o[0],source:n,matchedById:!1}:{kind:"not_found",basis:"bare"}}return{kind:"not_found",basis:"bare"}}if(a.length===1){const o=z(e,a[0]);return o?{kind:"resolved",basis:"unqualified",entity:a[0],source:o,matchedById:!1}:{kind:"unqualified"}}return{kind:"unqualified"}}function _(e){const i=e.resolution.kind==="resolved"?N(e.resolution.entity):void 0,t=l(e.connectionId)||l(i==null?void 0:i.connectionId),{connectionType:a,dialect:s}=e.resolution.capabilityAuthority,r=v(s),o=!!(r&&r.dialect===e.resolution.capabilityAuthority.capabilities.dialect&&r.prefixLevels.join(".")===e.resolution.capabilityAuthority.capabilities.prefixLevels.join(".")),n=e.resolution.coordinates;if(!(!t||!(n!=null&&n.tableName)))return{kind:"physical",connectionId:t,...a?{connectionType:a}:{},...!a&&o?{dialect:s}:{},tableName:n.tableName,...n.databaseName?{databaseName:n.databaseName}:{},...n.schemaName?{schemaName:n.schemaName}:{}}}function pe(e){var s,r,o;if(l(e.connectionType)||l(e.dialect)||e.capabilities||l(e.semanticDomainId)||l(e.fieldEntityType)==="dataset"||l((s=e.fallbackCoordinateHint)==null?void 0:s.databaseName)||l((r=e.fallbackCoordinateHint)==null?void 0:r.schemaName))return;const i=[l((o=e.fallbackCoordinateHint)==null?void 0:o.tableName),...(e.qualifiedHints||[]).map(l),...(e.bareHints||[]).map(l),l(e.entityName),...l(e.fieldEntityType)==="table"?[l(e.entityId)]:[]].filter(n=>!!n);if(!i.length||i.some(n=>n.includes(".")))return;const t=i.map(y);return t.some(n=>!n)?void 0:new Set(t.map(n=>n.toLowerCase())).size===1?t[0]:void 0}function ve(e){const i=e.entities.filter($),t=e.entities.filter(M),a=i.length>0||t.length>0,s=X(e),r=e.qualifiedHints||[],o=r.some(c=>{var u;return(u=l(c))==null?void 0:u.includes(".")}),n=J({entities:i,connectionType:l(e.connectionType),dialect:e.dialect,capabilities:e.capabilities,qualifiedHints:r,bareHints:[e.entityName,e.entityId,...e.bareHints||[]],...!o&&e.fallbackCoordinateHint?{coordinateHint:e.fallbackCoordinateHint}:{}});if(n.kind==="malformed"||n.kind==="conflicting"||n.kind==="incompatible_capabilities"&&o||n.kind==="ambiguous"&&n.basis==="qualified")return n;if(n.kind==="resolved"&&n.basis==="qualified"){const c=_({resolution:n,connectionId:e.connectionId});return c?{kind:"resolved",basis:n.basis,source:c,entity:n.entity}:{kind:"missing_connection"}}if(n.kind==="not_found"&&n.basis==="qualified"&&n.coordinates){const c=_({resolution:n,connectionId:e.connectionId});return c?a?{kind:"candidate",basis:"qualified",source:c}:{kind:"resolved",basis:"qualified",source:c}:{kind:"missing_connection"}}if(s.kind==="resolved")return n.kind==="resolved"&&n.basis==="bare"&&!s.matchedById?{kind:"ambiguous",basis:"bare"}:{kind:"resolved",basis:s.basis,source:s.source,entity:s.entity};if(s.kind==="ambiguous")return s;if(n.kind==="resolved"){const c=_({resolution:n,connectionId:e.connectionId});return c?{kind:"resolved",basis:n.basis,source:c,entity:n.entity}:{kind:"missing_connection"}}const d=l(e.entityName)||l(e.entityId);if(!a&&!o&&l(e.semanticDomainId)&&(!l(e.fieldEntityType)||l(e.fieldEntityType)==="dataset")&&d)return{kind:"resolved",basis:"historical",source:{kind:"semantic",domainId:l(e.semanticDomainId),datasetName:d,...l(e.connectionId)?{connectionId:l(e.connectionId)}:{}}};if(n.kind==="incompatible_capabilities"){const c=a?void 0:pe(e),u=l(e.connectionId);return c&&u?{kind:"resolved",basis:"historical",source:{kind:"physical",connectionId:u,tableName:c}}:n}return n.kind==="ambiguous"?n:n.kind==="not_found"?{kind:"not_found",basis:n.basis}:{kind:"unqualified"}}exports.buildSemaphorQualifiedSourcePath=ie;exports.canonicalizeSemaphorQualifiedSourcePath=y;exports.getSemaphorCatalogCoordinateLevels=R;exports.getSemaphorConnectionCapabilities=G;exports.isSemaphorPhysicalSourceEntity=$;exports.isSemaphorSemanticSourceEntity=M;exports.normalizeSemaphorDialect=T;exports.parseSemaphorQualifiedSourcePath=Q;exports.resolveSemaphorConnectionCapabilities=v;exports.resolveSemaphorConnectionCapabilityIdentity=j;exports.resolveSemaphorPhysicalCatalogAddress=oe;exports.resolveSemaphorPhysicalSourceEntity=J;exports.resolveSemaphorSemanticDatasetEntity=X;exports.resolveSemaphorSourceEntity=ve;exports.semaphorPhysicalSourceCoordinatesAreCompatible=B;exports.semaphorPhysicalSourceCoordinatesCover=Z;exports.semaphorSourceHasRequiredCoordinates=ee;
|