@metabase/client 0.1.0 → 0.1.1

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 (204) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +6 -4
  3. package/dist/api-key-DJeN1-7G.d.ts +46 -0
  4. package/dist/{card-B6merEUN.d.ts → card-BxBzr5Uj.d.ts} +11 -11
  5. package/dist/{card-BZx4NSr-.d.ts → card-DN0sLkCG.d.ts} +4 -4
  6. package/dist/{client-DNRvXFRm.d.ts → client-DdXLlH1B.d.ts} +270 -166
  7. package/dist/client.d.ts +1 -1
  8. package/dist/client.js +4 -0
  9. package/dist/{collection-Bib61WiV.d.ts → collection-DGnTvD6R.d.ts} +20 -20
  10. package/dist/{collection-CqtGPi4W.d.ts → collection-fFahL-ub.d.ts} +18 -4
  11. package/dist/{dashboard-XTe46250.d.ts → dashboard-CM7RmNeE.d.ts} +2 -2
  12. package/dist/{dashboard-z9i1VUZC.d.ts → dashboard-DtLXVgtf.d.ts} +21 -13
  13. package/dist/{data-action-rS27f2Ji.d.ts → data-action-CkXVrOUH.d.ts} +7 -5
  14. package/dist/data-app-CqP5_fpB.d.ts +76 -0
  15. package/dist/{database-DqTespfa.d.ts → database-B0JNZjDN.d.ts} +3 -3
  16. package/dist/{database-BLUMlywE.d.ts → database-BxqDmfcj.d.ts} +9 -9
  17. package/dist/{dataset-C6lX1-cr.d.ts → dataset-BBNGPVec.d.ts} +22 -22
  18. package/dist/{dataset-Cj3XuKLe.d.ts → dataset-BUirJ1rO.d.ts} +3 -3
  19. package/dist/{dependency-fN5_7a22.d.ts → dependency-CzpXmeu7.d.ts} +26 -26
  20. package/dist/{dependency-D8Qs5Xdx.d.ts → dependency-arB8Cr2H.d.ts} +147 -95
  21. package/dist/{document-oZNDbDfx.d.ts → document-tLd6pYWe.d.ts} +2 -2
  22. package/dist/domain/api-key.d.ts +2 -0
  23. package/dist/domain/api-key.js +31 -0
  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 +2 -2
  27. package/dist/domain/dashboard.js +21 -4
  28. package/dist/domain/data-action.d.ts +2 -2
  29. package/dist/domain/data-action.js +8 -2
  30. package/dist/domain/data-app.d.ts +2 -0
  31. package/dist/domain/data-app.js +52 -0
  32. package/dist/domain/database.d.ts +1 -1
  33. package/dist/domain/dataset.d.ts +1 -1
  34. package/dist/domain/dependency.d.ts +1 -1
  35. package/dist/domain/dependency.js +6 -3
  36. package/dist/domain/document.d.ts +1 -1
  37. package/dist/domain/eid-translation.d.ts +1 -1
  38. package/dist/domain/embedding.d.ts +1 -1
  39. package/dist/domain/field.d.ts +2 -2
  40. package/dist/domain/field.js +8 -2
  41. package/dist/domain/git-sync.d.ts +1 -1
  42. package/dist/domain/library.d.ts +2 -2
  43. package/dist/domain/library.js +8 -2
  44. package/dist/domain/measure.d.ts +1 -1
  45. package/dist/domain/measure.js +3 -1
  46. package/dist/domain/metric.d.ts +1 -1
  47. package/dist/domain/notification.d.ts +2 -2
  48. package/dist/domain/notification.js +6 -1
  49. package/dist/domain/pulse.d.ts +2 -2
  50. package/dist/domain/pulse.js +10 -3
  51. package/dist/domain/replacement.d.ts +1 -1
  52. package/dist/domain/revision.d.ts +2 -2
  53. package/dist/domain/revision.js +29 -2
  54. package/dist/domain/search.d.ts +1 -1
  55. package/dist/domain/segment.d.ts +1 -1
  56. package/dist/domain/segment.js +3 -1
  57. package/dist/domain/setup.d.ts +1 -1
  58. package/dist/domain/setup.js +1 -1
  59. package/dist/domain/snippet.d.ts +1 -1
  60. package/dist/domain/table.d.ts +2 -2
  61. package/dist/domain/table.js +35 -4
  62. package/dist/domain/timeline.d.ts +1 -1
  63. package/dist/domain/transform-inspector.d.ts +1 -1
  64. package/dist/domain/transform-job.d.ts +2 -2
  65. package/dist/domain/transform-job.js +8 -2
  66. package/dist/domain/transform-python.d.ts +2 -2
  67. package/dist/domain/transform-python.js +15 -3
  68. package/dist/domain/transform-tag.d.ts +1 -1
  69. package/dist/domain/transform-test.d.ts +1 -1
  70. package/dist/domain/transform.d.ts +2 -2
  71. package/dist/domain/transform.js +76 -7
  72. package/dist/domain/user.d.ts +1 -1
  73. package/dist/domain/user.js +1 -1
  74. package/dist/{eid-translation-nuhr8St2.d.ts → eid-translation-CH6NPWd-.d.ts} +15 -15
  75. package/dist/{embedding-Cz3RUJYf.d.ts → embedding-oU3gqfgX.d.ts} +1 -1
  76. package/dist/{erd-BujD227Y.d.ts → erd-CbV7xvAc.d.ts} +1 -1
  77. package/dist/errors.d.ts +1 -1
  78. package/dist/{features-CnFkUCj2.d.ts → features-SMSfJhB6.d.ts} +36 -2
  79. package/dist/{field-Bqn10Fq_.d.ts → field-D1Pfk-0S.d.ts} +2 -2
  80. package/dist/{field-BCRO19mk.d.ts → field-p9Rme2zB.d.ts} +6 -4
  81. package/dist/{git-sync-gAMKsZgN.d.ts → git-sync-BTf1aYHr.d.ts} +3 -3
  82. package/dist/{git-sync-DNXrNVCW.d.ts → git-sync-C99SVdJ9.d.ts} +2 -2
  83. package/dist/{glossary-CqFlzW33.d.ts → glossary-DFvnz-E5.d.ts} +1 -1
  84. package/dist/http/errors.d.ts +1 -1
  85. package/dist/http/transport.d.ts +1 -1
  86. package/dist/index.d.ts +43 -41
  87. package/dist/index.js +7 -5
  88. package/dist/input-gate-registry-Dai7SfXb.js +14 -0
  89. package/dist/input-gates-DwKoTJVQ.d.ts +28 -0
  90. package/dist/{json-CZvjc3--.d.ts → json-BksZpXDC.d.ts} +1 -1
  91. package/dist/json-pointer.d.ts +2 -1
  92. package/dist/json-pointer.js +4 -1
  93. package/dist/json.d.ts +1 -1
  94. package/dist/{library-Cx9h_RkU.d.ts → library-B9pEq7qP.d.ts} +8 -6
  95. package/dist/{measure-KuXdjZYJ.d.ts → measure-CgH14YQZ.d.ts} +1 -1
  96. package/dist/{measure-CuMqPbQX.d.ts → measure-lPz8qnwz.d.ts} +1 -1
  97. package/dist/{metric-yvehaVCS.d.ts → metric-DcYloqOQ.d.ts} +2 -2
  98. package/dist/{notification-BiegPoSD.d.ts → notification-Cp5GJErS.d.ts} +3 -3
  99. package/dist/{notification-BT2TDAd_.d.ts → notification-D1MThyKE.d.ts} +66 -2
  100. package/dist/{paginate-DZWvWvbm.d.ts → paginate-COuL0Gzl.d.ts} +1 -1
  101. package/dist/paginate.d.ts +1 -1
  102. package/dist/{pulse-CMc1Rwdj.d.ts → pulse-0LG3K6qO.d.ts} +7 -5
  103. package/dist/{pulse-dylocLd9.d.ts → pulse-BzKmz3Yn.d.ts} +2 -2
  104. package/dist/{replacement-CyvtbxGg.d.ts → replacement-BGyggp-G.d.ts} +5 -5
  105. package/dist/{replacement-S9U3gApY.d.ts → replacement-CVebCuNp.d.ts} +5 -5
  106. package/dist/{requirement-check-CIA5IHC1.d.ts → requirement-check-glU7wqhQ.d.ts} +2 -2
  107. package/dist/{requirements-C0txASN8.d.ts → requirements-Dx_ZVzl7.d.ts} +11 -1
  108. package/dist/resources/api-key.d.ts +11 -0
  109. package/dist/resources/api-key.js +35 -0
  110. package/dist/resources/card.d.ts +1 -1
  111. package/dist/resources/collection.d.ts +1 -1
  112. package/dist/resources/collection.js +29 -5
  113. package/dist/resources/content-translation.d.ts +1 -1
  114. package/dist/resources/content-translation.js +1 -1
  115. package/dist/resources/dashboard.d.ts +1 -1
  116. package/dist/resources/dashboard.js +8 -5
  117. package/dist/resources/data-action.d.ts +3 -48
  118. package/dist/resources/data-action.js +9 -9
  119. package/dist/resources/data-app.d.ts +112 -0
  120. package/dist/resources/data-app.js +75 -0
  121. package/dist/resources/database.d.ts +1 -1
  122. package/dist/resources/dataset.d.ts +1 -1
  123. package/dist/resources/dependency.d.ts +1 -1
  124. package/dist/resources/dependency.js +13 -7
  125. package/dist/resources/document.d.ts +2 -2
  126. package/dist/resources/eid-translation.d.ts +2 -2
  127. package/dist/resources/erd.d.ts +1 -1
  128. package/dist/resources/field.d.ts +1 -1
  129. package/dist/resources/field.js +3 -2
  130. package/dist/resources/git-sync.d.ts +1 -1
  131. package/dist/resources/git-sync.js +1 -1
  132. package/dist/resources/glossary.d.ts +1 -1
  133. package/dist/resources/library.d.ts +4 -4
  134. package/dist/resources/library.js +2 -2
  135. package/dist/resources/measure.d.ts +1 -1
  136. package/dist/resources/metric.d.ts +1 -1
  137. package/dist/resources/moderation-review.d.ts +1 -1
  138. package/dist/resources/notification.d.ts +1 -1
  139. package/dist/resources/notification.js +2 -2
  140. package/dist/resources/optional-parsed.d.ts +1 -1
  141. package/dist/resources/permission.d.ts +1 -1
  142. package/dist/resources/pivot-export.d.ts +1 -1
  143. package/dist/resources/pulse.d.ts +1 -1
  144. package/dist/resources/pulse.js +3 -2
  145. package/dist/resources/replacement.d.ts +1 -1
  146. package/dist/resources/revision.d.ts +3 -3
  147. package/dist/resources/revision.js +5 -10
  148. package/dist/resources/search.d.ts +1 -1
  149. package/dist/resources/search.js +23 -2
  150. package/dist/resources/segment.d.ts +1 -1
  151. package/dist/resources/setting.d.ts +1 -1
  152. package/dist/resources/setup.d.ts +2 -2
  153. package/dist/resources/snippet.d.ts +1 -1
  154. package/dist/resources/table.d.ts +1 -1
  155. package/dist/resources/table.js +9 -10
  156. package/dist/resources/timeline-event.d.ts +2 -2
  157. package/dist/resources/timeline.d.ts +1 -1
  158. package/dist/resources/transform-dag-run.d.ts +1 -1
  159. package/dist/resources/transform-inspector.d.ts +2 -2
  160. package/dist/resources/transform-job.d.ts +1 -1
  161. package/dist/resources/transform-python.d.ts +11 -4
  162. package/dist/resources/transform-python.js +3 -2
  163. package/dist/resources/transform-tag.d.ts +1 -1
  164. package/dist/resources/transform-test.d.ts +1 -1
  165. package/dist/resources/transform.d.ts +1 -1
  166. package/dist/resources/transform.js +13 -3
  167. package/dist/resources/upload.d.ts +1 -1
  168. package/dist/resources/user.d.ts +2 -2
  169. package/dist/{revision-CQBPhohA.d.ts → revision-Dyl-8p7d.d.ts} +8 -6
  170. package/dist/{search-NZR6iRBs.d.ts → search-Cm5IxKss.d.ts} +8 -8
  171. package/dist/{search-BxJipLN6.d.ts → search-Cten2h0I.d.ts} +2 -2
  172. package/dist/{segment-pj3wklGe.d.ts → segment-CbAgVO-5.d.ts} +1 -1
  173. package/dist/{segment-D2i34X9l.d.ts → segment-DQLX6r1E.d.ts} +2 -2
  174. package/dist/{setup-Ez_U7GmM.d.ts → setup-JqcJ2unJ.d.ts} +1 -1
  175. package/dist/signal.d.ts +1 -1
  176. package/dist/{snippet-hEV429Pv.d.ts → snippet-C_Ilx7tR.d.ts} +2 -2
  177. package/dist/{snippet-RnnWa4TL.d.ts → snippet-Djn0rL21.d.ts} +2 -2
  178. package/dist/{table-B_lfuaHc.d.ts → table-CDZbLNow.d.ts} +6 -6
  179. package/dist/{table-B3-UaPHa.d.ts → table-Od6uvDVW.d.ts} +19 -14
  180. package/dist/{timeline-folD3mQ_.d.ts → timeline-BK45hy-h.d.ts} +31 -31
  181. package/dist/{timeline-C2IEcRlP.d.ts → timeline-BTs6fuRp.d.ts} +2 -2
  182. package/dist/{transform-CDurgE1D.d.ts → transform-C5thnJwW.d.ts} +139 -23
  183. package/dist/{transform-CXOT5kFe.d.ts → transform-WASQAXeA.d.ts} +39 -25
  184. package/dist/{transform-inspector-BUYBt6--.d.ts → transform-inspector-CMCh8WKV.d.ts} +4 -4
  185. package/dist/{transform-job-CTJImaOd.d.ts → transform-job-D8jTQtdX.d.ts} +5 -3
  186. package/dist/{transform-job-29P6BULe.d.ts → transform-job-DmTwKxhc.d.ts} +4 -4
  187. package/dist/{transform-python-DdDnW6yK.d.ts → transform-python-DtL3xxMj.d.ts} +49 -4
  188. package/dist/{transform-tag-DVUIZTEM.d.ts → transform-tag-C6j5EUkX.d.ts} +1 -1
  189. package/dist/{transform-test-A-CJYT6B.d.ts → transform-test-CR_i54IV.d.ts} +1 -1
  190. package/dist/{transform-test-BwuyrHpT.d.ts → transform-test-CeMzDpUC.d.ts} +1 -1
  191. package/dist/{transport-E0ZaPNWJ.d.ts → transport-BsXqRujn.d.ts} +17 -3
  192. package/dist/{upload-B7PG3ePk.d.ts → upload-B5YjVkSW.d.ts} +1 -1
  193. package/dist/{user-2r0OBoO6.d.ts → user-Sqqv7rqh.d.ts} +2 -2
  194. package/dist/version/capability-error.d.ts +1 -1
  195. package/dist/version/features.d.ts +2 -2
  196. package/dist/version/features.js +30 -2
  197. package/dist/version/input-gates.d.ts +2 -0
  198. package/dist/version/input-gates.js +13 -0
  199. package/dist/version/probe.d.ts +1 -1
  200. package/dist/version/profile.d.ts +1 -1
  201. package/dist/version/requirement-check.d.ts +1 -1
  202. package/dist/version/requirements.d.ts +1 -1
  203. package/dist/version/requirements.js +10 -0
  204. package/package.json +3 -2
@@ -46,11 +46,11 @@ declare const Document: z.ZodObject<{
46
46
  }, z.core.$loose>;
47
47
  type Document = z.infer<typeof Document>;
48
48
  declare const DocumentCompact: z.ZodObject<{
49
- name: z.ZodString;
50
49
  id: z.ZodNumber;
51
- collection_id: z.ZodNullable<z.ZodNumber>;
50
+ name: z.ZodString;
52
51
  archived: z.ZodBoolean;
53
52
  creator_id: z.ZodNumber;
53
+ collection_id: z.ZodNullable<z.ZodNumber>;
54
54
  can_write: z.ZodOptional<z.ZodBoolean>;
55
55
  }, z.core.$strip>;
56
56
  type DocumentCompact = z.infer<typeof DocumentCompact>;
@@ -0,0 +1,2 @@
1
+ import { a as CreatedApiKeyCompact, i as CreatedApiKey, n as ApiKeyCompact, r as ApiKeyCreateInput, t as ApiKey } from "../api-key-DJeN1-7G.js";
2
+ export { ApiKey, ApiKeyCompact, ApiKeyCreateInput, CreatedApiKey, CreatedApiKeyCompact };
@@ -0,0 +1,31 @@
1
+ import { z } from "zod";
2
+ //#region src/domain/api-key.ts
3
+ const ApiKeyGroup = z.object({
4
+ id: z.number().int(),
5
+ name: z.string()
6
+ }).loose();
7
+ const ApiKey = z.object({
8
+ id: z.number().int(),
9
+ name: z.string(),
10
+ masked_key: z.string(),
11
+ group: ApiKeyGroup,
12
+ created_at: z.string(),
13
+ updated_at: z.string()
14
+ }).loose();
15
+ const ApiKeyCompact = ApiKey.pick({
16
+ id: true,
17
+ name: true,
18
+ masked_key: true
19
+ }).strip();
20
+ const CreatedApiKey = ApiKey.extend({ unmasked_key: z.string() });
21
+ const CreatedApiKeyCompact = CreatedApiKey.pick({
22
+ id: true,
23
+ name: true,
24
+ unmasked_key: true
25
+ }).strip();
26
+ const ApiKeyCreateInput = z.object({
27
+ name: z.string().min(1),
28
+ group_id: z.number().int().positive()
29
+ }).strict();
30
+ //#endregion
31
+ export { ApiKey, ApiKeyCompact, ApiKeyCreateInput, CreatedApiKey, CreatedApiKeyCompact };
@@ -1,2 +1,2 @@
1
- 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-B6merEUN.js";
1
+ 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";
2
2
  export { Card, CardCompact, CardCreateInput, CardDetail, CardListFilter, CardQueryResult, CardQueryResultCompact, CardType, CardUpdateInput, ResultColumn };
@@ -1,2 +1,2 @@
1
- import { _ as CollectionType, 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-Bib61WiV.js";
1
+ import { _ as CollectionType, 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";
2
2
  export { COLLECTION_ITEM_FILTER_MODELS, COLLECTION_ITEM_MODELS, COLLECTION_PINNED_STATES, Collection, CollectionAuthorityLevel, CollectionCompact, CollectionCreateInput, CollectionId, CollectionItem, CollectionItemCompact, CollectionItemFilterModel, CollectionItemModel, CollectionListFilter, CollectionNamespace, CollectionPinnedState, CollectionTreeNode, CollectionType, CollectionUpdateInput };
@@ -1,2 +1,2 @@
1
- import { _ as DashcardPatchInput, a as DashboardCopyInput, b as UnreadableCard, c as DashboardListFilter, d as DashboardTabCompact, f as DashboardUncopiedCard, g as DashcardDetail, h as DashcardCompact, i as DashboardCopyCompact, l as DashboardParameterConstraints, m as Dashcard, n as DashboardCompact, o as DashboardCreateInput, p as DashboardUpdateInput, r as DashboardCopy, s as DashboardDetail, t as Dashboard, u as DashboardTab, v as DashcardVirtualCard, y as DashcardVisualizationSettings } from "../dashboard-z9i1VUZC.js";
2
- export { Dashboard, DashboardCompact, DashboardCopy, DashboardCopyCompact, DashboardCopyInput, DashboardCreateInput, DashboardDetail, DashboardListFilter, DashboardParameterConstraints, DashboardTab, DashboardTabCompact, DashboardUncopiedCard, DashboardUpdateInput, Dashcard, DashcardCompact, DashcardDetail, DashcardPatchInput, DashcardVirtualCard, DashcardVisualizationSettings, UnreadableCard };
1
+ import { S as dashboardDetailSchema, _ 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";
2
+ export { Dashboard, DashboardCompact, DashboardCopy, DashboardCopyCompact, DashboardCopyInput, DashboardCreateInput, DashboardDetail, DashboardLayoutInput, DashboardListFilter, DashboardParameterConstraints, DashboardTab, DashboardTabCompact, DashboardUncopiedCard, DashboardUpdateInput, Dashcard, DashcardCompact, DashcardDetail, DashcardPatchInput, DashcardVirtualCard, DashcardVisualizationSettings, UnreadableCard, dashboardDetailSchema };
@@ -1,6 +1,7 @@
1
1
  import { EmbeddingParams } from "./embedding.js";
2
2
  import { Parameter, ParameterMapping } from "./parameter.js";
3
3
  import { Card } from "./card.js";
4
+ import { NonBlankText } from "./text.js";
4
5
  import { z } from "zod";
5
6
  //#region src/domain/dashboard.ts
6
7
  const DashboardWidth = z.enum(["fixed", "full"]);
@@ -62,7 +63,7 @@ const UnreadableCard = z.object({
62
63
  * A dashcard as a dashboard read or write returns it, with its card whole in `card`. An action
63
64
  * button bound to a model carries the model there and the action in `action_id`. A dashcard bound to
64
65
  * no card (a text, heading, link, iframe or placeholder dashcard, or an action button bound to no
65
- * model, which `visualization_settings.virtual_card` names) has `card_id` and `card` both `null`.
66
+ * model, which `visualization_settings.virtual_card` names) has `card_id` `null`, and its `card` reads as `null`.
66
67
  */
67
68
  const DashcardDetail = Dashcard.extend({
68
69
  action_id: z.number().int().nullable(),
@@ -105,6 +106,20 @@ const DashboardDetail = Dashboard.extend({
105
106
  dashcards: z.array(DashcardDetail),
106
107
  tabs: z.array(DashboardTab)
107
108
  });
109
+ const NoCardStub = z.object({
110
+ id: z.never().optional(),
111
+ name: z.never().optional()
112
+ }).loose().transform(() => null);
113
+ const DashcardDetailWire = DashcardDetail.extend({ card: z.union([
114
+ Card,
115
+ UnreadableCard,
116
+ NoCardStub
117
+ ]).nullable() });
118
+ /**
119
+ * The dashboard `GET` and `PUT /api/dashboard/{id}` answer, read as `DashboardDetail`: the stub card
120
+ * of a dashcard bound to no card reads as `null`.
121
+ */
122
+ const dashboardDetailSchema = DashboardDetail.extend({ dashcards: z.array(DashcardDetailWire) });
108
123
  const DashboardCompact = Dashboard.pick({
109
124
  id: true,
110
125
  name: true,
@@ -131,12 +146,14 @@ const DashboardTabWrite = z.object({
131
146
  name: z.string().min(1)
132
147
  }).loose();
133
148
  const DashboardCreateInput = z.object({
134
- name: z.string().min(1),
149
+ name: NonBlankText,
135
150
  description: z.string().nullable().optional(),
136
151
  parameters: z.array(Parameter).nullable().optional(),
137
152
  cache_ttl: z.number().int().positive().nullable().optional(),
138
153
  collection_id: z.number().int().positive().nullable().optional(),
139
- collection_position: z.number().int().positive().nullable().optional(),
154
+ collection_position: z.number().int().positive().nullable().optional()
155
+ }).strip();
156
+ const DashboardLayoutInput = z.object({
140
157
  dashcards: z.array(DashcardWrite).optional(),
141
158
  tabs: z.array(DashboardTabWrite).optional()
142
159
  }).loose();
@@ -191,4 +208,4 @@ const ParameterConstraintValue = z.union([
191
208
  */
192
209
  const DashboardParameterConstraints = z.record(z.string().min(1), z.union([ParameterConstraintValue, z.array(ParameterConstraintValue)]));
193
210
  //#endregion
194
- export { Dashboard, DashboardCompact, DashboardCopy, DashboardCopyCompact, DashboardCopyInput, DashboardCreateInput, DashboardDetail, DashboardListFilter, DashboardParameterConstraints, DashboardTab, DashboardTabCompact, DashboardUncopiedCard, DashboardUpdateInput, Dashcard, DashcardCompact, DashcardDetail, DashcardPatchInput, DashcardVirtualCard, DashcardVisualizationSettings, UnreadableCard };
211
+ export { Dashboard, DashboardCompact, DashboardCopy, DashboardCopyCompact, DashboardCopyInput, DashboardCreateInput, DashboardDetail, DashboardLayoutInput, DashboardListFilter, DashboardParameterConstraints, DashboardTab, DashboardTabCompact, DashboardUncopiedCard, DashboardUpdateInput, Dashcard, DashcardCompact, DashcardDetail, DashcardPatchInput, DashcardVirtualCard, DashcardVisualizationSettings, UnreadableCard, dashboardDetailSchema };
@@ -1,2 +1,2 @@
1
- import { a as DataActionExecuteResult, c as dataActionSchema, i as DataActionExecuteInput, n as DataActionCompact, o as DataActionParameter, r as DataActionCreateInput, s as DataActionUpdateInput, t as DataAction } from "../data-action-rS27f2Ji.js";
2
- export { DataAction, DataActionCompact, DataActionCreateInput, DataActionExecuteInput, DataActionExecuteResult, DataActionParameter, DataActionUpdateInput, dataActionSchema };
1
+ 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, t as DATA_ACTION_COLLECTION_GATE } from "../data-action-CkXVrOUH.js";
2
+ export { DATA_ACTION_COLLECTION_GATE, DataAction, DataActionCompact, DataActionCreateInput, DataActionExecuteInput, DataActionExecuteResult, DataActionParameter, DataActionUpdateInput, dataActionSchema };
@@ -1,3 +1,4 @@
1
+ import { t as gateInput } from "../input-gate-registry-Dai7SfXb.js";
1
2
  import { DatasetQuery } from "./query.js";
2
3
  import { z } from "zod";
3
4
  //#region src/domain/data-action.ts
@@ -63,12 +64,17 @@ const DataActionCreateInput = z.object({
63
64
  description: z.string().nullable().optional(),
64
65
  visualization_settings: z.unknown().optional()
65
66
  }).strict();
67
+ const DATA_ACTION_COLLECTION_GATE = {
68
+ feature: "dataActionCollections",
69
+ effect: "needs",
70
+ when: { kind: "present" }
71
+ };
66
72
  const DataActionUpdateInput = z.object({
67
73
  name: z.string().min(1).optional(),
68
74
  database_id: z.number().int().positive().optional(),
69
75
  dataset_query: DatasetQuery.optional(),
70
76
  parameters: z.array(DataActionParameterInput).optional(),
71
- collection_id: z.number().int().positive().nullable().optional(),
77
+ collection_id: gateInput(z.number().int().positive().nullable().optional(), DATA_ACTION_COLLECTION_GATE),
72
78
  description: z.string().nullable().optional(),
73
79
  visualization_settings: z.unknown().optional(),
74
80
  archived: z.boolean().optional()
@@ -82,4 +88,4 @@ const DataActionParameterValue = z.union([
82
88
  const DataActionExecuteInput = z.object({ parameters: z.record(z.string(), DataActionParameterValue) }).strict();
83
89
  const DataActionExecuteResult = z.object({ "rows-affected": z.number().int() }).loose();
84
90
  //#endregion
85
- export { DataAction, DataActionCompact, DataActionCreateInput, DataActionExecuteInput, DataActionExecuteResult, DataActionParameter, DataActionUpdateInput, dataActionSchema };
91
+ export { DATA_ACTION_COLLECTION_GATE, DataAction, DataActionCompact, DataActionCreateInput, DataActionExecuteInput, DataActionExecuteResult, DataActionParameter, DataActionUpdateInput, dataActionSchema };
@@ -0,0 +1,2 @@
1
+ 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";
2
+ export { DataApp, DataAppCompact, DataAppCreateInput, DataAppEntry, DataAppListFilter, DataAppSlug, DataAppSummary, DataAppUpdateInput };
@@ -0,0 +1,52 @@
1
+ import { z } from "zod";
2
+ //#region src/domain/data-app.ts
3
+ const DATA_APP_SLUG_MAX_LENGTH = 100;
4
+ const RESERVED_DATA_APP_SLUGS = /* @__PURE__ */ new Set(["repo-status", "sandbox-host"]);
5
+ const DataAppSlug = z.string().max(DATA_APP_SLUG_MAX_LENGTH, `must be at most ${DATA_APP_SLUG_MAX_LENGTH} characters`).regex(/^[a-z0-9]+(?:-[a-z0-9]+)*$/, "must be dash-cased: a-z, 0-9 and single dashes").refine((slug) => !RESERVED_DATA_APP_SLUGS.has(slug), "is reserved by Metabase");
6
+ const DataApp = z.object({
7
+ id: z.number().int(),
8
+ name: z.string(),
9
+ display_name: z.string(),
10
+ description: z.string().nullable(),
11
+ version: z.number().int(),
12
+ outdated: z.boolean(),
13
+ bundle_path: z.string(),
14
+ enabled: z.boolean(),
15
+ allowed_hosts: z.array(z.string()),
16
+ resource_collection_id: z.number().int(),
17
+ bundle_hash: z.string().nullable(),
18
+ created_at: z.string(),
19
+ updated_at: z.string()
20
+ }).loose();
21
+ const DataAppSummary = z.object({
22
+ name: z.string(),
23
+ display_name: z.string()
24
+ }).strict();
25
+ const DataAppEntry = z.union([DataApp, DataAppSummary]);
26
+ const DataAppCompact = DataApp.pick({
27
+ name: true,
28
+ display_name: true,
29
+ enabled: true,
30
+ resource_collection_id: true,
31
+ outdated: true
32
+ }).strip().partial({
33
+ enabled: true,
34
+ resource_collection_id: true,
35
+ outdated: true
36
+ });
37
+ const DataAppListFilter = z.object({ available: z.boolean().optional() }).strict();
38
+ const DataAppFields = {
39
+ display_name: z.string().min(1).optional(),
40
+ description: z.string().nullable().optional(),
41
+ version: z.number().int().positive().optional(),
42
+ bundle_path: z.string().min(1).optional(),
43
+ allowed_hosts: z.array(z.string()).optional(),
44
+ enabled: z.boolean().optional()
45
+ };
46
+ const DataAppCreateInput = z.object({
47
+ name: DataAppSlug,
48
+ ...DataAppFields
49
+ }).strict();
50
+ const DataAppUpdateInput = z.object(DataAppFields).strict();
51
+ //#endregion
52
+ export { DataApp, DataAppCompact, DataAppCreateInput, DataAppEntry, DataAppListFilter, DataAppSlug, DataAppSummary, DataAppUpdateInput };
@@ -1,2 +1,2 @@
1
- import { a as DatabaseSettings, c as DatabaseVirtualTable, d as DatabaseWithSettingsCompact, i as DatabaseListInclude, l as DatabaseVirtualTableCompact, n as DatabaseCompact, o as DatabaseSyncResult, r as DatabaseGetInclude, s as DatabaseUpdateInput, t as Database, u as DatabaseWithSettings } from "../database-BLUMlywE.js";
1
+ import { a as DatabaseSettings, c as DatabaseVirtualTable, d as DatabaseWithSettingsCompact, i as DatabaseListInclude, l as DatabaseVirtualTableCompact, n as DatabaseCompact, o as DatabaseSyncResult, r as DatabaseGetInclude, s as DatabaseUpdateInput, t as Database, u as DatabaseWithSettings } from "../database-BxqDmfcj.js";
2
2
  export { Database, DatabaseCompact, DatabaseGetInclude, DatabaseListInclude, DatabaseSettings, DatabaseSyncResult, DatabaseUpdateInput, DatabaseVirtualTable, DatabaseVirtualTableCompact, DatabaseWithSettings, DatabaseWithSettingsCompact };
@@ -1,2 +1,2 @@
1
- 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-C6lX1-cr.js";
1
+ 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";
2
2
  export { CompiledQuery, CompiledQueryCompact, QueryMetadata, QueryMetadataCompact, QueryMetadataTable, VirtualField, VirtualFieldCompact, VirtualTable, VirtualTableCompact };
@@ -1,2 +1,2 @@
1
- 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-D8Qs5Xdx.js";
1
+ 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";
2
2
  export { BreakingSource, BreakingSourceCompact, DependencyEdge, DependencyEntity, DependencyEntityCompact, DependencyEntityData, DependencyErrorSourceType, DependencyFindingError, DependencyFindingErrorType, DependencyGraph, DependencyGraphCompact, DependencyItemsSortColumn, DependencyNode, DependencyNodeCompact, DependencyType, DependencyUsageType, DependentsSortColumn };
@@ -11,7 +11,8 @@ const DependencyType = z.enum([
11
11
  "document",
12
12
  "sandbox",
13
13
  "segment",
14
- "measure"
14
+ "measure",
15
+ "action"
15
16
  ]);
16
17
  const DependencyUsageType = z.enum([
17
18
  "table",
@@ -24,7 +25,8 @@ const DependencyUsageType = z.enum([
24
25
  "question",
25
26
  "model",
26
27
  "metric",
27
- "measure"
28
+ "measure",
29
+ "action"
28
30
  ]);
29
31
  const DependencyFindingErrorType = z.enum([
30
32
  "missing-column",
@@ -70,11 +72,12 @@ const DependencyTableRef = z.object({
70
72
  name: z.string(),
71
73
  display_name: z.string()
72
74
  }).loose();
75
+ const DependencyActionType = z.enum(["implicit", "query"]);
73
76
  const DependencyEntityData = z.object({
74
77
  name: z.string().nullable().optional(),
75
78
  display_name: z.string().nullable().optional(),
76
79
  description: z.string().nullable().optional(),
77
- type: CardType.nullable().optional(),
80
+ type: z.union([CardType, DependencyActionType]).nullable().optional(),
78
81
  display: z.string().nullable().optional(),
79
82
  database_id: z.number().int().nullable().optional(),
80
83
  db_id: z.number().int().nullable().optional(),
@@ -1,2 +1,2 @@
1
- import { a as DocumentUpdateInput, i as DocumentCreateInput, n as DocumentCompact, o as TipTapNode, r as DocumentCopyInput, s as TipTapNodeInput, t as Document } from "../document-oZNDbDfx.js";
1
+ 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";
2
2
  export { Document, DocumentCompact, DocumentCopyInput, DocumentCreateInput, DocumentUpdateInput, TipTapNode, TipTapNodeInput };
@@ -1,2 +1,2 @@
1
- import { a as EidTranslateResult, i as EidTranslateInput, n as EidModel, o as EidTranslateResultCompact, r as EidTranslateEntry, t as EID_MODELS } from "../eid-translation-nuhr8St2.js";
1
+ 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";
2
2
  export { EID_MODELS, EidModel, EidTranslateEntry, EidTranslateInput, EidTranslateResult, EidTranslateResultCompact };
@@ -1,2 +1,2 @@
1
- import { t as EmbeddingParams } from "../embedding-Cz3RUJYf.js";
1
+ import { t as EmbeddingParams } from "../embedding-oU3gqfgX.js";
2
2
  export { EmbeddingParams };
@@ -1,2 +1,2 @@
1
- import { _ as fieldDetailSchema, a as FieldDataSensitivity, c as FieldSearchMatches, d as FieldUpdateInput, f as FieldValues, g as FieldWithTarget, h as FieldWithDataSensitivityCompact, i as FieldCompact, l as FieldSemanticType, m as FieldWithDataSensitivity, n as FieldBaseType, o as FieldDetail, p as FieldValuesCompact, r as FieldCoercionStrategy, s as FieldRemappedValue, t as Field, u as FieldSummary, v as fieldRemappedValueSchema, y as hasDataSensitivity } from "../field-BCRO19mk.js";
2
- export { Field, FieldBaseType, FieldCoercionStrategy, FieldCompact, FieldDataSensitivity, FieldDetail, FieldRemappedValue, FieldSearchMatches, FieldSemanticType, FieldSummary, FieldUpdateInput, FieldValues, FieldValuesCompact, FieldWithDataSensitivity, FieldWithDataSensitivityCompact, FieldWithTarget, fieldDetailSchema, fieldRemappedValueSchema, hasDataSensitivity };
1
+ 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, t as DATA_SENSITIVITY_GATE, u as FieldSemanticType, v as fieldDetailSchema, y as fieldRemappedValueSchema } from "../field-p9Rme2zB.js";
2
+ export { DATA_SENSITIVITY_GATE, Field, FieldBaseType, FieldCoercionStrategy, FieldCompact, FieldDataSensitivity, FieldDetail, FieldRemappedValue, FieldSearchMatches, FieldSemanticType, FieldSummary, FieldUpdateInput, FieldValues, FieldValuesCompact, FieldWithDataSensitivity, FieldWithDataSensitivityCompact, FieldWithTarget, fieldDetailSchema, fieldRemappedValueSchema, hasDataSensitivity };
@@ -1,3 +1,4 @@
1
+ import { t as gateInput } from "../input-gate-registry-Dai7SfXb.js";
1
2
  import { z } from "zod";
2
3
  //#region src/domain/field.ts
3
4
  const FieldVisibilityType = z.enum([
@@ -212,6 +213,11 @@ function hasDataSensitivity(field) {
212
213
  }
213
214
  const FieldWithDataSensitivityCompact = FieldCompact.extend({ data_sensitivity: FieldDataSensitivity.nullable() }).strip();
214
215
  const NonBlankNullable = z.string().min(1).nullable();
216
+ const DATA_SENSITIVITY_GATE = {
217
+ feature: "fieldDataSensitivity",
218
+ effect: "needs",
219
+ when: { kind: "present" }
220
+ };
215
221
  const FieldUpdateInput = z.object({
216
222
  display_name: NonBlankNullable.optional(),
217
223
  description: NonBlankNullable.optional(),
@@ -219,7 +225,7 @@ const FieldUpdateInput = z.object({
219
225
  points_of_interest: NonBlankNullable.optional(),
220
226
  semantic_type: FieldSemanticType.nullable().optional(),
221
227
  coercion_strategy: FieldCoercionStrategy.nullable().optional(),
222
- data_sensitivity: FieldDataSensitivity.nullable().optional(),
228
+ data_sensitivity: gateInput(FieldDataSensitivity.nullable().optional(), DATA_SENSITIVITY_GATE),
223
229
  fk_target_field_id: z.number().int().positive().nullable().optional(),
224
230
  visibility_type: FieldVisibilityType.nullable().optional(),
225
231
  has_field_values: FieldValuesType.nullable().optional(),
@@ -265,4 +271,4 @@ const FieldSummary = z.object({
265
271
  distincts: z.number().int()
266
272
  });
267
273
  //#endregion
268
- export { Field, FieldBaseType, FieldCoercionStrategy, FieldCompact, FieldDataSensitivity, FieldDetail, FieldRemappedValue, FieldSearchMatches, FieldSemanticType, FieldSummary, FieldUpdateInput, FieldValues, FieldValuesCompact, FieldWithDataSensitivity, FieldWithDataSensitivityCompact, FieldWithTarget, fieldDetailSchema, fieldRemappedValueSchema, hasDataSensitivity };
274
+ export { DATA_SENSITIVITY_GATE, Field, FieldBaseType, FieldCoercionStrategy, FieldCompact, FieldDataSensitivity, FieldDetail, FieldRemappedValue, FieldSearchMatches, FieldSemanticType, FieldSummary, FieldUpdateInput, FieldValues, FieldValuesCompact, FieldWithDataSensitivity, FieldWithDataSensitivityCompact, FieldWithTarget, fieldDetailSchema, fieldRemappedValueSchema, hasDataSensitivity };
@@ -1,2 +1,2 @@
1
- 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-DNXrNVCW.js";
1
+ 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";
2
2
  export { RemoteSyncState, SyncBranchCreated, SyncDirtyItem, SyncDirtyItemCompact, SyncExportPreflight, SyncExportPreflightCompact, SyncExportResult, SyncForcePushCasualties, SyncImportResult, SyncMergeSummary, SyncRemoteChanges, SyncSettingsUpdateResult, SyncStashResult, SyncTask, SyncTaskCompact, SyncTaskStatus, SyncTaskType, SyncType, isSyncTaskFailed, isSyncTaskTerminal };
@@ -1,2 +1,2 @@
1
- import { a as LibraryListing, c as libraryWireSchema, i as LibraryCompact, l as toLibrary, n as LibraryChild, o as LibraryPublishTablesInput, r as LibraryCollectionInfo, s as LibraryWire, t as Library } from "../library-Cx9h_RkU.js";
2
- export { Library, LibraryChild, LibraryCollectionInfo, LibraryCompact, LibraryListing, LibraryPublishTablesInput, LibraryWire, libraryWireSchema, toLibrary };
1
+ import { a as LibraryListing, c as PUBLISH_TARGET_COLLECTION_GATE, i as LibraryCompact, l as libraryWireSchema, n as LibraryChild, o as LibraryPublishTablesInput, r as LibraryCollectionInfo, s as LibraryWire, t as Library, u as toLibrary } from "../library-B9pEq7qP.js";
2
+ export { Library, LibraryChild, LibraryCollectionInfo, LibraryCompact, LibraryListing, LibraryPublishTablesInput, LibraryWire, PUBLISH_TARGET_COLLECTION_GATE, libraryWireSchema, toLibrary };
@@ -1,3 +1,4 @@
1
+ import { t as gateInput } from "../input-gate-registry-Dai7SfXb.js";
1
2
  import { TableSelectors } from "./table.js";
2
3
  import { Collection, CollectionId, CollectionType } from "./collection.js";
3
4
  import { z } from "zod";
@@ -21,7 +22,12 @@ const LibraryCollectionInfo = Collection.pick({
21
22
  type: true,
22
23
  is_remote_synced: true
23
24
  }).strip();
24
- const LibraryPublishTablesInput = TableSelectors.extend({ collection_id: z.number().int().positive() }).strict();
25
+ const PUBLISH_TARGET_COLLECTION_GATE = {
26
+ feature: "tablePublishTargetCollection",
27
+ effect: "needs",
28
+ when: { kind: "present" }
29
+ };
30
+ const LibraryPublishTablesInput = TableSelectors.extend({ collection_id: gateInput(z.number().int().positive(), PUBLISH_TARGET_COLLECTION_GATE) }).strict();
25
31
  const LibraryWireV59 = Collection.extend({ effective_children: z.array(LibraryChildWireV59) }).loose();
26
32
  const LibraryWireV62 = Collection.extend({ effective_children: z.array(LibraryChildWireV62) }).loose();
27
33
  const AbsentLibrary = z.object({ data: z.null() });
@@ -80,4 +86,4 @@ function listedSyncFlag(id, listing) {
80
86
  return listed(id, listing)?.is_remote_synced ?? null;
81
87
  }
82
88
  //#endregion
83
- export { Library, LibraryChild, LibraryCollectionInfo, LibraryCompact, LibraryPublishTablesInput, libraryWireSchema, toLibrary };
89
+ export { Library, LibraryChild, LibraryCollectionInfo, LibraryCompact, LibraryPublishTablesInput, PUBLISH_TARGET_COLLECTION_GATE, libraryWireSchema, toLibrary };
@@ -1,2 +1,2 @@
1
- import { i as MeasureUpdateInput, n as MeasureCompact, r as MeasureCreateInput, t as Measure } from "../measure-KuXdjZYJ.js";
1
+ import { i as MeasureUpdateInput, n as MeasureCompact, r as MeasureCreateInput, t as Measure } from "../measure-CgH14YQZ.js";
2
2
  export { Measure, MeasureCompact, MeasureCreateInput, MeasureUpdateInput };
@@ -1,3 +1,5 @@
1
+ import { t as gateInput } from "../input-gate-registry-Dai7SfXb.js";
2
+ import { TABLE_FROM_DEFINITION_GATE } from "./table.js";
1
3
  import { z } from "zod";
2
4
  //#region src/domain/measure.ts
3
5
  const Measure = z.object({
@@ -26,7 +28,7 @@ const MeasureCompact = Measure.pick({
26
28
  const MeasureDefinition = z.record(z.string(), z.unknown()).describe("MBQL query holding exactly one aggregation");
27
29
  const MeasureCreateInput = z.object({
28
30
  name: z.string().min(1),
29
- table_id: z.number().int().positive(),
31
+ table_id: gateInput(z.number().int().positive(), TABLE_FROM_DEFINITION_GATE),
30
32
  definition: MeasureDefinition,
31
33
  description: z.string().nullable().optional()
32
34
  }).loose();
@@ -1,2 +1,2 @@
1
- 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-yvehaVCS.js";
1
+ 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";
2
2
  export { MetricAddableDimension, MetricAddableGroup, MetricBinning, MetricBreakoutColumn, MetricBreakoutValues, MetricDefinition, MetricDimension, MetricDimensionCompact, MetricDimensionGroup, MetricDimensionListing, MetricDimensionRef, MetricDimensionRefOptions, MetricDimensionSource, MetricDimensionStatus, MetricFilterArgument, MetricFilterClause, MetricInstanceFilter, MetricLeafRef, MetricLeafType, MetricMappingTarget, MetricMathExpression, MetricMathOperator, MetricProjection };
@@ -1,2 +1,2 @@
1
- import { _ as NotificationSubscription, a as NotificationCardPayloadPatch, b as NotificationUpdateInput, c as NotificationCreateInput, d as NotificationPayloadType, f as NotificationRecipient, g as NotificationSendCondition, h as NotificationRecipientType, i as NotificationCardPayloadCompact, l as NotificationHandler, m as NotificationRecipientDetails, n as Notification, o as NotificationChannelType, p as NotificationRecipientCompact, r as NotificationCardPayload, s as NotificationCompact, t as CARD_PAYLOAD_TYPE, u as NotificationHandlerCompact, v as NotificationSubscriptionCompact, y as NotificationSubscriptionType } from "../notification-BT2TDAd_.js";
2
- export { CARD_PAYLOAD_TYPE, Notification, NotificationCardPayload, NotificationCardPayloadCompact, NotificationCardPayloadPatch, NotificationChannelType, NotificationCompact, NotificationCreateInput, NotificationHandler, NotificationHandlerCompact, NotificationPayloadType, NotificationRecipient, NotificationRecipientCompact, NotificationRecipientDetails, NotificationRecipientType, NotificationSendCondition, NotificationSubscription, NotificationSubscriptionCompact, NotificationSubscriptionType, NotificationUpdateInput };
1
+ 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, t as AnyNotification, u as NotificationHandler, v as NotificationSubscription, x as NotificationUpdateInput, y as NotificationSubscriptionCompact } from "../notification-D1MThyKE.js";
2
+ export { AnyNotification, CARD_PAYLOAD_TYPE, Notification, NotificationCardPayload, NotificationCardPayloadCompact, NotificationCardPayloadPatch, NotificationChannelType, NotificationCompact, NotificationCreateInput, NotificationHandler, NotificationHandlerCompact, NotificationPayloadType, NotificationRecipient, NotificationRecipientCompact, NotificationRecipientDetails, NotificationRecipientType, NotificationSendCondition, NotificationSubscription, NotificationSubscriptionCompact, NotificationSubscriptionType, NotificationUpdateInput };
@@ -89,6 +89,11 @@ const Notification = z.object({
89
89
  subscriptions: z.array(NotificationSubscription),
90
90
  handlers: z.array(NotificationHandler)
91
91
  }).loose();
92
+ const NotificationOfOtherType = z.object({
93
+ id: z.number().int(),
94
+ payload_type: NotificationPayloadType.exclude([CARD_PAYLOAD_TYPE])
95
+ }).loose();
96
+ const AnyNotification = z.discriminatedUnion("payload_type", [Notification.extend({ payload_type: z.literal(CARD_PAYLOAD_TYPE) }), NotificationOfOtherType]);
92
97
  const NotificationCompact = Notification.pick({
93
98
  id: true,
94
99
  payload_type: true,
@@ -135,4 +140,4 @@ const NotificationUpdateInput = z.object({
135
140
  active: z.boolean().optional()
136
141
  }).loose();
137
142
  //#endregion
138
- export { CARD_PAYLOAD_TYPE, Notification, NotificationCardPayload, NotificationCardPayloadCompact, NotificationCardPayloadPatch, NotificationChannelType, NotificationCompact, NotificationCreateInput, NotificationHandler, NotificationHandlerCompact, NotificationPayloadType, NotificationRecipient, NotificationRecipientCompact, NotificationRecipientDetails, NotificationRecipientType, NotificationSendCondition, NotificationSubscription, NotificationSubscriptionCompact, NotificationSubscriptionType, NotificationUpdateInput };
143
+ export { AnyNotification, CARD_PAYLOAD_TYPE, Notification, NotificationCardPayload, NotificationCardPayloadCompact, NotificationCardPayloadPatch, NotificationChannelType, NotificationCompact, NotificationCreateInput, NotificationHandler, NotificationHandlerCompact, NotificationPayloadType, NotificationRecipient, NotificationRecipientCompact, NotificationRecipientDetails, NotificationRecipientType, NotificationSendCondition, NotificationSubscription, NotificationSubscriptionCompact, NotificationSubscriptionType, NotificationUpdateInput };
@@ -1,2 +1,2 @@
1
- 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-CMc1Rwdj.js";
2
- export { Pulse, PulseCard, PulseCardCompact, PulseChannel, PulseChannelCompact, PulseChannelDetails, PulseChannelType, PulseCompact, PulseCreateInput, PulseRecipient, PulseRecipientCompact, PulseScheduleDay, PulseScheduleFrame, PulseScheduleType, PulseUpdateInput };
1
+ import { a as PulseChannelCompact, c as PulseCompact, d as PulseRecipientCompact, f as PulseScheduleDay, g as SUBSCRIPTION_FILTERS_GATE, 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";
2
+ export { Pulse, PulseCard, PulseCardCompact, PulseChannel, PulseChannelCompact, PulseChannelDetails, PulseChannelType, PulseCompact, PulseCreateInput, PulseRecipient, PulseRecipientCompact, PulseScheduleDay, PulseScheduleFrame, PulseScheduleType, PulseUpdateInput, SUBSCRIPTION_FILTERS_GATE };
@@ -1,3 +1,4 @@
1
+ import { t as gateInput } from "../input-gate-registry-Dai7SfXb.js";
1
2
  import { Parameter } from "./parameter.js";
2
3
  import { z } from "zod";
3
4
  //#region src/domain/pulse.ts
@@ -113,13 +114,19 @@ const PulseChannelInput = z.object({
113
114
  details: PulseChannelDetails.optional(),
114
115
  recipients: z.array(PulseRecipientInput).optional()
115
116
  }).loose();
117
+ const SUBSCRIPTION_FILTERS_GATE = {
118
+ feature: "dashboardSubscriptionFilters",
119
+ effect: "needs",
120
+ when: { kind: "nonEmpty" }
121
+ };
122
+ const PulseParametersInput = gateInput(z.array(Parameter).optional(), SUBSCRIPTION_FILTERS_GATE);
116
123
  const PulseCreateInput = z.object({
117
124
  name: z.string().min(1),
118
125
  dashboard_id: z.number().int().positive(),
119
126
  cards: z.array(PulseCardInput).min(1),
120
127
  channels: z.array(PulseChannelInput).min(1),
121
128
  skip_if_empty: z.boolean().optional(),
122
- parameters: z.array(Parameter).optional()
129
+ parameters: PulseParametersInput
123
130
  }).loose();
124
131
  const PulseUpdateInput = z.object({
125
132
  name: z.string().min(1).optional(),
@@ -127,7 +134,7 @@ const PulseUpdateInput = z.object({
127
134
  channels: z.array(PulseChannelInput).min(1).optional(),
128
135
  skip_if_empty: z.boolean().optional(),
129
136
  archived: z.boolean().optional(),
130
- parameters: z.array(Parameter).optional()
137
+ parameters: PulseParametersInput
131
138
  }).loose();
132
139
  //#endregion
133
- export { Pulse, PulseCard, PulseCardCompact, PulseChannel, PulseChannelCompact, PulseChannelDetails, PulseChannelType, PulseCompact, PulseCreateInput, PulseRecipient, PulseRecipientCompact, PulseScheduleDay, PulseScheduleFrame, PulseScheduleType, PulseUpdateInput };
140
+ export { Pulse, PulseCard, PulseCardCompact, PulseChannel, PulseChannelCompact, PulseChannelDetails, PulseChannelType, PulseCompact, PulseCreateInput, PulseRecipient, PulseRecipientCompact, PulseScheduleDay, PulseScheduleFrame, PulseScheduleType, PulseUpdateInput, SUBSCRIPTION_FILTERS_GATE };
@@ -1,2 +1,2 @@
1
- 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-CyvtbxGg.js";
1
+ 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";
2
2
  export { ReplacementCheck, ReplacementColumn, ReplacementColumnError, ReplacementColumnMapping, ReplacementEntityType, ReplacementError, ReplacementModelWithTransformInput, ReplacementRun, ReplacementRunCompact, ReplacementRunStarted, ReplacementRunStatus, ReplacementSourceInput, ReplacementSourceType };
@@ -1,2 +1,2 @@
1
- import { a as RevisionRevertInput, i as RevisionRevert, n as RevisionCompact, o as RevisionRow, r as RevisionEntity, t as Revision } from "../revision-CQBPhohA.js";
2
- export { Revision, RevisionCompact, RevisionEntity, RevisionRevert, RevisionRevertInput, RevisionRow };
1
+ import { a as RevisionRevert, i as RevisionEntity, n as Revision, o as RevisionRevertInput, r as RevisionCompact, s as RevisionRow, t as REVISION_ENTITY_GATES } from "../revision-Dyl-8p7d.js";
2
+ export { REVISION_ENTITY_GATES, Revision, RevisionCompact, RevisionEntity, RevisionRevert, RevisionRevertInput, RevisionRow };
@@ -1,3 +1,4 @@
1
+ import { t as gateInput } from "../input-gate-registry-Dai7SfXb.js";
1
2
  import { z } from "zod";
2
3
  //#region src/domain/revision.ts
3
4
  const RevisionEntity = z.enum([
@@ -45,8 +46,34 @@ const RevisionRow = z.object({
45
46
  is_reversion: z.boolean(),
46
47
  most_recent: z.boolean()
47
48
  }).loose();
49
+ const REVISION_ENTITY_GATES = [
50
+ {
51
+ feature: "measures",
52
+ effect: "needs",
53
+ when: {
54
+ kind: "values",
55
+ values: ["measure"]
56
+ }
57
+ },
58
+ {
59
+ feature: "transforms",
60
+ effect: "needs",
61
+ when: {
62
+ kind: "values",
63
+ values: ["transform"]
64
+ }
65
+ },
66
+ {
67
+ feature: "transformTests",
68
+ effect: "needs",
69
+ when: {
70
+ kind: "values",
71
+ values: ["transform-test"]
72
+ }
73
+ }
74
+ ];
48
75
  const RevisionRevertInput = z.object({
49
- entity: RevisionEntity,
76
+ entity: gateInput(z.enum(RevisionEntity.options), ...REVISION_ENTITY_GATES),
50
77
  id: z.number().int().positive(),
51
78
  revision_id: z.number().int().positive()
52
79
  }).strict();
@@ -60,4 +87,4 @@ const RevisionUnchanged = z.object({
60
87
  });
61
88
  const RevisionRevert = z.discriminatedUnion("outcome", [RevisionReverted, RevisionUnchanged]);
62
89
  //#endregion
63
- export { Revision, RevisionCompact, RevisionEntity, RevisionRevert, RevisionRevertInput, RevisionRow };
90
+ export { REVISION_ENTITY_GATES, Revision, RevisionCompact, RevisionEntity, RevisionRevert, RevisionRevertInput, RevisionRow };
@@ -1,2 +1,2 @@
1
- import { i as SearchResultCompact, n as SearchModel, r as SearchResult, t as SEARCH_MODELS } from "../search-NZR6iRBs.js";
1
+ import { i as SearchResultCompact, n as SearchModel, r as SearchResult, t as SEARCH_MODELS } from "../search-Cm5IxKss.js";
2
2
  export { SEARCH_MODELS, SearchModel, SearchResult, SearchResultCompact };
@@ -1,2 +1,2 @@
1
- import { i as SegmentUpdateInput, n as SegmentCompact, r as SegmentCreateInput, t as Segment } from "../segment-pj3wklGe.js";
1
+ import { i as SegmentUpdateInput, n as SegmentCompact, r as SegmentCreateInput, t as Segment } from "../segment-CbAgVO-5.js";
2
2
  export { Segment, SegmentCompact, SegmentCreateInput, SegmentUpdateInput };
@@ -1,3 +1,5 @@
1
+ import { t as gateInput } from "../input-gate-registry-Dai7SfXb.js";
2
+ import { TABLE_FROM_DEFINITION_GATE } from "./table.js";
1
3
  import { z } from "zod";
2
4
  //#region src/domain/segment.ts
3
5
  const Segment = z.object({
@@ -26,7 +28,7 @@ const SegmentCompact = Segment.pick({
26
28
  const SegmentDefinition = z.record(z.string(), z.unknown()).describe("MBQL query holding the filter");
27
29
  const SegmentCreateInput = z.object({
28
30
  name: z.string().min(1),
29
- table_id: z.number().int().positive(),
31
+ table_id: gateInput(z.number().int().positive(), TABLE_FROM_DEFINITION_GATE),
30
32
  definition: SegmentDefinition,
31
33
  description: z.string().nullable().optional()
32
34
  }).loose();
@@ -1,2 +1,2 @@
1
- import { n as SetupResult, r as SetupResultCompact, t as SetupInput } from "../setup-Ez_U7GmM.js";
1
+ import { n as SetupResult, r as SetupResultCompact, t as SetupInput } from "../setup-JqcJ2unJ.js";
2
2
  export { SetupInput, SetupResult, SetupResultCompact };
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  const SetupUserInput = z.object({
4
4
  first_name: z.string().min(1).nullable().optional(),
5
5
  last_name: z.string().min(1).nullable().optional(),
6
- email: z.email(),
6
+ email: z.string(),
7
7
  password: z.string().min(1).describe("must satisfy the server's password complexity requirements")
8
8
  }).loose();
9
9
  const SetupPrefsInput = z.object({
@@ -1,2 +1,2 @@
1
- import { i as SnippetUpdateInput, n as SnippetCompact, r as SnippetCreateInput, t as Snippet } from "../snippet-hEV429Pv.js";
1
+ import { i as SnippetUpdateInput, n as SnippetCompact, r as SnippetCreateInput, t as Snippet } from "../snippet-C_Ilx7tR.js";
2
2
  export { Snippet, SnippetCompact, SnippetCreateInput, SnippetUpdateInput };
@@ -1,2 +1,2 @@
1
- import { S as TableVisibilityType, _ as TableSchemaId, a as TableCompact, b as TableSelectors, c as TableDataLayerTier, d as TableFieldValuesResult, f as TableForeignKey, g as TableQueryMetadataCompact, h as TableQueryMetadata, i as TableBulkEditResult, l as TableDataSource, m as TableGetInclude, n as TableBulkEditFields, o as TableDataLayer, p as TableForeignKeyCompact, r as TableBulkEditInput, s as TableDataLayerMedallion, t as Table, u as TableDatabase, v as TableSchemaSyncResult, x as TableUpdateInput, y as TableSelectionResult } from "../table-B3-UaPHa.js";
2
- export { Table, TableBulkEditFields, TableBulkEditInput, TableBulkEditResult, TableCompact, TableDataLayer, TableDataLayerMedallion, TableDataLayerTier, TableDataSource, TableDatabase, TableFieldValuesResult, TableForeignKey, TableForeignKeyCompact, TableGetInclude, TableQueryMetadata, TableQueryMetadataCompact, TableSchemaId, TableSchemaSyncResult, TableSelectionResult, TableSelectors, TableUpdateInput, TableVisibilityType };
1
+ 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, i as TABLE_FROM_DEFINITION_GATE, l as TableCompact, m as TableDatabase, n as DATA_LAYER_MEDALLION_GATE, o as TableBulkEditFields, p as TableDataSource, r as DATA_LAYER_TIER_GATE, s as TableBulkEditInput, t as DATA_AUTHORITY_WITHDRAWAL_GATE, u as TableDataLayer, v as TableGetInclude, w as TableSelectors, x as TableSchemaId, y as TableQueryMetadata } from "../table-Od6uvDVW.js";
2
+ export { DATA_AUTHORITY_WITHDRAWAL_GATE, DATA_LAYER_MEDALLION_GATE, DATA_LAYER_TIER_GATE, TABLE_FROM_DEFINITION_GATE, Table, TableBulkEditFields, TableBulkEditInput, TableBulkEditResult, TableCompact, TableDataLayer, TableDataLayerMedallion, TableDataLayerTier, TableDataSource, TableDatabase, TableFieldValuesResult, TableForeignKey, TableForeignKeyCompact, TableGetInclude, TableQueryMetadata, TableQueryMetadataCompact, TableSchemaId, TableSchemaSyncResult, TableSelectionResult, TableSelectors, TableUpdateInput, TableVisibilityType };