@sequenceholdings/pipeline-spec 0.1.0 → 0.2.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.
package/README.md CHANGED
@@ -27,9 +27,28 @@ Run validation from the repository root:
27
27
  pnpm exec seq-studio pipeline validate .
28
28
  ```
29
29
 
30
- The validator discovers `*.stage.yml` files recursively. A stage specification
31
- describes one deployable unit and its inputs, outputs, runtime, ownership, and
32
- environment policy. For example:
30
+ By default, validation discovers `*.stage.yml` and `*.stage.yaml` files only in
31
+ the package root. A package can opt into specific stage directories with an
32
+ optional `pipeline.config.yml`:
33
+
34
+ ```yaml
35
+ schema_version: 1
36
+ stage_directories:
37
+ - config/stages
38
+ ```
39
+
40
+ The paths are relative to the package root. The loader rejects absolute paths,
41
+ traversal, duplicate paths, and paths or stage files whose symlinks escape the
42
+ package. It scans only the listed directories, in stable path order. Schema,
43
+ documentation, and migration files remain at their existing package locations.
44
+ Stage `entrypoint` paths and `src/` resources also remain relative to the
45
+ package root, even when a stage spec is stored in a subdirectory. Local
46
+ validation, planning, deployment, migrations, and ORM repinning use the same
47
+ discovery rules. `seq-studio pipeline init` writes into the first configured
48
+ stage directory; without config it keeps writing to the package root.
49
+
50
+ A stage specification describes one deployable unit and its inputs, outputs,
51
+ runtime, ownership, and environment policy. For example:
33
52
 
34
53
  ```yaml
35
54
  schema_version: 1
@@ -104,11 +123,64 @@ Offline validation checks:
104
123
  Validation reports all discoverable issues in one pass so repository authors
105
124
  can correct the complete graph before deployment.
106
125
 
126
+ Transformation stages may optionally declare `source_contracts`, keyed by a
127
+ logical identifier. Each entry names a catalog binding, schema, table, and
128
+ inline map of selected column names to native pipeline types. Source column
129
+ entries accept only `type`; output constraints such as nullability and keys
130
+ are not inferred or checked in this metadata-only increment. Target-aware catalog bindings
131
+ must map every non-default environment; a static catalog string declares an
132
+ intentionally shared catalog. These declarations support metadata checks only:
133
+ they do not inject or select a transformation read, verify row uniqueness, or
134
+ prove that the caller can access the source. No runtime or compiler behavior is
135
+ implied by this metadata.
136
+
137
+ The draft generic installation-backed serving contract is
138
+ `serving: { installation, exposure, refresh }`. `installation` is a symbolic
139
+ registered key, not a destination or authorization claim; the serving runtime
140
+ must resolve it from its server-side enrollment and fail closed when that
141
+ enrollment is unavailable. `exposure` is `orm_only`, `dataset_only`, or `both`.
142
+ ORM and both modes require `orm_binding` and `satisfies`; dataset-only forbids
143
+ them. Dataset-only and both modes also require an explicit
144
+ `expose.public_view_access` policy; ORM-only cannot declare one. Provisioning,
145
+ activation, and manual refresh recheck the registered destination and source
146
+ pins. Before a binding is published, checks cover backing access, declared-view
147
+ grants and captured dependencies, and ORM view ownership/runtime membership.
148
+ For a captured physical target, generic serving also performs a read-only
149
+ PostgreSQL catalog audit of the enrolled projection: projected column names,
150
+ the source-native PostgreSQL types, required `NOT NULL` columns, and the
151
+ primary-key set must match; undeclared backing columns fail closed because the
152
+ public compatibility and ORM views currently use `SELECT *`. This is stricter
153
+ than the producer's row-contract assertion: the physical target must actually
154
+ carry the promised non-null constraint. The projection materialized view is a
155
+ plain `SELECT` without casts, so a widened logical projection does not change
156
+ the native source column type. No physical DDL is repaired by this check.
157
+ The existing native-create pending path remains pending until the target is
158
+ materialized; activation and manual refresh must pass the physical audit before
159
+ writing. These paths have local unit/PGlite coverage, not a live deployment
160
+ receipt.
161
+ Transformation outputs and generic serving references use a safe lowercase
162
+ `schema.table` identifier (each part is at most 63 characters). This grammar
163
+ does not imply that a schema/table exists or is authorized. Enrollment
164
+ currently supports only an active transformation producer in the same repo;
165
+ the server checks the exact declared output and resolved physical source.
166
+ External snapshots and cross-repo producers are not supported. Legacy serving
167
+ declarations retain their existing gold-only ORM source rule, and existing
168
+ installations are not migrated.
169
+ The schema accepts `after_source`
170
+ for contract identity, but plan, compile, and run-now reject it until Atlas can
171
+ independently verify producer events. Scheduled serving refresh is not
172
+ modeled. The legacy `expose.public_view_access: orm_only` path
173
+ and its private catalog/schema declarations remain separate.
174
+
107
175
  ## Compatibility
108
176
 
109
177
  - Node.js 20 or newer
110
178
  - package versioning follows the release consumed by `seq-studio`
111
179
  - the root JavaScript export may change without a standalone public SDK
112
180
  deprecation cycle
181
+ - `checkServingProjectionCompatibility` is the shared projection/source
182
+ compatibility check used by validation and the physical serving audit; it
183
+ allows native array/map/struct to json only when the projection explicitly
184
+ declares `json`.
113
185
 
114
186
  This package is distributed under the license declared in `package.json`.
@@ -119,6 +119,20 @@ export declare const satisfiesSchema: z.ZodObject<{
119
119
  content_hash: z.ZodString;
120
120
  }, z.core.$strict>;
121
121
  export type SatisfiesBinding = z.infer<typeof satisfiesSchema>;
122
+ /** Opt-in reference to an installation authorized by the serving runtime. */
123
+ export declare const genericServingSchema: z.ZodObject<{
124
+ installation: z.ZodString;
125
+ exposure: z.ZodEnum<{
126
+ orm_only: "orm_only";
127
+ dataset_only: "dataset_only";
128
+ both: "both";
129
+ }>;
130
+ refresh: z.ZodEnum<{
131
+ manual: "manual";
132
+ after_source: "after_source";
133
+ }>;
134
+ }, z.core.$strict>;
135
+ export type GenericServing = z.infer<typeof genericServingSchema>;
122
136
  export declare const servingBodyShape: {
123
137
  transport: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
124
138
  kind: z.ZodLiteral<"native_lakebase_sync_v1">;
@@ -281,6 +295,19 @@ export declare const servingBodyShape: {
281
295
  table: z.ZodString;
282
296
  content_hash: z.ZodString;
283
297
  }, z.core.$strict>>;
298
+ /** Generic, opt-in serving declaration; destination authority is server-side. */
299
+ serving: z.ZodOptional<z.ZodObject<{
300
+ installation: z.ZodString;
301
+ exposure: z.ZodEnum<{
302
+ orm_only: "orm_only";
303
+ dataset_only: "dataset_only";
304
+ both: "both";
305
+ }>;
306
+ refresh: z.ZodEnum<{
307
+ manual: "manual";
308
+ after_source: "after_source";
309
+ }>;
310
+ }, z.core.$strict>>;
284
311
  };
285
312
  /** Structural slice of a stage spec the serving refinement needs. */
286
313
  export interface ServingBody {
@@ -310,6 +337,7 @@ export interface ServingBody {
310
337
  };
311
338
  readonly orm_binding?: OrmBinding;
312
339
  readonly satisfies?: SatisfiesBinding;
340
+ readonly serving?: GenericServing;
313
341
  }
314
342
  /** Cross-field validation for `type: serving` bodies (invoked from the envelope refinement). */
315
343
  export declare function refineServingBody(body: ServingBody, ctx: z.RefinementCtx): void;
@@ -1 +1 @@
1
- {"version":3,"file":"serving.d.ts","sourceRoot":"","sources":["../../src/bodies/serving.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serving.d.ts","sourceRoot":"","sources":["../../src/bodies/serving.ts"],"names":[],"mappings":"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"}
@@ -84,6 +84,13 @@ export const satisfiesSchema = z.strictObject({
84
84
  .string()
85
85
  .regex(/^[a-f0-9]{64}$/, 'must be a sha256 hex digest (64 hex chars)'),
86
86
  });
87
+ /** Opt-in reference to an installation authorized by the serving runtime. */
88
+ export const genericServingSchema = z.strictObject({
89
+ installation: z.string().regex(/^[a-z][a-z0-9_-]*$/, 'must be a registered installation key'),
90
+ exposure: z.enum(['orm_only', 'dataset_only', 'both']),
91
+ /** `manual` is currently operational; `after_source` is schema-valid but fail-closed at plan/compile/run until source-event authorization is available. */
92
+ refresh: z.enum(['manual', 'after_source']),
93
+ });
87
94
  export const servingBodyShape = {
88
95
  transport: servingTransportSchema.optional(),
89
96
  /** The transformation output this stage serves (resolution happens in graph validation). */
@@ -138,11 +145,35 @@ export const servingBodyShape = {
138
145
  * contract; when present, graph/provision validation fail closed on drift.
139
146
  */
140
147
  satisfies: satisfiesSchema.optional(),
148
+ /** Generic, opt-in serving declaration; destination authority is server-side. */
149
+ serving: genericServingSchema.optional(),
141
150
  };
142
151
  /** Cross-field validation for `type: serving` bodies (invoked from the envelope refinement). */
143
152
  export function refineServingBody(body, ctx) {
153
+ const genericServing = body.serving !== undefined;
144
154
  refineServingExposure({ expose: body.expose, ctx });
145
155
  refineServingTransport({ body, ctx });
156
+ if (genericServing) {
157
+ if (body.expose.public_view_access === 'orm_only' || body.expose.orm_only_catalog || body.expose.orm_only_schema) {
158
+ ctx.addIssue({ code: 'custom', path: ['expose'], message: 'generic serving cannot mix with legacy ORM-only catalog/schema fields or public_view_access: orm_only' });
159
+ }
160
+ if (body.serving?.exposure === 'orm_only' && (body.expose.public_view_access !== undefined || body.expose.reporting_table)) {
161
+ ctx.addIssue({ code: 'custom', path: ['expose'], message: 'orm_only serving cannot declare dataset-view access or reporting exposure' });
162
+ }
163
+ if (body.serving && body.serving.exposure !== 'orm_only' && body.expose.public_view_access === undefined) {
164
+ ctx.addIssue({ code: 'custom', path: ['expose', 'public_view_access'], message: 'dataset_only and both exposure require an explicit dataset-view access policy' });
165
+ }
166
+ if (body.serving && ['orm_only', 'both'].includes(body.serving.exposure) && (!body.orm_binding || !body.satisfies)) {
167
+ ctx.addIssue({ code: 'custom', path: ['serving'], message: 'ORM and both exposure require orm_binding and satisfies contract pins' });
168
+ }
169
+ if (body.serving?.exposure === 'dataset_only' && (body.orm_binding || body.satisfies)) {
170
+ ctx.addIssue({ code: 'custom', path: ['serving'], message: 'dataset_only exposure cannot declare ORM bindings or satisfies pins' });
171
+ }
172
+ if ((body.serving?.refresh === 'manual' && body.trigger) ||
173
+ (body.serving?.refresh === 'after_source' && (!body.trigger || body.source.external))) {
174
+ ctx.addIssue({ code: 'custom', path: ['serving', 'refresh'], message: 'refresh must match the existing lifecycle: manual has no trigger; after_source requires an in-repo producer trigger' });
175
+ }
176
+ }
146
177
  if (body.expose.public_view_access === 'orm_only') {
147
178
  const namespace = body.orm_binding?.namespace;
148
179
  const privateSchema = namespace === 'banksouth_fis' ? /^fis_orm_[a-z][a-z0-9_]*$/ : /^rel_orm_[a-z][a-z0-9_]*$/;
@@ -203,14 +234,13 @@ export function refineServingBody(body, ctx) {
203
234
  message: "orm_binding mode 'managed' is reserved, not yet supported — ORM-managed serving lifecycle has not shipped (use 'referenced')",
204
235
  });
205
236
  }
206
- if (!GOLD_ASSET_PATTERN.test(body.source.output)) {
207
- // The ORM restricts synced reflected sources to `^gold\.` (SYNCED_SOURCE_PATTERN).
208
- // Whether per-domain schemas may ever bind non-gold outputs is an
209
- // ORM-owner decision — no non-gold binding ships before that decision.
237
+ if (!genericServing && !GOLD_ASSET_PATTERN.test(body.source.output)) {
238
+ // Legacy serving declarations retain the established gold-only binding.
239
+ // Generic serving relies on registered installation admission instead.
210
240
  ctx.addIssue({
211
241
  code: 'custom',
212
242
  path: ['source', 'output'],
213
- message: `orm_binding requires the source output to be 'gold.*' (the ORM restricts synced sources to the gold layer) — got '${body.source.output}'`,
243
+ message: `legacy orm_binding requires the source output to be 'gold.*'; generic serving must use an enrolled producer output — got '${body.source.output}'`,
214
244
  });
215
245
  }
216
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"serving.js","sourceRoot":"","sources":["../../src/bodies/serving.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serving.js","sourceRoot":"","sources":["../../src/bodies/serving.ts"],"names":[],"mappings":"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"}
@@ -235,6 +235,67 @@ export declare const transformationOutputSchema: z.ZodObject<{
235
235
  }, z.core.$strict>>;
236
236
  }, z.core.$strict>;
237
237
  export type TransformationOutput = z.infer<typeof transformationOutputSchema>;
238
+ /** Declaration-only source metadata for a transformation's selected native columns. */
239
+ export declare const transformationSourceContractSchema: z.ZodObject<{
240
+ catalog: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
241
+ default: z.ZodString;
242
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
243
+ }, z.core.$strict>]>;
244
+ schema: z.ZodString;
245
+ table: z.ZodString;
246
+ columns: z.ZodRecord<z.ZodString, z.ZodObject<{
247
+ type: z.ZodUnion<readonly [z.ZodEnum<{
248
+ string: "string";
249
+ boolean: "boolean";
250
+ uuid: "uuid";
251
+ int: "int";
252
+ long: "long";
253
+ numeric: "numeric";
254
+ double: "double";
255
+ timestamp: "timestamp";
256
+ date: "date";
257
+ json: "json";
258
+ }>, z.ZodEnum<{
259
+ float: "float";
260
+ timestamp_ntz: "timestamp_ntz";
261
+ array: "array";
262
+ map: "map";
263
+ struct: "struct";
264
+ binary: "binary";
265
+ }>, z.ZodString]>;
266
+ }, z.core.$strict>>;
267
+ }, z.core.$strict>;
268
+ export declare const transformationSourceContractsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
269
+ catalog: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
270
+ default: z.ZodString;
271
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
272
+ }, z.core.$strict>]>;
273
+ schema: z.ZodString;
274
+ table: z.ZodString;
275
+ columns: z.ZodRecord<z.ZodString, z.ZodObject<{
276
+ type: z.ZodUnion<readonly [z.ZodEnum<{
277
+ string: "string";
278
+ boolean: "boolean";
279
+ uuid: "uuid";
280
+ int: "int";
281
+ long: "long";
282
+ numeric: "numeric";
283
+ double: "double";
284
+ timestamp: "timestamp";
285
+ date: "date";
286
+ json: "json";
287
+ }>, z.ZodEnum<{
288
+ float: "float";
289
+ timestamp_ntz: "timestamp_ntz";
290
+ array: "array";
291
+ map: "map";
292
+ struct: "struct";
293
+ binary: "binary";
294
+ }>, z.ZodString]>;
295
+ }, z.core.$strict>>;
296
+ }, z.core.$strict>>;
297
+ export type TransformationSourceContract = z.infer<typeof transformationSourceContractSchema>;
298
+ export type TransformationSourceContracts = z.infer<typeof transformationSourceContractsSchema>;
238
299
  /** Manual-only, or cron / after (both allowed for cron floor + dependency chaining). */
239
300
  export declare const transformationTriggerSchema: z.ZodObject<{
240
301
  manual: z.ZodOptional<z.ZodLiteral<true>>;
@@ -360,6 +421,36 @@ export declare const transformationBodyShape: {
360
421
  value: z.ZodString;
361
422
  }, z.core.$strict>>;
362
423
  }, z.core.$strict>>;
424
+ /** Optional source declarations used for deployment preflight metadata checks. */
425
+ source_contracts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
426
+ catalog: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
427
+ default: z.ZodString;
428
+ by_target: z.ZodRecord<z.ZodString, z.ZodString>;
429
+ }, z.core.$strict>]>;
430
+ schema: z.ZodString;
431
+ table: z.ZodString;
432
+ columns: z.ZodRecord<z.ZodString, z.ZodObject<{
433
+ type: z.ZodUnion<readonly [z.ZodEnum<{
434
+ string: "string";
435
+ boolean: "boolean";
436
+ uuid: "uuid";
437
+ int: "int";
438
+ long: "long";
439
+ numeric: "numeric";
440
+ double: "double";
441
+ timestamp: "timestamp";
442
+ date: "date";
443
+ json: "json";
444
+ }>, z.ZodEnum<{
445
+ float: "float";
446
+ timestamp_ntz: "timestamp_ntz";
447
+ array: "array";
448
+ map: "map";
449
+ struct: "struct";
450
+ binary: "binary";
451
+ }>, z.ZodString]>;
452
+ }, z.core.$strict>>;
453
+ }, z.core.$strict>>>;
363
454
  entrypoint: z.ZodString;
364
455
  config: z.ZodOptional<z.ZodObject<{
365
456
  catalog: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
@@ -389,6 +480,7 @@ export interface TransformationBody {
389
480
  columns: ColumnsOrRef;
390
481
  write_scope?: z.infer<typeof writeScopeSchema>;
391
482
  }>;
483
+ readonly source_contracts?: Record<string, TransformationSourceContract>;
392
484
  readonly config?: Readonly<Record<string, string | number | boolean | CatalogBinding>>;
393
485
  }
394
486
  /** Cross-field validation for `type: transformation` bodies (invoked from the envelope refinement). */
@@ -1 +1 @@
1
- {"version":3,"file":"transformation.d.ts","sourceRoot":"","sources":["../../src/bodies/transformation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAA;AASjF,OAAO,EAML,KAAK,YAAY,EAClB,MAAM,eAAe,CAAA;AAGtB;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,sBAAsB,yCAA0C,CAAA;AAC7E,eAAO,MAAM,0BAA0B;;;;EAAiC,CAAA;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAM7E,eAAO,MAAM,qBAAqB,aAEmE,CAAA;AAErG;;;;;;GAMG;AACH,QAAA,MAAM,gBAAgB;;;;;;;kBASpB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAEzD;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B;;;;CAIhC,CAAA;AAEV;;;;;;;;;;;;;;;;GAgBG;AACH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAS1B,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAErE;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAAsD,CAAA;AAE5F,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAE3E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,mBAAmB,GAAG,KAAK,IAAI,gBAAgB,CAExF;AAED;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,8CAA+C,CAAA;AAC1E,eAAO,MAAM,kBAAkB;;;;EAAyB,CAAA;AACxD,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,2EAA2E;AAC3E,eAAO,MAAM,gBAAgB;;;kBAG3B,CAAA;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkBrC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAE7E,wFAAwF;AACxF,eAAO,MAAM,2BAA2B;;;;;kBAatC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAc/E,eAAO,MAAM,uBAAuB;;;;;;IAElC;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMoB,CAAA;AAEzB,4EAA4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAC/B,OAAO,EAAE,YAAY,CAAA;QACrB,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;KAC/C,CAAC,CAAA;IACF,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,cAAc,CAAC,CAAC,CAAA;CACvF;AAsBD,uGAAuG;AACvG,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa,GAAG,IAAI,CA6E7F"}
1
+ {"version":3,"file":"transformation.d.ts","sourceRoot":"","sources":["../../src/bodies/transformation.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { z } from 'zod';
2
2
  import { catalogBindingSchema } from '../catalog-binding.js';
3
3
  import { CRON_PATTERN, OUTPUT_ASSET_PATTERN, QUALIFIED_TABLE_PATTERN, REPORT_ASSET_PATTERN, QUARANTINE_SUFFIX, STAGE_ID_PATTERN, } from '../constants.js';
4
4
  import { columnIdentifierSchema, columnsOrRefSchema, identifierSchema, isSchemaRef, nullableKeyColumns, } from '../columns.js';
5
+ import { pipelineTypeSchema } from '../types.js';
5
6
  import { isoDurationSchema, repoRelativePathSchema } from './ingestion.js';
6
7
  /**
7
8
  * Transformation stages are where typing begins: inputs by logical asset
@@ -23,7 +24,7 @@ const stageRefSchema = z
23
24
  .regex(STAGE_ID_PATTERN, 'must be a stage id (kebab-case slug)');
24
25
  export const outputAssetNameSchema = z
25
26
  .string()
26
- .regex(OUTPUT_ASSET_PATTERN, "output assets must match '^(silver|gold|report)\\.[a-z][a-z0-9_]*$'");
27
+ .regex(OUTPUT_ASSET_PATTERN, "output assets must be a qualified lowercase schema.table identifier");
27
28
  /**
28
29
  * Reference to another stage's asset: an ingestion feed (`feed`) or a
29
30
  * transformation output (`output`) — exactly one. `columns` narrows the input
@@ -122,6 +123,15 @@ export const transformationOutputSchema = z.strictObject({
122
123
  /** Every write, including snapshot deletions, must stay inside this scope. */
123
124
  write_scope: writeScopeSchema.optional(),
124
125
  });
126
+ /** Declaration-only source metadata for a transformation's selected native columns. */
127
+ export const transformationSourceContractSchema = z.strictObject({
128
+ catalog: catalogBindingSchema,
129
+ schema: identifierSchema,
130
+ table: identifierSchema,
131
+ columns: z.record(columnIdentifierSchema, z.strictObject({ type: pipelineTypeSchema }))
132
+ .refine((columns) => Object.keys(columns).length > 0, 'must declare at least one column'),
133
+ });
134
+ export const transformationSourceContractsSchema = z.record(identifierSchema, transformationSourceContractSchema);
125
135
  /** Manual-only, or cron / after (both allowed for cron floor + dependency chaining). */
126
136
  export const transformationTriggerSchema = z.strictObject({
127
137
  /** Explicit opt-in to run-now only; useful for isolated parity and backfill jobs. */
@@ -158,6 +168,8 @@ export const transformationBodyShape = {
158
168
  inputs: z.array(transformationInputSchema),
159
169
  trigger: transformationTriggerSchema,
160
170
  outputs: z.record(outputAssetNameSchema, transformationOutputSchema),
171
+ /** Optional source declarations used for deployment preflight metadata checks. */
172
+ source_contracts: transformationSourceContractsSchema.optional(),
161
173
  entrypoint: repoRelativePathSchema,
162
174
  config: engineConfigSchema.optional(),
163
175
  };
@@ -1 +1 @@
1
- {"version":3,"file":"transformation.js","sourceRoot":"","sources":["../../src/bodies/transformation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformation.js","sourceRoot":"","sources":["../../src/bodies/transformation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AACvB,OAAO,EAAE,oBAAoB,EAAuB,MAAM,uBAAuB,CAAA;AACjF,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,iBAAiB,CAAA;AACxB,OAAO,EACL,sBAAsB,EAEtB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,kBAAkB,GAEnB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAE1E;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAU,CAAA;AAC7E,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;AAGxE,MAAM,cAAc,GAAG,CAAC;KACrB,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,EAAE,sCAAsC,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC;KACnC,MAAM,EAAE;KACR,KAAK,CAAC,oBAAoB,EAAE,qEAAqE,CAAC,CAAA;AAErG;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;IACtC,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,EAAE;IACxC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,sDAAsD;IACtD,qBAAqB,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IACnD,sFAAsF;IACtF,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAA;AAIF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,eAAe,EAAE,QAAQ;IACzB,cAAc,EAAE,QAAQ;IACxB,aAAa,EAAE,WAAW;CAClB,CAAA;AAEV;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC5C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAC/B,8FAA8F;IAC9F,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,KAAK,CAAC,uBAAuB,EAAE,2DAA2D,CAAC;IAC9F,wEAAwE;IACxE,OAAO,EAAE,kBAAkB;IAC3B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;CACzC,CAAC,CAAA;AAIF;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,CAAC,CAAA;AAI5F,MAAM,UAAU,kBAAkB,CAAC,KAA0B;IAC3D,OAAO,MAAM,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,CAAA;AACzD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAA;AAC1E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;AAGxD,2EAA2E;AAC3E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC7C,MAAM,EAAE,sBAAsB;IAC9B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,YAAY,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,sEAAsE;IACtE,OAAO,EAAE,kBAAkB;IAC3B;;;OAGG;IACH,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACzE;;;;OAIG;IACH,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAC9E,aAAa,EAAE,kBAAkB;IACjC,8EAA8E;IAC9E,WAAW,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAA;AAIF,uFAAuF;AACvF,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,YAAY,CAAC;IAC/D,OAAO,EAAE,oBAAoB;IAC7B,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,gBAAgB;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,CAAC;SACpF,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,kCAAkC,CAAC;CAC5F,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,kCAAkC,CAAC,CAAA;AAIjH,wFAAwF;AACxF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC;IACxD,qFAAqF;IACrF,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,wCAAwC,CAAC,CAAC,QAAQ,EAAE;IACzF,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,cAAc,CAAC;SACrB,GAAG,CAAC,CAAC,CAAC;SACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,sDAAsD,CAAC;SAC/G,QAAQ,EAAE;IACb,kFAAkF;IAClF,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;SAC5C,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM,EAAE,yCAAyC,CAAC;SACrG,QAAQ,EAAE;CACd,CAAC,CAAA;AAIF,4EAA4E;AAC5E,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;AAC9E,MAAM,kBAAkB,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,OAAO,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IACxC,eAAe,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAChD,cAAc,EAAE,oBAAoB,CAAC,QAAQ,EAAE;IAC/C,2EAA2E;IAC3E,0BAA0B,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1D,CAAC;KACD,QAAQ,CAAC,uBAAuB,CAAC,CAAA;AAEpC,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,MAAM,EAAE,0BAA0B;IAClC;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC1C,OAAO,EAAE,2BAA2B;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,CAAC;IACpE,kFAAkF;IAClF,gBAAgB,EAAE,mCAAmC,CAAC,QAAQ,EAAE;IAChE,UAAU,EAAE,sBAAsB;IAClC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACd,CAAA;AAezB,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,CAAU,CAAA;AAEvD,SAAS,uBAAuB,CAC9B,MAAoC,EACpC,GAAoB;IAEpB,IAAI,CAAC,MAAM;QAAE,OAAM;IACnB,KAAK,MAAM,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACtC,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC;YAAE,SAAQ;QAC9B,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;QACtD,IAAI,MAAM,CAAC,OAAO;YAAE,SAAQ;QAC5B,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC;YACrB,OAAO,EACL,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,8CAA8C;SACpF,CAAC,CAAA;IACJ,CAAC;AACH,CAAC;AAED,uGAAuG;AACvG,MAAM,UAAU,wBAAwB,CAAC,IAAwB,EAAE,GAAoB;IACrF,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACzC,IAAI,IAAI,CAAC,MAAM,EAAE,0BAA0B,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACtF,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,4BAA4B,CAAC,EAAE,OAAO,EAAE,uDAAuD,EAAE,CAAC,CAAA;IACpJ,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5F,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,iBAAiB,CAAC,EAAE,OAAO,EAAE,yDAAyD,EAAE,CAAC,CAAA;IAC5I,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACrG,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,gEAAgE,EAAE,CAAC,CAAA;IAChI,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC3G,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,OAAO,EAAE,yFAAyF;SACnG,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACnC,IAAI,kBAAkB,CAAC,KAAK,CAAC;YAAE,OAAM;QACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAA;QACxC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,KAAK,SAAS,CAAA;QAC5C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;gBACvB,OAAO,EACL,yGAAyG;aAC5G,CAAC,CAAA;QACJ,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,uEAAuE;IACvE,qEAAqE;IACrE,wCAAwC;IACxC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,EAAE,CAAC;QACpF,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,CAAC,SAAS,CAAC;YACjB,OAAO,EAAE,mDAAmD;SAC7D,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,EAAE,CAAC;YAC9E,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,QAAQ,EAAE,iBAAiB,CAAC;gBACnC,OAAO,EAAE,kBAAkB,KAAK,yCAAyC;aAC1E,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,EAAE,CAAC;YAC/E,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;gBACxB,OAAO,EAAE,kEAAkE,KAAK,IAAI;aACrF,CAAC,CAAA;QACJ,CAAC;QACD,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAC7D,IAAI,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC;gBACxB,OAAO,EAAE,IAAI,iBAAiB,uEAAuE;aACtG,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;YAAE,SAAQ;QACzC,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAClD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;gBACvD,OAAO,EAAE,eAAe,MAAM,2BAA2B;aAC1D,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,yEAAyE;AACzE,SAAS,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAKrD;IACC,IAAI,CAAC,MAAM,CAAC,WAAW;QAAE,OAAM;IAC/B,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC;YACpE,OAAO,EAAE,6EAA6E,EAAE,CAAC,CAAA;IAC7F,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;QAAE,OAAM;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;IACxD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC3D,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,CAAC;YACpE,OAAO,EAAE,kEAAkE,EAAE,CAAC,CAAA;IAClF,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,CAAC;YAC7E,OAAO,EAAE,kEAAkE,EAAE,CAAC,CAAA;IAClF,CAAC;AACH,CAAC"}
@@ -9,11 +9,11 @@ export declare const IDENTIFIER_PATTERN: RegExp;
9
9
  /** Physical column names may preserve source-system leading underscores. */
10
10
  export declare const COLUMN_IDENTIFIER_PATTERN: RegExp;
11
11
  export declare const MAX_IDENTIFIER_LENGTH = 63;
12
- /** Transformation output assets live in the medallion layers or report lane. */
12
+ /** Qualified transformation output asset: `<schema>.<table>`. */
13
13
  export declare const OUTPUT_ASSET_PATTERN: RegExp;
14
14
  /** Raw report passthrough assets are isolated from ontology silver/gold assets. */
15
15
  export declare const REPORT_ASSET_PATTERN: RegExp;
16
- /** ORM-bound serving sources are restricted to the gold layer (mirrors the ORM's `SYNCED_SOURCE_PATTERN`). */
16
+ /** Legacy ORM-bound serving sources remain restricted to the gold layer. */
17
17
  export declare const GOLD_ASSET_PATTERN: RegExp;
18
18
  /** Serving views are exposed in the Lakebase `public` schema. */
19
19
  export declare const PUBLIC_VIEW_PATTERN: RegExp;
@@ -38,6 +38,8 @@ export declare const CRON_PATTERN: RegExp;
38
38
  export declare const TIMEZONE_PATTERN: RegExp;
39
39
  /** Stage spec files: `<stage>.stage.yml` in the Pipeline repo root. */
40
40
  export declare const STAGE_FILE_SUFFIXES: readonly [".stage.yml", ".stage.yaml"];
41
+ /** Optional Pipeline package configuration at the package root. */
42
+ export declare const PIPELINE_CONFIG_FILE = "pipeline.config.yml";
41
43
  /** Named schema artifacts: `schemas/<name>.schema.yml` in the Pipeline repo. */
42
44
  export declare const SCHEMA_FILE_SUFFIXES: readonly [".schema.yml", ".schema.yaml"];
43
45
  /** Directory (relative to the Pipeline root) holding named schema artifacts. */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAkC,CAAA;AAE/D,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,QAAsB,CAAA;AAErD,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,QAAwB,CAAA;AAE9D,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAEvC,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,QAA4C,CAAA;AAE7E,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,QAA8B,CAAA;AAE/D,8GAA8G;AAC9G,eAAO,MAAM,kBAAkB,QAA4B,CAAA;AAE3D,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,QAA8B,CAAA;AAE9D,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,QAAmC,CAAA;AAEvE,oGAAoG;AACpG,eAAO,MAAM,uBAAuB,QAAuC,CAAA;AAE3E;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAuB,CAAA;AAExD,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,QAAuB,CAAA;AAEzD,2FAA2F;AAC3F,eAAO,MAAM,oBAAoB,QACsC,CAAA;AAEvE,0FAA0F;AAC1F,eAAO,MAAM,YAAY,QAAuB,CAAA;AAEhD,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,QAA4C,CAAA;AAEzE,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,wCAAyC,CAAA;AAEzE,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,0CAA2C,CAAA;AAE5E,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,YAAY,CAAA;AAE1C,kFAAkF;AAClF,eAAO,MAAM,2BAA2B,wDAAyD,CAAA;AACjG,eAAO,MAAM,uBAAuB,kBAAkB,CAAA;AAEtD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAKvD,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAKxD,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAE/C,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM,KAAG,MAA8C,CAAA;AAExG,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,6BAA6B,CAAA;AAC1D,eAAO,MAAM,oBAAoB,iCAAiC,CAAA;AAElE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAc,CAAA;AAE9C,0FAA0F;AAC1F,eAAO,MAAM,yBAAyB,QAAkB,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,QAAkC,CAAA;AAE/D,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,QAAsB,CAAA;AAErD,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,QAAwB,CAAA;AAE9D,eAAO,MAAM,qBAAqB,KAAK,CAAA;AAEvC,iEAAiE;AACjE,eAAO,MAAM,oBAAoB,QAAiD,CAAA;AAElF,mFAAmF;AACnF,eAAO,MAAM,oBAAoB,QAA8B,CAAA;AAE/D,4EAA4E;AAC5E,eAAO,MAAM,kBAAkB,QAA4B,CAAA;AAE3D,iEAAiE;AACjE,eAAO,MAAM,mBAAmB,QAA8B,CAAA;AAE9D,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,QAAmC,CAAA;AAEvE,oGAAoG;AACpG,eAAO,MAAM,uBAAuB,QAAiD,CAAA;AAErF;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,QAAuB,CAAA;AAExD,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,QAAuB,CAAA;AAEzD,2FAA2F;AAC3F,eAAO,MAAM,oBAAoB,QACsC,CAAA;AAEvE,0FAA0F;AAC1F,eAAO,MAAM,YAAY,QAAuB,CAAA;AAEhD,yDAAyD;AACzD,eAAO,MAAM,gBAAgB,QAA4C,CAAA;AAEzE,uEAAuE;AACvE,eAAO,MAAM,mBAAmB,wCAAyC,CAAA;AAEzE,mEAAmE;AACnE,eAAO,MAAM,oBAAoB,wBAAwB,CAAA;AAEzD,gFAAgF;AAChF,eAAO,MAAM,oBAAoB,0CAA2C,CAAA;AAE5E,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,YAAY,CAAA;AAE1C,kFAAkF;AAClF,eAAO,MAAM,2BAA2B,wDAAyD,CAAA;AACjG,eAAO,MAAM,uBAAuB,kBAAkB,CAAA;AAEtD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,EAAE,WAAW,CAAC,MAAM,CAKvD,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,MAAM,CAKxD,CAAA;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,iBAAiB,CAAA;AAE/C,eAAO,MAAM,mBAAmB,GAAI,aAAa,MAAM,KAAG,MAA8C,CAAA;AAExG,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,6BAA6B,CAAA;AAC1D,eAAO,MAAM,oBAAoB,iCAAiC,CAAA;AAElE;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAc,CAAA;AAE9C,0FAA0F;AAC1F,eAAO,MAAM,yBAAyB,QAAkB,CAAA"}
package/dist/constants.js CHANGED
@@ -9,18 +9,18 @@ export const IDENTIFIER_PATTERN = /^[a-z][a-z0-9_]*$/;
9
9
  /** Physical column names may preserve source-system leading underscores. */
10
10
  export const COLUMN_IDENTIFIER_PATTERN = /^_?[a-z][a-z0-9_]*$/;
11
11
  export const MAX_IDENTIFIER_LENGTH = 63;
12
- /** Transformation output assets live in the medallion layers or report lane. */
13
- export const OUTPUT_ASSET_PATTERN = /^(silver|gold|report)\.[a-z][a-z0-9_]*$/;
12
+ /** Qualified transformation output asset: `<schema>.<table>`. */
13
+ export const OUTPUT_ASSET_PATTERN = /^[a-z][a-z0-9_]{0,62}\.[a-z][a-z0-9_]{0,62}$/;
14
14
  /** Raw report passthrough assets are isolated from ontology silver/gold assets. */
15
15
  export const REPORT_ASSET_PATTERN = /^report\.[a-z][a-z0-9_]*$/;
16
- /** ORM-bound serving sources are restricted to the gold layer (mirrors the ORM's `SYNCED_SOURCE_PATTERN`). */
16
+ /** Legacy ORM-bound serving sources remain restricted to the gold layer. */
17
17
  export const GOLD_ASSET_PATTERN = /^gold\.[a-z][a-z0-9_]*$/;
18
18
  /** Serving views are exposed in the Lakebase `public` schema. */
19
19
  export const PUBLIC_VIEW_PATTERN = /^public\.[a-z][a-z0-9_]*$/;
20
20
  /** FIS compatibility relations are isolated to the dedicated reporting schema. */
21
21
  export const REPORTING_TABLE_PATTERN = /^fis_reports\.[a-z][a-z0-9_]*$/;
22
22
  /** `<schema>.<table>` reference for Lakebase CDF source tables (e.g. `manual.retail_customers`). */
23
- export const QUALIFIED_TABLE_PATTERN = /^[a-z][a-z0-9_]*\.[a-z][a-z0-9_]*$/;
23
+ export const QUALIFIED_TABLE_PATTERN = /^[a-z][a-z0-9_]{0,62}\.[a-z][a-z0-9_]{0,62}$/;
24
24
  /**
25
25
  * Symbolic registry references (credential families, alert channels, worker
26
26
  * machines, source systems). Names only — the tight slug grammar is one of the
@@ -38,6 +38,8 @@ export const CRON_PATTERN = /^\S+(\s+\S+){4,6}$/;
38
38
  export const TIMEZONE_PATTERN = /^(UTC|[A-Za-z]+(?:\/[A-Za-z0-9_+-]+)+)$/;
39
39
  /** Stage spec files: `<stage>.stage.yml` in the Pipeline repo root. */
40
40
  export const STAGE_FILE_SUFFIXES = ['.stage.yml', '.stage.yaml'];
41
+ /** Optional Pipeline package configuration at the package root. */
42
+ export const PIPELINE_CONFIG_FILE = 'pipeline.config.yml';
41
43
  /** Named schema artifacts: `schemas/<name>.schema.yml` in the Pipeline repo. */
42
44
  export const SCHEMA_FILE_SUFFIXES = ['.schema.yml', '.schema.yaml'];
43
45
  /** Directory (relative to the Pipeline root) holding named schema artifacts. */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,+BAA+B,CAAA;AAE/D,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAA;AAErD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAA;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEvC,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,yCAAyC,CAAA;AAE7E,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAA;AAE/D,8GAA8G;AAC9G,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAA;AAE3D,iEAAiE;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAA;AAE9D,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAA;AAEvE,oGAAoG;AACpG,MAAM,CAAC,MAAM,uBAAuB,GAAG,oCAAoC,CAAA;AAE3E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAExD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAEzD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,oBAAoB,GAC/B,qEAAqE,CAAA;AAEvE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAA;AAEhD,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,yCAAyC,CAAA;AAEzE,uEAAuE;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,aAAa,CAAU,CAAA;AAEzE,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,aAAa,EAAE,cAAc,CAAU,CAAA;AAE5E,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAA;AAE1C,kFAAkF;AAClF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,oBAAoB,EAAE,qBAAqB,CAAU,CAAA;AACjG,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IACnE,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,iBAAiB;CAClB,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IACpE,UAAU;IACV,aAAa;IACb,eAAe;IACf,cAAc;CACf,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAU,EAAE,CAAC,GAAG,WAAW,GAAG,iBAAiB,EAAE,CAAA;AAExG,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAA;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,8BAA8B,CAAA;AAElE;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAA;AAE9C,0FAA0F;AAC1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,+BAA+B,CAAA;AAE/D,mEAAmE;AACnE,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAA;AAErD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,yBAAyB,GAAG,qBAAqB,CAAA;AAE9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAA;AAEvC,iEAAiE;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,8CAA8C,CAAA;AAElF,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,2BAA2B,CAAA;AAE/D,4EAA4E;AAC5E,MAAM,CAAC,MAAM,kBAAkB,GAAG,yBAAyB,CAAA;AAE3D,iEAAiE;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAA;AAE9D,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG,gCAAgC,CAAA;AAEvE,oGAAoG;AACpG,MAAM,CAAC,MAAM,uBAAuB,GAAG,8CAA8C,CAAA;AAErF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAA;AAExD,4EAA4E;AAC5E,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAEzD,2FAA2F;AAC3F,MAAM,CAAC,MAAM,oBAAoB,GAC/B,qEAAqE,CAAA;AAEvE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,YAAY,GAAG,oBAAoB,CAAA;AAEhD,yDAAyD;AACzD,MAAM,CAAC,MAAM,gBAAgB,GAAG,yCAAyC,CAAA;AAEzE,uEAAuE;AACvE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,aAAa,CAAU,CAAA;AAEzE,mEAAmE;AACnE,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAA;AAEzD,gFAAgF;AAChF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,aAAa,EAAE,cAAc,CAAU,CAAA;AAE5E,gFAAgF;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAA;AAE1C,kFAAkF;AAClF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,oBAAoB,EAAE,qBAAqB,CAAU,CAAA;AACjG,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAA;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IACnE,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,iBAAiB;CAClB,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAwB,IAAI,GAAG,CAAC;IACpE,UAAU;IACV,aAAa;IACb,eAAe;IACf,cAAc;CACf,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,cAAc,CAAA;AAE/C,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,WAAmB,EAAU,EAAE,CAAC,GAAG,WAAW,GAAG,iBAAiB,EAAE,CAAA;AAExG,gFAAgF;AAChF,MAAM,CAAC,MAAM,gBAAgB,GAAG,0BAA0B,CAAA;AAC1D,MAAM,CAAC,MAAM,oBAAoB,GAAG,8BAA8B,CAAA;AAElE;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAA;AAE9C,0FAA0F;AAC1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA"}
package/dist/diff.d.ts CHANGED
@@ -7,7 +7,7 @@ import type { StageSpec } from './envelope.js';
7
7
  * description, owners, runbook) are outside the contract surface entirely.
8
8
  */
9
9
  export type ContractClassification = 'breaking' | 'additive' | 'none';
10
- export declare const CONTRACT_CHANGE_CODES: readonly ["stage_type_changed", "output_added", "output_removed", "column_added", "column_removed", "type_changed", "nullability_loosened", "nullability_tightened", "domain_shrunk", "domain_expanded", "domain_constraint_added", "domain_constraint_removed", "key_changed", "write_pattern_changed", "write_scope_added", "write_scope_changed", "source_changed", "sync_mode_changed", "orm_binding_changed", "satisfies_changed", "primary_key_changed", "feed_added", "feed_removed", "feed_semantics_changed", "violation_posture_changed", "compatibility_mode_changed"];
10
+ export declare const CONTRACT_CHANGE_CODES: readonly ["stage_type_changed", "output_added", "output_removed", "column_added", "column_removed", "type_changed", "nullability_loosened", "nullability_tightened", "domain_shrunk", "domain_expanded", "domain_constraint_added", "domain_constraint_removed", "key_changed", "write_pattern_changed", "write_scope_added", "write_scope_changed", "source_changed", "sync_mode_changed", "orm_binding_changed", "satisfies_changed", "serving_changed", "primary_key_changed", "feed_added", "feed_removed", "feed_semantics_changed", "violation_posture_changed", "compatibility_mode_changed"];
11
11
  export type ContractChangeCode = (typeof CONTRACT_CHANGE_CODES)[number];
12
12
  export interface ContractChange {
13
13
  readonly code: ContractChangeCode;
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C;;;;;;GAMG;AAEH,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;AAErE,eAAO,MAAM,qBAAqB,mjBA2BxB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAUvE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAA;IAC/C,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;IAC3C,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;CAC/D;AAsMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,YAAY,CA8ElF"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAE9C;;;;;;GAMG;AAEH,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAA;AAErE,eAAO,MAAM,qBAAqB,skBA4BxB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAA;AAUvE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAA;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAA;IAC/C,iEAAiE;IACjE,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,EAAE,CAAA;IAC3C,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAA;CAC/D;AA4MD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,GAAG,YAAY,CA8ElF"}
package/dist/diff.js CHANGED
@@ -23,6 +23,7 @@ export const CONTRACT_CHANGE_CODES = [
23
23
  'sync_mode_changed',
24
24
  'orm_binding_changed',
25
25
  'satisfies_changed',
26
+ 'serving_changed',
26
27
  'primary_key_changed',
27
28
  'feed_added',
28
29
  'feed_removed',
@@ -149,7 +150,7 @@ function contractsOf(spec) {
149
150
  * Non-column contract fields — everything `contractSurface` covers beyond
150
151
  * output/projection columns must be diffable here, or additive-only
151
152
  * enforcement would miss breaking changes that DO churn `contract_hash`:
152
- * serving source/sync_mode/orm_binding/primary_key, and ingestion source
153
+ * serving source/sync_mode/orm_binding/satisfies/serving/primary_key, and ingestion source
153
154
  * identity + feed batch semantics.
154
155
  */
155
156
  function specLevelChanges(oldSpec, newSpec) {
@@ -179,6 +180,12 @@ function specLevelChanges(oldSpec, newSpec) {
179
180
  message: 'satisfies changed — the ORM contract pin (namespace.table@hash) is contract identity',
180
181
  });
181
182
  }
183
+ if (canonicalJson(oldSpec.serving ?? null) !== canonicalJson(newSpec.serving ?? null)) {
184
+ changes.push({
185
+ code: 'serving_changed',
186
+ message: 'serving installation, exposure, or refresh policy changed',
187
+ });
188
+ }
182
189
  if (canonicalJson(oldSpec.projection.primary_key) !== canonicalJson(newSpec.projection.primary_key)) {
183
190
  changes.push({
184
191
  code: 'primary_key_changed',