@vibe-agent-toolkit/agent-schema 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -12,5 +12,5 @@ export { AgentInterfaceSchema, SchemaRefSchema, type Agent, type AgentInterface,
12
12
  export { ToolAlternativeSchema, ToolSchema, type Tool, type ToolAlternative, } from './tool.js';
13
13
  export { ResourceRegistrySchema, ResourceSchema, type Resource, type ResourceRegistry, } from './resource-registry.js';
14
14
  export { AgentManifestSchema, AgentSpecSchema, CompositionConfigSchema, CredentialsConfigSchema, MemoryConfigSchema, PromptConfigSchema, PromptsConfigSchema, RAGConfigSchema, TestConfigSchema, type AgentManifest, type AgentSpec, type CompositionConfig, type CredentialsConfig, type MemoryConfig, type PromptConfig, type PromptsConfig, type RAGConfig, type TestConfig, } from './agent-manifest.js';
15
- export { VatAgentMetadataSchema, VatPackageMetadataSchema, VatPureFunctionMetadataSchema, VatSkillMetadataSchema, type VatAgentMetadata, type VatPackageMetadata, type VatPureFunctionMetadata, type VatSkillMetadata, } from './package-metadata.js';
15
+ export { PackagingOptionsSchema, ValidationOverrideSchema, VatAgentMetadataSchema, VatPackageMetadataSchema, VatPureFunctionMetadataSchema, VatSkillMetadataSchema, type PackagingOptions, type ValidationOverride, type VatAgentMetadata, type VatPackageMetadata, type VatPureFunctionMetadata, type VatSkillMetadata, } from './package-metadata.js';
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,KAAK,SAAS,GACf,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,KAAK,IAAI,EACT,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGzE,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,EACf,KAAK,SAAS,GACf,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,KAAK,KAAK,EACV,KAAK,cAAc,EACnB,KAAK,SAAS,GACf,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,KAAK,IAAI,EACT,KAAK,eAAe,GACrB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,KAAK,QAAQ,EACb,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,UAAU,GAChB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC"}
package/dist/index.js CHANGED
@@ -15,5 +15,5 @@ export { AgentInterfaceSchema, SchemaRefSchema, } from './interface.js';
15
15
  export { ToolAlternativeSchema, ToolSchema, } from './tool.js';
16
16
  export { ResourceRegistrySchema, ResourceSchema, } from './resource-registry.js';
17
17
  export { AgentManifestSchema, AgentSpecSchema, CompositionConfigSchema, CredentialsConfigSchema, MemoryConfigSchema, PromptConfigSchema, PromptsConfigSchema, RAGConfigSchema, TestConfigSchema, } from './agent-manifest.js';
18
- export { VatAgentMetadataSchema, VatPackageMetadataSchema, VatPureFunctionMetadataSchema, VatSkillMetadataSchema, } from './package-metadata.js';
18
+ export { PackagingOptionsSchema, ValidationOverrideSchema, VatAgentMetadataSchema, VatPackageMetadataSchema, VatPureFunctionMetadataSchema, VatSkillMetadataSchema, } from './package-metadata.js';
19
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAwB;AACxB,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AAEzE,eAAe;AACf,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAEtC,eAAe;AACf,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAGpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,GAEhB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oBAAoB,EACpB,eAAe,GAIhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,UAAU,GAGX,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,sBAAsB,EACtB,cAAc,GAGf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GAUjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,GAKvB,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wBAAwB;AACxB,OAAO,EAAE,YAAY,EAA0B,MAAM,mBAAmB,CAAC;AAEzE,eAAe;AACf,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AAEtC,eAAe;AACf,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAGpB,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,eAAe,GAEhB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oBAAoB,EACpB,eAAe,GAIhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,qBAAqB,EACrB,UAAU,GAGX,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,sBAAsB,EACtB,cAAc,GAGf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,GAUjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,sBAAsB,GAOvB,MAAM,uBAAuB,CAAC"}
@@ -5,6 +5,80 @@
5
5
  * VAT artifacts (skills, agents, pure functions, runtimes).
6
6
  */
7
7
  import { z } from 'zod';
8
+ /**
9
+ * Validation override value
10
+ *
11
+ * Supports both simple string format and extended object format with expiration.
12
+ */
13
+ export declare const ValidationOverrideSchema: z.ZodUnion<[z.ZodString, z.ZodObject<{
14
+ reason: z.ZodString;
15
+ expires: z.ZodOptional<z.ZodString>;
16
+ }, "strip", z.ZodTypeAny, {
17
+ reason: string;
18
+ expires?: string | undefined;
19
+ }, {
20
+ reason: string;
21
+ expires?: string | undefined;
22
+ }>]>;
23
+ export type ValidationOverride = z.infer<typeof ValidationOverrideSchema>;
24
+ /**
25
+ * Packaging options for skill distribution
26
+ *
27
+ * Controls how skills are packaged and distributed.
28
+ */
29
+ export declare const PackagingOptionsSchema: z.ZodObject<{
30
+ resourceNaming: z.ZodOptional<z.ZodEnum<["basename", "resource-id", "preserve-path"]>>;
31
+ stripPrefix: z.ZodOptional<z.ZodString>;
32
+ linkFollowDepth: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"full">]>>;
33
+ excludeReferencesFromBundle: z.ZodOptional<z.ZodObject<{
34
+ rules: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
35
+ patterns: z.ZodArray<z.ZodString, "many">;
36
+ template: z.ZodOptional<z.ZodString>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ patterns: string[];
39
+ template?: string | undefined;
40
+ }, {
41
+ patterns: string[];
42
+ template?: string | undefined;
43
+ }>, "many">>>;
44
+ defaultTemplate: z.ZodOptional<z.ZodString>;
45
+ }, "strip", z.ZodTypeAny, {
46
+ rules: {
47
+ patterns: string[];
48
+ template?: string | undefined;
49
+ }[];
50
+ defaultTemplate?: string | undefined;
51
+ }, {
52
+ rules?: {
53
+ patterns: string[];
54
+ template?: string | undefined;
55
+ }[] | undefined;
56
+ defaultTemplate?: string | undefined;
57
+ }>>;
58
+ }, "strip", z.ZodTypeAny, {
59
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
60
+ stripPrefix?: string | undefined;
61
+ linkFollowDepth?: number | "full" | undefined;
62
+ excludeReferencesFromBundle?: {
63
+ rules: {
64
+ patterns: string[];
65
+ template?: string | undefined;
66
+ }[];
67
+ defaultTemplate?: string | undefined;
68
+ } | undefined;
69
+ }, {
70
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
71
+ stripPrefix?: string | undefined;
72
+ linkFollowDepth?: number | "full" | undefined;
73
+ excludeReferencesFromBundle?: {
74
+ rules?: {
75
+ patterns: string[];
76
+ template?: string | undefined;
77
+ }[] | undefined;
78
+ defaultTemplate?: string | undefined;
79
+ } | undefined;
80
+ }>;
81
+ export type PackagingOptions = z.infer<typeof PackagingOptionsSchema>;
8
82
  /**
9
83
  * Skill metadata for distribution
10
84
  *
@@ -14,14 +88,108 @@ export declare const VatSkillMetadataSchema: z.ZodObject<{
14
88
  name: z.ZodString;
15
89
  source: z.ZodString;
16
90
  path: z.ZodString;
91
+ ignoreValidationErrors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
92
+ reason: z.ZodString;
93
+ expires: z.ZodOptional<z.ZodString>;
94
+ }, "strip", z.ZodTypeAny, {
95
+ reason: string;
96
+ expires?: string | undefined;
97
+ }, {
98
+ reason: string;
99
+ expires?: string | undefined;
100
+ }>]>>>;
101
+ packagingOptions: z.ZodOptional<z.ZodObject<{
102
+ resourceNaming: z.ZodOptional<z.ZodEnum<["basename", "resource-id", "preserve-path"]>>;
103
+ stripPrefix: z.ZodOptional<z.ZodString>;
104
+ linkFollowDepth: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"full">]>>;
105
+ excludeReferencesFromBundle: z.ZodOptional<z.ZodObject<{
106
+ rules: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
107
+ patterns: z.ZodArray<z.ZodString, "many">;
108
+ template: z.ZodOptional<z.ZodString>;
109
+ }, "strip", z.ZodTypeAny, {
110
+ patterns: string[];
111
+ template?: string | undefined;
112
+ }, {
113
+ patterns: string[];
114
+ template?: string | undefined;
115
+ }>, "many">>>;
116
+ defaultTemplate: z.ZodOptional<z.ZodString>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ rules: {
119
+ patterns: string[];
120
+ template?: string | undefined;
121
+ }[];
122
+ defaultTemplate?: string | undefined;
123
+ }, {
124
+ rules?: {
125
+ patterns: string[];
126
+ template?: string | undefined;
127
+ }[] | undefined;
128
+ defaultTemplate?: string | undefined;
129
+ }>>;
130
+ }, "strip", z.ZodTypeAny, {
131
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
132
+ stripPrefix?: string | undefined;
133
+ linkFollowDepth?: number | "full" | undefined;
134
+ excludeReferencesFromBundle?: {
135
+ rules: {
136
+ patterns: string[];
137
+ template?: string | undefined;
138
+ }[];
139
+ defaultTemplate?: string | undefined;
140
+ } | undefined;
141
+ }, {
142
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
143
+ stripPrefix?: string | undefined;
144
+ linkFollowDepth?: number | "full" | undefined;
145
+ excludeReferencesFromBundle?: {
146
+ rules?: {
147
+ patterns: string[];
148
+ template?: string | undefined;
149
+ }[] | undefined;
150
+ defaultTemplate?: string | undefined;
151
+ } | undefined;
152
+ }>>;
17
153
  }, "strip", z.ZodTypeAny, {
18
154
  path: string;
19
155
  name: string;
20
156
  source: string;
157
+ ignoreValidationErrors?: Record<string, string | {
158
+ reason: string;
159
+ expires?: string | undefined;
160
+ }> | undefined;
161
+ packagingOptions?: {
162
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
163
+ stripPrefix?: string | undefined;
164
+ linkFollowDepth?: number | "full" | undefined;
165
+ excludeReferencesFromBundle?: {
166
+ rules: {
167
+ patterns: string[];
168
+ template?: string | undefined;
169
+ }[];
170
+ defaultTemplate?: string | undefined;
171
+ } | undefined;
172
+ } | undefined;
21
173
  }, {
22
174
  path: string;
23
175
  name: string;
24
176
  source: string;
177
+ ignoreValidationErrors?: Record<string, string | {
178
+ reason: string;
179
+ expires?: string | undefined;
180
+ }> | undefined;
181
+ packagingOptions?: {
182
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
183
+ stripPrefix?: string | undefined;
184
+ linkFollowDepth?: number | "full" | undefined;
185
+ excludeReferencesFromBundle?: {
186
+ rules?: {
187
+ patterns: string[];
188
+ template?: string | undefined;
189
+ }[] | undefined;
190
+ defaultTemplate?: string | undefined;
191
+ } | undefined;
192
+ } | undefined;
25
193
  }>;
26
194
  export type VatSkillMetadata = z.infer<typeof VatSkillMetadataSchema>;
27
195
  /**
@@ -90,14 +258,108 @@ export declare const VatPackageMetadataSchema: z.ZodObject<{
90
258
  name: z.ZodString;
91
259
  source: z.ZodString;
92
260
  path: z.ZodString;
261
+ ignoreValidationErrors: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodObject<{
262
+ reason: z.ZodString;
263
+ expires: z.ZodOptional<z.ZodString>;
264
+ }, "strip", z.ZodTypeAny, {
265
+ reason: string;
266
+ expires?: string | undefined;
267
+ }, {
268
+ reason: string;
269
+ expires?: string | undefined;
270
+ }>]>>>;
271
+ packagingOptions: z.ZodOptional<z.ZodObject<{
272
+ resourceNaming: z.ZodOptional<z.ZodEnum<["basename", "resource-id", "preserve-path"]>>;
273
+ stripPrefix: z.ZodOptional<z.ZodString>;
274
+ linkFollowDepth: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodLiteral<"full">]>>;
275
+ excludeReferencesFromBundle: z.ZodOptional<z.ZodObject<{
276
+ rules: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{
277
+ patterns: z.ZodArray<z.ZodString, "many">;
278
+ template: z.ZodOptional<z.ZodString>;
279
+ }, "strip", z.ZodTypeAny, {
280
+ patterns: string[];
281
+ template?: string | undefined;
282
+ }, {
283
+ patterns: string[];
284
+ template?: string | undefined;
285
+ }>, "many">>>;
286
+ defaultTemplate: z.ZodOptional<z.ZodString>;
287
+ }, "strip", z.ZodTypeAny, {
288
+ rules: {
289
+ patterns: string[];
290
+ template?: string | undefined;
291
+ }[];
292
+ defaultTemplate?: string | undefined;
293
+ }, {
294
+ rules?: {
295
+ patterns: string[];
296
+ template?: string | undefined;
297
+ }[] | undefined;
298
+ defaultTemplate?: string | undefined;
299
+ }>>;
300
+ }, "strip", z.ZodTypeAny, {
301
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
302
+ stripPrefix?: string | undefined;
303
+ linkFollowDepth?: number | "full" | undefined;
304
+ excludeReferencesFromBundle?: {
305
+ rules: {
306
+ patterns: string[];
307
+ template?: string | undefined;
308
+ }[];
309
+ defaultTemplate?: string | undefined;
310
+ } | undefined;
311
+ }, {
312
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
313
+ stripPrefix?: string | undefined;
314
+ linkFollowDepth?: number | "full" | undefined;
315
+ excludeReferencesFromBundle?: {
316
+ rules?: {
317
+ patterns: string[];
318
+ template?: string | undefined;
319
+ }[] | undefined;
320
+ defaultTemplate?: string | undefined;
321
+ } | undefined;
322
+ }>>;
93
323
  }, "strip", z.ZodTypeAny, {
94
324
  path: string;
95
325
  name: string;
96
326
  source: string;
327
+ ignoreValidationErrors?: Record<string, string | {
328
+ reason: string;
329
+ expires?: string | undefined;
330
+ }> | undefined;
331
+ packagingOptions?: {
332
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
333
+ stripPrefix?: string | undefined;
334
+ linkFollowDepth?: number | "full" | undefined;
335
+ excludeReferencesFromBundle?: {
336
+ rules: {
337
+ patterns: string[];
338
+ template?: string | undefined;
339
+ }[];
340
+ defaultTemplate?: string | undefined;
341
+ } | undefined;
342
+ } | undefined;
97
343
  }, {
98
344
  path: string;
99
345
  name: string;
100
346
  source: string;
347
+ ignoreValidationErrors?: Record<string, string | {
348
+ reason: string;
349
+ expires?: string | undefined;
350
+ }> | undefined;
351
+ packagingOptions?: {
352
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
353
+ stripPrefix?: string | undefined;
354
+ linkFollowDepth?: number | "full" | undefined;
355
+ excludeReferencesFromBundle?: {
356
+ rules?: {
357
+ patterns: string[];
358
+ template?: string | undefined;
359
+ }[] | undefined;
360
+ defaultTemplate?: string | undefined;
361
+ } | undefined;
362
+ } | undefined;
101
363
  }>, "many">>;
102
364
  agents: z.ZodOptional<z.ZodArray<z.ZodObject<{
103
365
  name: z.ZodString;
@@ -148,6 +410,22 @@ export declare const VatPackageMetadataSchema: z.ZodObject<{
148
410
  path: string;
149
411
  name: string;
150
412
  source: string;
413
+ ignoreValidationErrors?: Record<string, string | {
414
+ reason: string;
415
+ expires?: string | undefined;
416
+ }> | undefined;
417
+ packagingOptions?: {
418
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
419
+ stripPrefix?: string | undefined;
420
+ linkFollowDepth?: number | "full" | undefined;
421
+ excludeReferencesFromBundle?: {
422
+ rules: {
423
+ patterns: string[];
424
+ template?: string | undefined;
425
+ }[];
426
+ defaultTemplate?: string | undefined;
427
+ } | undefined;
428
+ } | undefined;
151
429
  }[] | undefined;
152
430
  agents?: {
153
431
  path: string;
@@ -170,6 +448,22 @@ export declare const VatPackageMetadataSchema: z.ZodObject<{
170
448
  path: string;
171
449
  name: string;
172
450
  source: string;
451
+ ignoreValidationErrors?: Record<string, string | {
452
+ reason: string;
453
+ expires?: string | undefined;
454
+ }> | undefined;
455
+ packagingOptions?: {
456
+ resourceNaming?: "basename" | "resource-id" | "preserve-path" | undefined;
457
+ stripPrefix?: string | undefined;
458
+ linkFollowDepth?: number | "full" | undefined;
459
+ excludeReferencesFromBundle?: {
460
+ rules?: {
461
+ patterns: string[];
462
+ template?: string | undefined;
463
+ }[] | undefined;
464
+ defaultTemplate?: string | undefined;
465
+ } | undefined;
466
+ } | undefined;
173
467
  }[] | undefined;
174
468
  agents?: {
175
469
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"package-metadata.d.ts","sourceRoot":"","sources":["../src/package-metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAekB,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAee,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBiB,CAAC;AAE5D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ByB,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
1
+ {"version":3,"file":"package-metadata.d.ts","sourceRoot":"","sources":["../src/package-metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;IAM6B,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8CoB,CAAC;AAExD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBkB,CAAC;AAEtD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAee,CAAC;AAEnD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwBiB,CAAC;AAE5D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AAEpF;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0ByB,CAAC;AAE/D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -5,6 +5,62 @@
5
5
  * VAT artifacts (skills, agents, pure functions, runtimes).
6
6
  */
7
7
  import { z } from 'zod';
8
+ /**
9
+ * Validation override value
10
+ *
11
+ * Supports both simple string format and extended object format with expiration.
12
+ */
13
+ export const ValidationOverrideSchema = z.union([
14
+ z.string().min(1).describe('Simple override reason'),
15
+ z.object({
16
+ reason: z.string().min(1).describe('Override reason'),
17
+ expires: z.string().datetime().optional().describe('Optional expiration date (ISO 8601)'),
18
+ }).describe('Extended override with optional expiration'),
19
+ ]).describe('Validation override (reason or reason + expiration)');
20
+ /**
21
+ * Packaging options for skill distribution
22
+ *
23
+ * Controls how skills are packaged and distributed.
24
+ */
25
+ export const PackagingOptionsSchema = z.object({
26
+ resourceNaming: z
27
+ .enum(['basename', 'resource-id', 'preserve-path'])
28
+ .optional()
29
+ .describe('Strategy for naming packaged resource files:\n' +
30
+ ' - basename: Use original filename only (default, may conflict)\n' +
31
+ ' - resource-id: Flatten path to kebab-case filename (e.g., topics-quickstart-overview.md)\n' +
32
+ ' - preserve-path: Preserve directory structure (e.g., topics/quickstart/overview.md)'),
33
+ stripPrefix: z
34
+ .string()
35
+ .optional()
36
+ .describe('Path prefix to strip before applying naming strategy (e.g., "knowledge-base")'),
37
+ linkFollowDepth: z
38
+ .union([z.number().int().min(0), z.literal('full')])
39
+ .optional()
40
+ .describe('How deep to follow markdown links from SKILL.md for bundling:\n' +
41
+ ' 0 = skill file only (no link following)\n' +
42
+ ' 1 = direct links only\n' +
43
+ ' 2 = direct + one transitive level (default, recommended)\n' +
44
+ ' N = N levels of transitive links\n' +
45
+ ' "full" = complete transitive closure (use with caution)'),
46
+ excludeReferencesFromBundle: z.object({
47
+ rules: z.array(z.object({
48
+ patterns: z.array(z.string())
49
+ .describe('Glob patterns matched against path relative to skill root'),
50
+ template: z.string()
51
+ .optional()
52
+ .describe('Handlebars template for rewriting links to matched files.\n' +
53
+ 'Context: {{link.text}}, {{link.uri}}, {{link.fileName}}, {{link.filePath}}, {{skill.name}}\n' +
54
+ 'Default: "{{link.text}}"'),
55
+ })).optional().default([])
56
+ .describe('Ordered rules evaluated first-match. Each rule matches file paths and specifies a rewrite template.'),
57
+ defaultTemplate: z.string()
58
+ .optional()
59
+ .describe('Handlebars template for non-bundled links that don\'t match any rule (depth-exceeded links).\n' +
60
+ 'Context: {{link.text}}, {{link.uri}}, {{link.fileName}}, {{link.filePath}}, {{skill.name}}\n' +
61
+ 'Default: "{{link.text}}"'),
62
+ }).optional(),
63
+ }).describe('Packaging options for skill distribution');
8
64
  /**
9
65
  * Skill metadata for distribution
10
66
  *
@@ -24,6 +80,13 @@ export const VatSkillMetadataSchema = z
24
80
  .string()
25
81
  .min(1)
26
82
  .describe('Built skill directory path (relative to package root)'),
83
+ ignoreValidationErrors: z
84
+ .record(z.string(), ValidationOverrideSchema)
85
+ .optional()
86
+ .describe('Validation errors to ignore (rule code -> override reason/config)'),
87
+ packagingOptions: PackagingOptionsSchema
88
+ .optional()
89
+ .describe('Packaging configuration options'),
27
90
  })
28
91
  .describe('Claude Skill metadata for distribution');
29
92
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"package-metadata.js","sourceRoot":"","sources":["../src/package-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"package-metadata.js","sourceRoot":"","sources":["../src/package-metadata.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IACpD,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACrD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAC1F,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;CAC1D,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC;AAInE;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,cAAc,EAAE,CAAC;SACd,IAAI,CAAC,CAAC,UAAU,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;SAClD,QAAQ,EAAE;SACV,QAAQ,CACP,gDAAgD;QAChD,oEAAoE;QACpE,8FAA8F;QAC9F,uFAAuF,CACxF;IACH,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,+EAA+E,CAAC;IAC5F,eAAe,EAAE,CAAC;SACf,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;SACnD,QAAQ,EAAE;SACV,QAAQ,CACP,iEAAiE;QACjE,6CAA6C;QAC7C,2BAA2B;QAC3B,8DAA8D;QAC9D,sCAAsC;QACtC,2DAA2D,CAC5D;IACH,2BAA2B,EAAE,CAAC,CAAC,MAAM,CAAC;QACpC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;YACtB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;iBAC1B,QAAQ,CAAC,2DAA2D,CAAC;YACxE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;iBACjB,QAAQ,EAAE;iBACV,QAAQ,CACP,6DAA6D;gBAC7D,8FAA8F;gBAC9F,0BAA0B,CAC3B;SACJ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACvB,QAAQ,CAAC,qGAAqG,CAAC;QAClH,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;aACxB,QAAQ,EAAE;aACV,QAAQ,CACP,gGAAgG;YAChG,8FAA8F;YAC9F,0BAA0B,CAC3B;KACJ,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC,CAAC;AAIxD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,8CAA8C,CAAC;IAC3D,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,iEAAiE,CAAC;IAC9E,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,uDAAuD,CAAC;IACpE,sBAAsB,EAAE,CAAC;SACtB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,wBAAwB,CAAC;SAC5C,QAAQ,EAAE;SACV,QAAQ,CAAC,mEAAmE,CAAC;IAChF,gBAAgB,EAAE,sBAAsB;SACrC,QAAQ,EAAE;SACV,QAAQ,CAAC,iCAAiC,CAAC;CAC/C,CAAC;KACD,QAAQ,CAAC,wCAAwC,CAAC,CAAC;AAItD;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,YAAY,CAAC;IACzB,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,iDAAiD,CAAC;IAC9D,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mEAAmE,CAAC;CACjF,CAAC;KACD,QAAQ,CAAC,qCAAqC,CAAC,CAAC;AAInD;;;;GAIG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC;KAC3C,MAAM,CAAC;IACN,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,oBAAoB,CAAC;IACjC,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,gDAAgD,CAAC;IAC7D,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAChE,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gEAAgE,CAAC;KAC9E,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CAAC,0CAA0C,CAAC;CACxD,CAAC;KACD,QAAQ,CAAC,8CAA8C,CAAC,CAAC;AAI5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,KAAK,CAAC,YAAY,CAAC;SACnB,QAAQ,CAAC,+CAA+C,CAAC;IAC5D,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,cAAc,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;SACrD,QAAQ,CAAC,cAAc,CAAC;IAC3B,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,EAAE;SACV,QAAQ,CAAC,gCAAgC,CAAC;IAC7C,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,sBAAsB,CAAC;SAC7B,QAAQ,EAAE;SACV,QAAQ,CAAC,+BAA+B,CAAC;IAC5C,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,6BAA6B,CAAC;SACpC,QAAQ,EAAE;SACV,QAAQ,CAAC,qBAAqB,CAAC;IAClC,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,gEAAgE,CAAC;CAC9E,CAAC;KACD,QAAQ,CAAC,iDAAiD,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-agent-toolkit/agent-schema",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "JSON Schema definitions and TypeScript types for VAT agent manifest format",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -37,7 +37,7 @@
37
37
  "zod-to-json-schema": "^3.23.5"
38
38
  },
39
39
  "devDependencies": {
40
- "@vibe-agent-toolkit/utils": "0.1.11",
40
+ "@vibe-agent-toolkit/utils": "0.1.13",
41
41
  "tsx": "^4.21.0",
42
42
  "typescript": "^5.9.3",
43
43
  "vitest": "^3.2.4"
@@ -38,6 +38,108 @@
38
38
  "type": "string",
39
39
  "minLength": 1,
40
40
  "description": "Built skill directory path (relative to package root)"
41
+ },
42
+ "ignoreValidationErrors": {
43
+ "type": "object",
44
+ "additionalProperties": {
45
+ "anyOf": [
46
+ {
47
+ "type": "string",
48
+ "minLength": 1,
49
+ "description": "Simple override reason"
50
+ },
51
+ {
52
+ "type": "object",
53
+ "properties": {
54
+ "reason": {
55
+ "type": "string",
56
+ "minLength": 1,
57
+ "description": "Override reason"
58
+ },
59
+ "expires": {
60
+ "type": "string",
61
+ "format": "date-time",
62
+ "description": "Optional expiration date (ISO 8601)"
63
+ }
64
+ },
65
+ "required": [
66
+ "reason"
67
+ ],
68
+ "additionalProperties": false,
69
+ "description": "Extended override with optional expiration"
70
+ }
71
+ ],
72
+ "description": "Validation override (reason or reason + expiration)"
73
+ },
74
+ "description": "Validation errors to ignore (rule code -> override reason/config)"
75
+ },
76
+ "packagingOptions": {
77
+ "type": "object",
78
+ "properties": {
79
+ "resourceNaming": {
80
+ "type": "string",
81
+ "enum": [
82
+ "basename",
83
+ "resource-id",
84
+ "preserve-path"
85
+ ],
86
+ "description": "Strategy for naming packaged resource files:\n - basename: Use original filename only (default, may conflict)\n - resource-id: Flatten path to kebab-case filename (e.g., topics-quickstart-overview.md)\n - preserve-path: Preserve directory structure (e.g., topics/quickstart/overview.md)"
87
+ },
88
+ "stripPrefix": {
89
+ "type": "string",
90
+ "description": "Path prefix to strip before applying naming strategy (e.g., \"knowledge-base\")"
91
+ },
92
+ "linkFollowDepth": {
93
+ "anyOf": [
94
+ {
95
+ "type": "integer",
96
+ "minimum": 0
97
+ },
98
+ {
99
+ "type": "string",
100
+ "const": "full"
101
+ }
102
+ ],
103
+ "description": "How deep to follow markdown links from SKILL.md for bundling:\n 0 = skill file only (no link following)\n 1 = direct links only\n 2 = direct + one transitive level (default, recommended)\n N = N levels of transitive links\n \"full\" = complete transitive closure (use with caution)"
104
+ },
105
+ "excludeReferencesFromBundle": {
106
+ "type": "object",
107
+ "properties": {
108
+ "rules": {
109
+ "type": "array",
110
+ "items": {
111
+ "type": "object",
112
+ "properties": {
113
+ "patterns": {
114
+ "type": "array",
115
+ "items": {
116
+ "type": "string"
117
+ },
118
+ "description": "Glob patterns matched against path relative to skill root"
119
+ },
120
+ "template": {
121
+ "type": "string",
122
+ "description": "Handlebars template for rewriting links to matched files.\nContext: {{link.text}}, {{link.uri}}, {{link.fileName}}, {{link.filePath}}, {{skill.name}}\nDefault: \"{{link.text}}\""
123
+ }
124
+ },
125
+ "required": [
126
+ "patterns"
127
+ ],
128
+ "additionalProperties": false
129
+ },
130
+ "default": [],
131
+ "description": "Ordered rules evaluated first-match. Each rule matches file paths and specifies a rewrite template."
132
+ },
133
+ "defaultTemplate": {
134
+ "type": "string",
135
+ "description": "Handlebars template for non-bundled links that don't match any rule (depth-exceeded links).\nContext: {{link.text}}, {{link.uri}}, {{link.fileName}}, {{link.filePath}}, {{skill.name}}\nDefault: \"{{link.text}}\""
136
+ }
137
+ },
138
+ "additionalProperties": false
139
+ }
140
+ },
141
+ "additionalProperties": false,
142
+ "description": "Packaging configuration options"
41
143
  }
42
144
  },
43
145
  "required": [