workspai 0.74.0 → 0.75.1

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.
Files changed (140) hide show
  1. package/contracts/agent-framework-capabilities.v1.json +454 -0
  2. package/contracts/cli-runtime-command-inventory.v1.snapshot.json +166 -0
  3. package/contracts/create-planner-capabilities.v1.json +24 -0
  4. package/contracts/extension-cli-compatibility.v1.json +6 -0
  5. package/contracts/published-contract-catalog.v1.json +30 -0
  6. package/contracts/runtime-command-surface.v1.json +71 -1
  7. package/contracts/workspace-intelligence/agent-framework-adapter-manifest.v1.json +2127 -0
  8. package/contracts/workspace-intelligence/agent-framework-admission-candidate.v1.json +193 -0
  9. package/contracts/workspace-intelligence/agent-framework-change-plan.v1.json +280 -0
  10. package/contracts/workspace-intelligence/agent-framework-conformance-report.v1.json +269 -0
  11. package/contracts/workspace-intelligence/agent-framework-ownership-receipt.v1.json +147 -0
  12. package/contracts/workspace-intelligence/workspace-model.v1.json +4 -0
  13. package/contracts/workspace-intelligence-architecture.v1.json +28 -2
  14. package/dist/analyze-Z3EZNJRI.js +1 -0
  15. package/dist/{artifact-remediation-plan-OVTQM7HN.js → artifact-remediation-plan-HD5K52UJ.js} +1 -1
  16. package/dist/autopilot-release-T6XFRWZT.js +1 -0
  17. package/dist/capabilities-command-VK3LQLP2.js +1 -0
  18. package/dist/{chunk-UHT2SW7O.js → chunk-25V5XMWB.js} +1 -1
  19. package/dist/chunk-2CT5SN2L.js +2 -0
  20. package/dist/chunk-2GWQ6NZV.js +1 -0
  21. package/dist/{chunk-KCIET26G.js → chunk-2OCJKLTW.js} +1 -1
  22. package/dist/{chunk-SAZXL36B.js → chunk-3WQ5TYCO.js} +1 -1
  23. package/dist/chunk-4VSQNSGH.js +9 -0
  24. package/dist/chunk-566NQQTJ.js +97 -0
  25. package/dist/chunk-5EEXLM45.js +1 -0
  26. package/dist/chunk-65AE7EC5.js +2 -0
  27. package/dist/{chunk-PKKSRXUS.js → chunk-6B7L4NZE.js} +1 -1
  28. package/dist/{chunk-BTJPTJLT.js → chunk-6KMR5PKQ.js} +3 -3
  29. package/dist/chunk-6NSJBKKK.js +4 -0
  30. package/dist/chunk-7NKM6EHE.js +7 -0
  31. package/dist/chunk-ABUSBLBH.js +1 -0
  32. package/dist/{chunk-TVSMNF5G.js → chunk-AICCXYY5.js} +4 -4
  33. package/dist/{chunk-FE5R6EUV.js → chunk-BLEIUQL6.js} +1 -1
  34. package/dist/{chunk-37SWTS2B.js → chunk-BR6QIYQS.js} +1 -1
  35. package/dist/chunk-CMLLERGG.js +418 -0
  36. package/dist/{chunk-MGL6DBOR.js → chunk-COOVCORC.js} +1 -1
  37. package/dist/chunk-DFREJHG7.js +1 -0
  38. package/dist/{chunk-C43NXRRE.js → chunk-DJH2CH42.js} +1 -1
  39. package/dist/chunk-FU6SQ2ND.js +1 -0
  40. package/dist/{chunk-IQFXLJIM.js → chunk-HDISUL3F.js} +1 -1
  41. package/dist/{chunk-JK6XEF7K.js → chunk-JKAAKE4Z.js} +1 -1
  42. package/dist/{chunk-G6ADWA2B.js → chunk-M6DVNC6X.js} +1 -1
  43. package/dist/chunk-NGZF4YJS.js +2 -0
  44. package/dist/{chunk-4JJDDL3X.js → chunk-NI5QWBZK.js} +1 -1
  45. package/dist/{chunk-3WHE7V4M.js → chunk-NLRZFIC6.js} +1 -1
  46. package/dist/{chunk-5Y4YRYZI.js → chunk-NRIMJMTF.js} +8 -8
  47. package/dist/{chunk-EBQS5T7Q.js → chunk-OA2YJN22.js} +1 -1
  48. package/dist/chunk-OH6LV5JP.js +6 -0
  49. package/dist/chunk-PTI743SC.js +7 -0
  50. package/dist/{chunk-TBOIXIQA.js → chunk-QBKOPXKC.js} +1 -1
  51. package/dist/chunk-RTD5D35M.js +13 -0
  52. package/dist/{chunk-XVTN5DDV.js → chunk-RU3UT7GJ.js} +1 -1
  53. package/dist/{chunk-DPC5DKH6.js → chunk-SCKEFXF5.js} +1 -1
  54. package/dist/chunk-UE7ART6X.js +1 -0
  55. package/dist/{chunk-FY4X2VOE.js → chunk-VHMDWRDG.js} +2 -2
  56. package/dist/chunk-VJQPIH2S.js +681 -0
  57. package/dist/{chunk-H333GKL4.js → chunk-W7I65IXY.js} +1 -1
  58. package/dist/{chunk-ZNKZ2KXR.js → chunk-WPPRUFJW.js} +1 -1
  59. package/dist/{chunk-HAZGSAKP.js → chunk-ZI54C2AO.js} +1 -1
  60. package/dist/{create-EKA2QG5R.js → create-P4XJVZCL.js} +1 -1
  61. package/dist/{demo-kit-RKTHTXHJ.js → demo-kit-ALW6OSQV.js} +1 -1
  62. package/dist/{doctor-BXSNADVR.js → doctor-PFN6KB6P.js} +1 -1
  63. package/dist/{dotnet-webapi-clean-VJX6SGGP.js → dotnet-webapi-clean-6Z4EXEJY.js} +1 -1
  64. package/dist/{goal-lifecycle-XXWNMIAD.js → goal-lifecycle-BDWTWS55.js} +1 -1
  65. package/dist/goal-pack-5JDNZFKV.js +1 -0
  66. package/dist/{gofiber-standard-I6ASLOEE.js → gofiber-standard-TDJQIVQZ.js} +1 -1
  67. package/dist/{gogin-standard-U2LSRLIP.js → gogin-standard-UEF3IHSJ.js} +1 -1
  68. package/dist/index.d.ts +18 -0
  69. package/dist/index.js +276 -251
  70. package/dist/{pipeline-JLOC2SUT.js → pipeline-OUYS4ZYV.js} +1 -1
  71. package/dist/{project-agent-entry-ZNUHGCVC.js → project-agent-entry-75WO3QWP.js} +1 -1
  72. package/dist/{project-intelligence-lens-W72OUEDW.js → project-intelligence-lens-JCHFOIA7.js} +1 -1
  73. package/dist/{project-test-coverage-5PXAHBYQ.js → project-test-coverage-3P5FH6E5.js} +1 -1
  74. package/dist/proof-carrying-change-LAYV4LTI.js +1 -0
  75. package/dist/{pythonRapidkitExec-44ORGQ4R.js → pythonRapidkitExec-UMFLDIYR.js} +1 -1
  76. package/dist/{rust-axum-JMV7UPO7.js → rust-axum-4TRVPFMB.js} +1 -1
  77. package/dist/{springboot-standard-OC2RS3KC.js → springboot-standard-COWL75GT.js} +1 -1
  78. package/dist/verified-goal-75KGBWTE.js +1 -0
  79. package/dist/{workspace-XTIGVLGH.js → workspace-CBQDOUSH.js} +1 -1
  80. package/dist/{workspace-agent-sync-TN6QDNBR.js → workspace-agent-sync-RTOTO3DY.js} +1 -1
  81. package/dist/{workspace-archive-OSMU3CK6.js → workspace-archive-3AURTMYA.js} +1 -1
  82. package/dist/{workspace-context-Y3TNY2XZ.js → workspace-context-STRZO2N3.js} +1 -1
  83. package/dist/{workspace-contract-GRZY7WRD.js → workspace-contract-PMHUUKFM.js} +1 -1
  84. package/dist/{workspace-explain-KUYHJFLY.js → workspace-explain-CATMJUMN.js} +1 -1
  85. package/dist/{workspace-feedback-D6HJLKBQ.js → workspace-feedback-FF34CSJE.js} +1 -1
  86. package/dist/{workspace-foundation-ZBUJTR56.js → workspace-foundation-OULCDCXG.js} +1 -1
  87. package/dist/{workspace-graph-stream-KC2XUAE4.js → workspace-graph-stream-Q55CI4K4.js} +1 -1
  88. package/dist/{workspace-history-WWPS4U7H.js → workspace-history-EQG5UBKW.js} +1 -1
  89. package/dist/{workspace-intelligence-26YT6KMN.js → workspace-intelligence-3RPZRWSF.js} +1 -1
  90. package/dist/{workspace-intelligence-benchmark-QFVTUBDO.js → workspace-intelligence-benchmark-R5MEGJQS.js} +1 -1
  91. package/dist/{workspace-intelligence-runner-HVYKHCTX.js → workspace-intelligence-runner-BNZUYUUN.js} +1 -1
  92. package/dist/{workspace-knowledge-graph-RL3I2FHY.js → workspace-knowledge-graph-VJLD35ES.js} +1 -1
  93. package/dist/workspace-knowledge-graph-snapshot-TQAKDDUA.js +1 -0
  94. package/dist/workspace-mcp-serve-67NTYD67.js +3 -0
  95. package/dist/workspace-model-6TKZMNEF.js +1 -0
  96. package/dist/{workspace-onboarding-BY6RUBBH.js → workspace-onboarding-7V7EH3RH.js} +1 -1
  97. package/dist/{workspace-readme-HA6XLDME.js → workspace-readme-4FCKAQME.js} +1 -1
  98. package/dist/{workspace-registry-summary-VKTJ7PHV.js → workspace-registry-summary-ILVO7DEU.js} +1 -1
  99. package/dist/{workspace-repair-engine-RBM7NCGI.js → workspace-repair-engine-2VGFB3DJ.js} +1 -1
  100. package/dist/workspace-run-X7KV6MIT.js +1 -0
  101. package/dist/{workspace-verify-NFJ7RKKT.js → workspace-verify-VQWYDAF2.js} +1 -1
  102. package/dist/workspace-watch-2Z636HWS.js +1 -0
  103. package/docs/README.md +4 -1
  104. package/docs/agent-framework-adapters.md +279 -0
  105. package/docs/ci-workflows.md +15 -8
  106. package/docs/commands-reference.md +22 -0
  107. package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +5 -0
  108. package/docs/creating-workspaces-and-projects.md +18 -4
  109. package/docs/workspace-operations.md +12 -2
  110. package/package.json +7 -1
  111. package/scripts/enterprise-package-smoke.mjs +98 -0
  112. package/dist/analyze-IA33T6MY.js +0 -1
  113. package/dist/autopilot-release-T327V7QK.js +0 -1
  114. package/dist/capabilities-command-NFGX42CH.js +0 -1
  115. package/dist/chunk-46QH3ZVI.js +0 -105
  116. package/dist/chunk-5EVBOUYW.js +0 -3
  117. package/dist/chunk-773WUMFU.js +0 -681
  118. package/dist/chunk-D6BL7ARI.js +0 -2
  119. package/dist/chunk-DLLHUG2Q.js +0 -9
  120. package/dist/chunk-DTLLIA2C.js +0 -1
  121. package/dist/chunk-FYR4FD7K.js +0 -1
  122. package/dist/chunk-H5DRKXXC.js +0 -2
  123. package/dist/chunk-IUOMBLRR.js +0 -2
  124. package/dist/chunk-K3FXRBER.js +0 -4
  125. package/dist/chunk-LEEOZRWR.js +0 -7
  126. package/dist/chunk-NCZJUPG5.js +0 -97
  127. package/dist/chunk-ND5YAC4T.js +0 -1
  128. package/dist/chunk-SVGUAVMG.js +0 -1
  129. package/dist/chunk-TGDXD4CD.js +0 -1
  130. package/dist/chunk-VLKX5U4H.js +0 -13
  131. package/dist/chunk-YYELANJO.js +0 -7
  132. package/dist/goal-pack-NTHYLISY.js +0 -1
  133. package/dist/proof-carrying-change-WLUPMUO7.js +0 -1
  134. package/dist/verified-goal-6O2JZOOR.js +0 -1
  135. package/dist/workspace-knowledge-graph-snapshot-JEJMRQZL.js +0 -1
  136. package/dist/workspace-mcp-serve-2FGRXJG4.js +0 -3
  137. package/dist/workspace-model-2ODVOWDQ.js +0 -1
  138. package/dist/workspace-run-JCA5WPCR.js +0 -1
  139. package/dist/workspace-watch-3DBBB6IP.js +0 -1
  140. /package/dist/{chunk-K33JJVQZ.js → chunk-VN2MKTQO.js} +0 -0
@@ -0,0 +1,2127 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/contracts/workspace-intelligence/agent-framework-adapter-manifest.v1.json",
4
+ "title": "Workspai Agent Framework Adapter Manifest v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "protocolVersion",
10
+ "adapter",
11
+ "framework",
12
+ "implementation",
13
+ "operations",
14
+ "capabilities",
15
+ "detection",
16
+ "ownership",
17
+ "security",
18
+ "bindings"
19
+ ],
20
+ "properties": {
21
+ "schemaVersion": {
22
+ "const": "workspai.agent-framework-adapter-manifest.v1"
23
+ },
24
+ "protocolVersion": {
25
+ "const": "workspai.agent-framework-adapter-protocol.v1"
26
+ },
27
+ "adapter": {
28
+ "type": "object",
29
+ "additionalProperties": false,
30
+ "required": [
31
+ "id",
32
+ "package",
33
+ "version",
34
+ "stability"
35
+ ],
36
+ "properties": {
37
+ "id": {
38
+ "type": "string",
39
+ "pattern": "^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
40
+ },
41
+ "package": {
42
+ "type": "string",
43
+ "minLength": 1
44
+ },
45
+ "version": {
46
+ "type": "string",
47
+ "minLength": 1
48
+ },
49
+ "stability": {
50
+ "enum": [
51
+ "experimental",
52
+ "preview",
53
+ "stable",
54
+ "compatibility",
55
+ "deprecated"
56
+ ]
57
+ }
58
+ }
59
+ },
60
+ "framework": {
61
+ "type": "object",
62
+ "additionalProperties": false,
63
+ "required": [
64
+ "id",
65
+ "name",
66
+ "homepage",
67
+ "license",
68
+ "upstreamStatus",
69
+ "supportedVersionRange",
70
+ "testedVersions"
71
+ ],
72
+ "properties": {
73
+ "id": {
74
+ "type": "string",
75
+ "pattern": "^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
76
+ },
77
+ "name": {
78
+ "type": "string",
79
+ "minLength": 1
80
+ },
81
+ "homepage": {
82
+ "type": "string",
83
+ "format": "uri"
84
+ },
85
+ "license": {
86
+ "type": "string",
87
+ "minLength": 1
88
+ },
89
+ "upstreamStatus": {
90
+ "enum": [
91
+ "stable",
92
+ "beta",
93
+ "maintenance",
94
+ "deprecated"
95
+ ]
96
+ },
97
+ "supportedVersionRange": {
98
+ "type": "string",
99
+ "minLength": 1
100
+ },
101
+ "testedVersions": {
102
+ "type": "array",
103
+ "items": {
104
+ "type": "string",
105
+ "minLength": 1
106
+ },
107
+ "minItems": 1,
108
+ "uniqueItems": true
109
+ }
110
+ }
111
+ },
112
+ "implementation": {
113
+ "type": "object",
114
+ "additionalProperties": false,
115
+ "required": [
116
+ "languages",
117
+ "runtimes",
118
+ "platforms",
119
+ "executionBoundary",
120
+ "distribution"
121
+ ],
122
+ "properties": {
123
+ "languages": {
124
+ "type": "array",
125
+ "items": {
126
+ "type": "string",
127
+ "minLength": 1
128
+ },
129
+ "minItems": 1,
130
+ "uniqueItems": true
131
+ },
132
+ "runtimes": {
133
+ "type": "array",
134
+ "items": {
135
+ "type": "string",
136
+ "minLength": 1
137
+ },
138
+ "minItems": 1,
139
+ "uniqueItems": true
140
+ },
141
+ "platforms": {
142
+ "type": "array",
143
+ "items": {
144
+ "enum": [
145
+ "linux",
146
+ "darwin",
147
+ "win32"
148
+ ]
149
+ },
150
+ "minItems": 1,
151
+ "uniqueItems": true
152
+ },
153
+ "executionBoundary": {
154
+ "enum": [
155
+ "in-process",
156
+ "subprocess",
157
+ "remote",
158
+ "none"
159
+ ]
160
+ },
161
+ "distribution": {
162
+ "enum": [
163
+ "bundled",
164
+ "optional-package",
165
+ "external-tool"
166
+ ]
167
+ }
168
+ }
169
+ },
170
+ "operations": {
171
+ "type": "object",
172
+ "additionalProperties": false,
173
+ "required": [
174
+ "detect",
175
+ "plan-scaffold",
176
+ "plan-attach",
177
+ "render-managed-files",
178
+ "project-context",
179
+ "validate",
180
+ "resolve-runtime"
181
+ ],
182
+ "properties": {
183
+ "detect": {
184
+ "type": "object",
185
+ "additionalProperties": false,
186
+ "required": [
187
+ "supported",
188
+ "mode",
189
+ "limitations"
190
+ ],
191
+ "properties": {
192
+ "supported": {
193
+ "type": "boolean"
194
+ },
195
+ "mode": {
196
+ "const": "read-only"
197
+ },
198
+ "limitations": {
199
+ "type": "array",
200
+ "items": {
201
+ "type": "string",
202
+ "minLength": 1
203
+ },
204
+ "minItems": 0,
205
+ "uniqueItems": true
206
+ }
207
+ }
208
+ },
209
+ "plan-scaffold": {
210
+ "type": "object",
211
+ "additionalProperties": false,
212
+ "required": [
213
+ "supported",
214
+ "mode",
215
+ "limitations"
216
+ ],
217
+ "properties": {
218
+ "supported": {
219
+ "type": "boolean"
220
+ },
221
+ "mode": {
222
+ "const": "plan-only"
223
+ },
224
+ "limitations": {
225
+ "type": "array",
226
+ "items": {
227
+ "type": "string",
228
+ "minLength": 1
229
+ },
230
+ "minItems": 0,
231
+ "uniqueItems": true
232
+ }
233
+ }
234
+ },
235
+ "plan-attach": {
236
+ "type": "object",
237
+ "additionalProperties": false,
238
+ "required": [
239
+ "supported",
240
+ "mode",
241
+ "limitations"
242
+ ],
243
+ "properties": {
244
+ "supported": {
245
+ "type": "boolean"
246
+ },
247
+ "mode": {
248
+ "const": "plan-only"
249
+ },
250
+ "limitations": {
251
+ "type": "array",
252
+ "items": {
253
+ "type": "string",
254
+ "minLength": 1
255
+ },
256
+ "minItems": 0,
257
+ "uniqueItems": true
258
+ }
259
+ }
260
+ },
261
+ "render-managed-files": {
262
+ "type": "object",
263
+ "additionalProperties": false,
264
+ "required": [
265
+ "supported",
266
+ "mode",
267
+ "limitations"
268
+ ],
269
+ "properties": {
270
+ "supported": {
271
+ "type": "boolean"
272
+ },
273
+ "mode": {
274
+ "const": "render-only"
275
+ },
276
+ "limitations": {
277
+ "type": "array",
278
+ "items": {
279
+ "type": "string",
280
+ "minLength": 1
281
+ },
282
+ "minItems": 0,
283
+ "uniqueItems": true
284
+ }
285
+ }
286
+ },
287
+ "project-context": {
288
+ "type": "object",
289
+ "additionalProperties": false,
290
+ "required": [
291
+ "supported",
292
+ "mode",
293
+ "limitations"
294
+ ],
295
+ "properties": {
296
+ "supported": {
297
+ "type": "boolean"
298
+ },
299
+ "mode": {
300
+ "const": "resolve-only"
301
+ },
302
+ "limitations": {
303
+ "type": "array",
304
+ "items": {
305
+ "type": "string",
306
+ "minLength": 1
307
+ },
308
+ "minItems": 0,
309
+ "uniqueItems": true
310
+ }
311
+ }
312
+ },
313
+ "validate": {
314
+ "type": "object",
315
+ "additionalProperties": false,
316
+ "required": [
317
+ "supported",
318
+ "mode",
319
+ "limitations"
320
+ ],
321
+ "properties": {
322
+ "supported": {
323
+ "type": "boolean"
324
+ },
325
+ "mode": {
326
+ "const": "read-only"
327
+ },
328
+ "limitations": {
329
+ "type": "array",
330
+ "items": {
331
+ "type": "string",
332
+ "minLength": 1
333
+ },
334
+ "minItems": 0,
335
+ "uniqueItems": true
336
+ }
337
+ }
338
+ },
339
+ "resolve-runtime": {
340
+ "type": "object",
341
+ "additionalProperties": false,
342
+ "required": [
343
+ "supported",
344
+ "mode",
345
+ "limitations"
346
+ ],
347
+ "properties": {
348
+ "supported": {
349
+ "type": "boolean"
350
+ },
351
+ "mode": {
352
+ "const": "resolve-only"
353
+ },
354
+ "limitations": {
355
+ "type": "array",
356
+ "items": {
357
+ "type": "string",
358
+ "minLength": 1
359
+ },
360
+ "minItems": 0,
361
+ "uniqueItems": true
362
+ }
363
+ }
364
+ }
365
+ }
366
+ },
367
+ "capabilities": {
368
+ "type": "object",
369
+ "additionalProperties": false,
370
+ "required": [
371
+ "single-agent",
372
+ "multi-agent",
373
+ "typed-tools",
374
+ "skills",
375
+ "handoffs",
376
+ "explicit-workflows",
377
+ "streaming",
378
+ "background-execution",
379
+ "durable-execution",
380
+ "human-in-the-loop",
381
+ "conversation-state",
382
+ "memory",
383
+ "checkpoints",
384
+ "resume",
385
+ "schedules",
386
+ "channels",
387
+ "mcp-client",
388
+ "mcp-server",
389
+ "telemetry",
390
+ "evaluations",
391
+ "provider-neutral-models",
392
+ "local-models",
393
+ "local-execution",
394
+ "self-hosting",
395
+ "managed-hosting"
396
+ ],
397
+ "properties": {
398
+ "single-agent": {
399
+ "type": "object",
400
+ "additionalProperties": false,
401
+ "required": [
402
+ "support",
403
+ "evidence",
404
+ "prerequisites",
405
+ "limitations"
406
+ ],
407
+ "properties": {
408
+ "support": {
409
+ "enum": [
410
+ "native",
411
+ "adapter-provided",
412
+ "conditional",
413
+ "unsupported"
414
+ ]
415
+ },
416
+ "evidence": {
417
+ "type": "array",
418
+ "items": {
419
+ "type": "string",
420
+ "minLength": 1
421
+ },
422
+ "minItems": 0,
423
+ "uniqueItems": true
424
+ },
425
+ "prerequisites": {
426
+ "type": "array",
427
+ "items": {
428
+ "type": "string",
429
+ "minLength": 1
430
+ },
431
+ "minItems": 0,
432
+ "uniqueItems": true
433
+ },
434
+ "limitations": {
435
+ "type": "array",
436
+ "items": {
437
+ "type": "string",
438
+ "minLength": 1
439
+ },
440
+ "minItems": 0,
441
+ "uniqueItems": true
442
+ }
443
+ }
444
+ },
445
+ "multi-agent": {
446
+ "type": "object",
447
+ "additionalProperties": false,
448
+ "required": [
449
+ "support",
450
+ "evidence",
451
+ "prerequisites",
452
+ "limitations"
453
+ ],
454
+ "properties": {
455
+ "support": {
456
+ "enum": [
457
+ "native",
458
+ "adapter-provided",
459
+ "conditional",
460
+ "unsupported"
461
+ ]
462
+ },
463
+ "evidence": {
464
+ "type": "array",
465
+ "items": {
466
+ "type": "string",
467
+ "minLength": 1
468
+ },
469
+ "minItems": 0,
470
+ "uniqueItems": true
471
+ },
472
+ "prerequisites": {
473
+ "type": "array",
474
+ "items": {
475
+ "type": "string",
476
+ "minLength": 1
477
+ },
478
+ "minItems": 0,
479
+ "uniqueItems": true
480
+ },
481
+ "limitations": {
482
+ "type": "array",
483
+ "items": {
484
+ "type": "string",
485
+ "minLength": 1
486
+ },
487
+ "minItems": 0,
488
+ "uniqueItems": true
489
+ }
490
+ }
491
+ },
492
+ "typed-tools": {
493
+ "type": "object",
494
+ "additionalProperties": false,
495
+ "required": [
496
+ "support",
497
+ "evidence",
498
+ "prerequisites",
499
+ "limitations"
500
+ ],
501
+ "properties": {
502
+ "support": {
503
+ "enum": [
504
+ "native",
505
+ "adapter-provided",
506
+ "conditional",
507
+ "unsupported"
508
+ ]
509
+ },
510
+ "evidence": {
511
+ "type": "array",
512
+ "items": {
513
+ "type": "string",
514
+ "minLength": 1
515
+ },
516
+ "minItems": 0,
517
+ "uniqueItems": true
518
+ },
519
+ "prerequisites": {
520
+ "type": "array",
521
+ "items": {
522
+ "type": "string",
523
+ "minLength": 1
524
+ },
525
+ "minItems": 0,
526
+ "uniqueItems": true
527
+ },
528
+ "limitations": {
529
+ "type": "array",
530
+ "items": {
531
+ "type": "string",
532
+ "minLength": 1
533
+ },
534
+ "minItems": 0,
535
+ "uniqueItems": true
536
+ }
537
+ }
538
+ },
539
+ "skills": {
540
+ "type": "object",
541
+ "additionalProperties": false,
542
+ "required": [
543
+ "support",
544
+ "evidence",
545
+ "prerequisites",
546
+ "limitations"
547
+ ],
548
+ "properties": {
549
+ "support": {
550
+ "enum": [
551
+ "native",
552
+ "adapter-provided",
553
+ "conditional",
554
+ "unsupported"
555
+ ]
556
+ },
557
+ "evidence": {
558
+ "type": "array",
559
+ "items": {
560
+ "type": "string",
561
+ "minLength": 1
562
+ },
563
+ "minItems": 0,
564
+ "uniqueItems": true
565
+ },
566
+ "prerequisites": {
567
+ "type": "array",
568
+ "items": {
569
+ "type": "string",
570
+ "minLength": 1
571
+ },
572
+ "minItems": 0,
573
+ "uniqueItems": true
574
+ },
575
+ "limitations": {
576
+ "type": "array",
577
+ "items": {
578
+ "type": "string",
579
+ "minLength": 1
580
+ },
581
+ "minItems": 0,
582
+ "uniqueItems": true
583
+ }
584
+ }
585
+ },
586
+ "handoffs": {
587
+ "type": "object",
588
+ "additionalProperties": false,
589
+ "required": [
590
+ "support",
591
+ "evidence",
592
+ "prerequisites",
593
+ "limitations"
594
+ ],
595
+ "properties": {
596
+ "support": {
597
+ "enum": [
598
+ "native",
599
+ "adapter-provided",
600
+ "conditional",
601
+ "unsupported"
602
+ ]
603
+ },
604
+ "evidence": {
605
+ "type": "array",
606
+ "items": {
607
+ "type": "string",
608
+ "minLength": 1
609
+ },
610
+ "minItems": 0,
611
+ "uniqueItems": true
612
+ },
613
+ "prerequisites": {
614
+ "type": "array",
615
+ "items": {
616
+ "type": "string",
617
+ "minLength": 1
618
+ },
619
+ "minItems": 0,
620
+ "uniqueItems": true
621
+ },
622
+ "limitations": {
623
+ "type": "array",
624
+ "items": {
625
+ "type": "string",
626
+ "minLength": 1
627
+ },
628
+ "minItems": 0,
629
+ "uniqueItems": true
630
+ }
631
+ }
632
+ },
633
+ "explicit-workflows": {
634
+ "type": "object",
635
+ "additionalProperties": false,
636
+ "required": [
637
+ "support",
638
+ "evidence",
639
+ "prerequisites",
640
+ "limitations"
641
+ ],
642
+ "properties": {
643
+ "support": {
644
+ "enum": [
645
+ "native",
646
+ "adapter-provided",
647
+ "conditional",
648
+ "unsupported"
649
+ ]
650
+ },
651
+ "evidence": {
652
+ "type": "array",
653
+ "items": {
654
+ "type": "string",
655
+ "minLength": 1
656
+ },
657
+ "minItems": 0,
658
+ "uniqueItems": true
659
+ },
660
+ "prerequisites": {
661
+ "type": "array",
662
+ "items": {
663
+ "type": "string",
664
+ "minLength": 1
665
+ },
666
+ "minItems": 0,
667
+ "uniqueItems": true
668
+ },
669
+ "limitations": {
670
+ "type": "array",
671
+ "items": {
672
+ "type": "string",
673
+ "minLength": 1
674
+ },
675
+ "minItems": 0,
676
+ "uniqueItems": true
677
+ }
678
+ }
679
+ },
680
+ "streaming": {
681
+ "type": "object",
682
+ "additionalProperties": false,
683
+ "required": [
684
+ "support",
685
+ "evidence",
686
+ "prerequisites",
687
+ "limitations"
688
+ ],
689
+ "properties": {
690
+ "support": {
691
+ "enum": [
692
+ "native",
693
+ "adapter-provided",
694
+ "conditional",
695
+ "unsupported"
696
+ ]
697
+ },
698
+ "evidence": {
699
+ "type": "array",
700
+ "items": {
701
+ "type": "string",
702
+ "minLength": 1
703
+ },
704
+ "minItems": 0,
705
+ "uniqueItems": true
706
+ },
707
+ "prerequisites": {
708
+ "type": "array",
709
+ "items": {
710
+ "type": "string",
711
+ "minLength": 1
712
+ },
713
+ "minItems": 0,
714
+ "uniqueItems": true
715
+ },
716
+ "limitations": {
717
+ "type": "array",
718
+ "items": {
719
+ "type": "string",
720
+ "minLength": 1
721
+ },
722
+ "minItems": 0,
723
+ "uniqueItems": true
724
+ }
725
+ }
726
+ },
727
+ "background-execution": {
728
+ "type": "object",
729
+ "additionalProperties": false,
730
+ "required": [
731
+ "support",
732
+ "evidence",
733
+ "prerequisites",
734
+ "limitations"
735
+ ],
736
+ "properties": {
737
+ "support": {
738
+ "enum": [
739
+ "native",
740
+ "adapter-provided",
741
+ "conditional",
742
+ "unsupported"
743
+ ]
744
+ },
745
+ "evidence": {
746
+ "type": "array",
747
+ "items": {
748
+ "type": "string",
749
+ "minLength": 1
750
+ },
751
+ "minItems": 0,
752
+ "uniqueItems": true
753
+ },
754
+ "prerequisites": {
755
+ "type": "array",
756
+ "items": {
757
+ "type": "string",
758
+ "minLength": 1
759
+ },
760
+ "minItems": 0,
761
+ "uniqueItems": true
762
+ },
763
+ "limitations": {
764
+ "type": "array",
765
+ "items": {
766
+ "type": "string",
767
+ "minLength": 1
768
+ },
769
+ "minItems": 0,
770
+ "uniqueItems": true
771
+ }
772
+ }
773
+ },
774
+ "durable-execution": {
775
+ "type": "object",
776
+ "additionalProperties": false,
777
+ "required": [
778
+ "support",
779
+ "evidence",
780
+ "prerequisites",
781
+ "limitations"
782
+ ],
783
+ "properties": {
784
+ "support": {
785
+ "enum": [
786
+ "native",
787
+ "adapter-provided",
788
+ "conditional",
789
+ "unsupported"
790
+ ]
791
+ },
792
+ "evidence": {
793
+ "type": "array",
794
+ "items": {
795
+ "type": "string",
796
+ "minLength": 1
797
+ },
798
+ "minItems": 0,
799
+ "uniqueItems": true
800
+ },
801
+ "prerequisites": {
802
+ "type": "array",
803
+ "items": {
804
+ "type": "string",
805
+ "minLength": 1
806
+ },
807
+ "minItems": 0,
808
+ "uniqueItems": true
809
+ },
810
+ "limitations": {
811
+ "type": "array",
812
+ "items": {
813
+ "type": "string",
814
+ "minLength": 1
815
+ },
816
+ "minItems": 0,
817
+ "uniqueItems": true
818
+ }
819
+ }
820
+ },
821
+ "human-in-the-loop": {
822
+ "type": "object",
823
+ "additionalProperties": false,
824
+ "required": [
825
+ "support",
826
+ "evidence",
827
+ "prerequisites",
828
+ "limitations"
829
+ ],
830
+ "properties": {
831
+ "support": {
832
+ "enum": [
833
+ "native",
834
+ "adapter-provided",
835
+ "conditional",
836
+ "unsupported"
837
+ ]
838
+ },
839
+ "evidence": {
840
+ "type": "array",
841
+ "items": {
842
+ "type": "string",
843
+ "minLength": 1
844
+ },
845
+ "minItems": 0,
846
+ "uniqueItems": true
847
+ },
848
+ "prerequisites": {
849
+ "type": "array",
850
+ "items": {
851
+ "type": "string",
852
+ "minLength": 1
853
+ },
854
+ "minItems": 0,
855
+ "uniqueItems": true
856
+ },
857
+ "limitations": {
858
+ "type": "array",
859
+ "items": {
860
+ "type": "string",
861
+ "minLength": 1
862
+ },
863
+ "minItems": 0,
864
+ "uniqueItems": true
865
+ }
866
+ }
867
+ },
868
+ "conversation-state": {
869
+ "type": "object",
870
+ "additionalProperties": false,
871
+ "required": [
872
+ "support",
873
+ "evidence",
874
+ "prerequisites",
875
+ "limitations"
876
+ ],
877
+ "properties": {
878
+ "support": {
879
+ "enum": [
880
+ "native",
881
+ "adapter-provided",
882
+ "conditional",
883
+ "unsupported"
884
+ ]
885
+ },
886
+ "evidence": {
887
+ "type": "array",
888
+ "items": {
889
+ "type": "string",
890
+ "minLength": 1
891
+ },
892
+ "minItems": 0,
893
+ "uniqueItems": true
894
+ },
895
+ "prerequisites": {
896
+ "type": "array",
897
+ "items": {
898
+ "type": "string",
899
+ "minLength": 1
900
+ },
901
+ "minItems": 0,
902
+ "uniqueItems": true
903
+ },
904
+ "limitations": {
905
+ "type": "array",
906
+ "items": {
907
+ "type": "string",
908
+ "minLength": 1
909
+ },
910
+ "minItems": 0,
911
+ "uniqueItems": true
912
+ }
913
+ }
914
+ },
915
+ "memory": {
916
+ "type": "object",
917
+ "additionalProperties": false,
918
+ "required": [
919
+ "support",
920
+ "evidence",
921
+ "prerequisites",
922
+ "limitations"
923
+ ],
924
+ "properties": {
925
+ "support": {
926
+ "enum": [
927
+ "native",
928
+ "adapter-provided",
929
+ "conditional",
930
+ "unsupported"
931
+ ]
932
+ },
933
+ "evidence": {
934
+ "type": "array",
935
+ "items": {
936
+ "type": "string",
937
+ "minLength": 1
938
+ },
939
+ "minItems": 0,
940
+ "uniqueItems": true
941
+ },
942
+ "prerequisites": {
943
+ "type": "array",
944
+ "items": {
945
+ "type": "string",
946
+ "minLength": 1
947
+ },
948
+ "minItems": 0,
949
+ "uniqueItems": true
950
+ },
951
+ "limitations": {
952
+ "type": "array",
953
+ "items": {
954
+ "type": "string",
955
+ "minLength": 1
956
+ },
957
+ "minItems": 0,
958
+ "uniqueItems": true
959
+ }
960
+ }
961
+ },
962
+ "checkpoints": {
963
+ "type": "object",
964
+ "additionalProperties": false,
965
+ "required": [
966
+ "support",
967
+ "evidence",
968
+ "prerequisites",
969
+ "limitations"
970
+ ],
971
+ "properties": {
972
+ "support": {
973
+ "enum": [
974
+ "native",
975
+ "adapter-provided",
976
+ "conditional",
977
+ "unsupported"
978
+ ]
979
+ },
980
+ "evidence": {
981
+ "type": "array",
982
+ "items": {
983
+ "type": "string",
984
+ "minLength": 1
985
+ },
986
+ "minItems": 0,
987
+ "uniqueItems": true
988
+ },
989
+ "prerequisites": {
990
+ "type": "array",
991
+ "items": {
992
+ "type": "string",
993
+ "minLength": 1
994
+ },
995
+ "minItems": 0,
996
+ "uniqueItems": true
997
+ },
998
+ "limitations": {
999
+ "type": "array",
1000
+ "items": {
1001
+ "type": "string",
1002
+ "minLength": 1
1003
+ },
1004
+ "minItems": 0,
1005
+ "uniqueItems": true
1006
+ }
1007
+ }
1008
+ },
1009
+ "resume": {
1010
+ "type": "object",
1011
+ "additionalProperties": false,
1012
+ "required": [
1013
+ "support",
1014
+ "evidence",
1015
+ "prerequisites",
1016
+ "limitations"
1017
+ ],
1018
+ "properties": {
1019
+ "support": {
1020
+ "enum": [
1021
+ "native",
1022
+ "adapter-provided",
1023
+ "conditional",
1024
+ "unsupported"
1025
+ ]
1026
+ },
1027
+ "evidence": {
1028
+ "type": "array",
1029
+ "items": {
1030
+ "type": "string",
1031
+ "minLength": 1
1032
+ },
1033
+ "minItems": 0,
1034
+ "uniqueItems": true
1035
+ },
1036
+ "prerequisites": {
1037
+ "type": "array",
1038
+ "items": {
1039
+ "type": "string",
1040
+ "minLength": 1
1041
+ },
1042
+ "minItems": 0,
1043
+ "uniqueItems": true
1044
+ },
1045
+ "limitations": {
1046
+ "type": "array",
1047
+ "items": {
1048
+ "type": "string",
1049
+ "minLength": 1
1050
+ },
1051
+ "minItems": 0,
1052
+ "uniqueItems": true
1053
+ }
1054
+ }
1055
+ },
1056
+ "schedules": {
1057
+ "type": "object",
1058
+ "additionalProperties": false,
1059
+ "required": [
1060
+ "support",
1061
+ "evidence",
1062
+ "prerequisites",
1063
+ "limitations"
1064
+ ],
1065
+ "properties": {
1066
+ "support": {
1067
+ "enum": [
1068
+ "native",
1069
+ "adapter-provided",
1070
+ "conditional",
1071
+ "unsupported"
1072
+ ]
1073
+ },
1074
+ "evidence": {
1075
+ "type": "array",
1076
+ "items": {
1077
+ "type": "string",
1078
+ "minLength": 1
1079
+ },
1080
+ "minItems": 0,
1081
+ "uniqueItems": true
1082
+ },
1083
+ "prerequisites": {
1084
+ "type": "array",
1085
+ "items": {
1086
+ "type": "string",
1087
+ "minLength": 1
1088
+ },
1089
+ "minItems": 0,
1090
+ "uniqueItems": true
1091
+ },
1092
+ "limitations": {
1093
+ "type": "array",
1094
+ "items": {
1095
+ "type": "string",
1096
+ "minLength": 1
1097
+ },
1098
+ "minItems": 0,
1099
+ "uniqueItems": true
1100
+ }
1101
+ }
1102
+ },
1103
+ "channels": {
1104
+ "type": "object",
1105
+ "additionalProperties": false,
1106
+ "required": [
1107
+ "support",
1108
+ "evidence",
1109
+ "prerequisites",
1110
+ "limitations"
1111
+ ],
1112
+ "properties": {
1113
+ "support": {
1114
+ "enum": [
1115
+ "native",
1116
+ "adapter-provided",
1117
+ "conditional",
1118
+ "unsupported"
1119
+ ]
1120
+ },
1121
+ "evidence": {
1122
+ "type": "array",
1123
+ "items": {
1124
+ "type": "string",
1125
+ "minLength": 1
1126
+ },
1127
+ "minItems": 0,
1128
+ "uniqueItems": true
1129
+ },
1130
+ "prerequisites": {
1131
+ "type": "array",
1132
+ "items": {
1133
+ "type": "string",
1134
+ "minLength": 1
1135
+ },
1136
+ "minItems": 0,
1137
+ "uniqueItems": true
1138
+ },
1139
+ "limitations": {
1140
+ "type": "array",
1141
+ "items": {
1142
+ "type": "string",
1143
+ "minLength": 1
1144
+ },
1145
+ "minItems": 0,
1146
+ "uniqueItems": true
1147
+ }
1148
+ }
1149
+ },
1150
+ "mcp-client": {
1151
+ "type": "object",
1152
+ "additionalProperties": false,
1153
+ "required": [
1154
+ "support",
1155
+ "evidence",
1156
+ "prerequisites",
1157
+ "limitations"
1158
+ ],
1159
+ "properties": {
1160
+ "support": {
1161
+ "enum": [
1162
+ "native",
1163
+ "adapter-provided",
1164
+ "conditional",
1165
+ "unsupported"
1166
+ ]
1167
+ },
1168
+ "evidence": {
1169
+ "type": "array",
1170
+ "items": {
1171
+ "type": "string",
1172
+ "minLength": 1
1173
+ },
1174
+ "minItems": 0,
1175
+ "uniqueItems": true
1176
+ },
1177
+ "prerequisites": {
1178
+ "type": "array",
1179
+ "items": {
1180
+ "type": "string",
1181
+ "minLength": 1
1182
+ },
1183
+ "minItems": 0,
1184
+ "uniqueItems": true
1185
+ },
1186
+ "limitations": {
1187
+ "type": "array",
1188
+ "items": {
1189
+ "type": "string",
1190
+ "minLength": 1
1191
+ },
1192
+ "minItems": 0,
1193
+ "uniqueItems": true
1194
+ }
1195
+ }
1196
+ },
1197
+ "mcp-server": {
1198
+ "type": "object",
1199
+ "additionalProperties": false,
1200
+ "required": [
1201
+ "support",
1202
+ "evidence",
1203
+ "prerequisites",
1204
+ "limitations"
1205
+ ],
1206
+ "properties": {
1207
+ "support": {
1208
+ "enum": [
1209
+ "native",
1210
+ "adapter-provided",
1211
+ "conditional",
1212
+ "unsupported"
1213
+ ]
1214
+ },
1215
+ "evidence": {
1216
+ "type": "array",
1217
+ "items": {
1218
+ "type": "string",
1219
+ "minLength": 1
1220
+ },
1221
+ "minItems": 0,
1222
+ "uniqueItems": true
1223
+ },
1224
+ "prerequisites": {
1225
+ "type": "array",
1226
+ "items": {
1227
+ "type": "string",
1228
+ "minLength": 1
1229
+ },
1230
+ "minItems": 0,
1231
+ "uniqueItems": true
1232
+ },
1233
+ "limitations": {
1234
+ "type": "array",
1235
+ "items": {
1236
+ "type": "string",
1237
+ "minLength": 1
1238
+ },
1239
+ "minItems": 0,
1240
+ "uniqueItems": true
1241
+ }
1242
+ }
1243
+ },
1244
+ "telemetry": {
1245
+ "type": "object",
1246
+ "additionalProperties": false,
1247
+ "required": [
1248
+ "support",
1249
+ "evidence",
1250
+ "prerequisites",
1251
+ "limitations"
1252
+ ],
1253
+ "properties": {
1254
+ "support": {
1255
+ "enum": [
1256
+ "native",
1257
+ "adapter-provided",
1258
+ "conditional",
1259
+ "unsupported"
1260
+ ]
1261
+ },
1262
+ "evidence": {
1263
+ "type": "array",
1264
+ "items": {
1265
+ "type": "string",
1266
+ "minLength": 1
1267
+ },
1268
+ "minItems": 0,
1269
+ "uniqueItems": true
1270
+ },
1271
+ "prerequisites": {
1272
+ "type": "array",
1273
+ "items": {
1274
+ "type": "string",
1275
+ "minLength": 1
1276
+ },
1277
+ "minItems": 0,
1278
+ "uniqueItems": true
1279
+ },
1280
+ "limitations": {
1281
+ "type": "array",
1282
+ "items": {
1283
+ "type": "string",
1284
+ "minLength": 1
1285
+ },
1286
+ "minItems": 0,
1287
+ "uniqueItems": true
1288
+ }
1289
+ }
1290
+ },
1291
+ "evaluations": {
1292
+ "type": "object",
1293
+ "additionalProperties": false,
1294
+ "required": [
1295
+ "support",
1296
+ "evidence",
1297
+ "prerequisites",
1298
+ "limitations"
1299
+ ],
1300
+ "properties": {
1301
+ "support": {
1302
+ "enum": [
1303
+ "native",
1304
+ "adapter-provided",
1305
+ "conditional",
1306
+ "unsupported"
1307
+ ]
1308
+ },
1309
+ "evidence": {
1310
+ "type": "array",
1311
+ "items": {
1312
+ "type": "string",
1313
+ "minLength": 1
1314
+ },
1315
+ "minItems": 0,
1316
+ "uniqueItems": true
1317
+ },
1318
+ "prerequisites": {
1319
+ "type": "array",
1320
+ "items": {
1321
+ "type": "string",
1322
+ "minLength": 1
1323
+ },
1324
+ "minItems": 0,
1325
+ "uniqueItems": true
1326
+ },
1327
+ "limitations": {
1328
+ "type": "array",
1329
+ "items": {
1330
+ "type": "string",
1331
+ "minLength": 1
1332
+ },
1333
+ "minItems": 0,
1334
+ "uniqueItems": true
1335
+ }
1336
+ }
1337
+ },
1338
+ "provider-neutral-models": {
1339
+ "type": "object",
1340
+ "additionalProperties": false,
1341
+ "required": [
1342
+ "support",
1343
+ "evidence",
1344
+ "prerequisites",
1345
+ "limitations"
1346
+ ],
1347
+ "properties": {
1348
+ "support": {
1349
+ "enum": [
1350
+ "native",
1351
+ "adapter-provided",
1352
+ "conditional",
1353
+ "unsupported"
1354
+ ]
1355
+ },
1356
+ "evidence": {
1357
+ "type": "array",
1358
+ "items": {
1359
+ "type": "string",
1360
+ "minLength": 1
1361
+ },
1362
+ "minItems": 0,
1363
+ "uniqueItems": true
1364
+ },
1365
+ "prerequisites": {
1366
+ "type": "array",
1367
+ "items": {
1368
+ "type": "string",
1369
+ "minLength": 1
1370
+ },
1371
+ "minItems": 0,
1372
+ "uniqueItems": true
1373
+ },
1374
+ "limitations": {
1375
+ "type": "array",
1376
+ "items": {
1377
+ "type": "string",
1378
+ "minLength": 1
1379
+ },
1380
+ "minItems": 0,
1381
+ "uniqueItems": true
1382
+ }
1383
+ }
1384
+ },
1385
+ "local-models": {
1386
+ "type": "object",
1387
+ "additionalProperties": false,
1388
+ "required": [
1389
+ "support",
1390
+ "evidence",
1391
+ "prerequisites",
1392
+ "limitations"
1393
+ ],
1394
+ "properties": {
1395
+ "support": {
1396
+ "enum": [
1397
+ "native",
1398
+ "adapter-provided",
1399
+ "conditional",
1400
+ "unsupported"
1401
+ ]
1402
+ },
1403
+ "evidence": {
1404
+ "type": "array",
1405
+ "items": {
1406
+ "type": "string",
1407
+ "minLength": 1
1408
+ },
1409
+ "minItems": 0,
1410
+ "uniqueItems": true
1411
+ },
1412
+ "prerequisites": {
1413
+ "type": "array",
1414
+ "items": {
1415
+ "type": "string",
1416
+ "minLength": 1
1417
+ },
1418
+ "minItems": 0,
1419
+ "uniqueItems": true
1420
+ },
1421
+ "limitations": {
1422
+ "type": "array",
1423
+ "items": {
1424
+ "type": "string",
1425
+ "minLength": 1
1426
+ },
1427
+ "minItems": 0,
1428
+ "uniqueItems": true
1429
+ }
1430
+ }
1431
+ },
1432
+ "local-execution": {
1433
+ "type": "object",
1434
+ "additionalProperties": false,
1435
+ "required": [
1436
+ "support",
1437
+ "evidence",
1438
+ "prerequisites",
1439
+ "limitations"
1440
+ ],
1441
+ "properties": {
1442
+ "support": {
1443
+ "enum": [
1444
+ "native",
1445
+ "adapter-provided",
1446
+ "conditional",
1447
+ "unsupported"
1448
+ ]
1449
+ },
1450
+ "evidence": {
1451
+ "type": "array",
1452
+ "items": {
1453
+ "type": "string",
1454
+ "minLength": 1
1455
+ },
1456
+ "minItems": 0,
1457
+ "uniqueItems": true
1458
+ },
1459
+ "prerequisites": {
1460
+ "type": "array",
1461
+ "items": {
1462
+ "type": "string",
1463
+ "minLength": 1
1464
+ },
1465
+ "minItems": 0,
1466
+ "uniqueItems": true
1467
+ },
1468
+ "limitations": {
1469
+ "type": "array",
1470
+ "items": {
1471
+ "type": "string",
1472
+ "minLength": 1
1473
+ },
1474
+ "minItems": 0,
1475
+ "uniqueItems": true
1476
+ }
1477
+ }
1478
+ },
1479
+ "self-hosting": {
1480
+ "type": "object",
1481
+ "additionalProperties": false,
1482
+ "required": [
1483
+ "support",
1484
+ "evidence",
1485
+ "prerequisites",
1486
+ "limitations"
1487
+ ],
1488
+ "properties": {
1489
+ "support": {
1490
+ "enum": [
1491
+ "native",
1492
+ "adapter-provided",
1493
+ "conditional",
1494
+ "unsupported"
1495
+ ]
1496
+ },
1497
+ "evidence": {
1498
+ "type": "array",
1499
+ "items": {
1500
+ "type": "string",
1501
+ "minLength": 1
1502
+ },
1503
+ "minItems": 0,
1504
+ "uniqueItems": true
1505
+ },
1506
+ "prerequisites": {
1507
+ "type": "array",
1508
+ "items": {
1509
+ "type": "string",
1510
+ "minLength": 1
1511
+ },
1512
+ "minItems": 0,
1513
+ "uniqueItems": true
1514
+ },
1515
+ "limitations": {
1516
+ "type": "array",
1517
+ "items": {
1518
+ "type": "string",
1519
+ "minLength": 1
1520
+ },
1521
+ "minItems": 0,
1522
+ "uniqueItems": true
1523
+ }
1524
+ }
1525
+ },
1526
+ "managed-hosting": {
1527
+ "type": "object",
1528
+ "additionalProperties": false,
1529
+ "required": [
1530
+ "support",
1531
+ "evidence",
1532
+ "prerequisites",
1533
+ "limitations"
1534
+ ],
1535
+ "properties": {
1536
+ "support": {
1537
+ "enum": [
1538
+ "native",
1539
+ "adapter-provided",
1540
+ "conditional",
1541
+ "unsupported"
1542
+ ]
1543
+ },
1544
+ "evidence": {
1545
+ "type": "array",
1546
+ "items": {
1547
+ "type": "string",
1548
+ "minLength": 1
1549
+ },
1550
+ "minItems": 0,
1551
+ "uniqueItems": true
1552
+ },
1553
+ "prerequisites": {
1554
+ "type": "array",
1555
+ "items": {
1556
+ "type": "string",
1557
+ "minLength": 1
1558
+ },
1559
+ "minItems": 0,
1560
+ "uniqueItems": true
1561
+ },
1562
+ "limitations": {
1563
+ "type": "array",
1564
+ "items": {
1565
+ "type": "string",
1566
+ "minLength": 1
1567
+ },
1568
+ "minItems": 0,
1569
+ "uniqueItems": true
1570
+ }
1571
+ }
1572
+ }
1573
+ }
1574
+ },
1575
+ "detection": {
1576
+ "type": "object",
1577
+ "additionalProperties": false,
1578
+ "required": [
1579
+ "authoredMarkers",
1580
+ "generatedMarkers",
1581
+ "minimumAuthoredMarkers",
1582
+ "minimumConfidence"
1583
+ ],
1584
+ "properties": {
1585
+ "authoredMarkers": {
1586
+ "type": "array",
1587
+ "items": {
1588
+ "oneOf": [
1589
+ {
1590
+ "type": "object",
1591
+ "additionalProperties": false,
1592
+ "required": [
1593
+ "id",
1594
+ "weight",
1595
+ "kind",
1596
+ "path"
1597
+ ],
1598
+ "properties": {
1599
+ "id": {
1600
+ "type": "string",
1601
+ "pattern": "^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
1602
+ },
1603
+ "weight": {
1604
+ "type": "number",
1605
+ "exclusiveMinimum": 0,
1606
+ "maximum": 1
1607
+ },
1608
+ "kind": {
1609
+ "const": "path"
1610
+ },
1611
+ "path": {
1612
+ "type": "string",
1613
+ "minLength": 1,
1614
+ "not": {
1615
+ "anyOf": [
1616
+ {
1617
+ "pattern": "^/"
1618
+ },
1619
+ {
1620
+ "pattern": "^[A-Za-z]:[\\/]"
1621
+ },
1622
+ {
1623
+ "pattern": "(^|[\\/])\\.\\.([\\/]|$)"
1624
+ }
1625
+ ]
1626
+ }
1627
+ }
1628
+ }
1629
+ },
1630
+ {
1631
+ "type": "object",
1632
+ "additionalProperties": false,
1633
+ "required": [
1634
+ "id",
1635
+ "weight",
1636
+ "kind",
1637
+ "path",
1638
+ "needle",
1639
+ "maxBytes"
1640
+ ],
1641
+ "properties": {
1642
+ "id": {
1643
+ "type": "string",
1644
+ "pattern": "^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
1645
+ },
1646
+ "weight": {
1647
+ "type": "number",
1648
+ "exclusiveMinimum": 0,
1649
+ "maximum": 1
1650
+ },
1651
+ "kind": {
1652
+ "const": "file-content"
1653
+ },
1654
+ "path": {
1655
+ "type": "string",
1656
+ "minLength": 1,
1657
+ "not": {
1658
+ "anyOf": [
1659
+ {
1660
+ "pattern": "^/"
1661
+ },
1662
+ {
1663
+ "pattern": "^[A-Za-z]:[\\/]"
1664
+ },
1665
+ {
1666
+ "pattern": "(^|[\\/])\\.\\.([\\/]|$)"
1667
+ }
1668
+ ]
1669
+ }
1670
+ },
1671
+ "needle": {
1672
+ "type": "string",
1673
+ "minLength": 1,
1674
+ "maxLength": 256
1675
+ },
1676
+ "maxBytes": {
1677
+ "type": "integer",
1678
+ "minimum": 1,
1679
+ "maximum": 1048576
1680
+ }
1681
+ }
1682
+ },
1683
+ {
1684
+ "type": "object",
1685
+ "additionalProperties": false,
1686
+ "required": [
1687
+ "id",
1688
+ "weight",
1689
+ "kind",
1690
+ "ecosystem",
1691
+ "name",
1692
+ "match",
1693
+ "manifestPaths",
1694
+ "manifestSuffixes",
1695
+ "searchDepth"
1696
+ ],
1697
+ "properties": {
1698
+ "id": {
1699
+ "type": "string",
1700
+ "pattern": "^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
1701
+ },
1702
+ "weight": {
1703
+ "type": "number",
1704
+ "exclusiveMinimum": 0,
1705
+ "maximum": 1
1706
+ },
1707
+ "kind": {
1708
+ "const": "dependency"
1709
+ },
1710
+ "ecosystem": {
1711
+ "enum": [
1712
+ "npm",
1713
+ "pypi",
1714
+ "nuget"
1715
+ ]
1716
+ },
1717
+ "name": {
1718
+ "type": "string",
1719
+ "minLength": 1,
1720
+ "maxLength": 214
1721
+ },
1722
+ "match": {
1723
+ "enum": [
1724
+ "exact",
1725
+ "prefix"
1726
+ ]
1727
+ },
1728
+ "manifestPaths": {
1729
+ "type": "array",
1730
+ "minItems": 0,
1731
+ "uniqueItems": true,
1732
+ "items": {
1733
+ "type": "string",
1734
+ "minLength": 1,
1735
+ "not": {
1736
+ "anyOf": [
1737
+ {
1738
+ "pattern": "^/"
1739
+ },
1740
+ {
1741
+ "pattern": "^[A-Za-z]:[\\\\/]"
1742
+ },
1743
+ {
1744
+ "pattern": "(^|[\\\\/])\\.\\.([\\\\/]|$)"
1745
+ }
1746
+ ]
1747
+ }
1748
+ }
1749
+ },
1750
+ "manifestSuffixes": {
1751
+ "type": "array",
1752
+ "items": {
1753
+ "type": "string",
1754
+ "pattern": "^\\.[A-Za-z0-9._-]+$",
1755
+ "maxLength": 32
1756
+ },
1757
+ "maxItems": 16,
1758
+ "uniqueItems": true
1759
+ },
1760
+ "searchDepth": {
1761
+ "type": "integer",
1762
+ "minimum": 0,
1763
+ "maximum": 8
1764
+ }
1765
+ }
1766
+ }
1767
+ ]
1768
+ },
1769
+ "minItems": 1,
1770
+ "maxItems": 64
1771
+ },
1772
+ "generatedMarkers": {
1773
+ "type": "array",
1774
+ "items": {
1775
+ "oneOf": [
1776
+ {
1777
+ "type": "object",
1778
+ "additionalProperties": false,
1779
+ "required": [
1780
+ "id",
1781
+ "weight",
1782
+ "kind",
1783
+ "path"
1784
+ ],
1785
+ "properties": {
1786
+ "id": {
1787
+ "type": "string",
1788
+ "pattern": "^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
1789
+ },
1790
+ "weight": {
1791
+ "type": "number",
1792
+ "exclusiveMinimum": 0,
1793
+ "maximum": 1
1794
+ },
1795
+ "kind": {
1796
+ "const": "path"
1797
+ },
1798
+ "path": {
1799
+ "type": "string",
1800
+ "minLength": 1,
1801
+ "not": {
1802
+ "anyOf": [
1803
+ {
1804
+ "pattern": "^/"
1805
+ },
1806
+ {
1807
+ "pattern": "^[A-Za-z]:[\\/]"
1808
+ },
1809
+ {
1810
+ "pattern": "(^|[\\/])\\.\\.([\\/]|$)"
1811
+ }
1812
+ ]
1813
+ }
1814
+ }
1815
+ }
1816
+ },
1817
+ {
1818
+ "type": "object",
1819
+ "additionalProperties": false,
1820
+ "required": [
1821
+ "id",
1822
+ "weight",
1823
+ "kind",
1824
+ "path",
1825
+ "needle",
1826
+ "maxBytes"
1827
+ ],
1828
+ "properties": {
1829
+ "id": {
1830
+ "type": "string",
1831
+ "pattern": "^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
1832
+ },
1833
+ "weight": {
1834
+ "type": "number",
1835
+ "exclusiveMinimum": 0,
1836
+ "maximum": 1
1837
+ },
1838
+ "kind": {
1839
+ "const": "file-content"
1840
+ },
1841
+ "path": {
1842
+ "type": "string",
1843
+ "minLength": 1,
1844
+ "not": {
1845
+ "anyOf": [
1846
+ {
1847
+ "pattern": "^/"
1848
+ },
1849
+ {
1850
+ "pattern": "^[A-Za-z]:[\\/]"
1851
+ },
1852
+ {
1853
+ "pattern": "(^|[\\/])\\.\\.([\\/]|$)"
1854
+ }
1855
+ ]
1856
+ }
1857
+ },
1858
+ "needle": {
1859
+ "type": "string",
1860
+ "minLength": 1,
1861
+ "maxLength": 256
1862
+ },
1863
+ "maxBytes": {
1864
+ "type": "integer",
1865
+ "minimum": 1,
1866
+ "maximum": 1048576
1867
+ }
1868
+ }
1869
+ },
1870
+ {
1871
+ "type": "object",
1872
+ "additionalProperties": false,
1873
+ "required": [
1874
+ "id",
1875
+ "weight",
1876
+ "kind",
1877
+ "ecosystem",
1878
+ "name",
1879
+ "match",
1880
+ "manifestPaths",
1881
+ "manifestSuffixes",
1882
+ "searchDepth"
1883
+ ],
1884
+ "properties": {
1885
+ "id": {
1886
+ "type": "string",
1887
+ "pattern": "^[a-z0-9](?:[a-z0-9.-]*[a-z0-9])?$"
1888
+ },
1889
+ "weight": {
1890
+ "type": "number",
1891
+ "exclusiveMinimum": 0,
1892
+ "maximum": 1
1893
+ },
1894
+ "kind": {
1895
+ "const": "dependency"
1896
+ },
1897
+ "ecosystem": {
1898
+ "enum": [
1899
+ "npm",
1900
+ "pypi",
1901
+ "nuget"
1902
+ ]
1903
+ },
1904
+ "name": {
1905
+ "type": "string",
1906
+ "minLength": 1,
1907
+ "maxLength": 214
1908
+ },
1909
+ "match": {
1910
+ "enum": [
1911
+ "exact",
1912
+ "prefix"
1913
+ ]
1914
+ },
1915
+ "manifestPaths": {
1916
+ "type": "array",
1917
+ "minItems": 0,
1918
+ "uniqueItems": true,
1919
+ "items": {
1920
+ "type": "string",
1921
+ "minLength": 1,
1922
+ "not": {
1923
+ "anyOf": [
1924
+ {
1925
+ "pattern": "^/"
1926
+ },
1927
+ {
1928
+ "pattern": "^[A-Za-z]:[\\\\/]"
1929
+ },
1930
+ {
1931
+ "pattern": "(^|[\\\\/])\\.\\.([\\\\/]|$)"
1932
+ }
1933
+ ]
1934
+ }
1935
+ }
1936
+ },
1937
+ "manifestSuffixes": {
1938
+ "type": "array",
1939
+ "items": {
1940
+ "type": "string",
1941
+ "pattern": "^\\.[A-Za-z0-9._-]+$",
1942
+ "maxLength": 32
1943
+ },
1944
+ "maxItems": 16,
1945
+ "uniqueItems": true
1946
+ },
1947
+ "searchDepth": {
1948
+ "type": "integer",
1949
+ "minimum": 0,
1950
+ "maximum": 8
1951
+ }
1952
+ }
1953
+ }
1954
+ ]
1955
+ },
1956
+ "maxItems": 64
1957
+ },
1958
+ "minimumAuthoredMarkers": {
1959
+ "type": "integer",
1960
+ "minimum": 1
1961
+ },
1962
+ "minimumConfidence": {
1963
+ "type": "number",
1964
+ "exclusiveMinimum": 0,
1965
+ "maximum": 1
1966
+ }
1967
+ }
1968
+ },
1969
+ "ownership": {
1970
+ "type": "object",
1971
+ "additionalProperties": false,
1972
+ "required": [
1973
+ "canonicalTruth",
1974
+ "runtimeState",
1975
+ "sessionState",
1976
+ "mutationAdmission",
1977
+ "verificationOwner",
1978
+ "managedWritePolicy",
1979
+ "conflictPolicy",
1980
+ "managedRoots"
1981
+ ],
1982
+ "properties": {
1983
+ "canonicalTruth": {
1984
+ "const": "workspai"
1985
+ },
1986
+ "runtimeState": {
1987
+ "const": "framework"
1988
+ },
1989
+ "sessionState": {
1990
+ "const": "framework"
1991
+ },
1992
+ "mutationAdmission": {
1993
+ "const": "workspai-pcc"
1994
+ },
1995
+ "verificationOwner": {
1996
+ "const": "workspai-cli"
1997
+ },
1998
+ "managedWritePolicy": {
1999
+ "const": "owned-files-or-managed-sections"
2000
+ },
2001
+ "conflictPolicy": {
2002
+ "const": "preserve-user-content"
2003
+ },
2004
+ "managedRoots": {
2005
+ "type": "array",
2006
+ "minItems": 1,
2007
+ "uniqueItems": true,
2008
+ "items": {
2009
+ "type": "string",
2010
+ "minLength": 1,
2011
+ "not": {
2012
+ "anyOf": [
2013
+ {
2014
+ "pattern": "^/"
2015
+ },
2016
+ {
2017
+ "pattern": "^[A-Za-z]:[\\\\/]"
2018
+ },
2019
+ {
2020
+ "pattern": "(^|[\\\\/])\\.\\.([\\\\/]|$)"
2021
+ }
2022
+ ]
2023
+ }
2024
+ }
2025
+ }
2026
+ }
2027
+ },
2028
+ "security": {
2029
+ "type": "object",
2030
+ "additionalProperties": false,
2031
+ "required": [
2032
+ "secrets",
2033
+ "network",
2034
+ "generatedCodeExecution",
2035
+ "toolMutation",
2036
+ "untrustedInput",
2037
+ "telemetrySensitiveData"
2038
+ ],
2039
+ "properties": {
2040
+ "secrets": {
2041
+ "const": "references-only"
2042
+ },
2043
+ "network": {
2044
+ "const": "deny-unless-explicitly-granted"
2045
+ },
2046
+ "generatedCodeExecution": {
2047
+ "const": "disabled-unless-explicitly-granted"
2048
+ },
2049
+ "toolMutation": {
2050
+ "const": "approval-required"
2051
+ },
2052
+ "untrustedInput": {
2053
+ "const": "isolated"
2054
+ },
2055
+ "telemetrySensitiveData": {
2056
+ "const": "redacted"
2057
+ }
2058
+ }
2059
+ },
2060
+ "bindings": {
2061
+ "type": "object",
2062
+ "additionalProperties": false,
2063
+ "required": [
2064
+ "contextInputs",
2065
+ "evidenceInputs",
2066
+ "mutationGateway",
2067
+ "verificationGateway",
2068
+ "projectionPolicy"
2069
+ ],
2070
+ "properties": {
2071
+ "contextInputs": {
2072
+ "type": "array",
2073
+ "minItems": 1,
2074
+ "uniqueItems": true,
2075
+ "items": {
2076
+ "type": "string",
2077
+ "minLength": 1,
2078
+ "not": {
2079
+ "anyOf": [
2080
+ {
2081
+ "pattern": "^/"
2082
+ },
2083
+ {
2084
+ "pattern": "^[A-Za-z]:[\\\\/]"
2085
+ },
2086
+ {
2087
+ "pattern": "(^|[\\\\/])\\.\\.([\\\\/]|$)"
2088
+ }
2089
+ ]
2090
+ }
2091
+ }
2092
+ },
2093
+ "evidenceInputs": {
2094
+ "type": "array",
2095
+ "minItems": 1,
2096
+ "uniqueItems": true,
2097
+ "items": {
2098
+ "type": "string",
2099
+ "minLength": 1,
2100
+ "not": {
2101
+ "anyOf": [
2102
+ {
2103
+ "pattern": "^/"
2104
+ },
2105
+ {
2106
+ "pattern": "^[A-Za-z]:[\\\\/]"
2107
+ },
2108
+ {
2109
+ "pattern": "(^|[\\\\/])\\.\\.([\\\\/]|$)"
2110
+ }
2111
+ ]
2112
+ }
2113
+ }
2114
+ },
2115
+ "mutationGateway": {
2116
+ "const": "proof-carrying-change"
2117
+ },
2118
+ "verificationGateway": {
2119
+ "const": "workspace-verify"
2120
+ },
2121
+ "projectionPolicy": {
2122
+ "const": "references-and-bounded-projections-only"
2123
+ }
2124
+ }
2125
+ }
2126
+ }
2127
+ }