@acidicsoil/portable-capabilities 0.1.0 → 0.1.2

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,305 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://portable-capabilities.dev/schemas/runtime-profile/1.0",
4
+ "type": "object",
5
+ "additionalProperties": false,
6
+ "required": [
7
+ "schemaVersion",
8
+ "id",
9
+ "version",
10
+ "nativeRoot",
11
+ "supportedPrimitives",
12
+ "unsupportedPrimitives",
13
+ "capabilities",
14
+ "limitations",
15
+ "limits",
16
+ "permissionModel",
17
+ "provenance",
18
+ "compatibility",
19
+ "fallbacks"
20
+ ],
21
+ "properties": {
22
+ "schemaVersion": {
23
+ "const": "1.0"
24
+ },
25
+ "id": {
26
+ "enum": [
27
+ "reference",
28
+ "oh-my-pi",
29
+ "opencode",
30
+ "pi",
31
+ "claude-code",
32
+ "codex",
33
+ "antigravity",
34
+ "dcode"
35
+ ]
36
+ },
37
+ "version": {
38
+ "type": "string",
39
+ "pattern": "^\\d+\\.\\d+\\.\\d+$"
40
+ },
41
+ "nativeRoot": {
42
+ "type": "string",
43
+ "minLength": 1
44
+ },
45
+ "supportedPrimitives": {
46
+ "type": "array",
47
+ "uniqueItems": true,
48
+ "items": {
49
+ "enum": ["skill", "command", "agent", "workflow", "rule", "extension", "memory"]
50
+ }
51
+ },
52
+ "unsupportedPrimitives": {
53
+ "type": "array",
54
+ "uniqueItems": true,
55
+ "items": {
56
+ "enum": ["skill", "command", "agent", "workflow", "rule", "extension", "memory"]
57
+ }
58
+ },
59
+ "capabilities": {
60
+ "type": "object",
61
+ "additionalProperties": {
62
+ "type": "boolean"
63
+ }
64
+ },
65
+ "limitations": {
66
+ "type": "array",
67
+ "items": {
68
+ "type": "string",
69
+ "minLength": 1
70
+ }
71
+ },
72
+ "limits": {
73
+ "type": "object",
74
+ "additionalProperties": false,
75
+ "required": ["maxInitialBytes", "maxResourceBytes"],
76
+ "properties": {
77
+ "maxInitialBytes": {
78
+ "type": "integer",
79
+ "minimum": 1
80
+ },
81
+ "maxResourceBytes": {
82
+ "type": "integer",
83
+ "minimum": 1
84
+ }
85
+ }
86
+ },
87
+ "permissionModel": {
88
+ "const": "read-only-default"
89
+ },
90
+ "provenance": {
91
+ "type": "object",
92
+ "additionalProperties": false,
93
+ "required": ["sources", "reviewedAt", "reviewBy", "reviewer"],
94
+ "properties": {
95
+ "sources": {
96
+ "type": "array",
97
+ "minItems": 1,
98
+ "items": {
99
+ "type": "string"
100
+ }
101
+ },
102
+ "reviewedAt": {
103
+ "type": "string",
104
+ "format": "date"
105
+ },
106
+ "reviewBy": {
107
+ "type": "string",
108
+ "format": "date"
109
+ },
110
+ "reviewer": {
111
+ "type": "string",
112
+ "minLength": 1
113
+ }
114
+ }
115
+ },
116
+ "fallbacks": {
117
+ "type": "object",
118
+ "additionalProperties": {
119
+ "type": "string",
120
+ "minLength": 1
121
+ }
122
+ },
123
+ "compatibility": {
124
+ "type": "object",
125
+ "additionalProperties": false,
126
+ "required": [
127
+ "releaseObservedAt",
128
+ "releaseSource",
129
+ "latestPublishedVersion",
130
+ "minimumSupportedVersion",
131
+ "maximumKnownCompatibleVersion",
132
+ "maximumKnownCompatibleRange",
133
+ "testedVersions",
134
+ "outcome",
135
+ "unknownVersionBehavior",
136
+ "harness",
137
+ "reviewedAt",
138
+ "expiresAt",
139
+ "approval"
140
+ ],
141
+ "properties": {
142
+ "minimumSupportedVersion": {
143
+ "type": ["string", "null"],
144
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]+)?$"
145
+ },
146
+ "testedVersions": {
147
+ "type": "array",
148
+ "items": {
149
+ "type": "object",
150
+ "additionalProperties": false,
151
+ "required": ["version", "testedAt", "platform", "executable", "evidence"],
152
+ "properties": {
153
+ "version": {
154
+ "type": "string",
155
+ "minLength": 1
156
+ },
157
+ "testedAt": {
158
+ "type": "string",
159
+ "format": "date"
160
+ },
161
+ "platform": {
162
+ "type": "string",
163
+ "minLength": 1
164
+ },
165
+ "executable": {
166
+ "type": "string",
167
+ "minLength": 1
168
+ },
169
+ "evidence": {
170
+ "type": "string",
171
+ "minLength": 1
172
+ }
173
+ }
174
+ }
175
+ },
176
+ "outcome": {
177
+ "enum": ["supported", "unsupported", "unavailable", "unknown-version"]
178
+ },
179
+ "unknownVersionBehavior": {
180
+ "enum": ["fail", "warn-with-exception"]
181
+ },
182
+ "harness": {
183
+ "type": "object",
184
+ "additionalProperties": false,
185
+ "required": ["identity", "availability", "evidence"],
186
+ "properties": {
187
+ "identity": {
188
+ "type": "string",
189
+ "minLength": 1
190
+ },
191
+ "availability": {
192
+ "enum": ["available", "unavailable"]
193
+ },
194
+ "evidence": {
195
+ "type": "string",
196
+ "minLength": 1
197
+ }
198
+ }
199
+ },
200
+ "reviewedAt": {
201
+ "type": "string",
202
+ "format": "date"
203
+ },
204
+ "expiresAt": {
205
+ "type": "string",
206
+ "format": "date"
207
+ },
208
+ "approval": {
209
+ "type": "object",
210
+ "additionalProperties": false,
211
+ "required": ["status", "owner"],
212
+ "properties": {
213
+ "status": {
214
+ "enum": ["pending", "approved", "rejected"]
215
+ },
216
+ "owner": {
217
+ "type": "string",
218
+ "minLength": 1
219
+ },
220
+ "approvedAt": {
221
+ "type": "string",
222
+ "format": "date"
223
+ }
224
+ }
225
+ },
226
+ "latestPublishedVersion": {
227
+ "type": "string",
228
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]+)?$"
229
+ },
230
+ "releaseSource": {
231
+ "type": "string",
232
+ "pattern": "^https://.+"
233
+ },
234
+ "releaseObservedAt": {
235
+ "type": "string",
236
+ "format": "date"
237
+ },
238
+ "maximumKnownCompatibleVersion": {
239
+ "type": ["string", "null"],
240
+ "pattern": "^\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]+)?$"
241
+ },
242
+ "maximumKnownCompatibleRange": {
243
+ "type": ["string", "null"],
244
+ "pattern": "^>=\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]+)? <=\\d+\\.\\d+\\.\\d+(?:[-+][0-9A-Za-z.-]+)?$"
245
+ }
246
+ },
247
+ "allOf": [
248
+ {
249
+ "if": {
250
+ "properties": {
251
+ "outcome": {
252
+ "const": "supported"
253
+ }
254
+ }
255
+ },
256
+ "then": {
257
+ "properties": {
258
+ "harness": {
259
+ "properties": {
260
+ "availability": {
261
+ "const": "available"
262
+ }
263
+ },
264
+ "type": "object"
265
+ },
266
+ "approval": {
267
+ "properties": {
268
+ "status": {
269
+ "const": "approved"
270
+ },
271
+ "approvedAt": {
272
+ "type": "string",
273
+ "format": "date"
274
+ }
275
+ },
276
+ "required": ["approvedAt"],
277
+ "type": "object"
278
+ },
279
+ "testedVersions": {
280
+ "minItems": 1,
281
+ "type": "array"
282
+ }
283
+ }
284
+ }
285
+ },
286
+ {
287
+ "if": {
288
+ "properties": {
289
+ "outcome": {
290
+ "const": "unknown-version"
291
+ }
292
+ }
293
+ },
294
+ "then": {
295
+ "properties": {
296
+ "minimumSupportedVersion": {
297
+ "type": "null"
298
+ }
299
+ }
300
+ }
301
+ }
302
+ ]
303
+ }
304
+ }
305
+ }