workspai 0.43.1 → 0.45.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.
- package/README.md +28 -11
- package/contracts/agent-customization-pack.v1.json +1 -1
- package/contracts/autopilot-release.v1.json +204 -0
- package/contracts/cli-operation-result.v1.json +119 -0
- package/contracts/cli-runtime-command-inventory.v1.snapshot.json +1368 -0
- package/contracts/command-capabilities.v1.json +303 -0
- package/contracts/compatibility-matrix.v1.json +37 -0
- package/contracts/create-planner-capabilities.v1.json +156 -65
- package/contracts/doctor-project-scan.v2.json +60 -0
- package/contracts/doctor-remediation-plan.v1.json +19 -4
- package/contracts/doctor-remediation-plan.v2.json +7 -0
- package/contracts/doctor-workspace-cache.v2.json +82 -0
- package/contracts/extension-cli-compatibility.v1.json +48 -3
- package/contracts/infra-plan.v1.json +189 -0
- package/contracts/private-product-manifest.v1.json +155 -0
- package/contracts/product-factory-plan.v1.json +200 -0
- package/contracts/project-archive.v1.json +40 -0
- package/contracts/project-entry-capability.v1.json +127 -0
- package/contracts/published-contract-catalog.v1.json +339 -0
- package/contracts/runtime-command-surface.v1.json +1680 -11
- package/contracts/version.v1.json +48 -0
- package/contracts/workspace-archive-capabilities.v1.json +90 -0
- package/contracts/workspace-archive-manifest.v1.json +107 -0
- package/contracts/workspace-archive-operation-result.v1.json +565 -0
- package/contracts/workspace-intelligence/agent-customization-pack-report.v1.json +98 -0
- package/contracts/workspace-intelligence/agent-hooks.v1.json +38 -0
- package/contracts/workspace-intelligence/agent-reports-index.v1.json +56 -0
- package/contracts/workspace-intelligence/mcp-design.v1.json +42 -0
- package/contracts/workspace-intelligence/workspace-context.v1.json +12 -0
- package/contracts/workspace-intelligence/workspace-explain.v1.json +1 -0
- package/contracts/workspace-intelligence-architecture.v1.json +723 -0
- package/contracts/workspace-intelligence-chain.v1.json +1194 -0
- package/contracts/workspace-list.v1.json +56 -0
- package/contracts/workspace-model-cache.v1.json +55 -0
- package/contracts/workspace-snapshot.v1.json +58 -0
- package/contracts/workspace-snapshot.v2.json +97 -0
- package/contracts/workspace-sync.v1.json +30 -0
- package/contracts/workspace-watch-event.v1.json +112 -0
- package/dist/analyze-YLV7NVLF.js +1 -0
- package/dist/{artifact-remediation-plan-244S5K6I.js → artifact-remediation-plan-WLZGROUU.js} +2 -2
- package/dist/autopilot-release-YBN3SWAA.js +1 -0
- package/dist/{chunk-LZQNVH7D.js → chunk-2K3GYCPS.js} +1 -1
- package/dist/chunk-2QOWRBQD.js +1 -0
- package/dist/chunk-42G2OK64.js +1 -0
- package/dist/chunk-5AKYMAIL.js +1 -0
- package/dist/chunk-5GNT4RJI.js +8 -0
- package/dist/{chunk-FDDDQMJ2.js → chunk-5PVEQ6CZ.js} +1 -1
- package/dist/chunk-6AA3WWQZ.js +2 -0
- package/dist/chunk-6ZENXBMG.js +33 -0
- package/dist/chunk-7RIWU5TZ.js +1 -0
- package/dist/chunk-BJLE5CH7.js +4 -0
- package/dist/{chunk-PPHTYJ7G.js → chunk-DXPU4DDV.js} +36 -37
- package/dist/{chunk-DOCPUNWS.js → chunk-G3H5R3RR.js} +1 -1
- package/dist/chunk-HYJK7W3B.js +1 -0
- package/dist/chunk-IMUU5Q2V.js +13 -0
- package/dist/chunk-J4AICQFB.js +1 -0
- package/dist/{chunk-EMTQ6OKI.js → chunk-JP25YL3J.js} +1 -1
- package/dist/{chunk-ONU457VN.js → chunk-K63BSU56.js} +52 -50
- package/dist/chunk-KPPGZCUW.js +78 -0
- package/dist/chunk-KU4S7RCM.js +1 -0
- package/dist/chunk-LCRROMRR.js +2 -0
- package/dist/chunk-LG6RFLPZ.js +1 -0
- package/dist/{chunk-JHC6SCJC.js → chunk-NHN4QXPP.js} +1 -1
- package/dist/{chunk-U6AXYUQY.js → chunk-OOOPYUL2.js} +1 -1
- package/dist/chunk-P7SCWJFG.js +8 -0
- package/dist/chunk-QWU2CZBG.js +2 -0
- package/dist/chunk-V2H2KRMZ.js +1 -0
- package/dist/chunk-WANW4QA4.js +4 -0
- package/dist/chunk-XIVFLY6G.js +1 -0
- package/dist/chunk-ZWO6K24C.js +2 -0
- package/dist/{create-42RTNLH2.js → create-KFR6FLRT.js} +1 -1
- package/dist/doctor-YJDM5XBH.js +1 -0
- package/dist/index.d.ts +284 -25
- package/dist/index.js +214 -204
- package/dist/pipeline-FEDYO3IA.js +5 -0
- package/dist/{platform-capabilities-XAVU4HSM.js → platform-capabilities-YICBF4FA.js} +1 -1
- package/dist/{pythonRapidkitExec-GCQ3M46E.js → pythonRapidkitExec-UJYIB6FL.js} +1 -1
- package/dist/{workspace-DZHWB7BV.js → workspace-PLXOO6ST.js} +1 -1
- package/dist/workspace-agent-sync-G5YVI3BJ.js +1 -0
- package/dist/workspace-archive-EEGLHZDW.js +10 -0
- package/dist/workspace-context-E3UFWL5X.js +1 -0
- package/dist/{workspace-contract-2TA27LGT.js → workspace-contract-LQJDZV36.js} +1 -1
- package/dist/workspace-explain-G74ZIF23.js +1 -0
- package/dist/workspace-explain-contract-KT757JGQ.js +1 -0
- package/dist/{workspace-feedback-R6H4UFZB.js → workspace-feedback-YY6WQPWQ.js} +1 -1
- package/dist/{workspace-foundation-FQWHPQGX.js → workspace-foundation-3C2DLCVI.js} +1 -1
- package/dist/{workspace-history-CGCK2DJI.js → workspace-history-VF3CHDYQ.js} +1 -1
- package/dist/workspace-intelligence-3GG7GEDQ.js +1 -0
- package/dist/workspace-mcp-serve-MJMUV4RY.js +3 -0
- package/dist/{workspace-model-F3B75TYT.js → workspace-model-NG45SRM5.js} +1 -1
- package/dist/workspace-registry-summary-JM2XY52C.js +1 -0
- package/dist/workspace-run-WEQYIERE.js +1 -0
- package/dist/{workspace-verify-OAATQV5T.js → workspace-verify-ZNT6JX7D.js} +1 -1
- package/dist/workspace-watch-W47T4RX2.js +1 -0
- package/docs/AI_FEATURES.md +67 -34
- package/docs/README.md +2 -1
- package/docs/commands-reference.md +39 -14
- package/docs/contracts/ARTIFACT_CATALOG.md +60 -36
- package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +27 -6
- package/docs/contracts/README.md +3 -2
- package/docs/create-planner-capabilities.md +36 -18
- package/docs/workspace-operations.md +25 -0
- package/package.json +27 -14
- package/scripts/enterprise-package-smoke.mjs +40 -8
- package/scripts/prepack-enterprise.mjs +12 -0
- package/dist/analyze-5BU4QIPK.js +0 -1
- package/dist/autopilot-release-45YVOBQO.js +0 -1
- package/dist/chunk-3QVTWKUI.js +0 -4
- package/dist/chunk-753LOKFZ.js +0 -2
- package/dist/chunk-AMDKXXLP.js +0 -1
- package/dist/chunk-AQ4XZZC6.js +0 -1
- package/dist/chunk-CDE4Q77U.js +0 -2
- package/dist/chunk-DNAY5ALC.js +0 -1
- package/dist/chunk-FHSMY75W.js +0 -1
- package/dist/chunk-FM7GMFZA.js +0 -2
- package/dist/chunk-HV5ZFXAZ.js +0 -13
- package/dist/chunk-LRW2SAGL.js +0 -4
- package/dist/chunk-LTWYYP6E.js +0 -7
- package/dist/chunk-NAAQMSO3.js +0 -1
- package/dist/chunk-NFUXULIF.js +0 -1
- package/dist/chunk-OL64GWQC.js +0 -9
- package/dist/chunk-SI3AQKIP.js +0 -1
- package/dist/chunk-TH5Y3EMA.js +0 -33
- package/dist/chunk-UQKCCWUL.js +0 -78
- package/dist/chunk-XNGANEXM.js +0 -2
- package/dist/doctor-DK4BON3N.js +0 -1
- package/dist/pipeline-HQ57V6OZ.js +0 -5
- package/dist/workspace-agent-sync-5ADIQS7B.js +0 -1
- package/dist/workspace-archive-GCZNI44O.js +0 -3
- package/dist/workspace-context-GEXDHA7A.js +0 -1
- package/dist/workspace-explain-D5NNL3NG.js +0 -1
- package/dist/workspace-explain-contract-DNS2YEL7.js +0 -1
- package/dist/workspace-intelligence-BEM6WGCZ.js +0 -1
- package/dist/workspace-mcp-serve-OMBA5V3C.js +0 -3
- package/dist/workspace-registry-summary-6MFBRWDS.js +0 -1
- package/dist/workspace-run-3WJXIQKR.js +0 -1
- 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
|
|
85
|
-
|
|
|
86
|
-
| `native
|
|
87
|
-
| `
|
|
88
|
-
| `
|
|
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
|
|
91
|
-
|
|
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
|
|
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) |
|
|
@@ -347,10 +360,14 @@ read-only tool access:
|
|
|
347
360
|
```bash
|
|
348
361
|
npx workspai workspace explain release-blocked --json --write
|
|
349
362
|
npx workspai workspace trace --from .workspai/reports/workspace-model-diff-last-run.json --json --write
|
|
350
|
-
npx workspai workspace feedback record --json
|
|
363
|
+
printf '%s\n' '{"actionId":"fix-api","summary":"API tests passed","outcome":"ok"}' | npx workspai workspace feedback record --json
|
|
351
364
|
npx workspai workspace mcp serve
|
|
352
365
|
```
|
|
353
366
|
|
|
367
|
+
`workspace feedback record` requires a single JSON object on stdin. Its
|
|
368
|
+
`actionId`, `summary`, and `outcome` fields are validated before the outcome is
|
|
369
|
+
appended to `workspace-intelligence-history.json`.
|
|
370
|
+
|
|
354
371
|
Fleet runs support scoped execution and result reuse:
|
|
355
372
|
|
|
356
373
|
```bash
|
|
@@ -508,7 +525,7 @@ cd <project-name> && npx workspai init && npx workspai dev
|
|
|
508
525
|
|
|
509
526
|
Backend kits: `fastapi.standard`, `nestjs.standard`, `springboot.standard`, `gofiber.standard`, `dotnet.webapi.clean`, and more.
|
|
510
527
|
|
|
511
|
-
Frontend
|
|
528
|
+
Frontend generators: `nextjs`, `remix`, `vite-react`, `nuxt`, `angular`, `astro`, `sveltekit`, and more — same command shape:
|
|
512
529
|
|
|
513
530
|
```bash
|
|
514
531
|
npx workspai create project <kit> <name>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"schemaVersion": "
|
|
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
|
+
}
|