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
|
@@ -9,13 +9,17 @@ Canonical map of **on-disk artifacts** produced by Workspai CLI commands. Dashbo
|
|
|
9
9
|
| Workspace manifest | `.workspai/workspace.json` | `create workspace`, `foundation ensure`, `bootstrap` (profile) | Profile, engine, bootstrap metadata — **not** project list |
|
|
10
10
|
| Workspace contract | `.workspai/workspace.contract.json` | `workspace sync`, `workspace contract *`, import/adopt | Operational project registry (ports, contracts) |
|
|
11
11
|
| Registry summary | `.workspai/workspace-registry.v1.json` | `workspace sync`, contract sync, `registry status --refresh` | **Canonical** project count + authority for UI/CI |
|
|
12
|
-
| Workspace marker | `.workspai-workspace` | `create workspace`, `foundation ensure` |
|
|
12
|
+
| Workspace marker | `.workspai-workspace` | `create workspace`, `foundation ensure` | Portable root detection; commit with the workspace |
|
|
13
13
|
|
|
14
14
|
Legacy `.rapidkit-workspace` and `.rapidkit/*` paths are read as fallback for
|
|
15
15
|
older workspaces. New Workspai CLI writes target `.workspai-workspace` and
|
|
16
16
|
`.workspai/*`. Workspace archive hydrate also normalizes legacy archive entries
|
|
17
17
|
to canonical Workspai paths on restore.
|
|
18
18
|
|
|
19
|
+
The canonical `.workspai-workspace` marker must remain trackable. Generated
|
|
20
|
+
workspace `.gitignore` files exclude legacy/local engine state but do not
|
|
21
|
+
exclude the canonical marker.
|
|
22
|
+
|
|
19
23
|
## Naming conventions
|
|
20
24
|
|
|
21
25
|
| Pattern | Meaning | Examples |
|
|
@@ -26,23 +30,23 @@ to canonical Workspai paths on restore.
|
|
|
26
30
|
|
|
27
31
|
## Governance evidence loop
|
|
28
32
|
|
|
29
|
-
| Command
|
|
30
|
-
|
|
|
31
|
-
| `doctor workspace`
|
|
32
|
-
| `doctor project`
|
|
33
|
-
| `doctor * --plan`
|
|
34
|
-
| `doctor * --fix/--apply`
|
|
35
|
-
| `workspace remediation-plan --write` | `.workspai/reports/artifact-remediation-plan-last-run.json` | `artifact-remediation-plan-v1`
|
|
36
|
-
| `analyze`
|
|
37
|
-
| `readiness`
|
|
38
|
-
| `pipeline`
|
|
39
|
-
| `autopilot release`
|
|
40
|
-
|
|
|
33
|
+
| Command | Primary artifact | Schema version | JSON Schema |
|
|
34
|
+
| ------------------------------------ | ----------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------ |
|
|
35
|
+
| `doctor workspace` | `.workspai/reports/doctor-last-run.json` | `doctor-workspace-evidence-v1` | `contracts/doctor-workspace-evidence.v1.json` |
|
|
36
|
+
| `doctor project` | `.workspai/reports/doctor-project-last-run.json` | `doctor-project-evidence-v1` | `contracts/doctor-project-evidence.v1.json` |
|
|
37
|
+
| `doctor * --plan` | `.workspai/reports/doctor-remediation-plan-last-run.json` | `doctor-remediation-plan-v2` | `contracts/doctor-remediation-plan.v2.json` |
|
|
38
|
+
| `doctor * --fix/--apply` | `.workspai/reports/doctor-fix-result-last-run.json` | `rapidkit-doctor-fix-result-v1` | `contracts/workspace-intelligence/doctor-fix-result.v1.json` |
|
|
39
|
+
| `workspace remediation-plan --write` | `.workspai/reports/artifact-remediation-plan-last-run.json` | `artifact-remediation-plan-v1` | `contracts/artifact-remediation-plan.v1.json` |
|
|
40
|
+
| `analyze` | `.workspai/reports/analyze-last-run.json` | `rapidkit-analyze-v1` | `contracts/analyze-last-run.v1.json` |
|
|
41
|
+
| `readiness` | `.workspai/reports/release-readiness-last-run.json` | `release-readiness-v1` | `contracts/release-readiness.v1.json` |
|
|
42
|
+
| `pipeline` | `.workspai/reports/pipeline-last-run.json` | `rapidkit-pipeline-v1` | `contracts/pipeline-last-run.v1.json` |
|
|
43
|
+
| `autopilot release` | `.workspai/reports/autopilot-release-last-run.json` | `autopilot-release-v1` | `contracts/autopilot-release.v1.json` |
|
|
44
|
+
| | `.workspai/reports/autopilot-release.json` | (alias, same payload) | `contracts/autopilot-release.v1.json` |
|
|
41
45
|
|
|
42
46
|
Side/cache (not gates): `.workspai/reports/doctor-workspace-cache.json` (`doctor-workspace-cache-v2`).
|
|
43
47
|
|
|
44
48
|
Doctor Studio handoff:
|
|
45
|
-
`doctor-remediation-plan-v2` (`contracts/doctor-remediation-plan.
|
|
49
|
+
`doctor-remediation-plan-v2` (`contracts/doctor-remediation-plan.v2.json`) is emitted in JSON
|
|
46
50
|
responses and persisted to `.workspai/reports/doctor-remediation-plan-last-run.json` by
|
|
47
51
|
`doctor workspace|project --plan`, `--fix`, and `--apply` so IDEs can render approved commands,
|
|
48
52
|
typed file edits, diff previews, ordered phases, step dependencies, rollback, and verification
|
|
@@ -71,16 +75,23 @@ the same evidence without losing the workspace source of truth.
|
|
|
71
75
|
| Command | Artifact | Schema | Contract file |
|
|
72
76
|
| ---------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------- | ------------------------------------------------------------------------- |
|
|
73
77
|
| `workspace model --write` | `workspace-model.json` | `workspace-model.v1` | `contracts/workspace-intelligence/workspace-model.v1.json` |
|
|
74
|
-
| `workspace snapshot` | `workspace-model-snapshot.json` | `workspace-model-snapshot.v1` | `workspace-model-snapshot.v1.json`
|
|
75
|
-
| `workspace diff` | `workspace-model-diff-last-run.json` | `workspace-model-diff.v1` | `workspace-model-diff.v1.json`
|
|
76
|
-
| `workspace impact --from <diff>` | `workspace-impact-last-run.json` | `workspace-impact.v1` | `workspace-impact.v1.json`
|
|
77
|
-
| `
|
|
78
|
-
| `workspace
|
|
79
|
-
| `workspace
|
|
78
|
+
| `workspace snapshot` | `workspace-model-snapshot.json` | `workspace-model-snapshot.v1` | `contracts/workspace-intelligence/workspace-model-snapshot.v1.json` |
|
|
79
|
+
| `workspace diff` | `workspace-model-diff-last-run.json` | `workspace-model-diff.v1` | `contracts/workspace-intelligence/workspace-model-diff.v1.json` |
|
|
80
|
+
| `workspace impact --from <diff>` | `workspace-impact-last-run.json` | `workspace-impact.v1` | `contracts/workspace-intelligence/workspace-impact.v1.json` |
|
|
81
|
+
| `analyze --json` | `analyze-last-run.json` | `rapidkit-analyze-v1` | `contracts/analyze-last-run.v1.json` |
|
|
82
|
+
| `workspace verify` | `workspace-verify-last-run.json` | `workspace-verify.v1` | `contracts/workspace-intelligence/workspace-verify.v1.json` |
|
|
83
|
+
| `workspace context --write` | `workspace-context-agent.json` | `workspace-context.v1` | `contracts/workspace-intelligence/workspace-context.v1.json` |
|
|
84
|
+
| `workspace agent-sync --write` | `reports/agent-customization-pack.json` | `rapidkit-agent-customization-pack.v1` | `contracts/workspace-intelligence/agent-customization-pack-report.v1.json` |
|
|
85
|
+
| `workspace agent-sync --write` | `reports/INDEX.json` | `rapidkit-agent-reports-index.v1` | `contracts/workspace-intelligence/agent-reports-index.v1.json` |
|
|
86
|
+
| `workspace agent-sync --write` | `reports/workspace-skills-index.json` | `workspace-skills-index.v1` | `contracts/workspace-intelligence/workspace-skills-index.v1.json` |
|
|
87
|
+
| `workspace agent-sync --write` | `reports/workspai-mcp-design.json`, `.workspai/skills/*.md`, `.workspai/AGENT-GROUNDING.md`, `AGENTS.md`, IDE agent surfaces | Mixed generated surfaces | See customization pack output inventory |
|
|
80
88
|
| `workspace explain --write` | `workspace-explain-last-run.json` | `workspace-explain.v1` | `contracts/workspace-intelligence/workspace-explain.v1.json` |
|
|
81
89
|
| `workspace feedback record` / `doctor * --fix` | `workspace-intelligence-history.json` (`kind: agent-action`, `doctor-fix`) | `workspace-intelligence-history.v1` | `contracts/workspace-intelligence/workspace-intelligence-history.v1.json` |
|
|
82
90
|
|
|
83
91
|
**CLI semantics:** `workspace diff --from` expects a **model or snapshot** baseline. `workspace impact --from` expects a **diff report**.
|
|
92
|
+
Persisted artifacts retain their artifact schema. JSON command projections that add operation metadata
|
|
93
|
+
such as `outputPath`, `status`, or structured errors use
|
|
94
|
+
`contracts/cli-operation-result.v1.json`; the canonical artifact is nested under `artifact`.
|
|
84
95
|
|
|
85
96
|
### Dependency graph (`workspace-dependency-graph.v1`)
|
|
86
97
|
|
|
@@ -240,25 +251,33 @@ Canonical source: `src/observability/run-correlation.ts` (`attachRunCorrelation`
|
|
|
240
251
|
|
|
241
252
|
## Operational / platform
|
|
242
253
|
|
|
243
|
-
| Command | Artifact | Notes |
|
|
244
|
-
| -------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
|
|
245
|
-
| `workspace run` | `workspace-run-last.json` | `workspace-run-v1` (multi-stage: `stages.test`, `stages.build`, …) | `contracts/workspace-run-last.v1.json`
|
|
246
|
-
| `autopilot release` (run stages) | same `workspace-run-last.json` | Autopilot publishes test/build into aggregate (no separate `autopilot-workspace-run-*.json`) | —
|
|
247
|
-
| `bootstrap` | `bootstrap-compliance-{ts}.json`, `bootstrap-compliance.latest.json` | |
|
|
248
|
-
| `mirror status` | `mirror-ops-{ts}.json`, `mirror-ops.latest.json` | |
|
|
249
|
-
| `mirror` (transparency) | `transparency-evidence-{ts}.json`, `transparency-evidence.latest.json` | |
|
|
250
|
-
| `infra plan` | `infra-plan.json` | `rapidkit.infra-plan.v1` |
|
|
251
|
-
| `workspace archive` |
|
|
252
|
-
| `workspace share` | `reports/share-bundle.json` (default) | Aggregation bundle |
|
|
253
|
-
| `import` / `adopt` | `{project}/.workspai/import-readiness.json` | Per project |
|
|
254
|
-
| `workspace contract verify` | `workspace-contract-verify-last-run.json` | CLI verify cache |
|
|
254
|
+
| Command | Artifact | Notes | Contract |
|
|
255
|
+
| -------------------------------- | ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------- |
|
|
256
|
+
| `workspace run` | `workspace-run-last.json` | `workspace-run-v1` (multi-stage: `stages.test`, `stages.build`, …) | `contracts/workspace-run-last.v1.json` |
|
|
257
|
+
| `autopilot release` (run stages) | same `workspace-run-last.json` | Autopilot publishes test/build into aggregate (no separate `autopilot-workspace-run-*.json`) | — |
|
|
258
|
+
| `bootstrap` | `bootstrap-compliance-{ts}.json`, `bootstrap-compliance.latest.json` | | — |
|
|
259
|
+
| `mirror status` | `mirror-ops-{ts}.json`, `mirror-ops.latest.json` | | — |
|
|
260
|
+
| `mirror` (transparency) | `transparency-evidence-{ts}.json`, `transparency-evidence.latest.json` | | — |
|
|
261
|
+
| `infra plan` | `infra-plan.json` | `rapidkit.infra-plan.v1` | — |
|
|
262
|
+
| `workspace archive` | `.workspai/archive-manifest.json` inside ZIP/ZIP64 | Streaming handoff; workspace payload is unlimited by default and safety budgets are opt-in | `contracts/workspace-archive-manifest.v1.json` |
|
|
263
|
+
| `workspace share` | `reports/share-bundle.json` (default) | Aggregation bundle | — |
|
|
264
|
+
| `import` / `adopt` | `{project}/.workspai/import-readiness.json` | Per project | — |
|
|
265
|
+
| `workspace contract verify` | `workspace-contract-verify-last-run.json` | CLI verify cache | `contracts/workspace-intelligence/workspace-contract-verify.v1.json` |
|
|
255
266
|
|
|
256
267
|
## Static capability contracts
|
|
257
268
|
|
|
258
|
-
| Contract
|
|
259
|
-
|
|
|
260
|
-
| `contracts/runtime-command-surface.v1.json`
|
|
261
|
-
| `contracts/
|
|
269
|
+
| Contract | Schema version | Consumer purpose |
|
|
270
|
+
| ------------------------------------------------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------- |
|
|
271
|
+
| `contracts/runtime-command-surface.v1.json` | `rapidkit-runtime-command-surface-v1` | Runtime commands, scaffold kits, and create planner summary |
|
|
272
|
+
| `contracts/cli-operation-result.v1.json` | `workspai-cli-operation-result-v1` | Stable success/error envelope for JSON command projections |
|
|
273
|
+
| `contracts/command-capabilities.v1.json` | `rapidkit-command-capabilities-v1` | Effective command ownership and workspace command discovery |
|
|
274
|
+
| `contracts/version.v1.json` | `rapidkit-version-v1` | Version and published-contract discovery response |
|
|
275
|
+
| `contracts/published-contract-catalog.v1.json` | `workspai-published-contract-catalog-v1` | Schema versions plus resolvable contract paths |
|
|
276
|
+
| `contracts/project-entry-capability.v1.json` | `workspai-project-entry-capability-v1` | Open-ended adopt/import capability boundaries for readable projects |
|
|
277
|
+
| `contracts/create-planner-capabilities.v1.json` | `rapidkit-create-planner-capabilities-v1` | Native create, official, and existing lanes for CLI, CI, VS Code, and AI planners |
|
|
278
|
+
| `contracts/workspace-archive-capabilities.v1.json` | `workspai-workspace-archive-capabilities-v1` | ZIP64, streaming, compression, limits, commands, flags, and linked archive schemas |
|
|
279
|
+
| `contracts/workspace-archive-manifest.v1.json` | `workspai-workspace-archive-manifest-v1` | Runtime-validated archive manifest, file inventory, checksums, and security policy |
|
|
280
|
+
| `contracts/workspace-archive-operation-result.v1.json` | `workspai-workspace-archive-operation-result-v1` | Stable JSON results for export, inspect, verify, doctor, hydrate, and failures |
|
|
262
281
|
|
|
263
282
|
## Observability stream (not on-disk)
|
|
264
283
|
|
|
@@ -280,6 +299,11 @@ events go to stderr (`--log-format json`). The two never mix.
|
|
|
280
299
|
| `workspace sync [--json]` | Updates contract + `workspace-registry.v1.json`; JSON includes `registrySummary` |
|
|
281
300
|
| `workspace registry status [--refresh] [--json]` | Reads or publishes registry summary |
|
|
282
301
|
|
|
302
|
+
`workspace-registry.v1.json`, adoption records, and verification reports can
|
|
303
|
+
contain machine-local absolute paths. Regenerate them after cloning; do not use
|
|
304
|
+
them as portable repository contracts. The portable source is
|
|
305
|
+
`.workspai/workspace.contract.json` plus canonical workspace/project metadata.
|
|
306
|
+
|
|
283
307
|
## Project-scoped reports
|
|
284
308
|
|
|
285
309
|
Under `{project}/.workspai/reports/` when commands run at project scope (e.g. project doctor). Workspace-level reports stay under `{workspace}/.workspai/reports/`.
|
|
@@ -32,23 +32,44 @@ These commands are implemented and orchestrated by Workspai CLI:
|
|
|
32
32
|
- `product`
|
|
33
33
|
- `infra`
|
|
34
34
|
- `commands`
|
|
35
|
+
- `create`
|
|
36
|
+
- `project`
|
|
35
37
|
- `shell activate`
|
|
36
38
|
|
|
37
39
|
Reason: workspace-level policy, registry, and platform orchestration live in npm wrapper.
|
|
38
40
|
|
|
39
41
|
### 1.1) Wrapper-owned scoped commands
|
|
40
42
|
|
|
41
|
-
These
|
|
42
|
-
|
|
43
|
+
These nested Commander commands are implemented and orchestrated by Workspai CLI:
|
|
44
|
+
|
|
45
|
+
- `ai generate-embeddings`
|
|
46
|
+
- `ai info`
|
|
47
|
+
- `ai recommend`
|
|
48
|
+
- `ai update-embeddings`
|
|
49
|
+
- `config ai`
|
|
50
|
+
- `config remove-api-key`
|
|
51
|
+
- `config set-api-key`
|
|
52
|
+
- `config show`
|
|
53
|
+
- `infra down`
|
|
54
|
+
- `infra plan`
|
|
55
|
+
- `infra status`
|
|
56
|
+
- `infra up`
|
|
57
|
+
- `product manifest`
|
|
58
|
+
- `product manifest create`
|
|
59
|
+
- `product plan`
|
|
43
60
|
- `project commands`
|
|
44
61
|
- `project archives`
|
|
45
62
|
- `project archive`
|
|
46
63
|
- `project restore`
|
|
47
64
|
- `project delete`
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
65
|
+
- `snapshot create`
|
|
66
|
+
- `snapshot inspect`
|
|
67
|
+
- `snapshot list`
|
|
68
|
+
- `snapshot restore`
|
|
69
|
+
|
|
70
|
+
Reason: these routes are registered directly in the npm wrapper's live
|
|
71
|
+
Commander tree. Their completeness is verified against `commands --json` and
|
|
72
|
+
the generated runtime command surface during tests and prepack.
|
|
52
73
|
|
|
53
74
|
`project detect` remains Core-owned because it is the stable machine-readable
|
|
54
75
|
contract used by wrappers to detect Python RapidKit projects.
|
package/docs/contracts/README.md
CHANGED
|
@@ -36,11 +36,12 @@ Published under `../../contracts/` (not duplicated in this folder):
|
|
|
36
36
|
- `release-readiness.v1.json` — release readiness gate evidence
|
|
37
37
|
- `workspace-run-last.v1.json` — multi-stage workspace run evidence
|
|
38
38
|
- `doctor-workspace-evidence.v1.json` / `doctor-project-evidence.v1.json` — doctor evidence
|
|
39
|
-
- `doctor-remediation-plan.
|
|
39
|
+
- `doctor-remediation-plan.v2.json` — canonical persisted Doctor fix/plan Studio handoff contract (`v1` path is a deprecated compatibility alias)
|
|
40
40
|
- `artifact-remediation-plan.v1.json` — cross-artifact Studio handoff for Bootstrap, Analyze, Readiness, Pipeline, Workspace Run, Workspace Verify, and Doctor plan bridging
|
|
41
41
|
- `analyze-last-run.v1.json` — analyze evidence
|
|
42
42
|
- `pipeline-last-run.v1.json` — governance pipeline orchestration
|
|
43
|
-
- `
|
|
43
|
+
- `project-entry-capability.v1.json` — open-ended adopt/import contract for readable projects
|
|
44
|
+
- `create-planner-capabilities.v1.json` — native, official, and existing capability lanes
|
|
44
45
|
- `agent-customization-pack.v1.json` — generated instructions, prompts, skills, agents, optional hooks, MCP-ready design metadata, target matrix, and drift state for AI agent surfaces
|
|
45
46
|
|
|
46
47
|
Workspace intelligence (`../../contracts/workspace-intelligence/`):
|
|
@@ -6,31 +6,40 @@ CI, and AI agents share the same expectations.
|
|
|
6
6
|
|
|
7
7
|
## Lanes
|
|
8
8
|
|
|
9
|
-
| Lane
|
|
10
|
-
|
|
|
11
|
-
| `native
|
|
12
|
-
| `
|
|
13
|
-
| `
|
|
9
|
+
| Lane | Status | Meaning |
|
|
10
|
+
| ---------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
11
|
+
| `native` | Available | Workspai owns the scaffold contract, marker, registry, doctor, bootstrap, and workspace model path. |
|
|
12
|
+
| `official` | Available | A stable ecosystem generator exists. Available entries run the official generator and register the project; planned entries fall back to adopt. |
|
|
13
|
+
| `existing` | Available | The project enters Workspace Intelligence through import/adopt, not native create. |
|
|
14
14
|
|
|
15
15
|
## Native create
|
|
16
16
|
|
|
17
|
-
Native create is reserved for kits with deterministic
|
|
17
|
+
Native create is reserved for Workspai-owned kits with deterministic contracts:
|
|
18
18
|
|
|
19
19
|
- FastAPI
|
|
20
20
|
- NestJS
|
|
21
21
|
- Go Fiber and Go Gin
|
|
22
22
|
- Spring Boot
|
|
23
23
|
- ASP.NET Core Web API
|
|
24
|
-
- Frontend kits (`frontend.nextjs`, `frontend.vite-react`, `frontend.angular`, and related frontend generators)
|
|
25
24
|
|
|
26
25
|
These kits can be exposed through `workspai create project` because Workspai can
|
|
27
26
|
create the project and immediately produce the expected `.workspai` metadata,
|
|
28
27
|
workspace registry entries, doctor evidence, and workspace model data.
|
|
29
28
|
|
|
30
|
-
##
|
|
29
|
+
## Official generators
|
|
31
30
|
|
|
32
|
-
Some ecosystems have stable
|
|
33
|
-
|
|
31
|
+
Some ecosystems have stable official generators. Available entries are invoked
|
|
32
|
+
by Workspai and then registered in Workspace Intelligence:
|
|
33
|
+
|
|
34
|
+
- Next.js: `npx create-next-app@latest <name>`
|
|
35
|
+
- React Router: `npx create-react-router@latest <name>`
|
|
36
|
+
- React, Vue, Svelte, Solid, and Vite: `npm create vite@latest <name> ...`
|
|
37
|
+
- Nuxt: `npx create-nuxt@latest <name> ...`
|
|
38
|
+
- Angular: `npx @angular/cli@19 new <name>`
|
|
39
|
+
- Astro: `npm create astro@4 <name>`
|
|
40
|
+
- SvelteKit: `npx sv@latest create <name>`
|
|
41
|
+
|
|
42
|
+
Other ecosystems are planned official handoffs but are not automated yet:
|
|
34
43
|
|
|
35
44
|
- WordPress site: `wp core download`, `wp config create`, `wp db create`, `wp core install`
|
|
36
45
|
- WordPress block/plugin: `npx @wordpress/create-block@latest <slug>`
|
|
@@ -38,14 +47,19 @@ targets yet:
|
|
|
38
47
|
- Symfony: `composer create-project symfony/skeleton <name>`
|
|
39
48
|
- Rails: `rails new <name>`
|
|
40
49
|
|
|
41
|
-
These are `
|
|
50
|
+
These are `official` candidates, not active native kits. Until each planned
|
|
42
51
|
post-create contract is implemented end to end, Workspai should guide users to
|
|
43
52
|
create externally and then adopt/import the project.
|
|
44
53
|
|
|
45
54
|
## Adopt only
|
|
46
55
|
|
|
47
56
|
If a project already exists, or if the requested runtime has no Workspai-owned
|
|
48
|
-
create contract, the correct lane is `
|
|
57
|
+
create contract, the correct lane is `existing`.
|
|
58
|
+
|
|
59
|
+
The runtime names in the create planner are detection signals, not an allowlist.
|
|
60
|
+
Adopt/import is intentionally open-ended for readable projects that can be
|
|
61
|
+
registered and modeled. A project does not need to be PHP, Ruby, Rust, Elixir,
|
|
62
|
+
Clojure, Scala, or Kotlin to enter Workspace Intelligence.
|
|
49
63
|
|
|
50
64
|
Adoption still gives the project Workspace Intelligence:
|
|
51
65
|
|
|
@@ -61,19 +75,23 @@ Do not convert an unsupported or ambiguous stack request into a different native
|
|
|
61
75
|
kit. For example, a PHP, WordPress, Laravel, Symfony, or Rails request must not
|
|
62
76
|
be translated into FastAPI, NestJS, Go, Java, .NET, or a frontend kit.
|
|
63
77
|
|
|
64
|
-
If
|
|
65
|
-
and guide the user to `
|
|
78
|
+
If executable create is unavailable, the planner should explain the supported
|
|
79
|
+
lane and guide the user to `existing` or a future `official` flow.
|
|
66
80
|
|
|
67
81
|
## CLI guard
|
|
68
82
|
|
|
69
83
|
`workspai create project <kit> <name>` must check the capability lane before
|
|
70
|
-
running any native generator or
|
|
84
|
+
running any native kit, official generator, or Core engine handoff.
|
|
85
|
+
|
|
86
|
+
If the request resolves to an available `official` generator, the CLI may run
|
|
87
|
+
that ecosystem generator and then register the project in Workspace
|
|
88
|
+
Intelligence.
|
|
71
89
|
|
|
72
|
-
If the request resolves to `
|
|
73
|
-
runtime, the CLI must stop early and explain:
|
|
90
|
+
If the request resolves to a planned `official` handoff or an explicit
|
|
91
|
+
`existing` runtime signal, the CLI must stop early and explain:
|
|
74
92
|
|
|
75
93
|
- native create is not available yet for the requested stack
|
|
76
|
-
- whether the future lane is `
|
|
94
|
+
- whether the future lane is `official` or current `existing`
|
|
77
95
|
- which external generator commands are relevant, when known
|
|
78
96
|
- how to run `npx workspai adopt <project-path>` after the project exists
|
|
79
97
|
|
|
@@ -94,6 +94,13 @@ Contract file: `.workspai/workspace.contract.json`. Verification checks schema,
|
|
|
94
94
|
|
|
95
95
|
Workspai keeps the contract alive during `create project` and `workspace sync` without overwriting manual API/event/owner declarations.
|
|
96
96
|
|
|
97
|
+
On a freshly cloned or moved workspace, `workspace sync` also repairs the
|
|
98
|
+
machine-local global registry entry before discovering projects. The command is
|
|
99
|
+
therefore safe to use as the first reconciliation step after clone. For a
|
|
100
|
+
legacy workspace, run `workspace foundation ensure` once to add canonical
|
|
101
|
+
`.workspai-workspace` and `.workspai/*` foundation files while retaining legacy
|
|
102
|
+
metadata as read compatibility input.
|
|
103
|
+
|
|
97
104
|
## Portable workspace archives
|
|
98
105
|
|
|
99
106
|
```bash
|
|
@@ -106,6 +113,24 @@ npx workspai workspace hydrate team-workspace.workspai-archive.zip --output ./te
|
|
|
106
113
|
|
|
107
114
|
Export excludes dependency folders, build output, git history, logs, `.env`, and private keys by default. Use `--include-env` only for trusted internal handoffs. Hydrate accepts legacy `.rapidkit-workspace` and `.rapidkit/*` archive entries, but restores them as canonical `.workspai-workspace` and `.workspai/*` paths.
|
|
108
115
|
|
|
116
|
+
Archive export, verification, and hydrate stream file payloads instead of loading the workspace into memory. Exports use ZIP64, so multi-gigabyte workspaces and archives with more than 65,535 files are supported. Stored ZIP entries are the default; use `--archive-compression deflate` when transfer size matters more than export CPU time.
|
|
117
|
+
|
|
118
|
+
Workspace size is unrestricted by default. For untrusted remote archives, optional operational budgets can be set without imposing a product-wide workspace limit:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
npx workspai workspace hydrate https://example.test/team.zip \
|
|
122
|
+
--output ./team-workspace \
|
|
123
|
+
--max-download-size 100gb \
|
|
124
|
+
--max-expanded-size 500gb \
|
|
125
|
+
--download-timeout-ms 21600000
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
IDE, CI, and AI consumers can discover archive behavior from
|
|
129
|
+
`contracts/workspace-archive-capabilities.v1.json`. The embedded manifest and every successful
|
|
130
|
+
`--json` operation result are runtime-validated against
|
|
131
|
+
`contracts/workspace-archive-manifest.v1.json` and
|
|
132
|
+
`contracts/workspace-archive-operation-result.v1.json`.
|
|
133
|
+
|
|
109
134
|
## Workspace infrastructure (sidecar)
|
|
110
135
|
|
|
111
136
|
Discovery sources: Core module slugs, project `.env.example`, workspace contract env, and `.workspai/infra/overrides.json`.
|
package/package.json
CHANGED
|
@@ -1,20 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "workspai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.45.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Open-source workspace intelligence CLI for software systems: create, adopt, govern, verify, and align polyglot workspaces for humans, CI, IDEs, and AI agents.",
|
|
6
6
|
"keywords": [
|
|
7
|
-
"rapidkit",
|
|
8
7
|
"workspai",
|
|
8
|
+
"rapidkit",
|
|
9
9
|
"wspai",
|
|
10
10
|
"ai",
|
|
11
11
|
"cli",
|
|
12
|
+
"agents",
|
|
12
13
|
"create",
|
|
13
14
|
"workspace",
|
|
14
15
|
"workspace-intelligence",
|
|
16
|
+
"workspace-ai",
|
|
17
|
+
"skills",
|
|
18
|
+
"model",
|
|
19
|
+
"graph",
|
|
20
|
+
"knowledge",
|
|
15
21
|
"governance",
|
|
22
|
+
"AI-agents",
|
|
16
23
|
"backend",
|
|
17
24
|
"frontend",
|
|
25
|
+
"microservices",
|
|
26
|
+
"api",
|
|
18
27
|
"fastapi",
|
|
19
28
|
"nestjs",
|
|
20
29
|
"nextjs",
|
|
@@ -23,8 +32,6 @@
|
|
|
23
32
|
"spring",
|
|
24
33
|
"gofiber",
|
|
25
34
|
"gogin",
|
|
26
|
-
"microservices",
|
|
27
|
-
"api",
|
|
28
35
|
"generator",
|
|
29
36
|
"scaffold"
|
|
30
37
|
],
|
|
@@ -87,6 +94,10 @@
|
|
|
87
94
|
"test:prepare-embeddings": "node scripts/prepare-mock-embeddings.mjs",
|
|
88
95
|
"generate-embeddings": "npx tsx src/ai/generate-embeddings.ts",
|
|
89
96
|
"verify:package-cli": "node scripts/verify-package-cli.mjs",
|
|
97
|
+
"verify:cli-command-surface": "node scripts/verify-cli-command-surface.mjs",
|
|
98
|
+
"check:workspace-intelligence-runtime": "node scripts/check-workspace-intelligence-runtime-conformance.mjs",
|
|
99
|
+
"check:workspace-intelligence-adversarial": "node scripts/check-workspace-intelligence-adversarial.mjs",
|
|
100
|
+
"check:windows-registry": "node scripts/check-windows-registry-invariants.mjs",
|
|
90
101
|
"smoke:enterprise-package": "node scripts/enterprise-package-smoke.mjs",
|
|
91
102
|
"prepack": "node scripts/prepack-enterprise.mjs",
|
|
92
103
|
"test:e2e": "vitest run src/__tests__/e2e.test.ts",
|
|
@@ -101,8 +112,8 @@
|
|
|
101
112
|
"format:check": "prettier --check \"src/**/*.ts\"",
|
|
102
113
|
"typecheck": "tsc --noEmit",
|
|
103
114
|
"validate": "corepack npm run typecheck && corepack npm run lint && corepack npm run format:check && corepack npm test",
|
|
104
|
-
"security": "npm audit --audit-level=moderate",
|
|
105
|
-
"security:fix": "npm audit fix",
|
|
115
|
+
"security": "corepack npm audit --audit-level=moderate",
|
|
116
|
+
"security:fix": "corepack npm audit fix",
|
|
106
117
|
"metrics": "npx tsx scripts/metrics.ts",
|
|
107
118
|
"validate:docs-examples": "node scripts/validate-doc-examples.mjs",
|
|
108
119
|
"check:markdown-links": "node scripts/check-markdown-links.mjs",
|
|
@@ -117,23 +128,25 @@
|
|
|
117
128
|
"analyze": "corepack npm run build && node scripts/analyze-dist.mjs",
|
|
118
129
|
"size-check": "corepack npm run build && size-limit",
|
|
119
130
|
"bench": "npx tsx scripts/benchmarks.ts",
|
|
120
|
-
"quality": "corepack npm run typecheck && corepack npm run lint && corepack npm run format:check && corepack npm test && corepack npm run size-check && corepack npm run security && corepack npm run validate:docs && corepack npm run smoke:frontend-generators && corepack npm run check:contracts && corepack npm run check:shared-contracts && corepack npm run check:parity-snapshot && corepack npm run check:agent-customization-drift",
|
|
131
|
+
"quality": "corepack npm run typecheck && corepack npm run lint && corepack npm run format:check && corepack npm test && corepack npm run size-check && corepack npm run check:workspace-intelligence-runtime && corepack npm run check:workspace-intelligence-adversarial && corepack npm run security && corepack npm run validate:docs && corepack npm run smoke:frontend-generators && corepack npm run check:contracts && corepack npm run check:shared-contracts && corepack npm run check:parity-snapshot && corepack npm run check:agent-customization-drift",
|
|
121
132
|
"act-matrix": "act -P ubuntu-latest=ghcr.io/catthehacker/ubuntu:act-22.04 -P macos-latest=ghcr.io/catthehacker/ubuntu:act-22.04 -P windows-latest=ghcr.io/catthehacker/ubuntu:act-22.04 --pull=false -j build-test-matrix",
|
|
122
133
|
"release:dry": "bash scripts/release.sh --no-publish --yes --allow-dirty",
|
|
123
134
|
"release:patch": "bash scripts/release.sh patch",
|
|
124
135
|
"release:minor": "bash scripts/release.sh minor",
|
|
125
136
|
"release:major": "bash scripts/release.sh major",
|
|
126
|
-
"check": "corepack npm run typecheck && corepack npm run lint && corepack npm run format:check",
|
|
137
|
+
"check": "corepack npm run check:windows-registry && corepack npm run typecheck && corepack npm run lint && corepack npm run format:check",
|
|
127
138
|
"ci": "corepack npm run quality",
|
|
128
139
|
"contracts:sync": "corepack npm run sync:contracts && corepack npm run sync:shared-contracts",
|
|
129
140
|
"contracts:check": "corepack npm run check:contracts && corepack npm run check:shared-contracts && corepack npm run check:parity-snapshot && corepack npm run check:generated-contracts && corepack npm run check:agent-customization-drift",
|
|
130
|
-
"contracts:validate": "corepack npm run contracts:check && corepack npm run validate:contracts",
|
|
141
|
+
"contracts:validate": "corepack npm run contracts:check && corepack npm run validate:contracts && corepack npm run build && corepack npm run check:workspace-intelligence-runtime && corepack npm run check:workspace-intelligence-adversarial",
|
|
131
142
|
"docs:validate": "corepack npm run validate:docs",
|
|
132
143
|
"smoke": "corepack npm run smoke:enterprise-package && corepack npm run smoke:readme && corepack npm run smoke:frontend-generators",
|
|
133
144
|
"fix": "corepack npm run lint:fix && corepack npm run format && corepack npm run sync:contracts && corepack npm run sync:shared-contracts && corepack npm run sync-kits"
|
|
134
145
|
},
|
|
135
146
|
"dependencies": {
|
|
136
147
|
"@clack/prompts": "^0.9.1",
|
|
148
|
+
"ajv": "^8.20.0",
|
|
149
|
+
"ajv-formats": "^3.0.1",
|
|
137
150
|
"chalk": "^5.3.0",
|
|
138
151
|
"cli-progress": "^3.12.0",
|
|
139
152
|
"commander": "^12.1.0",
|
|
@@ -143,7 +156,9 @@
|
|
|
143
156
|
"nunjucks": "^3.2.4",
|
|
144
157
|
"openai": "^6.22.0",
|
|
145
158
|
"ora": "^8.0.1",
|
|
146
|
-
"validate-npm-package-name": "^5.0.1"
|
|
159
|
+
"validate-npm-package-name": "^5.0.1",
|
|
160
|
+
"yauzl": "^3.4.0",
|
|
161
|
+
"yazl": "^3.3.1"
|
|
147
162
|
},
|
|
148
163
|
"devDependencies": {
|
|
149
164
|
"@eslint/eslintrc": "^3.3.3",
|
|
@@ -154,6 +169,8 @@
|
|
|
154
169
|
"@types/node": "^20.14.0",
|
|
155
170
|
"@types/nunjucks": "^3.2.6",
|
|
156
171
|
"@types/validate-npm-package-name": "^4.0.2",
|
|
172
|
+
"@types/yauzl": "^2.10.3",
|
|
173
|
+
"@types/yazl": "^3.3.1",
|
|
157
174
|
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
158
175
|
"@typescript-eslint/parser": "^8.46.2",
|
|
159
176
|
"@vitest/coverage-v8": "^4.0.15",
|
|
@@ -181,9 +198,5 @@
|
|
|
181
198
|
"prettier --write"
|
|
182
199
|
]
|
|
183
200
|
},
|
|
184
|
-
"overrides": {
|
|
185
|
-
"minimatch": "^10.2.1",
|
|
186
|
-
"esbuild": "^0.28.1"
|
|
187
|
-
},
|
|
188
201
|
"packageManager": "npm@10.8.2"
|
|
189
202
|
}
|
|
@@ -182,6 +182,13 @@ function parseTrailingJsonArray(stdout) {
|
|
|
182
182
|
const REQUIRED_PACKAGE_FILES = [
|
|
183
183
|
'dist/index.js',
|
|
184
184
|
'contracts/runtime-command-surface.v1.json',
|
|
185
|
+
'contracts/workspace-archive-capabilities.v1.json',
|
|
186
|
+
'contracts/workspace-archive-manifest.v1.json',
|
|
187
|
+
'contracts/workspace-archive-operation-result.v1.json',
|
|
188
|
+
'contracts/create-planner-capabilities.v1.json',
|
|
189
|
+
'contracts/project-entry-capability.v1.json',
|
|
190
|
+
'contracts/workspace-intelligence-architecture.v1.json',
|
|
191
|
+
'contracts/workspace-intelligence-chain.v1.json',
|
|
185
192
|
'contracts/extension-cli-compatibility.v1.json',
|
|
186
193
|
'data/modules-embeddings.json',
|
|
187
194
|
'templates/kits/fastapi-standard/README.md.j2',
|
|
@@ -193,10 +200,7 @@ const REQUIRED_PACKAGE_FILES = [
|
|
|
193
200
|
'scripts/enforce-package-manager.cjs',
|
|
194
201
|
];
|
|
195
202
|
|
|
196
|
-
const FORBIDDEN_PACKAGE_FILES = [
|
|
197
|
-
'workspai.config.example.js',
|
|
198
|
-
'rapidkit.config.example.js',
|
|
199
|
-
];
|
|
203
|
+
const FORBIDDEN_PACKAGE_FILES = ['workspai.config.example.js', 'rapidkit.config.example.js'];
|
|
200
204
|
|
|
201
205
|
function isPublishedByFilesPolicy(packageJson, assetPath) {
|
|
202
206
|
const files = packageJson.files ?? [];
|
|
@@ -223,7 +227,10 @@ function assertPackageFilesPolicy(requiredFiles) {
|
|
|
223
227
|
assertFile(required);
|
|
224
228
|
}
|
|
225
229
|
for (const forbidden of FORBIDDEN_PACKAGE_FILES) {
|
|
226
|
-
if (
|
|
230
|
+
if (
|
|
231
|
+
isPublishedByFilesPolicy(packageJson, forbidden) ||
|
|
232
|
+
fs.existsSync(path.join(repoRoot, forbidden))
|
|
233
|
+
) {
|
|
227
234
|
fail(`forbidden legacy package file is still present or published: ${forbidden}`);
|
|
228
235
|
}
|
|
229
236
|
}
|
|
@@ -294,7 +301,15 @@ function assertCliContracts() {
|
|
|
294
301
|
fail(`commands surface is missing top-level command: ${topLevel}`);
|
|
295
302
|
}
|
|
296
303
|
}
|
|
297
|
-
for (const subcommand of [
|
|
304
|
+
for (const subcommand of [
|
|
305
|
+
'model',
|
|
306
|
+
'snapshot',
|
|
307
|
+
'diff',
|
|
308
|
+
'impact',
|
|
309
|
+
'verify',
|
|
310
|
+
'context',
|
|
311
|
+
'explain',
|
|
312
|
+
]) {
|
|
298
313
|
if (!commands.workspace?.intelligenceSubcommands?.includes(subcommand)) {
|
|
299
314
|
fail(`workspace intelligence surface is missing subcommand: ${subcommand}`);
|
|
300
315
|
}
|
|
@@ -331,13 +346,23 @@ function smokeCreateNpmBackedKits() {
|
|
|
331
346
|
kit: 'springboot.standard',
|
|
332
347
|
name: 'enterprise-spring',
|
|
333
348
|
extraArgs: ['--java-version', '21'],
|
|
334
|
-
expectedFiles: [
|
|
349
|
+
expectedFiles: [
|
|
350
|
+
'pom.xml',
|
|
351
|
+
'src/main/resources/application.yml',
|
|
352
|
+
'.workspai/project.json',
|
|
353
|
+
'rapidkit',
|
|
354
|
+
],
|
|
335
355
|
},
|
|
336
356
|
{
|
|
337
357
|
kit: 'dotnet.webapi.clean',
|
|
338
358
|
name: 'enterprise-dotnet',
|
|
339
359
|
extraArgs: ['--target-framework', 'net8.0'],
|
|
340
|
-
expectedFiles: [
|
|
360
|
+
expectedFiles: [
|
|
361
|
+
'src/Program.cs',
|
|
362
|
+
'src/enterprise-dotnet.csproj',
|
|
363
|
+
'.workspai/project.json',
|
|
364
|
+
'rapidkit',
|
|
365
|
+
],
|
|
341
366
|
},
|
|
342
367
|
];
|
|
343
368
|
|
|
@@ -449,6 +474,13 @@ for (const relativePath of [
|
|
|
449
474
|
'package.json',
|
|
450
475
|
'dist/index.js',
|
|
451
476
|
'contracts/runtime-command-surface.v1.json',
|
|
477
|
+
'contracts/workspace-archive-capabilities.v1.json',
|
|
478
|
+
'contracts/workspace-archive-manifest.v1.json',
|
|
479
|
+
'contracts/workspace-archive-operation-result.v1.json',
|
|
480
|
+
'contracts/create-planner-capabilities.v1.json',
|
|
481
|
+
'contracts/project-entry-capability.v1.json',
|
|
482
|
+
'contracts/workspace-intelligence-architecture.v1.json',
|
|
483
|
+
'contracts/workspace-intelligence-chain.v1.json',
|
|
452
484
|
'contracts/extension-cli-compatibility.v1.json',
|
|
453
485
|
'data/modules-embeddings.json',
|
|
454
486
|
]) {
|
|
@@ -36,6 +36,18 @@ if (!fs.existsSync(tsupCli)) {
|
|
|
36
36
|
runNode([tsupCli], 'building dist');
|
|
37
37
|
runNode(['scripts/prepare-mock-embeddings.mjs'], 'preparing packaged embeddings');
|
|
38
38
|
runNode(['scripts/verify-package-cli.mjs'], 'verifying bundled CLI command ownership');
|
|
39
|
+
runNode(
|
|
40
|
+
['scripts/verify-cli-command-surface.mjs'],
|
|
41
|
+
'verifying live packaged CLI command surface against the published contract'
|
|
42
|
+
);
|
|
43
|
+
runNode(
|
|
44
|
+
['scripts/check-workspace-intelligence-runtime-conformance.mjs'],
|
|
45
|
+
'validating Workspace Intelligence runtime artifacts against canonical schemas'
|
|
46
|
+
);
|
|
47
|
+
runNode(
|
|
48
|
+
['scripts/check-workspace-intelligence-adversarial.mjs'],
|
|
49
|
+
'running Workspace Intelligence adversarial scenarios'
|
|
50
|
+
);
|
|
39
51
|
runNode(['scripts/enterprise-package-smoke.mjs'], 'running enterprise package smoke', {
|
|
40
52
|
RAPIDKIT_ENTERPRISE_PREPACK: '1',
|
|
41
53
|
});
|
package/dist/analyze-5BU4QIPK.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{b as printAnalyzeReport,a as runAnalyze}from'./chunk-OL64GWQC.js';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{b as AUTOPILOT_RELEASE_ALIAS_FILENAME,a as AUTOPILOT_RELEASE_LAST_RUN_FILENAME,c as runAutopilotRelease}from'./chunk-LTWYYP6E.js';
|