workspai 0.43.1 → 0.44.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.
Files changed (134) hide show
  1. package/README.md +23 -10
  2. package/contracts/agent-customization-pack.v1.json +1 -1
  3. package/contracts/autopilot-release.v1.json +204 -0
  4. package/contracts/cli-operation-result.v1.json +119 -0
  5. package/contracts/command-capabilities.v1.json +138 -0
  6. package/contracts/compatibility-matrix.v1.json +37 -0
  7. package/contracts/create-planner-capabilities.v1.json +156 -65
  8. package/contracts/doctor-project-scan.v2.json +60 -0
  9. package/contracts/doctor-remediation-plan.v1.json +19 -4
  10. package/contracts/doctor-remediation-plan.v2.json +7 -0
  11. package/contracts/doctor-workspace-cache.v2.json +82 -0
  12. package/contracts/extension-cli-compatibility.v1.json +47 -3
  13. package/contracts/infra-plan.v1.json +189 -0
  14. package/contracts/private-product-manifest.v1.json +155 -0
  15. package/contracts/product-factory-plan.v1.json +200 -0
  16. package/contracts/project-archive.v1.json +40 -0
  17. package/contracts/project-entry-capability.v1.json +127 -0
  18. package/contracts/published-contract-catalog.v1.json +334 -0
  19. package/contracts/runtime-command-surface.v1.json +239 -10
  20. package/contracts/version.v1.json +48 -0
  21. package/contracts/workspace-archive-capabilities.v1.json +90 -0
  22. package/contracts/workspace-archive-manifest.v1.json +107 -0
  23. package/contracts/workspace-archive-operation-result.v1.json +565 -0
  24. package/contracts/workspace-intelligence/agent-customization-pack-report.v1.json +98 -0
  25. package/contracts/workspace-intelligence/agent-hooks.v1.json +38 -0
  26. package/contracts/workspace-intelligence/agent-reports-index.v1.json +56 -0
  27. package/contracts/workspace-intelligence/mcp-design.v1.json +42 -0
  28. package/contracts/workspace-intelligence/workspace-context.v1.json +12 -0
  29. package/contracts/workspace-intelligence/workspace-explain.v1.json +1 -0
  30. package/contracts/workspace-intelligence-architecture.v1.json +723 -0
  31. package/contracts/workspace-intelligence-chain.v1.json +1194 -0
  32. package/contracts/workspace-list.v1.json +56 -0
  33. package/contracts/workspace-model-cache.v1.json +55 -0
  34. package/contracts/workspace-snapshot.v1.json +58 -0
  35. package/contracts/workspace-snapshot.v2.json +97 -0
  36. package/contracts/workspace-sync.v1.json +30 -0
  37. package/contracts/workspace-watch-event.v1.json +112 -0
  38. package/dist/analyze-6OCBM4ID.js +1 -0
  39. package/dist/{artifact-remediation-plan-244S5K6I.js → artifact-remediation-plan-Z7OCSME3.js} +2 -2
  40. package/dist/autopilot-release-LI2WJCEW.js +1 -0
  41. package/dist/{chunk-LZQNVH7D.js → chunk-2K3GYCPS.js} +1 -1
  42. package/dist/chunk-2QN6BMM7.js +2 -0
  43. package/dist/chunk-2QOWRBQD.js +1 -0
  44. package/dist/chunk-5AKYMAIL.js +1 -0
  45. package/dist/{chunk-FDDDQMJ2.js → chunk-5PVEQ6CZ.js} +1 -1
  46. package/dist/{chunk-DOCPUNWS.js → chunk-7EIMPQR3.js} +1 -1
  47. package/dist/{chunk-U6AXYUQY.js → chunk-7IHLTPZ6.js} +1 -1
  48. package/dist/chunk-7RIWU5TZ.js +1 -0
  49. package/dist/chunk-B66A4TVP.js +1 -0
  50. package/dist/chunk-CL6TGI4Q.js +8 -0
  51. package/dist/chunk-FWJV7CCI.js +2 -0
  52. package/dist/chunk-J4AICQFB.js +1 -0
  53. package/dist/chunk-JICOD2GI.js +1 -0
  54. package/dist/{chunk-EMTQ6OKI.js → chunk-JP25YL3J.js} +1 -1
  55. package/dist/chunk-L2Q7B2OJ.js +1 -0
  56. package/dist/chunk-L3E6IRUQ.js +8 -0
  57. package/dist/chunk-LG6RFLPZ.js +1 -0
  58. package/dist/chunk-LGP6WXS2.js +4 -0
  59. package/dist/{chunk-ONU457VN.js → chunk-M4VITK6X.js} +52 -50
  60. package/dist/chunk-NTXO7BMH.js +4 -0
  61. package/dist/{chunk-PPHTYJ7G.js → chunk-OW4UNG27.js} +36 -37
  62. package/dist/chunk-P4SWTY5X.js +33 -0
  63. package/dist/chunk-TRMDODFM.js +13 -0
  64. package/dist/chunk-UNF72FTB.js +1 -0
  65. package/dist/chunk-V5JN4TDX.js +2 -0
  66. package/dist/chunk-VA5MRHKM.js +2 -0
  67. package/dist/chunk-XIVFLY6G.js +1 -0
  68. package/dist/chunk-YUX4YFGL.js +78 -0
  69. package/dist/{create-42RTNLH2.js → create-DFAWAS5C.js} +1 -1
  70. package/dist/doctor-PVSWDBJL.js +1 -0
  71. package/dist/index.d.ts +250 -24
  72. package/dist/index.js +194 -195
  73. package/dist/pipeline-ND734AJM.js +5 -0
  74. package/dist/{platform-capabilities-XAVU4HSM.js → platform-capabilities-YICBF4FA.js} +1 -1
  75. package/dist/{pythonRapidkitExec-GCQ3M46E.js → pythonRapidkitExec-UJYIB6FL.js} +1 -1
  76. package/dist/{workspace-DZHWB7BV.js → workspace-FQT3QIRS.js} +1 -1
  77. package/dist/workspace-agent-sync-ZYCPXTU3.js +1 -0
  78. package/dist/workspace-archive-EEGLHZDW.js +10 -0
  79. package/dist/workspace-context-WAGGJCDL.js +1 -0
  80. package/dist/{workspace-contract-2TA27LGT.js → workspace-contract-SEI4SNSG.js} +1 -1
  81. package/dist/workspace-explain-MVGGRCDN.js +1 -0
  82. package/dist/workspace-explain-contract-KT757JGQ.js +1 -0
  83. package/dist/{workspace-feedback-R6H4UFZB.js → workspace-feedback-RCB25NFO.js} +1 -1
  84. package/dist/{workspace-foundation-FQWHPQGX.js → workspace-foundation-KXDL6P6X.js} +1 -1
  85. package/dist/{workspace-history-CGCK2DJI.js → workspace-history-M4QQBIPB.js} +1 -1
  86. package/dist/workspace-intelligence-QOGD2TZS.js +1 -0
  87. package/dist/workspace-mcp-serve-CEFKEMYG.js +3 -0
  88. package/dist/{workspace-model-F3B75TYT.js → workspace-model-GMSRBICO.js} +1 -1
  89. package/dist/workspace-registry-summary-S52SEJAG.js +1 -0
  90. package/dist/workspace-run-VC4OUPRF.js +1 -0
  91. package/dist/{workspace-verify-OAATQV5T.js → workspace-verify-NP4GMFSV.js} +1 -1
  92. package/dist/workspace-watch-IIBH3Y25.js +1 -0
  93. package/docs/AI_FEATURES.md +67 -34
  94. package/docs/README.md +2 -1
  95. package/docs/commands-reference.md +26 -14
  96. package/docs/contracts/ARTIFACT_CATALOG.md +60 -36
  97. package/docs/contracts/README.md +3 -2
  98. package/docs/create-planner-capabilities.md +36 -18
  99. package/docs/workspace-operations.md +25 -0
  100. package/package.json +26 -14
  101. package/scripts/enterprise-package-smoke.mjs +40 -8
  102. package/scripts/prepack-enterprise.mjs +8 -0
  103. package/dist/analyze-5BU4QIPK.js +0 -1
  104. package/dist/autopilot-release-45YVOBQO.js +0 -1
  105. package/dist/chunk-3QVTWKUI.js +0 -4
  106. package/dist/chunk-753LOKFZ.js +0 -2
  107. package/dist/chunk-AMDKXXLP.js +0 -1
  108. package/dist/chunk-AQ4XZZC6.js +0 -1
  109. package/dist/chunk-CDE4Q77U.js +0 -2
  110. package/dist/chunk-DNAY5ALC.js +0 -1
  111. package/dist/chunk-FHSMY75W.js +0 -1
  112. package/dist/chunk-FM7GMFZA.js +0 -2
  113. package/dist/chunk-HV5ZFXAZ.js +0 -13
  114. package/dist/chunk-LRW2SAGL.js +0 -4
  115. package/dist/chunk-LTWYYP6E.js +0 -7
  116. package/dist/chunk-NAAQMSO3.js +0 -1
  117. package/dist/chunk-NFUXULIF.js +0 -1
  118. package/dist/chunk-OL64GWQC.js +0 -9
  119. package/dist/chunk-SI3AQKIP.js +0 -1
  120. package/dist/chunk-TH5Y3EMA.js +0 -33
  121. package/dist/chunk-UQKCCWUL.js +0 -78
  122. package/dist/chunk-XNGANEXM.js +0 -2
  123. package/dist/doctor-DK4BON3N.js +0 -1
  124. package/dist/pipeline-HQ57V6OZ.js +0 -5
  125. package/dist/workspace-agent-sync-5ADIQS7B.js +0 -1
  126. package/dist/workspace-archive-GCZNI44O.js +0 -3
  127. package/dist/workspace-context-GEXDHA7A.js +0 -1
  128. package/dist/workspace-explain-D5NNL3NG.js +0 -1
  129. package/dist/workspace-explain-contract-DNS2YEL7.js +0 -1
  130. package/dist/workspace-intelligence-BEM6WGCZ.js +0 -1
  131. package/dist/workspace-mcp-serve-OMBA5V3C.js +0 -3
  132. package/dist/workspace-registry-summary-6MFBRWDS.js +0 -1
  133. package/dist/workspace-run-3WJXIQKR.js +0 -1
  134. package/dist/workspace-watch-HU2OTQ52.js +0 -1
@@ -0,0 +1,565 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/contracts/workspace-archive-operation-result.v1.json",
4
+ "title": "Workspai Workspace Archive Operation Result v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "operation",
10
+ "status"
11
+ ],
12
+ "properties": {
13
+ "schemaVersion": {
14
+ "const": "workspai-workspace-archive-operation-result-v1"
15
+ },
16
+ "operation": {
17
+ "enum": [
18
+ "export",
19
+ "inspect",
20
+ "verify",
21
+ "doctor",
22
+ "hydrate"
23
+ ]
24
+ },
25
+ "status": {
26
+ "enum": [
27
+ "passed",
28
+ "warning",
29
+ "failed",
30
+ "error"
31
+ ]
32
+ },
33
+ "archivePath": {
34
+ "type": "string",
35
+ "minLength": 1
36
+ },
37
+ "outputPath": {
38
+ "type": "string",
39
+ "minLength": 1
40
+ },
41
+ "dryRun": {
42
+ "type": "boolean"
43
+ },
44
+ "archivePathOrUrl": {
45
+ "type": "string",
46
+ "minLength": 1
47
+ },
48
+ "timestamp": {
49
+ "type": "string",
50
+ "format": "date-time"
51
+ },
52
+ "error": {
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "required": [
56
+ "code",
57
+ "message"
58
+ ],
59
+ "properties": {
60
+ "code": {
61
+ "type": "string",
62
+ "minLength": 1
63
+ },
64
+ "message": {
65
+ "type": "string",
66
+ "minLength": 1
67
+ }
68
+ }
69
+ },
70
+ "manifest": {
71
+ "anyOf": [
72
+ {
73
+ "$ref": "#/$defs/manifest"
74
+ },
75
+ {
76
+ "type": "null"
77
+ }
78
+ ]
79
+ },
80
+ "bytesWritten": {
81
+ "type": "integer",
82
+ "minimum": 0
83
+ },
84
+ "workspaceName": {
85
+ "type": "string",
86
+ "minLength": 1
87
+ },
88
+ "fileCount": {
89
+ "type": "integer",
90
+ "minimum": 0
91
+ },
92
+ "totalBytes": {
93
+ "type": "integer",
94
+ "minimum": 0
95
+ },
96
+ "verifiedFiles": {
97
+ "type": "integer",
98
+ "minimum": 0
99
+ },
100
+ "missingChecksumFiles": {
101
+ "$ref": "#/$defs/pathList"
102
+ },
103
+ "missingArchiveEntries": {
104
+ "$ref": "#/$defs/pathList"
105
+ },
106
+ "extraArchiveEntries": {
107
+ "$ref": "#/$defs/pathList"
108
+ },
109
+ "recommendedActions": {
110
+ "type": "array",
111
+ "items": {
112
+ "type": "string"
113
+ }
114
+ },
115
+ "entries": {
116
+ "type": "array",
117
+ "items": {
118
+ "type": "object",
119
+ "additionalProperties": false,
120
+ "required": [
121
+ "path",
122
+ "size",
123
+ "hasChecksum"
124
+ ],
125
+ "properties": {
126
+ "path": {
127
+ "type": "string",
128
+ "minLength": 1
129
+ },
130
+ "size": {
131
+ "type": "integer",
132
+ "minimum": 0
133
+ },
134
+ "hasChecksum": {
135
+ "type": "boolean"
136
+ }
137
+ }
138
+ }
139
+ },
140
+ "files": {
141
+ "type": "array",
142
+ "items": {
143
+ "type": "object",
144
+ "additionalProperties": false,
145
+ "required": [
146
+ "path",
147
+ "size"
148
+ ],
149
+ "properties": {
150
+ "path": {
151
+ "type": "string",
152
+ "minLength": 1
153
+ },
154
+ "size": {
155
+ "type": "integer",
156
+ "minimum": 0
157
+ }
158
+ }
159
+ }
160
+ },
161
+ "mismatches": {
162
+ "type": "array",
163
+ "items": {
164
+ "type": "object",
165
+ "additionalProperties": false,
166
+ "required": [
167
+ "path",
168
+ "expected",
169
+ "actual"
170
+ ],
171
+ "properties": {
172
+ "path": {
173
+ "type": "string",
174
+ "minLength": 1
175
+ },
176
+ "expected": {
177
+ "type": "object",
178
+ "additionalProperties": false,
179
+ "properties": {
180
+ "size": {
181
+ "type": "integer",
182
+ "minimum": 0
183
+ },
184
+ "sha256": {
185
+ "type": "string",
186
+ "pattern": "^[a-f0-9]{64}$"
187
+ }
188
+ }
189
+ },
190
+ "actual": {
191
+ "type": "object",
192
+ "additionalProperties": false,
193
+ "required": [
194
+ "size",
195
+ "sha256"
196
+ ],
197
+ "properties": {
198
+ "size": {
199
+ "type": "integer",
200
+ "minimum": 0
201
+ },
202
+ "sha256": {
203
+ "type": "string",
204
+ "pattern": "^[a-f0-9]{64}$"
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ },
211
+ "checks": {
212
+ "type": "array",
213
+ "items": {
214
+ "type": "object",
215
+ "additionalProperties": false,
216
+ "required": [
217
+ "id",
218
+ "status",
219
+ "message"
220
+ ],
221
+ "properties": {
222
+ "id": {
223
+ "type": "string",
224
+ "minLength": 1
225
+ },
226
+ "status": {
227
+ "enum": [
228
+ "passed",
229
+ "warning",
230
+ "failed"
231
+ ]
232
+ },
233
+ "message": {
234
+ "type": "string"
235
+ }
236
+ }
237
+ }
238
+ }
239
+ },
240
+ "allOf": [
241
+ {
242
+ "if": {
243
+ "properties": {
244
+ "operation": {
245
+ "const": "export"
246
+ },
247
+ "status": {
248
+ "enum": [
249
+ "passed",
250
+ "warning",
251
+ "failed"
252
+ ]
253
+ }
254
+ },
255
+ "required": [
256
+ "operation",
257
+ "status"
258
+ ]
259
+ },
260
+ "then": {
261
+ "properties": {
262
+ "archivePath": true,
263
+ "manifest": true,
264
+ "bytesWritten": true
265
+ },
266
+ "required": [
267
+ "archivePath",
268
+ "manifest",
269
+ "bytesWritten"
270
+ ]
271
+ }
272
+ },
273
+ {
274
+ "if": {
275
+ "properties": {
276
+ "operation": {
277
+ "const": "inspect"
278
+ },
279
+ "status": {
280
+ "enum": [
281
+ "passed",
282
+ "warning",
283
+ "failed"
284
+ ]
285
+ }
286
+ },
287
+ "required": [
288
+ "operation",
289
+ "status"
290
+ ]
291
+ },
292
+ "then": {
293
+ "properties": {
294
+ "archivePath": true,
295
+ "manifest": true,
296
+ "fileCount": true,
297
+ "totalBytes": true,
298
+ "entries": true
299
+ },
300
+ "required": [
301
+ "archivePath",
302
+ "manifest",
303
+ "fileCount",
304
+ "totalBytes",
305
+ "entries"
306
+ ]
307
+ }
308
+ },
309
+ {
310
+ "if": {
311
+ "properties": {
312
+ "operation": {
313
+ "const": "verify"
314
+ },
315
+ "status": {
316
+ "enum": [
317
+ "passed",
318
+ "warning",
319
+ "failed"
320
+ ]
321
+ }
322
+ },
323
+ "required": [
324
+ "operation",
325
+ "status"
326
+ ]
327
+ },
328
+ "then": {
329
+ "properties": {
330
+ "archivePath": true,
331
+ "manifest": true,
332
+ "fileCount": true,
333
+ "totalBytes": true,
334
+ "verifiedFiles": true,
335
+ "missingChecksumFiles": true,
336
+ "missingArchiveEntries": true,
337
+ "extraArchiveEntries": true,
338
+ "mismatches": true
339
+ },
340
+ "required": [
341
+ "archivePath",
342
+ "manifest",
343
+ "fileCount",
344
+ "totalBytes",
345
+ "verifiedFiles",
346
+ "missingChecksumFiles",
347
+ "missingArchiveEntries",
348
+ "extraArchiveEntries",
349
+ "mismatches"
350
+ ]
351
+ }
352
+ },
353
+ {
354
+ "if": {
355
+ "properties": {
356
+ "operation": {
357
+ "const": "doctor"
358
+ },
359
+ "status": {
360
+ "enum": [
361
+ "passed",
362
+ "warning",
363
+ "failed"
364
+ ]
365
+ }
366
+ },
367
+ "required": [
368
+ "operation",
369
+ "status"
370
+ ]
371
+ },
372
+ "then": {
373
+ "properties": {
374
+ "archivePath": true,
375
+ "workspaceName": true,
376
+ "fileCount": true,
377
+ "totalBytes": true,
378
+ "checks": true,
379
+ "recommendedActions": true
380
+ },
381
+ "required": [
382
+ "archivePath",
383
+ "workspaceName",
384
+ "fileCount",
385
+ "totalBytes",
386
+ "checks",
387
+ "recommendedActions"
388
+ ]
389
+ }
390
+ },
391
+ {
392
+ "if": {
393
+ "properties": {
394
+ "operation": {
395
+ "const": "hydrate"
396
+ },
397
+ "status": {
398
+ "enum": [
399
+ "passed",
400
+ "warning",
401
+ "failed"
402
+ ]
403
+ }
404
+ },
405
+ "required": [
406
+ "operation",
407
+ "status"
408
+ ]
409
+ },
410
+ "then": {
411
+ "properties": {
412
+ "archivePath": true,
413
+ "outputPath": true,
414
+ "dryRun": true,
415
+ "manifest": true,
416
+ "files": true
417
+ },
418
+ "required": [
419
+ "archivePath",
420
+ "outputPath",
421
+ "dryRun",
422
+ "manifest",
423
+ "files"
424
+ ]
425
+ }
426
+ },
427
+ {
428
+ "if": {
429
+ "properties": {
430
+ "status": {
431
+ "const": "error"
432
+ }
433
+ },
434
+ "required": [
435
+ "status"
436
+ ]
437
+ },
438
+ "then": {
439
+ "properties": {
440
+ "archivePathOrUrl": true,
441
+ "timestamp": true,
442
+ "error": true
443
+ },
444
+ "required": [
445
+ "timestamp",
446
+ "error"
447
+ ]
448
+ }
449
+ }
450
+ ],
451
+ "$defs": {
452
+ "manifest": {
453
+ "type": "object",
454
+ "additionalProperties": false,
455
+ "required": [
456
+ "version",
457
+ "kind",
458
+ "workspaceName",
459
+ "exportedAt",
460
+ "security",
461
+ "files"
462
+ ],
463
+ "properties": {
464
+ "schemaVersion": {
465
+ "const": "workspai-workspace-archive-manifest-v1"
466
+ },
467
+ "version": {
468
+ "const": 1
469
+ },
470
+ "kind": {
471
+ "const": "workspai.workspace.archive"
472
+ },
473
+ "workspaceName": {
474
+ "type": "string",
475
+ "minLength": 1
476
+ },
477
+ "exportedAt": {
478
+ "type": "string",
479
+ "format": "date-time"
480
+ },
481
+ "exportedBy": {
482
+ "enum": [
483
+ "workspai",
484
+ "workspai-vscode"
485
+ ]
486
+ },
487
+ "archiveFormat": {
488
+ "enum": [
489
+ "zip-store",
490
+ "zip-deflate"
491
+ ]
492
+ },
493
+ "containerFormat": {
494
+ "enum": [
495
+ "zip",
496
+ "zip64"
497
+ ]
498
+ },
499
+ "compression": {
500
+ "enum": [
501
+ "store",
502
+ "deflate"
503
+ ]
504
+ },
505
+ "streaming": {
506
+ "type": "boolean"
507
+ },
508
+ "security": {
509
+ "type": "object",
510
+ "additionalProperties": false,
511
+ "required": [
512
+ "envFilesIncluded",
513
+ "excludedByDefault"
514
+ ],
515
+ "properties": {
516
+ "envFilesIncluded": {
517
+ "type": "boolean"
518
+ },
519
+ "excludedByDefault": {
520
+ "type": "array",
521
+ "items": {
522
+ "type": "string"
523
+ },
524
+ "uniqueItems": true
525
+ }
526
+ }
527
+ },
528
+ "files": {
529
+ "type": "array",
530
+ "items": {
531
+ "type": "object",
532
+ "additionalProperties": false,
533
+ "required": [
534
+ "path",
535
+ "size",
536
+ "sha256"
537
+ ],
538
+ "properties": {
539
+ "path": {
540
+ "type": "string",
541
+ "minLength": 1
542
+ },
543
+ "size": {
544
+ "type": "integer",
545
+ "minimum": 0
546
+ },
547
+ "sha256": {
548
+ "type": "string",
549
+ "pattern": "^[a-f0-9]{64}$"
550
+ }
551
+ }
552
+ }
553
+ }
554
+ }
555
+ },
556
+ "pathList": {
557
+ "type": "array",
558
+ "items": {
559
+ "type": "string",
560
+ "minLength": 1
561
+ },
562
+ "uniqueItems": true
563
+ }
564
+ }
565
+ }
@@ -0,0 +1,98 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/agent-customization-pack-report.v1.json",
4
+ "title": "Workspai Agent Customization Pack Report",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "generatedAt",
10
+ "workspaceRoot",
11
+ "preset",
12
+ "targets",
13
+ "sourceReports",
14
+ "intelligenceChain",
15
+ "outputInventory",
16
+ "capabilityMatrix",
17
+ "drift",
18
+ "answerContract",
19
+ "refreshCommand",
20
+ "experimental"
21
+ ],
22
+ "properties": {
23
+ "schemaVersion": { "const": "rapidkit-agent-customization-pack.v1" },
24
+ "generatedAt": { "type": "string", "format": "date-time" },
25
+ "workspaceRoot": { "type": "string", "minLength": 1 },
26
+ "preset": { "enum": ["minimal", "enterprise"] },
27
+ "targets": {
28
+ "type": "array",
29
+ "items": {
30
+ "enum": ["all", "vscode", "agents", "copilot", "cursor", "claude", "codex", "orca"]
31
+ }
32
+ },
33
+ "sourceReports": { "type": "array", "items": { "type": "string", "minLength": 1 } },
34
+ "intelligenceChain": {
35
+ "type": "object",
36
+ "additionalProperties": false,
37
+ "required": ["schemaVersion", "contractPath", "currentStep"],
38
+ "properties": {
39
+ "schemaVersion": { "type": "string", "minLength": 1 },
40
+ "contractPath": { "type": "string", "minLength": 1 },
41
+ "currentStep": { "const": "agent-sync" }
42
+ }
43
+ },
44
+ "outputInventory": {
45
+ "type": "array",
46
+ "items": {
47
+ "type": "object",
48
+ "additionalProperties": false,
49
+ "required": ["path", "kind", "targets", "required", "status"],
50
+ "properties": {
51
+ "path": { "type": "string", "minLength": 1 },
52
+ "kind": {
53
+ "enum": [
54
+ "report",
55
+ "grounding",
56
+ "instruction",
57
+ "prompt",
58
+ "skill",
59
+ "skill-resource",
60
+ "operational-skill",
61
+ "skills-index",
62
+ "explain-report",
63
+ "agent",
64
+ "rule",
65
+ "hook",
66
+ "mcp-design"
67
+ ]
68
+ },
69
+ "targets": { "type": "array", "items": { "type": "string" } },
70
+ "required": { "type": "boolean" },
71
+ "status": { "enum": ["written", "planned", "skipped"] }
72
+ }
73
+ }
74
+ },
75
+ "capabilityMatrix": { "type": "object", "additionalProperties": true },
76
+ "drift": {
77
+ "type": "object",
78
+ "additionalProperties": false,
79
+ "required": ["missingRequired", "staleReports", "strictViolations"],
80
+ "properties": {
81
+ "missingRequired": { "type": "array", "items": { "type": "string" } },
82
+ "staleReports": { "type": "array", "items": { "type": "string" } },
83
+ "strictViolations": { "type": "array", "items": { "type": "string" } }
84
+ }
85
+ },
86
+ "answerContract": { "type": "array", "items": { "type": "string" } },
87
+ "refreshCommand": { "type": "string", "minLength": 1 },
88
+ "experimental": {
89
+ "type": "object",
90
+ "additionalProperties": false,
91
+ "required": ["hooksEnabled", "mcpReady"],
92
+ "properties": {
93
+ "hooksEnabled": { "type": "boolean" },
94
+ "mcpReady": { "type": "boolean" }
95
+ }
96
+ }
97
+ }
98
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "required": [
5
+ "schemaVersion",
6
+ "generatedAt",
7
+ "workspaceRoot",
8
+ "enabledByDefault",
9
+ "mode",
10
+ "hooks"
11
+ ],
12
+ "properties": {
13
+ "schemaVersion": {
14
+ "const": "workspai-agent-hooks.v1"
15
+ },
16
+ "generatedAt": {
17
+ "type": "string",
18
+ "format": "date-time"
19
+ },
20
+ "workspaceRoot": {
21
+ "type": "string",
22
+ "minLength": 1
23
+ },
24
+ "enabledByDefault": {
25
+ "type": "boolean"
26
+ },
27
+ "mode": {
28
+ "const": "advisory"
29
+ },
30
+ "hooks": {
31
+ "type": "array",
32
+ "items": {
33
+ "type": "object"
34
+ }
35
+ }
36
+ },
37
+ "additionalProperties": true
38
+ }