@vibe-agent-toolkit/agent-schema 0.1.9 → 0.1.11
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/README.md +30 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/package-metadata.d.ts +190 -0
- package/dist/package-metadata.d.ts.map +1 -0
- package/dist/package-metadata.js +113 -0
- package/dist/package-metadata.js.map +1 -0
- package/package.json +2 -2
- package/schemas/vat-package-metadata.json +139 -0
package/README.md
CHANGED
|
@@ -41,6 +41,7 @@ Available schemas:
|
|
|
41
41
|
- `agent-interface.json` - Input/output interface
|
|
42
42
|
- `tool.json` - Tool definitions
|
|
43
43
|
- `resource-registry.json` - Resource registry
|
|
44
|
+
- `vat-package-metadata.json` - VAT package.json metadata (distribution standard)
|
|
44
45
|
|
|
45
46
|
## Exported Schemas
|
|
46
47
|
|
|
@@ -49,6 +50,7 @@ Available schemas:
|
|
|
49
50
|
- `AgentManifestSchema` - Complete agent.yaml structure
|
|
50
51
|
- `AgentMetadataSchema` - Agent metadata (name, version, etc.)
|
|
51
52
|
- `AgentSpecSchema` - Agent specification (LLM, tools, resources)
|
|
53
|
+
- `VatPackageMetadataSchema` - package.json `vat` field for distribution
|
|
52
54
|
|
|
53
55
|
### Component Schemas
|
|
54
56
|
|
|
@@ -80,7 +82,9 @@ import type {
|
|
|
80
82
|
} from '@vibe-agent-toolkit/agent-schema';
|
|
81
83
|
```
|
|
82
84
|
|
|
83
|
-
## Validation
|
|
85
|
+
## Validation Examples
|
|
86
|
+
|
|
87
|
+
### Validate agent.yaml
|
|
84
88
|
|
|
85
89
|
```typescript
|
|
86
90
|
import { AgentManifestSchema } from '@vibe-agent-toolkit/agent-schema';
|
|
@@ -105,6 +109,31 @@ if (!result.success) {
|
|
|
105
109
|
console.log('✅ Valid agent manifest');
|
|
106
110
|
```
|
|
107
111
|
|
|
112
|
+
### Validate package.json VAT metadata
|
|
113
|
+
|
|
114
|
+
```typescript
|
|
115
|
+
import { VatPackageMetadataSchema } from '@vibe-agent-toolkit/agent-schema';
|
|
116
|
+
import { readFileSync } from 'node:fs';
|
|
117
|
+
|
|
118
|
+
// Load package.json
|
|
119
|
+
const packageJson = JSON.parse(readFileSync('package.json', 'utf-8'));
|
|
120
|
+
|
|
121
|
+
// Validate vat field
|
|
122
|
+
if (packageJson.vat) {
|
|
123
|
+
const result = VatPackageMetadataSchema.safeParse(packageJson.vat);
|
|
124
|
+
|
|
125
|
+
if (!result.success) {
|
|
126
|
+
console.error('Invalid VAT metadata:');
|
|
127
|
+
result.error.issues.forEach(issue => {
|
|
128
|
+
console.error(`- ${issue.path.join('.')}: ${issue.message}`);
|
|
129
|
+
});
|
|
130
|
+
process.exit(1);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
console.log('✅ Valid VAT metadata');
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
108
137
|
## Schema Generation
|
|
109
138
|
|
|
110
139
|
JSON Schemas are automatically generated from Zod schemas during build:
|
package/dist/index.d.ts
CHANGED
|
@@ -12,4 +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
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -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"}
|
|
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"}
|
package/dist/index.js
CHANGED
|
@@ -15,4 +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
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"}
|
|
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"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package metadata schemas for VAT distribution standard
|
|
3
|
+
*
|
|
4
|
+
* Defines the `vat` field structure in package.json for distributing
|
|
5
|
+
* VAT artifacts (skills, agents, pure functions, runtimes).
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
/**
|
|
9
|
+
* Skill metadata for distribution
|
|
10
|
+
*
|
|
11
|
+
* Describes a Claude Skill packaged in this npm package.
|
|
12
|
+
*/
|
|
13
|
+
export declare const VatSkillMetadataSchema: z.ZodObject<{
|
|
14
|
+
name: z.ZodString;
|
|
15
|
+
source: z.ZodString;
|
|
16
|
+
path: z.ZodString;
|
|
17
|
+
}, "strip", z.ZodTypeAny, {
|
|
18
|
+
path: string;
|
|
19
|
+
name: string;
|
|
20
|
+
source: string;
|
|
21
|
+
}, {
|
|
22
|
+
path: string;
|
|
23
|
+
name: string;
|
|
24
|
+
source: string;
|
|
25
|
+
}>;
|
|
26
|
+
export type VatSkillMetadata = z.infer<typeof VatSkillMetadataSchema>;
|
|
27
|
+
/**
|
|
28
|
+
* Agent metadata for distribution
|
|
29
|
+
*
|
|
30
|
+
* Describes a VAT agent (agent.yaml based) packaged in this npm package.
|
|
31
|
+
*/
|
|
32
|
+
export declare const VatAgentMetadataSchema: z.ZodObject<{
|
|
33
|
+
name: z.ZodString;
|
|
34
|
+
path: z.ZodString;
|
|
35
|
+
type: z.ZodOptional<z.ZodString>;
|
|
36
|
+
}, "strip", z.ZodTypeAny, {
|
|
37
|
+
path: string;
|
|
38
|
+
name: string;
|
|
39
|
+
type?: string | undefined;
|
|
40
|
+
}, {
|
|
41
|
+
path: string;
|
|
42
|
+
name: string;
|
|
43
|
+
type?: string | undefined;
|
|
44
|
+
}>;
|
|
45
|
+
export type VatAgentMetadata = z.infer<typeof VatAgentMetadataSchema>;
|
|
46
|
+
/**
|
|
47
|
+
* Pure function tool metadata for distribution
|
|
48
|
+
*
|
|
49
|
+
* Describes a pure function tool exposed via MCP/CLI.
|
|
50
|
+
*/
|
|
51
|
+
export declare const VatPureFunctionMetadataSchema: z.ZodObject<{
|
|
52
|
+
name: z.ZodString;
|
|
53
|
+
path: z.ZodString;
|
|
54
|
+
exports: z.ZodOptional<z.ZodObject<{
|
|
55
|
+
mcp: z.ZodOptional<z.ZodString>;
|
|
56
|
+
cli: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, "strip", z.ZodTypeAny, {
|
|
58
|
+
mcp?: string | undefined;
|
|
59
|
+
cli?: string | undefined;
|
|
60
|
+
}, {
|
|
61
|
+
mcp?: string | undefined;
|
|
62
|
+
cli?: string | undefined;
|
|
63
|
+
}>>;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
path: string;
|
|
66
|
+
name: string;
|
|
67
|
+
exports?: {
|
|
68
|
+
mcp?: string | undefined;
|
|
69
|
+
cli?: string | undefined;
|
|
70
|
+
} | undefined;
|
|
71
|
+
}, {
|
|
72
|
+
path: string;
|
|
73
|
+
name: string;
|
|
74
|
+
exports?: {
|
|
75
|
+
mcp?: string | undefined;
|
|
76
|
+
cli?: string | undefined;
|
|
77
|
+
} | undefined;
|
|
78
|
+
}>;
|
|
79
|
+
export type VatPureFunctionMetadata = z.infer<typeof VatPureFunctionMetadataSchema>;
|
|
80
|
+
/**
|
|
81
|
+
* VAT package metadata (package.json "vat" field)
|
|
82
|
+
*
|
|
83
|
+
* Complete metadata for a VAT package that can contain skills, agents,
|
|
84
|
+
* pure functions, and runtime adapters.
|
|
85
|
+
*/
|
|
86
|
+
export declare const VatPackageMetadataSchema: z.ZodObject<{
|
|
87
|
+
version: z.ZodString;
|
|
88
|
+
type: z.ZodEnum<["agent-bundle", "skill", "runtime", "toolkit"]>;
|
|
89
|
+
skills: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
90
|
+
name: z.ZodString;
|
|
91
|
+
source: z.ZodString;
|
|
92
|
+
path: z.ZodString;
|
|
93
|
+
}, "strip", z.ZodTypeAny, {
|
|
94
|
+
path: string;
|
|
95
|
+
name: string;
|
|
96
|
+
source: string;
|
|
97
|
+
}, {
|
|
98
|
+
path: string;
|
|
99
|
+
name: string;
|
|
100
|
+
source: string;
|
|
101
|
+
}>, "many">>;
|
|
102
|
+
agents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
103
|
+
name: z.ZodString;
|
|
104
|
+
path: z.ZodString;
|
|
105
|
+
type: z.ZodOptional<z.ZodString>;
|
|
106
|
+
}, "strip", z.ZodTypeAny, {
|
|
107
|
+
path: string;
|
|
108
|
+
name: string;
|
|
109
|
+
type?: string | undefined;
|
|
110
|
+
}, {
|
|
111
|
+
path: string;
|
|
112
|
+
name: string;
|
|
113
|
+
type?: string | undefined;
|
|
114
|
+
}>, "many">>;
|
|
115
|
+
pureFunctions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
116
|
+
name: z.ZodString;
|
|
117
|
+
path: z.ZodString;
|
|
118
|
+
exports: z.ZodOptional<z.ZodObject<{
|
|
119
|
+
mcp: z.ZodOptional<z.ZodString>;
|
|
120
|
+
cli: z.ZodOptional<z.ZodString>;
|
|
121
|
+
}, "strip", z.ZodTypeAny, {
|
|
122
|
+
mcp?: string | undefined;
|
|
123
|
+
cli?: string | undefined;
|
|
124
|
+
}, {
|
|
125
|
+
mcp?: string | undefined;
|
|
126
|
+
cli?: string | undefined;
|
|
127
|
+
}>>;
|
|
128
|
+
}, "strip", z.ZodTypeAny, {
|
|
129
|
+
path: string;
|
|
130
|
+
name: string;
|
|
131
|
+
exports?: {
|
|
132
|
+
mcp?: string | undefined;
|
|
133
|
+
cli?: string | undefined;
|
|
134
|
+
} | undefined;
|
|
135
|
+
}, {
|
|
136
|
+
path: string;
|
|
137
|
+
name: string;
|
|
138
|
+
exports?: {
|
|
139
|
+
mcp?: string | undefined;
|
|
140
|
+
cli?: string | undefined;
|
|
141
|
+
} | undefined;
|
|
142
|
+
}>, "many">>;
|
|
143
|
+
runtimes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
144
|
+
}, "strip", z.ZodTypeAny, {
|
|
145
|
+
type: "agent-bundle" | "skill" | "runtime" | "toolkit";
|
|
146
|
+
version: string;
|
|
147
|
+
skills?: {
|
|
148
|
+
path: string;
|
|
149
|
+
name: string;
|
|
150
|
+
source: string;
|
|
151
|
+
}[] | undefined;
|
|
152
|
+
agents?: {
|
|
153
|
+
path: string;
|
|
154
|
+
name: string;
|
|
155
|
+
type?: string | undefined;
|
|
156
|
+
}[] | undefined;
|
|
157
|
+
pureFunctions?: {
|
|
158
|
+
path: string;
|
|
159
|
+
name: string;
|
|
160
|
+
exports?: {
|
|
161
|
+
mcp?: string | undefined;
|
|
162
|
+
cli?: string | undefined;
|
|
163
|
+
} | undefined;
|
|
164
|
+
}[] | undefined;
|
|
165
|
+
runtimes?: string[] | undefined;
|
|
166
|
+
}, {
|
|
167
|
+
type: "agent-bundle" | "skill" | "runtime" | "toolkit";
|
|
168
|
+
version: string;
|
|
169
|
+
skills?: {
|
|
170
|
+
path: string;
|
|
171
|
+
name: string;
|
|
172
|
+
source: string;
|
|
173
|
+
}[] | undefined;
|
|
174
|
+
agents?: {
|
|
175
|
+
path: string;
|
|
176
|
+
name: string;
|
|
177
|
+
type?: string | undefined;
|
|
178
|
+
}[] | undefined;
|
|
179
|
+
pureFunctions?: {
|
|
180
|
+
path: string;
|
|
181
|
+
name: string;
|
|
182
|
+
exports?: {
|
|
183
|
+
mcp?: string | undefined;
|
|
184
|
+
cli?: string | undefined;
|
|
185
|
+
} | undefined;
|
|
186
|
+
}[] | undefined;
|
|
187
|
+
runtimes?: string[] | undefined;
|
|
188
|
+
}>;
|
|
189
|
+
export type VatPackageMetadata = z.infer<typeof VatPackageMetadataSchema>;
|
|
190
|
+
//# sourceMappingURL=package-metadata.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Package metadata schemas for VAT distribution standard
|
|
3
|
+
*
|
|
4
|
+
* Defines the `vat` field structure in package.json for distributing
|
|
5
|
+
* VAT artifacts (skills, agents, pure functions, runtimes).
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
/**
|
|
9
|
+
* Skill metadata for distribution
|
|
10
|
+
*
|
|
11
|
+
* Describes a Claude Skill packaged in this npm package.
|
|
12
|
+
*/
|
|
13
|
+
export const VatSkillMetadataSchema = z
|
|
14
|
+
.object({
|
|
15
|
+
name: z
|
|
16
|
+
.string()
|
|
17
|
+
.min(1)
|
|
18
|
+
.describe('Skill name (used for installation directory)'),
|
|
19
|
+
source: z
|
|
20
|
+
.string()
|
|
21
|
+
.min(1)
|
|
22
|
+
.describe('Source SKILL.md path (relative to package root, for rebuilding)'),
|
|
23
|
+
path: z
|
|
24
|
+
.string()
|
|
25
|
+
.min(1)
|
|
26
|
+
.describe('Built skill directory path (relative to package root)'),
|
|
27
|
+
})
|
|
28
|
+
.describe('Claude Skill metadata for distribution');
|
|
29
|
+
/**
|
|
30
|
+
* Agent metadata for distribution
|
|
31
|
+
*
|
|
32
|
+
* Describes a VAT agent (agent.yaml based) packaged in this npm package.
|
|
33
|
+
*/
|
|
34
|
+
export const VatAgentMetadataSchema = z
|
|
35
|
+
.object({
|
|
36
|
+
name: z
|
|
37
|
+
.string()
|
|
38
|
+
.min(1)
|
|
39
|
+
.describe('Agent name'),
|
|
40
|
+
path: z
|
|
41
|
+
.string()
|
|
42
|
+
.min(1)
|
|
43
|
+
.describe('Agent directory path (relative to package root)'),
|
|
44
|
+
type: z
|
|
45
|
+
.string()
|
|
46
|
+
.optional()
|
|
47
|
+
.describe('Agent archetype (optional, e.g., "llm-analyzer", "pure-function")'),
|
|
48
|
+
})
|
|
49
|
+
.describe('VAT agent metadata for distribution');
|
|
50
|
+
/**
|
|
51
|
+
* Pure function tool metadata for distribution
|
|
52
|
+
*
|
|
53
|
+
* Describes a pure function tool exposed via MCP/CLI.
|
|
54
|
+
*/
|
|
55
|
+
export const VatPureFunctionMetadataSchema = z
|
|
56
|
+
.object({
|
|
57
|
+
name: z
|
|
58
|
+
.string()
|
|
59
|
+
.min(1)
|
|
60
|
+
.describe('Pure function name'),
|
|
61
|
+
path: z
|
|
62
|
+
.string()
|
|
63
|
+
.min(1)
|
|
64
|
+
.describe('Implementation path (relative to package root)'),
|
|
65
|
+
exports: z
|
|
66
|
+
.object({
|
|
67
|
+
mcp: z
|
|
68
|
+
.string()
|
|
69
|
+
.optional()
|
|
70
|
+
.describe('MCP server export path (relative to package root)'),
|
|
71
|
+
cli: z
|
|
72
|
+
.string()
|
|
73
|
+
.optional()
|
|
74
|
+
.describe('CLI invocation pattern (e.g., "vat-cat-agents haiku-validate")'),
|
|
75
|
+
})
|
|
76
|
+
.optional()
|
|
77
|
+
.describe('Export mechanisms for this pure function'),
|
|
78
|
+
})
|
|
79
|
+
.describe('Pure function tool metadata for distribution');
|
|
80
|
+
/**
|
|
81
|
+
* VAT package metadata (package.json "vat" field)
|
|
82
|
+
*
|
|
83
|
+
* Complete metadata for a VAT package that can contain skills, agents,
|
|
84
|
+
* pure functions, and runtime adapters.
|
|
85
|
+
*/
|
|
86
|
+
export const VatPackageMetadataSchema = z
|
|
87
|
+
.object({
|
|
88
|
+
version: z
|
|
89
|
+
.string()
|
|
90
|
+
.regex(/^\d+\.\d+$/)
|
|
91
|
+
.describe('VAT metadata schema version (currently "1.0")'),
|
|
92
|
+
type: z
|
|
93
|
+
.enum(['agent-bundle', 'skill', 'runtime', 'toolkit'])
|
|
94
|
+
.describe('Package type'),
|
|
95
|
+
skills: z
|
|
96
|
+
.array(VatSkillMetadataSchema)
|
|
97
|
+
.optional()
|
|
98
|
+
.describe('Claude Skills for distribution'),
|
|
99
|
+
agents: z
|
|
100
|
+
.array(VatAgentMetadataSchema)
|
|
101
|
+
.optional()
|
|
102
|
+
.describe('VAT agents (agent.yaml based)'),
|
|
103
|
+
pureFunctions: z
|
|
104
|
+
.array(VatPureFunctionMetadataSchema)
|
|
105
|
+
.optional()
|
|
106
|
+
.describe('Pure function tools'),
|
|
107
|
+
runtimes: z
|
|
108
|
+
.array(z.string())
|
|
109
|
+
.optional()
|
|
110
|
+
.describe('Runtime adapters provided (e.g., "vercel-ai-sdk", "langchain")'),
|
|
111
|
+
})
|
|
112
|
+
.describe('VAT package metadata (package.json "vat" field)');
|
|
113
|
+
//# sourceMappingURL=package-metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-metadata.js","sourceRoot":"","sources":["../src/package-metadata.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-agent-toolkit/agent-schema",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
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.
|
|
40
|
+
"@vibe-agent-toolkit/utils": "0.1.11",
|
|
41
41
|
"tsx": "^4.21.0",
|
|
42
42
|
"typescript": "^5.9.3",
|
|
43
43
|
"vitest": "^3.2.4"
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/vat-package-metadata",
|
|
3
|
+
"definitions": {
|
|
4
|
+
"vat-package-metadata": {
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"version": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"pattern": "^\\d+\\.\\d+$",
|
|
10
|
+
"description": "VAT metadata schema version (currently \"1.0\")"
|
|
11
|
+
},
|
|
12
|
+
"type": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"enum": [
|
|
15
|
+
"agent-bundle",
|
|
16
|
+
"skill",
|
|
17
|
+
"runtime",
|
|
18
|
+
"toolkit"
|
|
19
|
+
],
|
|
20
|
+
"description": "Package type"
|
|
21
|
+
},
|
|
22
|
+
"skills": {
|
|
23
|
+
"type": "array",
|
|
24
|
+
"items": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"properties": {
|
|
27
|
+
"name": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1,
|
|
30
|
+
"description": "Skill name (used for installation directory)"
|
|
31
|
+
},
|
|
32
|
+
"source": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"minLength": 1,
|
|
35
|
+
"description": "Source SKILL.md path (relative to package root, for rebuilding)"
|
|
36
|
+
},
|
|
37
|
+
"path": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"minLength": 1,
|
|
40
|
+
"description": "Built skill directory path (relative to package root)"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"required": [
|
|
44
|
+
"name",
|
|
45
|
+
"source",
|
|
46
|
+
"path"
|
|
47
|
+
],
|
|
48
|
+
"additionalProperties": false,
|
|
49
|
+
"description": "Claude Skill metadata for distribution"
|
|
50
|
+
},
|
|
51
|
+
"description": "Claude Skills for distribution"
|
|
52
|
+
},
|
|
53
|
+
"agents": {
|
|
54
|
+
"type": "array",
|
|
55
|
+
"items": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"properties": {
|
|
58
|
+
"name": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"minLength": 1,
|
|
61
|
+
"description": "Agent name"
|
|
62
|
+
},
|
|
63
|
+
"path": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"minLength": 1,
|
|
66
|
+
"description": "Agent directory path (relative to package root)"
|
|
67
|
+
},
|
|
68
|
+
"type": {
|
|
69
|
+
"type": "string",
|
|
70
|
+
"description": "Agent archetype (optional, e.g., \"llm-analyzer\", \"pure-function\")"
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"required": [
|
|
74
|
+
"name",
|
|
75
|
+
"path"
|
|
76
|
+
],
|
|
77
|
+
"additionalProperties": false,
|
|
78
|
+
"description": "VAT agent metadata for distribution"
|
|
79
|
+
},
|
|
80
|
+
"description": "VAT agents (agent.yaml based)"
|
|
81
|
+
},
|
|
82
|
+
"pureFunctions": {
|
|
83
|
+
"type": "array",
|
|
84
|
+
"items": {
|
|
85
|
+
"type": "object",
|
|
86
|
+
"properties": {
|
|
87
|
+
"name": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"minLength": 1,
|
|
90
|
+
"description": "Pure function name"
|
|
91
|
+
},
|
|
92
|
+
"path": {
|
|
93
|
+
"type": "string",
|
|
94
|
+
"minLength": 1,
|
|
95
|
+
"description": "Implementation path (relative to package root)"
|
|
96
|
+
},
|
|
97
|
+
"exports": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"properties": {
|
|
100
|
+
"mcp": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"description": "MCP server export path (relative to package root)"
|
|
103
|
+
},
|
|
104
|
+
"cli": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"description": "CLI invocation pattern (e.g., \"vat-cat-agents haiku-validate\")"
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"additionalProperties": false,
|
|
110
|
+
"description": "Export mechanisms for this pure function"
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"required": [
|
|
114
|
+
"name",
|
|
115
|
+
"path"
|
|
116
|
+
],
|
|
117
|
+
"additionalProperties": false,
|
|
118
|
+
"description": "Pure function tool metadata for distribution"
|
|
119
|
+
},
|
|
120
|
+
"description": "Pure function tools"
|
|
121
|
+
},
|
|
122
|
+
"runtimes": {
|
|
123
|
+
"type": "array",
|
|
124
|
+
"items": {
|
|
125
|
+
"type": "string"
|
|
126
|
+
},
|
|
127
|
+
"description": "Runtime adapters provided (e.g., \"vercel-ai-sdk\", \"langchain\")"
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
"required": [
|
|
131
|
+
"version",
|
|
132
|
+
"type"
|
|
133
|
+
],
|
|
134
|
+
"additionalProperties": false,
|
|
135
|
+
"description": "VAT package metadata (package.json \"vat\" field)"
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
139
|
+
}
|