@sequenceholdings/pipeline-spec 0.1.0

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 (126) hide show
  1. package/README.md +114 -0
  2. package/dist/authoring/per-table-ingestion.d.ts +74 -0
  3. package/dist/authoring/per-table-ingestion.d.ts.map +1 -0
  4. package/dist/authoring/per-table-ingestion.js +122 -0
  5. package/dist/authoring/per-table-ingestion.js.map +1 -0
  6. package/dist/authoring/yaml.d.ts +6 -0
  7. package/dist/authoring/yaml.d.ts.map +1 -0
  8. package/dist/authoring/yaml.js +15 -0
  9. package/dist/authoring/yaml.js.map +1 -0
  10. package/dist/binding-gaps.d.ts +21 -0
  11. package/dist/binding-gaps.d.ts.map +1 -0
  12. package/dist/binding-gaps.js +74 -0
  13. package/dist/binding-gaps.js.map +1 -0
  14. package/dist/bodies/ingestion.d.ts +359 -0
  15. package/dist/bodies/ingestion.d.ts.map +1 -0
  16. package/dist/bodies/ingestion.js +446 -0
  17. package/dist/bodies/ingestion.js.map +1 -0
  18. package/dist/bodies/serving.d.ts +316 -0
  19. package/dist/bodies/serving.d.ts.map +1 -0
  20. package/dist/bodies/serving.js +290 -0
  21. package/dist/bodies/serving.js.map +1 -0
  22. package/dist/bodies/transformation.d.ts +397 -0
  23. package/dist/bodies/transformation.d.ts.map +1 -0
  24. package/dist/bodies/transformation.js +278 -0
  25. package/dist/bodies/transformation.js.map +1 -0
  26. package/dist/catalog-binding.d.ts +15 -0
  27. package/dist/catalog-binding.d.ts.map +1 -0
  28. package/dist/catalog-binding.js +15 -0
  29. package/dist/catalog-binding.js.map +1 -0
  30. package/dist/columns.d.ts +177 -0
  31. package/dist/columns.d.ts.map +1 -0
  32. package/dist/columns.js +89 -0
  33. package/dist/columns.js.map +1 -0
  34. package/dist/compatibility.d.ts +25 -0
  35. package/dist/compatibility.d.ts.map +1 -0
  36. package/dist/compatibility.js +108 -0
  37. package/dist/compatibility.js.map +1 -0
  38. package/dist/constants.d.ts +95 -0
  39. package/dist/constants.d.ts.map +1 -0
  40. package/dist/constants.js +105 -0
  41. package/dist/constants.js.map +1 -0
  42. package/dist/diff.d.ts +36 -0
  43. package/dist/diff.d.ts.map +1 -0
  44. package/dist/diff.js +300 -0
  45. package/dist/diff.js.map +1 -0
  46. package/dist/documentation.d.ts +22 -0
  47. package/dist/documentation.d.ts.map +1 -0
  48. package/dist/documentation.js +43 -0
  49. package/dist/documentation.js.map +1 -0
  50. package/dist/envelope.d.ts +1241 -0
  51. package/dist/envelope.d.ts.map +1 -0
  52. package/dist/envelope.js +163 -0
  53. package/dist/envelope.js.map +1 -0
  54. package/dist/errors.d.ts +30 -0
  55. package/dist/errors.d.ts.map +1 -0
  56. package/dist/errors.js +47 -0
  57. package/dist/errors.js.map +1 -0
  58. package/dist/graph-references.d.ts +34 -0
  59. package/dist/graph-references.d.ts.map +1 -0
  60. package/dist/graph-references.js +81 -0
  61. package/dist/graph-references.js.map +1 -0
  62. package/dist/graph.d.ts +112 -0
  63. package/dist/graph.d.ts.map +1 -0
  64. package/dist/graph.js +546 -0
  65. package/dist/graph.js.map +1 -0
  66. package/dist/hash.d.ts +28 -0
  67. package/dist/hash.d.ts.map +1 -0
  68. package/dist/hash.js +91 -0
  69. package/dist/hash.js.map +1 -0
  70. package/dist/index.d.ts +27 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +27 -0
  73. package/dist/index.js.map +1 -0
  74. package/dist/issues.d.ts +14 -0
  75. package/dist/issues.d.ts.map +1 -0
  76. package/dist/issues.js +27 -0
  77. package/dist/issues.js.map +1 -0
  78. package/dist/loader.d.ts +50 -0
  79. package/dist/loader.d.ts.map +1 -0
  80. package/dist/loader.js +241 -0
  81. package/dist/loader.js.map +1 -0
  82. package/dist/migrations/contracts.d.ts +38 -0
  83. package/dist/migrations/contracts.d.ts.map +1 -0
  84. package/dist/migrations/contracts.js +175 -0
  85. package/dist/migrations/contracts.js.map +1 -0
  86. package/dist/migrations/manifest.d.ts +137 -0
  87. package/dist/migrations/manifest.d.ts.map +1 -0
  88. package/dist/migrations/manifest.js +137 -0
  89. package/dist/migrations/manifest.js.map +1 -0
  90. package/dist/operations.d.ts +214 -0
  91. package/dist/operations.d.ts.map +1 -0
  92. package/dist/operations.js +275 -0
  93. package/dist/operations.js.map +1 -0
  94. package/dist/orm-satisfies.d.ts +132 -0
  95. package/dist/orm-satisfies.d.ts.map +1 -0
  96. package/dist/orm-satisfies.js +119 -0
  97. package/dist/orm-satisfies.js.map +1 -0
  98. package/dist/primitives.d.ts +11 -0
  99. package/dist/primitives.d.ts.map +1 -0
  100. package/dist/primitives.js +20 -0
  101. package/dist/primitives.js.map +1 -0
  102. package/dist/resolve.d.ts +124 -0
  103. package/dist/resolve.d.ts.map +1 -0
  104. package/dist/resolve.js +194 -0
  105. package/dist/resolve.js.map +1 -0
  106. package/dist/secret-scan.d.ts +34 -0
  107. package/dist/secret-scan.d.ts.map +1 -0
  108. package/dist/secret-scan.js +98 -0
  109. package/dist/secret-scan.js.map +1 -0
  110. package/dist/serving-compatibility.d.ts +14 -0
  111. package/dist/serving-compatibility.d.ts.map +1 -0
  112. package/dist/serving-compatibility.js +19 -0
  113. package/dist/serving-compatibility.js.map +1 -0
  114. package/dist/snapshot-transport.d.ts +83 -0
  115. package/dist/snapshot-transport.d.ts.map +1 -0
  116. package/dist/snapshot-transport.js +42 -0
  117. package/dist/snapshot-transport.js.map +1 -0
  118. package/dist/suggestions.d.ts +3 -0
  119. package/dist/suggestions.d.ts.map +1 -0
  120. package/dist/suggestions.js +26 -0
  121. package/dist/suggestions.js.map +1 -0
  122. package/dist/types.d.ts +72 -0
  123. package/dist/types.d.ts.map +1 -0
  124. package/dist/types.js +119 -0
  125. package/dist/types.js.map +1 -0
  126. package/package.json +52 -0
@@ -0,0 +1,1241 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * The stage envelope — the kind-agnostic contract every stage carries:
4
+ * identity, ownership, reliability posture, deploy targets, and operations.
5
+ * The typed bodies (ingestion / transformation / serving) hang off the `type`
6
+ * discriminator.
7
+ *
8
+ * Everything here is **portable**: symbolic references only (credential
9
+ * families, alert channels, worker machines). Resolution against a deploy
10
+ * target's facts happens in `resolveSpec`.
11
+ */
12
+ export declare const stageIdSchema: z.ZodString;
13
+ export declare const deployTargetSchema: z.ZodString;
14
+ export declare const CRITICALITIES: readonly ["critical", "standard", "experimental"];
15
+ export declare const criticalitySchema: z.ZodEnum<{
16
+ critical: "critical";
17
+ standard: "standard";
18
+ experimental: "experimental";
19
+ }>;
20
+ export type Criticality = z.infer<typeof criticalitySchema>;
21
+ /**
22
+ * Remediation posture when the platform detects a contract/reliability
23
+ * failure (carried over from the pipeline-observability contract vocabulary):
24
+ * `manual_only` (default) — page a human; `draft_pr_allowlisted` — the
25
+ * platform may draft a fix PR touching allowlisted paths; `disabled` — no
26
+ * automated remediation, alerts only.
27
+ */
28
+ export declare const REMEDIATION_POSTURES: readonly ["manual_only", "draft_pr_allowlisted", "disabled"];
29
+ export declare const remediationPostureSchema: z.ZodEnum<{
30
+ manual_only: "manual_only";
31
+ draft_pr_allowlisted: "draft_pr_allowlisted";
32
+ disabled: "disabled";
33
+ }>;
34
+ export type RemediationPosture = z.infer<typeof remediationPostureSchema>;
35
+ /** Reliability targets. Both optional — criticality drives which are required by policy, not schema. */
36
+ export declare const slosSchema: z.ZodObject<{
37
+ freshness: z.ZodOptional<z.ZodString>;
38
+ max_duration: z.ZodOptional<z.ZodString>;
39
+ }, z.core.$strict>;
40
+ export type Slos = z.infer<typeof slosSchema>;
41
+ /** Symbolic alert channel references — bound to concrete routes by `resolveSpec`. */
42
+ export declare const alertsSchema: z.ZodObject<{
43
+ channels: z.ZodArray<z.ZodString>;
44
+ }, z.core.$strict>;
45
+ export type Alerts = z.infer<typeof alertsSchema>;
46
+ export declare const ingestionStageSchema: z.ZodObject<{
47
+ runtime: z.ZodEnum<{
48
+ databricks: "databricks";
49
+ "edge-worker": "edge-worker";
50
+ upload: "upload";
51
+ }>;
52
+ worker: z.ZodOptional<z.ZodObject<{
53
+ machine: z.ZodString;
54
+ data_source: z.ZodString;
55
+ credential: z.ZodString;
56
+ operation: z.ZodOptional<z.ZodString>;
57
+ max_concurrent: z.ZodOptional<z.ZodNumber>;
58
+ }, z.core.$strict>>;
59
+ source: z.ZodOptional<z.ZodObject<{
60
+ system: z.ZodString;
61
+ credential: z.ZodOptional<z.ZodString>;
62
+ }, z.core.$strict>>;
63
+ materializer: z.ZodOptional<z.ZodObject<{
64
+ max_concurrent: z.ZodNumber;
65
+ strategy: z.ZodOptional<z.ZodEnum<{
66
+ per_feed: "per_feed";
67
+ sharded: "sharded";
68
+ }>>;
69
+ }, z.core.$strict>>;
70
+ feeds: z.ZodRecord<z.ZodString, z.ZodObject<{
71
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
72
+ description: z.ZodString;
73
+ }, z.core.$strict>>>;
74
+ documentation_ref: z.ZodOptional<z.ZodString>;
75
+ snapshot_mode: z.ZodEnum<{
76
+ full_snapshot: "full_snapshot";
77
+ incremental: "incremental";
78
+ event_stream: "event_stream";
79
+ }>;
80
+ natural_key: z.ZodOptional<z.ZodArray<z.ZodString>>;
81
+ cursor: z.ZodOptional<z.ZodObject<{
82
+ column: z.ZodString;
83
+ encoding: z.ZodOptional<z.ZodString>;
84
+ }, z.core.$strict>>;
85
+ pii: z.ZodDefault<z.ZodEnum<{
86
+ none: "none";
87
+ contains_pii: "contains_pii";
88
+ }>>;
89
+ format: z.ZodOptional<z.ZodEnum<{
90
+ json: "json";
91
+ custom: "custom";
92
+ parquet: "parquet";
93
+ csv: "csv";
94
+ xlsx: "xlsx";
95
+ }>>;
96
+ decoder: z.ZodOptional<z.ZodString>;
97
+ extraction: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
98
+ freshness_slo: z.ZodOptional<z.ZodString>;
99
+ optional: z.ZodOptional<z.ZodBoolean>;
100
+ description: z.ZodOptional<z.ZodString>;
101
+ column_descriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
102
+ }, z.core.$strict>>;
103
+ schedule: z.ZodOptional<z.ZodObject<{
104
+ cron: z.ZodString;
105
+ tz: z.ZodString;
106
+ policy: z.ZodOptional<z.ZodObject<{
107
+ singleton: z.ZodOptional<z.ZodBoolean>;
108
+ exclusion_group: z.ZodOptional<z.ZodString>;
109
+ timeout_minutes: z.ZodOptional<z.ZodNumber>;
110
+ mutates: z.ZodOptional<z.ZodBoolean>;
111
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
112
+ requires_approval: z.ZodOptional<z.ZodBoolean>;
113
+ }, z.core.$strict>>;
114
+ }, z.core.$strict>>;
115
+ freshness_slo: z.ZodOptional<z.ZodString>;
116
+ retention: z.ZodOptional<z.ZodString>;
117
+ entrypoint: z.ZodOptional<z.ZodString>;
118
+ type: z.ZodLiteral<"ingestion">;
119
+ schema_version: z.ZodLiteral<1>;
120
+ stage: z.ZodString;
121
+ title: z.ZodString;
122
+ description: z.ZodString;
123
+ owners: z.ZodArray<z.ZodEmail>;
124
+ criticality: z.ZodEnum<{
125
+ critical: "critical";
126
+ standard: "standard";
127
+ experimental: "experimental";
128
+ }>;
129
+ slos: z.ZodOptional<z.ZodObject<{
130
+ freshness: z.ZodOptional<z.ZodString>;
131
+ max_duration: z.ZodOptional<z.ZodString>;
132
+ }, z.core.$strict>>;
133
+ alerts: z.ZodOptional<z.ZodObject<{
134
+ channels: z.ZodArray<z.ZodString>;
135
+ }, z.core.$strict>>;
136
+ runbook: z.ZodOptional<z.ZodURL>;
137
+ remediation_posture: z.ZodDefault<z.ZodEnum<{
138
+ manual_only: "manual_only";
139
+ draft_pr_allowlisted: "draft_pr_allowlisted";
140
+ disabled: "disabled";
141
+ }>>;
142
+ environments: z.ZodArray<z.ZodString>;
143
+ operations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
144
+ description: z.ZodString;
145
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
146
+ type: z.ZodLiteral<"enum">;
147
+ description: z.ZodOptional<z.ZodString>;
148
+ values: z.ZodArray<z.ZodString>;
149
+ optional: z.ZodDefault<z.ZodBoolean>;
150
+ default: z.ZodOptional<z.ZodString>;
151
+ }, z.core.$strict>, z.ZodObject<{
152
+ type: z.ZodLiteral<"array">;
153
+ description: z.ZodOptional<z.ZodString>;
154
+ items: z.ZodEnum<{
155
+ string: "string";
156
+ boolean: "boolean";
157
+ uuid: "uuid";
158
+ int: "int";
159
+ long: "long";
160
+ numeric: "numeric";
161
+ double: "double";
162
+ timestamp: "timestamp";
163
+ date: "date";
164
+ }>;
165
+ optional: z.ZodDefault<z.ZodBoolean>;
166
+ default: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
167
+ min_items: z.ZodOptional<z.ZodNumber>;
168
+ max_items: z.ZodOptional<z.ZodNumber>;
169
+ }, z.core.$strict>, z.ZodObject<{
170
+ type: z.ZodEnum<{
171
+ string: "string";
172
+ boolean: "boolean";
173
+ uuid: "uuid";
174
+ int: "int";
175
+ long: "long";
176
+ numeric: "numeric";
177
+ double: "double";
178
+ timestamp: "timestamp";
179
+ date: "date";
180
+ }>;
181
+ description: z.ZodOptional<z.ZodString>;
182
+ optional: z.ZodDefault<z.ZodBoolean>;
183
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
184
+ }, z.core.$strict>]>>>;
185
+ policy: z.ZodDefault<z.ZodObject<{
186
+ singleton: z.ZodOptional<z.ZodBoolean>;
187
+ exclusion_group: z.ZodOptional<z.ZodString>;
188
+ timeout_minutes: z.ZodOptional<z.ZodNumber>;
189
+ mutates: z.ZodOptional<z.ZodBoolean>;
190
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
191
+ requires_approval: z.ZodOptional<z.ZodBoolean>;
192
+ }, z.core.$strict>>;
193
+ entrypoint: z.ZodOptional<z.ZodString>;
194
+ }, z.core.$strict>>>;
195
+ }, z.core.$strict>;
196
+ export declare const transformationStageSchema: z.ZodObject<{
197
+ engine: z.ZodEnum<{
198
+ dlt: "dlt";
199
+ "spark-job": "spark-job";
200
+ polars: "polars";
201
+ }>;
202
+ inputs: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
203
+ kind: z.ZodLiteral<"lakebase_cdf">;
204
+ table: z.ZodString;
205
+ columns: z.ZodUnion<readonly [z.ZodObject<{
206
+ schema_ref: z.ZodString;
207
+ }, z.core.$strict>, z.ZodRecord<z.ZodString, z.ZodObject<{
208
+ type: z.ZodUnion<readonly [z.ZodEnum<{
209
+ string: "string";
210
+ boolean: "boolean";
211
+ uuid: "uuid";
212
+ int: "int";
213
+ long: "long";
214
+ numeric: "numeric";
215
+ double: "double";
216
+ timestamp: "timestamp";
217
+ date: "date";
218
+ json: "json";
219
+ }>, z.ZodEnum<{
220
+ float: "float";
221
+ timestamp_ntz: "timestamp_ntz";
222
+ array: "array";
223
+ map: "map";
224
+ struct: "struct";
225
+ binary: "binary";
226
+ }>, z.ZodString]>;
227
+ nullable: z.ZodDefault<z.ZodBoolean>;
228
+ key: z.ZodDefault<z.ZodBoolean>;
229
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
230
+ description: z.ZodOptional<z.ZodString>;
231
+ on_violation: z.ZodDefault<z.ZodEnum<{
232
+ fail: "fail";
233
+ quarantine: "quarantine";
234
+ warn: "warn";
235
+ }>>;
236
+ }, z.core.$strict>>]>;
237
+ fold: z.ZodEnum<{
238
+ latest_state: "latest_state";
239
+ events: "events";
240
+ }>;
241
+ }, z.core.$strict>, z.ZodObject<{
242
+ stage: z.ZodString;
243
+ feed: z.ZodOptional<z.ZodString>;
244
+ output: z.ZodOptional<z.ZodString>;
245
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
246
+ freshness_requirement: z.ZodOptional<z.ZodString>;
247
+ declared_loose: z.ZodOptional<z.ZodBoolean>;
248
+ }, z.core.$strict>]>>;
249
+ trigger: z.ZodObject<{
250
+ manual: z.ZodOptional<z.ZodLiteral<true>>;
251
+ cron: z.ZodOptional<z.ZodString>;
252
+ after: z.ZodOptional<z.ZodArray<z.ZodString>>;
253
+ refresh_serving: z.ZodOptional<z.ZodArray<z.ZodString>>;
254
+ }, z.core.$strict>;
255
+ outputs: z.ZodRecord<z.ZodString, z.ZodObject<{
256
+ description: z.ZodOptional<z.ZodString>;
257
+ columns: z.ZodUnion<readonly [z.ZodObject<{
258
+ schema_ref: z.ZodString;
259
+ }, z.core.$strict>, z.ZodRecord<z.ZodString, z.ZodObject<{
260
+ type: z.ZodUnion<readonly [z.ZodEnum<{
261
+ string: "string";
262
+ boolean: "boolean";
263
+ uuid: "uuid";
264
+ int: "int";
265
+ long: "long";
266
+ numeric: "numeric";
267
+ double: "double";
268
+ timestamp: "timestamp";
269
+ date: "date";
270
+ json: "json";
271
+ }>, z.ZodEnum<{
272
+ float: "float";
273
+ timestamp_ntz: "timestamp_ntz";
274
+ array: "array";
275
+ map: "map";
276
+ struct: "struct";
277
+ binary: "binary";
278
+ }>, z.ZodString]>;
279
+ nullable: z.ZodDefault<z.ZodBoolean>;
280
+ key: z.ZodDefault<z.ZodBoolean>;
281
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
282
+ description: z.ZodOptional<z.ZodString>;
283
+ on_violation: z.ZodDefault<z.ZodEnum<{
284
+ fail: "fail";
285
+ quarantine: "quarantine";
286
+ warn: "warn";
287
+ }>>;
288
+ }, z.core.$strict>>]>;
289
+ on_type_violation: z.ZodDefault<z.ZodEnum<{
290
+ fail: "fail";
291
+ quarantine: "quarantine";
292
+ warn: "warn";
293
+ }>>;
294
+ compatibility: z.ZodDefault<z.ZodEnum<{
295
+ "additive-only": "additive-only";
296
+ versioned: "versioned";
297
+ }>>;
298
+ write_pattern: z.ZodEnum<{
299
+ overwrite: "overwrite";
300
+ append: "append";
301
+ auto_cdc: "auto_cdc";
302
+ }>;
303
+ write_scope: z.ZodOptional<z.ZodObject<{
304
+ column: z.ZodString;
305
+ value: z.ZodString;
306
+ }, z.core.$strict>>;
307
+ }, z.core.$strict>>;
308
+ entrypoint: z.ZodString;
309
+ config: z.ZodOptional<z.ZodObject<{
310
+ catalog: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
311
+ default: z.ZodString;
312
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
313
+ }, z.core.$strict>]>>;
314
+ history_catalog: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
315
+ default: z.ZodString;
316
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
317
+ }, z.core.$strict>]>>;
318
+ silver_catalog: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
319
+ default: z.ZodString;
320
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
321
+ }, z.core.$strict>]>>;
322
+ python_environment_version: z.ZodOptional<z.ZodEnum<{
323
+ 3: "3";
324
+ 4: "4";
325
+ }>>;
326
+ }, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
327
+ type: z.ZodLiteral<"transformation">;
328
+ schema_version: z.ZodLiteral<1>;
329
+ stage: z.ZodString;
330
+ title: z.ZodString;
331
+ description: z.ZodString;
332
+ owners: z.ZodArray<z.ZodEmail>;
333
+ criticality: z.ZodEnum<{
334
+ critical: "critical";
335
+ standard: "standard";
336
+ experimental: "experimental";
337
+ }>;
338
+ slos: z.ZodOptional<z.ZodObject<{
339
+ freshness: z.ZodOptional<z.ZodString>;
340
+ max_duration: z.ZodOptional<z.ZodString>;
341
+ }, z.core.$strict>>;
342
+ alerts: z.ZodOptional<z.ZodObject<{
343
+ channels: z.ZodArray<z.ZodString>;
344
+ }, z.core.$strict>>;
345
+ runbook: z.ZodOptional<z.ZodURL>;
346
+ remediation_posture: z.ZodDefault<z.ZodEnum<{
347
+ manual_only: "manual_only";
348
+ draft_pr_allowlisted: "draft_pr_allowlisted";
349
+ disabled: "disabled";
350
+ }>>;
351
+ environments: z.ZodArray<z.ZodString>;
352
+ operations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
353
+ description: z.ZodString;
354
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
355
+ type: z.ZodLiteral<"enum">;
356
+ description: z.ZodOptional<z.ZodString>;
357
+ values: z.ZodArray<z.ZodString>;
358
+ optional: z.ZodDefault<z.ZodBoolean>;
359
+ default: z.ZodOptional<z.ZodString>;
360
+ }, z.core.$strict>, z.ZodObject<{
361
+ type: z.ZodLiteral<"array">;
362
+ description: z.ZodOptional<z.ZodString>;
363
+ items: z.ZodEnum<{
364
+ string: "string";
365
+ boolean: "boolean";
366
+ uuid: "uuid";
367
+ int: "int";
368
+ long: "long";
369
+ numeric: "numeric";
370
+ double: "double";
371
+ timestamp: "timestamp";
372
+ date: "date";
373
+ }>;
374
+ optional: z.ZodDefault<z.ZodBoolean>;
375
+ default: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
376
+ min_items: z.ZodOptional<z.ZodNumber>;
377
+ max_items: z.ZodOptional<z.ZodNumber>;
378
+ }, z.core.$strict>, z.ZodObject<{
379
+ type: z.ZodEnum<{
380
+ string: "string";
381
+ boolean: "boolean";
382
+ uuid: "uuid";
383
+ int: "int";
384
+ long: "long";
385
+ numeric: "numeric";
386
+ double: "double";
387
+ timestamp: "timestamp";
388
+ date: "date";
389
+ }>;
390
+ description: z.ZodOptional<z.ZodString>;
391
+ optional: z.ZodDefault<z.ZodBoolean>;
392
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
393
+ }, z.core.$strict>]>>>;
394
+ policy: z.ZodDefault<z.ZodObject<{
395
+ singleton: z.ZodOptional<z.ZodBoolean>;
396
+ exclusion_group: z.ZodOptional<z.ZodString>;
397
+ timeout_minutes: z.ZodOptional<z.ZodNumber>;
398
+ mutates: z.ZodOptional<z.ZodBoolean>;
399
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
400
+ requires_approval: z.ZodOptional<z.ZodBoolean>;
401
+ }, z.core.$strict>>;
402
+ entrypoint: z.ZodOptional<z.ZodString>;
403
+ }, z.core.$strict>>>;
404
+ }, z.core.$strict>;
405
+ export declare const servingStageSchema: z.ZodObject<{
406
+ transport: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
407
+ kind: z.ZodLiteral<"native_lakebase_sync_v1">;
408
+ }, z.core.$strict>, z.ZodObject<{
409
+ kind: z.ZodLiteral<"postgres_snapshot_landing_v1">;
410
+ binding: z.ZodString;
411
+ database: z.ZodString;
412
+ entity: z.ZodString;
413
+ landing: z.ZodObject<{
414
+ schema: z.ZodString;
415
+ relation: z.ZodString;
416
+ }, z.core.$strict>;
417
+ buffer: z.ZodObject<{
418
+ schema: z.ZodString;
419
+ relation: z.ZodString;
420
+ }, z.core.$strict>;
421
+ full_source_columns: z.ZodRecord<z.ZodString, z.ZodObject<{
422
+ type: z.ZodUnion<readonly [z.ZodEnum<{
423
+ string: "string";
424
+ boolean: "boolean";
425
+ uuid: "uuid";
426
+ int: "int";
427
+ long: "long";
428
+ numeric: "numeric";
429
+ double: "double";
430
+ timestamp: "timestamp";
431
+ date: "date";
432
+ json: "json";
433
+ }>, z.ZodEnum<{
434
+ float: "float";
435
+ timestamp_ntz: "timestamp_ntz";
436
+ array: "array";
437
+ map: "map";
438
+ struct: "struct";
439
+ binary: "binary";
440
+ }>, z.ZodString]>;
441
+ nullable: z.ZodDefault<z.ZodBoolean>;
442
+ key: z.ZodDefault<z.ZodBoolean>;
443
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
444
+ description: z.ZodOptional<z.ZodString>;
445
+ on_violation: z.ZodDefault<z.ZodEnum<{
446
+ fail: "fail";
447
+ quarantine: "quarantine";
448
+ warn: "warn";
449
+ }>>;
450
+ }, z.core.$strict>>;
451
+ }, z.core.$strict>], "kind">>;
452
+ source: z.ZodObject<{
453
+ stage: z.ZodString;
454
+ output: z.ZodString;
455
+ catalog: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
456
+ default: z.ZodString;
457
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
458
+ }, z.core.$strict>]>>;
459
+ external: z.ZodOptional<z.ZodLiteral<true>>;
460
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
461
+ type: z.ZodUnion<readonly [z.ZodEnum<{
462
+ string: "string";
463
+ boolean: "boolean";
464
+ uuid: "uuid";
465
+ int: "int";
466
+ long: "long";
467
+ numeric: "numeric";
468
+ double: "double";
469
+ timestamp: "timestamp";
470
+ date: "date";
471
+ json: "json";
472
+ }>, z.ZodEnum<{
473
+ float: "float";
474
+ timestamp_ntz: "timestamp_ntz";
475
+ array: "array";
476
+ map: "map";
477
+ struct: "struct";
478
+ binary: "binary";
479
+ }>, z.ZodString]>;
480
+ nullable: z.ZodDefault<z.ZodBoolean>;
481
+ key: z.ZodDefault<z.ZodBoolean>;
482
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
483
+ description: z.ZodOptional<z.ZodString>;
484
+ on_violation: z.ZodDefault<z.ZodEnum<{
485
+ fail: "fail";
486
+ quarantine: "quarantine";
487
+ warn: "warn";
488
+ }>>;
489
+ }, z.core.$strict>>>;
490
+ }, z.core.$strict>;
491
+ projection: z.ZodObject<{
492
+ columns: z.ZodUnion<readonly [z.ZodObject<{
493
+ schema_ref: z.ZodString;
494
+ }, z.core.$strict>, z.ZodRecord<z.ZodString, z.ZodObject<{
495
+ type: z.ZodUnion<readonly [z.ZodEnum<{
496
+ string: "string";
497
+ boolean: "boolean";
498
+ uuid: "uuid";
499
+ int: "int";
500
+ long: "long";
501
+ numeric: "numeric";
502
+ double: "double";
503
+ timestamp: "timestamp";
504
+ date: "date";
505
+ json: "json";
506
+ }>, z.ZodEnum<{
507
+ float: "float";
508
+ timestamp_ntz: "timestamp_ntz";
509
+ array: "array";
510
+ map: "map";
511
+ struct: "struct";
512
+ binary: "binary";
513
+ }>, z.ZodString]>;
514
+ nullable: z.ZodDefault<z.ZodBoolean>;
515
+ key: z.ZodDefault<z.ZodBoolean>;
516
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
517
+ description: z.ZodOptional<z.ZodString>;
518
+ on_violation: z.ZodDefault<z.ZodEnum<{
519
+ fail: "fail";
520
+ quarantine: "quarantine";
521
+ warn: "warn";
522
+ }>>;
523
+ }, z.core.$strict>>]>;
524
+ primary_key: z.ZodArray<z.ZodString>;
525
+ }, z.core.$strict>;
526
+ sync_mode: z.ZodEnum<{
527
+ SNAPSHOT: "SNAPSHOT";
528
+ TRIGGERED: "TRIGGERED";
529
+ CONTINUOUS: "CONTINUOUS";
530
+ }>;
531
+ trigger: z.ZodOptional<z.ZodObject<{
532
+ after: z.ZodString;
533
+ }, z.core.$strict>>;
534
+ expose: z.ZodObject<{
535
+ view: z.ZodString;
536
+ public_view_access: z.ZodOptional<z.ZodEnum<{
537
+ standard: "standard";
538
+ reporting: "reporting";
539
+ owner_only: "owner_only";
540
+ orm_only: "orm_only";
541
+ }>>;
542
+ orm_only_schema: z.ZodOptional<z.ZodString>;
543
+ orm_only_catalog: z.ZodOptional<z.ZodString>;
544
+ reporting_table: z.ZodOptional<z.ZodString>;
545
+ }, z.core.$strict>;
546
+ orm_binding: z.ZodOptional<z.ZodObject<{
547
+ namespace: z.ZodString;
548
+ table: z.ZodString;
549
+ mode: z.ZodEnum<{
550
+ referenced: "referenced";
551
+ managed: "managed";
552
+ }>;
553
+ }, z.core.$strict>>;
554
+ satisfies: z.ZodOptional<z.ZodObject<{
555
+ namespace: z.ZodString;
556
+ table: z.ZodString;
557
+ content_hash: z.ZodString;
558
+ }, z.core.$strict>>;
559
+ type: z.ZodLiteral<"serving">;
560
+ schema_version: z.ZodLiteral<1>;
561
+ stage: z.ZodString;
562
+ title: z.ZodString;
563
+ description: z.ZodString;
564
+ owners: z.ZodArray<z.ZodEmail>;
565
+ criticality: z.ZodEnum<{
566
+ critical: "critical";
567
+ standard: "standard";
568
+ experimental: "experimental";
569
+ }>;
570
+ slos: z.ZodOptional<z.ZodObject<{
571
+ freshness: z.ZodOptional<z.ZodString>;
572
+ max_duration: z.ZodOptional<z.ZodString>;
573
+ }, z.core.$strict>>;
574
+ alerts: z.ZodOptional<z.ZodObject<{
575
+ channels: z.ZodArray<z.ZodString>;
576
+ }, z.core.$strict>>;
577
+ runbook: z.ZodOptional<z.ZodURL>;
578
+ remediation_posture: z.ZodDefault<z.ZodEnum<{
579
+ manual_only: "manual_only";
580
+ draft_pr_allowlisted: "draft_pr_allowlisted";
581
+ disabled: "disabled";
582
+ }>>;
583
+ environments: z.ZodArray<z.ZodString>;
584
+ operations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
585
+ description: z.ZodString;
586
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
587
+ type: z.ZodLiteral<"enum">;
588
+ description: z.ZodOptional<z.ZodString>;
589
+ values: z.ZodArray<z.ZodString>;
590
+ optional: z.ZodDefault<z.ZodBoolean>;
591
+ default: z.ZodOptional<z.ZodString>;
592
+ }, z.core.$strict>, z.ZodObject<{
593
+ type: z.ZodLiteral<"array">;
594
+ description: z.ZodOptional<z.ZodString>;
595
+ items: z.ZodEnum<{
596
+ string: "string";
597
+ boolean: "boolean";
598
+ uuid: "uuid";
599
+ int: "int";
600
+ long: "long";
601
+ numeric: "numeric";
602
+ double: "double";
603
+ timestamp: "timestamp";
604
+ date: "date";
605
+ }>;
606
+ optional: z.ZodDefault<z.ZodBoolean>;
607
+ default: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
608
+ min_items: z.ZodOptional<z.ZodNumber>;
609
+ max_items: z.ZodOptional<z.ZodNumber>;
610
+ }, z.core.$strict>, z.ZodObject<{
611
+ type: z.ZodEnum<{
612
+ string: "string";
613
+ boolean: "boolean";
614
+ uuid: "uuid";
615
+ int: "int";
616
+ long: "long";
617
+ numeric: "numeric";
618
+ double: "double";
619
+ timestamp: "timestamp";
620
+ date: "date";
621
+ }>;
622
+ description: z.ZodOptional<z.ZodString>;
623
+ optional: z.ZodDefault<z.ZodBoolean>;
624
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
625
+ }, z.core.$strict>]>>>;
626
+ policy: z.ZodDefault<z.ZodObject<{
627
+ singleton: z.ZodOptional<z.ZodBoolean>;
628
+ exclusion_group: z.ZodOptional<z.ZodString>;
629
+ timeout_minutes: z.ZodOptional<z.ZodNumber>;
630
+ mutates: z.ZodOptional<z.ZodBoolean>;
631
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
632
+ requires_approval: z.ZodOptional<z.ZodBoolean>;
633
+ }, z.core.$strict>>;
634
+ entrypoint: z.ZodOptional<z.ZodString>;
635
+ }, z.core.$strict>>>;
636
+ }, z.core.$strict>;
637
+ /**
638
+ * A full stage spec: envelope + typed body, discriminated on `type`.
639
+ * The single source of truth for spec shapes — all TS types are inferred.
640
+ */
641
+ export declare const stageSpecSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
642
+ runtime: z.ZodEnum<{
643
+ databricks: "databricks";
644
+ "edge-worker": "edge-worker";
645
+ upload: "upload";
646
+ }>;
647
+ worker: z.ZodOptional<z.ZodObject<{
648
+ machine: z.ZodString;
649
+ data_source: z.ZodString;
650
+ credential: z.ZodString;
651
+ operation: z.ZodOptional<z.ZodString>;
652
+ max_concurrent: z.ZodOptional<z.ZodNumber>;
653
+ }, z.core.$strict>>;
654
+ source: z.ZodOptional<z.ZodObject<{
655
+ system: z.ZodString;
656
+ credential: z.ZodOptional<z.ZodString>;
657
+ }, z.core.$strict>>;
658
+ materializer: z.ZodOptional<z.ZodObject<{
659
+ max_concurrent: z.ZodNumber;
660
+ strategy: z.ZodOptional<z.ZodEnum<{
661
+ per_feed: "per_feed";
662
+ sharded: "sharded";
663
+ }>>;
664
+ }, z.core.$strict>>;
665
+ feeds: z.ZodRecord<z.ZodString, z.ZodObject<{
666
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
667
+ description: z.ZodString;
668
+ }, z.core.$strict>>>;
669
+ documentation_ref: z.ZodOptional<z.ZodString>;
670
+ snapshot_mode: z.ZodEnum<{
671
+ full_snapshot: "full_snapshot";
672
+ incremental: "incremental";
673
+ event_stream: "event_stream";
674
+ }>;
675
+ natural_key: z.ZodOptional<z.ZodArray<z.ZodString>>;
676
+ cursor: z.ZodOptional<z.ZodObject<{
677
+ column: z.ZodString;
678
+ encoding: z.ZodOptional<z.ZodString>;
679
+ }, z.core.$strict>>;
680
+ pii: z.ZodDefault<z.ZodEnum<{
681
+ none: "none";
682
+ contains_pii: "contains_pii";
683
+ }>>;
684
+ format: z.ZodOptional<z.ZodEnum<{
685
+ json: "json";
686
+ custom: "custom";
687
+ parquet: "parquet";
688
+ csv: "csv";
689
+ xlsx: "xlsx";
690
+ }>>;
691
+ decoder: z.ZodOptional<z.ZodString>;
692
+ extraction: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
693
+ freshness_slo: z.ZodOptional<z.ZodString>;
694
+ optional: z.ZodOptional<z.ZodBoolean>;
695
+ description: z.ZodOptional<z.ZodString>;
696
+ column_descriptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
697
+ }, z.core.$strict>>;
698
+ schedule: z.ZodOptional<z.ZodObject<{
699
+ cron: z.ZodString;
700
+ tz: z.ZodString;
701
+ policy: z.ZodOptional<z.ZodObject<{
702
+ singleton: z.ZodOptional<z.ZodBoolean>;
703
+ exclusion_group: z.ZodOptional<z.ZodString>;
704
+ timeout_minutes: z.ZodOptional<z.ZodNumber>;
705
+ mutates: z.ZodOptional<z.ZodBoolean>;
706
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
707
+ requires_approval: z.ZodOptional<z.ZodBoolean>;
708
+ }, z.core.$strict>>;
709
+ }, z.core.$strict>>;
710
+ freshness_slo: z.ZodOptional<z.ZodString>;
711
+ retention: z.ZodOptional<z.ZodString>;
712
+ entrypoint: z.ZodOptional<z.ZodString>;
713
+ type: z.ZodLiteral<"ingestion">;
714
+ schema_version: z.ZodLiteral<1>;
715
+ stage: z.ZodString;
716
+ title: z.ZodString;
717
+ description: z.ZodString;
718
+ owners: z.ZodArray<z.ZodEmail>;
719
+ criticality: z.ZodEnum<{
720
+ critical: "critical";
721
+ standard: "standard";
722
+ experimental: "experimental";
723
+ }>;
724
+ slos: z.ZodOptional<z.ZodObject<{
725
+ freshness: z.ZodOptional<z.ZodString>;
726
+ max_duration: z.ZodOptional<z.ZodString>;
727
+ }, z.core.$strict>>;
728
+ alerts: z.ZodOptional<z.ZodObject<{
729
+ channels: z.ZodArray<z.ZodString>;
730
+ }, z.core.$strict>>;
731
+ runbook: z.ZodOptional<z.ZodURL>;
732
+ remediation_posture: z.ZodDefault<z.ZodEnum<{
733
+ manual_only: "manual_only";
734
+ draft_pr_allowlisted: "draft_pr_allowlisted";
735
+ disabled: "disabled";
736
+ }>>;
737
+ environments: z.ZodArray<z.ZodString>;
738
+ operations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
739
+ description: z.ZodString;
740
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
741
+ type: z.ZodLiteral<"enum">;
742
+ description: z.ZodOptional<z.ZodString>;
743
+ values: z.ZodArray<z.ZodString>;
744
+ optional: z.ZodDefault<z.ZodBoolean>;
745
+ default: z.ZodOptional<z.ZodString>;
746
+ }, z.core.$strict>, z.ZodObject<{
747
+ type: z.ZodLiteral<"array">;
748
+ description: z.ZodOptional<z.ZodString>;
749
+ items: z.ZodEnum<{
750
+ string: "string";
751
+ boolean: "boolean";
752
+ uuid: "uuid";
753
+ int: "int";
754
+ long: "long";
755
+ numeric: "numeric";
756
+ double: "double";
757
+ timestamp: "timestamp";
758
+ date: "date";
759
+ }>;
760
+ optional: z.ZodDefault<z.ZodBoolean>;
761
+ default: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
762
+ min_items: z.ZodOptional<z.ZodNumber>;
763
+ max_items: z.ZodOptional<z.ZodNumber>;
764
+ }, z.core.$strict>, z.ZodObject<{
765
+ type: z.ZodEnum<{
766
+ string: "string";
767
+ boolean: "boolean";
768
+ uuid: "uuid";
769
+ int: "int";
770
+ long: "long";
771
+ numeric: "numeric";
772
+ double: "double";
773
+ timestamp: "timestamp";
774
+ date: "date";
775
+ }>;
776
+ description: z.ZodOptional<z.ZodString>;
777
+ optional: z.ZodDefault<z.ZodBoolean>;
778
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
779
+ }, z.core.$strict>]>>>;
780
+ policy: z.ZodDefault<z.ZodObject<{
781
+ singleton: z.ZodOptional<z.ZodBoolean>;
782
+ exclusion_group: z.ZodOptional<z.ZodString>;
783
+ timeout_minutes: z.ZodOptional<z.ZodNumber>;
784
+ mutates: z.ZodOptional<z.ZodBoolean>;
785
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
786
+ requires_approval: z.ZodOptional<z.ZodBoolean>;
787
+ }, z.core.$strict>>;
788
+ entrypoint: z.ZodOptional<z.ZodString>;
789
+ }, z.core.$strict>>>;
790
+ }, z.core.$strict>, z.ZodObject<{
791
+ engine: z.ZodEnum<{
792
+ dlt: "dlt";
793
+ "spark-job": "spark-job";
794
+ polars: "polars";
795
+ }>;
796
+ inputs: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
797
+ kind: z.ZodLiteral<"lakebase_cdf">;
798
+ table: z.ZodString;
799
+ columns: z.ZodUnion<readonly [z.ZodObject<{
800
+ schema_ref: z.ZodString;
801
+ }, z.core.$strict>, z.ZodRecord<z.ZodString, z.ZodObject<{
802
+ type: z.ZodUnion<readonly [z.ZodEnum<{
803
+ string: "string";
804
+ boolean: "boolean";
805
+ uuid: "uuid";
806
+ int: "int";
807
+ long: "long";
808
+ numeric: "numeric";
809
+ double: "double";
810
+ timestamp: "timestamp";
811
+ date: "date";
812
+ json: "json";
813
+ }>, z.ZodEnum<{
814
+ float: "float";
815
+ timestamp_ntz: "timestamp_ntz";
816
+ array: "array";
817
+ map: "map";
818
+ struct: "struct";
819
+ binary: "binary";
820
+ }>, z.ZodString]>;
821
+ nullable: z.ZodDefault<z.ZodBoolean>;
822
+ key: z.ZodDefault<z.ZodBoolean>;
823
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
824
+ description: z.ZodOptional<z.ZodString>;
825
+ on_violation: z.ZodDefault<z.ZodEnum<{
826
+ fail: "fail";
827
+ quarantine: "quarantine";
828
+ warn: "warn";
829
+ }>>;
830
+ }, z.core.$strict>>]>;
831
+ fold: z.ZodEnum<{
832
+ latest_state: "latest_state";
833
+ events: "events";
834
+ }>;
835
+ }, z.core.$strict>, z.ZodObject<{
836
+ stage: z.ZodString;
837
+ feed: z.ZodOptional<z.ZodString>;
838
+ output: z.ZodOptional<z.ZodString>;
839
+ columns: z.ZodOptional<z.ZodArray<z.ZodString>>;
840
+ freshness_requirement: z.ZodOptional<z.ZodString>;
841
+ declared_loose: z.ZodOptional<z.ZodBoolean>;
842
+ }, z.core.$strict>]>>;
843
+ trigger: z.ZodObject<{
844
+ manual: z.ZodOptional<z.ZodLiteral<true>>;
845
+ cron: z.ZodOptional<z.ZodString>;
846
+ after: z.ZodOptional<z.ZodArray<z.ZodString>>;
847
+ refresh_serving: z.ZodOptional<z.ZodArray<z.ZodString>>;
848
+ }, z.core.$strict>;
849
+ outputs: z.ZodRecord<z.ZodString, z.ZodObject<{
850
+ description: z.ZodOptional<z.ZodString>;
851
+ columns: z.ZodUnion<readonly [z.ZodObject<{
852
+ schema_ref: z.ZodString;
853
+ }, z.core.$strict>, z.ZodRecord<z.ZodString, z.ZodObject<{
854
+ type: z.ZodUnion<readonly [z.ZodEnum<{
855
+ string: "string";
856
+ boolean: "boolean";
857
+ uuid: "uuid";
858
+ int: "int";
859
+ long: "long";
860
+ numeric: "numeric";
861
+ double: "double";
862
+ timestamp: "timestamp";
863
+ date: "date";
864
+ json: "json";
865
+ }>, z.ZodEnum<{
866
+ float: "float";
867
+ timestamp_ntz: "timestamp_ntz";
868
+ array: "array";
869
+ map: "map";
870
+ struct: "struct";
871
+ binary: "binary";
872
+ }>, z.ZodString]>;
873
+ nullable: z.ZodDefault<z.ZodBoolean>;
874
+ key: z.ZodDefault<z.ZodBoolean>;
875
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
876
+ description: z.ZodOptional<z.ZodString>;
877
+ on_violation: z.ZodDefault<z.ZodEnum<{
878
+ fail: "fail";
879
+ quarantine: "quarantine";
880
+ warn: "warn";
881
+ }>>;
882
+ }, z.core.$strict>>]>;
883
+ on_type_violation: z.ZodDefault<z.ZodEnum<{
884
+ fail: "fail";
885
+ quarantine: "quarantine";
886
+ warn: "warn";
887
+ }>>;
888
+ compatibility: z.ZodDefault<z.ZodEnum<{
889
+ "additive-only": "additive-only";
890
+ versioned: "versioned";
891
+ }>>;
892
+ write_pattern: z.ZodEnum<{
893
+ overwrite: "overwrite";
894
+ append: "append";
895
+ auto_cdc: "auto_cdc";
896
+ }>;
897
+ write_scope: z.ZodOptional<z.ZodObject<{
898
+ column: z.ZodString;
899
+ value: z.ZodString;
900
+ }, z.core.$strict>>;
901
+ }, z.core.$strict>>;
902
+ entrypoint: z.ZodString;
903
+ config: z.ZodOptional<z.ZodObject<{
904
+ catalog: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
905
+ default: z.ZodString;
906
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
907
+ }, z.core.$strict>]>>;
908
+ history_catalog: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
909
+ default: z.ZodString;
910
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
911
+ }, z.core.$strict>]>>;
912
+ silver_catalog: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
913
+ default: z.ZodString;
914
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
915
+ }, z.core.$strict>]>>;
916
+ python_environment_version: z.ZodOptional<z.ZodEnum<{
917
+ 3: "3";
918
+ 4: "4";
919
+ }>>;
920
+ }, z.core.$catchall<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
921
+ type: z.ZodLiteral<"transformation">;
922
+ schema_version: z.ZodLiteral<1>;
923
+ stage: z.ZodString;
924
+ title: z.ZodString;
925
+ description: z.ZodString;
926
+ owners: z.ZodArray<z.ZodEmail>;
927
+ criticality: z.ZodEnum<{
928
+ critical: "critical";
929
+ standard: "standard";
930
+ experimental: "experimental";
931
+ }>;
932
+ slos: z.ZodOptional<z.ZodObject<{
933
+ freshness: z.ZodOptional<z.ZodString>;
934
+ max_duration: z.ZodOptional<z.ZodString>;
935
+ }, z.core.$strict>>;
936
+ alerts: z.ZodOptional<z.ZodObject<{
937
+ channels: z.ZodArray<z.ZodString>;
938
+ }, z.core.$strict>>;
939
+ runbook: z.ZodOptional<z.ZodURL>;
940
+ remediation_posture: z.ZodDefault<z.ZodEnum<{
941
+ manual_only: "manual_only";
942
+ draft_pr_allowlisted: "draft_pr_allowlisted";
943
+ disabled: "disabled";
944
+ }>>;
945
+ environments: z.ZodArray<z.ZodString>;
946
+ operations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
947
+ description: z.ZodString;
948
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
949
+ type: z.ZodLiteral<"enum">;
950
+ description: z.ZodOptional<z.ZodString>;
951
+ values: z.ZodArray<z.ZodString>;
952
+ optional: z.ZodDefault<z.ZodBoolean>;
953
+ default: z.ZodOptional<z.ZodString>;
954
+ }, z.core.$strict>, z.ZodObject<{
955
+ type: z.ZodLiteral<"array">;
956
+ description: z.ZodOptional<z.ZodString>;
957
+ items: z.ZodEnum<{
958
+ string: "string";
959
+ boolean: "boolean";
960
+ uuid: "uuid";
961
+ int: "int";
962
+ long: "long";
963
+ numeric: "numeric";
964
+ double: "double";
965
+ timestamp: "timestamp";
966
+ date: "date";
967
+ }>;
968
+ optional: z.ZodDefault<z.ZodBoolean>;
969
+ default: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
970
+ min_items: z.ZodOptional<z.ZodNumber>;
971
+ max_items: z.ZodOptional<z.ZodNumber>;
972
+ }, z.core.$strict>, z.ZodObject<{
973
+ type: z.ZodEnum<{
974
+ string: "string";
975
+ boolean: "boolean";
976
+ uuid: "uuid";
977
+ int: "int";
978
+ long: "long";
979
+ numeric: "numeric";
980
+ double: "double";
981
+ timestamp: "timestamp";
982
+ date: "date";
983
+ }>;
984
+ description: z.ZodOptional<z.ZodString>;
985
+ optional: z.ZodDefault<z.ZodBoolean>;
986
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
987
+ }, z.core.$strict>]>>>;
988
+ policy: z.ZodDefault<z.ZodObject<{
989
+ singleton: z.ZodOptional<z.ZodBoolean>;
990
+ exclusion_group: z.ZodOptional<z.ZodString>;
991
+ timeout_minutes: z.ZodOptional<z.ZodNumber>;
992
+ mutates: z.ZodOptional<z.ZodBoolean>;
993
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
994
+ requires_approval: z.ZodOptional<z.ZodBoolean>;
995
+ }, z.core.$strict>>;
996
+ entrypoint: z.ZodOptional<z.ZodString>;
997
+ }, z.core.$strict>>>;
998
+ }, z.core.$strict>, z.ZodObject<{
999
+ transport: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1000
+ kind: z.ZodLiteral<"native_lakebase_sync_v1">;
1001
+ }, z.core.$strict>, z.ZodObject<{
1002
+ kind: z.ZodLiteral<"postgres_snapshot_landing_v1">;
1003
+ binding: z.ZodString;
1004
+ database: z.ZodString;
1005
+ entity: z.ZodString;
1006
+ landing: z.ZodObject<{
1007
+ schema: z.ZodString;
1008
+ relation: z.ZodString;
1009
+ }, z.core.$strict>;
1010
+ buffer: z.ZodObject<{
1011
+ schema: z.ZodString;
1012
+ relation: z.ZodString;
1013
+ }, z.core.$strict>;
1014
+ full_source_columns: z.ZodRecord<z.ZodString, z.ZodObject<{
1015
+ type: z.ZodUnion<readonly [z.ZodEnum<{
1016
+ string: "string";
1017
+ boolean: "boolean";
1018
+ uuid: "uuid";
1019
+ int: "int";
1020
+ long: "long";
1021
+ numeric: "numeric";
1022
+ double: "double";
1023
+ timestamp: "timestamp";
1024
+ date: "date";
1025
+ json: "json";
1026
+ }>, z.ZodEnum<{
1027
+ float: "float";
1028
+ timestamp_ntz: "timestamp_ntz";
1029
+ array: "array";
1030
+ map: "map";
1031
+ struct: "struct";
1032
+ binary: "binary";
1033
+ }>, z.ZodString]>;
1034
+ nullable: z.ZodDefault<z.ZodBoolean>;
1035
+ key: z.ZodDefault<z.ZodBoolean>;
1036
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1037
+ description: z.ZodOptional<z.ZodString>;
1038
+ on_violation: z.ZodDefault<z.ZodEnum<{
1039
+ fail: "fail";
1040
+ quarantine: "quarantine";
1041
+ warn: "warn";
1042
+ }>>;
1043
+ }, z.core.$strict>>;
1044
+ }, z.core.$strict>], "kind">>;
1045
+ source: z.ZodObject<{
1046
+ stage: z.ZodString;
1047
+ output: z.ZodString;
1048
+ catalog: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1049
+ default: z.ZodString;
1050
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
1051
+ }, z.core.$strict>]>>;
1052
+ external: z.ZodOptional<z.ZodLiteral<true>>;
1053
+ columns: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1054
+ type: z.ZodUnion<readonly [z.ZodEnum<{
1055
+ string: "string";
1056
+ boolean: "boolean";
1057
+ uuid: "uuid";
1058
+ int: "int";
1059
+ long: "long";
1060
+ numeric: "numeric";
1061
+ double: "double";
1062
+ timestamp: "timestamp";
1063
+ date: "date";
1064
+ json: "json";
1065
+ }>, z.ZodEnum<{
1066
+ float: "float";
1067
+ timestamp_ntz: "timestamp_ntz";
1068
+ array: "array";
1069
+ map: "map";
1070
+ struct: "struct";
1071
+ binary: "binary";
1072
+ }>, z.ZodString]>;
1073
+ nullable: z.ZodDefault<z.ZodBoolean>;
1074
+ key: z.ZodDefault<z.ZodBoolean>;
1075
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1076
+ description: z.ZodOptional<z.ZodString>;
1077
+ on_violation: z.ZodDefault<z.ZodEnum<{
1078
+ fail: "fail";
1079
+ quarantine: "quarantine";
1080
+ warn: "warn";
1081
+ }>>;
1082
+ }, z.core.$strict>>>;
1083
+ }, z.core.$strict>;
1084
+ projection: z.ZodObject<{
1085
+ columns: z.ZodUnion<readonly [z.ZodObject<{
1086
+ schema_ref: z.ZodString;
1087
+ }, z.core.$strict>, z.ZodRecord<z.ZodString, z.ZodObject<{
1088
+ type: z.ZodUnion<readonly [z.ZodEnum<{
1089
+ string: "string";
1090
+ boolean: "boolean";
1091
+ uuid: "uuid";
1092
+ int: "int";
1093
+ long: "long";
1094
+ numeric: "numeric";
1095
+ double: "double";
1096
+ timestamp: "timestamp";
1097
+ date: "date";
1098
+ json: "json";
1099
+ }>, z.ZodEnum<{
1100
+ float: "float";
1101
+ timestamp_ntz: "timestamp_ntz";
1102
+ array: "array";
1103
+ map: "map";
1104
+ struct: "struct";
1105
+ binary: "binary";
1106
+ }>, z.ZodString]>;
1107
+ nullable: z.ZodDefault<z.ZodBoolean>;
1108
+ key: z.ZodDefault<z.ZodBoolean>;
1109
+ domain: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1110
+ description: z.ZodOptional<z.ZodString>;
1111
+ on_violation: z.ZodDefault<z.ZodEnum<{
1112
+ fail: "fail";
1113
+ quarantine: "quarantine";
1114
+ warn: "warn";
1115
+ }>>;
1116
+ }, z.core.$strict>>]>;
1117
+ primary_key: z.ZodArray<z.ZodString>;
1118
+ }, z.core.$strict>;
1119
+ sync_mode: z.ZodEnum<{
1120
+ SNAPSHOT: "SNAPSHOT";
1121
+ TRIGGERED: "TRIGGERED";
1122
+ CONTINUOUS: "CONTINUOUS";
1123
+ }>;
1124
+ trigger: z.ZodOptional<z.ZodObject<{
1125
+ after: z.ZodString;
1126
+ }, z.core.$strict>>;
1127
+ expose: z.ZodObject<{
1128
+ view: z.ZodString;
1129
+ public_view_access: z.ZodOptional<z.ZodEnum<{
1130
+ standard: "standard";
1131
+ reporting: "reporting";
1132
+ owner_only: "owner_only";
1133
+ orm_only: "orm_only";
1134
+ }>>;
1135
+ orm_only_schema: z.ZodOptional<z.ZodString>;
1136
+ orm_only_catalog: z.ZodOptional<z.ZodString>;
1137
+ reporting_table: z.ZodOptional<z.ZodString>;
1138
+ }, z.core.$strict>;
1139
+ orm_binding: z.ZodOptional<z.ZodObject<{
1140
+ namespace: z.ZodString;
1141
+ table: z.ZodString;
1142
+ mode: z.ZodEnum<{
1143
+ referenced: "referenced";
1144
+ managed: "managed";
1145
+ }>;
1146
+ }, z.core.$strict>>;
1147
+ satisfies: z.ZodOptional<z.ZodObject<{
1148
+ namespace: z.ZodString;
1149
+ table: z.ZodString;
1150
+ content_hash: z.ZodString;
1151
+ }, z.core.$strict>>;
1152
+ type: z.ZodLiteral<"serving">;
1153
+ schema_version: z.ZodLiteral<1>;
1154
+ stage: z.ZodString;
1155
+ title: z.ZodString;
1156
+ description: z.ZodString;
1157
+ owners: z.ZodArray<z.ZodEmail>;
1158
+ criticality: z.ZodEnum<{
1159
+ critical: "critical";
1160
+ standard: "standard";
1161
+ experimental: "experimental";
1162
+ }>;
1163
+ slos: z.ZodOptional<z.ZodObject<{
1164
+ freshness: z.ZodOptional<z.ZodString>;
1165
+ max_duration: z.ZodOptional<z.ZodString>;
1166
+ }, z.core.$strict>>;
1167
+ alerts: z.ZodOptional<z.ZodObject<{
1168
+ channels: z.ZodArray<z.ZodString>;
1169
+ }, z.core.$strict>>;
1170
+ runbook: z.ZodOptional<z.ZodURL>;
1171
+ remediation_posture: z.ZodDefault<z.ZodEnum<{
1172
+ manual_only: "manual_only";
1173
+ draft_pr_allowlisted: "draft_pr_allowlisted";
1174
+ disabled: "disabled";
1175
+ }>>;
1176
+ environments: z.ZodArray<z.ZodString>;
1177
+ operations: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodObject<{
1178
+ description: z.ZodString;
1179
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
1180
+ type: z.ZodLiteral<"enum">;
1181
+ description: z.ZodOptional<z.ZodString>;
1182
+ values: z.ZodArray<z.ZodString>;
1183
+ optional: z.ZodDefault<z.ZodBoolean>;
1184
+ default: z.ZodOptional<z.ZodString>;
1185
+ }, z.core.$strict>, z.ZodObject<{
1186
+ type: z.ZodLiteral<"array">;
1187
+ description: z.ZodOptional<z.ZodString>;
1188
+ items: z.ZodEnum<{
1189
+ string: "string";
1190
+ boolean: "boolean";
1191
+ uuid: "uuid";
1192
+ int: "int";
1193
+ long: "long";
1194
+ numeric: "numeric";
1195
+ double: "double";
1196
+ timestamp: "timestamp";
1197
+ date: "date";
1198
+ }>;
1199
+ optional: z.ZodDefault<z.ZodBoolean>;
1200
+ default: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
1201
+ min_items: z.ZodOptional<z.ZodNumber>;
1202
+ max_items: z.ZodOptional<z.ZodNumber>;
1203
+ }, z.core.$strict>, z.ZodObject<{
1204
+ type: z.ZodEnum<{
1205
+ string: "string";
1206
+ boolean: "boolean";
1207
+ uuid: "uuid";
1208
+ int: "int";
1209
+ long: "long";
1210
+ numeric: "numeric";
1211
+ double: "double";
1212
+ timestamp: "timestamp";
1213
+ date: "date";
1214
+ }>;
1215
+ description: z.ZodOptional<z.ZodString>;
1216
+ optional: z.ZodDefault<z.ZodBoolean>;
1217
+ default: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>;
1218
+ }, z.core.$strict>]>>>;
1219
+ policy: z.ZodDefault<z.ZodObject<{
1220
+ singleton: z.ZodOptional<z.ZodBoolean>;
1221
+ exclusion_group: z.ZodOptional<z.ZodString>;
1222
+ timeout_minutes: z.ZodOptional<z.ZodNumber>;
1223
+ mutates: z.ZodOptional<z.ZodBoolean>;
1224
+ cooldown_minutes: z.ZodOptional<z.ZodNumber>;
1225
+ requires_approval: z.ZodOptional<z.ZodBoolean>;
1226
+ }, z.core.$strict>>;
1227
+ entrypoint: z.ZodOptional<z.ZodString>;
1228
+ }, z.core.$strict>>>;
1229
+ }, z.core.$strict>], "type">;
1230
+ export type StageSpec = z.infer<typeof stageSpecSchema>;
1231
+ export type StageSpecInput = z.input<typeof stageSpecSchema>;
1232
+ export type IngestionStageSpec = Extract<StageSpec, {
1233
+ type: 'ingestion';
1234
+ }>;
1235
+ export type TransformationStageSpec = Extract<StageSpec, {
1236
+ type: 'transformation';
1237
+ }>;
1238
+ export type ServingStageSpec = Extract<StageSpec, {
1239
+ type: 'serving';
1240
+ }>;
1241
+ //# sourceMappingURL=envelope.d.ts.map