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
package/README.md CHANGED
@@ -81,15 +81,15 @@ npx workspai pipeline --json --strict
81
81
  Workspai does not pretend every technology is a native scaffold. It uses a
82
82
  create planner contract to choose the safest path:
83
83
 
84
- | Lane | Use when | Result |
85
- | ----------------------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
86
- | `native-create` | Workspai owns the scaffold contract | Create the project with a first-class kit |
87
- | `external-create-adopt` | The ecosystem has an official generator, but Workspai does not own the post-create contract yet | Use the ecosystem generator, then adopt into Workspace Intelligence |
88
- | `adopt-only` | The project already exists or native create is not supported | Register, model, verify, and govern the project without scaffolding it |
84
+ | Lane | Use when | Result |
85
+ | ---------- | ----------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
86
+ | `native` | Workspai owns the scaffold contract | Create the project with a first-class Workspai kit |
87
+ | `official` | The ecosystem has an official generator | Run an available official generator and register it, or adopt planned handoffs |
88
+ | `existing` | The project already exists, or no create path is available or necessary | Register, model, verify, and govern the project without scaffolding it |
89
89
 
90
- Native create includes FastAPI, NestJS, Go, Spring Boot, .NET, and official
91
- frontend generators such as Next.js, Vite, Nuxt, Angular, Astro, Remix, and
92
- SvelteKit.
90
+ Native create is reserved for Workspai-owned kits such as FastAPI, NestJS,
91
+ Go, Spring Boot, and .NET. Official generator paths cover frontend frameworks
92
+ such as Next.js, Vite, Nuxt, Angular, Astro, Remix, and SvelteKit.
93
93
 
94
94
  External ecosystems such as WordPress, Laravel, Symfony, Rails, and generic PHP
95
95
  projects can still enter Workspai through adopt/import and receive workspace
@@ -171,7 +171,7 @@ For the visual experience, install the [Workspai VS Code extension](https://mark
171
171
  | --------------------------------------------- | -------------------------------------------------------------------------------------------- |
172
172
  | What projects exist in this workspace? | `workspace model --json` |
173
173
  | What context should AI agents receive? | `workspace context --for-agent --json --write` |
174
- | What breaks if I change this? | `workspace impact --from <snapshot>` |
174
+ | What breaks if I change this? | `workspace impact --from .workspai/reports/workspace-model-diff-last-run.json` |
175
175
  | Why is release blocked? | `workspace explain release-blocked --json --write` |
176
176
  | Trace a diff through blast radius and gates? | `workspace trace --from .workspai/reports/workspace-model-diff-last-run.json --json --write` |
177
177
  | What should Studio do for blocked artifacts? | `workspace remediation-plan --ci --json --write` |
@@ -315,6 +315,19 @@ assistance, and release decisions backed by evidence instead of guesswork.
315
315
 
316
316
  Workspace Intelligence provides a shared understanding of projects, dependencies, operational context, and release readiness for developers, CI pipelines, and AI agents.
317
317
 
318
+ The canonical execution order is versioned in
319
+ [`contracts/workspace-intelligence-chain.v1.json`](contracts/workspace-intelligence-chain.v1.json).
320
+ CLI, IDE, CI, agent grounding, documentation, and diagrams must consume that
321
+ contract instead of maintaining independent command sequences. It currently defines:
322
+
323
+ ```text
324
+ Model -> Snapshot -> Diff -> Impact -> Doctor -> Contract Verify -> Readiness
325
+ -> Verify -> Context -> Agent Sync -> Explain
326
+ ```
327
+
328
+ Each contracted step declares its command, dependencies, consumed and produced
329
+ artifacts, and whether a non-zero structured verdict continues or stops the chain.
330
+
318
331
  | Command | Purpose |
319
332
  | ------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
320
333
  | `workspace model [--cache\|--incremental] --json` | Canonical workspace model (graph-aware, incremental rebuilds) |
@@ -508,7 +521,7 @@ cd <project-name> && npx workspai init && npx workspai dev
508
521
 
509
522
  Backend kits: `fastapi.standard`, `nestjs.standard`, `springboot.standard`, `gofiber.standard`, `dotnet.webapi.clean`, and more.
510
523
 
511
- Frontend kits: `nextjs`, `remix`, `vite-react`, `nuxt`, `angular`, `astro`, `sveltekit`, and more — same command shape:
524
+ Frontend generators: `nextjs`, `remix`, `vite-react`, `nuxt`, `angular`, `astro`, `sveltekit`, and more — same command shape:
512
525
 
513
526
  ```bash
514
527
  npx workspai create project <kit> <name>
@@ -1,5 +1,5 @@
1
1
  {
2
- "schemaVersion": "rapidkit-agent-customization-pack.v1",
2
+ "schemaVersion": "workspai-agent-customization-pack-capabilities.v1",
3
3
  "presets": {
4
4
  "minimal": {
5
5
  "meaning": "Generate the portable grounding index, AGENTS.md, and provider-specific lightweight instructions.",
@@ -0,0 +1,204 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "required": [
5
+ "schemaVersion",
6
+ "generatedAt",
7
+ "workspacePath",
8
+ "mode",
9
+ "summary",
10
+ "stages",
11
+ "blockingReasons",
12
+ "nextActions",
13
+ "artifacts"
14
+ ],
15
+ "properties": {
16
+ "schemaVersion": {
17
+ "const": "autopilot-release-v1"
18
+ },
19
+ "generatedAt": {
20
+ "type": "string",
21
+ "format": "date-time"
22
+ },
23
+ "workspacePath": {
24
+ "type": "string",
25
+ "minLength": 1
26
+ },
27
+ "mode": {
28
+ "enum": [
29
+ "audit",
30
+ "safe-fix",
31
+ "enforce"
32
+ ]
33
+ },
34
+ "summary": {
35
+ "type": "object",
36
+ "required": [
37
+ "releaseScore",
38
+ "verdict",
39
+ "blockers",
40
+ "warnings",
41
+ "safeFixesApplied",
42
+ "manualActions",
43
+ "exitCode"
44
+ ],
45
+ "properties": {
46
+ "releaseScore": {
47
+ "type": "number",
48
+ "minimum": 0,
49
+ "maximum": 100
50
+ },
51
+ "verdict": {
52
+ "enum": [
53
+ "approved",
54
+ "blocked",
55
+ "partial"
56
+ ]
57
+ },
58
+ "blockers": {
59
+ "type": "integer",
60
+ "minimum": 0
61
+ },
62
+ "warnings": {
63
+ "type": "integer",
64
+ "minimum": 0
65
+ },
66
+ "safeFixesApplied": {
67
+ "type": "integer",
68
+ "minimum": 0
69
+ },
70
+ "manualActions": {
71
+ "type": "integer",
72
+ "minimum": 0
73
+ },
74
+ "exitCode": {
75
+ "enum": [
76
+ 0,
77
+ 1,
78
+ 2,
79
+ 3
80
+ ]
81
+ }
82
+ },
83
+ "additionalProperties": false
84
+ },
85
+ "stages": {
86
+ "type": "array",
87
+ "items": {
88
+ "type": "object",
89
+ "required": [
90
+ "name",
91
+ "status",
92
+ "durationMs",
93
+ "summary"
94
+ ],
95
+ "properties": {
96
+ "name": {
97
+ "enum": [
98
+ "doctor-workspace",
99
+ "analyze",
100
+ "readiness",
101
+ "remediation-plan",
102
+ "remediation-apply",
103
+ "workspace-run-test-build"
104
+ ]
105
+ },
106
+ "status": {
107
+ "enum": [
108
+ "pass",
109
+ "warn",
110
+ "fail",
111
+ "skipped"
112
+ ]
113
+ },
114
+ "durationMs": {
115
+ "type": "number",
116
+ "minimum": 0
117
+ },
118
+ "summary": {
119
+ "type": "string"
120
+ }
121
+ },
122
+ "additionalProperties": false
123
+ }
124
+ },
125
+ "blockingReasons": {
126
+ "type": "array",
127
+ "items": {
128
+ "type": "string"
129
+ }
130
+ },
131
+ "warningReasons": {
132
+ "type": "array",
133
+ "items": {
134
+ "type": "string"
135
+ }
136
+ },
137
+ "nextActions": {
138
+ "type": "array",
139
+ "items": {
140
+ "type": "string"
141
+ }
142
+ },
143
+ "artifacts": {
144
+ "type": "object",
145
+ "required": [
146
+ "reportPath"
147
+ ],
148
+ "properties": {
149
+ "reportPath": {
150
+ "type": "string",
151
+ "minLength": 1
152
+ },
153
+ "aliasEvidencePath": {
154
+ "type": "string",
155
+ "minLength": 1
156
+ },
157
+ "analyzeEvidencePath": {
158
+ "type": "string",
159
+ "minLength": 1
160
+ },
161
+ "readinessEvidencePath": {
162
+ "type": "string",
163
+ "minLength": 1
164
+ },
165
+ "workspaceRunEvidencePath": {
166
+ "type": "string",
167
+ "minLength": 1
168
+ },
169
+ "workspaceRunTestPath": {
170
+ "type": "string",
171
+ "minLength": 1
172
+ },
173
+ "workspaceRunBuildPath": {
174
+ "type": "string",
175
+ "minLength": 1
176
+ }
177
+ },
178
+ "additionalProperties": false
179
+ },
180
+ "enterpriseControls": {
181
+ "type": "object",
182
+ "required": [
183
+ "jsonReady",
184
+ "evidencePath",
185
+ "aliasEvidencePath"
186
+ ],
187
+ "properties": {
188
+ "jsonReady": {
189
+ "type": "boolean"
190
+ },
191
+ "evidencePath": {
192
+ "type": "string",
193
+ "minLength": 1
194
+ },
195
+ "aliasEvidencePath": {
196
+ "type": "string",
197
+ "minLength": 1
198
+ }
199
+ },
200
+ "additionalProperties": false
201
+ }
202
+ },
203
+ "additionalProperties": true
204
+ }
@@ -0,0 +1,119 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/cli-operation-result.v1.json",
4
+ "title": "Workspai CLI Operation Result",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "operation",
10
+ "status",
11
+ "exitCode"
12
+ ],
13
+ "properties": {
14
+ "schemaVersion": {
15
+ "const": "workspai-cli-operation-result-v1"
16
+ },
17
+ "operation": {
18
+ "type": "string",
19
+ "minLength": 1
20
+ },
21
+ "status": {
22
+ "enum": [
23
+ "success",
24
+ "error"
25
+ ]
26
+ },
27
+ "exitCode": {
28
+ "type": "integer",
29
+ "minimum": 0
30
+ },
31
+ "artifact": {},
32
+ "outputPath": {
33
+ "type": "string",
34
+ "minLength": 1
35
+ },
36
+ "error": {
37
+ "type": "object",
38
+ "additionalProperties": false,
39
+ "required": [
40
+ "code",
41
+ "message"
42
+ ],
43
+ "properties": {
44
+ "code": {
45
+ "type": "string",
46
+ "minLength": 1
47
+ },
48
+ "message": {
49
+ "type": "string",
50
+ "minLength": 1
51
+ }
52
+ }
53
+ },
54
+ "context": {
55
+ "type": "object",
56
+ "additionalProperties": true
57
+ },
58
+ "examples": {
59
+ "type": "array",
60
+ "items": {
61
+ "type": "string",
62
+ "minLength": 1
63
+ }
64
+ },
65
+ "nextActions": {
66
+ "type": "array",
67
+ "items": {
68
+ "type": "string",
69
+ "minLength": 1
70
+ }
71
+ }
72
+ },
73
+ "allOf": [
74
+ {
75
+ "if": {
76
+ "properties": {
77
+ "status": {
78
+ "const": "success"
79
+ }
80
+ },
81
+ "required": [
82
+ "status"
83
+ ]
84
+ },
85
+ "then": {
86
+ "required": [
87
+ "artifact"
88
+ ],
89
+ "not": {
90
+ "required": [
91
+ "error"
92
+ ]
93
+ }
94
+ }
95
+ },
96
+ {
97
+ "if": {
98
+ "properties": {
99
+ "status": {
100
+ "const": "error"
101
+ }
102
+ },
103
+ "required": [
104
+ "status"
105
+ ]
106
+ },
107
+ "then": {
108
+ "required": [
109
+ "error"
110
+ ],
111
+ "not": {
112
+ "required": [
113
+ "artifact"
114
+ ]
115
+ }
116
+ }
117
+ }
118
+ ]
119
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://workspai.dev/schemas/command-capabilities.v1.json",
4
+ "title": "Workspai Command Capabilities",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "scope",
10
+ "cli",
11
+ "version",
12
+ "cwd",
13
+ "contracts",
14
+ "contractCatalog",
15
+ "commands",
16
+ "workspace",
17
+ "commandMap"
18
+ ],
19
+ "properties": {
20
+ "schemaVersion": {
21
+ "const": "rapidkit-command-capabilities-v1"
22
+ },
23
+ "scope": {
24
+ "const": "global"
25
+ },
26
+ "cli": {
27
+ "const": "workspai"
28
+ },
29
+ "version": {
30
+ "type": "string",
31
+ "minLength": 1
32
+ },
33
+ "cwd": {
34
+ "type": "string",
35
+ "minLength": 1
36
+ },
37
+ "contracts": {
38
+ "type": "object",
39
+ "additionalProperties": true
40
+ },
41
+ "contractCatalog": {
42
+ "type": "object",
43
+ "additionalProperties": true
44
+ },
45
+ "commands": {
46
+ "type": "object",
47
+ "additionalProperties": false,
48
+ "required": [
49
+ "npmOwned",
50
+ "coreBacked",
51
+ "projectScoped"
52
+ ],
53
+ "properties": {
54
+ "npmOwned": {
55
+ "type": "array",
56
+ "items": {
57
+ "type": "string"
58
+ }
59
+ },
60
+ "coreBacked": {
61
+ "type": "array",
62
+ "items": {
63
+ "type": "string"
64
+ }
65
+ },
66
+ "projectScoped": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "string"
70
+ }
71
+ }
72
+ }
73
+ },
74
+ "workspace": {
75
+ "type": "object",
76
+ "additionalProperties": false,
77
+ "required": [
78
+ "command",
79
+ "subcommands",
80
+ "intelligenceSubcommands"
81
+ ],
82
+ "properties": {
83
+ "command": {
84
+ "const": "workspace"
85
+ },
86
+ "subcommands": {
87
+ "type": "array",
88
+ "items": {
89
+ "type": "string"
90
+ }
91
+ },
92
+ "intelligenceSubcommands": {
93
+ "type": "array",
94
+ "items": {
95
+ "type": "string"
96
+ }
97
+ }
98
+ }
99
+ },
100
+ "commandMap": {
101
+ "type": "object",
102
+ "additionalProperties": {
103
+ "type": "object",
104
+ "additionalProperties": false,
105
+ "required": [
106
+ "command",
107
+ "owner",
108
+ "status",
109
+ "scope"
110
+ ],
111
+ "properties": {
112
+ "command": {
113
+ "type": "string",
114
+ "minLength": 1
115
+ },
116
+ "owner": {
117
+ "enum": [
118
+ "npm-wrapper",
119
+ "python-core",
120
+ "runtime-adapter"
121
+ ]
122
+ },
123
+ "status": {
124
+ "enum": [
125
+ "supported",
126
+ "delegated",
127
+ "runtime-dependent"
128
+ ]
129
+ },
130
+ "scope": {
131
+ "type": "string",
132
+ "minLength": 1
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "required": [
5
+ "schemaVersion",
6
+ "generatedAt",
7
+ "source",
8
+ "runtimes",
9
+ "notes"
10
+ ],
11
+ "properties": {
12
+ "schemaVersion": {
13
+ "const": "rapidkit.compatibility-matrix.v1"
14
+ },
15
+ "generatedAt": {
16
+ "type": "string",
17
+ "format": "date-time"
18
+ },
19
+ "source": {
20
+ "type": "string",
21
+ "minLength": 1
22
+ },
23
+ "runtimes": {
24
+ "type": "object",
25
+ "additionalProperties": {
26
+ "type": "object"
27
+ }
28
+ },
29
+ "notes": {
30
+ "type": "array",
31
+ "items": {
32
+ "type": "string"
33
+ }
34
+ }
35
+ },
36
+ "additionalProperties": true
37
+ }