@cat-factory/contracts 0.207.0 → 0.208.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.
@@ -219,11 +219,20 @@ export type UpdateFoundationalServiceInput = v.InferOutput<typeof updateFoundati
219
219
  *
220
220
  * - `directory`: every immediate SUBDIRECTORY of `dirPath` is one service, described by a
221
221
  * `service.md` (YAML frontmatter + markdown body) with its contract documents beside it.
222
+ * - `folder`: the WHOLE of `dirPath` — optionally including its subfolders — is the contract
223
+ * set of the ONE service the source names. Every file under it whose extension could be a
224
+ * contract document is read and kept if it is one.
222
225
  * - `files`: an explicit list of contract file PATHS, all attached to the ONE service the
223
226
  * source names. This is the "just point at my openapi.yaml" case, where there is no
224
227
  * directory convention to adopt.
228
+ *
229
+ * `folder` and `files` differ in WHEN the file set is decided, and that is the whole reason
230
+ * both exist: a `files` link pins the paths, so a contract added upstream is invisible until
231
+ * somebody edits the link, while a `folder` link re-discovers the set on every sync. Pointing
232
+ * at a folder is therefore the right shape for a spec directory that grows, and naming files is
233
+ * the right shape for picking two documents out of a repo that is mostly something else.
225
234
  */
226
- export declare const foundationalServiceSourceModeSchema: v.PicklistSchema<["directory", "files"], undefined>;
235
+ export declare const foundationalServiceSourceModeSchema: v.PicklistSchema<["directory", "folder", "files"], undefined>;
227
236
  export type FoundationalServiceSourceMode = v.InferOutput<typeof foundationalServiceSourceModeSchema>;
228
237
  /** A repo linked as a source of foundational-service definitions. */
229
238
  export declare const foundationalServiceSourceSchema: v.ObjectSchema<{
@@ -233,12 +242,17 @@ export declare const foundationalServiceSourceSchema: v.ObjectSchema<{
233
242
  readonly repoOwner: v.StringSchema<undefined>;
234
243
  readonly repoName: v.StringSchema<undefined>;
235
244
  readonly gitRef: v.StringSchema<undefined>;
236
- readonly mode: v.PicklistSchema<["directory", "files"], undefined>;
237
- /** Subtree scanned in `directory` mode; the anchor for the head-commit probe in both. */
245
+ readonly mode: v.PicklistSchema<["directory", "folder", "files"], undefined>;
246
+ /** Subtree scanned in `directory`/`folder` mode; the anchor for the head-commit probe in all. */
238
247
  readonly dirPath: v.StringSchema<undefined>;
239
- /** `files` mode only: the contract files, repo-root-relative. Empty in `directory` mode. */
248
+ /**
249
+ * `folder` mode only: whether the scan descends into `dirPath`'s subfolders. False elsewhere —
250
+ * `directory` mode's subdirectories are its services and `files` mode enumerates paths.
251
+ */
252
+ readonly recursive: v.BooleanSchema<undefined>;
253
+ /** `files` mode only: the contract files, repo-root-relative. Empty in the folder modes. */
240
254
  readonly filePaths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
241
- /** `files` mode only: the service the linked files describe. Null in `directory` mode. */
255
+ /** `folder`/`files` mode: the service the linked contracts describe. Null in `directory` mode. */
242
256
  readonly serviceId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
243
257
  readonly serviceName: v.NullableSchema<v.StringSchema<undefined>, undefined>;
244
258
  readonly serviceSummary: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -247,14 +261,16 @@ export declare const foundationalServiceSourceSchema: v.ObjectSchema<{
247
261
  readonly createdAt: v.NumberSchema<undefined>;
248
262
  }, undefined>;
249
263
  export type FoundationalServiceSource = v.InferOutput<typeof foundationalServiceSourceSchema>;
250
- /** Link a repo directory (or an explicit file list) as a foundational-service source. */
264
+ /** Link a repo directory, a whole folder, or an explicit file list as a foundational source. */
251
265
  export declare const linkFoundationalServiceSourceSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
252
266
  readonly repoOwner: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 100, undefined>]>;
253
267
  readonly repoName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
254
268
  /** Git ref to read; defaults to the repo's default branch (`HEAD`). */
255
269
  readonly gitRef: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
256
- readonly mode: v.PicklistSchema<["directory", "files"], undefined>;
270
+ readonly mode: v.PicklistSchema<["directory", "folder", "files"], undefined>;
257
271
  readonly dirPath: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 300, undefined>]>, undefined>;
272
+ /** `folder` mode: descend into `dirPath`'s subfolders too. Defaults to false. */
273
+ readonly recursive: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
258
274
  readonly filePaths: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 300, undefined>]>, undefined>, v.MaxLengthAction<string[], 50, undefined>]>, undefined>;
259
275
  readonly serviceId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>, undefined>;
260
276
  readonly serviceName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
@@ -263,13 +279,36 @@ export declare const linkFoundationalServiceSourceSchema: v.SchemaWithPipe<reado
263
279
  repoOwner: string;
264
280
  repoName: string;
265
281
  gitRef?: string | undefined;
266
- mode: "directory" | "files";
282
+ mode: "directory" | "files" | "folder";
283
+ dirPath?: string | undefined;
284
+ recursive?: boolean | undefined;
285
+ filePaths?: string[] | undefined;
286
+ serviceId?: string | undefined;
287
+ serviceName?: string | undefined;
288
+ serviceSummary?: string | undefined;
289
+ }, "a `folder` or `files` source must name serviceId and serviceName">, v.CheckAction<{
290
+ repoOwner: string;
291
+ repoName: string;
292
+ gitRef?: string | undefined;
293
+ mode: "directory" | "files" | "folder";
267
294
  dirPath?: string | undefined;
295
+ recursive?: boolean | undefined;
268
296
  filePaths?: string[] | undefined;
269
297
  serviceId?: string | undefined;
270
298
  serviceName?: string | undefined;
271
299
  serviceSummary?: string | undefined;
272
- }, "a `files` source must name serviceId, serviceName and at least one file path">]>;
300
+ }, "a `files` source must list at least one file path">, v.CheckAction<{
301
+ repoOwner: string;
302
+ repoName: string;
303
+ gitRef?: string | undefined;
304
+ mode: "directory" | "files" | "folder";
305
+ dirPath?: string | undefined;
306
+ recursive?: boolean | undefined;
307
+ filePaths?: string[] | undefined;
308
+ serviceId?: string | undefined;
309
+ serviceName?: string | undefined;
310
+ serviceSummary?: string | undefined;
311
+ }, "`recursive` applies only to a `folder` source">]>;
273
312
  export type LinkFoundationalServiceSourceInput = v.InferOutput<typeof linkFoundationalServiceSourceSchema>;
274
313
  /** Outcome of resyncing a source: counts of changed/removed/unchanged services. */
275
314
  export declare const foundationalServiceSyncResultSchema: v.ObjectSchema<{
@@ -277,6 +316,21 @@ export declare const foundationalServiceSyncResultSchema: v.ObjectSchema<{
277
316
  readonly tombstoned: v.NumberSchema<undefined>;
278
317
  readonly unchanged: v.NumberSchema<undefined>;
279
318
  readonly lastSyncedCommit: v.NullableSchema<v.StringSchema<undefined>, undefined>;
319
+ /**
320
+ * Files that LOOKED like contract documents (an OpenAPI or contract-module extension) but did
321
+ * not become one this pass — unreadable, unrecognised content, or a duplicate contract id.
322
+ * Zero and "nothing was scanned" are told apart by the counts above, and a non-zero value is
323
+ * the only thing that explains a folder link that produced fewer contracts than its author
324
+ * expected. Files with no contract extension are never read and never counted.
325
+ */
326
+ readonly skippedFiles: v.NumberSchema<undefined>;
327
+ /**
328
+ * True when a scan CAP stopped a `folder` source's walk short (depth, directories visited, or
329
+ * contract files taken), so the contract set is a prefix of what the folder holds rather than
330
+ * all of it. Never a transient: a truncated pass still pins its commit, because re-reading
331
+ * would truncate identically and the source would never look caught up.
332
+ */
333
+ readonly truncated: v.BooleanSchema<undefined>;
280
334
  }, undefined>;
281
335
  export type FoundationalServiceSyncResult = v.InferOutput<typeof foundationalServiceSyncResultSchema>;
282
336
  /** Lightweight "check for changes" result (no writes) — one head-commit probe. */
@@ -1 +1 @@
1
- {"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
@@ -149,11 +149,20 @@ export const updateFoundationalServiceSchema = v.object({
149
149
  *
150
150
  * - `directory`: every immediate SUBDIRECTORY of `dirPath` is one service, described by a
151
151
  * `service.md` (YAML frontmatter + markdown body) with its contract documents beside it.
152
+ * - `folder`: the WHOLE of `dirPath` — optionally including its subfolders — is the contract
153
+ * set of the ONE service the source names. Every file under it whose extension could be a
154
+ * contract document is read and kept if it is one.
152
155
  * - `files`: an explicit list of contract file PATHS, all attached to the ONE service the
153
156
  * source names. This is the "just point at my openapi.yaml" case, where there is no
154
157
  * directory convention to adopt.
158
+ *
159
+ * `folder` and `files` differ in WHEN the file set is decided, and that is the whole reason
160
+ * both exist: a `files` link pins the paths, so a contract added upstream is invisible until
161
+ * somebody edits the link, while a `folder` link re-discovers the set on every sync. Pointing
162
+ * at a folder is therefore the right shape for a spec directory that grows, and naming files is
163
+ * the right shape for picking two documents out of a repo that is mostly something else.
155
164
  */
156
- export const foundationalServiceSourceModeSchema = v.picklist(['directory', 'files']);
165
+ export const foundationalServiceSourceModeSchema = v.picklist(['directory', 'folder', 'files']);
157
166
  /** A repo linked as a source of foundational-service definitions. */
158
167
  export const foundationalServiceSourceSchema = v.object({
159
168
  id: v.string(),
@@ -163,11 +172,16 @@ export const foundationalServiceSourceSchema = v.object({
163
172
  repoName: v.string(),
164
173
  gitRef: v.string(),
165
174
  mode: foundationalServiceSourceModeSchema,
166
- /** Subtree scanned in `directory` mode; the anchor for the head-commit probe in both. */
175
+ /** Subtree scanned in `directory`/`folder` mode; the anchor for the head-commit probe in all. */
167
176
  dirPath: v.string(),
168
- /** `files` mode only: the contract files, repo-root-relative. Empty in `directory` mode. */
177
+ /**
178
+ * `folder` mode only: whether the scan descends into `dirPath`'s subfolders. False elsewhere —
179
+ * `directory` mode's subdirectories are its services and `files` mode enumerates paths.
180
+ */
181
+ recursive: v.boolean(),
182
+ /** `files` mode only: the contract files, repo-root-relative. Empty in the folder modes. */
169
183
  filePaths: v.array(v.string()),
170
- /** `files` mode only: the service the linked files describe. Null in `directory` mode. */
184
+ /** `folder`/`files` mode: the service the linked contracts describe. Null in `directory` mode. */
171
185
  serviceId: v.nullable(v.string()),
172
186
  serviceName: v.nullable(v.string()),
173
187
  serviceSummary: v.nullable(v.string()),
@@ -175,7 +189,7 @@ export const foundationalServiceSourceSchema = v.object({
175
189
  lastSyncedAt: v.nullable(v.number()),
176
190
  createdAt: v.number(),
177
191
  });
178
- /** Link a repo directory (or an explicit file list) as a foundational-service source. */
192
+ /** Link a repo directory, a whole folder, or an explicit file list as a foundational source. */
179
193
  export const linkFoundationalServiceSourceSchema = v.pipe(v.object({
180
194
  repoOwner: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(100)),
181
195
  repoName: v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(200)),
@@ -183,22 +197,44 @@ export const linkFoundationalServiceSourceSchema = v.pipe(v.object({
183
197
  gitRef: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(200))),
184
198
  mode: foundationalServiceSourceModeSchema,
185
199
  dirPath: v.optional(v.pipe(v.string(), v.trim(), v.maxLength(300))),
200
+ /** `folder` mode: descend into `dirPath`'s subfolders too. Defaults to false. */
201
+ recursive: v.optional(v.boolean()),
186
202
  filePaths: v.optional(v.pipe(v.array(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(300))), v.maxLength(50))),
187
203
  serviceId: v.optional(slug),
188
204
  serviceName: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(200))),
189
205
  serviceSummary: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(400))),
190
206
  }),
191
- // `files` mode carries no directory convention to read identity from, so the link MUST name
192
- // the service its files describe. Refused at the write boundary rather than discovered at
193
- // sync time, where the only honest outcome would be a source that permanently syncs nothing.
194
- v.check((input) => input.mode !== 'files' ||
195
- (!!input.serviceId && !!input.serviceName && (input.filePaths?.length ?? 0) > 0), 'a `files` source must name serviceId, serviceName and at least one file path'));
207
+ // Neither single-service mode carries a directory convention to read identity from, so the
208
+ // link MUST name the service its contracts describe. Refused at the write boundary rather
209
+ // than discovered at sync time, where the only honest outcome would be a source that
210
+ // permanently syncs nothing.
211
+ v.check((input) => (input.mode !== 'files' && input.mode !== 'folder') ||
212
+ (!!input.serviceId && !!input.serviceName), 'a `folder` or `files` source must name serviceId and serviceName'), v.check((input) => input.mode !== 'files' || (input.filePaths?.length ?? 0) > 0, 'a `files` source must list at least one file path'),
213
+ // `recursive` is meaningful only where a subtree is scanned for ONE service's contracts. In
214
+ // `directory` mode the subdirectories ARE the services and in `files` mode the paths are
215
+ // enumerated, so accepting it there would store a flag that silently does nothing.
216
+ v.check((input) => input.mode === 'folder' || !input.recursive, '`recursive` applies only to a `folder` source'));
196
217
  /** Outcome of resyncing a source: counts of changed/removed/unchanged services. */
197
218
  export const foundationalServiceSyncResultSchema = v.object({
198
219
  upserted: v.number(),
199
220
  tombstoned: v.number(),
200
221
  unchanged: v.number(),
201
222
  lastSyncedCommit: v.nullable(v.string()),
223
+ /**
224
+ * Files that LOOKED like contract documents (an OpenAPI or contract-module extension) but did
225
+ * not become one this pass — unreadable, unrecognised content, or a duplicate contract id.
226
+ * Zero and "nothing was scanned" are told apart by the counts above, and a non-zero value is
227
+ * the only thing that explains a folder link that produced fewer contracts than its author
228
+ * expected. Files with no contract extension are never read and never counted.
229
+ */
230
+ skippedFiles: v.number(),
231
+ /**
232
+ * True when a scan CAP stopped a `folder` source's walk short (depth, directories visited, or
233
+ * contract files taken), so the contract set is a prefix of what the folder holds rather than
234
+ * all of it. Never a transient: a truncated pass still pins its commit, because re-reading
235
+ * would truncate identically and the source would never look caught up.
236
+ */
237
+ truncated: v.boolean(),
202
238
  });
203
239
  /** Lightweight "check for changes" result (no writes) — one head-commit probe. */
204
240
  export const foundationalServiceSourceStatusSchema = v.object({
@@ -1 +1 @@
1
- {"version":3,"file":"foundational-services.js","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundational-services.js","sourceRoot":"","sources":["../src/foundational-services.ts"],"names":[],"mappings":"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"}
@@ -473,8 +473,9 @@ export declare const listFoundationalServiceSourcesContract: {
473
473
  readonly repoOwner: v.StringSchema<undefined>;
474
474
  readonly repoName: v.StringSchema<undefined>;
475
475
  readonly gitRef: v.StringSchema<undefined>;
476
- readonly mode: v.PicklistSchema<["directory", "files"], undefined>;
476
+ readonly mode: v.PicklistSchema<["directory", "folder", "files"], undefined>;
477
477
  readonly dirPath: v.StringSchema<undefined>;
478
+ readonly recursive: v.BooleanSchema<undefined>;
478
479
  readonly filePaths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
479
480
  readonly serviceId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
480
481
  readonly serviceName: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -492,8 +493,9 @@ export declare const linkFoundationalServiceSourceContract: {
492
493
  readonly repoOwner: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 100, undefined>]>;
493
494
  readonly repoName: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>;
494
495
  readonly gitRef: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
495
- readonly mode: v.PicklistSchema<["directory", "files"], undefined>;
496
+ readonly mode: v.PicklistSchema<["directory", "folder", "files"], undefined>;
496
497
  readonly dirPath: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MaxLengthAction<string, 300, undefined>]>, undefined>;
498
+ readonly recursive: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
497
499
  readonly filePaths: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ArraySchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 300, undefined>]>, undefined>, v.MaxLengthAction<string[], 50, undefined>]>, undefined>;
498
500
  readonly serviceId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 64, undefined>, v.RegexAction<string, "must be a lower-kebab slug">]>, undefined>;
499
501
  readonly serviceName: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.MaxLengthAction<string, 200, undefined>]>, undefined>;
@@ -502,13 +504,36 @@ export declare const linkFoundationalServiceSourceContract: {
502
504
  repoOwner: string;
503
505
  repoName: string;
504
506
  gitRef?: string | undefined;
505
- mode: "directory" | "files";
507
+ mode: "directory" | "files" | "folder";
506
508
  dirPath?: string | undefined;
509
+ recursive?: boolean | undefined;
507
510
  filePaths?: string[] | undefined;
508
511
  serviceId?: string | undefined;
509
512
  serviceName?: string | undefined;
510
513
  serviceSummary?: string | undefined;
511
- }, "a `files` source must name serviceId, serviceName and at least one file path">]>;
514
+ }, "a `folder` or `files` source must name serviceId and serviceName">, v.CheckAction<{
515
+ repoOwner: string;
516
+ repoName: string;
517
+ gitRef?: string | undefined;
518
+ mode: "directory" | "files" | "folder";
519
+ dirPath?: string | undefined;
520
+ recursive?: boolean | undefined;
521
+ filePaths?: string[] | undefined;
522
+ serviceId?: string | undefined;
523
+ serviceName?: string | undefined;
524
+ serviceSummary?: string | undefined;
525
+ }, "a `files` source must list at least one file path">, v.CheckAction<{
526
+ repoOwner: string;
527
+ repoName: string;
528
+ gitRef?: string | undefined;
529
+ mode: "directory" | "files" | "folder";
530
+ dirPath?: string | undefined;
531
+ recursive?: boolean | undefined;
532
+ filePaths?: string[] | undefined;
533
+ serviceId?: string | undefined;
534
+ serviceName?: string | undefined;
535
+ serviceSummary?: string | undefined;
536
+ }, "`recursive` applies only to a `folder` source">]>;
512
537
  readonly responsesByStatusCode: {
513
538
  readonly '4xx': v.ObjectSchema<{
514
539
  readonly error: v.ObjectSchema<{
@@ -539,8 +564,9 @@ export declare const linkFoundationalServiceSourceContract: {
539
564
  readonly repoOwner: v.StringSchema<undefined>;
540
565
  readonly repoName: v.StringSchema<undefined>;
541
566
  readonly gitRef: v.StringSchema<undefined>;
542
- readonly mode: v.PicklistSchema<["directory", "files"], undefined>;
567
+ readonly mode: v.PicklistSchema<["directory", "folder", "files"], undefined>;
543
568
  readonly dirPath: v.StringSchema<undefined>;
569
+ readonly recursive: v.BooleanSchema<undefined>;
544
570
  readonly filePaths: v.ArraySchema<v.StringSchema<undefined>, undefined>;
545
571
  readonly serviceId: v.NullableSchema<v.StringSchema<undefined>, undefined>;
546
572
  readonly serviceName: v.NullableSchema<v.StringSchema<undefined>, undefined>;
@@ -660,6 +686,8 @@ export declare const syncFoundationalServiceSourceContract: {
660
686
  readonly tombstoned: v.NumberSchema<undefined>;
661
687
  readonly unchanged: v.NumberSchema<undefined>;
662
688
  readonly lastSyncedCommit: v.NullableSchema<v.StringSchema<undefined>, undefined>;
689
+ readonly skippedFiles: v.NumberSchema<undefined>;
690
+ readonly truncated: v.BooleanSchema<undefined>;
663
691
  }, undefined>;
664
692
  };
665
693
  };
@@ -1 +1 @@
1
- {"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../../src/routes/foundational-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmC5B,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI3C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM5C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5C,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI/C,CAAA;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOtD,CAAA;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM9C,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK7C,CAAA;AAIF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjD,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKhD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhD,CAAA"}
1
+ {"version":3,"file":"foundational-services.d.ts","sourceRoot":"","sources":["../../src/routes/foundational-services.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAqB,MAAM,yBAAyB,CAAA;AAC3E,OAAO,KAAK,CAAC,MAAM,SAAS,CAAA;AAmC5B,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI3C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM5C,CAAA;AAEF,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK5C,CAAA;AAEF;;;;;GAKG;AACH,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,oCAAoC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI/C,CAAA;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2CAA2C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOtD,CAAA;AAEF,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAM9C,CAAA;AAEF,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAK7C,CAAA;AAIF,eAAO,MAAM,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIjD,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKhD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF,eAAO,MAAM,uCAAuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKlD,CAAA;AAEF,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMhD,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cat-factory/contracts",
3
- "version": "0.207.0",
3
+ "version": "0.208.0",
4
4
  "description": "Valibot wire contract shared between the Agent Architecture Board frontend and backend.",
5
5
  "repository": {
6
6
  "type": "git",