@oprt/manifest 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,341 @@
1
+ {
2
+ "$ref": "#/definitions/Manifest",
3
+ "definitions": {
4
+ "Manifest": {
5
+ "type": "object",
6
+ "properties": {
7
+ "version": {
8
+ "type": "string",
9
+ "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
10
+ },
11
+ "components": {
12
+ "type": "object",
13
+ "additionalProperties": {
14
+ "type": "object",
15
+ "properties": {
16
+ "description": {
17
+ "type": "string",
18
+ "minLength": 1
19
+ },
20
+ "props": {
21
+ "type": "object",
22
+ "additionalProperties": {
23
+ "anyOf": [
24
+ {
25
+ "type": "object",
26
+ "properties": {
27
+ "type": {
28
+ "type": "string",
29
+ "const": "enum"
30
+ },
31
+ "values": {
32
+ "type": "array",
33
+ "items": {
34
+ "type": "string"
35
+ },
36
+ "minItems": 1
37
+ },
38
+ "default": {
39
+ "type": "string"
40
+ },
41
+ "required": {
42
+ "type": "boolean"
43
+ },
44
+ "description": {
45
+ "type": "string"
46
+ }
47
+ },
48
+ "required": [
49
+ "type",
50
+ "values"
51
+ ],
52
+ "additionalProperties": false
53
+ },
54
+ {
55
+ "type": "object",
56
+ "properties": {
57
+ "type": {
58
+ "type": "string",
59
+ "const": "boolean"
60
+ },
61
+ "default": {
62
+ "type": "boolean"
63
+ },
64
+ "required": {
65
+ "type": "boolean"
66
+ },
67
+ "description": {
68
+ "type": "string"
69
+ }
70
+ },
71
+ "required": [
72
+ "type"
73
+ ],
74
+ "additionalProperties": false
75
+ },
76
+ {
77
+ "type": "object",
78
+ "properties": {
79
+ "type": {
80
+ "type": "string",
81
+ "const": "string"
82
+ },
83
+ "default": {
84
+ "type": "string"
85
+ },
86
+ "required": {
87
+ "type": "boolean"
88
+ },
89
+ "description": {
90
+ "type": "string"
91
+ }
92
+ },
93
+ "required": [
94
+ "type"
95
+ ],
96
+ "additionalProperties": false
97
+ },
98
+ {
99
+ "type": "object",
100
+ "properties": {
101
+ "type": {
102
+ "type": "string",
103
+ "const": "number"
104
+ },
105
+ "default": {
106
+ "type": "number"
107
+ },
108
+ "required": {
109
+ "type": "boolean"
110
+ },
111
+ "description": {
112
+ "type": "string"
113
+ }
114
+ },
115
+ "required": [
116
+ "type"
117
+ ],
118
+ "additionalProperties": false
119
+ },
120
+ {
121
+ "type": "object",
122
+ "properties": {
123
+ "type": {
124
+ "type": "string",
125
+ "const": "function"
126
+ },
127
+ "required": {
128
+ "type": "boolean"
129
+ },
130
+ "description": {
131
+ "type": "string"
132
+ }
133
+ },
134
+ "required": [
135
+ "type"
136
+ ],
137
+ "additionalProperties": false
138
+ },
139
+ {
140
+ "type": "object",
141
+ "properties": {
142
+ "type": {
143
+ "type": "string",
144
+ "const": "array"
145
+ },
146
+ "items": {
147
+ "type": "object",
148
+ "additionalProperties": {}
149
+ },
150
+ "required": {
151
+ "type": "boolean"
152
+ },
153
+ "description": {
154
+ "type": "string"
155
+ }
156
+ },
157
+ "required": [
158
+ "type"
159
+ ],
160
+ "additionalProperties": false
161
+ },
162
+ {
163
+ "type": "object",
164
+ "properties": {
165
+ "type": {
166
+ "type": "string",
167
+ "const": "node"
168
+ },
169
+ "required": {
170
+ "type": "boolean"
171
+ },
172
+ "description": {
173
+ "type": "string"
174
+ }
175
+ },
176
+ "required": [
177
+ "type"
178
+ ],
179
+ "additionalProperties": false
180
+ },
181
+ {
182
+ "type": "object",
183
+ "properties": {
184
+ "type": {
185
+ "type": "string",
186
+ "const": "union"
187
+ },
188
+ "types": {
189
+ "type": "array",
190
+ "items": {
191
+ "type": "string",
192
+ "enum": [
193
+ "boolean",
194
+ "string",
195
+ "number",
196
+ "function",
197
+ "array",
198
+ "node"
199
+ ]
200
+ },
201
+ "minItems": 2
202
+ },
203
+ "required": {
204
+ "type": "boolean"
205
+ },
206
+ "description": {
207
+ "type": "string"
208
+ }
209
+ },
210
+ "required": [
211
+ "type",
212
+ "types"
213
+ ],
214
+ "additionalProperties": false
215
+ }
216
+ ]
217
+ }
218
+ },
219
+ "slots": {
220
+ "type": "object",
221
+ "additionalProperties": {
222
+ "type": "object",
223
+ "properties": {
224
+ "type": {
225
+ "type": "string"
226
+ },
227
+ "required": {
228
+ "type": "boolean"
229
+ }
230
+ },
231
+ "required": [
232
+ "type"
233
+ ],
234
+ "additionalProperties": false
235
+ }
236
+ },
237
+ "composable_with": {
238
+ "type": "array",
239
+ "items": {
240
+ "type": "string"
241
+ }
242
+ },
243
+ "never_inside": {
244
+ "type": "array",
245
+ "items": {
246
+ "type": "string"
247
+ }
248
+ },
249
+ "example": {
250
+ "type": "string",
251
+ "minLength": 1
252
+ }
253
+ },
254
+ "required": [
255
+ "description",
256
+ "props",
257
+ "example"
258
+ ],
259
+ "additionalProperties": false
260
+ }
261
+ },
262
+ "composition_rules": {
263
+ "type": "object",
264
+ "additionalProperties": {
265
+ "type": "object",
266
+ "properties": {
267
+ "allowed_children": {
268
+ "type": "array",
269
+ "items": {
270
+ "type": "string"
271
+ }
272
+ },
273
+ "children": {
274
+ "type": "object",
275
+ "additionalProperties": {
276
+ "$ref": "#/definitions/Manifest/properties/composition_rules/additionalProperties"
277
+ }
278
+ }
279
+ },
280
+ "required": [
281
+ "allowed_children"
282
+ ],
283
+ "additionalProperties": false
284
+ }
285
+ },
286
+ "patterns": {
287
+ "type": "object",
288
+ "additionalProperties": {
289
+ "type": "object",
290
+ "properties": {
291
+ "description": {
292
+ "type": "string",
293
+ "minLength": 1
294
+ },
295
+ "composed_of": {
296
+ "type": "array",
297
+ "items": {
298
+ "type": "string"
299
+ },
300
+ "minItems": 1
301
+ },
302
+ "layout": {
303
+ "type": "string",
304
+ "minLength": 1
305
+ },
306
+ "files": {
307
+ "type": "object",
308
+ "additionalProperties": {
309
+ "type": "string",
310
+ "minLength": 1
311
+ },
312
+ "propertyNames": {
313
+ "pattern": "^(?:[A-Za-z0-9_-]+\\/)*[A-Za-z0-9_-]+\\.(?:tsx|ts)$"
314
+ }
315
+ },
316
+ "dependencies": {
317
+ "type": "array",
318
+ "items": {
319
+ "type": "string",
320
+ "minLength": 1
321
+ }
322
+ }
323
+ },
324
+ "required": [
325
+ "description",
326
+ "composed_of",
327
+ "layout"
328
+ ],
329
+ "additionalProperties": false
330
+ }
331
+ }
332
+ },
333
+ "required": [
334
+ "version",
335
+ "components"
336
+ ],
337
+ "additionalProperties": false
338
+ }
339
+ },
340
+ "$schema": "http://json-schema.org/draft-07/schema#"
341
+ }
package/package.json CHANGED
@@ -1,6 +1,64 @@
1
1
  {
2
2
  "name": "@oprt/manifest",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.0",
4
+ "description": "OPERATOR's machine-readable contract for coding agents and tools: every component's props, option values and nesting rules, usage guidance and six complete recipes, with Zod schemas to validate it.",
5
+ "keywords": [
6
+ "design-system",
7
+ "manifest",
8
+ "coding-agents",
9
+ "ai",
10
+ "llm",
11
+ "json-schema",
12
+ "zod",
13
+ "components"
14
+ ],
15
+ "homepage": "https://oprt.dev/docs/agents",
16
+ "type": "module",
17
+ "main": "./dist/index.cjs",
18
+ "module": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "import": {
23
+ "types": "./dist/index.d.ts",
24
+ "default": "./dist/index.js"
25
+ },
26
+ "require": {
27
+ "types": "./dist/index.d.cts",
28
+ "default": "./dist/index.cjs"
29
+ }
30
+ },
31
+ "./manifest.json": "./dist/manifest.json",
32
+ "./components.json": "./dist/components.json",
33
+ "./schema.json": "./dist/manifest.schema.json",
34
+ "./agent-prompt.md": "./agent-prompt.md",
35
+ "./guidance.json": "./dist/guidance.json"
36
+ },
37
+ "files": [
38
+ "dist",
39
+ "agent-prompt.md"
40
+ ],
41
+ "sideEffects": false,
42
+ "dependencies": {
43
+ "zod": "^3.23.8"
44
+ },
45
+ "devDependencies": {
46
+ "tsup": "^8.3.0",
47
+ "typescript": "^5.6.3",
48
+ "vitest": "^2.1.3",
49
+ "zod-to-json-schema": "^3.23.5"
50
+ },
51
+ "license": "MIT",
52
+ "publishConfig": {
53
+ "access": "public"
54
+ },
55
+ "scripts": {
56
+ "build": "tsup src/index.ts --format esm,cjs --dts --clean",
57
+ "aggregate": "node scripts/aggregate.mjs",
58
+ "test": "vitest run",
59
+ "typecheck": "tsc --noEmit",
60
+ "lint": "eslint src scripts",
61
+ "verify": "node scripts/verify.mjs",
62
+ "sync-check": "node scripts/sync-check.mjs"
63
+ }
6
64
  }