@substrat-run/contracts 0.76.0 → 0.78.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.
- package/dist/model.d.ts +126 -8
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +37 -0
- package/dist/model.js.map +1 -1
- package/dist/operations.d.ts +31 -3
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js.map +1 -1
- package/package.json +1 -1
package/dist/model.d.ts
CHANGED
|
@@ -44,6 +44,39 @@ export interface EntityDef<Names extends string = string> {
|
|
|
44
44
|
* kernel means and cannot express the real cases.
|
|
45
45
|
*/
|
|
46
46
|
readonly parents?: readonly Names[];
|
|
47
|
+
/**
|
|
48
|
+
* The table's identity. Defaults to `['id']`.
|
|
49
|
+
*
|
|
50
|
+
* **Declared, because not every table's identity is an `id`.** The `vertical_`
|
|
51
|
+
* side table keyed by an engine's id — the composition pattern the design
|
|
52
|
+
* rules prescribe — has no id of its own to have, and inventing one would be
|
|
53
|
+
* wrong: it would permit two side rows for one work order, which is the very
|
|
54
|
+
* thing the primary key exists to prevent. Value-keyed tables are the same
|
|
55
|
+
* shape: a counter per `(kind, year)`, a budget per `(customer, year, month)`.
|
|
56
|
+
*
|
|
57
|
+
* **Kept distinct from `key`, because SQL's own distinction is the useful
|
|
58
|
+
* one.** `primaryKey` is identity; `key` is an additional uniqueness rule. A
|
|
59
|
+
* table legitimately has both — a composite primary key and a separate
|
|
60
|
+
* natural key — so reading `key` as the primary key when an entity has no
|
|
61
|
+
* `id` would conflate two facts to save a field.
|
|
62
|
+
*
|
|
63
|
+
* Order is significant and preserved: a composite primary key is also the
|
|
64
|
+
* index its columns are searched by, left to right.
|
|
65
|
+
*
|
|
66
|
+
* **A composite key means the entity cannot be pointed AT.** An `EntityRef` is
|
|
67
|
+
* one type and one id, so an attachment target, an event subject, a narrowed
|
|
68
|
+
* permission check and a `parents` edge all need a single column to identify
|
|
69
|
+
* the row. Those positions accept only single-column-keyed entities, and the
|
|
70
|
+
* compiler says so — see `PointableName` below. A composite-keyed table is
|
|
71
|
+
* still a full model member: it gets migrations, a row type and a place in
|
|
72
|
+
* `model.json`. It is simply not something a grant can narrow to.
|
|
73
|
+
*
|
|
74
|
+
* An entity with neither `primaryKey` nor an `id` field is an ERROR, not a
|
|
75
|
+
* table without a primary key. That silence is what let 15 of one production
|
|
76
|
+
* vertical's 63 tables emit with no primary key at all while a column-by-column
|
|
77
|
+
* parity check reported 63/63 (#804).
|
|
78
|
+
*/
|
|
79
|
+
readonly primaryKey?: readonly string[];
|
|
47
80
|
/** Natural key, if any. Must name fields that exist. */
|
|
48
81
|
readonly key?: readonly string[];
|
|
49
82
|
/** Fields an erasure must be able to reach (§12). Must name fields that exist. */
|
|
@@ -64,6 +97,38 @@ export interface EntityDef<Names extends string = string> {
|
|
|
64
97
|
*/
|
|
65
98
|
readonly renamedFrom?: Readonly<Record<string, string>>;
|
|
66
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* The entities the platform can point AT — those identified by ONE column.
|
|
102
|
+
*
|
|
103
|
+
* An `EntityRef` is a type and a single id. Attachments hang off one, grants
|
|
104
|
+
* narrow to one, `ctx.link` joins two, an event is about one and names the
|
|
105
|
+
* output field carrying its id. None of that has a meaning for a table
|
|
106
|
+
* identified by `(customer_id, year, month)`: there is no one id to carry, and
|
|
107
|
+
* `entityIdFrom` naming `customer_id` would silently make the event about a
|
|
108
|
+
* third of a row.
|
|
109
|
+
*
|
|
110
|
+
* So a composite `primaryKey` is what makes an entity un-pointable, and that is
|
|
111
|
+
* DERIVED rather than declared — a `pointable: true` flag would be a second
|
|
112
|
+
* description of what the key already says, which is how two descriptions come
|
|
113
|
+
* to disagree.
|
|
114
|
+
*
|
|
115
|
+
* **This alias is documentation; the positions inline it.** TypeScript prints an
|
|
116
|
+
* alias unresolved, so a parameter typed `PointableName<T>` reports
|
|
117
|
+
*
|
|
118
|
+
* Argument of type '"budget"' is not assignable to parameter of type
|
|
119
|
+
* 'PointableName<{ readonly customer: { readonly table: "a"; … } }>'
|
|
120
|
+
*
|
|
121
|
+
* — the whole entity map, and not one usable name. Inlined, the same error reads
|
|
122
|
+
* `Type '"budget"' is not assignable to type '"customer" | "ext" | "site"'`.
|
|
123
|
+
* Same lesson as #705, verified again here. Every inlined copy has a
|
|
124
|
+
* `@ts-expect-error` case in `test/model.test.ts`, so a copy that stops biting
|
|
125
|
+
* turns that directive unused and fails `typecheck`.
|
|
126
|
+
*/
|
|
127
|
+
export type PointableName<T> = {
|
|
128
|
+
readonly [K in keyof T]: T[K] extends {
|
|
129
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
130
|
+
} ? never : K;
|
|
131
|
+
}[keyof T] & string;
|
|
67
132
|
/** The field names of one entity, read off its own `fields` schema. */
|
|
68
133
|
export type EntityFields<E> = E extends {
|
|
69
134
|
fields: infer F;
|
|
@@ -78,8 +143,14 @@ export type EntityFields<E> = E extends {
|
|
|
78
143
|
* and enforces nothing; see `test/model.test.ts`, which exists to prove they
|
|
79
144
|
* still bite.
|
|
80
145
|
*/
|
|
81
|
-
export declare function defineEntities<T extends {
|
|
146
|
+
export declare function defineEntities<const T extends {
|
|
82
147
|
readonly [K in keyof T]: EntityDef<keyof T & string> & {
|
|
148
|
+
parents?: readonly ({
|
|
149
|
+
readonly [N in keyof T]: T[N] extends {
|
|
150
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
151
|
+
} ? never : N;
|
|
152
|
+
}[keyof T] & string)[];
|
|
153
|
+
primaryKey?: readonly EntityFields<T[K]>[];
|
|
83
154
|
key?: readonly EntityFields<T[K]>[];
|
|
84
155
|
erasable?: readonly EntityFields<T[K]>[];
|
|
85
156
|
renamedFrom?: Readonly<Partial<Record<EntityFields<T[K]>, string>>>;
|
|
@@ -87,6 +158,20 @@ export declare function defineEntities<T extends {
|
|
|
87
158
|
}>(entities: T): T;
|
|
88
159
|
/** The declared entity names. */
|
|
89
160
|
export type EntityName<T> = keyof T & string;
|
|
161
|
+
/**
|
|
162
|
+
* The entity's primary key — declared, or `['id']` if it has an `id` field.
|
|
163
|
+
*
|
|
164
|
+
* Resolved in one place because two callers need the same answer and the same
|
|
165
|
+
* refusal: the DDL emitter, which cannot write a `CREATE TABLE` without it, and
|
|
166
|
+
* `emitModel`, so the artifact of record carries the fact rather than leaving it
|
|
167
|
+
* to be re-derived by whoever reads it.
|
|
168
|
+
*
|
|
169
|
+
* **It throws rather than returning nothing.** A table with no primary key is
|
|
170
|
+
* not a shape the model may express: it accepts duplicate rows silently, and a
|
|
171
|
+
* parity check that compares columns — the natural one to write — reports a
|
|
172
|
+
* perfect match over it (#804).
|
|
173
|
+
*/
|
|
174
|
+
export declare function primaryKeyOf(name: string, entity: EntityDef): readonly string[];
|
|
90
175
|
/**
|
|
91
176
|
* The serialisable form — the artifact of record.
|
|
92
177
|
*
|
|
@@ -104,6 +189,12 @@ export interface EmittedEntity {
|
|
|
104
189
|
readonly fields: Record<string, unknown>;
|
|
105
190
|
/** The permitted parent types, sorted. One shape, always. */
|
|
106
191
|
readonly parents?: readonly string[];
|
|
192
|
+
/**
|
|
193
|
+
* Present only when it is not the `['id']` default, and **unsorted** — unlike
|
|
194
|
+
* `key`, a primary key's column order is part of the fact, so sorting it for a
|
|
195
|
+
* tidier diff would emit a different index than the one declared.
|
|
196
|
+
*/
|
|
197
|
+
readonly primaryKey?: readonly string[];
|
|
107
198
|
readonly key?: readonly string[];
|
|
108
199
|
readonly erasable?: readonly string[];
|
|
109
200
|
}
|
|
@@ -139,8 +230,16 @@ export declare function entityRelationsOf<T extends Record<string, EntityDef>>(e
|
|
|
139
230
|
* Type '"bkie"' is not assignable to type '"bike" | "customer"'.
|
|
140
231
|
*/
|
|
141
232
|
type EntityRefs<T extends Record<string, EntityDef>, M> = {
|
|
233
|
+
/**
|
|
234
|
+
* An attachment hangs off ONE entity id, so the target must be pointable.
|
|
235
|
+
* Inlined rather than aliased, per `PointableName`.
|
|
236
|
+
*/
|
|
142
237
|
readonly attachmentTargets?: readonly {
|
|
143
|
-
readonly entityType:
|
|
238
|
+
readonly entityType: {
|
|
239
|
+
readonly [K in keyof T]: T[K] extends {
|
|
240
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
241
|
+
} ? never : K;
|
|
242
|
+
}[keyof T] & string;
|
|
144
243
|
readonly readPermission: string;
|
|
145
244
|
readonly writePermission?: string;
|
|
146
245
|
}[];
|
|
@@ -185,16 +284,35 @@ type EntityRefs<T extends Record<string, EntityDef>, M> = {
|
|
|
185
284
|
* nothing left to say.
|
|
186
285
|
*/
|
|
187
286
|
readonly relations?: readonly {
|
|
188
|
-
readonly entityType: (
|
|
287
|
+
readonly entityType: ({
|
|
288
|
+
readonly [K in keyof T]: T[K] extends {
|
|
289
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
290
|
+
} ? never : K;
|
|
291
|
+
}[keyof T] & string) | (M extends {
|
|
189
292
|
engines: readonly (infer R)[];
|
|
190
|
-
} ?
|
|
191
|
-
readonly parentType: (
|
|
293
|
+
} ? PointableNamesOf<R> : never);
|
|
294
|
+
readonly parentType: ({
|
|
295
|
+
readonly [K in keyof T]: T[K] extends {
|
|
296
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
297
|
+
} ? never : K;
|
|
298
|
+
}[keyof T] & string) | (M extends {
|
|
192
299
|
engines: readonly (infer R)[];
|
|
193
|
-
} ?
|
|
300
|
+
} ? PointableNamesOf<R> : never);
|
|
194
301
|
}[];
|
|
195
302
|
};
|
|
196
|
-
/**
|
|
197
|
-
|
|
303
|
+
/**
|
|
304
|
+
* The pointable entity names of one composed engine's registry.
|
|
305
|
+
*
|
|
306
|
+
* An alias is tolerable HERE, unlike the local side: an engine's names are not
|
|
307
|
+
* what a diagnostic needs to list — the local union carries those, and this arm
|
|
308
|
+
* only widens it. Engines declare their registries with `defineEntities` too, so
|
|
309
|
+
* the tuple survives and the filter bites on their entities as well.
|
|
310
|
+
*/
|
|
311
|
+
type PointableNamesOf<R> = R extends Record<string, EntityDef> ? {
|
|
312
|
+
readonly [K in keyof R]: R[K] extends {
|
|
313
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
314
|
+
} ? never : K;
|
|
315
|
+
}[keyof R] & string : never;
|
|
198
316
|
/**
|
|
199
317
|
* Compose the entity-referencing manifest fragments against the registry.
|
|
200
318
|
*
|
package/dist/model.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AACH,MAAM,WAAW,SAAS,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM;IACtD,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,yFAAyF;IACzF,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC5C;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,KAAK,EAAE,CAAC;IACpC,wDAAwD;IACxD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACjC,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACzD;AAED,uEAAuE;AACvE,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACvD,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,GAClC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,GACzB,KAAK,GACP,KAAK,CAAC;AAEV;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,CAAC,SAAS;
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/model.js
CHANGED
|
@@ -35,6 +35,39 @@ import { z } from 'zod';
|
|
|
35
35
|
export function defineEntities(entities) {
|
|
36
36
|
return entities;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* The entity's primary key — declared, or `['id']` if it has an `id` field.
|
|
40
|
+
*
|
|
41
|
+
* Resolved in one place because two callers need the same answer and the same
|
|
42
|
+
* refusal: the DDL emitter, which cannot write a `CREATE TABLE` without it, and
|
|
43
|
+
* `emitModel`, so the artifact of record carries the fact rather than leaving it
|
|
44
|
+
* to be re-derived by whoever reads it.
|
|
45
|
+
*
|
|
46
|
+
* **It throws rather than returning nothing.** A table with no primary key is
|
|
47
|
+
* not a shape the model may express: it accepts duplicate rows silently, and a
|
|
48
|
+
* parity check that compares columns — the natural one to write — reports a
|
|
49
|
+
* perfect match over it (#804).
|
|
50
|
+
*/
|
|
51
|
+
export function primaryKeyOf(name, entity) {
|
|
52
|
+
const shape = entity.fields.shape;
|
|
53
|
+
const declared = entity.primaryKey;
|
|
54
|
+
if (declared?.length) {
|
|
55
|
+
for (const col of declared) {
|
|
56
|
+
if (!(col in shape)) {
|
|
57
|
+
throw new Error(`model: ${name}.primaryKey names '${col}', which is not a field`);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (new Set(declared).size !== declared.length) {
|
|
61
|
+
throw new Error(`model: ${name}.primaryKey repeats a column — (${declared.join(', ')})`);
|
|
62
|
+
}
|
|
63
|
+
return declared;
|
|
64
|
+
}
|
|
65
|
+
if ('id' in shape)
|
|
66
|
+
return ['id'];
|
|
67
|
+
throw new Error(`model: ${name} has no 'id' field and declares no \`primaryKey\` — a table without a ` +
|
|
68
|
+
'primary key accepts duplicate rows. Declare the columns that identify a row, e.g. ' +
|
|
69
|
+
"`primaryKey: ['workorder_id']` for a side table keyed by an engine's id");
|
|
70
|
+
}
|
|
38
71
|
/**
|
|
39
72
|
* Render the registry to plain JSON. Deterministic: entities and their fields
|
|
40
73
|
* are emitted in sorted order, so the checked-in artifact diffs cleanly and a
|
|
@@ -51,6 +84,10 @@ export function emitModel(entities) {
|
|
|
51
84
|
table: e.table,
|
|
52
85
|
fields,
|
|
53
86
|
...(e.parents?.length ? { parents: [...e.parents].sort() } : {}),
|
|
87
|
+
// Resolved, not just copied: this also refuses an entity with no identity
|
|
88
|
+
// at all, so `lint:model --check` goes red on it the same way the DDL
|
|
89
|
+
// emitter does.
|
|
90
|
+
...(primaryKeyOf(name, e).join() === 'id' ? {} : { primaryKey: primaryKeyOf(name, e) }),
|
|
54
91
|
...(e.key ? { key: [...e.key].sort() } : {}),
|
|
55
92
|
...(e.erasable ? { erasable: [...e.erasable].sort() } : {}),
|
|
56
93
|
};
|
package/dist/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
package/dist/operations.d.ts
CHANGED
|
@@ -110,8 +110,23 @@ type PiiShape<O, OutKeys extends string> = O extends {
|
|
|
110
110
|
*/
|
|
111
111
|
type PermissionCheck<O, Entities, Engines, PermKey extends string> = {
|
|
112
112
|
readonly key: PermKey;
|
|
113
|
-
/**
|
|
114
|
-
|
|
113
|
+
/**
|
|
114
|
+
* The entity type the check narrows to — this module's, or a composed engine's.
|
|
115
|
+
*
|
|
116
|
+
* Pointable only. A narrowed check is a grant against ONE entity id, and
|
|
117
|
+
* `idFrom` names the single input field carrying it, so a composite-keyed
|
|
118
|
+
* table has nothing to narrow to. Inlined rather than aliased, per
|
|
119
|
+
* `PointableName` in `model.ts`.
|
|
120
|
+
*/
|
|
121
|
+
readonly entity: ({
|
|
122
|
+
readonly [K in keyof Entities]: Entities[K] extends {
|
|
123
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
124
|
+
} ? never : K;
|
|
125
|
+
}[keyof Entities] & string) | (Engines extends readonly (infer R)[] ? R extends Record<string, EntityDef> ? {
|
|
126
|
+
readonly [K in keyof R]: R[K] extends {
|
|
127
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
128
|
+
} ? never : K;
|
|
129
|
+
}[keyof R] & string : never : never);
|
|
115
130
|
} & ({
|
|
116
131
|
readonly idFrom: InputKeys<O>;
|
|
117
132
|
readonly resolved?: never;
|
|
@@ -197,8 +212,21 @@ type OperationShape<O, Entities, Engines, PermKey extends string> = {
|
|
|
197
212
|
*
|
|
198
213
|
* Inlined rather than via an alias: TypeScript prints an alias unresolved,
|
|
199
214
|
* so the diagnostic would name it instead of listing the entities (#705).
|
|
215
|
+
*
|
|
216
|
+
* Pointable only. An event is ABOUT one entity and `entityIdFrom` names the
|
|
217
|
+
* one output field carrying its id — so a composite-keyed table cannot be an
|
|
218
|
+
* event subject. Accepting it would have made the event about a third of a
|
|
219
|
+
* row, which is the #695 defect with a different cause.
|
|
200
220
|
*/
|
|
201
|
-
readonly entity: (
|
|
221
|
+
readonly entity: ({
|
|
222
|
+
readonly [K in keyof Entities]: Entities[K] extends {
|
|
223
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
224
|
+
} ? never : K;
|
|
225
|
+
}[keyof Entities] & string) | (Engines extends readonly (infer R)[] ? R extends Record<string, EntityDef> ? {
|
|
226
|
+
readonly [K in keyof R]: R[K] extends {
|
|
227
|
+
primaryKey: readonly [unknown, unknown, ...unknown[]];
|
|
228
|
+
} ? never : K;
|
|
229
|
+
}[keyof R] & string : never : never);
|
|
202
230
|
/**
|
|
203
231
|
* Which OUTPUT field carries that entity's id.
|
|
204
232
|
*
|
package/dist/operations.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAM5C,uCAAuC;AACvC,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,IAAI,MAAM,IAAI,EAAE,GAC9E,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,GACpB,KAAK,CAAC;AAEV,KAAK,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAErH,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC;AAEvH,0EAA0E;AAC1E,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GACvD,CAAC,SAAS,MAAM,GACd,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACpC,CAAC,GACD,KAAK,GACP,KAAK,GACP,MAAM,CAAC;AAEX;;;;;;;;GAQG;AACH,KAAK,UAAU,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,CAAA;CAAE,GAC5E,CAAC,SAAS,MAAM,QAAQ,GACtB,QAAQ,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;CAAE,GACpD,CAAC,GAAG,MAAM,GACV,KAAK,GAGP,OAAO,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GACjC,CAAC,SAAS,MAAM,CAAC,GACf,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAA;CAAE,GAC7C,CAAC,GAAG,MAAM,GACV,KAAK,GACP,KAAK,GACP,KAAK,GACP,KAAK,GACT,KAAK,CAAC;AAEV;;;;;;GAMG;AACH,KAAK,QAAQ,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAChF;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAA;CAAE,GACzD;IAAE,QAAQ,CAAC,QAAQ,EAAE,cAAc,GAAG,QAAQ,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC;AAElF;;;;;GAKG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,KAAK,eAAe,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,SAAS,MAAM,IAAI;IACnE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
|
package/dist/operations.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/contracts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.78.0",
|
|
4
4
|
"description": "Substrat kernel contract schemas — Zod is the source of truth (master plan D-22); OAS/JSON Schema are emitted artifacts",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|