@raytio/mcp-server 2.1.0 → 3.0.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.
@@ -0,0 +1,1121 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Loader and validator for the Persist "MCP resource contract" artifact
4
+ * produced by `persist/export_mcp_contract.py` in raytio/common/persist.
5
+ *
6
+ * The contract pins the set of PostgREST resources — with fields, operations,
7
+ * permission tuples, filter/order capabilities, sensitivity, side effects, and
8
+ * relationships — that MCP downstream tooling may safely surface as tools.
9
+ *
10
+ * MCP consumes the artifact through this module so that:
11
+ *
12
+ * - the file's shape is validated against a Zod schema (fail closed on any
13
+ * structural drift);
14
+ * - the artifact's declared `content_hash` is recomputed from a deterministic
15
+ * canonicalisation and compared (fail closed on any tampering, truncation,
16
+ * or upstream serialiser divergence);
17
+ * - the artifact's `contract_version` major is checked against the range this
18
+ * MCP build understands (fail closed on incompatible upgrades).
19
+ *
20
+ * The runtime never reaches across to the Persist repository — the artifact is
21
+ * vendored under `contracts/persist/mcp_resource_contract.json` at build time
22
+ * and scheduled CI syncs it (see `docs/persist-contract-sync.md`).
23
+ */
24
+ /** Contract major version this MCP build understands. */
25
+ export declare const SUPPORTED_CONTRACT_MAJOR = 2;
26
+ declare const permissionSchema: z.ZodObject<{
27
+ resource_group: z.ZodString;
28
+ resource_name: z.ZodString;
29
+ operations: z.ZodArray<z.ZodString, "many">;
30
+ }, "strip", z.ZodTypeAny, {
31
+ resource_group: string;
32
+ resource_name: string;
33
+ operations: string[];
34
+ }, {
35
+ resource_group: string;
36
+ resource_name: string;
37
+ operations: string[];
38
+ }>;
39
+ declare const fieldSchema: z.ZodObject<{
40
+ name: z.ZodString;
41
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
42
+ required: z.ZodBoolean;
43
+ read_only: z.ZodOptional<z.ZodBoolean>;
44
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
45
+ format: z.ZodOptional<z.ZodString>;
46
+ maxLength: z.ZodOptional<z.ZodNumber>;
47
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
48
+ name: z.ZodString;
49
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
50
+ required: z.ZodBoolean;
51
+ read_only: z.ZodOptional<z.ZodBoolean>;
52
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
53
+ format: z.ZodOptional<z.ZodString>;
54
+ maxLength: z.ZodOptional<z.ZodNumber>;
55
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
56
+ name: z.ZodString;
57
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
58
+ required: z.ZodBoolean;
59
+ read_only: z.ZodOptional<z.ZodBoolean>;
60
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
61
+ format: z.ZodOptional<z.ZodString>;
62
+ maxLength: z.ZodOptional<z.ZodNumber>;
63
+ }, z.ZodTypeAny, "passthrough">>;
64
+ declare const resourceSchema: z.ZodObject<{
65
+ resource_id: z.ZodString;
66
+ module: z.ZodString;
67
+ table: z.ZodString;
68
+ schema_name: z.ZodNullable<z.ZodString>;
69
+ schema_version: z.ZodNullable<z.ZodString>;
70
+ public_endpoint: z.ZodString;
71
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
72
+ title: z.ZodNullable<z.ZodString>;
73
+ title_plural: z.ZodNullable<z.ZodString>;
74
+ description: z.ZodNullable<z.ZodString>;
75
+ fields: z.ZodArray<z.ZodObject<{
76
+ name: z.ZodString;
77
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
78
+ required: z.ZodBoolean;
79
+ read_only: z.ZodOptional<z.ZodBoolean>;
80
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
81
+ format: z.ZodOptional<z.ZodString>;
82
+ maxLength: z.ZodOptional<z.ZodNumber>;
83
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
84
+ name: z.ZodString;
85
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
86
+ required: z.ZodBoolean;
87
+ read_only: z.ZodOptional<z.ZodBoolean>;
88
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
89
+ format: z.ZodOptional<z.ZodString>;
90
+ maxLength: z.ZodOptional<z.ZodNumber>;
91
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
92
+ name: z.ZodString;
93
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
94
+ required: z.ZodBoolean;
95
+ read_only: z.ZodOptional<z.ZodBoolean>;
96
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
97
+ format: z.ZodOptional<z.ZodString>;
98
+ maxLength: z.ZodOptional<z.ZodNumber>;
99
+ }, z.ZodTypeAny, "passthrough">>, "many">;
100
+ operations: z.ZodArray<z.ZodString, "many">;
101
+ permission: z.ZodObject<{
102
+ resource_group: z.ZodString;
103
+ resource_name: z.ZodString;
104
+ operations: z.ZodArray<z.ZodString, "many">;
105
+ }, "strip", z.ZodTypeAny, {
106
+ resource_group: string;
107
+ resource_name: string;
108
+ operations: string[];
109
+ }, {
110
+ resource_group: string;
111
+ resource_name: string;
112
+ operations: string[];
113
+ }>;
114
+ filter_capabilities: z.ZodObject<{
115
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
116
+ supported_operators: z.ZodArray<z.ZodString, "many">;
117
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
118
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
119
+ supported_operators: z.ZodArray<z.ZodString, "many">;
120
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
121
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
122
+ supported_operators: z.ZodArray<z.ZodString, "many">;
123
+ }, z.ZodTypeAny, "passthrough">>;
124
+ order_capabilities: z.ZodObject<{
125
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
126
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
127
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
128
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
129
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
130
+ }, z.ZodTypeAny, "passthrough">>;
131
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
132
+ side_effects: z.ZodArray<z.ZodString, "many">;
133
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
134
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
135
+ resource_id: z.ZodString;
136
+ module: z.ZodString;
137
+ table: z.ZodString;
138
+ schema_name: z.ZodNullable<z.ZodString>;
139
+ schema_version: z.ZodNullable<z.ZodString>;
140
+ public_endpoint: z.ZodString;
141
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
142
+ title: z.ZodNullable<z.ZodString>;
143
+ title_plural: z.ZodNullable<z.ZodString>;
144
+ description: z.ZodNullable<z.ZodString>;
145
+ fields: z.ZodArray<z.ZodObject<{
146
+ name: z.ZodString;
147
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
148
+ required: z.ZodBoolean;
149
+ read_only: z.ZodOptional<z.ZodBoolean>;
150
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
151
+ format: z.ZodOptional<z.ZodString>;
152
+ maxLength: z.ZodOptional<z.ZodNumber>;
153
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
154
+ name: z.ZodString;
155
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
156
+ required: z.ZodBoolean;
157
+ read_only: z.ZodOptional<z.ZodBoolean>;
158
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
159
+ format: z.ZodOptional<z.ZodString>;
160
+ maxLength: z.ZodOptional<z.ZodNumber>;
161
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
162
+ name: z.ZodString;
163
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
164
+ required: z.ZodBoolean;
165
+ read_only: z.ZodOptional<z.ZodBoolean>;
166
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
167
+ format: z.ZodOptional<z.ZodString>;
168
+ maxLength: z.ZodOptional<z.ZodNumber>;
169
+ }, z.ZodTypeAny, "passthrough">>, "many">;
170
+ operations: z.ZodArray<z.ZodString, "many">;
171
+ permission: z.ZodObject<{
172
+ resource_group: z.ZodString;
173
+ resource_name: z.ZodString;
174
+ operations: z.ZodArray<z.ZodString, "many">;
175
+ }, "strip", z.ZodTypeAny, {
176
+ resource_group: string;
177
+ resource_name: string;
178
+ operations: string[];
179
+ }, {
180
+ resource_group: string;
181
+ resource_name: string;
182
+ operations: string[];
183
+ }>;
184
+ filter_capabilities: z.ZodObject<{
185
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
186
+ supported_operators: z.ZodArray<z.ZodString, "many">;
187
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
188
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
189
+ supported_operators: z.ZodArray<z.ZodString, "many">;
190
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
191
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
192
+ supported_operators: z.ZodArray<z.ZodString, "many">;
193
+ }, z.ZodTypeAny, "passthrough">>;
194
+ order_capabilities: z.ZodObject<{
195
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
196
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
197
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
198
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
199
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
200
+ }, z.ZodTypeAny, "passthrough">>;
201
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
202
+ side_effects: z.ZodArray<z.ZodString, "many">;
203
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
204
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
205
+ resource_id: z.ZodString;
206
+ module: z.ZodString;
207
+ table: z.ZodString;
208
+ schema_name: z.ZodNullable<z.ZodString>;
209
+ schema_version: z.ZodNullable<z.ZodString>;
210
+ public_endpoint: z.ZodString;
211
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
212
+ title: z.ZodNullable<z.ZodString>;
213
+ title_plural: z.ZodNullable<z.ZodString>;
214
+ description: z.ZodNullable<z.ZodString>;
215
+ fields: z.ZodArray<z.ZodObject<{
216
+ name: z.ZodString;
217
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
218
+ required: z.ZodBoolean;
219
+ read_only: z.ZodOptional<z.ZodBoolean>;
220
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
221
+ format: z.ZodOptional<z.ZodString>;
222
+ maxLength: z.ZodOptional<z.ZodNumber>;
223
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
224
+ name: z.ZodString;
225
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
226
+ required: z.ZodBoolean;
227
+ read_only: z.ZodOptional<z.ZodBoolean>;
228
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
229
+ format: z.ZodOptional<z.ZodString>;
230
+ maxLength: z.ZodOptional<z.ZodNumber>;
231
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
232
+ name: z.ZodString;
233
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
234
+ required: z.ZodBoolean;
235
+ read_only: z.ZodOptional<z.ZodBoolean>;
236
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
237
+ format: z.ZodOptional<z.ZodString>;
238
+ maxLength: z.ZodOptional<z.ZodNumber>;
239
+ }, z.ZodTypeAny, "passthrough">>, "many">;
240
+ operations: z.ZodArray<z.ZodString, "many">;
241
+ permission: z.ZodObject<{
242
+ resource_group: z.ZodString;
243
+ resource_name: z.ZodString;
244
+ operations: z.ZodArray<z.ZodString, "many">;
245
+ }, "strip", z.ZodTypeAny, {
246
+ resource_group: string;
247
+ resource_name: string;
248
+ operations: string[];
249
+ }, {
250
+ resource_group: string;
251
+ resource_name: string;
252
+ operations: string[];
253
+ }>;
254
+ filter_capabilities: z.ZodObject<{
255
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
256
+ supported_operators: z.ZodArray<z.ZodString, "many">;
257
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
258
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
259
+ supported_operators: z.ZodArray<z.ZodString, "many">;
260
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
261
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
262
+ supported_operators: z.ZodArray<z.ZodString, "many">;
263
+ }, z.ZodTypeAny, "passthrough">>;
264
+ order_capabilities: z.ZodObject<{
265
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
266
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
267
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
268
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
269
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
270
+ }, z.ZodTypeAny, "passthrough">>;
271
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
272
+ side_effects: z.ZodArray<z.ZodString, "many">;
273
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
274
+ }, z.ZodTypeAny, "passthrough">>;
275
+ declare const exclusionSchema: z.ZodObject<{
276
+ reason: z.ZodString;
277
+ detail: z.ZodString;
278
+ table: z.ZodString;
279
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
280
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
281
+ reason: z.ZodString;
282
+ detail: z.ZodString;
283
+ table: z.ZodString;
284
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
285
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
286
+ reason: z.ZodString;
287
+ detail: z.ZodString;
288
+ table: z.ZodString;
289
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
290
+ }, z.ZodTypeAny, "passthrough">>;
291
+ export declare const persistResourceContractSchema: z.ZodObject<{
292
+ contract_version: z.ZodString;
293
+ content_hash: z.ZodString;
294
+ source_commit: z.ZodString;
295
+ source_version: z.ZodString;
296
+ resource_count: z.ZodNumber;
297
+ excluded_count: z.ZodNumber;
298
+ resources: z.ZodArray<z.ZodObject<{
299
+ resource_id: z.ZodString;
300
+ module: z.ZodString;
301
+ table: z.ZodString;
302
+ schema_name: z.ZodNullable<z.ZodString>;
303
+ schema_version: z.ZodNullable<z.ZodString>;
304
+ public_endpoint: z.ZodString;
305
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
306
+ title: z.ZodNullable<z.ZodString>;
307
+ title_plural: z.ZodNullable<z.ZodString>;
308
+ description: z.ZodNullable<z.ZodString>;
309
+ fields: z.ZodArray<z.ZodObject<{
310
+ name: z.ZodString;
311
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
312
+ required: z.ZodBoolean;
313
+ read_only: z.ZodOptional<z.ZodBoolean>;
314
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
315
+ format: z.ZodOptional<z.ZodString>;
316
+ maxLength: z.ZodOptional<z.ZodNumber>;
317
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
318
+ name: z.ZodString;
319
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
320
+ required: z.ZodBoolean;
321
+ read_only: z.ZodOptional<z.ZodBoolean>;
322
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
323
+ format: z.ZodOptional<z.ZodString>;
324
+ maxLength: z.ZodOptional<z.ZodNumber>;
325
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
326
+ name: z.ZodString;
327
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
328
+ required: z.ZodBoolean;
329
+ read_only: z.ZodOptional<z.ZodBoolean>;
330
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
331
+ format: z.ZodOptional<z.ZodString>;
332
+ maxLength: z.ZodOptional<z.ZodNumber>;
333
+ }, z.ZodTypeAny, "passthrough">>, "many">;
334
+ operations: z.ZodArray<z.ZodString, "many">;
335
+ permission: z.ZodObject<{
336
+ resource_group: z.ZodString;
337
+ resource_name: z.ZodString;
338
+ operations: z.ZodArray<z.ZodString, "many">;
339
+ }, "strip", z.ZodTypeAny, {
340
+ resource_group: string;
341
+ resource_name: string;
342
+ operations: string[];
343
+ }, {
344
+ resource_group: string;
345
+ resource_name: string;
346
+ operations: string[];
347
+ }>;
348
+ filter_capabilities: z.ZodObject<{
349
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
350
+ supported_operators: z.ZodArray<z.ZodString, "many">;
351
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
352
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
353
+ supported_operators: z.ZodArray<z.ZodString, "many">;
354
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
355
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
356
+ supported_operators: z.ZodArray<z.ZodString, "many">;
357
+ }, z.ZodTypeAny, "passthrough">>;
358
+ order_capabilities: z.ZodObject<{
359
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
360
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
361
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
362
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
363
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
364
+ }, z.ZodTypeAny, "passthrough">>;
365
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
366
+ side_effects: z.ZodArray<z.ZodString, "many">;
367
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
368
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
369
+ resource_id: z.ZodString;
370
+ module: z.ZodString;
371
+ table: z.ZodString;
372
+ schema_name: z.ZodNullable<z.ZodString>;
373
+ schema_version: z.ZodNullable<z.ZodString>;
374
+ public_endpoint: z.ZodString;
375
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
376
+ title: z.ZodNullable<z.ZodString>;
377
+ title_plural: z.ZodNullable<z.ZodString>;
378
+ description: z.ZodNullable<z.ZodString>;
379
+ fields: z.ZodArray<z.ZodObject<{
380
+ name: z.ZodString;
381
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
382
+ required: z.ZodBoolean;
383
+ read_only: z.ZodOptional<z.ZodBoolean>;
384
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
385
+ format: z.ZodOptional<z.ZodString>;
386
+ maxLength: z.ZodOptional<z.ZodNumber>;
387
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
388
+ name: z.ZodString;
389
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
390
+ required: z.ZodBoolean;
391
+ read_only: z.ZodOptional<z.ZodBoolean>;
392
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
393
+ format: z.ZodOptional<z.ZodString>;
394
+ maxLength: z.ZodOptional<z.ZodNumber>;
395
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
396
+ name: z.ZodString;
397
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
398
+ required: z.ZodBoolean;
399
+ read_only: z.ZodOptional<z.ZodBoolean>;
400
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
401
+ format: z.ZodOptional<z.ZodString>;
402
+ maxLength: z.ZodOptional<z.ZodNumber>;
403
+ }, z.ZodTypeAny, "passthrough">>, "many">;
404
+ operations: z.ZodArray<z.ZodString, "many">;
405
+ permission: z.ZodObject<{
406
+ resource_group: z.ZodString;
407
+ resource_name: z.ZodString;
408
+ operations: z.ZodArray<z.ZodString, "many">;
409
+ }, "strip", z.ZodTypeAny, {
410
+ resource_group: string;
411
+ resource_name: string;
412
+ operations: string[];
413
+ }, {
414
+ resource_group: string;
415
+ resource_name: string;
416
+ operations: string[];
417
+ }>;
418
+ filter_capabilities: z.ZodObject<{
419
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
420
+ supported_operators: z.ZodArray<z.ZodString, "many">;
421
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
422
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
423
+ supported_operators: z.ZodArray<z.ZodString, "many">;
424
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
425
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
426
+ supported_operators: z.ZodArray<z.ZodString, "many">;
427
+ }, z.ZodTypeAny, "passthrough">>;
428
+ order_capabilities: z.ZodObject<{
429
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
430
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
431
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
432
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
433
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
434
+ }, z.ZodTypeAny, "passthrough">>;
435
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
436
+ side_effects: z.ZodArray<z.ZodString, "many">;
437
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
438
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
439
+ resource_id: z.ZodString;
440
+ module: z.ZodString;
441
+ table: z.ZodString;
442
+ schema_name: z.ZodNullable<z.ZodString>;
443
+ schema_version: z.ZodNullable<z.ZodString>;
444
+ public_endpoint: z.ZodString;
445
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
446
+ title: z.ZodNullable<z.ZodString>;
447
+ title_plural: z.ZodNullable<z.ZodString>;
448
+ description: z.ZodNullable<z.ZodString>;
449
+ fields: z.ZodArray<z.ZodObject<{
450
+ name: z.ZodString;
451
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
452
+ required: z.ZodBoolean;
453
+ read_only: z.ZodOptional<z.ZodBoolean>;
454
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
455
+ format: z.ZodOptional<z.ZodString>;
456
+ maxLength: z.ZodOptional<z.ZodNumber>;
457
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
458
+ name: z.ZodString;
459
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
460
+ required: z.ZodBoolean;
461
+ read_only: z.ZodOptional<z.ZodBoolean>;
462
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
463
+ format: z.ZodOptional<z.ZodString>;
464
+ maxLength: z.ZodOptional<z.ZodNumber>;
465
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
466
+ name: z.ZodString;
467
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
468
+ required: z.ZodBoolean;
469
+ read_only: z.ZodOptional<z.ZodBoolean>;
470
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
471
+ format: z.ZodOptional<z.ZodString>;
472
+ maxLength: z.ZodOptional<z.ZodNumber>;
473
+ }, z.ZodTypeAny, "passthrough">>, "many">;
474
+ operations: z.ZodArray<z.ZodString, "many">;
475
+ permission: z.ZodObject<{
476
+ resource_group: z.ZodString;
477
+ resource_name: z.ZodString;
478
+ operations: z.ZodArray<z.ZodString, "many">;
479
+ }, "strip", z.ZodTypeAny, {
480
+ resource_group: string;
481
+ resource_name: string;
482
+ operations: string[];
483
+ }, {
484
+ resource_group: string;
485
+ resource_name: string;
486
+ operations: string[];
487
+ }>;
488
+ filter_capabilities: z.ZodObject<{
489
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
490
+ supported_operators: z.ZodArray<z.ZodString, "many">;
491
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
492
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
493
+ supported_operators: z.ZodArray<z.ZodString, "many">;
494
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
495
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
496
+ supported_operators: z.ZodArray<z.ZodString, "many">;
497
+ }, z.ZodTypeAny, "passthrough">>;
498
+ order_capabilities: z.ZodObject<{
499
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
500
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
501
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
502
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
503
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
504
+ }, z.ZodTypeAny, "passthrough">>;
505
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
506
+ side_effects: z.ZodArray<z.ZodString, "many">;
507
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
508
+ }, z.ZodTypeAny, "passthrough">>, "many">;
509
+ excluded: z.ZodArray<z.ZodObject<{
510
+ reason: z.ZodString;
511
+ detail: z.ZodString;
512
+ table: z.ZodString;
513
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
514
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
515
+ reason: z.ZodString;
516
+ detail: z.ZodString;
517
+ table: z.ZodString;
518
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
519
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
520
+ reason: z.ZodString;
521
+ detail: z.ZodString;
522
+ table: z.ZodString;
523
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
524
+ }, z.ZodTypeAny, "passthrough">>, "many">;
525
+ exclusion_rules: z.ZodArray<z.ZodObject<{
526
+ reason: z.ZodString;
527
+ description: z.ZodString;
528
+ match_substrings: z.ZodArray<z.ZodString, "many">;
529
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
530
+ reason: z.ZodString;
531
+ description: z.ZodString;
532
+ match_substrings: z.ZodArray<z.ZodString, "many">;
533
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
534
+ reason: z.ZodString;
535
+ description: z.ZodString;
536
+ match_substrings: z.ZodArray<z.ZodString, "many">;
537
+ }, z.ZodTypeAny, "passthrough">>, "many">;
538
+ modules: z.ZodArray<z.ZodString, "many">;
539
+ provenance: z.ZodOptional<z.ZodObject<{
540
+ source_commit: z.ZodString;
541
+ introspection_timestamp: z.ZodString;
542
+ latest_repo_migration: z.ZodNullable<z.ZodString>;
543
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
544
+ source_commit: z.ZodString;
545
+ introspection_timestamp: z.ZodString;
546
+ latest_repo_migration: z.ZodNullable<z.ZodString>;
547
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
548
+ source_commit: z.ZodString;
549
+ introspection_timestamp: z.ZodString;
550
+ latest_repo_migration: z.ZodNullable<z.ZodString>;
551
+ }, z.ZodTypeAny, "passthrough">>>;
552
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
553
+ contract_version: z.ZodString;
554
+ content_hash: z.ZodString;
555
+ source_commit: z.ZodString;
556
+ source_version: z.ZodString;
557
+ resource_count: z.ZodNumber;
558
+ excluded_count: z.ZodNumber;
559
+ resources: z.ZodArray<z.ZodObject<{
560
+ resource_id: z.ZodString;
561
+ module: z.ZodString;
562
+ table: z.ZodString;
563
+ schema_name: z.ZodNullable<z.ZodString>;
564
+ schema_version: z.ZodNullable<z.ZodString>;
565
+ public_endpoint: z.ZodString;
566
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
567
+ title: z.ZodNullable<z.ZodString>;
568
+ title_plural: z.ZodNullable<z.ZodString>;
569
+ description: z.ZodNullable<z.ZodString>;
570
+ fields: z.ZodArray<z.ZodObject<{
571
+ name: z.ZodString;
572
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
573
+ required: z.ZodBoolean;
574
+ read_only: z.ZodOptional<z.ZodBoolean>;
575
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
576
+ format: z.ZodOptional<z.ZodString>;
577
+ maxLength: z.ZodOptional<z.ZodNumber>;
578
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
579
+ name: z.ZodString;
580
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
581
+ required: z.ZodBoolean;
582
+ read_only: z.ZodOptional<z.ZodBoolean>;
583
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
584
+ format: z.ZodOptional<z.ZodString>;
585
+ maxLength: z.ZodOptional<z.ZodNumber>;
586
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
587
+ name: z.ZodString;
588
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
589
+ required: z.ZodBoolean;
590
+ read_only: z.ZodOptional<z.ZodBoolean>;
591
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
592
+ format: z.ZodOptional<z.ZodString>;
593
+ maxLength: z.ZodOptional<z.ZodNumber>;
594
+ }, z.ZodTypeAny, "passthrough">>, "many">;
595
+ operations: z.ZodArray<z.ZodString, "many">;
596
+ permission: z.ZodObject<{
597
+ resource_group: z.ZodString;
598
+ resource_name: z.ZodString;
599
+ operations: z.ZodArray<z.ZodString, "many">;
600
+ }, "strip", z.ZodTypeAny, {
601
+ resource_group: string;
602
+ resource_name: string;
603
+ operations: string[];
604
+ }, {
605
+ resource_group: string;
606
+ resource_name: string;
607
+ operations: string[];
608
+ }>;
609
+ filter_capabilities: z.ZodObject<{
610
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
611
+ supported_operators: z.ZodArray<z.ZodString, "many">;
612
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
613
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
614
+ supported_operators: z.ZodArray<z.ZodString, "many">;
615
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
616
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
617
+ supported_operators: z.ZodArray<z.ZodString, "many">;
618
+ }, z.ZodTypeAny, "passthrough">>;
619
+ order_capabilities: z.ZodObject<{
620
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
621
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
622
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
623
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
624
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
625
+ }, z.ZodTypeAny, "passthrough">>;
626
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
627
+ side_effects: z.ZodArray<z.ZodString, "many">;
628
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
629
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
630
+ resource_id: z.ZodString;
631
+ module: z.ZodString;
632
+ table: z.ZodString;
633
+ schema_name: z.ZodNullable<z.ZodString>;
634
+ schema_version: z.ZodNullable<z.ZodString>;
635
+ public_endpoint: z.ZodString;
636
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
637
+ title: z.ZodNullable<z.ZodString>;
638
+ title_plural: z.ZodNullable<z.ZodString>;
639
+ description: z.ZodNullable<z.ZodString>;
640
+ fields: z.ZodArray<z.ZodObject<{
641
+ name: z.ZodString;
642
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
643
+ required: z.ZodBoolean;
644
+ read_only: z.ZodOptional<z.ZodBoolean>;
645
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
646
+ format: z.ZodOptional<z.ZodString>;
647
+ maxLength: z.ZodOptional<z.ZodNumber>;
648
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
649
+ name: z.ZodString;
650
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
651
+ required: z.ZodBoolean;
652
+ read_only: z.ZodOptional<z.ZodBoolean>;
653
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
654
+ format: z.ZodOptional<z.ZodString>;
655
+ maxLength: z.ZodOptional<z.ZodNumber>;
656
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
657
+ name: z.ZodString;
658
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
659
+ required: z.ZodBoolean;
660
+ read_only: z.ZodOptional<z.ZodBoolean>;
661
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
662
+ format: z.ZodOptional<z.ZodString>;
663
+ maxLength: z.ZodOptional<z.ZodNumber>;
664
+ }, z.ZodTypeAny, "passthrough">>, "many">;
665
+ operations: z.ZodArray<z.ZodString, "many">;
666
+ permission: z.ZodObject<{
667
+ resource_group: z.ZodString;
668
+ resource_name: z.ZodString;
669
+ operations: z.ZodArray<z.ZodString, "many">;
670
+ }, "strip", z.ZodTypeAny, {
671
+ resource_group: string;
672
+ resource_name: string;
673
+ operations: string[];
674
+ }, {
675
+ resource_group: string;
676
+ resource_name: string;
677
+ operations: string[];
678
+ }>;
679
+ filter_capabilities: z.ZodObject<{
680
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
681
+ supported_operators: z.ZodArray<z.ZodString, "many">;
682
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
683
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
684
+ supported_operators: z.ZodArray<z.ZodString, "many">;
685
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
686
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
687
+ supported_operators: z.ZodArray<z.ZodString, "many">;
688
+ }, z.ZodTypeAny, "passthrough">>;
689
+ order_capabilities: z.ZodObject<{
690
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
691
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
692
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
693
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
694
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
695
+ }, z.ZodTypeAny, "passthrough">>;
696
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
697
+ side_effects: z.ZodArray<z.ZodString, "many">;
698
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
699
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
700
+ resource_id: z.ZodString;
701
+ module: z.ZodString;
702
+ table: z.ZodString;
703
+ schema_name: z.ZodNullable<z.ZodString>;
704
+ schema_version: z.ZodNullable<z.ZodString>;
705
+ public_endpoint: z.ZodString;
706
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
707
+ title: z.ZodNullable<z.ZodString>;
708
+ title_plural: z.ZodNullable<z.ZodString>;
709
+ description: z.ZodNullable<z.ZodString>;
710
+ fields: z.ZodArray<z.ZodObject<{
711
+ name: z.ZodString;
712
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
713
+ required: z.ZodBoolean;
714
+ read_only: z.ZodOptional<z.ZodBoolean>;
715
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
716
+ format: z.ZodOptional<z.ZodString>;
717
+ maxLength: z.ZodOptional<z.ZodNumber>;
718
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
719
+ name: z.ZodString;
720
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
721
+ required: z.ZodBoolean;
722
+ read_only: z.ZodOptional<z.ZodBoolean>;
723
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
724
+ format: z.ZodOptional<z.ZodString>;
725
+ maxLength: z.ZodOptional<z.ZodNumber>;
726
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
727
+ name: z.ZodString;
728
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
729
+ required: z.ZodBoolean;
730
+ read_only: z.ZodOptional<z.ZodBoolean>;
731
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
732
+ format: z.ZodOptional<z.ZodString>;
733
+ maxLength: z.ZodOptional<z.ZodNumber>;
734
+ }, z.ZodTypeAny, "passthrough">>, "many">;
735
+ operations: z.ZodArray<z.ZodString, "many">;
736
+ permission: z.ZodObject<{
737
+ resource_group: z.ZodString;
738
+ resource_name: z.ZodString;
739
+ operations: z.ZodArray<z.ZodString, "many">;
740
+ }, "strip", z.ZodTypeAny, {
741
+ resource_group: string;
742
+ resource_name: string;
743
+ operations: string[];
744
+ }, {
745
+ resource_group: string;
746
+ resource_name: string;
747
+ operations: string[];
748
+ }>;
749
+ filter_capabilities: z.ZodObject<{
750
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
751
+ supported_operators: z.ZodArray<z.ZodString, "many">;
752
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
753
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
754
+ supported_operators: z.ZodArray<z.ZodString, "many">;
755
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
756
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
757
+ supported_operators: z.ZodArray<z.ZodString, "many">;
758
+ }, z.ZodTypeAny, "passthrough">>;
759
+ order_capabilities: z.ZodObject<{
760
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
761
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
762
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
763
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
764
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
765
+ }, z.ZodTypeAny, "passthrough">>;
766
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
767
+ side_effects: z.ZodArray<z.ZodString, "many">;
768
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
769
+ }, z.ZodTypeAny, "passthrough">>, "many">;
770
+ excluded: z.ZodArray<z.ZodObject<{
771
+ reason: z.ZodString;
772
+ detail: z.ZodString;
773
+ table: z.ZodString;
774
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
775
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
776
+ reason: z.ZodString;
777
+ detail: z.ZodString;
778
+ table: z.ZodString;
779
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
780
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
781
+ reason: z.ZodString;
782
+ detail: z.ZodString;
783
+ table: z.ZodString;
784
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
785
+ }, z.ZodTypeAny, "passthrough">>, "many">;
786
+ exclusion_rules: z.ZodArray<z.ZodObject<{
787
+ reason: z.ZodString;
788
+ description: z.ZodString;
789
+ match_substrings: z.ZodArray<z.ZodString, "many">;
790
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
791
+ reason: z.ZodString;
792
+ description: z.ZodString;
793
+ match_substrings: z.ZodArray<z.ZodString, "many">;
794
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
795
+ reason: z.ZodString;
796
+ description: z.ZodString;
797
+ match_substrings: z.ZodArray<z.ZodString, "many">;
798
+ }, z.ZodTypeAny, "passthrough">>, "many">;
799
+ modules: z.ZodArray<z.ZodString, "many">;
800
+ provenance: z.ZodOptional<z.ZodObject<{
801
+ source_commit: z.ZodString;
802
+ introspection_timestamp: z.ZodString;
803
+ latest_repo_migration: z.ZodNullable<z.ZodString>;
804
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
805
+ source_commit: z.ZodString;
806
+ introspection_timestamp: z.ZodString;
807
+ latest_repo_migration: z.ZodNullable<z.ZodString>;
808
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
809
+ source_commit: z.ZodString;
810
+ introspection_timestamp: z.ZodString;
811
+ latest_repo_migration: z.ZodNullable<z.ZodString>;
812
+ }, z.ZodTypeAny, "passthrough">>>;
813
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
814
+ contract_version: z.ZodString;
815
+ content_hash: z.ZodString;
816
+ source_commit: z.ZodString;
817
+ source_version: z.ZodString;
818
+ resource_count: z.ZodNumber;
819
+ excluded_count: z.ZodNumber;
820
+ resources: z.ZodArray<z.ZodObject<{
821
+ resource_id: z.ZodString;
822
+ module: z.ZodString;
823
+ table: z.ZodString;
824
+ schema_name: z.ZodNullable<z.ZodString>;
825
+ schema_version: z.ZodNullable<z.ZodString>;
826
+ public_endpoint: z.ZodString;
827
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
828
+ title: z.ZodNullable<z.ZodString>;
829
+ title_plural: z.ZodNullable<z.ZodString>;
830
+ description: z.ZodNullable<z.ZodString>;
831
+ fields: z.ZodArray<z.ZodObject<{
832
+ name: z.ZodString;
833
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
834
+ required: z.ZodBoolean;
835
+ read_only: z.ZodOptional<z.ZodBoolean>;
836
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
837
+ format: z.ZodOptional<z.ZodString>;
838
+ maxLength: z.ZodOptional<z.ZodNumber>;
839
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
840
+ name: z.ZodString;
841
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
842
+ required: z.ZodBoolean;
843
+ read_only: z.ZodOptional<z.ZodBoolean>;
844
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
845
+ format: z.ZodOptional<z.ZodString>;
846
+ maxLength: z.ZodOptional<z.ZodNumber>;
847
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
848
+ name: z.ZodString;
849
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
850
+ required: z.ZodBoolean;
851
+ read_only: z.ZodOptional<z.ZodBoolean>;
852
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
853
+ format: z.ZodOptional<z.ZodString>;
854
+ maxLength: z.ZodOptional<z.ZodNumber>;
855
+ }, z.ZodTypeAny, "passthrough">>, "many">;
856
+ operations: z.ZodArray<z.ZodString, "many">;
857
+ permission: z.ZodObject<{
858
+ resource_group: z.ZodString;
859
+ resource_name: z.ZodString;
860
+ operations: z.ZodArray<z.ZodString, "many">;
861
+ }, "strip", z.ZodTypeAny, {
862
+ resource_group: string;
863
+ resource_name: string;
864
+ operations: string[];
865
+ }, {
866
+ resource_group: string;
867
+ resource_name: string;
868
+ operations: string[];
869
+ }>;
870
+ filter_capabilities: z.ZodObject<{
871
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
872
+ supported_operators: z.ZodArray<z.ZodString, "many">;
873
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
874
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
875
+ supported_operators: z.ZodArray<z.ZodString, "many">;
876
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
877
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
878
+ supported_operators: z.ZodArray<z.ZodString, "many">;
879
+ }, z.ZodTypeAny, "passthrough">>;
880
+ order_capabilities: z.ZodObject<{
881
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
882
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
883
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
884
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
885
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
886
+ }, z.ZodTypeAny, "passthrough">>;
887
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
888
+ side_effects: z.ZodArray<z.ZodString, "many">;
889
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
890
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
891
+ resource_id: z.ZodString;
892
+ module: z.ZodString;
893
+ table: z.ZodString;
894
+ schema_name: z.ZodNullable<z.ZodString>;
895
+ schema_version: z.ZodNullable<z.ZodString>;
896
+ public_endpoint: z.ZodString;
897
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
898
+ title: z.ZodNullable<z.ZodString>;
899
+ title_plural: z.ZodNullable<z.ZodString>;
900
+ description: z.ZodNullable<z.ZodString>;
901
+ fields: z.ZodArray<z.ZodObject<{
902
+ name: z.ZodString;
903
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
904
+ required: z.ZodBoolean;
905
+ read_only: z.ZodOptional<z.ZodBoolean>;
906
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
907
+ format: z.ZodOptional<z.ZodString>;
908
+ maxLength: z.ZodOptional<z.ZodNumber>;
909
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
910
+ name: z.ZodString;
911
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
912
+ required: z.ZodBoolean;
913
+ read_only: z.ZodOptional<z.ZodBoolean>;
914
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
915
+ format: z.ZodOptional<z.ZodString>;
916
+ maxLength: z.ZodOptional<z.ZodNumber>;
917
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
918
+ name: z.ZodString;
919
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
920
+ required: z.ZodBoolean;
921
+ read_only: z.ZodOptional<z.ZodBoolean>;
922
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
923
+ format: z.ZodOptional<z.ZodString>;
924
+ maxLength: z.ZodOptional<z.ZodNumber>;
925
+ }, z.ZodTypeAny, "passthrough">>, "many">;
926
+ operations: z.ZodArray<z.ZodString, "many">;
927
+ permission: z.ZodObject<{
928
+ resource_group: z.ZodString;
929
+ resource_name: z.ZodString;
930
+ operations: z.ZodArray<z.ZodString, "many">;
931
+ }, "strip", z.ZodTypeAny, {
932
+ resource_group: string;
933
+ resource_name: string;
934
+ operations: string[];
935
+ }, {
936
+ resource_group: string;
937
+ resource_name: string;
938
+ operations: string[];
939
+ }>;
940
+ filter_capabilities: z.ZodObject<{
941
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
942
+ supported_operators: z.ZodArray<z.ZodString, "many">;
943
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
944
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
945
+ supported_operators: z.ZodArray<z.ZodString, "many">;
946
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
947
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
948
+ supported_operators: z.ZodArray<z.ZodString, "many">;
949
+ }, z.ZodTypeAny, "passthrough">>;
950
+ order_capabilities: z.ZodObject<{
951
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
952
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
953
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
954
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
955
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
956
+ }, z.ZodTypeAny, "passthrough">>;
957
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
958
+ side_effects: z.ZodArray<z.ZodString, "many">;
959
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
960
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
961
+ resource_id: z.ZodString;
962
+ module: z.ZodString;
963
+ table: z.ZodString;
964
+ schema_name: z.ZodNullable<z.ZodString>;
965
+ schema_version: z.ZodNullable<z.ZodString>;
966
+ public_endpoint: z.ZodString;
967
+ primary_key: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodNull]>;
968
+ title: z.ZodNullable<z.ZodString>;
969
+ title_plural: z.ZodNullable<z.ZodString>;
970
+ description: z.ZodNullable<z.ZodString>;
971
+ fields: z.ZodArray<z.ZodObject<{
972
+ name: z.ZodString;
973
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
974
+ required: z.ZodBoolean;
975
+ read_only: z.ZodOptional<z.ZodBoolean>;
976
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
977
+ format: z.ZodOptional<z.ZodString>;
978
+ maxLength: z.ZodOptional<z.ZodNumber>;
979
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
980
+ name: z.ZodString;
981
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
982
+ required: z.ZodBoolean;
983
+ read_only: z.ZodOptional<z.ZodBoolean>;
984
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
985
+ format: z.ZodOptional<z.ZodString>;
986
+ maxLength: z.ZodOptional<z.ZodNumber>;
987
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
988
+ name: z.ZodString;
989
+ type: z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>;
990
+ required: z.ZodBoolean;
991
+ read_only: z.ZodOptional<z.ZodBoolean>;
992
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
993
+ format: z.ZodOptional<z.ZodString>;
994
+ maxLength: z.ZodOptional<z.ZodNumber>;
995
+ }, z.ZodTypeAny, "passthrough">>, "many">;
996
+ operations: z.ZodArray<z.ZodString, "many">;
997
+ permission: z.ZodObject<{
998
+ resource_group: z.ZodString;
999
+ resource_name: z.ZodString;
1000
+ operations: z.ZodArray<z.ZodString, "many">;
1001
+ }, "strip", z.ZodTypeAny, {
1002
+ resource_group: string;
1003
+ resource_name: string;
1004
+ operations: string[];
1005
+ }, {
1006
+ resource_group: string;
1007
+ resource_name: string;
1008
+ operations: string[];
1009
+ }>;
1010
+ filter_capabilities: z.ZodObject<{
1011
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
1012
+ supported_operators: z.ZodArray<z.ZodString, "many">;
1013
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1014
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
1015
+ supported_operators: z.ZodArray<z.ZodString, "many">;
1016
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1017
+ filterable_fields: z.ZodArray<z.ZodString, "many">;
1018
+ supported_operators: z.ZodArray<z.ZodString, "many">;
1019
+ }, z.ZodTypeAny, "passthrough">>;
1020
+ order_capabilities: z.ZodObject<{
1021
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
1022
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1023
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
1024
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1025
+ orderable_fields: z.ZodArray<z.ZodString, "many">;
1026
+ }, z.ZodTypeAny, "passthrough">>;
1027
+ sensitivity: z.ZodEnum<["normal", "sensitive", "restricted"]>;
1028
+ side_effects: z.ZodArray<z.ZodString, "many">;
1029
+ relationships: z.ZodArray<z.ZodType<unknown, z.ZodTypeDef, unknown>, "many">;
1030
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1031
+ excluded: z.ZodArray<z.ZodObject<{
1032
+ reason: z.ZodString;
1033
+ detail: z.ZodString;
1034
+ table: z.ZodString;
1035
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1036
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1037
+ reason: z.ZodString;
1038
+ detail: z.ZodString;
1039
+ table: z.ZodString;
1040
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1041
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1042
+ reason: z.ZodString;
1043
+ detail: z.ZodString;
1044
+ table: z.ZodString;
1045
+ schema_name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
1046
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1047
+ exclusion_rules: z.ZodArray<z.ZodObject<{
1048
+ reason: z.ZodString;
1049
+ description: z.ZodString;
1050
+ match_substrings: z.ZodArray<z.ZodString, "many">;
1051
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1052
+ reason: z.ZodString;
1053
+ description: z.ZodString;
1054
+ match_substrings: z.ZodArray<z.ZodString, "many">;
1055
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1056
+ reason: z.ZodString;
1057
+ description: z.ZodString;
1058
+ match_substrings: z.ZodArray<z.ZodString, "many">;
1059
+ }, z.ZodTypeAny, "passthrough">>, "many">;
1060
+ modules: z.ZodArray<z.ZodString, "many">;
1061
+ provenance: z.ZodOptional<z.ZodObject<{
1062
+ source_commit: z.ZodString;
1063
+ introspection_timestamp: z.ZodString;
1064
+ latest_repo_migration: z.ZodNullable<z.ZodString>;
1065
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
1066
+ source_commit: z.ZodString;
1067
+ introspection_timestamp: z.ZodString;
1068
+ latest_repo_migration: z.ZodNullable<z.ZodString>;
1069
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
1070
+ source_commit: z.ZodString;
1071
+ introspection_timestamp: z.ZodString;
1072
+ latest_repo_migration: z.ZodNullable<z.ZodString>;
1073
+ }, z.ZodTypeAny, "passthrough">>>;
1074
+ }, z.ZodTypeAny, "passthrough">>;
1075
+ export type PersistResourceContract = z.infer<typeof persistResourceContractSchema>;
1076
+ export type PersistResource = z.infer<typeof resourceSchema>;
1077
+ export type PersistResourceField = z.infer<typeof fieldSchema>;
1078
+ export type PersistResourcePermission = z.infer<typeof permissionSchema>;
1079
+ export type PersistExclusion = z.infer<typeof exclusionSchema>;
1080
+ export declare class PersistContractError extends Error {
1081
+ readonly cause?: unknown | undefined;
1082
+ constructor(message: string, cause?: unknown | undefined);
1083
+ }
1084
+ /**
1085
+ * Canonicalise a JSON value in the exact byte-form the Persist exporter uses
1086
+ * for `content_hash` — deep-sorted object keys, ", " / ": " separators, and
1087
+ * UTF-8 characters kept literal (ensure_ascii=False in Python).
1088
+ */
1089
+ export declare function canonicalJson(value: unknown): string;
1090
+ export declare function computeContentHash(contract: PersistResourceContract): string;
1091
+ export interface LoadOptions {
1092
+ /** Override the artifact path (used in tests). */
1093
+ path?: string;
1094
+ /** Override the supported contract-version major (used in tests). */
1095
+ supportedMajor?: number;
1096
+ }
1097
+ /**
1098
+ * Read, structurally validate, hash-check, and version-check the pinned
1099
+ * Persist contract. Throws {@link PersistContractError} on any failure — the
1100
+ * caller is expected to fail closed (do not expose tools built on a bad
1101
+ * artifact).
1102
+ */
1103
+ export declare function loadPersistResourceContract(options?: LoadOptions): PersistResourceContract;
1104
+ /** Deterministic metadata surface derived from the pinned contract. */
1105
+ export interface PersistResourceMetadata {
1106
+ resourceId: string;
1107
+ module: string;
1108
+ table: string;
1109
+ publicEndpoint: string;
1110
+ operations: readonly string[];
1111
+ sensitivity: PersistResource['sensitivity'];
1112
+ sideEffects: readonly string[];
1113
+ permission: PersistResourcePermission;
1114
+ fieldCount: number;
1115
+ filterableFieldCount: number;
1116
+ }
1117
+ export declare function summariseResources(contract: PersistResourceContract): PersistResourceMetadata[];
1118
+ /** Group the resource metadata by module for cataloguing tools. */
1119
+ export declare function summariseModules(contract: PersistResourceContract): Record<string, PersistResourceMetadata[]>;
1120
+ export {};
1121
+ //# sourceMappingURL=persist-resource-contract.d.ts.map