@metabase/client 0.1.1 → 0.1.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.
Files changed (155) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +4 -2
  3. package/dist/auth/credential.d.ts +1 -1
  4. package/dist/auth/oauth-login.d.ts +1 -1
  5. package/dist/auth/oauth-login.js +1 -1
  6. package/dist/auth/oauth-session.d.ts +1 -1
  7. package/dist/{card-DN0sLkCG.d.ts → card-CbV6hLYH.d.ts} +3 -3
  8. package/dist/{card-BxBzr5Uj.d.ts → card-CrSywvOt.d.ts} +23 -23
  9. package/dist/{client-DdXLlH1B.d.ts → client-cBi6_RQs.d.ts} +108 -108
  10. package/dist/client.d.ts +1 -1
  11. package/dist/{collection-DGnTvD6R.d.ts → collection-Bmtisr3r.d.ts} +34 -34
  12. package/dist/{collection-fFahL-ub.d.ts → collection-Q9FNMiRh.d.ts} +4 -4
  13. package/dist/{credential-6aOEGqMH.d.ts → credential-B6fKSvqp.d.ts} +1 -1
  14. package/dist/{dashboard-CM7RmNeE.d.ts → dashboard-CknUcTp8.d.ts} +3 -3
  15. package/dist/{dashboard-DtLXVgtf.d.ts → dashboard-DBdEehA9.d.ts} +18 -18
  16. package/dist/{data-action-CkXVrOUH.d.ts → data-action-CqqZ0JYg.d.ts} +1 -1
  17. package/dist/{data-app-CqP5_fpB.d.ts → data-app-MoMS9VUr.d.ts} +1 -1
  18. package/dist/{database-B0JNZjDN.d.ts → database-Bs5WQOOZ.d.ts} +3 -3
  19. package/dist/{database-BxqDmfcj.d.ts → database-CYNLJ8AZ.d.ts} +19 -19
  20. package/dist/{dataset-BBNGPVec.d.ts → dataset-cg8ZZrOP.d.ts} +78 -78
  21. package/dist/{dataset-BUirJ1rO.d.ts → dataset-dzWljE_C.d.ts} +3 -3
  22. package/dist/{dependency-CzpXmeu7.d.ts → dependency-CL-YG9KH.d.ts} +25 -25
  23. package/dist/{dependency-arB8Cr2H.d.ts → dependency-VqvLTDAU.d.ts} +134 -134
  24. package/dist/domain/card.d.ts +1 -1
  25. package/dist/domain/collection.d.ts +1 -1
  26. package/dist/domain/dashboard.d.ts +1 -1
  27. package/dist/domain/data-action.d.ts +1 -1
  28. package/dist/domain/data-app.d.ts +1 -1
  29. package/dist/domain/database.d.ts +1 -1
  30. package/dist/domain/dataset.d.ts +1 -1
  31. package/dist/domain/dependency.d.ts +1 -1
  32. package/dist/domain/eid-translation.d.ts +1 -1
  33. package/dist/domain/embedding.d.ts +1 -1
  34. package/dist/domain/field.d.ts +1 -1
  35. package/dist/domain/git-sync.d.ts +1 -1
  36. package/dist/domain/metric.d.ts +1 -1
  37. package/dist/domain/moderation-review.d.ts +1 -1
  38. package/dist/domain/notification.d.ts +1 -1
  39. package/dist/domain/parameter.d.ts +1 -1
  40. package/dist/domain/pulse.d.ts +1 -1
  41. package/dist/domain/replacement.d.ts +1 -1
  42. package/dist/domain/revision.d.ts +1 -1
  43. package/dist/domain/search.d.ts +1 -1
  44. package/dist/domain/table.d.ts +1 -1
  45. package/dist/domain/timeline.d.ts +1 -1
  46. package/dist/domain/transform-dag-run.d.ts +1 -1
  47. package/dist/domain/transform-inspector.d.ts +1 -1
  48. package/dist/domain/transform-job.d.ts +1 -1
  49. package/dist/domain/transform-test.d.ts +1 -1
  50. package/dist/domain/transform.d.ts +1 -1
  51. package/dist/{eid-translation-CH6NPWd-.d.ts → eid-translation-aQSffx0o.d.ts} +35 -35
  52. package/dist/{embedding-oU3gqfgX.d.ts → embedding-Cz3RUJYf.d.ts} +1 -1
  53. package/dist/{erd-CbV7xvAc.d.ts → erd-DCgdEC2S.d.ts} +1 -1
  54. package/dist/errors.d.ts +1 -1
  55. package/dist/{field-D1Pfk-0S.d.ts → field-ozrfbvUd.d.ts} +2 -2
  56. package/dist/{field-p9Rme2zB.d.ts → field-tqQPtVuR.d.ts} +3 -3
  57. package/dist/{git-sync-BTf1aYHr.d.ts → git-sync-5lFWX1ds.d.ts} +1 -1
  58. package/dist/{git-sync-C99SVdJ9.d.ts → git-sync-QL9Nu6gP.d.ts} +8 -8
  59. package/dist/{glossary-DFvnz-E5.d.ts → glossary-DwS7QVrl.d.ts} +1 -1
  60. package/dist/http/errors.d.ts +1 -1
  61. package/dist/http/oauth.d.ts +1 -1
  62. package/dist/http/oauth.js +47 -36
  63. package/dist/http/transport.d.ts +1 -1
  64. package/dist/index.d.ts +35 -35
  65. package/dist/index.js +1 -1
  66. package/dist/{json-BksZpXDC.d.ts → json-DwGOvRtS.d.ts} +1 -1
  67. package/dist/json.d.ts +1 -1
  68. package/dist/{measure-lPz8qnwz.d.ts → measure-CInoXeyH.d.ts} +1 -1
  69. package/dist/{metric-DcYloqOQ.d.ts → metric-CYOmbcM5.d.ts} +8 -8
  70. package/dist/{moderation-review-B4RUTZ6_.d.ts → moderation-review-CWUQ3_HL.d.ts} +4 -4
  71. package/dist/{notification-D1MThyKE.d.ts → notification-BY2JEjKp.d.ts} +2 -2
  72. package/dist/{notification-Cp5GJErS.d.ts → notification-D-Hp82Pn.d.ts} +2 -2
  73. package/dist/{oauth-C4ordeoJ.d.ts → oauth-CVoZpuq8.d.ts} +4 -2
  74. package/dist/{oauth-login-D734Jvbq.js → oauth-login--tDagiZu.js} +29 -11
  75. package/dist/{oauth-login-CJsT_3EE.d.ts → oauth-login-SZ4Csai8.d.ts} +3 -2
  76. package/dist/{oauth-session-BlIlcd8Q.d.ts → oauth-session-COLH4puN.d.ts} +1 -1
  77. package/dist/{paginate-COuL0Gzl.d.ts → paginate-CaJ5usdp.d.ts} +1 -1
  78. package/dist/paginate.d.ts +1 -1
  79. package/dist/{parameter-ak-J-IOj.d.ts → parameter-BYo7uR-J.d.ts} +2 -2
  80. package/dist/{pulse-BzKmz3Yn.d.ts → pulse-BTpSNxhT.d.ts} +2 -2
  81. package/dist/{pulse-0LG3K6qO.d.ts → pulse-BUlfrJZH.d.ts} +16 -16
  82. package/dist/{replacement-BGyggp-G.d.ts → replacement-BQian4vA.d.ts} +19 -19
  83. package/dist/{replacement-CVebCuNp.d.ts → replacement-Dbtvvrmz.d.ts} +11 -11
  84. package/dist/{requirement-check-glU7wqhQ.d.ts → requirement-check-CHHEHXcj.d.ts} +1 -1
  85. package/dist/resources/api-key.d.ts +1 -1
  86. package/dist/resources/card.d.ts +1 -1
  87. package/dist/resources/collection.d.ts +1 -1
  88. package/dist/resources/collection.js +6 -1
  89. package/dist/resources/content-translation.d.ts +1 -1
  90. package/dist/resources/dashboard.d.ts +1 -1
  91. package/dist/resources/data-action.d.ts +2 -2
  92. package/dist/resources/data-app.d.ts +1 -1
  93. package/dist/resources/database.d.ts +1 -1
  94. package/dist/resources/dataset.d.ts +1 -1
  95. package/dist/resources/dependency.d.ts +1 -1
  96. package/dist/resources/document.d.ts +2 -9
  97. package/dist/resources/eid-translation.d.ts +2 -2
  98. package/dist/resources/erd.d.ts +1 -1
  99. package/dist/resources/field.d.ts +1 -1
  100. package/dist/resources/git-sync.d.ts +1 -1
  101. package/dist/resources/glossary.d.ts +1 -1
  102. package/dist/resources/library.d.ts +1 -1
  103. package/dist/resources/measure.d.ts +1 -1
  104. package/dist/resources/metric.d.ts +1 -1
  105. package/dist/resources/moderation-review.d.ts +1 -1
  106. package/dist/resources/notification.d.ts +1 -1
  107. package/dist/resources/optional-parsed.d.ts +1 -1
  108. package/dist/resources/permission.d.ts +1 -1
  109. package/dist/resources/pivot-export.d.ts +1 -1
  110. package/dist/resources/pulse.d.ts +1 -1
  111. package/dist/resources/replacement.d.ts +1 -1
  112. package/dist/resources/revision.d.ts +1 -1
  113. package/dist/resources/search.d.ts +1 -1
  114. package/dist/resources/segment.d.ts +1 -1
  115. package/dist/resources/setting.d.ts +1 -1
  116. package/dist/resources/setup.d.ts +1 -1
  117. package/dist/resources/snippet.d.ts +1 -1
  118. package/dist/resources/table.d.ts +1 -1
  119. package/dist/resources/timeline-event.d.ts +2 -2
  120. package/dist/resources/timeline.d.ts +1 -1
  121. package/dist/resources/transform-dag-run.d.ts +2 -2
  122. package/dist/resources/transform-inspector.d.ts +4 -4
  123. package/dist/resources/transform-job.d.ts +1 -1
  124. package/dist/resources/transform-python.d.ts +1 -1
  125. package/dist/resources/transform-tag.d.ts +1 -1
  126. package/dist/resources/transform-test.d.ts +1 -1
  127. package/dist/resources/transform.d.ts +1 -1
  128. package/dist/resources/upload.d.ts +1 -1
  129. package/dist/resources/user.d.ts +1 -1
  130. package/dist/{revision-Dyl-8p7d.d.ts → revision-DNEw6S93.d.ts} +1 -1
  131. package/dist/{search-Cten2h0I.d.ts → search-BQWkdVg1.d.ts} +2 -2
  132. package/dist/{search-Cm5IxKss.d.ts → search-tK5lmRb8.d.ts} +18 -18
  133. package/dist/{segment-DQLX6r1E.d.ts → segment-jyhBtOAZ.d.ts} +1 -1
  134. package/dist/signal.d.ts +3 -2
  135. package/dist/signal.js +9 -4
  136. package/dist/{snippet-Djn0rL21.d.ts → snippet-DsgohpTV.d.ts} +1 -1
  137. package/dist/{table-CDZbLNow.d.ts → table-B1pQSpTA.d.ts} +10 -10
  138. package/dist/{table-Od6uvDVW.d.ts → table-BAl8aPZZ.d.ts} +30 -30
  139. package/dist/{timeline-BTs6fuRp.d.ts → timeline-BdLvwRnl.d.ts} +2 -2
  140. package/dist/{timeline-BK45hy-h.d.ts → timeline-BfX1lMob.d.ts} +11 -11
  141. package/dist/{transform-WASQAXeA.d.ts → transform-Ds74yPiY.d.ts} +12 -12
  142. package/dist/{transform-C5thnJwW.d.ts → transform-DwnIcpqV.d.ts} +14 -14
  143. package/dist/{transform-dag-run-BgZwv1yx.d.ts → transform-dag-run-BSrdrjaK.d.ts} +4 -4
  144. package/dist/{transform-inspector-CMCh8WKV.d.ts → transform-inspector-BMaRqcRM.d.ts} +8 -8
  145. package/dist/{transform-job-DmTwKxhc.d.ts → transform-job-C85GxBHj.d.ts} +6 -6
  146. package/dist/{transform-job-D8jTQtdX.d.ts → transform-job-Dfp9Ox0l.d.ts} +2 -2
  147. package/dist/{transform-test-CR_i54IV.d.ts → transform-test-C3hiZ4AV.d.ts} +2 -2
  148. package/dist/{transform-test-CeMzDpUC.d.ts → transform-test-DROPvrkI.d.ts} +1 -1
  149. package/dist/{transport-BsXqRujn.d.ts → transport-CS11mEqI.d.ts} +3 -3
  150. package/dist/{upload-B5YjVkSW.d.ts → upload-Bx1D7eNy.d.ts} +1 -1
  151. package/dist/version/capability-error.d.ts +1 -1
  152. package/dist/version/probe.d.ts +1 -1
  153. package/dist/version/profile.d.ts +1 -1
  154. package/dist/version/requirement-check.d.ts +1 -1
  155. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { SessionProperties } from "../domain/session-properties.js";
2
2
  import { ConfigError, TimeoutError, errorMessage } from "../errors.js";
3
3
  import { JSON_CONTENT_TYPE, parseJsonResult } from "../json.js";
4
+ import { combineAborts, throwIfAborted } from "../signal.js";
4
5
  import { assertEndpointOrigin } from "../url.js";
5
6
  import { a as HttpError, p as isRetryableStatus } from "../errors-DdMlaXqq.js";
6
7
  import { createServerProfile } from "../version/profile.js";
@@ -21,9 +22,10 @@ async function oauthFetch(request) {
21
22
  "user-agent": request.userAgent
22
23
  },
23
24
  ...request.body !== void 0 ? { body: request.body } : {},
24
- signal: timeoutSignal
25
+ signal: combineAborts(timeoutSignal, request.signal)
25
26
  });
26
27
  } catch (error) {
28
+ throwIfAborted(request.signal);
27
29
  if (timeoutSignal.aborted) throw new TimeoutError(`OAuth request timed out after ${OAUTH_TIMEOUT_MS}ms`, {
28
30
  kind: "http",
29
31
  method: request.method,
@@ -53,24 +55,26 @@ const OAuthErrorBody = z.object({
53
55
  error: z.string(),
54
56
  error_description: z.string().optional()
55
57
  }).loose();
56
- async function readJson(response, schema, source) {
58
+ async function readJson(response, schema, source, signal) {
57
59
  let raw;
58
60
  try {
59
61
  raw = await response.json();
60
62
  } catch (error) {
63
+ throwIfAborted(signal);
61
64
  throw new ConfigError(`${source}: invalid JSON response (${errorMessage(error)})`);
62
65
  }
63
66
  const parsed = schema.safeParse(raw);
64
67
  if (!parsed.success) throw new ConfigError(`${source}: unexpected response shape`);
65
68
  return parsed.data;
66
69
  }
67
- async function failure(response, source, method, url) {
70
+ async function failure(response, source, request) {
68
71
  const rawBody = await response.text().catch(() => "");
72
+ throwIfAborted(request.signal);
69
73
  if (isRetryableStatus(response.status)) return new HttpError({
70
74
  status: response.status,
71
75
  statusText: response.statusText,
72
- method,
73
- url,
76
+ method: request.method,
77
+ url: request.url,
74
78
  responseHeaders: response.headers,
75
79
  rawBody
76
80
  });
@@ -81,8 +85,8 @@ async function failure(response, source, method, url) {
81
85
  }
82
86
  return new ConfigError(`${source} failed (${response.status})`);
83
87
  }
84
- async function postForm(url, userAgent, params, schema, source) {
85
- const response = await oauthFetch({
88
+ async function postForm(url, userAgent, params, schema, source, signal) {
89
+ const request = {
86
90
  url,
87
91
  method: "POST",
88
92
  userAgent,
@@ -90,25 +94,28 @@ async function postForm(url, userAgent, params, schema, source) {
90
94
  "content-type": FORM_CONTENT_TYPE,
91
95
  accept: JSON_CONTENT_TYPE
92
96
  },
93
- body: new URLSearchParams(params)
94
- });
95
- if (!response.ok) throw await failure(response, source, "POST", url);
96
- return readJson(response, schema, source);
97
+ body: new URLSearchParams(params),
98
+ signal
99
+ };
100
+ const response = await oauthFetch(request);
101
+ if (!response.ok) throw await failure(response, source, request);
102
+ return readJson(response, schema, source, signal);
97
103
  }
98
104
  const OAUTH_UNSUPPORTED_MESSAGE = "this Metabase does not support OAuth login (requires Metabase v63 or newer)";
99
- async function fetchMetadata(baseUrl, userAgent) {
105
+ async function fetchMetadata(baseUrl, userAgent, signal) {
100
106
  const response = await oauthFetch({
101
107
  url: `${baseUrl}${DISCOVERY_PATH}`,
102
108
  method: "GET",
103
109
  userAgent,
104
- headers: { accept: JSON_CONTENT_TYPE }
110
+ headers: { accept: JSON_CONTENT_TYPE },
111
+ signal
105
112
  });
106
113
  const contentType = response.headers.get("content-type") ?? "";
107
114
  if (!response.ok || !contentType.includes("json")) {
108
115
  await response.body?.cancel().catch(() => void 0);
109
116
  return null;
110
117
  }
111
- return readJson(response, OAuthServerMetadata, "OAuth discovery");
118
+ return readJson(response, OAuthServerMetadata, "OAuth discovery", signal);
112
119
  }
113
120
  function pinEndpoints(metadata, baseUrl) {
114
121
  assertEndpointOrigin(metadata.issuer, baseUrl, "issuer");
@@ -118,25 +125,26 @@ function pinEndpoints(metadata, baseUrl) {
118
125
  if (metadata.revocation_endpoint !== void 0) assertEndpointOrigin(metadata.revocation_endpoint, baseUrl, "revocation endpoint");
119
126
  return metadata;
120
127
  }
121
- async function grantsFullAccessScope(metadata, baseUrl, userAgent) {
128
+ async function grantsFullAccessScope(metadata, baseUrl, userAgent, signal) {
122
129
  if (metadata.scopes_supported?.includes("mb:full") === true) return true;
123
- const url = `${baseUrl}${PROBE_PATH}`;
124
- const response = await oauthFetch({
125
- url,
130
+ const request = {
131
+ url: `${baseUrl}${PROBE_PATH}`,
126
132
  method: "GET",
127
133
  userAgent,
128
- headers: { accept: JSON_CONTENT_TYPE }
129
- });
130
- if (!response.ok) throw await failure(response, "Server properties", "GET", url);
131
- return createServerProfile(serverInfoFromProperties(await readJson(response, SessionProperties, "Server properties"))).features.oauthFullAccessScopeUnadvertised;
134
+ headers: { accept: JSON_CONTENT_TYPE },
135
+ signal
136
+ };
137
+ const response = await oauthFetch(request);
138
+ if (!response.ok) throw await failure(response, "Server properties", request);
139
+ return createServerProfile(serverInfoFromProperties(await readJson(response, SessionProperties, "Server properties", signal))).features.oauthFullAccessScopeUnadvertised;
132
140
  }
133
- async function tryDiscoverMetadata(baseUrl, userAgent) {
134
- const metadata = await fetchMetadata(baseUrl, userAgent);
135
- if (metadata === null || !await grantsFullAccessScope(metadata, baseUrl, userAgent)) return null;
141
+ async function tryDiscoverMetadata(baseUrl, userAgent, signal) {
142
+ const metadata = await fetchMetadata(baseUrl, userAgent, signal);
143
+ if (metadata === null || !await grantsFullAccessScope(metadata, baseUrl, userAgent, signal)) return null;
136
144
  return pinEndpoints(metadata, baseUrl);
137
145
  }
138
- async function discoverLoginMetadata(baseUrl, userAgent) {
139
- const metadata = await tryDiscoverMetadata(baseUrl, userAgent);
146
+ async function discoverLoginMetadata(baseUrl, userAgent, signal) {
147
+ const metadata = await tryDiscoverMetadata(baseUrl, userAgent, signal);
140
148
  if (metadata === null) throw new ConfigError(OAUTH_UNSUPPORTED_MESSAGE);
141
149
  return metadata;
142
150
  }
@@ -146,7 +154,7 @@ async function discoverMetadata(baseUrl, userAgent) {
146
154
  return pinEndpoints(metadata, baseUrl);
147
155
  }
148
156
  async function registerClient(input) {
149
- const response = await oauthFetch({
157
+ const request = {
150
158
  url: input.registrationEndpoint,
151
159
  method: "POST",
152
160
  userAgent: input.userAgent,
@@ -162,10 +170,12 @@ async function registerClient(input) {
162
170
  response_types: ["code"],
163
171
  token_endpoint_auth_method: "none",
164
172
  scope: OAUTH_SCOPE
165
- })
166
- });
167
- if (!response.ok) throw await failure(response, "OAuth client registration", "POST", input.registrationEndpoint);
168
- return readJson(response, RegisteredClient, "OAuth client registration");
173
+ }),
174
+ signal: input.signal
175
+ };
176
+ const response = await oauthFetch(request);
177
+ if (!response.ok) throw await failure(response, "OAuth client registration", request);
178
+ return readJson(response, RegisteredClient, "OAuth client registration", input.signal);
169
179
  }
170
180
  function exchangeCode(input) {
171
181
  return postForm(input.tokenEndpoint, input.userAgent, {
@@ -174,7 +184,7 @@ function exchangeCode(input) {
174
184
  redirect_uri: input.redirectUri,
175
185
  client_id: input.clientId,
176
186
  code_verifier: input.codeVerifier
177
- }, OAuthTokens, "OAuth token exchange");
187
+ }, OAuthTokens, "OAuth token exchange", input.signal);
178
188
  }
179
189
  function refreshTokens(input) {
180
190
  return postForm(input.tokenEndpoint, input.userAgent, {
@@ -184,7 +194,7 @@ function refreshTokens(input) {
184
194
  }, OAuthTokens, "OAuth token refresh");
185
195
  }
186
196
  async function revokeToken(input) {
187
- const response = await oauthFetch({
197
+ const request = {
188
198
  url: input.revocationEndpoint,
189
199
  method: "POST",
190
200
  userAgent: input.userAgent,
@@ -193,8 +203,9 @@ async function revokeToken(input) {
193
203
  token: input.token,
194
204
  client_id: input.clientId
195
205
  })
196
- });
197
- if (!response.ok) throw await failure(response, "OAuth token revocation", "POST", input.revocationEndpoint);
206
+ };
207
+ const response = await oauthFetch(request);
208
+ if (!response.ok) throw await failure(response, "OAuth token revocation", request);
198
209
  await response.body?.cancel().catch(() => void 0);
199
210
  }
200
211
  //#endregion
@@ -1,2 +1,2 @@
1
- import { _ as WaitOptions, a as ExpectedContentType, c as PreflightUnverified, d as QueryValue, f as RequestOptions, g as TransportRequestOptions, h as Transport, i as DEFAULT_TIMEOUT_MS, l as ProbeReadOptions, m as SkippedPreflight, n as ClientOptions, o as HttpMethod, p as ServerTagResolver, r as DEFAULT_METHOD, s as PreflightRefused, t as ClientCredentials, u as QueryPrimitive, v as createTransport } from "../transport-BsXqRujn.js";
1
+ import { _ as WaitOptions, a as ExpectedContentType, c as PreflightUnverified, d as QueryValue, f as RequestOptions, g as TransportRequestOptions, h as Transport, i as DEFAULT_TIMEOUT_MS, l as ProbeReadOptions, m as SkippedPreflight, n as ClientOptions, o as HttpMethod, p as ServerTagResolver, r as DEFAULT_METHOD, s as PreflightRefused, t as ClientCredentials, u as QueryPrimitive, v as createTransport } from "../transport-CS11mEqI.js";
2
2
  export { ClientCredentials, ClientOptions, DEFAULT_METHOD, DEFAULT_TIMEOUT_MS, ExpectedContentType, HttpMethod, PreflightRefused, PreflightUnverified, ProbeReadOptions, QueryPrimitive, QueryValue, RequestOptions, ServerTagResolver, SkippedPreflight, Transport, TransportRequestOptions, WaitOptions, createTransport };
package/dist/index.d.ts CHANGED
@@ -1,62 +1,62 @@
1
- import { a as Credential, c as OAuthCredential, o as CredentialRefresher, r as ApiKeyCredential } from "./credential-6aOEGqMH.js";
2
- import { n as OAuthLoginInput, r as oauthLogin, t as OAuthLoginDeps } from "./oauth-login-CJsT_3EE.js";
3
- import { n as revokeOAuthCredential, t as refreshOAuthCredential } from "./oauth-session-BlIlcd8Q.js";
1
+ import { a as Credential, c as OAuthCredential, o as CredentialRefresher, r as ApiKeyCredential } from "./credential-B6fKSvqp.js";
2
+ import { n as OAuthLoginInput, r as oauthLogin, t as OAuthLoginDeps } from "./oauth-login-SZ4Csai8.js";
3
+ import { n as revokeOAuthCredential, t as refreshOAuthCredential } from "./oauth-session-COLH4puN.js";
4
4
  import { n as TokenFeatures, t as SessionProperties } from "./session-properties-COtlxAcK.js";
5
5
  import { a as FeatureRule, c as TokenGap, f as isFeatureName, i as FeatureName, l as VersionGap, n as FEATURE_RULES, o as Features, p as ruleGap, r as FeatureGap, s as RuleMajor, t as FEATURE_NAMES, u as evaluateFeatures } from "./features-SMSfJhB6.js";
6
6
  import { a as StoredServerVersion, c as parseTag, i as ServerVersion, n as Edition, o as describeVersion, r as ReleaseVersion, s as editionFromTag, t as DevelopmentBuild } from "./tag-qzjGGci8.js";
7
- import { $ as PartialWriteAnswer, A as HttpErrorDetail, B as isHttpNotFound, Dt as ServerInfo, G as DecodedResponseShapeDetail, H as AbortError, I as RemoteSyncedDependent, J as HttpTimeoutDetail, K as ErrorCategory, M as HttpErrorKind, O as FieldErrors, Q as NetworkErrorDetail, St as featureGap, U as ChainedRequestError, W as ConfigError, X as MetabaseError, Y as InternalError, Z as NetworkError, a as ExpectedContentType, at as ResponseShapeError, b as RequirementFailure, bt as Skew, c as PreflightUnverified, ct as TimeoutErrorDetail, d as QueryValue, dt as ValidationError, et as PartialWriteDetail, f as RequestOptions, ft as ValidationErrorDetail, g as TransportRequestOptions, gt as isFileNotFoundError, h as Transport, it as PollingTimeoutDetail, k as HttpError, kt as probeServer, lt as UnknownError, m as SkippedPreflight, mt as errorMessage, n as ClientOptions, nt as PartialWriteReported, o as HttpMethod, ot as ResponseShapeErrorDetail, p as ServerTagResolver, pt as ZodResponseShapeDetail, q as FailedResultError, rt as PartialWriteUnreported, s as PreflightRefused, st as TimeoutError, t as ClientCredentials, tt as PartialWriteError, ut as UnknownErrorDetail, v as createTransport, vt as toMetabaseError, x as RequirementReason, xt as createServerProfile, y as CapabilityError, yt as ServerProfile } from "./transport-BsXqRujn.js";
7
+ import { $ as PartialWriteAnswer, A as HttpErrorDetail, B as isHttpNotFound, Dt as ServerInfo, G as DecodedResponseShapeDetail, H as AbortError, I as RemoteSyncedDependent, J as HttpTimeoutDetail, K as ErrorCategory, M as HttpErrorKind, O as FieldErrors, Q as NetworkErrorDetail, St as featureGap, U as ChainedRequestError, W as ConfigError, X as MetabaseError, Y as InternalError, Z as NetworkError, a as ExpectedContentType, at as ResponseShapeError, b as RequirementFailure, bt as Skew, c as PreflightUnverified, ct as TimeoutErrorDetail, d as QueryValue, dt as ValidationError, et as PartialWriteDetail, f as RequestOptions, ft as ValidationErrorDetail, g as TransportRequestOptions, gt as isFileNotFoundError, h as Transport, it as PollingTimeoutDetail, k as HttpError, kt as probeServer, lt as UnknownError, m as SkippedPreflight, mt as errorMessage, n as ClientOptions, nt as PartialWriteReported, o as HttpMethod, ot as ResponseShapeErrorDetail, p as ServerTagResolver, pt as ZodResponseShapeDetail, q as FailedResultError, rt as PartialWriteUnreported, s as PreflightRefused, st as TimeoutError, t as ClientCredentials, tt as PartialWriteError, ut as UnknownErrorDetail, v as createTransport, vt as toMetabaseError, x as RequirementReason, xt as createServerProfile, y as CapabilityError, yt as ServerProfile } from "./transport-CS11mEqI.js";
8
8
  import { t as ListResult } from "./list-BT_bBm9Z.js";
9
9
  import { t as KNOWN_RANGE } from "./known-range-DTOBgTEC.js";
10
10
  import { a as methodRequirements, i as isMethodKey, n as METHOD_REQUIREMENTS, r as MethodKey, t as METHOD_KEYS } from "./requirements-Dx_ZVzl7.js";
11
- import { n as featureFailures, t as checkFeatures } from "./requirement-check-glU7wqhQ.js";
12
- import { n as Page, r as PaginateOptions } from "./paginate-COuL0Gzl.js";
11
+ import { n as featureFailures, t as checkFeatures } from "./requirement-check-CHHEHXcj.js";
12
+ import { n as Page, r as PaginateOptions } from "./paginate-CaJ5usdp.js";
13
13
  import { a as PollOptions, o as pollUntil, t as Backoff } from "./poll-CIwnee7h.js";
14
- import { i as parseJson, n as ParseJsonOptions } from "./json-BksZpXDC.js";
14
+ import { i as parseJson, n as ParseJsonOptions } from "./json-DwGOvRtS.js";
15
15
  import { i as normalizeUrl, n as displayUrl, t as assertEndpointOrigin } from "./url-CI0pxHOc.js";
16
16
  import { a as CreatedApiKeyCompact, i as CreatedApiKey, n as ApiKeyCompact, r as ApiKeyCreateInput, t as ApiKey } from "./api-key-DJeN1-7G.js";
17
- import { a as CardListFilter, c as CardType, i as CardDetail, l as CardUpdateInput, n as CardCompact, o as CardQueryResult, r as CardCreateInput, s as CardQueryResultCompact, t as Card, u as ResultColumn } from "./card-BxBzr5Uj.js";
18
- import { a as CollectionAuthorityLevel, c as CollectionId, d as CollectionItemFilterModel, f as CollectionItemModel, g as CollectionTreeNode, h as CollectionPinnedState, i as Collection, l as CollectionItem, m as CollectionNamespace, n as COLLECTION_ITEM_MODELS, o as CollectionCompact, p as CollectionListFilter, r as COLLECTION_PINNED_STATES, s as CollectionCreateInput, t as COLLECTION_ITEM_FILTER_MODELS, u as CollectionItemCompact, v as CollectionUpdateInput } from "./collection-DGnTvD6R.js";
17
+ import { a as CardListFilter, c as CardType, i as CardDetail, l as CardUpdateInput, n as CardCompact, o as CardQueryResult, r as CardCreateInput, s as CardQueryResultCompact, t as Card, u as ResultColumn } from "./card-CrSywvOt.js";
18
+ import { a as CollectionAuthorityLevel, c as CollectionId, d as CollectionItemFilterModel, f as CollectionItemModel, g as CollectionTreeNode, h as CollectionPinnedState, i as Collection, l as CollectionItem, m as CollectionNamespace, n as COLLECTION_ITEM_MODELS, o as CollectionCompact, p as CollectionListFilter, r as COLLECTION_PINNED_STATES, s as CollectionCreateInput, t as COLLECTION_ITEM_FILTER_MODELS, u as CollectionItemCompact, v as CollectionUpdateInput } from "./collection-Bmtisr3r.js";
19
19
  import { t as ContentTranslationUploadResult } from "./content-translation-zfUkE_OG.js";
20
20
  import { t as CronUiDisplayType } from "./cron-DThzerR6.js";
21
- import { _ as DashcardDetail, a as DashboardCopyInput, b as DashcardVisualizationSettings, c as DashboardLayoutInput, d as DashboardTab, f as DashboardTabCompact, g as DashcardCompact, h as Dashcard, i as DashboardCopyCompact, l as DashboardListFilter, m as DashboardUpdateInput, n as DashboardCompact, o as DashboardCreateInput, p as DashboardUncopiedCard, r as DashboardCopy, s as DashboardDetail, t as Dashboard, u as DashboardParameterConstraints, v as DashcardPatchInput, x as UnreadableCard, y as DashcardVirtualCard } from "./dashboard-DtLXVgtf.js";
22
- import { a as DataActionExecuteInput, c as DataActionUpdateInput, i as DataActionCreateInput, l as dataActionSchema, n as DataAction, o as DataActionExecuteResult, r as DataActionCompact, s as DataActionParameter } from "./data-action-CkXVrOUH.js";
23
- import { a as DataAppListFilter, c as DataAppUpdateInput, i as DataAppEntry, n as DataAppCompact, o as DataAppSlug, r as DataAppCreateInput, s as DataAppSummary, t as DataApp } from "./data-app-CqP5_fpB.js";
24
- import { c as DatabaseVirtualTable, i as DatabaseListInclude, l as DatabaseVirtualTableCompact, n as DatabaseCompact, o as DatabaseSyncResult, r as DatabaseGetInclude, s as DatabaseUpdateInput, t as Database } from "./database-BxqDmfcj.js";
25
- import { a as QueryMetadataTable, c as VirtualTable, i as QueryMetadataCompact, l as VirtualTableCompact, n as CompiledQueryCompact, o as VirtualField, r as QueryMetadata, s as VirtualFieldCompact, t as CompiledQuery } from "./dataset-BBNGPVec.js";
26
- import { _ as DependentsSortColumn, a as DependencyEntityCompact, c as DependencyFindingError, d as DependencyGraphCompact, f as DependencyItemsSortColumn, g as DependencyUsageType, h as DependencyType, i as DependencyEntity, l as DependencyFindingErrorType, m as DependencyNodeCompact, n as BreakingSourceCompact, o as DependencyEntityData, p as DependencyNode, r as DependencyEdge, s as DependencyErrorSourceType, t as BreakingSource, u as DependencyGraph } from "./dependency-arB8Cr2H.js";
21
+ import { _ as DashcardDetail, a as DashboardCopyInput, b as DashcardVisualizationSettings, c as DashboardLayoutInput, d as DashboardTab, f as DashboardTabCompact, g as DashcardCompact, h as Dashcard, i as DashboardCopyCompact, l as DashboardListFilter, m as DashboardUpdateInput, n as DashboardCompact, o as DashboardCreateInput, p as DashboardUncopiedCard, r as DashboardCopy, s as DashboardDetail, t as Dashboard, u as DashboardParameterConstraints, v as DashcardPatchInput, x as UnreadableCard, y as DashcardVirtualCard } from "./dashboard-DBdEehA9.js";
22
+ import { a as DataActionExecuteInput, c as DataActionUpdateInput, i as DataActionCreateInput, l as dataActionSchema, n as DataAction, o as DataActionExecuteResult, r as DataActionCompact, s as DataActionParameter } from "./data-action-CqqZ0JYg.js";
23
+ import { a as DataAppListFilter, c as DataAppUpdateInput, i as DataAppEntry, n as DataAppCompact, o as DataAppSlug, r as DataAppCreateInput, s as DataAppSummary, t as DataApp } from "./data-app-MoMS9VUr.js";
24
+ import { c as DatabaseVirtualTable, i as DatabaseListInclude, l as DatabaseVirtualTableCompact, n as DatabaseCompact, o as DatabaseSyncResult, r as DatabaseGetInclude, s as DatabaseUpdateInput, t as Database } from "./database-CYNLJ8AZ.js";
25
+ import { a as QueryMetadataTable, c as VirtualTable, i as QueryMetadataCompact, l as VirtualTableCompact, n as CompiledQueryCompact, o as VirtualField, r as QueryMetadata, s as VirtualFieldCompact, t as CompiledQuery } from "./dataset-cg8ZZrOP.js";
26
+ import { _ as DependentsSortColumn, a as DependencyEntityCompact, c as DependencyFindingError, d as DependencyGraphCompact, f as DependencyItemsSortColumn, g as DependencyUsageType, h as DependencyType, i as DependencyEntity, l as DependencyFindingErrorType, m as DependencyNodeCompact, n as BreakingSourceCompact, o as DependencyEntityData, p as DependencyNode, r as DependencyEdge, s as DependencyErrorSourceType, t as BreakingSource, u as DependencyGraph } from "./dependency-VqvLTDAU.js";
27
27
  import { a as DocumentUpdateInput, i as DocumentCreateInput, n as DocumentCompact, o as TipTapNode, r as DocumentCopyInput, s as TipTapNodeInput, t as Document } from "./document-tLd6pYWe.js";
28
- import { a as EidTranslateResult, i as EidTranslateInput, n as EidModel, o as EidTranslateResultCompact, r as EidTranslateEntry, t as EID_MODELS } from "./eid-translation-CH6NPWd-.js";
29
- import { t as EmbeddingParams } from "./embedding-oU3gqfgX.js";
28
+ import { a as EidTranslateResult, i as EidTranslateInput, n as EidModel, o as EidTranslateResultCompact, r as EidTranslateEntry, t as EID_MODELS } from "./eid-translation-aQSffx0o.js";
29
+ import { t as EmbeddingParams } from "./embedding-Cz3RUJYf.js";
30
30
  import { i as ErdNode, n as ErdEdge, r as ErdField, t as Erd } from "./erd-BdeFEeSy.js";
31
- import { _ as FieldWithTarget, a as FieldCompact, b as hasDataSensitivity, c as FieldRemappedValue, d as FieldSummary, f as FieldUpdateInput, g as FieldWithDataSensitivityCompact, h as FieldWithDataSensitivity, i as FieldCoercionStrategy, l as FieldSearchMatches, m as FieldValuesCompact, n as Field, o as FieldDataSensitivity, p as FieldValues, r as FieldBaseType, s as FieldDetail, u as FieldSemanticType } from "./field-p9Rme2zB.js";
32
- import { _ as SyncTaskType, a as SyncExportPreflight, b as isSyncTaskTerminal, c as SyncForcePushCasualties, d as SyncRemoteChanges, f as SyncSettingsUpdateResult, g as SyncTaskStatus, h as SyncTaskCompact, i as SyncDirtyItemCompact, l as SyncImportResult, m as SyncTask, n as SyncBranchCreated, o as SyncExportPreflightCompact, p as SyncStashResult, r as SyncDirtyItem, s as SyncExportResult, t as RemoteSyncState, u as SyncMergeSummary, v as SyncType, y as isSyncTaskFailed } from "./git-sync-C99SVdJ9.js";
31
+ import { _ as FieldWithTarget, a as FieldCompact, b as hasDataSensitivity, c as FieldRemappedValue, d as FieldSummary, f as FieldUpdateInput, g as FieldWithDataSensitivityCompact, h as FieldWithDataSensitivity, i as FieldCoercionStrategy, l as FieldSearchMatches, m as FieldValuesCompact, n as Field, o as FieldDataSensitivity, p as FieldValues, r as FieldBaseType, s as FieldDetail, u as FieldSemanticType } from "./field-tqQPtVuR.js";
32
+ import { _ as SyncTaskType, a as SyncExportPreflight, b as isSyncTaskTerminal, c as SyncForcePushCasualties, d as SyncRemoteChanges, f as SyncSettingsUpdateResult, g as SyncTaskStatus, h as SyncTaskCompact, i as SyncDirtyItemCompact, l as SyncImportResult, m as SyncTask, n as SyncBranchCreated, o as SyncExportPreflightCompact, p as SyncStashResult, r as SyncDirtyItem, s as SyncExportResult, t as RemoteSyncState, u as SyncMergeSummary, v as SyncType, y as isSyncTaskFailed } from "./git-sync-QL9Nu6gP.js";
33
33
  import { i as GlossaryUpdateInput, n as GlossaryCompact, r as GlossaryCreateInput, t as Glossary } from "./glossary-CHK3elPj.js";
34
34
  import { i as LibraryCompact, n as LibraryChild, o as LibraryPublishTablesInput, t as Library } from "./library-B9pEq7qP.js";
35
35
  import { i as MeasureUpdateInput, n as MeasureCompact, r as MeasureCreateInput, t as Measure } from "./measure-CgH14YQZ.js";
36
- import { C as MetricProjection, S as MetricMathOperator, _ as MetricInstanceFilter, a as MetricBreakoutValues, b as MetricMappingTarget, c as MetricDimensionCompact, d as MetricDimensionRef, f as MetricDimensionRefOptions, g as MetricFilterClause, h as MetricFilterArgument, i as MetricBreakoutColumn, l as MetricDimensionGroup, m as MetricDimensionStatus, n as MetricAddableGroup, o as MetricDefinition, p as MetricDimensionSource, r as MetricBinning, s as MetricDimension, t as MetricAddableDimension, u as MetricDimensionListing, v as MetricLeafRef, x as MetricMathExpression, y as MetricLeafType } from "./metric-DcYloqOQ.js";
37
- import { a as ModerationStatus, i as ModerationReviewCreateInput, n as ModerationReview, r as ModerationReviewCompact, t as ModeratedItemType } from "./moderation-review-B4RUTZ6_.js";
38
- import { _ as NotificationSendCondition, a as NotificationCardPayloadCompact, b as NotificationSubscriptionType, c as NotificationCompact, d as NotificationHandlerCompact, f as NotificationPayloadType, g as NotificationRecipientType, h as NotificationRecipientDetails, i as NotificationCardPayload, l as NotificationCreateInput, m as NotificationRecipientCompact, n as CARD_PAYLOAD_TYPE, o as NotificationCardPayloadPatch, p as NotificationRecipient, r as Notification, s as NotificationChannelType, u as NotificationHandler, v as NotificationSubscription, x as NotificationUpdateInput, y as NotificationSubscriptionCompact } from "./notification-D1MThyKE.js";
39
- import { c as ParameterValuesCompact, d as ValuesSourceConfig, f as ValuesSourceType, l as TemporalUnit, n as ParameterMapping, o as ParameterType, r as ParameterTarget, s as ParameterValues, t as Parameter, u as ValuesQueryType } from "./parameter-ak-J-IOj.js";
36
+ import { C as MetricProjection, S as MetricMathOperator, _ as MetricInstanceFilter, a as MetricBreakoutValues, b as MetricMappingTarget, c as MetricDimensionCompact, d as MetricDimensionRef, f as MetricDimensionRefOptions, g as MetricFilterClause, h as MetricFilterArgument, i as MetricBreakoutColumn, l as MetricDimensionGroup, m as MetricDimensionStatus, n as MetricAddableGroup, o as MetricDefinition, p as MetricDimensionSource, r as MetricBinning, s as MetricDimension, t as MetricAddableDimension, u as MetricDimensionListing, v as MetricLeafRef, x as MetricMathExpression, y as MetricLeafType } from "./metric-CYOmbcM5.js";
37
+ import { a as ModerationStatus, i as ModerationReviewCreateInput, n as ModerationReview, r as ModerationReviewCompact, t as ModeratedItemType } from "./moderation-review-CWUQ3_HL.js";
38
+ import { _ as NotificationSendCondition, a as NotificationCardPayloadCompact, b as NotificationSubscriptionType, c as NotificationCompact, d as NotificationHandlerCompact, f as NotificationPayloadType, g as NotificationRecipientType, h as NotificationRecipientDetails, i as NotificationCardPayload, l as NotificationCreateInput, m as NotificationRecipientCompact, n as CARD_PAYLOAD_TYPE, o as NotificationCardPayloadPatch, p as NotificationRecipient, r as Notification, s as NotificationChannelType, u as NotificationHandler, v as NotificationSubscription, x as NotificationUpdateInput, y as NotificationSubscriptionCompact } from "./notification-BY2JEjKp.js";
39
+ import { c as ParameterValuesCompact, d as ValuesSourceConfig, f as ValuesSourceType, l as TemporalUnit, n as ParameterMapping, o as ParameterType, r as ParameterTarget, s as ParameterValues, t as Parameter, u as ValuesQueryType } from "./parameter-BYo7uR-J.js";
40
40
  import { a as PermissionsGraph, i as DownloadPermission, n as DataModelPermission, o as ViewDataPermission, r as DatabasePermissions, s as YesNoPermission, t as CreateQueriesPermission } from "./permission-BnCQw5Kp.js";
41
- import { a as PulseChannelCompact, c as PulseCompact, d as PulseRecipientCompact, f as PulseScheduleDay, h as PulseUpdateInput, i as PulseChannel, l as PulseCreateInput, m as PulseScheduleType, n as PulseCard, o as PulseChannelDetails, p as PulseScheduleFrame, r as PulseCardCompact, s as PulseChannelType, t as Pulse, u as PulseRecipient } from "./pulse-0LG3K6qO.js";
41
+ import { a as PulseChannelCompact, c as PulseCompact, d as PulseRecipientCompact, f as PulseScheduleDay, h as PulseUpdateInput, i as PulseChannel, l as PulseCreateInput, m as PulseScheduleType, n as PulseCard, o as PulseChannelDetails, p as PulseScheduleFrame, r as PulseCardCompact, s as PulseChannelType, t as Pulse, u as PulseRecipient } from "./pulse-BUlfrJZH.js";
42
42
  import { a as VisualizationSettings, i as SortDirection, n as ExportFormat, r as PivotExportFormat, t as DatasetQuery } from "./query-Xsin530u.js";
43
- import { a as ReplacementEntityType, c as ReplacementRun, d as ReplacementRunStatus, f as ReplacementSourceInput, i as ReplacementColumnMapping, l as ReplacementRunCompact, n as ReplacementColumn, o as ReplacementError, p as ReplacementSourceType, r as ReplacementColumnError, s as ReplacementModelWithTransformInput, t as ReplacementCheck, u as ReplacementRunStarted } from "./replacement-BGyggp-G.js";
44
- import { i as SearchResultCompact, n as SearchModel, r as SearchResult, t as SEARCH_MODELS } from "./search-Cm5IxKss.js";
43
+ import { a as ReplacementEntityType, c as ReplacementRun, d as ReplacementRunStatus, f as ReplacementSourceInput, i as ReplacementColumnMapping, l as ReplacementRunCompact, n as ReplacementColumn, o as ReplacementError, p as ReplacementSourceType, r as ReplacementColumnError, s as ReplacementModelWithTransformInput, t as ReplacementCheck, u as ReplacementRunStarted } from "./replacement-BQian4vA.js";
44
+ import { i as SearchResultCompact, n as SearchModel, r as SearchResult, t as SEARCH_MODELS } from "./search-tK5lmRb8.js";
45
45
  import { i as SegmentUpdateInput, n as SegmentCompact, r as SegmentCreateInput, t as Segment } from "./segment-CbAgVO-5.js";
46
- import { a as RevisionRevert, i as RevisionEntity, n as Revision, o as RevisionRevertInput, r as RevisionCompact, s as RevisionRow } from "./revision-Dyl-8p7d.js";
46
+ import { a as RevisionRevert, i as RevisionEntity, n as Revision, o as RevisionRevertInput, r as RevisionCompact, s as RevisionRow } from "./revision-DNEw6S93.js";
47
47
  import { n as SettingCompact, r as SettingValue, t as Setting } from "./setting-DXuQGXGF.js";
48
48
  import { n as SetupResult, r as SetupResultCompact, t as SetupInput } from "./setup-JqcJ2unJ.js";
49
49
  import { i as SnippetUpdateInput, n as SnippetCompact, r as SnippetCreateInput, t as Snippet } from "./snippet-C_Ilx7tR.js";
50
- import { C as TableSelectionResult, E as TableVisibilityType, S as TableSchemaSyncResult, T as TableUpdateInput, _ as TableForeignKeyCompact, a as Table, b as TableQueryMetadataCompact, c as TableBulkEditResult, d as TableDataLayerMedallion, f as TableDataLayerTier, g as TableForeignKey, h as TableFieldValuesResult, l as TableCompact, m as TableDatabase, o as TableBulkEditFields, p as TableDataSource, s as TableBulkEditInput, u as TableDataLayer, v as TableGetInclude, w as TableSelectors, x as TableSchemaId, y as TableQueryMetadata } from "./table-Od6uvDVW.js";
51
- import { a as TimelineEventCompact, c as TimelineIcon, i as TimelineEvent, l as TimelineUpdateInput, n as TimelineCompact, o as TimelineEventCreateInput, r as TimelineCreateInput, s as TimelineEventUpdateInput, t as Timeline } from "./timeline-BK45hy-h.js";
52
- import { _ as TransformSourceTableEntryInput, a as TransformDagRunResult, b as isTransformRunFailed, c as TransformRunCompact, d as TransformRunStatus, f as TransformRunSummary, g as TransformSourceTableEntry, h as TransformRunSummaryType, i as TransformDagDirection, l as TransformRunMethod, m as TransformRunSummarySortColumn, n as TransformCompact, o as TransformDagTransform, p as TransformRunSummaryCompact, r as TransformCreateInput, s as TransformRun, t as Transform, u as TransformRunResult, v as TransformTarget, x as isTransformRunTerminal, y as TransformUpdateInput } from "./transform-C5thnJwW.js";
53
- import { n as TransformMemberRunCompact, t as TransformMemberRun } from "./transform-dag-run-BgZwv1yx.js";
54
- import { a as LensCardDisplay, c as LensDrillTrigger, d as LensSection, f as TransformInspection, h as TransformLensQueryInput, i as LensCard, l as LensMetadata, m as TransformLens, n as InspectorTable, o as LensCardMetadata, p as TransformInspectionStatus, r as LensAlertTrigger, s as LensComplexityLevel, t as InspectorField, u as LensParams } from "./transform-inspector-CMCh8WKV.js";
55
- import { a as TransformJobCreateInput, i as TransformJobCompact, n as TransformJob, o as TransformJobRunResult, r as TransformJobActiveResult, s as TransformJobUpdateInput } from "./transform-job-D8jTQtdX.js";
50
+ import { C as TableSelectionResult, E as TableVisibilityType, S as TableSchemaSyncResult, T as TableUpdateInput, _ as TableForeignKeyCompact, a as Table, b as TableQueryMetadataCompact, c as TableBulkEditResult, d as TableDataLayerMedallion, f as TableDataLayerTier, g as TableForeignKey, h as TableFieldValuesResult, l as TableCompact, m as TableDatabase, o as TableBulkEditFields, p as TableDataSource, s as TableBulkEditInput, u as TableDataLayer, v as TableGetInclude, w as TableSelectors, x as TableSchemaId, y as TableQueryMetadata } from "./table-BAl8aPZZ.js";
51
+ import { a as TimelineEventCompact, c as TimelineIcon, i as TimelineEvent, l as TimelineUpdateInput, n as TimelineCompact, o as TimelineEventCreateInput, r as TimelineCreateInput, s as TimelineEventUpdateInput, t as Timeline } from "./timeline-BfX1lMob.js";
52
+ import { _ as TransformSourceTableEntryInput, a as TransformDagRunResult, b as isTransformRunFailed, c as TransformRunCompact, d as TransformRunStatus, f as TransformRunSummary, g as TransformSourceTableEntry, h as TransformRunSummaryType, i as TransformDagDirection, l as TransformRunMethod, m as TransformRunSummarySortColumn, n as TransformCompact, o as TransformDagTransform, p as TransformRunSummaryCompact, r as TransformCreateInput, s as TransformRun, t as Transform, u as TransformRunResult, v as TransformTarget, x as isTransformRunTerminal, y as TransformUpdateInput } from "./transform-DwnIcpqV.js";
53
+ import { n as TransformMemberRunCompact, t as TransformMemberRun } from "./transform-dag-run-BSrdrjaK.js";
54
+ import { a as LensCardDisplay, c as LensDrillTrigger, d as LensSection, f as TransformInspection, h as TransformLensQueryInput, i as LensCard, l as LensMetadata, m as TransformLens, n as InspectorTable, o as LensCardMetadata, p as TransformInspectionStatus, r as LensAlertTrigger, s as LensComplexityLevel, t as InspectorField, u as LensParams } from "./transform-inspector-BMaRqcRM.js";
55
+ import { a as TransformJobCreateInput, i as TransformJobCompact, n as TransformJob, o as TransformJobRunResult, r as TransformJobActiveResult, s as TransformJobUpdateInput } from "./transform-job-Dfp9Ox0l.js";
56
56
  import { a as PythonTestRunOutput, i as PythonTestRunInput, n as PythonLibraryUpdateInput, o as PythonTestRunResult, r as PythonTestRunError, t as PythonLibrary } from "./transform-python-DtL3xxMj.js";
57
57
  import { i as TransformTagUpdateInput, n as TransformTagCompact, r as TransformTagCreateInput, t as TransformTag } from "./transform-tag-C6j5EUkX.js";
58
- import { a as TransformTestExpectation, c as TransformTestRefusalCode, d as TransformTestRunResult, f as TransformTestTable, i as TransformTestCreateInput, l as TransformTestResultColumn, m as isTransformTestRefusalCode, n as TransformTestColumn, o as TransformTestExpectationResult, p as TransformTestUpdateInput, r as TransformTestCompact, s as TransformTestInput, t as TransformTest, u as TransformTestRow } from "./transform-test-CeMzDpUC.js";
58
+ import { a as TransformTestExpectation, c as TransformTestRefusalCode, d as TransformTestRunResult, f as TransformTestTable, i as TransformTestCreateInput, l as TransformTestResultColumn, m as isTransformTestRefusalCode, n as TransformTestColumn, o as TransformTestExpectationResult, p as TransformTestUpdateInput, r as TransformTestCompact, s as TransformTestInput, t as TransformTest, u as TransformTestRow } from "./transform-test-DROPvrkI.js";
59
59
  import { n as UploadUpdateAction, r as UploadUpdateResult, t as UploadResult } from "./upload-UPfZFdbH.js";
60
60
  import { n as CurrentUserCompact, t as CurrentUser } from "./user-Sqqv7rqh.js";
61
- import { n as createClient, t as MetabaseClient } from "./client-DdXLlH1B.js";
61
+ import { n as createClient, t as MetabaseClient } from "./client-cBi6_RQs.js";
62
62
  export { AbortError, ApiKey, ApiKeyCompact, ApiKeyCreateInput, type ApiKeyCredential, type Backoff, BreakingSource, BreakingSourceCompact, CARD_PAYLOAD_TYPE, COLLECTION_ITEM_FILTER_MODELS, COLLECTION_ITEM_MODELS, COLLECTION_PINNED_STATES, CapabilityError, Card, CardCompact, CardCreateInput, CardDetail, CardListFilter, CardQueryResult, CardQueryResultCompact, CardType, CardUpdateInput, ChainedRequestError, type ClientCredentials, type ClientOptions, Collection, CollectionAuthorityLevel, CollectionCompact, CollectionCreateInput, CollectionId, CollectionItem, CollectionItemCompact, CollectionItemFilterModel, CollectionItemModel, CollectionListFilter, CollectionNamespace, CollectionPinnedState, CollectionTreeNode, CollectionUpdateInput, CompiledQuery, CompiledQueryCompact, ConfigError, ContentTranslationUploadResult, CreateQueriesPermission, CreatedApiKey, CreatedApiKeyCompact, type Credential, type CredentialRefresher, CronUiDisplayType, CurrentUser, CurrentUserCompact, Dashboard, DashboardCompact, DashboardCopy, DashboardCopyCompact, DashboardCopyInput, DashboardCreateInput, DashboardDetail, DashboardLayoutInput, DashboardListFilter, DashboardParameterConstraints, DashboardTab, DashboardTabCompact, DashboardUncopiedCard, DashboardUpdateInput, Dashcard, DashcardCompact, DashcardDetail, DashcardPatchInput, DashcardVirtualCard, DashcardVisualizationSettings, DataAction, DataActionCompact, DataActionCreateInput, DataActionExecuteInput, DataActionExecuteResult, DataActionParameter, DataActionUpdateInput, DataApp, DataAppCompact, DataAppCreateInput, DataAppEntry, DataAppListFilter, DataAppSlug, DataAppSummary, DataAppUpdateInput, DataModelPermission, Database, DatabaseCompact, DatabaseGetInclude, DatabaseListInclude, DatabasePermissions, DatabaseSyncResult, DatabaseUpdateInput, DatabaseVirtualTable, DatabaseVirtualTableCompact, DatasetQuery, type DecodedResponseShapeDetail, DependencyEdge, DependencyEntity, DependencyEntityCompact, DependencyEntityData, DependencyErrorSourceType, DependencyFindingError, DependencyFindingErrorType, DependencyGraph, DependencyGraphCompact, DependencyItemsSortColumn, DependencyNode, DependencyNodeCompact, DependencyType, DependencyUsageType, DependentsSortColumn, DevelopmentBuild, Document, DocumentCompact, DocumentCopyInput, DocumentCreateInput, DocumentUpdateInput, DownloadPermission, EID_MODELS, Edition, EidModel, EidTranslateEntry, EidTranslateInput, EidTranslateResult, EidTranslateResultCompact, EmbeddingParams, Erd, ErdEdge, ErdField, ErdNode, type ErrorCategory, type ExpectedContentType, ExportFormat, FEATURE_NAMES, FEATURE_RULES, FailedResultError, type FeatureGap, type FeatureName, type FeatureRule, Features, Field, FieldBaseType, FieldCoercionStrategy, FieldCompact, FieldDataSensitivity, FieldDetail, type FieldErrors, FieldRemappedValue, FieldSearchMatches, FieldSemanticType, FieldSummary, FieldUpdateInput, FieldValues, FieldValuesCompact, FieldWithDataSensitivity, FieldWithDataSensitivityCompact, FieldWithTarget, Glossary, GlossaryCompact, GlossaryCreateInput, GlossaryUpdateInput, HttpError, type HttpErrorDetail, type HttpErrorKind, type HttpMethod, type HttpTimeoutDetail, InspectorField, InspectorTable, InternalError, KNOWN_RANGE, LensAlertTrigger, LensCard, LensCardDisplay, LensCardMetadata, LensComplexityLevel, LensDrillTrigger, LensMetadata, LensParams, LensSection, Library, LibraryChild, LibraryCompact, LibraryPublishTablesInput, type ListResult, METHOD_KEYS, METHOD_REQUIREMENTS, Measure, MeasureCompact, MeasureCreateInput, MeasureUpdateInput, type MetabaseClient, MetabaseError, type MethodKey, MetricAddableDimension, MetricAddableGroup, MetricBinning, MetricBreakoutColumn, MetricBreakoutValues, MetricDefinition, MetricDimension, MetricDimensionCompact, MetricDimensionGroup, MetricDimensionListing, MetricDimensionRef, MetricDimensionRefOptions, MetricDimensionSource, MetricDimensionStatus, type MetricFilterArgument, MetricFilterClause, MetricInstanceFilter, MetricLeafRef, MetricLeafType, MetricMappingTarget, MetricMathExpression, MetricMathOperator, MetricProjection, ModeratedItemType, ModerationReview, ModerationReviewCompact, ModerationReviewCreateInput, ModerationStatus, NetworkError, type NetworkErrorDetail, Notification, NotificationCardPayload, NotificationCardPayloadCompact, NotificationCardPayloadPatch, NotificationChannelType, NotificationCompact, NotificationCreateInput, NotificationHandler, NotificationHandlerCompact, NotificationPayloadType, NotificationRecipient, NotificationRecipientCompact, NotificationRecipientDetails, NotificationRecipientType, NotificationSendCondition, NotificationSubscription, NotificationSubscriptionCompact, NotificationSubscriptionType, NotificationUpdateInput, type OAuthCredential, type OAuthLoginDeps, type OAuthLoginInput, type Page, type PaginateOptions, Parameter, ParameterMapping, ParameterTarget, ParameterType, ParameterValues, ParameterValuesCompact, type ParseJsonOptions, type PartialWriteAnswer, type PartialWriteDetail, PartialWriteError, type PartialWriteReported, type PartialWriteUnreported, PermissionsGraph, PivotExportFormat, type PollOptions, type PollingTimeoutDetail, type PreflightRefused, type PreflightUnverified, Pulse, PulseCard, PulseCardCompact, PulseChannel, PulseChannelCompact, PulseChannelDetails, PulseChannelType, PulseCompact, PulseCreateInput, PulseRecipient, PulseRecipientCompact, PulseScheduleDay, PulseScheduleFrame, PulseScheduleType, PulseUpdateInput, PythonLibrary, PythonLibraryUpdateInput, PythonTestRunError, PythonTestRunInput, PythonTestRunOutput, PythonTestRunResult, QueryMetadata, QueryMetadataCompact, QueryMetadataTable, type QueryValue, ReleaseVersion, RemoteSyncState, type RemoteSyncedDependent, ReplacementCheck, ReplacementColumn, ReplacementColumnError, ReplacementColumnMapping, ReplacementEntityType, ReplacementError, ReplacementModelWithTransformInput, ReplacementRun, ReplacementRunCompact, ReplacementRunStarted, ReplacementRunStatus, ReplacementSourceInput, ReplacementSourceType, type RequestOptions, RequirementFailure, RequirementReason, ResponseShapeError, type ResponseShapeErrorDetail, ResultColumn, Revision, RevisionCompact, RevisionEntity, RevisionRevert, RevisionRevertInput, RevisionRow, type RuleMajor, SEARCH_MODELS, SearchModel, SearchResult, SearchResultCompact, Segment, SegmentCompact, SegmentCreateInput, SegmentUpdateInput, type ServerInfo, ServerProfile, type ServerTagResolver, ServerVersion, SessionProperties, Setting, SettingCompact, SettingValue, SetupInput, SetupResult, SetupResultCompact, Skew, type SkippedPreflight, Snippet, SnippetCompact, SnippetCreateInput, SnippetUpdateInput, SortDirection, StoredServerVersion, SyncBranchCreated, SyncDirtyItem, SyncDirtyItemCompact, SyncExportPreflight, SyncExportPreflightCompact, SyncExportResult, SyncForcePushCasualties, SyncImportResult, SyncMergeSummary, SyncRemoteChanges, SyncSettingsUpdateResult, SyncStashResult, SyncTask, SyncTaskCompact, SyncTaskStatus, SyncTaskType, SyncType, Table, TableBulkEditFields, TableBulkEditInput, TableBulkEditResult, TableCompact, TableDataLayer, TableDataLayerMedallion, TableDataLayerTier, TableDataSource, TableDatabase, TableFieldValuesResult, TableForeignKey, TableForeignKeyCompact, TableGetInclude, TableQueryMetadata, TableQueryMetadataCompact, TableSchemaId, TableSchemaSyncResult, TableSelectionResult, TableSelectors, TableUpdateInput, TableVisibilityType, TemporalUnit, Timeline, TimelineCompact, TimelineCreateInput, TimelineEvent, TimelineEventCompact, TimelineEventCreateInput, TimelineEventUpdateInput, TimelineIcon, TimelineUpdateInput, TimeoutError, type TimeoutErrorDetail, TipTapNode, TipTapNodeInput, TokenFeatures, type TokenGap, Transform, TransformCompact, TransformCreateInput, TransformDagDirection, TransformDagRunResult, TransformDagTransform, TransformInspection, TransformInspectionStatus, TransformJob, TransformJobActiveResult, TransformJobCompact, TransformJobCreateInput, TransformJobRunResult, TransformJobUpdateInput, TransformLens, TransformLensQueryInput, TransformMemberRun, TransformMemberRunCompact, TransformRun, TransformRunCompact, TransformRunMethod, TransformRunResult, TransformRunStatus, TransformRunSummary, TransformRunSummaryCompact, TransformRunSummarySortColumn, TransformRunSummaryType, TransformSourceTableEntry, TransformSourceTableEntryInput, TransformTag, TransformTagCompact, TransformTagCreateInput, TransformTagUpdateInput, TransformTarget, TransformTest, TransformTestColumn, TransformTestCompact, TransformTestCreateInput, TransformTestExpectation, TransformTestExpectationResult, TransformTestInput, TransformTestRefusalCode, TransformTestResultColumn, TransformTestRow, TransformTestRunResult, TransformTestTable, TransformTestUpdateInput, TransformUpdateInput, type Transport, type TransportRequestOptions, UnknownError, type UnknownErrorDetail, UnreadableCard, UploadResult, UploadUpdateAction, UploadUpdateResult, ValidationError, type ValidationErrorDetail, ValuesQueryType, ValuesSourceConfig, ValuesSourceType, type VersionGap, ViewDataPermission, VirtualField, VirtualFieldCompact, VirtualTable, VirtualTableCompact, VisualizationSettings, YesNoPermission, type ZodResponseShapeDetail, assertEndpointOrigin, checkFeatures, createClient, createServerProfile, createTransport, dataActionSchema, describeVersion, displayUrl, editionFromTag, errorMessage, evaluateFeatures, featureFailures, featureGap, hasDataSensitivity, isFeatureName, isFileNotFoundError, isHttpNotFound, isMethodKey, isSyncTaskFailed, isSyncTaskTerminal, isTransformRunFailed, isTransformRunTerminal, isTransformTestRefusalCode, methodRequirements, normalizeUrl, oauthLogin, parseJson, parseTag, pollUntil, probeServer, refreshOAuthCredential, revokeOAuthCredential, ruleGap, toMetabaseError };
package/dist/index.js CHANGED
@@ -59,6 +59,6 @@ import { TransformTest, TransformTestColumn, TransformTestCompact, TransformTest
59
59
  import { UploadResult, UploadUpdateAction, UploadUpdateResult } from "./domain/upload.js";
60
60
  import { CurrentUser, CurrentUserCompact } from "./domain/user.js";
61
61
  import { createClient } from "./client.js";
62
- import { t as oauthLogin } from "./oauth-login-D734Jvbq.js";
62
+ import { t as oauthLogin } from "./oauth-login--tDagiZu.js";
63
63
  import { refreshOAuthCredential, revokeOAuthCredential } from "./auth/oauth-session.js";
64
64
  export { AbortError, ApiKey, ApiKeyCompact, ApiKeyCreateInput, BreakingSource, BreakingSourceCompact, CARD_PAYLOAD_TYPE, COLLECTION_ITEM_FILTER_MODELS, COLLECTION_ITEM_MODELS, COLLECTION_PINNED_STATES, CapabilityError, Card, CardCompact, CardCreateInput, CardDetail, CardListFilter, CardQueryResult, CardQueryResultCompact, CardType, CardUpdateInput, ChainedRequestError, Collection, CollectionAuthorityLevel, CollectionCompact, CollectionCreateInput, CollectionId, CollectionItem, CollectionItemCompact, CollectionItemFilterModel, CollectionItemModel, CollectionListFilter, CollectionNamespace, CollectionPinnedState, CollectionTreeNode, CollectionUpdateInput, CompiledQuery, CompiledQueryCompact, ConfigError, ContentTranslationUploadResult, CreateQueriesPermission, CreatedApiKey, CreatedApiKeyCompact, CronUiDisplayType, CurrentUser, CurrentUserCompact, Dashboard, DashboardCompact, DashboardCopy, DashboardCopyCompact, DashboardCopyInput, DashboardCreateInput, DashboardDetail, DashboardLayoutInput, DashboardListFilter, DashboardParameterConstraints, DashboardTab, DashboardTabCompact, DashboardUncopiedCard, DashboardUpdateInput, Dashcard, DashcardCompact, DashcardDetail, DashcardPatchInput, DashcardVirtualCard, DashcardVisualizationSettings, DataAction, DataActionCompact, DataActionCreateInput, DataActionExecuteInput, DataActionExecuteResult, DataActionParameter, DataActionUpdateInput, DataApp, DataAppCompact, DataAppCreateInput, DataAppEntry, DataAppListFilter, DataAppSlug, DataAppSummary, DataAppUpdateInput, DataModelPermission, Database, DatabaseCompact, DatabaseGetInclude, DatabaseListInclude, DatabasePermissions, DatabaseSyncResult, DatabaseUpdateInput, DatabaseVirtualTable, DatabaseVirtualTableCompact, DatasetQuery, DependencyEdge, DependencyEntity, DependencyEntityCompact, DependencyEntityData, DependencyErrorSourceType, DependencyFindingError, DependencyFindingErrorType, DependencyGraph, DependencyGraphCompact, DependencyItemsSortColumn, DependencyNode, DependencyNodeCompact, DependencyType, DependencyUsageType, DependentsSortColumn, DevelopmentBuild, Document, DocumentCompact, DocumentCopyInput, DocumentCreateInput, DocumentUpdateInput, DownloadPermission, EID_MODELS, Edition, EidModel, EidTranslateEntry, EidTranslateInput, EidTranslateResult, EidTranslateResultCompact, EmbeddingParams, Erd, ErdEdge, ErdField, ErdNode, ExportFormat, FEATURE_NAMES, FEATURE_RULES, FailedResultError, Features, Field, FieldBaseType, FieldCoercionStrategy, FieldCompact, FieldDataSensitivity, FieldDetail, FieldRemappedValue, FieldSearchMatches, FieldSemanticType, FieldSummary, FieldUpdateInput, FieldValues, FieldValuesCompact, FieldWithDataSensitivity, FieldWithDataSensitivityCompact, FieldWithTarget, Glossary, GlossaryCompact, GlossaryCreateInput, GlossaryUpdateInput, HttpError, InspectorField, InspectorTable, InternalError, KNOWN_RANGE, LensAlertTrigger, LensCard, LensCardDisplay, LensCardMetadata, LensComplexityLevel, LensDrillTrigger, LensMetadata, LensParams, LensSection, Library, LibraryChild, LibraryCompact, LibraryPublishTablesInput, METHOD_KEYS, METHOD_REQUIREMENTS, Measure, MeasureCompact, MeasureCreateInput, MeasureUpdateInput, MetabaseError, MetricAddableDimension, MetricAddableGroup, MetricBinning, MetricBreakoutColumn, MetricBreakoutValues, MetricDefinition, MetricDimension, MetricDimensionCompact, MetricDimensionGroup, MetricDimensionListing, MetricDimensionRef, MetricDimensionRefOptions, MetricDimensionSource, MetricDimensionStatus, MetricFilterClause, MetricInstanceFilter, MetricLeafRef, MetricLeafType, MetricMappingTarget, MetricMathExpression, MetricMathOperator, MetricProjection, ModeratedItemType, ModerationReview, ModerationReviewCompact, ModerationReviewCreateInput, ModerationStatus, NetworkError, Notification, NotificationCardPayload, NotificationCardPayloadCompact, NotificationCardPayloadPatch, NotificationChannelType, NotificationCompact, NotificationCreateInput, NotificationHandler, NotificationHandlerCompact, NotificationPayloadType, NotificationRecipient, NotificationRecipientCompact, NotificationRecipientDetails, NotificationRecipientType, NotificationSendCondition, NotificationSubscription, NotificationSubscriptionCompact, NotificationSubscriptionType, NotificationUpdateInput, Parameter, ParameterMapping, ParameterTarget, ParameterType, ParameterValues, ParameterValuesCompact, PartialWriteError, PermissionsGraph, PivotExportFormat, Pulse, PulseCard, PulseCardCompact, PulseChannel, PulseChannelCompact, PulseChannelDetails, PulseChannelType, PulseCompact, PulseCreateInput, PulseRecipient, PulseRecipientCompact, PulseScheduleDay, PulseScheduleFrame, PulseScheduleType, PulseUpdateInput, PythonLibrary, PythonLibraryUpdateInput, PythonTestRunError, PythonTestRunInput, PythonTestRunOutput, PythonTestRunResult, QueryMetadata, QueryMetadataCompact, QueryMetadataTable, ReleaseVersion, RemoteSyncState, ReplacementCheck, ReplacementColumn, ReplacementColumnError, ReplacementColumnMapping, ReplacementEntityType, ReplacementError, ReplacementModelWithTransformInput, ReplacementRun, ReplacementRunCompact, ReplacementRunStarted, ReplacementRunStatus, ReplacementSourceInput, ReplacementSourceType, RequirementFailure, RequirementReason, ResponseShapeError, ResultColumn, Revision, RevisionCompact, RevisionEntity, RevisionRevert, RevisionRevertInput, RevisionRow, SEARCH_MODELS, SearchModel, SearchResult, SearchResultCompact, Segment, SegmentCompact, SegmentCreateInput, SegmentUpdateInput, ServerProfile, ServerVersion, SessionProperties, Setting, SettingCompact, SettingValue, SetupInput, SetupResult, SetupResultCompact, Skew, Snippet, SnippetCompact, SnippetCreateInput, SnippetUpdateInput, SortDirection, StoredServerVersion, SyncBranchCreated, SyncDirtyItem, SyncDirtyItemCompact, SyncExportPreflight, SyncExportPreflightCompact, SyncExportResult, SyncForcePushCasualties, SyncImportResult, SyncMergeSummary, SyncRemoteChanges, SyncSettingsUpdateResult, SyncStashResult, SyncTask, SyncTaskCompact, SyncTaskStatus, SyncTaskType, SyncType, Table, TableBulkEditFields, TableBulkEditInput, TableBulkEditResult, TableCompact, TableDataLayer, TableDataLayerMedallion, TableDataLayerTier, TableDataSource, TableDatabase, TableFieldValuesResult, TableForeignKey, TableForeignKeyCompact, TableGetInclude, TableQueryMetadata, TableQueryMetadataCompact, TableSchemaId, TableSchemaSyncResult, TableSelectionResult, TableSelectors, TableUpdateInput, TableVisibilityType, TemporalUnit, Timeline, TimelineCompact, TimelineCreateInput, TimelineEvent, TimelineEventCompact, TimelineEventCreateInput, TimelineEventUpdateInput, TimelineIcon, TimelineUpdateInput, TimeoutError, TipTapNode, TipTapNodeInput, TokenFeatures, Transform, TransformCompact, TransformCreateInput, TransformDagDirection, TransformDagRunResult, TransformDagTransform, TransformInspection, TransformInspectionStatus, TransformJob, TransformJobActiveResult, TransformJobCompact, TransformJobCreateInput, TransformJobRunResult, TransformJobUpdateInput, TransformLens, TransformLensQueryInput, TransformMemberRun, TransformMemberRunCompact, TransformRun, TransformRunCompact, TransformRunMethod, TransformRunResult, TransformRunStatus, TransformRunSummary, TransformRunSummaryCompact, TransformRunSummarySortColumn, TransformRunSummaryType, TransformSourceTableEntry, TransformSourceTableEntryInput, TransformTag, TransformTagCompact, TransformTagCreateInput, TransformTagUpdateInput, TransformTarget, TransformTest, TransformTestColumn, TransformTestCompact, TransformTestCreateInput, TransformTestExpectation, TransformTestExpectationResult, TransformTestInput, TransformTestRefusalCode, TransformTestResultColumn, TransformTestRow, TransformTestRunResult, TransformTestTable, TransformTestUpdateInput, TransformUpdateInput, UnknownError, UnreadableCard, UploadResult, UploadUpdateAction, UploadUpdateResult, ValidationError, ValuesQueryType, ValuesSourceConfig, ValuesSourceType, ViewDataPermission, VirtualField, VirtualFieldCompact, VirtualTable, VirtualTableCompact, VisualizationSettings, YesNoPermission, assertEndpointOrigin, checkFeatures, createClient, createServerProfile, createTransport, dataActionSchema, describeVersion, displayUrl, editionFromTag, errorMessage, evaluateFeatures, featureFailures, featureGap, hasDataSensitivity, isFeatureName, isFileNotFoundError, isHttpNotFound, isMethodKey, isSyncTaskFailed, isSyncTaskTerminal, isTransformRunFailed, isTransformRunTerminal, isTransformTestRefusalCode, methodRequirements, normalizeUrl, oauthLogin, parseJson, parseTag, pollUntil, probeServer, refreshOAuthCredential, revokeOAuthCredential, ruleGap, toMetabaseError };
@@ -1,4 +1,4 @@
1
- import { W as ConfigError, dt as ValidationError } from "./transport-BsXqRujn.js";
1
+ import { W as ConfigError, dt as ValidationError } from "./transport-CS11mEqI.js";
2
2
  import { ZodType } from "zod";
3
3
  //#region src/json.d.ts
4
4
  declare const JSON_CONTENT_TYPE = "application/json";
package/dist/json.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as parseJsonOrPlain, i as parseJson, n as ParseJsonOptions, o as parseJsonResult, r as ParseJsonResult, t as JSON_CONTENT_TYPE } from "./json-BksZpXDC.js";
1
+ import { a as parseJsonOrPlain, i as parseJson, n as ParseJsonOptions, o as parseJsonResult, r as ParseJsonResult, t as JSON_CONTENT_TYPE } from "./json-DwGOvRtS.js";
2
2
  export { JSON_CONTENT_TYPE, ParseJsonOptions, ParseJsonResult, parseJson, parseJsonOrPlain, parseJsonResult };
@@ -1,4 +1,4 @@
1
- import { f as RequestOptions, h as Transport } from "./transport-BsXqRujn.js";
1
+ import { f as RequestOptions, h as Transport } from "./transport-CS11mEqI.js";
2
2
  import { t as ListResult } from "./list-BT_bBm9Z.js";
3
3
  //#region src/resources/measure.d.ts
4
4
  interface MeasureArchiveParams {
@@ -1598,6 +1598,14 @@ declare const MetricDimensionCompact: z.ZodObject<{
1598
1598
  name: z.ZodNullable<z.ZodString>;
1599
1599
  description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1600
1600
  default: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
1601
+ group: z.ZodOptional<z.ZodObject<{
1602
+ id: z.ZodString;
1603
+ type: z.ZodEnum<{
1604
+ main: "main";
1605
+ connection: "connection";
1606
+ }>;
1607
+ display_name: z.ZodString;
1608
+ }, z.core.$loose>>;
1601
1609
  display_name: z.ZodNullable<z.ZodString>;
1602
1610
  effective_type: z.ZodNullable<z.ZodEnum<{
1603
1611
  "type/*": "type/*";
@@ -1763,14 +1771,6 @@ declare const MetricDimensionCompact: z.ZodObject<{
1763
1771
  "status/active": "status/active";
1764
1772
  "status/orphaned": "status/orphaned";
1765
1773
  }>>;
1766
- group: z.ZodOptional<z.ZodObject<{
1767
- id: z.ZodString;
1768
- type: z.ZodEnum<{
1769
- main: "main";
1770
- connection: "connection";
1771
- }>;
1772
- display_name: z.ZodString;
1773
- }, z.core.$loose>>;
1774
1774
  }, z.core.$strip>;
1775
1775
  type MetricDimensionCompact = z.infer<typeof MetricDimensionCompact>;
1776
1776
  declare const MetricMappingTarget: z.ZodTuple<[z.ZodString, z.ZodObject<{}, z.core.$loose>], z.ZodUnknown>;
@@ -28,15 +28,15 @@ declare const ModerationReview: z.ZodObject<{
28
28
  type ModerationReview = z.infer<typeof ModerationReview>;
29
29
  declare const ModerationReviewCompact: z.ZodObject<{
30
30
  id: z.ZodNumber;
31
- text: z.ZodNullable<z.ZodString>;
32
- status: z.ZodNullable<z.ZodEnum<{
33
- verified: "verified";
34
- }>>;
35
31
  moderated_item_type: z.ZodEnum<{
36
32
  card: "card";
37
33
  dashboard: "dashboard";
38
34
  }>;
39
35
  moderated_item_id: z.ZodNumber;
36
+ status: z.ZodNullable<z.ZodEnum<{
37
+ verified: "verified";
38
+ }>>;
39
+ text: z.ZodNullable<z.ZodString>;
40
40
  most_recent: z.ZodBoolean;
41
41
  }, z.core.$strip>;
42
42
  type ModerationReviewCompact = z.infer<typeof ModerationReviewCompact>;
@@ -96,12 +96,12 @@ declare const NotificationHandler: z.ZodObject<{
96
96
  }, z.core.$loose>;
97
97
  type NotificationHandler = z.infer<typeof NotificationHandler>;
98
98
  declare const NotificationHandlerCompact: z.ZodObject<{
99
+ channel_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
99
100
  channel_type: z.ZodEnum<{
100
101
  "channel/email": "channel/email";
101
102
  "channel/slack": "channel/slack";
102
103
  "channel/http": "channel/http";
103
104
  }>;
104
- channel_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
105
105
  recipients: z.ZodOptional<z.ZodArray<z.ZodObject<{
106
106
  type: z.ZodEnum<{
107
107
  "notification-recipient/user": "notification-recipient/user";
@@ -314,12 +314,12 @@ declare const NotificationCompact: z.ZodObject<{
314
314
  cron_schedule: z.ZodOptional<z.ZodNullable<z.ZodString>>;
315
315
  }, z.core.$strip>>;
316
316
  handlers: z.ZodArray<z.ZodObject<{
317
+ channel_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
317
318
  channel_type: z.ZodEnum<{
318
319
  "channel/email": "channel/email";
319
320
  "channel/slack": "channel/slack";
320
321
  "channel/http": "channel/http";
321
322
  }>;
322
- channel_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
323
323
  recipients: z.ZodOptional<z.ZodArray<z.ZodObject<{
324
324
  type: z.ZodEnum<{
325
325
  "notification-recipient/user": "notification-recipient/user";
@@ -1,6 +1,6 @@
1
- import { f as RequestOptions, h as Transport } from "./transport-BsXqRujn.js";
1
+ import { f as RequestOptions, h as Transport } from "./transport-CS11mEqI.js";
2
2
  import { t as ListResult } from "./list-BT_bBm9Z.js";
3
- import { l as NotificationCreateInput, r as Notification, t as AnyNotification, x as NotificationUpdateInput } from "./notification-D1MThyKE.js";
3
+ import { l as NotificationCreateInput, r as Notification, t as AnyNotification, x as NotificationUpdateInput } from "./notification-BY2JEjKp.js";
4
4
  //#region src/resources/notification.d.ts
5
5
  interface NotificationListParams {
6
6
  card_id?: number | undefined;
@@ -26,6 +26,7 @@ interface ClientRegistration {
26
26
  redirectUri: string;
27
27
  clientName: string;
28
28
  userAgent: string;
29
+ signal?: AbortSignal | undefined;
29
30
  }
30
31
  interface CodeExchange {
31
32
  tokenEndpoint: string;
@@ -34,6 +35,7 @@ interface CodeExchange {
34
35
  clientId: string;
35
36
  codeVerifier: string;
36
37
  userAgent: string;
38
+ signal?: AbortSignal | undefined;
37
39
  }
38
40
  interface TokenRefresh {
39
41
  tokenEndpoint: string;
@@ -48,8 +50,8 @@ interface TokenRevocation {
48
50
  userAgent: string;
49
51
  }
50
52
  declare const OAUTH_UNSUPPORTED_MESSAGE = "this Metabase does not support OAuth login (requires Metabase v63 or newer)";
51
- declare function tryDiscoverMetadata(baseUrl: string, userAgent: string): Promise<OAuthServerMetadata | null>;
52
- declare function discoverLoginMetadata(baseUrl: string, userAgent: string): Promise<OAuthServerMetadata>;
53
+ declare function tryDiscoverMetadata(baseUrl: string, userAgent: string, signal?: AbortSignal): Promise<OAuthServerMetadata | null>;
54
+ declare function discoverLoginMetadata(baseUrl: string, userAgent: string, signal?: AbortSignal): Promise<OAuthServerMetadata>;
53
55
  declare function discoverMetadata(baseUrl: string, userAgent: string): Promise<OAuthServerMetadata>;
54
56
  declare function registerClient(input: ClientRegistration): Promise<RegisteredClient>;
55
57
  declare function exchangeCode(input: CodeExchange): Promise<OAuthTokens>;
@@ -1,4 +1,5 @@
1
1
  import { ConfigError } from "./errors.js";
2
+ import { throwIfAborted, untilAborted, whenAborted } from "./signal.js";
2
3
  import { oauthCredentialFromTokens } from "./auth/credential.js";
3
4
  import { OAUTH_SCOPE, discoverLoginMetadata, exchangeCode, registerClient } from "./http/oauth.js";
4
5
  import { createServer } from "node:http";
@@ -39,11 +40,13 @@ function serverPort(server) {
39
40
  if (address === null || typeof address === "string") throw new ConfigError("could not determine loopback callback port");
40
41
  return address.port;
41
42
  }
42
- function startCallbackServer(expectedState, timeoutMs = DEFAULT_TIMEOUT_MS) {
43
+ function startCallbackServer(expectedState, timeoutMs = DEFAULT_TIMEOUT_MS, signal) {
43
44
  return new Promise((resolveServer, rejectServer) => {
45
+ throwIfAborted(signal);
44
46
  let settle = null;
45
47
  let fail = null;
46
48
  let outcome = null;
49
+ let closed = false;
47
50
  const server = createServer((req, res) => {
48
51
  const rawUrl = req.url ?? "";
49
52
  if (!isCallbackPath(rawUrl)) {
@@ -82,11 +85,28 @@ function startCallbackServer(expectedState, timeoutMs = DEFAULT_TIMEOUT_MS) {
82
85
  deliver(new ConfigError(`timed out waiting for browser login after ${timeoutMs}ms`));
83
86
  }, timeoutMs);
84
87
  timer.unref();
88
+ const stopWatchingAbort = whenAborted(signal, (reason) => {
89
+ rejectServer(reason);
90
+ deliver(reason);
91
+ close();
92
+ });
93
+ function close() {
94
+ closed = true;
95
+ clearTimeout(timer);
96
+ stopWatchingAbort();
97
+ server.close();
98
+ server.closeAllConnections();
99
+ }
85
100
  server.on("error", (error) => {
86
101
  rejectServer(error);
87
102
  deliver(error);
103
+ close();
88
104
  });
89
105
  server.listen(0, LOOPBACK_HOST, () => {
106
+ if (closed) {
107
+ server.close();
108
+ return;
109
+ }
90
110
  const port = serverPort(server);
91
111
  resolveServer({
92
112
  redirectUri: `http://${LOOPBACK_HOST}:${port}${CALLBACK_PATH}`,
@@ -101,11 +121,7 @@ function startCallbackServer(expectedState, timeoutMs = DEFAULT_TIMEOUT_MS) {
101
121
  fail = reject;
102
122
  });
103
123
  },
104
- close() {
105
- clearTimeout(timer);
106
- server.close();
107
- server.closeAllConnections();
108
- }
124
+ close
109
125
  });
110
126
  });
111
127
  });
@@ -139,14 +155,15 @@ async function resolveClientId(input, registrationEndpoint, redirectUri) {
139
155
  registrationEndpoint,
140
156
  redirectUri,
141
157
  clientName: input.clientName,
142
- userAgent: input.userAgent
158
+ userAgent: input.userAgent,
159
+ signal: input.signal
143
160
  })).client_id;
144
161
  }
145
162
  async function oauthLogin(input, deps) {
146
- const metadata = input.metadata ?? await discoverLoginMetadata(input.baseUrl, input.userAgent);
163
+ const metadata = input.metadata ?? await discoverLoginMetadata(input.baseUrl, input.userAgent, input.signal);
147
164
  const pkce = generatePkce();
148
165
  const state = randomState();
149
- const server = await startCallbackServer(state, input.timeoutMs);
166
+ const server = await startCallbackServer(state, input.timeoutMs, input.signal);
150
167
  try {
151
168
  const clientId = await resolveClientId(input, metadata.registration_endpoint, server.redirectUri);
152
169
  const authorizeUrl = buildAuthorizeUrl(metadata.authorization_endpoint, {
@@ -158,7 +175,7 @@ async function oauthLogin(input, deps) {
158
175
  state,
159
176
  scope: OAUTH_SCOPE
160
177
  });
161
- const opened = await deps.openBrowser(authorizeUrl);
178
+ const opened = await untilAborted(deps.openBrowser(authorizeUrl), input.signal);
162
179
  deps.onAuthorizeUrl(authorizeUrl, opened);
163
180
  const callback = await server.waitForCallback();
164
181
  const tokens = await exchangeCode({
@@ -167,7 +184,8 @@ async function oauthLogin(input, deps) {
167
184
  redirectUri: server.redirectUri,
168
185
  clientId,
169
186
  codeVerifier: pkce.verifier,
170
- userAgent: input.userAgent
187
+ userAgent: input.userAgent,
188
+ signal: input.signal
171
189
  });
172
190
  if (tokens.refresh_token === void 0) throw new ConfigError("token endpoint did not return a refresh token");
173
191
  return oauthCredentialFromTokens(tokens, tokens.refresh_token, clientId, deps.now());