@metabase/cli 0.3.2-alpha.fix-transform-test-ee-path.8ac2a7a → 0.3.2
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/{add-collection-B_-eMU_k.mjs → add-collection-BjVAdZ1n.mjs} +2 -2
- package/dist/{alert-Dalin_DD.mjs → alert-DCLhfwdv.mjs} +6 -6
- package/dist/{alerts-DpBgrjPI.mjs → alerts-DRin_wt2.mjs} +3 -3
- package/dist/{append-C1JNVALm.mjs → append-DQ9rPJHZ.mjs} +3 -3
- package/dist/{archive-DA3OiLEE.mjs → archive-1YVo-Wsu.mjs} +2 -2
- package/dist/{archive-BkITQyWW.mjs → archive-BPCgmLcV.mjs} +2 -2
- package/dist/{archive-DVHxeDKS.mjs → archive-BVRKE9Ev.mjs} +2 -2
- package/dist/{archive-CISXgZAI.mjs → archive-BzVxRqpL.mjs} +2 -2
- package/dist/{archive-cAdUa1-2.mjs → archive-COFQAHAL.mjs} +2 -2
- package/dist/{archive-CicPYX27.mjs → archive-D3yPvUtz.mjs} +2 -2
- package/dist/{archive-B51prFgS.mjs → archive-D6xzHaM3.mjs} +2 -2
- package/dist/{archive-52ZHbFDm2.mjs → archive-HeRygdKz2.mjs} +2 -2
- package/dist/{archive-CdKf_Eqq.mjs → archive-_c-ISZmi.mjs} +2 -2
- package/dist/{archive-DckxlWBt.mjs → archive-o5cWV3vZ.mjs} +2 -2
- package/dist/{archive-CwITzj_j.mjs → archive-xcgoVPwv.mjs} +2 -2
- package/dist/{auth-A96JOCQx.mjs → auth-DJn5T6zA.mjs} +4 -4
- package/dist/{body-CshgcV6U.mjs → body-Cu94pH4P.mjs} +2 -2
- package/dist/{branches-CbcwWYL9.mjs → branches-CUyPxeeW.mjs} +1 -1
- package/dist/{cancel-DpDcVY7M.mjs → cancel-BNuVls58.mjs} +2 -2
- package/dist/{cancel-task-B4RDvIYb.mjs → cancel-task-DUmlQQpi.mjs} +1 -1
- package/dist/{card-CefVYtF7.mjs → card-ByOzVxpI.mjs} +7 -7
- package/dist/{cards-BC0JX8Yg.mjs → cards-_gbvw3wp.mjs} +2 -2
- package/dist/cli.mjs +32 -43
- package/dist/{client-ClL6gf7G.mjs → client-BnK0evYf.mjs} +474 -5
- package/dist/{collection-Be5AHVWP.mjs → collection-BGbW7u_Q.mjs} +6 -6
- package/dist/{collection-namespace-Dv0l-V9K.mjs → collection-namespace-DM90lA8C.mjs} +1 -1
- package/dist/{content-translation-BXIXL4eW.mjs → content-translation-CqB3peU9.mjs} +2 -2
- package/dist/{create-YetX69Re.mjs → create-B48rmY8v.mjs} +2 -2
- package/dist/{create-B9qXQ_wV.mjs → create-B7S5fCkD.mjs} +2 -2
- package/dist/{create-Dhai9zAt.mjs → create-BIUVvIGH.mjs} +2 -2
- package/dist/{create-kZIIEN2Y.mjs → create-BMKuihoI.mjs} +3 -3
- package/dist/{create--fiwuTWc.mjs → create-BSvTs-EV.mjs} +2 -2
- package/dist/{create-Bryrkb9g.mjs → create-CUHpxANR.mjs} +2 -2
- package/dist/{create-BcsVwXgS2.mjs → create-Cm9Z-rfe2.mjs} +2 -2
- package/dist/{create-BbjSOTN-.mjs → create-CnJKj9Nl.mjs} +3 -3
- package/dist/{create-DWFJdyIr.mjs → create-CwXUMOMd.mjs} +2 -2
- package/dist/{create-Za1EskpV.mjs → create-D4Y69cDF.mjs} +3 -3
- package/dist/{create-DmN2gFc4.mjs → create-DMVw9nrZ.mjs} +2 -2
- package/dist/{create-D--Z1S3p2.mjs → create-DNx9TGHs.mjs} +4 -4
- package/dist/{create-BVNhtAgF.mjs → create-DVo8-IzZ.mjs} +3 -3
- package/dist/{create-NCKHHdov.mjs → create-IFjwHs0G.mjs} +1 -1
- package/dist/{create-branch-CseVn3lp.mjs → create-branch-Cw-uXows.mjs} +1 -1
- package/dist/{create-CHr8MPPq.mjs → create-va8bByVt.mjs} +2 -2
- package/dist/{csv-DNzesu8y.mjs → csv-CaKx1oFZ.mjs} +3 -3
- package/dist/{current-task-DRTKZcP9.mjs → current-task-lGh69Z1i.mjs} +2 -2
- package/dist/{dashboard-CMw13KXM.mjs → dashboard-Bzjz2v6u.mjs} +9 -9
- package/dist/{db-BDijt81U.mjs → db-BRHPjshe.mjs} +6 -6
- package/dist/{delete--15it-A8.mjs → delete-BxBadE3q.mjs} +2 -2
- package/dist/{delete-BxjJ66BS.mjs → delete-CQWCfqHf.mjs} +2 -2
- package/dist/{delete-wFsy80db.mjs → delete-Ci0aDYpf.mjs} +2 -2
- package/dist/{delete-Dc8E5YwZ.mjs → delete-DMETa-37.mjs} +2 -2
- package/dist/{delete-BudvZkvK.mjs → delete-G6EiGn2Q.mjs} +2 -2
- package/dist/{delete-table-5AQpn8OB.mjs → delete-table-N4rZtt1T.mjs} +2 -2
- package/dist/{dependencies-C1ogC3BV.mjs → dependencies-edN0P1SS.mjs} +2 -2
- package/dist/{dirty-CSLDYO-K.mjs → dirty-U51bMoCP.mjs} +1 -1
- package/dist/{document-BGzVip5_.mjs → document-DqJ7Cysa.mjs} +5 -5
- package/dist/{download-Ddap1OAo.mjs → download-BJA6k-e6.mjs} +1 -1
- package/dist/{eid-HnrWhPoe.mjs → eid-BtlRU1E0.mjs} +2 -2
- package/dist/{events-CXqetjcS.mjs → events-B5rnOo-L.mjs} +2 -2
- package/dist/{export-IFZdgYZ2.mjs → export-DO2josC0.mjs} +3 -3
- package/dist/{field-BJ6HoLRd.mjs → field-CHZByaXa.mjs} +4 -4
- package/dist/{fields-DxHxuxwO.mjs → fields-zQ6O_W_H.mjs} +2 -2
- package/dist/{get-CDnmpfHQ.mjs → get-93wuhTn2.mjs} +1 -1
- package/dist/{get-eJilYnHk.mjs → get-BDrmBZ1z.mjs} +2 -2
- package/dist/{get-BF2vdF3W.mjs → get-BLcS4il2.mjs} +2 -2
- package/dist/{get-BcoJ9Aha.mjs → get-BLjcCXp8.mjs} +2 -2
- package/dist/{get-C_tdSMwW2.mjs → get-BSoMWp4t2.mjs} +2 -2
- package/dist/{get-BGLvyOO3.mjs → get-CG6G-mzV.mjs} +2 -2
- package/dist/{get-CE9_4Q7E.mjs → get-CTp5l7aU.mjs} +1 -1
- package/dist/{get-DW7mCaGe.mjs → get-CeSQptdl.mjs} +2 -2
- package/dist/{get-DmKtPNOy.mjs → get-CekXFP3x.mjs} +2 -2
- package/dist/{get-B2pj2q3X.mjs → get-Cf6a4fFN.mjs} +2 -2
- package/dist/{get-b0CoPz5B.mjs → get-CwiJWeH4.mjs} +2 -2
- package/dist/{get-H6kInHIx.mjs → get-DC_huYD8.mjs} +3 -3
- package/dist/{get-BiPclcIP.mjs → get-DXwlZjw0.mjs} +2 -2
- package/dist/{get-DjlQhgD4.mjs → get-Dg-S07ri.mjs} +2 -2
- package/dist/{get-Dtre5jzh.mjs → get-DhpMuTSt.mjs} +1 -1
- package/dist/{get-D_x-ENFe.mjs → get-EFsmL4le.mjs} +2 -2
- package/dist/{get-C3cuZNeW.mjs → get-is8x5f2n.mjs} +2 -2
- package/dist/{get-run-BE1HtJDW.mjs → get-run-DwY4sFGy.mjs} +2 -2
- package/dist/{get-CxUQyhte.mjs → get-xPv7e5Ez.mjs} +2 -2
- package/dist/{get-jofVjU6e.mjs → get-yHIEezeG.mjs} +2 -2
- package/dist/git-sync-NhfLSZA6.mjs +28 -0
- package/dist/{has-remote-changes-Cj1KhBOT.mjs → has-remote-changes-DE2_14FK.mjs} +1 -1
- package/dist/{import-DLb9VN4l.mjs → import-Cs7wk058.mjs} +3 -3
- package/dist/{input-D5tQEfqN.mjs → input-DEvkIjGr.mjs} +1 -1
- package/dist/{is-dirty-BxtgV2xF.mjs → is-dirty-XqDfqXGi.mjs} +1 -1
- package/dist/{items-DLUYc5-z.mjs → items-BloAjPwA.mjs} +1 -1
- package/dist/{library-BNSxXOpc.mjs → library-Dgq_5BFh.mjs} +4 -4
- package/dist/{list-CERbeLbQ.mjs → list-3ErmGdY0.mjs} +1 -1
- package/dist/{list-CBLxhaNZ.mjs → list-BZnf3RmA.mjs} +1 -1
- package/dist/{list-Sd7jGZoX.mjs → list-BfLo1xI8.mjs} +1 -1
- package/dist/{list-CzRzCbCY.mjs → list-Bzm5mXRo.mjs} +1 -1
- package/dist/{list-CX9qZ-bx.mjs → list-CUJ1wem9.mjs} +1 -1
- package/dist/{list-COLpwXW4.mjs → list-CUXlZiS1.mjs} +1 -1
- package/dist/{list-BUz6KOfw.mjs → list-CZCaqPoo.mjs} +1 -1
- package/dist/{list-M8J10Ozk.mjs → list-CghNKfYJ.mjs} +1 -1
- package/dist/{list-jhQSgh6i.mjs → list-D04uiS3F.mjs} +1 -1
- package/dist/{list-cIMww2Me.mjs → list-D9d5ocYi.mjs} +3 -3
- package/dist/{list-B1soS8QW.mjs → list-DboUvg-Y.mjs} +1 -1
- package/dist/{list-D-SyhKFw.mjs → list-DgteFn01.mjs} +2 -2
- package/dist/{list-BcP1DTJH.mjs → list-DuJezLm_.mjs} +1 -1
- package/dist/{list-Dat8QNcf.mjs → list-VzrtA9lt.mjs} +1 -1
- package/dist/{list-CQbiSx26.mjs → list-f8Csdjyc.mjs} +1 -1
- package/dist/{list-C5mS_ehX.mjs → list-sdCIS2Df.mjs} +3 -3
- package/dist/{list-CehE6KBV.mjs → list-vsXIMssK.mjs} +1 -1
- package/dist/{list-BQnOEB3W.mjs → list-yV6CyPzn.mjs} +1 -1
- package/dist/{login-BfLqBfCd.mjs → login-Vw51Gts5.mjs} +6 -6
- package/dist/{logout-BpRXB3Ze.mjs → logout-BDIqoVhv.mjs} +2 -2
- package/dist/{measure-Ds8O5Evr.mjs → measure-LY9Tp9QZ.mjs} +5 -5
- package/dist/{parameter-values-DhrkLXoN.mjs → parameter-values-DWjmO7Ai.mjs} +2 -2
- package/dist/{parse-id-DtM6q9HU.mjs → parse-id-whJX4DAb.mjs} +1 -1
- package/dist/{path-_GHFrTLx.mjs → path-BUUAGYO5.mjs} +2 -2
- package/dist/{poll-KLl4Eq8Y.mjs → poll-CZeXepUQ.mjs} +2 -2
- package/dist/{preflight-BpYtF0IU.mjs → preflight-DcULqq8E.mjs} +3 -3
- package/dist/{process-CLtOWKBn.mjs → process-CTrfxxaC.mjs} +1 -1
- package/dist/{publish-D-7Zlmuk.mjs → publish-qVFmJQ1E.mjs} +3 -3
- package/dist/{query-CxESKMve.mjs → query-BPtIy79s.mjs} +4 -4
- package/dist/{query-B1CZztxs.mjs → query-Cq1lmqL5.mjs} +2 -2
- package/dist/{remove-collection-C4saCFxz.mjs → remove-collection-DBqh2Lqm.mjs} +2 -2
- package/dist/{render-6O_eF-P1.mjs → render-Gx1hR7IF.mjs} +2 -2
- package/dist/{replace-BuR4f2Ai.mjs → replace-CujInVY9.mjs} +3 -3
- package/dist/{rescan-values-CNOiiWQ5.mjs → rescan-values-HypqBCSK.mjs} +2 -2
- package/dist/{run-DijA_BXt.mjs → run-DEkQSOQa.mjs} +2 -2
- package/dist/{run-QEUbWNm7.mjs → run-b3jyF29q.mjs} +7 -7
- package/dist/{runs-BSlhVeDO.mjs → runs-GHqHLGy4.mjs} +2 -2
- package/dist/{runtime-Dtb93zKy.mjs → runtime-nCPku2nN.mjs} +2 -2
- package/dist/{schema-tables-BE3rEb6I.mjs → schema-tables-B5L05Y1L.mjs} +2 -2
- package/dist/{schemas-yDjBiwlH.mjs → schemas-Clx26p_4.mjs} +2 -2
- package/dist/{search-CR_xNArA.mjs → search-DxiuY5EV.mjs} +2 -2
- package/dist/{segment-Cm6zQjJW.mjs → segment-DiRJcbam.mjs} +5 -5
- package/dist/{selectors-C-vgMcGK.mjs → selectors-rEFuyXPZ.mjs} +2 -2
- package/dist/{send-kC8oerkT.mjs → send-DIHkDNBN.mjs} +2 -2
- package/dist/{set-tFhPkxrL.mjs → set-D77qUZML.mjs} +2 -2
- package/dist/{set-active-lDKhAlij.mjs → set-active-DCdFgD0O.mjs} +1 -1
- package/dist/{setting-DrJXCaFE.mjs → setting-DR9bj232.mjs} +3 -3
- package/dist/{setup-BWY9M0iR.mjs → setup-DGa2LLEp.mjs} +2 -2
- package/dist/{signal-Csom0mt5.mjs → signal-k7cm5N6h.mjs} +1 -1
- package/dist/{skill-list-CCes8pKe.mjs → skill-list-DAvGGHzS.mjs} +1 -1
- package/dist/{skills-DPRN2384.mjs → skills-CCn7cyMP.mjs} +3 -3
- package/dist/{skills-DE9ej5Rg.mjs → skills-CqtNuSXM.mjs} +2 -2
- package/dist/{snippet-DWHTSo9c.mjs → snippet-g9JTDxqu.mjs} +5 -5
- package/dist/{stash-C9oDvQ9P.mjs → stash-BTtsV0AG.mjs} +3 -3
- package/dist/{status-CkpujA26.mjs → status-CW7Dt-nV.mjs} +2 -2
- package/dist/{status-DSdXmNC3.mjs → status-XgSS3StV.mjs} +2 -2
- package/dist/{subscription-DKOKoHRG.mjs → subscription-CofRU47d.mjs} +5 -5
- package/dist/{subscriptions-C5SyJL4B.mjs → subscriptions-DCuuPF6U.mjs} +3 -3
- package/dist/{summary-DTPgXsc0.mjs → summary-uGlgKE3C.mjs} +2 -2
- package/dist/{sync-schema-DKKkNSR7.mjs → sync-schema-Cu9rD3eH.mjs} +3 -3
- package/dist/{sync-task-BtDnTXCP.mjs → sync-task-BXeWuARG.mjs} +1 -2
- package/dist/{table-I8NXSdUC.mjs → table-Di-EY7pg.mjs} +4 -4
- package/dist/{timeline-B_ESH-6W.mjs → timeline-D7EsWZm6.mjs} +7 -7
- package/dist/{timeline-event-n4Lzet7l.mjs → timeline-event-D-h0A_oh.mjs} +5 -5
- package/dist/transform-8XK1LIgC.mjs +28 -0
- package/dist/transform-job-CTizQkWy.mjs +22 -0
- package/dist/{transform-tag-D6NXqWaX.mjs → transform-tag-BLp_p9J-.mjs} +4 -4
- package/dist/{transforms-O4NtXqFz.mjs → transforms-n2IwEcbU.mjs} +2 -2
- package/dist/{tree-CuyF116R.mjs → tree-cqxiDh2b.mjs} +1 -1
- package/dist/{unpublish-DvWefKJi.mjs → unpublish-DVQCAa3g.mjs} +2 -2
- package/dist/{update-DOdcflLH.mjs → update-B7CikkI0.mjs} +4 -4
- package/dist/{update-BB6Go_RX.mjs → update-C05J2nZ2.mjs} +3 -3
- package/dist/{update-CGJvIS-l.mjs → update-CAsqNhDC.mjs} +3 -3
- package/dist/{update-7oKvP1HC.mjs → update-CKDRuduL.mjs} +4 -4
- package/dist/{update-xEegxIyH.mjs → update-ChpOukqq.mjs} +3 -3
- package/dist/{update-DXmZuJho.mjs → update-CnkPYL2i.mjs} +3 -3
- package/dist/{update-DV54H3L5.mjs → update-D4ggtuG4.mjs} +5 -5
- package/dist/{update-H_fdjugs.mjs → update-D9H6Lh5U.mjs} +3 -3
- package/dist/{update-76nzOc71.mjs → update-DFdBeJwc.mjs} +3 -3
- package/dist/{update-2KIpYgyj.mjs → update-DKO9HF1f.mjs} +3 -3
- package/dist/{update-D7dG7H-z.mjs → update-DScUzKLI.mjs} +4 -4
- package/dist/{update-To6A1Ugu.mjs → update-DffrdV4b.mjs} +3 -3
- package/dist/{update-Bah7N8QX.mjs → update-NGq0yXZk.mjs} +4 -4
- package/dist/{update-dashcard-DjT5QOkL.mjs → update-dashcard-DvPqLJ3N.mjs} +3 -3
- package/dist/{update-AJ2JmwDl.mjs → update-oQeQyqKO.mjs} +3 -3
- package/dist/{update-DmgRIp7o.mjs → update-rFRPLlb6.mjs} +3 -3
- package/dist/{upgrade-CuJx9fX4.mjs → upgrade-BRgw0fvn.mjs} +4 -4
- package/dist/{upload-CboARPZm.mjs → upload-BrfbcbBW.mjs} +2 -2
- package/dist/{upload-DOO94rCQ.mjs → upload-Do2PBSeH.mjs} +2 -2
- package/dist/{upload-2YFFBSln.mjs → upload-VXBFKzLT.mjs} +3 -3
- package/dist/{uuid-InwZlrpQ.mjs → uuid-B4eij1d7.mjs} +1 -1
- package/dist/{validate-query-B90KYPQr.mjs → validate-query-D6_ad-Gi.mjs} +1 -1
- package/dist/{validate-D6-Vg_kn.mjs → validate-xR_MHBNR.mjs} +1 -1
- package/dist/{values-CsZLk1Ls.mjs → values-xgOftPq5.mjs} +2 -2
- package/dist/{verify-DrGjZwBM.mjs → verify-DTOA_wVM.mjs} +3 -3
- package/dist/{wait-BmzdarP9.mjs → wait-BjeFgR13.mjs} +4 -4
- package/dist/{wait-flags-CiJGrTCT.mjs → wait-flags-BCeCnaz3.mjs} +2 -2
- package/package.json +1 -1
- package/skill-data/core/SKILL.md +8 -14
- package/skill-data/transform/SKILL.md +1 -63
- package/dist/create-DiJ8bUb-.mjs +0 -34
- package/dist/delete-Bsdwqh7H.mjs +0 -44
- package/dist/get-i0KInCw9.mjs +0 -32
- package/dist/git-sync-xKC1sqC4.mjs +0 -28
- package/dist/list-Cuhf2lKL.mjs +0 -35
- package/dist/run-FmRruANb.mjs +0 -64
- package/dist/transform-BNuNiH9d.mjs +0 -28
- package/dist/transform-job-B7yc6dfH.mjs +0 -22
- package/dist/transform-test-BjjCQ2xm.mjs +0 -169
- package/dist/transform-test-C1Oqtfb-.mjs +0 -16
- package/dist/transform-test-gzDcbypy.mjs +0 -25
- package/dist/transport-CyVo29u7.mjs +0 -313
- package/dist/update-l3PyNQKG.mjs +0 -41
- package/skill-data/transform-test-plan/SKILL.md +0 -171
- package/skill-data/transform-test-plan/references/checklist.md +0 -81
- package/skill-data/transform-test-plan/references/checks.md +0 -263
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Q as ConfigError,
|
|
1
|
+
import { $ as InternalError, Q as ConfigError, at as ValidationError, n as methodRequirements, nt as ResponseShapeError, ot as errorMessage, rt as TimeoutError, tt as NetworkError } from "./cli.mjs";
|
|
2
2
|
import { n as Notification, r as NotificationCardPayload, t as CARD_PAYLOAD_TYPE } from "./notification-DaA4bBHW.mjs";
|
|
3
|
-
import { H as parseJsonOrPlain, L as HttpError } from "./runtime-
|
|
4
|
-
import { n as
|
|
3
|
+
import { $ as createServerProfile, B as JSON_CONTENT_TYPE, F as buildNetworkError, G as credentialSecrets, H as parseJsonOrPlain, I as isConnectionClosed, J as normalizeUrl, L as HttpError, U as assertCredentialHeaderSafe, V as parseJson, W as credentialAuthHeader, Z as checkFeatures, et as probeServer, tt as CapabilityError, z as isRetryableStatus } from "./runtime-nCPku2nN.mjs";
|
|
4
|
+
import { n as throwIfAborted, r as untilAborted, t as combineAborts } from "./signal-k7cm5N6h.mjs";
|
|
5
5
|
import { a as FieldSearchMatches, i as FieldRemappedValue, l as FieldValues, n as FieldBaseType, o as FieldSemanticType, t as Field } from "./field-CcN4oZy6.mjs";
|
|
6
6
|
import { a as TemporalUnit, r as ParameterValues } from "./parameter-Celg0wZa.mjs";
|
|
7
7
|
import { a as CardQueryResult, l as DatasetQuery, s as CardType, t as Card } from "./card-voh1k4hl.mjs";
|
|
@@ -11,7 +11,7 @@ import { t as Snippet } from "./snippet-CyKAgIZl.mjs";
|
|
|
11
11
|
import { c as CollectionItem, i as CollectionAuthorityLevel, m as CollectionTreeNode, r as Collection, s as CollectionId } from "./collection-BxdPxD38.mjs";
|
|
12
12
|
import { t as ContentTranslationUploadResult } from "./content-translation-BrHOrmj9.mjs";
|
|
13
13
|
import { a as DashboardDetail, c as Dashcard, r as DashboardCopy, t as Dashboard } from "./dashboard-D0hwTC-f.mjs";
|
|
14
|
-
import { r as pollUntil } from "./poll-
|
|
14
|
+
import { r as pollUntil } from "./poll-CZeXepUQ.mjs";
|
|
15
15
|
import { t as Document } from "./document-BHpLJbKU.mjs";
|
|
16
16
|
import { i as EidTranslateResult } from "./eid-translation-zEHtr5Oc.mjs";
|
|
17
17
|
import { c as SyncSettingsUpdateResult, i as SyncExportPreflight, n as SyncDirtyItem, p as isSyncTaskTerminal, s as SyncRemoteChanges, t as SyncBranchCreated, u as SyncTask } from "./git-sync-BwBRmEhE.mjs";
|
|
@@ -26,9 +26,9 @@ import { n as SetupResult } from "./setup-CO7QV-ao.mjs";
|
|
|
26
26
|
import { i as TimelineEvent, t as Timeline } from "./timeline-CCSU2qOS.mjs";
|
|
27
27
|
import { c as transformJobSchema, n as TransformJobActiveResult, s as transformJobRunResultSchema } from "./transform-job-CCguL6LP.mjs";
|
|
28
28
|
import { t as TransformTag } from "./transform-tag-CcElGp3C.mjs";
|
|
29
|
-
import { i as TransformTestRunResult, t as TransformTest } from "./transform-test-BjjCQ2xm.mjs";
|
|
30
29
|
import { t as UploadResult } from "./upload-DAtxBBms.mjs";
|
|
31
30
|
import { z } from "zod";
|
|
31
|
+
import { setTimeout } from "node:timers/promises";
|
|
32
32
|
//#region \0rolldown/runtime.js
|
|
33
33
|
var __defProp = Object.defineProperty;
|
|
34
34
|
var __exportAll = (all, no_symbols) => {
|
|
@@ -41,6 +41,314 @@ var __exportAll = (all, no_symbols) => {
|
|
|
41
41
|
return target;
|
|
42
42
|
};
|
|
43
43
|
//#endregion
|
|
44
|
+
//#region ../client/src/http/response-shape.ts
|
|
45
|
+
async function parseJsonResponse(text, schema, context) {
|
|
46
|
+
try {
|
|
47
|
+
return parseJson(text, schema, { source: context.url });
|
|
48
|
+
} catch (error) {
|
|
49
|
+
if (error instanceof ValidationError) throw ResponseShapeError.fromZodIssues({
|
|
50
|
+
kind: "zod",
|
|
51
|
+
method: context.method,
|
|
52
|
+
url: context.url,
|
|
53
|
+
status: context.status,
|
|
54
|
+
zodIssues: error.developerDetail.zodIssues,
|
|
55
|
+
serverTag: await context.getServerTag(),
|
|
56
|
+
serverSkew: context.serverSkew
|
|
57
|
+
});
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region ../client/src/http/retry.ts
|
|
63
|
+
const BASE_DELAY_MS = 250;
|
|
64
|
+
const MAX_DELAY_MS = 8e3;
|
|
65
|
+
const MS_PER_SECOND = 1e3;
|
|
66
|
+
function backoffDelay({ attempt, retryAfterHeader }) {
|
|
67
|
+
const fromHeader = parseRetryAfter(retryAfterHeader);
|
|
68
|
+
if (fromHeader !== null) return fromHeader;
|
|
69
|
+
return Math.min(MAX_DELAY_MS, BASE_DELAY_MS * 2 ** attempt);
|
|
70
|
+
}
|
|
71
|
+
function parseRetryAfter(header) {
|
|
72
|
+
if (!header) return null;
|
|
73
|
+
const numeric = Number(header);
|
|
74
|
+
if (Number.isFinite(numeric) && numeric >= 0) return Math.round(numeric * MS_PER_SECOND);
|
|
75
|
+
const dateMs = Date.parse(header);
|
|
76
|
+
if (Number.isFinite(dateMs)) return Math.max(0, dateMs - Date.now());
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
function sleep(ms, signal) {
|
|
80
|
+
return setTimeout(ms, void 0, { signal });
|
|
81
|
+
}
|
|
82
|
+
async function runWithRetries(attempt, signal) {
|
|
83
|
+
let attemptIndex = 0;
|
|
84
|
+
while (true) {
|
|
85
|
+
const outcome = await attempt(attemptIndex);
|
|
86
|
+
if (outcome.kind === "success") return outcome.response;
|
|
87
|
+
await sleep(outcome.delayMs, signal);
|
|
88
|
+
attemptIndex += 1;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
//#endregion
|
|
92
|
+
//#region ../client/src/http/transport.ts
|
|
93
|
+
const UNAUTHORIZED_STATUS = 401;
|
|
94
|
+
const DEFAULT_TIMEOUT_MS = 3e4;
|
|
95
|
+
const OCTET_STREAM_CONTENT_TYPE = "application/octet-stream";
|
|
96
|
+
const TEXT_CONTENT_TYPE_PREFIX = "text/";
|
|
97
|
+
const ERROR_BODY_BYTE_CAP = 64 * 1024;
|
|
98
|
+
const IDEMPOTENT_METHODS = /* @__PURE__ */ new Set([
|
|
99
|
+
"GET",
|
|
100
|
+
"HEAD",
|
|
101
|
+
"OPTIONS"
|
|
102
|
+
]);
|
|
103
|
+
function createTransport(config, options) {
|
|
104
|
+
const baseUrl = normalizeUrl(config.url);
|
|
105
|
+
assertCredentialHeaderSafe(config.credential);
|
|
106
|
+
const fetchImpl = options.fetchImpl ?? globalThis.fetch.bind(globalThis);
|
|
107
|
+
let settledProfile = options.server ?? null;
|
|
108
|
+
const getServerTag = options.getServerTag ?? (async () => tagOf(settledProfile));
|
|
109
|
+
const serverSkew = () => settledProfile === null ? null : settledProfile.skew;
|
|
110
|
+
const refreshCredential = options.refreshCredential;
|
|
111
|
+
let credential = config.credential;
|
|
112
|
+
const knownSecrets = new Set(credentialSecrets(credential));
|
|
113
|
+
const redactionContext = { knownSecrets };
|
|
114
|
+
let refreshInFlight = null;
|
|
115
|
+
function tryRefreshCredential() {
|
|
116
|
+
const refresh = refreshCredential;
|
|
117
|
+
if (credential.kind !== "oauth" || refresh === void 0) return Promise.resolve(false);
|
|
118
|
+
refreshInFlight ??= refreshOnce(refresh).finally(() => {
|
|
119
|
+
refreshInFlight = null;
|
|
120
|
+
});
|
|
121
|
+
return refreshInFlight;
|
|
122
|
+
}
|
|
123
|
+
async function refreshOnce(refresh) {
|
|
124
|
+
const next = await refresh();
|
|
125
|
+
if (next === null) return false;
|
|
126
|
+
credential = next;
|
|
127
|
+
for (const secret of credentialSecrets(next)) knownSecrets.add(secret);
|
|
128
|
+
return true;
|
|
129
|
+
}
|
|
130
|
+
async function attemptOnce(prepared, attempt) {
|
|
131
|
+
const hasRetriesLeft = attempt < prepared.retries;
|
|
132
|
+
const timeoutSignal = AbortSignal.timeout(prepared.timeoutMs);
|
|
133
|
+
const combined = combineAborts(timeoutSignal, prepared.cancelSignal);
|
|
134
|
+
let response;
|
|
135
|
+
try {
|
|
136
|
+
response = await fetchImpl(prepared.url, {
|
|
137
|
+
method: prepared.method,
|
|
138
|
+
headers: prepared.headers,
|
|
139
|
+
body: prepared.body,
|
|
140
|
+
signal: combined
|
|
141
|
+
});
|
|
142
|
+
} catch (error) {
|
|
143
|
+
throwIfAborted(prepared.cancelSignal);
|
|
144
|
+
const isStaleSocketFirstTry = attempt === 0 && isConnectionClosed(error);
|
|
145
|
+
if (prepared.idempotent && (hasRetriesLeft || isStaleSocketFirstTry)) return {
|
|
146
|
+
kind: "retry",
|
|
147
|
+
delayMs: backoffDelay({ attempt })
|
|
148
|
+
};
|
|
149
|
+
if (timeoutSignal.aborted) throw new TimeoutError(`Request timed out after ${prepared.timeoutMs}ms`, {
|
|
150
|
+
kind: "http",
|
|
151
|
+
method: prepared.method,
|
|
152
|
+
url: prepared.url,
|
|
153
|
+
timeoutMs: prepared.timeoutMs
|
|
154
|
+
});
|
|
155
|
+
throw buildNetworkError(error, prepared.method, prepared.url);
|
|
156
|
+
}
|
|
157
|
+
const canRetryStatus = hasRetriesLeft && prepared.idempotent;
|
|
158
|
+
if (!response.ok && isRetryableStatus(response.status) && canRetryStatus) {
|
|
159
|
+
const retryAfter = response.headers.get("Retry-After");
|
|
160
|
+
response.body?.cancel().catch(() => void 0);
|
|
161
|
+
return {
|
|
162
|
+
kind: "retry",
|
|
163
|
+
delayMs: backoffDelay({
|
|
164
|
+
attempt,
|
|
165
|
+
retryAfterHeader: retryAfter
|
|
166
|
+
})
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
if (!response.ok) {
|
|
170
|
+
const rawBody = await readBodyForError(response);
|
|
171
|
+
const serverTag = await getServerTag();
|
|
172
|
+
throw new HttpError({
|
|
173
|
+
status: response.status,
|
|
174
|
+
statusText: response.statusText,
|
|
175
|
+
method: prepared.method,
|
|
176
|
+
url: prepared.url,
|
|
177
|
+
responseHeaders: response.headers,
|
|
178
|
+
rawBody,
|
|
179
|
+
serverTag,
|
|
180
|
+
redactionContext
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
assertContentType(response, prepared);
|
|
184
|
+
return {
|
|
185
|
+
kind: "success",
|
|
186
|
+
response
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
async function executeRaw(prepared) {
|
|
190
|
+
try {
|
|
191
|
+
return await runWithRetries((attempt) => attemptOnce(prepared, attempt), prepared.cancelSignal);
|
|
192
|
+
} catch (error) {
|
|
193
|
+
throwIfAborted(prepared.cancelSignal);
|
|
194
|
+
throw error;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
async function executeWithAuthRefresh(path, opts) {
|
|
198
|
+
const prepared = prepare(path, opts);
|
|
199
|
+
try {
|
|
200
|
+
return {
|
|
201
|
+
response: await executeRaw(prepared),
|
|
202
|
+
prepared
|
|
203
|
+
};
|
|
204
|
+
} catch (error) {
|
|
205
|
+
if (error instanceof HttpError && error.status === UNAUTHORIZED_STATUS) {
|
|
206
|
+
if (await tryRefreshCredential()) {
|
|
207
|
+
const retried = prepare(path, opts);
|
|
208
|
+
return {
|
|
209
|
+
response: await executeRaw(retried),
|
|
210
|
+
prepared: retried
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
throw error;
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
function prepare(path, opts = {}) {
|
|
218
|
+
const method = opts.method ?? "GET";
|
|
219
|
+
const expectContentType = opts.expectContentType ?? "json";
|
|
220
|
+
const url = buildUrl(baseUrl, path, opts.query);
|
|
221
|
+
const headers = new Headers();
|
|
222
|
+
const auth = credentialAuthHeader(credential);
|
|
223
|
+
headers.set(auth.name, auth.value);
|
|
224
|
+
headers.set("accept", acceptHeader(expectContentType));
|
|
225
|
+
headers.set("user-agent", options.userAgent);
|
|
226
|
+
let body = null;
|
|
227
|
+
if (opts.body !== void 0 && opts.body !== null) if (typeof opts.body === "string" || opts.body instanceof URLSearchParams) body = opts.body;
|
|
228
|
+
else if (opts.body instanceof FormData || opts.body instanceof ReadableStream) body = opts.body;
|
|
229
|
+
else if (opts.body instanceof Uint8Array) {
|
|
230
|
+
body = opts.body;
|
|
231
|
+
headers.set("content-type", OCTET_STREAM_CONTENT_TYPE);
|
|
232
|
+
} else {
|
|
233
|
+
body = JSON.stringify(opts.body);
|
|
234
|
+
headers.set("content-type", JSON_CONTENT_TYPE);
|
|
235
|
+
}
|
|
236
|
+
return {
|
|
237
|
+
url,
|
|
238
|
+
method,
|
|
239
|
+
headers,
|
|
240
|
+
body,
|
|
241
|
+
expectContentType,
|
|
242
|
+
retries: opts.retries ?? 3,
|
|
243
|
+
idempotent: opts.idempotent ?? IDEMPOTENT_METHODS.has(method),
|
|
244
|
+
timeoutMs: opts.timeoutMs ?? DEFAULT_TIMEOUT_MS,
|
|
245
|
+
cancelSignal: combineAborts(opts.signal, options.signal)
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
let serverProfile = options.server === void 0 ? null : Promise.resolve(options.server);
|
|
249
|
+
async function server(wait = {}) {
|
|
250
|
+
throwIfAborted(wait.signal);
|
|
251
|
+
if (serverProfile === null) {
|
|
252
|
+
const probe = probeServer(transport).then((info) => {
|
|
253
|
+
settledProfile = createServerProfile(info);
|
|
254
|
+
return settledProfile;
|
|
255
|
+
});
|
|
256
|
+
probe.catch(() => {
|
|
257
|
+
serverProfile = null;
|
|
258
|
+
});
|
|
259
|
+
serverProfile = probe;
|
|
260
|
+
}
|
|
261
|
+
return untilAborted(serverProfile, wait.signal);
|
|
262
|
+
}
|
|
263
|
+
const enforceRequirements = options.enforceRequirements ?? true;
|
|
264
|
+
async function requireFeatures(features, wait = {}) {
|
|
265
|
+
if (!enforceRequirements || features.length === 0) return;
|
|
266
|
+
const failure = checkFeatures(features, await server(wait));
|
|
267
|
+
if (failure !== null) throw new CapabilityError(failure);
|
|
268
|
+
}
|
|
269
|
+
async function requireMethod(key, wait = {}) {
|
|
270
|
+
return requireFeatures(methodRequirements(key), wait);
|
|
271
|
+
}
|
|
272
|
+
const transport = {
|
|
273
|
+
server,
|
|
274
|
+
require: requireMethod,
|
|
275
|
+
requireFeatures,
|
|
276
|
+
async requestRaw(path, opts) {
|
|
277
|
+
return (await executeWithAuthRefresh(path, opts ?? {})).response;
|
|
278
|
+
},
|
|
279
|
+
async requestParsed(schema, path, opts) {
|
|
280
|
+
const { response, prepared } = await executeWithAuthRefresh(path, {
|
|
281
|
+
...opts,
|
|
282
|
+
expectContentType: "json"
|
|
283
|
+
});
|
|
284
|
+
return parseJsonResponse(await response.text(), schema, {
|
|
285
|
+
method: prepared.method,
|
|
286
|
+
url: prepared.url,
|
|
287
|
+
status: response.status,
|
|
288
|
+
getServerTag,
|
|
289
|
+
serverSkew: serverSkew()
|
|
290
|
+
});
|
|
291
|
+
},
|
|
292
|
+
async requestStream(path, opts) {
|
|
293
|
+
const { response, prepared } = await executeWithAuthRefresh(path, {
|
|
294
|
+
...opts,
|
|
295
|
+
expectContentType: opts?.expectContentType ?? "binary"
|
|
296
|
+
});
|
|
297
|
+
if (!response.body) throw new NetworkError("Response had no body to stream", {
|
|
298
|
+
method: prepared.method,
|
|
299
|
+
url: prepared.url,
|
|
300
|
+
cause: "missing body"
|
|
301
|
+
});
|
|
302
|
+
return response.body;
|
|
303
|
+
}
|
|
304
|
+
};
|
|
305
|
+
return transport;
|
|
306
|
+
}
|
|
307
|
+
function tagOf(profile) {
|
|
308
|
+
return profile === null ? null : profile.version.tag;
|
|
309
|
+
}
|
|
310
|
+
function buildUrl(baseUrl, path, query) {
|
|
311
|
+
const normalizedPath = path.startsWith("/") ? path : `/${path}`;
|
|
312
|
+
const target = new URL(baseUrl + normalizedPath);
|
|
313
|
+
if (query) for (const [key, value] of Object.entries(query)) {
|
|
314
|
+
if (value === void 0) continue;
|
|
315
|
+
if (Array.isArray(value)) for (const entry of value) target.searchParams.append(key, String(entry));
|
|
316
|
+
else target.searchParams.append(key, String(value));
|
|
317
|
+
}
|
|
318
|
+
return target.toString();
|
|
319
|
+
}
|
|
320
|
+
function acceptHeader(expected) {
|
|
321
|
+
if (expected === "json") return JSON_CONTENT_TYPE;
|
|
322
|
+
if (expected === "text") return "text/*";
|
|
323
|
+
return "*/*";
|
|
324
|
+
}
|
|
325
|
+
function assertContentType(response, prepared) {
|
|
326
|
+
if (prepared.expectContentType === "binary") return;
|
|
327
|
+
const contentType = response.headers.get("content-type");
|
|
328
|
+
if (contentType === null) throwContentTypeMismatch(response, prepared, prepared.expectContentType);
|
|
329
|
+
if (prepared.expectContentType === "json" && !contentType.includes("application/json")) throwContentTypeMismatch(response, prepared, "json");
|
|
330
|
+
if (prepared.expectContentType === "text" && !contentType.startsWith(TEXT_CONTENT_TYPE_PREFIX)) throwContentTypeMismatch(response, prepared, "text");
|
|
331
|
+
}
|
|
332
|
+
function throwContentTypeMismatch(response, prepared, expected) {
|
|
333
|
+
const actual = response.headers.get("content-type") ?? "no content-type";
|
|
334
|
+
throw new HttpError({
|
|
335
|
+
status: response.status,
|
|
336
|
+
statusText: response.statusText,
|
|
337
|
+
method: prepared.method,
|
|
338
|
+
url: prepared.url,
|
|
339
|
+
responseHeaders: response.headers,
|
|
340
|
+
rawBody: null,
|
|
341
|
+
overrideUserMessage: `Expected ${expected} response but got ${actual}`
|
|
342
|
+
});
|
|
343
|
+
}
|
|
344
|
+
async function readBodyForError(response) {
|
|
345
|
+
try {
|
|
346
|
+
return Buffer.from(await response.arrayBuffer()).subarray(0, ERROR_BODY_BYTE_CAP).toString("utf8");
|
|
347
|
+
} catch (error) {
|
|
348
|
+
return `[body read failed: ${errorMessage(error)}]`;
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
//#endregion
|
|
44
352
|
//#region ../client/src/domain/dataset.ts
|
|
45
353
|
const CompiledQuery = z.object({
|
|
46
354
|
query: z.union([z.string(), z.array(z.unknown())]),
|
|
@@ -3584,6 +3892,167 @@ function transformTagResource(transport) {
|
|
|
3584
3892
|
};
|
|
3585
3893
|
}
|
|
3586
3894
|
//#endregion
|
|
3895
|
+
//#region ../client/src/domain/transform-test.ts
|
|
3896
|
+
const TransformTestTable = z.object({
|
|
3897
|
+
schema: z.string().min(1).nullable().optional(),
|
|
3898
|
+
name: z.string().min(1)
|
|
3899
|
+
}).loose();
|
|
3900
|
+
const TransformTestColumn = z.object({
|
|
3901
|
+
name: z.string().min(1),
|
|
3902
|
+
cast_type: z.string().min(1)
|
|
3903
|
+
}).loose();
|
|
3904
|
+
const TransformTestCell = z.union([
|
|
3905
|
+
z.boolean(),
|
|
3906
|
+
z.number(),
|
|
3907
|
+
z.string(),
|
|
3908
|
+
z.null()
|
|
3909
|
+
]);
|
|
3910
|
+
const TransformTestRow = z.record(z.string(), TransformTestCell);
|
|
3911
|
+
const TransformTestSqlInput = z.object({
|
|
3912
|
+
table: TransformTestTable,
|
|
3913
|
+
format: z.literal("sql"),
|
|
3914
|
+
sql: z.string().min(1)
|
|
3915
|
+
}).loose();
|
|
3916
|
+
const TransformTestRowsInput = z.object({
|
|
3917
|
+
table: TransformTestTable,
|
|
3918
|
+
format: z.literal("rows"),
|
|
3919
|
+
columns: z.array(TransformTestColumn).min(1),
|
|
3920
|
+
rows: z.array(TransformTestRow)
|
|
3921
|
+
}).loose();
|
|
3922
|
+
const TransformTestInput = z.discriminatedUnion("format", [TransformTestSqlInput, TransformTestRowsInput]);
|
|
3923
|
+
const TransformTestEqualsSqlExpectation = z.object({
|
|
3924
|
+
type: z.literal("equals"),
|
|
3925
|
+
name: z.string().min(1),
|
|
3926
|
+
format: z.literal("sql"),
|
|
3927
|
+
sql: z.string().min(1)
|
|
3928
|
+
}).loose();
|
|
3929
|
+
const TransformTestEqualsRowsExpectation = z.object({
|
|
3930
|
+
type: z.literal("equals"),
|
|
3931
|
+
name: z.string().min(1),
|
|
3932
|
+
format: z.literal("rows"),
|
|
3933
|
+
columns: z.array(TransformTestColumn).min(1),
|
|
3934
|
+
rows: z.array(TransformTestRow)
|
|
3935
|
+
}).loose();
|
|
3936
|
+
const TransformTestEqualsExpectation = z.discriminatedUnion("format", [TransformTestEqualsSqlExpectation, TransformTestEqualsRowsExpectation]);
|
|
3937
|
+
const TransformTestEmptyExpectation = z.object({
|
|
3938
|
+
type: z.literal("empty"),
|
|
3939
|
+
name: z.string().min(1),
|
|
3940
|
+
sql: z.string().min(1)
|
|
3941
|
+
}).loose();
|
|
3942
|
+
const TransformTestExpectation = z.discriminatedUnion("type", [TransformTestEqualsExpectation, TransformTestEmptyExpectation]);
|
|
3943
|
+
const TransformTest = z.object({
|
|
3944
|
+
id: z.number().int(),
|
|
3945
|
+
entity_id: z.string(),
|
|
3946
|
+
transform_id: z.number().int(),
|
|
3947
|
+
creator_id: z.number().int(),
|
|
3948
|
+
name: z.string(),
|
|
3949
|
+
description: z.string().nullable(),
|
|
3950
|
+
inputs: z.array(TransformTestInput),
|
|
3951
|
+
expectations: z.array(TransformTestExpectation),
|
|
3952
|
+
created_at: z.string(),
|
|
3953
|
+
updated_at: z.string()
|
|
3954
|
+
}).loose();
|
|
3955
|
+
TransformTest.pick({
|
|
3956
|
+
id: true,
|
|
3957
|
+
transform_id: true,
|
|
3958
|
+
name: true,
|
|
3959
|
+
description: true
|
|
3960
|
+
}).strip();
|
|
3961
|
+
z.object({
|
|
3962
|
+
transform_id: z.number().int().positive(),
|
|
3963
|
+
name: z.string().min(1),
|
|
3964
|
+
description: z.string().nullable().optional(),
|
|
3965
|
+
inputs: z.array(TransformTestInput),
|
|
3966
|
+
expectations: z.array(TransformTestExpectation)
|
|
3967
|
+
}).loose();
|
|
3968
|
+
z.object({
|
|
3969
|
+
transform_id: z.number().int().positive().optional(),
|
|
3970
|
+
name: z.string().min(1).optional(),
|
|
3971
|
+
description: z.string().nullable().optional(),
|
|
3972
|
+
inputs: z.array(TransformTestInput).optional(),
|
|
3973
|
+
expectations: z.array(TransformTestExpectation).optional()
|
|
3974
|
+
}).loose();
|
|
3975
|
+
const TransformTestResultColumn = z.object({
|
|
3976
|
+
name: z.string(),
|
|
3977
|
+
database_type: z.string()
|
|
3978
|
+
}).loose();
|
|
3979
|
+
const TransformTestExpectationError = z.object({
|
|
3980
|
+
type: z.string(),
|
|
3981
|
+
message: z.string()
|
|
3982
|
+
}).loose();
|
|
3983
|
+
const TransformTestCellMismatch = z.object({
|
|
3984
|
+
column: z.string(),
|
|
3985
|
+
expected: TransformTestCell,
|
|
3986
|
+
actual: TransformTestCell
|
|
3987
|
+
}).loose();
|
|
3988
|
+
const TransformTestRowCounts = z.object({
|
|
3989
|
+
actual: z.number().int(),
|
|
3990
|
+
expected: z.number().int()
|
|
3991
|
+
}).loose();
|
|
3992
|
+
const TransformTestEqualsFindings = z.object({
|
|
3993
|
+
name: z.string(),
|
|
3994
|
+
type: z.literal("equals"),
|
|
3995
|
+
status: z.enum(["passed", "failed"]),
|
|
3996
|
+
columns: z.array(TransformTestResultColumn),
|
|
3997
|
+
"row-counts": TransformTestRowCounts,
|
|
3998
|
+
"extra-rows": z.array(TransformTestRow),
|
|
3999
|
+
"missing-rows": z.array(TransformTestRow),
|
|
4000
|
+
"cell-mismatches": z.array(TransformTestCellMismatch),
|
|
4001
|
+
truncated: z.number().int()
|
|
4002
|
+
}).loose();
|
|
4003
|
+
const TransformTestEqualsError = z.object({
|
|
4004
|
+
name: z.string(),
|
|
4005
|
+
type: z.literal("equals"),
|
|
4006
|
+
status: z.literal("error"),
|
|
4007
|
+
error: TransformTestExpectationError
|
|
4008
|
+
}).loose();
|
|
4009
|
+
const TransformTestEqualsResult = z.discriminatedUnion("status", [TransformTestEqualsFindings, TransformTestEqualsError]);
|
|
4010
|
+
const TransformTestEmptyPassed = z.object({
|
|
4011
|
+
name: z.string(),
|
|
4012
|
+
type: z.literal("empty"),
|
|
4013
|
+
status: z.literal("passed")
|
|
4014
|
+
}).loose();
|
|
4015
|
+
const TransformTestEmptyFailed = z.object({
|
|
4016
|
+
name: z.string(),
|
|
4017
|
+
type: z.literal("empty"),
|
|
4018
|
+
status: z.literal("failed"),
|
|
4019
|
+
columns: z.array(TransformTestResultColumn),
|
|
4020
|
+
sample: z.array(TransformTestRow),
|
|
4021
|
+
truncated: z.number().int()
|
|
4022
|
+
}).loose();
|
|
4023
|
+
const TransformTestEmptyError = z.object({
|
|
4024
|
+
name: z.string(),
|
|
4025
|
+
type: z.literal("empty"),
|
|
4026
|
+
status: z.literal("error"),
|
|
4027
|
+
error: TransformTestExpectationError
|
|
4028
|
+
}).loose();
|
|
4029
|
+
const TransformTestEmptyResult = z.discriminatedUnion("status", [
|
|
4030
|
+
TransformTestEmptyPassed,
|
|
4031
|
+
TransformTestEmptyFailed,
|
|
4032
|
+
TransformTestEmptyError
|
|
4033
|
+
]);
|
|
4034
|
+
const TransformTestExpectationResult = z.discriminatedUnion("type", [TransformTestEqualsResult, TransformTestEmptyResult]);
|
|
4035
|
+
const TransformTestRunResult = z.object({
|
|
4036
|
+
status: z.enum(["passed", "failed"]),
|
|
4037
|
+
expectations: z.array(TransformTestExpectationResult),
|
|
4038
|
+
tables: z.record(z.string(), z.string())
|
|
4039
|
+
}).loose();
|
|
4040
|
+
z.enum([
|
|
4041
|
+
"transform-test.unknown-column",
|
|
4042
|
+
"transform-test.ambiguous-column",
|
|
4043
|
+
"transform-test.missing-inputs",
|
|
4044
|
+
"transform-test.unused-inputs",
|
|
4045
|
+
"transform-test.duplicate-input-table",
|
|
4046
|
+
"transform-test.unparseable-source",
|
|
4047
|
+
"transform-test.unremapped-reference",
|
|
4048
|
+
"transform-test.unsupported-transform",
|
|
4049
|
+
"transform-test.unsupported-driver",
|
|
4050
|
+
"transform-test.transform-failed",
|
|
4051
|
+
"transform-test.setup-failed",
|
|
4052
|
+
"transform-test.expectation-failed",
|
|
4053
|
+
"transform-test.unsupported-format"
|
|
4054
|
+
]);
|
|
4055
|
+
//#endregion
|
|
3587
4056
|
//#region ../client/src/resources/transform-test.ts
|
|
3588
4057
|
const TransformTestApiList = z.array(TransformTest);
|
|
3589
4058
|
function transformTestResource(transport) {
|
|
@@ -8,12 +8,12 @@ var collection_default = defineCommandGroup({
|
|
|
8
8
|
purpose: "collection ref forms and the transforms namespace"
|
|
9
9
|
}],
|
|
10
10
|
subCommands: {
|
|
11
|
-
list: () => import("./list-
|
|
12
|
-
get: () => import("./get-
|
|
13
|
-
items: () => import("./items-
|
|
14
|
-
tree: () => import("./tree-
|
|
15
|
-
create: () => import("./create-
|
|
16
|
-
archive: () => import("./archive-
|
|
11
|
+
list: () => import("./list-DboUvg-Y.mjs").then((mod) => mod.default),
|
|
12
|
+
get: () => import("./get-DhpMuTSt.mjs").then((mod) => mod.default),
|
|
13
|
+
items: () => import("./items-BloAjPwA.mjs").then((mod) => mod.default),
|
|
14
|
+
tree: () => import("./tree-cqxiDh2b.mjs").then((mod) => mod.default),
|
|
15
|
+
create: () => import("./create-CUHpxANR.mjs").then((mod) => mod.default),
|
|
16
|
+
archive: () => import("./archive-BzVxRqpL.mjs").then((mod) => mod.default)
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
19
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Q as ConfigError } from "./cli.mjs";
|
|
2
|
-
import { L as HttpError } from "./runtime-
|
|
2
|
+
import { L as HttpError } from "./runtime-nCPku2nN.mjs";
|
|
3
3
|
//#region src/commands/transform/collection-namespace.ts
|
|
4
4
|
const TRANSFORMS_NAMESPACE_HINT = "transforms can only be filed in a :transforms-namespace collection. Create one with `mb collection create --body '{\"name\":\"…\"}' --namespace transforms` and pass its id as collection_id, or omit collection_id to leave the transform uncollected.";
|
|
5
5
|
function enrichTransformCollectionError(error) {
|
|
@@ -4,8 +4,8 @@ var content_translation_default = defineCommandGroup({
|
|
|
4
4
|
name: "content-translation",
|
|
5
5
|
description: "Download or replace the content translation dictionary",
|
|
6
6
|
subCommands: {
|
|
7
|
-
download: () => import("./download-
|
|
8
|
-
upload: () => import("./upload-
|
|
7
|
+
download: () => import("./download-BJA6k-e6.mjs").then((mod) => mod.default),
|
|
8
|
+
upload: () => import("./upload-BrfbcbBW.mjs").then((mod) => mod.default)
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as TimelineCreateInput, t as Timeline } from "./timeline-CCSU2qOS.mjs";
|
|
6
6
|
import { n as timelineView } from "./timeline-uDCmwGFT.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as DocumentCreateInput, t as Document } from "./document-BHpLJbKU.mjs";
|
|
6
6
|
import { t as documentView } from "./document-CA0Q6lqu.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as SnippetCreateInput, t as Snippet } from "./snippet-CyKAgIZl.mjs";
|
|
6
6
|
import { t as snippetView } from "./snippet-oJLaYW9V.mjs";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { i as DashboardCreateInput, t as Dashboard } from "./dashboard-D0hwTC-f.mjs";
|
|
6
6
|
import { t as dashboardView } from "./dashboard-DgK81azj.mjs";
|
|
7
|
-
import { n as wrapChainedDashboardWriteError, t as preflightDashcardCardReferences } from "./preflight-
|
|
7
|
+
import { n as wrapChainedDashboardWriteError, t as preflightDashcardCardReferences } from "./preflight-DcULqq8E.mjs";
|
|
8
8
|
//#region src/commands/dashboard/create.ts
|
|
9
9
|
var create_default = defineMetabaseCommand({
|
|
10
10
|
meta: {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as TransformTagCreateInput, t as TransformTag } from "./transform-tag-CcElGp3C.mjs";
|
|
6
6
|
import { t as transformTagView } from "./transform-tag-Dmb4u3-Q.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { f as CollectionNamespace, o as CollectionCreateInput, r as Collection } from "./collection-BxdPxD38.mjs";
|
|
6
6
|
import { t as parseEnumFlag } from "./parse-enum-Dc0dMZ3P.mjs";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { i as PulseCreateInput, t as Pulse } from "./pulse-Dz0ocv0l.mjs";
|
|
6
6
|
import { t as pulseView } from "./pulse-x0gFxWfG.mjs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as MeasureCreateInput, t as Measure } from "./measure-CtfjqJFP.mjs";
|
|
6
|
-
import { a as preflightMbql5Query, n as MEASURE_DEFINITION_LABELS, o as skipValidateFlag } from "./validate-query-
|
|
6
|
+
import { a as preflightMbql5Query, n as MEASURE_DEFINITION_LABELS, o as skipValidateFlag } from "./validate-query-D6_ad-Gi.mjs";
|
|
7
7
|
import { t as measureView } from "./measure-4P0bOlZ3.mjs";
|
|
8
8
|
//#region src/commands/measure/create.ts
|
|
9
9
|
var create_default = defineMetabaseCommand({
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { i as TimelineEvent, o as TimelineEventCreateInput } from "./timeline-CCSU2qOS.mjs";
|
|
6
6
|
import { t as timelineEventView } from "./timeline-uDCmwGFT.mjs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { H as outputFlags, U as profileFlag, p as renderSummary, z as connectionFlags } from "./cli.mjs";
|
|
2
|
-
import { t as defineMetabaseCommand } from "./runtime-
|
|
3
|
-
import { t as readBody } from "./body-
|
|
2
|
+
import { t as defineMetabaseCommand } from "./runtime-nCPku2nN.mjs";
|
|
3
|
+
import { t as readBody } from "./body-Cu94pH4P.mjs";
|
|
4
4
|
import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
|
|
5
5
|
import { r as SegmentCreateInput, t as Segment } from "./segment-OsrbUDzw.mjs";
|
|
6
|
-
import { a as preflightMbql5Query, o as skipValidateFlag, r as SEGMENT_DEFINITION_LABELS } from "./validate-query-
|
|
6
|
+
import { a as preflightMbql5Query, o as skipValidateFlag, r as SEGMENT_DEFINITION_LABELS } from "./validate-query-D6_ad-Gi.mjs";
|
|
7
7
|
import { t as segmentView } from "./segment-C_gl5ag6.mjs";
|
|
8
8
|
//#region src/commands/segment/create.ts
|
|
9
9
|
var create_default = defineMetabaseCommand({
|