@driftfence/core 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 (92) hide show
  1. package/LICENSE +81 -0
  2. package/README.md +36 -0
  3. package/dist/draft/scenario.d.ts +3 -0
  4. package/dist/draft/scenario.d.ts.map +1 -0
  5. package/dist/draft/scenario.js +207 -0
  6. package/dist/draft/scenario.js.map +1 -0
  7. package/dist/index.d.ts +22 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +38 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/io/config.d.ts +10 -0
  12. package/dist/io/config.d.ts.map +1 -0
  13. package/dist/io/config.js +165 -0
  14. package/dist/io/config.js.map +1 -0
  15. package/dist/io/contracts.d.ts +7 -0
  16. package/dist/io/contracts.d.ts.map +1 -0
  17. package/dist/io/contracts.js +562 -0
  18. package/dist/io/contracts.js.map +1 -0
  19. package/dist/io/files.d.ts +6 -0
  20. package/dist/io/files.d.ts.map +1 -0
  21. package/dist/io/files.js +49 -0
  22. package/dist/io/files.js.map +1 -0
  23. package/dist/io/suppressions.d.ts +16 -0
  24. package/dist/io/suppressions.d.ts.map +1 -0
  25. package/dist/io/suppressions.js +108 -0
  26. package/dist/io/suppressions.js.map +1 -0
  27. package/dist/io/traces.d.ts +3 -0
  28. package/dist/io/traces.d.ts.map +1 -0
  29. package/dist/io/traces.js +40 -0
  30. package/dist/io/traces.js.map +1 -0
  31. package/dist/match/expr.d.ts +3 -0
  32. package/dist/match/expr.d.ts.map +1 -0
  33. package/dist/match/expr.js +43 -0
  34. package/dist/match/expr.js.map +1 -0
  35. package/dist/match/value.d.ts +5 -0
  36. package/dist/match/value.d.ts.map +1 -0
  37. package/dist/match/value.js +127 -0
  38. package/dist/match/value.js.map +1 -0
  39. package/dist/normalize/trace.d.ts +12 -0
  40. package/dist/normalize/trace.d.ts.map +1 -0
  41. package/dist/normalize/trace.js +215 -0
  42. package/dist/normalize/trace.js.map +1 -0
  43. package/dist/query/index.d.ts +4 -0
  44. package/dist/query/index.d.ts.map +1 -0
  45. package/dist/query/index.js +96 -0
  46. package/dist/query/index.js.map +1 -0
  47. package/dist/report/check.d.ts +3 -0
  48. package/dist/report/check.d.ts.map +1 -0
  49. package/dist/report/check.js +347 -0
  50. package/dist/report/check.js.map +1 -0
  51. package/dist/report/render.d.ts +11 -0
  52. package/dist/report/render.d.ts.map +1 -0
  53. package/dist/report/render.js +99 -0
  54. package/dist/report/render.js.map +1 -0
  55. package/dist/schemas/index.d.ts +578 -0
  56. package/dist/schemas/index.d.ts.map +1 -0
  57. package/dist/schemas/index.js +492 -0
  58. package/dist/schemas/index.js.map +1 -0
  59. package/dist/tsconfig.tsbuildinfo +1 -0
  60. package/dist/types.d.ts +402 -0
  61. package/dist/types.d.ts.map +1 -0
  62. package/dist/types.js +3 -0
  63. package/dist/types.js.map +1 -0
  64. package/dist/utils/errors.d.ts +18 -0
  65. package/dist/utils/errors.d.ts.map +1 -0
  66. package/dist/utils/errors.js +34 -0
  67. package/dist/utils/errors.js.map +1 -0
  68. package/dist/utils/json.d.ts +10 -0
  69. package/dist/utils/json.d.ts.map +1 -0
  70. package/dist/utils/json.js +98 -0
  71. package/dist/utils/json.js.map +1 -0
  72. package/dist/utils/order.d.ts +8 -0
  73. package/dist/utils/order.d.ts.map +1 -0
  74. package/dist/utils/order.js +42 -0
  75. package/dist/utils/order.js.map +1 -0
  76. package/dist/utils/path.d.ts +8 -0
  77. package/dist/utils/path.d.ts.map +1 -0
  78. package/dist/utils/path.js +168 -0
  79. package/dist/utils/path.js.map +1 -0
  80. package/dist/verify/invariants.d.ts +3 -0
  81. package/dist/verify/invariants.d.ts.map +1 -0
  82. package/dist/verify/invariants.js +38 -0
  83. package/dist/verify/invariants.js.map +1 -0
  84. package/dist/verify/sequence.d.ts +3 -0
  85. package/dist/verify/sequence.d.ts.map +1 -0
  86. package/dist/verify/sequence.js +151 -0
  87. package/dist/verify/sequence.js.map +1 -0
  88. package/dist/verify/summary.d.ts +8 -0
  89. package/dist/verify/summary.d.ts.map +1 -0
  90. package/dist/verify/summary.js +132 -0
  91. package/dist/verify/summary.js.map +1 -0
  92. package/package.json +47 -0
@@ -0,0 +1,492 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.schemaRegistry = exports.queryResponseSchema = exports.checkReportSchema = exports.traceFileSchema = exports.suppressionFileSchema = exports.configSchema = exports.workflowContractFileSchema = exports.exprSchema = exports.valueMatcherSchema = void 0;
4
+ exports.getSchemaJson = getSchemaJson;
5
+ const zod_1 = require("zod");
6
+ const zod_to_json_schema_1 = require("zod-to-json-schema");
7
+ const primitiveSchema = zod_1.z.union([
8
+ zod_1.z.string(),
9
+ zod_1.z.number(),
10
+ zod_1.z.boolean(),
11
+ zod_1.z.null()
12
+ ]);
13
+ const reservedMatcherSchema = zod_1.z.union([
14
+ zod_1.z.object({ $from: zod_1.z.string() }).strict(),
15
+ zod_1.z.object({ $any: zod_1.z.literal(true) }).strict(),
16
+ zod_1.z.object({ $oneOf: zod_1.z.array(primitiveSchema) }).strict(),
17
+ zod_1.z.object({ $regex: zod_1.z.string() }).strict(),
18
+ zod_1.z.object({ $ignore: zod_1.z.literal(true) }).strict()
19
+ ]);
20
+ exports.valueMatcherSchema = zod_1.z.lazy(() => zod_1.z.union([
21
+ primitiveSchema,
22
+ zod_1.z.array(exports.valueMatcherSchema),
23
+ zod_1.z.record(zod_1.z.string(), exports.valueMatcherSchema),
24
+ reservedMatcherSchema
25
+ ]));
26
+ exports.exprSchema = zod_1.z.lazy(() => zod_1.z.union([
27
+ primitiveSchema,
28
+ zod_1.z.object({ $from: zod_1.z.string() }).strict(),
29
+ zod_1.z.object({ $eq: zod_1.z.tuple([exports.exprSchema, exports.exprSchema]) }).strict(),
30
+ zod_1.z.object({ $and: zod_1.z.array(exports.exprSchema) }).strict(),
31
+ zod_1.z.object({ $or: zod_1.z.array(exports.exprSchema) }).strict(),
32
+ zod_1.z.object({ $not: exports.exprSchema }).strict(),
33
+ zod_1.z.object({ $implies: zod_1.z.tuple([exports.exprSchema, exports.exprSchema]) }).strict(),
34
+ zod_1.z.object({ $occurred: zod_1.z.string() }).strict(),
35
+ zod_1.z.object({ $count: zod_1.z.string() }).strict()
36
+ ]));
37
+ const scenarioOptionsSchema = zod_1.z
38
+ .object({
39
+ strictObjects: zod_1.z.boolean().optional(),
40
+ strictArrays: zod_1.z.boolean().optional()
41
+ })
42
+ .strict();
43
+ const summaryExpectationSchema = zod_1.z
44
+ .object({
45
+ effects: zod_1.z.array(zod_1.z.string()).optional(),
46
+ emits: zod_1.z.array(zod_1.z.string()).optional(),
47
+ allowExtraEffects: zod_1.z.array(zod_1.z.string()).optional(),
48
+ allowExtraEmits: zod_1.z.array(zod_1.z.string()).optional()
49
+ })
50
+ .strict();
51
+ const sequenceStepBaseSchema = zod_1.z.object({
52
+ stepId: zod_1.z.string().min(1),
53
+ optional: zod_1.z.boolean().optional(),
54
+ when: exports.exprSchema.optional()
55
+ });
56
+ const effectStepSchema = sequenceStepBaseSchema
57
+ .extend({
58
+ kind: zod_1.z.literal("effect"),
59
+ name: zod_1.z.string().min(1),
60
+ args: exports.valueMatcherSchema.optional(),
61
+ result: exports.valueMatcherSchema.optional(),
62
+ bind: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional()
63
+ })
64
+ .strict();
65
+ const emitStepSchema = sequenceStepBaseSchema
66
+ .extend({
67
+ kind: zod_1.z.literal("emit"),
68
+ event: zod_1.z.string().min(1),
69
+ payload: exports.valueMatcherSchema.optional(),
70
+ bind: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional()
71
+ })
72
+ .strict();
73
+ const sequenceExpectationSchema = zod_1.z
74
+ .object({
75
+ level: zod_1.z.union([zod_1.z.literal(0), zod_1.z.literal(1), zod_1.z.literal(2), zod_1.z.literal(3)]),
76
+ steps: zod_1.z.array(zod_1.z.union([effectStepSchema, emitStepSchema])).min(1)
77
+ })
78
+ .strict();
79
+ const invariantExpectationSchema = zod_1.z
80
+ .object({
81
+ id: zod_1.z.string().min(1),
82
+ name: zod_1.z.string().min(1),
83
+ severity: zod_1.z.union([zod_1.z.literal("error"), zod_1.z.literal("warn")]),
84
+ message: zod_1.z.string().min(1),
85
+ expr: exports.exprSchema
86
+ })
87
+ .strict();
88
+ const errorExpectationSchema = zod_1.z.union([
89
+ zod_1.z.object({ none: zod_1.z.literal(true) }).strict(),
90
+ zod_1.z
91
+ .object({
92
+ code: exports.valueMatcherSchema,
93
+ message: exports.valueMatcherSchema.optional(),
94
+ data: exports.valueMatcherSchema.optional()
95
+ })
96
+ .strict()
97
+ ]);
98
+ const scenarioExpectationsSchema = zod_1.z
99
+ .object({
100
+ summary: summaryExpectationSchema,
101
+ sequence: sequenceExpectationSchema.optional(),
102
+ output: exports.valueMatcherSchema.optional(),
103
+ error: errorExpectationSchema.optional(),
104
+ stateAfter: exports.valueMatcherSchema.optional(),
105
+ invariants: zod_1.z.array(invariantExpectationSchema).optional()
106
+ })
107
+ .strict();
108
+ const scenarioLifecycleSchema = zod_1.z
109
+ .object({
110
+ state: zod_1.z.union([
111
+ zod_1.z.literal("inferred"),
112
+ zod_1.z.literal("approved"),
113
+ zod_1.z.literal("deprecated")
114
+ ]),
115
+ approval: zod_1.z
116
+ .object({
117
+ recordedBy: zod_1.z.string().optional(),
118
+ recordedAt: zod_1.z.string().optional(),
119
+ derivedFrom: zod_1.z
120
+ .object({
121
+ traceHash: zod_1.z.string().optional(),
122
+ gitSha: zod_1.z.string().optional(),
123
+ toolVersion: zod_1.z.string().optional()
124
+ })
125
+ .strict()
126
+ .optional()
127
+ })
128
+ .strict()
129
+ .optional(),
130
+ deprecation: zod_1.z
131
+ .object({
132
+ recordedBy: zod_1.z.string().optional(),
133
+ recordedAt: zod_1.z.string().optional(),
134
+ reason: zod_1.z.string().min(1)
135
+ })
136
+ .strict()
137
+ .optional()
138
+ })
139
+ .strict();
140
+ const contractScenarioSchema = zod_1.z
141
+ .object({
142
+ id: zod_1.z.string().min(1),
143
+ displayName: zod_1.z.string().optional(),
144
+ lifecycle: scenarioLifecycleSchema,
145
+ precision: zod_1.z.union([zod_1.z.literal("summary"), zod_1.z.literal("sequence")]),
146
+ expect: scenarioExpectationsSchema,
147
+ options: scenarioOptionsSchema.optional(),
148
+ notes: zod_1.z.array(zod_1.z.string()).optional()
149
+ })
150
+ .strict();
151
+ exports.workflowContractFileSchema = zod_1.z
152
+ .object({
153
+ schemaVersion: zod_1.z.literal("driftfence/v2"),
154
+ contractId: zod_1.z.string().min(1),
155
+ displayName: zod_1.z.string().optional(),
156
+ owners: zod_1.z.array(zod_1.z.string().min(1)),
157
+ boundaries: zod_1.z
158
+ .array(zod_1.z
159
+ .object({
160
+ kind: zod_1.z.union([
161
+ zod_1.z.literal("http"),
162
+ zod_1.z.literal("job"),
163
+ zod_1.z.literal("cron"),
164
+ zod_1.z.literal("queue"),
165
+ zod_1.z.literal("cli"),
166
+ zod_1.z.literal("internal")
167
+ ]),
168
+ name: zod_1.z.string().min(1)
169
+ })
170
+ .strict())
171
+ .optional(),
172
+ source: zod_1.z
173
+ .object({
174
+ language: zod_1.z.literal("typescript"),
175
+ entrypoint: zod_1.z.string().optional(),
176
+ files: zod_1.z.array(zod_1.z.string()).optional(),
177
+ testCommand: zod_1.z.string().optional()
178
+ })
179
+ .strict()
180
+ .optional(),
181
+ defaults: scenarioOptionsSchema.optional(),
182
+ scenarios: zod_1.z.array(contractScenarioSchema).min(1)
183
+ })
184
+ .strict();
185
+ exports.configSchema = zod_1.z
186
+ .object({
187
+ schemaVersion: zod_1.z.literal("driftfence-config/v2"),
188
+ mode: zod_1.z.union([zod_1.z.literal("observe"), zod_1.z.literal("enforce")]).optional(),
189
+ defaults: zod_1.z
190
+ .object({
191
+ owners: zod_1.z.array(zod_1.z.string().min(1)).optional()
192
+ })
193
+ .strict()
194
+ .optional(),
195
+ paths: zod_1.z
196
+ .object({
197
+ contracts: zod_1.z.string().optional(),
198
+ proposals: zod_1.z.string().optional(),
199
+ traces: zod_1.z.string().optional(),
200
+ reports: zod_1.z.string().optional(),
201
+ suppressions: zod_1.z.string().optional()
202
+ })
203
+ .strict()
204
+ .optional(),
205
+ normalization: zod_1.z
206
+ .object({
207
+ redactPaths: zod_1.z.array(zod_1.z.string()).optional(),
208
+ ignorePaths: zod_1.z.array(zod_1.z.string()).optional(),
209
+ zeroPaths: zod_1.z.array(zod_1.z.string()).optional(),
210
+ sortArrayPaths: zod_1.z.array(zod_1.z.string()).optional()
211
+ })
212
+ .strict()
213
+ .optional(),
214
+ aliases: zod_1.z
215
+ .object({
216
+ effects: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional(),
217
+ emits: zod_1.z.record(zod_1.z.string(), zod_1.z.string()).optional()
218
+ })
219
+ .strict()
220
+ .optional(),
221
+ check: zod_1.z
222
+ .object({
223
+ failOn: zod_1.z
224
+ .object({
225
+ violating: zod_1.z.boolean().optional(),
226
+ wideningRequest: zod_1.z.boolean().optional(),
227
+ missingTrace: zod_1.z.boolean().optional(),
228
+ narrowing: zod_1.z.boolean().optional(),
229
+ orphanTrace: zod_1.z.boolean().optional()
230
+ })
231
+ .strict()
232
+ .optional(),
233
+ maxInlineScenarios: zod_1.z.number().int().positive().optional()
234
+ })
235
+ .strict()
236
+ .optional(),
237
+ github: zod_1.z
238
+ .object({
239
+ postComment: zod_1.z.boolean().optional(),
240
+ commentMarker: zod_1.z.string().optional()
241
+ })
242
+ .strict()
243
+ .optional()
244
+ })
245
+ .strict();
246
+ exports.suppressionFileSchema = zod_1.z
247
+ .object({
248
+ schemaVersion: zod_1.z.literal("driftfence-suppressions/v1"),
249
+ suppressions: zod_1.z
250
+ .array(zod_1.z
251
+ .object({
252
+ id: zod_1.z.string().min(1),
253
+ match: zod_1.z
254
+ .object({
255
+ contractId: zod_1.z.string().min(1),
256
+ scenarioId: zod_1.z.string().optional(),
257
+ component: zod_1.z
258
+ .union([
259
+ zod_1.z.literal("summary.effects"),
260
+ zod_1.z.literal("summary.emits"),
261
+ zod_1.z.literal("sequence"),
262
+ zod_1.z.literal("output"),
263
+ zod_1.z.literal("error"),
264
+ zod_1.z.literal("stateAfter"),
265
+ zod_1.z.literal("invariant")
266
+ ])
267
+ .optional(),
268
+ classification: zod_1.z
269
+ .union([
270
+ zod_1.z.literal("WIDENING_REQUEST"),
271
+ zod_1.z.literal("NARROWING"),
272
+ zod_1.z.literal("VIOLATING"),
273
+ zod_1.z.literal("MISSING_TRACE"),
274
+ zod_1.z.literal("ORPHAN_TRACE")
275
+ ])
276
+ .optional(),
277
+ code: zod_1.z.string().optional(),
278
+ name: zod_1.z.string().optional()
279
+ })
280
+ .strict(),
281
+ reason: zod_1.z.string().min(1),
282
+ owner: zod_1.z.string().min(1),
283
+ expiresAt: zod_1.z.string().min(1)
284
+ })
285
+ .strict())
286
+ .default([])
287
+ })
288
+ .strict();
289
+ const traceMetaSchema = zod_1.z
290
+ .object({
291
+ testRunner: zod_1.z.string().optional(),
292
+ testFile: zod_1.z.string().optional(),
293
+ testName: zod_1.z.string().optional(),
294
+ command: zod_1.z.string().optional(),
295
+ durationMs: zod_1.z.number().optional(),
296
+ sourceCommit: zod_1.z.string().optional(),
297
+ sourcePath: zod_1.z.string().optional(),
298
+ tags: zod_1.z.array(zod_1.z.string()).optional()
299
+ })
300
+ .catchall(zod_1.z.unknown());
301
+ const effectCallRecordSchema = zod_1.z
302
+ .object({
303
+ kind: zod_1.z.literal("effect"),
304
+ name: zod_1.z.string().min(1),
305
+ args: zod_1.z.unknown().optional(),
306
+ result: zod_1.z.unknown().optional(),
307
+ error: zod_1.z.unknown().nullable().optional()
308
+ })
309
+ .strict();
310
+ const emitCallRecordSchema = zod_1.z
311
+ .object({
312
+ kind: zod_1.z.literal("emit"),
313
+ event: zod_1.z.string().min(1),
314
+ payload: zod_1.z.unknown().optional(),
315
+ error: zod_1.z.unknown().nullable().optional()
316
+ })
317
+ .strict();
318
+ exports.traceFileSchema = zod_1.z
319
+ .object({
320
+ schemaVersion: zod_1.z.literal("driftfence-trace/v2"),
321
+ contractId: zod_1.z.string().min(1),
322
+ scenarioId: zod_1.z.string().min(1),
323
+ input: zod_1.z.unknown(),
324
+ stateBefore: zod_1.z.unknown().optional(),
325
+ calls: zod_1.z.array(zod_1.z.union([effectCallRecordSchema, emitCallRecordSchema])),
326
+ output: zod_1.z.unknown().optional(),
327
+ error: zod_1.z
328
+ .object({
329
+ code: zod_1.z.string().min(1),
330
+ message: zod_1.z.string().optional(),
331
+ data: zod_1.z.unknown().optional()
332
+ })
333
+ .strict()
334
+ .nullable()
335
+ .optional(),
336
+ stateAfter: zod_1.z.unknown().optional(),
337
+ meta: traceMetaSchema.optional()
338
+ })
339
+ .strict();
340
+ const componentResultSchema = zod_1.z
341
+ .object({
342
+ component: zod_1.z.union([
343
+ zod_1.z.literal("summary.effects"),
344
+ zod_1.z.literal("summary.emits"),
345
+ zod_1.z.literal("sequence"),
346
+ zod_1.z.literal("output"),
347
+ zod_1.z.literal("error"),
348
+ zod_1.z.literal("stateAfter"),
349
+ zod_1.z.literal("invariant")
350
+ ]),
351
+ status: zod_1.z.union([
352
+ zod_1.z.literal("CONFORMING"),
353
+ zod_1.z.literal("WIDENING_REQUEST"),
354
+ zod_1.z.literal("NARROWING"),
355
+ zod_1.z.literal("VIOLATING"),
356
+ zod_1.z.literal("SUPPRESSED"),
357
+ zod_1.z.literal("WARN")
358
+ ]),
359
+ underlyingStatus: zod_1.z
360
+ .union([
361
+ zod_1.z.literal("CONFORMING"),
362
+ zod_1.z.literal("WIDENING_REQUEST"),
363
+ zod_1.z.literal("NARROWING"),
364
+ zod_1.z.literal("VIOLATING")
365
+ ])
366
+ .optional(),
367
+ code: zod_1.z.string(),
368
+ message: zod_1.z.string(),
369
+ name: zod_1.z.string().optional(),
370
+ added: zod_1.z.array(zod_1.z.string()).optional(),
371
+ removed: zod_1.z.array(zod_1.z.string()).optional(),
372
+ suppressionIds: zod_1.z.array(zod_1.z.string()).optional()
373
+ })
374
+ .strict();
375
+ const firstDifferenceSchema = zod_1.z
376
+ .object({
377
+ component: zod_1.z.string(),
378
+ code: zod_1.z.string(),
379
+ path: zod_1.z.string().optional(),
380
+ expected: zod_1.z.unknown().optional(),
381
+ actual: zod_1.z.unknown().optional(),
382
+ expectedStepId: zod_1.z.string().optional(),
383
+ actualCallIndex: zod_1.z.number().int().nonnegative().optional()
384
+ })
385
+ .strict();
386
+ const scenarioCheckResultSchema = zod_1.z
387
+ .object({
388
+ contractId: zod_1.z.string(),
389
+ scenarioId: zod_1.z.string(),
390
+ lifecycle: zod_1.z.union([
391
+ zod_1.z.literal("approved"),
392
+ zod_1.z.literal("deprecated"),
393
+ zod_1.z.literal("inferred")
394
+ ]),
395
+ precision: zod_1.z.union([zod_1.z.literal("summary"), zod_1.z.literal("sequence")]),
396
+ status: zod_1.z.union([
397
+ zod_1.z.literal("CONFORMING"),
398
+ zod_1.z.literal("WIDENING_REQUEST"),
399
+ zod_1.z.literal("NARROWING"),
400
+ zod_1.z.literal("VIOLATING"),
401
+ zod_1.z.literal("SUPPRESSED"),
402
+ zod_1.z.literal("MISSING_TRACE"),
403
+ zod_1.z.literal("ORPHAN_TRACE")
404
+ ]),
405
+ underlyingStatus: zod_1.z
406
+ .union([
407
+ zod_1.z.literal("CONFORMING"),
408
+ zod_1.z.literal("WIDENING_REQUEST"),
409
+ zod_1.z.literal("NARROWING"),
410
+ zod_1.z.literal("VIOLATING"),
411
+ zod_1.z.literal("MISSING_TRACE"),
412
+ zod_1.z.literal("ORPHAN_TRACE")
413
+ ])
414
+ .optional(),
415
+ message: zod_1.z.string(),
416
+ components: zod_1.z.array(componentResultSchema),
417
+ firstDifference: firstDifferenceSchema.optional(),
418
+ suppressionIds: zod_1.z.array(zod_1.z.string()).optional(),
419
+ tracePath: zod_1.z.string().optional()
420
+ })
421
+ .strict();
422
+ exports.checkReportSchema = zod_1.z
423
+ .object({
424
+ schemaVersion: zod_1.z.literal("driftfence-report/v2"),
425
+ mode: zod_1.z.union([zod_1.z.literal("observe"), zod_1.z.literal("enforce")]),
426
+ generatedAt: zod_1.z.string(),
427
+ summary: zod_1.z
428
+ .object({
429
+ contracts: zod_1.z.number().int().nonnegative(),
430
+ scenarios: zod_1.z.number().int().nonnegative(),
431
+ conforming: zod_1.z.number().int().nonnegative(),
432
+ wideningRequests: zod_1.z.number().int().nonnegative(),
433
+ narrowings: zod_1.z.number().int().nonnegative(),
434
+ violations: zod_1.z.number().int().nonnegative(),
435
+ suppressed: zod_1.z.number().int().nonnegative(),
436
+ missingTraces: zod_1.z.number().int().nonnegative(),
437
+ orphanTraces: zod_1.z.number().int().nonnegative()
438
+ })
439
+ .strict(),
440
+ results: zod_1.z.array(scenarioCheckResultSchema)
441
+ })
442
+ .strict();
443
+ exports.queryResponseSchema = zod_1.z
444
+ .object({
445
+ schemaVersion: zod_1.z.literal("driftfence-query/v1"),
446
+ results: zod_1.z.array(zod_1.z
447
+ .object({
448
+ contractId: zod_1.z.string(),
449
+ displayName: zod_1.z.string().optional(),
450
+ owners: zod_1.z.array(zod_1.z.string()),
451
+ boundaries: exports.workflowContractFileSchema.shape.boundaries.optional(),
452
+ source: zod_1.z
453
+ .object({
454
+ entrypoint: zod_1.z.string().optional(),
455
+ files: zod_1.z.array(zod_1.z.string()).optional()
456
+ })
457
+ .strict()
458
+ .optional(),
459
+ scenarios: zod_1.z.array(zod_1.z
460
+ .object({
461
+ id: zod_1.z.string(),
462
+ precision: zod_1.z.union([
463
+ zod_1.z.literal("summary"),
464
+ zod_1.z.literal("sequence")
465
+ ]),
466
+ lifecycle: zod_1.z.union([
467
+ zod_1.z.literal("approved"),
468
+ zod_1.z.literal("deprecated")
469
+ ]),
470
+ summary: summaryExpectationSchema,
471
+ sequence: sequenceExpectationSchema.optional(),
472
+ invariants: zod_1.z.array(invariantExpectationSchema).optional()
473
+ })
474
+ .strict())
475
+ })
476
+ .strict())
477
+ })
478
+ .strict();
479
+ exports.schemaRegistry = {
480
+ config: exports.configSchema,
481
+ contract: exports.workflowContractFileSchema,
482
+ suppression: exports.suppressionFileSchema,
483
+ trace: exports.traceFileSchema,
484
+ report: exports.checkReportSchema,
485
+ query: exports.queryResponseSchema
486
+ };
487
+ function getSchemaJson(name) {
488
+ return (0, zod_to_json_schema_1.zodToJsonSchema)(exports.schemaRegistry[name], {
489
+ name: `driftfence-${name}`
490
+ });
491
+ }
492
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}