workspai 0.55.1 → 0.57.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 +36 -8
- package/contracts/adopt-effects.v1.json +72 -0
- package/contracts/artifact-remediation-plan.v1.json +110 -2
- package/contracts/cli-runtime-command-inventory.v1.snapshot.json +33 -1
- package/contracts/doctor-project-evidence.v1.json +95 -2
- package/contracts/doctor-remediation-plan.v1.json +29 -2
- package/contracts/doctor-workspace-evidence.v1.json +97 -2
- package/contracts/extension-cli-compatibility.v1.json +7 -1
- package/contracts/published-contract-catalog.v1.json +30 -0
- package/contracts/runtime-command-surface.v1.json +63 -0
- package/contracts/workspace-intelligence/doctor-capabilities.v1.json +133 -0
- package/contracts/workspace-intelligence/doctor-diagnosis.v1.json +273 -0
- package/contracts/workspace-intelligence/doctor-graph-diagnosis.v1.json +3 -0
- package/contracts/workspace-intelligence/doctor-receipt.v1.json +136 -0
- package/contracts/workspace-intelligence/doctor-summary.v1.json +101 -0
- package/contracts/workspace-intelligence/doctor-validation.v1.json +109 -0
- package/contracts/workspace-intelligence/project-context-agent.v1.json +110 -0
- package/contracts/workspace-intelligence/studio-blocker-handoff.v1.json +25 -0
- package/contracts/workspace-intelligence/workspace-knowledge-graph.v1.json +36 -0
- package/contracts/workspace-intelligence/workspace-knowledge-search.v1.json +54 -0
- package/dist/analyze-HJ774J3E.js +1 -0
- package/dist/{artifact-remediation-plan-O3YIULQN.js → artifact-remediation-plan-BPLON5VX.js} +1 -1
- package/dist/autopilot-release-WIFFFQKW.js +1 -0
- package/dist/capabilities-command-44JVOE5S.js +1 -0
- package/dist/chunk-2647BYBC.js +1 -0
- package/dist/chunk-3U4VLIGW.js +1 -0
- package/dist/chunk-5EPPPMAS.js +1 -0
- package/dist/{chunk-AMB42V2F.js → chunk-64JUYYRC.js} +1 -1
- package/dist/chunk-6OFGLNFS.js +1 -0
- package/dist/chunk-75HOCFNH.js +1 -0
- package/dist/{chunk-M5ICGR55.js → chunk-7WUT5ZSO.js} +1 -1
- package/dist/chunk-AA4PNQKR.js +1 -0
- package/dist/{chunk-WIO6L24E.js → chunk-ADL3CK44.js} +1 -1
- package/dist/chunk-AO2ZI42U.js +4 -0
- package/dist/chunk-CNWUIXF3.js +1 -0
- package/dist/chunk-D4RST2HE.js +1 -0
- package/dist/chunk-DF4NWPB7.js +8 -0
- package/dist/chunk-DT4X7I5M.js +81 -0
- package/dist/{chunk-HY3RMPW5.js → chunk-E53BGUOW.js} +1 -1
- package/dist/chunk-GBMCHFOV.js +1 -0
- package/dist/chunk-GDKFN3CM.js +8 -0
- package/dist/chunk-GTJY55QK.js +5 -0
- package/dist/chunk-GXTCU4WF.js +1 -0
- package/dist/{chunk-WSAFBPS5.js → chunk-IUYZ3NHS.js} +4 -4
- package/dist/chunk-IXOLHPTN.js +6 -0
- package/dist/chunk-IZLEMTES.js +1 -0
- package/dist/chunk-L36ZASME.js +1 -0
- package/dist/chunk-LYVDRRDO.js +2 -0
- package/dist/chunk-N2BIIUDH.js +4 -0
- package/dist/{chunk-IBPPMOHM.js → chunk-NHTLE3WN.js} +1 -1
- package/dist/chunk-NS53IPAC.js +1 -0
- package/dist/{chunk-NWQ5VWUW.js → chunk-P475BOJW.js} +1 -1
- package/dist/chunk-PKIRVQLG.js +1 -0
- package/dist/chunk-QHY6F4SS.js +2 -0
- package/dist/chunk-QK5QOXOE.js +13 -0
- package/dist/chunk-RPHM7LQW.js +36 -0
- package/dist/chunk-SNO3WG4V.js +2 -0
- package/dist/chunk-T5YRFRJV.js +1 -0
- package/dist/chunk-TTFQWH55.js +91 -0
- package/dist/chunk-UQEQ6CXU.js +1 -0
- package/dist/chunk-V5EYVQ63.js +1 -0
- package/dist/{chunk-HUPLAFZQ.js → chunk-VL3APTVB.js} +1 -1
- package/dist/chunk-VUR7H2FU.js +2 -0
- package/dist/chunk-VZPWIILU.js +1 -0
- package/dist/{chunk-MRFN5ZQP.js → chunk-W5ZFXKSL.js} +1 -1
- package/dist/chunk-WP3CXMVA.js +2 -0
- package/dist/chunk-X7FYEKLI.js +1 -0
- package/dist/{chunk-KFKZOPZC.js → chunk-XMTLKDPP.js} +1 -1
- package/dist/chunk-YJTEMJFV.js +3 -0
- package/dist/chunk-YM77FQB3.js +8 -0
- package/dist/{chunk-FZCYTRBQ.js → chunk-Z57G62KE.js} +1 -1
- package/dist/chunk-ZCPT6KC3.js +6 -0
- package/dist/chunk-ZPA6ECBJ.js +7 -0
- package/dist/{create-3NSOY7CA.js → create-O2KLTN5H.js} +1 -1
- package/dist/doctor-AL5YWO5X.js +1 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +169 -167
- package/dist/pipeline-4ST4BQWY.js +5 -0
- package/dist/{project-intelligence-lens-ZOAWXYC5.js → project-intelligence-lens-JHYECYOK.js} +1 -1
- package/dist/project-test-coverage-FRMVYTFB.js +1 -0
- package/dist/verified-goal-KFNRGOKT.js +1 -0
- package/dist/{workspace-C4UETGY7.js → workspace-O4E5CCGK.js} +1 -1
- package/dist/{workspace-agent-sync-446AXPHJ.js → workspace-agent-sync-N5DPGU2E.js} +1 -1
- package/dist/{workspace-archive-VHUPOBAV.js → workspace-archive-BA3ONVXX.js} +1 -1
- package/dist/{workspace-context-XSECHC7O.js → workspace-context-ETZNEHOJ.js} +1 -1
- package/dist/workspace-contract-OSI7NBXS.js +1 -0
- package/dist/workspace-explain-EM7IUV6L.js +1 -0
- package/dist/workspace-explain-contract-KVQO57RC.js +1 -0
- package/dist/{workspace-feedback-WXE7NVMV.js → workspace-feedback-PCZKXG5R.js} +1 -1
- package/dist/{workspace-foundation-3EVAQ5X6.js → workspace-foundation-QQHX66KE.js} +1 -1
- package/dist/{workspace-graph-stream-AJPS45FD.js → workspace-graph-stream-UZJQ75XZ.js} +1 -1
- package/dist/workspace-graph-token-efficiency-TF23UYEF.js +1 -0
- package/dist/{workspace-history-YY7YRDOH.js → workspace-history-CHJOABME.js} +1 -1
- package/dist/{workspace-intelligence-FWRB47EJ.js → workspace-intelligence-A7O7MN6T.js} +1 -1
- package/dist/workspace-intelligence-evaluation-YMY3C5AW.js +1 -0
- package/dist/{workspace-intelligence-runner-SMEAB4CO.js → workspace-intelligence-runner-4EF66L66.js} +1 -1
- package/dist/workspace-intelligence-runtime-registry-NCVHKCMP.js +1 -0
- package/dist/workspace-knowledge-graph-BVN4NTJ6.js +1 -0
- package/dist/{workspace-knowledge-graph-query-EKHIE3E2.js → workspace-knowledge-graph-query-6DAOXGGT.js} +1 -1
- package/dist/workspace-knowledge-graph-snapshot-XSQADCNR.js +1 -0
- package/dist/workspace-mcp-serve-TKX4J3SX.js +3 -0
- package/dist/{workspace-model-MNJOGBPP.js → workspace-model-7ESEP366.js} +1 -1
- package/dist/{workspace-onboarding-5KO7Z7AD.js → workspace-onboarding-SY255V7L.js} +1 -1
- package/dist/{workspace-readme-4S6PJ74A.js → workspace-readme-IVJXSIBS.js} +1 -1
- package/dist/{workspace-registry-summary-GPJEL7K7.js → workspace-registry-summary-7ISKYEPM.js} +1 -1
- package/dist/workspace-repair-engine-GMA2YTCF.js +3 -0
- package/dist/workspace-run-ZZXVNFUS.js +1 -0
- package/dist/{workspace-verify-C6HWHRLJ.js → workspace-verify-CNXZPWS5.js} +1 -1
- package/dist/{workspace-watch-DLPHLF5R.js → workspace-watch-HGFL2EU3.js} +1 -1
- package/docs/From Code to Shared Understanding-B.png +0 -0
- package/docs/From Code to Shared Understanding.png +0 -0
- package/docs/README_CONTENT_CONTRACT.md +25 -12
- package/docs/ci-workflows.md +9 -1
- package/docs/commands-reference.md +36 -7
- package/docs/contracts/ARTIFACT_CATALOG.md +6 -1
- package/docs/contracts/README.md +21 -12
- package/docs/doctor-command.md +189 -14
- package/docs/from-code-to-shared-understanding.md +22 -17
- package/docs/graph-benchmark-methodology.md +13 -0
- package/docs/real-world-qualification.md +73 -0
- package/docs/workspace-intelligence-runner.md +4 -0
- package/docs/workspace-knowledge-graph.md +77 -7
- package/docs/workspace-operations.md +14 -2
- package/docs/workspace-run.md +30 -7
- package/package.json +14 -3
- package/dist/analyze-AAZEJ4FC.js +0 -1
- package/dist/autopilot-release-3H5FTF6H.js +0 -1
- package/dist/chunk-2PY65U6X.js +0 -5
- package/dist/chunk-3DONU3DU.js +0 -1
- package/dist/chunk-44VJHNZB.js +0 -1
- package/dist/chunk-5XDPQ3CB.js +0 -1
- package/dist/chunk-6HJJHEL6.js +0 -2
- package/dist/chunk-7AR5PDLD.js +0 -1
- package/dist/chunk-7KKP7RNB.js +0 -3
- package/dist/chunk-7S4QNH5A.js +0 -5
- package/dist/chunk-7T4TSV5C.js +0 -1
- package/dist/chunk-BYVTHIC3.js +0 -2
- package/dist/chunk-CEIJIFY7.js +0 -88
- package/dist/chunk-D37NEYV6.js +0 -1
- package/dist/chunk-DPMO4U3Z.js +0 -8
- package/dist/chunk-DS4UYMLX.js +0 -1
- package/dist/chunk-FQLB4BIC.js +0 -7
- package/dist/chunk-GDU7VP6G.js +0 -1
- package/dist/chunk-H7P7SSUW.js +0 -75
- package/dist/chunk-KVUYAYTY.js +0 -8
- package/dist/chunk-MQ73VS4E.js +0 -2
- package/dist/chunk-NYHVCFBT.js +0 -1
- package/dist/chunk-OUBBBC7T.js +0 -36
- package/dist/chunk-P7K5RHJC.js +0 -2
- package/dist/chunk-PS5F4DCT.js +0 -1
- package/dist/chunk-QZ7PNMVP.js +0 -1
- package/dist/chunk-RA24WQLF.js +0 -1
- package/dist/chunk-RMXXK64P.js +0 -4
- package/dist/chunk-S7Z4DP3P.js +0 -2
- package/dist/chunk-SJLUE6AY.js +0 -1
- package/dist/chunk-TEHQ7XKK.js +0 -3
- package/dist/chunk-UFOCUHG3.js +0 -1
- package/dist/chunk-WD2XDMGB.js +0 -1
- package/dist/chunk-XVRJVKOX.js +0 -1
- package/dist/chunk-YTLUT6IA.js +0 -13
- package/dist/doctor-UEFFNAUD.js +0 -1
- package/dist/pipeline-B5S6P36F.js +0 -5
- package/dist/project-test-coverage-44ZPCOPV.js +0 -1
- package/dist/verified-goal-KOU3WJYN.js +0 -1
- package/dist/workspace-contract-AYFTZIKM.js +0 -1
- package/dist/workspace-explain-ZEWVKDBF.js +0 -1
- package/dist/workspace-explain-contract-6CCC26QT.js +0 -1
- package/dist/workspace-graph-token-efficiency-5FNH4JZ5.js +0 -1
- package/dist/workspace-intelligence-evaluation-UP2K3L35.js +0 -1
- package/dist/workspace-intelligence-runtime-registry-MRSF7RTT.js +0 -1
- package/dist/workspace-knowledge-graph-BMMM2FUE.js +0 -1
- package/dist/workspace-mcp-serve-X6C3AWTA.js +0 -3
- package/dist/workspace-repair-engine-GWTXVVKB.js +0 -3
- package/dist/workspace-run-FJTBX4JQ.js +0 -1
package/README.md
CHANGED
|
@@ -4,10 +4,40 @@
|
|
|
4
4
|
[](https://www.npmjs.com/package/workspai)
|
|
5
5
|
[](LICENSE)
|
|
6
6
|
|
|
7
|
-
##
|
|
7
|
+
## Give your AI agent the system—not just the repository
|
|
8
|
+
|
|
9
|
+
Your coding agent should not have to rediscover your architecture in every
|
|
10
|
+
session. Workspai builds a current, evidence-backed view of your projects,
|
|
11
|
+
APIs, dependencies, infrastructure, and change boundaries, then gives agents
|
|
12
|
+
the bounded context they need.
|
|
8
13
|
|
|
9
14
|
> One workspace. One truth. Humans and AI aligned.
|
|
10
15
|
|
|
16
|
+
```bash
|
|
17
|
+
npx workspai adopt .
|
|
18
|
+
npx workspai workspace intelligence run --for-agent generic
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
A single run gives developers and tools the same operational picture:
|
|
22
|
+
|
|
23
|
+
```text
|
|
24
|
+
System projects · runtimes · APIs · dependencies · infrastructure
|
|
25
|
+
Evidence relationships linked back to canonical proof
|
|
26
|
+
Change affected projects and verification targets
|
|
27
|
+
Agents bounded context instead of an unfiltered repository dump
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
**Understand the system before an agent changes it.**
|
|
31
|
+
|
|
32
|
+

|
|
33
|
+
|
|
34
|
+
[Get started](#start-in-two-minutes) ·
|
|
35
|
+
[See what you get](#what-happens-after-the-first-run) ·
|
|
36
|
+
[How it works](#how-workspace-intelligence-works) ·
|
|
37
|
+
[Documentation](docs/README.md)
|
|
38
|
+
|
|
39
|
+
## Workspace Intelligence for software systems
|
|
40
|
+
|
|
11
41
|
Workspai is an open-source CLI that brings related software projects together,
|
|
12
42
|
so people and AI tools can understand and work with the same system.
|
|
13
43
|
|
|
@@ -17,11 +47,6 @@ so people and AI tools can understand and work with the same system.
|
|
|
17
47
|
- **Act with confidence:** understand impact, verify changes, and prepare focused
|
|
18
48
|
context for AI tools.
|
|
19
49
|
|
|
20
|
-
[Quickstart](#start-in-two-minutes) ·
|
|
21
|
-
[Everyday workflows](#everyday-workflows) ·
|
|
22
|
-
[How it works](#how-workspace-intelligence-works) ·
|
|
23
|
-
[Documentation](docs/README.md)
|
|
24
|
-
|
|
25
50
|

|
|
26
51
|
|
|
27
52
|
## Start in two minutes
|
|
@@ -38,14 +63,17 @@ npx workspai adopt .
|
|
|
38
63
|
The project stays where it is. Workspai creates or reuses a minimal workspace
|
|
39
64
|
in the default system location and records a validated local link.
|
|
40
65
|
|
|
41
|
-
Stay in the same project directory and run
|
|
66
|
+
Stay in the same project directory and run Workspace Intelligence:
|
|
42
67
|
|
|
43
68
|
```bash
|
|
44
|
-
npx workspai workspace intelligence run --for-agent generic
|
|
69
|
+
npx workspai workspace intelligence run --for-agent generic
|
|
45
70
|
```
|
|
46
71
|
|
|
47
72
|
Workspai now knows which workspace owns the project. You only need
|
|
48
73
|
`--workspace <path>` when a moved or ambiguous binding cannot be resolved.
|
|
74
|
+
The shorter command is intended for a human-readable first run. CI, agents, and
|
|
75
|
+
other machine consumers should use the strict JSON form shown in
|
|
76
|
+
[How Workspace Intelligence works](#how-workspace-intelligence-works).
|
|
49
77
|
|
|
50
78
|
### Start new software
|
|
51
79
|
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://workspai.dev/contracts/adopt-effects.v1.json",
|
|
4
|
+
"title": "Workspai Adopt Effects v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schemaVersion",
|
|
9
|
+
"sourceMode",
|
|
10
|
+
"sourceCodeModified",
|
|
11
|
+
"projectMetadataFiles",
|
|
12
|
+
"repositoryControlFiles",
|
|
13
|
+
"workspaceOperations"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"schemaVersion": {
|
|
17
|
+
"const": "workspai.adopt-effects.v1"
|
|
18
|
+
},
|
|
19
|
+
"sourceMode": {
|
|
20
|
+
"const": "linked"
|
|
21
|
+
},
|
|
22
|
+
"sourceCodeModified": {
|
|
23
|
+
"const": false
|
|
24
|
+
},
|
|
25
|
+
"projectMetadataFiles": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"items": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"minLength": 1
|
|
30
|
+
},
|
|
31
|
+
"uniqueItems": true
|
|
32
|
+
},
|
|
33
|
+
"repositoryControlFiles": {
|
|
34
|
+
"type": "array",
|
|
35
|
+
"items": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"required": [
|
|
39
|
+
"path",
|
|
40
|
+
"action",
|
|
41
|
+
"condition"
|
|
42
|
+
],
|
|
43
|
+
"properties": {
|
|
44
|
+
"path": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"minLength": 1
|
|
47
|
+
},
|
|
48
|
+
"action": {
|
|
49
|
+
"const": "reconcile"
|
|
50
|
+
},
|
|
51
|
+
"condition": {
|
|
52
|
+
"type": "string",
|
|
53
|
+
"minLength": 1
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"workspaceOperations": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"items": {
|
|
61
|
+
"enum": [
|
|
62
|
+
"register-project",
|
|
63
|
+
"sync-contract",
|
|
64
|
+
"rebuild-model",
|
|
65
|
+
"rebuild-graph",
|
|
66
|
+
"sync-agent-grounding"
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
"uniqueItems": true
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
@@ -73,6 +73,94 @@
|
|
|
73
73
|
"overwrite": { "const": false }
|
|
74
74
|
}
|
|
75
75
|
},
|
|
76
|
+
{
|
|
77
|
+
"type": "object",
|
|
78
|
+
"additionalProperties": false,
|
|
79
|
+
"required": ["type", "path", "lines", "ensureNewline"],
|
|
80
|
+
"properties": {
|
|
81
|
+
"type": { "const": "file-append" },
|
|
82
|
+
"path": { "type": "string" },
|
|
83
|
+
"lines": { "type": "array", "items": { "type": "string" } },
|
|
84
|
+
"ensureNewline": { "type": "boolean" }
|
|
85
|
+
}
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "object",
|
|
89
|
+
"additionalProperties": false,
|
|
90
|
+
"required": ["type", "sourcePath", "path", "overwrite"],
|
|
91
|
+
"properties": {
|
|
92
|
+
"type": { "const": "file-copy" },
|
|
93
|
+
"sourcePath": { "type": "string" },
|
|
94
|
+
"path": { "type": "string" },
|
|
95
|
+
"overwrite": { "const": false }
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"type": "object",
|
|
100
|
+
"additionalProperties": false,
|
|
101
|
+
"required": ["type", "path", "scriptName", "scriptValue"],
|
|
102
|
+
"properties": {
|
|
103
|
+
"type": { "const": "package-json-script" },
|
|
104
|
+
"path": { "type": "string" },
|
|
105
|
+
"scriptName": { "type": "string" },
|
|
106
|
+
"scriptValue": { "type": "string" }
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"type": "object",
|
|
111
|
+
"additionalProperties": false,
|
|
112
|
+
"required": ["type", "path", "edits"],
|
|
113
|
+
"properties": {
|
|
114
|
+
"type": { "const": "json-edit" },
|
|
115
|
+
"path": { "type": "string" },
|
|
116
|
+
"edits": {
|
|
117
|
+
"type": "array",
|
|
118
|
+
"items": {
|
|
119
|
+
"type": "object",
|
|
120
|
+
"additionalProperties": false,
|
|
121
|
+
"required": ["pointer", "value"],
|
|
122
|
+
"properties": {
|
|
123
|
+
"pointer": { "type": "string" },
|
|
124
|
+
"value": { "type": ["string", "number", "boolean", "null"] }
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"type": "object",
|
|
132
|
+
"additionalProperties": false,
|
|
133
|
+
"required": ["type", "path", "keys"],
|
|
134
|
+
"properties": {
|
|
135
|
+
"type": { "const": "env-key-add" },
|
|
136
|
+
"path": { "type": "string" },
|
|
137
|
+
"keys": {
|
|
138
|
+
"type": "array",
|
|
139
|
+
"items": {
|
|
140
|
+
"type": "object",
|
|
141
|
+
"additionalProperties": false,
|
|
142
|
+
"required": ["name", "value"],
|
|
143
|
+
"properties": {
|
|
144
|
+
"name": { "type": "string" },
|
|
145
|
+
"value": { "type": "string" },
|
|
146
|
+
"comment": { "type": "string" }
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"type": "object",
|
|
154
|
+
"additionalProperties": false,
|
|
155
|
+
"required": ["type", "path", "target", "command", "phony"],
|
|
156
|
+
"properties": {
|
|
157
|
+
"type": { "const": "makefile-target" },
|
|
158
|
+
"path": { "type": "string" },
|
|
159
|
+
"target": { "type": "string" },
|
|
160
|
+
"command": { "type": "string" },
|
|
161
|
+
"phony": { "type": "boolean" }
|
|
162
|
+
}
|
|
163
|
+
},
|
|
76
164
|
{
|
|
77
165
|
"type": "object",
|
|
78
166
|
"additionalProperties": false,
|
|
@@ -164,7 +252,15 @@
|
|
|
164
252
|
"allOf": [
|
|
165
253
|
{
|
|
166
254
|
"if": { "properties": { "kind": { "const": "dependency-security" } } },
|
|
167
|
-
"then": {
|
|
255
|
+
"then": {
|
|
256
|
+
"properties": {
|
|
257
|
+
"completion": {
|
|
258
|
+
"type": "object",
|
|
259
|
+
"properties": { "auditClean": { "const": true } },
|
|
260
|
+
"required": ["auditClean"]
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
168
264
|
},
|
|
169
265
|
{
|
|
170
266
|
"if": { "properties": { "kind": { "const": "dependency-materialization" } } },
|
|
@@ -173,7 +269,11 @@
|
|
|
173
269
|
"properties": {
|
|
174
270
|
"sourceMutationRequired": { "const": false },
|
|
175
271
|
"observableState": { "const": "runtime-dependency-tree" },
|
|
176
|
-
"completion": {
|
|
272
|
+
"completion": {
|
|
273
|
+
"type": "object",
|
|
274
|
+
"properties": { "installedTreePresent": { "const": true } },
|
|
275
|
+
"required": ["installedTreePresent"]
|
|
276
|
+
}
|
|
177
277
|
}
|
|
178
278
|
}
|
|
179
279
|
}
|
|
@@ -190,6 +290,9 @@
|
|
|
190
290
|
"order",
|
|
191
291
|
"phase",
|
|
192
292
|
"scope",
|
|
293
|
+
"findingId",
|
|
294
|
+
"findingStatus",
|
|
295
|
+
"causalKey",
|
|
193
296
|
"status",
|
|
194
297
|
"mode",
|
|
195
298
|
"risk",
|
|
@@ -213,6 +316,11 @@
|
|
|
213
316
|
"projectName": { "type": "string", "minLength": 1 },
|
|
214
317
|
"projectPath": { "type": "string", "minLength": 1 },
|
|
215
318
|
"sourceStepId": { "type": "string", "minLength": 1 },
|
|
319
|
+
"findingId": { "type": "string", "minLength": 1 },
|
|
320
|
+
"findingStatus": {
|
|
321
|
+
"enum": ["blocking", "advisory", "informational", "unknown"]
|
|
322
|
+
},
|
|
323
|
+
"causalKey": { "type": "string", "minLength": 1 },
|
|
216
324
|
"dependsOn": {
|
|
217
325
|
"type": "array",
|
|
218
326
|
"items": { "type": "string", "minLength": 1 }
|
|
@@ -377,9 +377,17 @@
|
|
|
377
377
|
"attributeName": "project"
|
|
378
378
|
},
|
|
379
379
|
{
|
|
380
|
-
"flags": "--json",
|
|
380
|
+
"flags": "--json [mode]",
|
|
381
381
|
"attributeName": "json"
|
|
382
382
|
},
|
|
383
|
+
{
|
|
384
|
+
"flags": "--fresh",
|
|
385
|
+
"attributeName": "fresh"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"flags": "--verbose",
|
|
389
|
+
"attributeName": "verbose"
|
|
390
|
+
},
|
|
383
391
|
{
|
|
384
392
|
"flags": "--strict",
|
|
385
393
|
"attributeName": "strict"
|
|
@@ -403,6 +411,22 @@
|
|
|
403
411
|
{
|
|
404
412
|
"flags": "--apply",
|
|
405
413
|
"attributeName": "apply"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"flags": "--runtime <runtime>",
|
|
417
|
+
"attributeName": "runtime"
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
"flags": "--framework <framework>",
|
|
421
|
+
"attributeName": "framework"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"flags": "--validate",
|
|
425
|
+
"attributeName": "validate"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"flags": "--write",
|
|
429
|
+
"attributeName": "write"
|
|
406
430
|
}
|
|
407
431
|
]
|
|
408
432
|
},
|
|
@@ -1280,6 +1304,10 @@
|
|
|
1280
1304
|
"flags": "--limit <count>",
|
|
1281
1305
|
"attributeName": "limit"
|
|
1282
1306
|
},
|
|
1307
|
+
{
|
|
1308
|
+
"flags": "--refresh-graph",
|
|
1309
|
+
"attributeName": "refreshGraph"
|
|
1310
|
+
},
|
|
1283
1311
|
{
|
|
1284
1312
|
"flags": "--cache",
|
|
1285
1313
|
"attributeName": "cache"
|
|
@@ -1396,6 +1424,10 @@
|
|
|
1396
1424
|
"flags": "--parallel",
|
|
1397
1425
|
"attributeName": "parallel"
|
|
1398
1426
|
},
|
|
1427
|
+
{
|
|
1428
|
+
"flags": "--runtime <runtime>",
|
|
1429
|
+
"attributeName": "runtime"
|
|
1430
|
+
},
|
|
1399
1431
|
{
|
|
1400
1432
|
"flags": "--max-workers <count>",
|
|
1401
1433
|
"attributeName": "maxWorkers"
|
|
@@ -43,6 +43,9 @@
|
|
|
43
43
|
"graphDiagnosis": {
|
|
44
44
|
"$ref": "https://workspai.dev/schemas/workspace-intelligence/doctor-graph-diagnosis.v1.json"
|
|
45
45
|
},
|
|
46
|
+
"diagnosis": {
|
|
47
|
+
"$ref": "https://workspai.dev/schemas/workspace-intelligence/doctor-diagnosis.v1.json"
|
|
48
|
+
},
|
|
46
49
|
"verdict": { "enum": ["passed", "attention", "blocked"] },
|
|
47
50
|
"probeSummary": { "$ref": "#/$defs/probeSummary" }
|
|
48
51
|
},
|
|
@@ -51,6 +54,7 @@
|
|
|
51
54
|
"summary": {
|
|
52
55
|
"type": "object",
|
|
53
56
|
"properties": {
|
|
57
|
+
"counts": { "$ref": "#/$defs/counts" },
|
|
54
58
|
"scopeProvenance": { "type": "object", "additionalProperties": true },
|
|
55
59
|
"verdict": { "enum": ["passed", "attention", "blocked"] },
|
|
56
60
|
"probeSummary": { "$ref": "#/$defs/probeSummary" },
|
|
@@ -68,6 +72,10 @@
|
|
|
68
72
|
"policyProfile": { "$ref": "#/$defs/policyProfile" }
|
|
69
73
|
},
|
|
70
74
|
"$defs": {
|
|
75
|
+
"counts": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"additionalProperties": { "type": "integer", "minimum": 0 }
|
|
78
|
+
},
|
|
71
79
|
"dependencyAudit": {
|
|
72
80
|
"type": "object",
|
|
73
81
|
"required": [
|
|
@@ -262,6 +270,7 @@
|
|
|
262
270
|
"warnings": { "type": "integer", "minimum": 0 },
|
|
263
271
|
"errors": { "type": "integer", "minimum": 0 },
|
|
264
272
|
"verdict": { "enum": ["passed", "attention", "blocked"] },
|
|
273
|
+
"presentation": { "$ref": "#/$defs/healthScorePresentation" },
|
|
265
274
|
"components": {
|
|
266
275
|
"type": "object",
|
|
267
276
|
"required": ["host", "projects"],
|
|
@@ -274,6 +283,30 @@
|
|
|
274
283
|
},
|
|
275
284
|
"additionalProperties": false
|
|
276
285
|
},
|
|
286
|
+
"healthScorePresentation": {
|
|
287
|
+
"type": "object",
|
|
288
|
+
"required": [
|
|
289
|
+
"policy",
|
|
290
|
+
"diagnosticPassRatePercent",
|
|
291
|
+
"blockingFindings",
|
|
292
|
+
"advisoryFindings",
|
|
293
|
+
"unknownFindings",
|
|
294
|
+
"contradictionFindings",
|
|
295
|
+
"notApplicableChecks",
|
|
296
|
+
"label"
|
|
297
|
+
],
|
|
298
|
+
"properties": {
|
|
299
|
+
"policy": { "const": "doctor-multi-axis-v1" },
|
|
300
|
+
"diagnosticPassRatePercent": { "type": ["number", "null"], "minimum": 0, "maximum": 100 },
|
|
301
|
+
"blockingFindings": { "type": "integer", "minimum": 0 },
|
|
302
|
+
"advisoryFindings": { "type": "integer", "minimum": 0 },
|
|
303
|
+
"unknownFindings": { "type": "integer", "minimum": 0 },
|
|
304
|
+
"contradictionFindings": { "type": "integer", "minimum": 0 },
|
|
305
|
+
"notApplicableChecks": { "type": "integer", "minimum": 0 },
|
|
306
|
+
"label": { "const": "diagnostic-pass-rate" }
|
|
307
|
+
},
|
|
308
|
+
"additionalProperties": false
|
|
309
|
+
},
|
|
277
310
|
"probeSummary": {
|
|
278
311
|
"type": "object",
|
|
279
312
|
"required": [
|
|
@@ -292,6 +325,8 @@
|
|
|
292
325
|
"failed": { "type": "integer", "minimum": 0 },
|
|
293
326
|
"blockingFindings": { "type": "integer", "minimum": 0 },
|
|
294
327
|
"advisoryFindings": { "type": "integer", "minimum": 0 },
|
|
328
|
+
"unknownFindings": { "type": "integer", "minimum": 0 },
|
|
329
|
+
"contradictionFindings": { "type": "integer", "minimum": 0 },
|
|
295
330
|
"verdict": { "enum": ["passed", "attention", "blocked"] }
|
|
296
331
|
},
|
|
297
332
|
"additionalProperties": false
|
|
@@ -391,6 +426,7 @@
|
|
|
391
426
|
"status": { "enum": ["pass", "warn", "fail"] },
|
|
392
427
|
"severity": { "enum": ["info", "warn", "error"] },
|
|
393
428
|
"scope": { "type": "string" },
|
|
429
|
+
"applicability": { "enum": ["applicable", "not-applicable", "unknown"] },
|
|
394
430
|
"reason": { "type": "string" },
|
|
395
431
|
"recommendation": { "type": "string" },
|
|
396
432
|
"freshness": { "$ref": "#/$defs/freshness" },
|
|
@@ -530,7 +566,15 @@
|
|
|
530
566
|
"allOf": [
|
|
531
567
|
{
|
|
532
568
|
"if": { "properties": { "kind": { "const": "dependency-security" } } },
|
|
533
|
-
"then": {
|
|
569
|
+
"then": {
|
|
570
|
+
"properties": {
|
|
571
|
+
"completion": {
|
|
572
|
+
"type": "object",
|
|
573
|
+
"properties": { "auditClean": { "const": true } },
|
|
574
|
+
"required": ["auditClean"]
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
}
|
|
534
578
|
},
|
|
535
579
|
{
|
|
536
580
|
"if": { "properties": { "kind": { "const": "dependency-materialization" } } },
|
|
@@ -539,7 +583,11 @@
|
|
|
539
583
|
"properties": {
|
|
540
584
|
"sourceMutationRequired": { "const": false },
|
|
541
585
|
"observableState": { "const": "runtime-dependency-tree" },
|
|
542
|
-
"completion": {
|
|
586
|
+
"completion": {
|
|
587
|
+
"type": "object",
|
|
588
|
+
"properties": { "installedTreePresent": { "const": true } },
|
|
589
|
+
"required": ["installedTreePresent"]
|
|
590
|
+
}
|
|
543
591
|
}
|
|
544
592
|
}
|
|
545
593
|
}
|
|
@@ -625,6 +673,51 @@
|
|
|
625
673
|
"command": { "type": "string" },
|
|
626
674
|
"phony": { "type": "boolean" }
|
|
627
675
|
},
|
|
676
|
+
"allOf": [
|
|
677
|
+
{
|
|
678
|
+
"if": { "properties": { "type": { "const": "file-create" } } },
|
|
679
|
+
"then": {
|
|
680
|
+
"required": ["content", "overwrite"],
|
|
681
|
+
"properties": { "content": {}, "overwrite": { "const": false } }
|
|
682
|
+
}
|
|
683
|
+
},
|
|
684
|
+
{
|
|
685
|
+
"if": { "properties": { "type": { "const": "file-append" } } },
|
|
686
|
+
"then": {
|
|
687
|
+
"required": ["lines", "ensureNewline"],
|
|
688
|
+
"properties": { "lines": {}, "ensureNewline": {} }
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"if": { "properties": { "type": { "const": "file-copy" } } },
|
|
693
|
+
"then": {
|
|
694
|
+
"required": ["sourcePath", "overwrite"],
|
|
695
|
+
"properties": { "sourcePath": {}, "overwrite": { "const": false } }
|
|
696
|
+
}
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"if": { "properties": { "type": { "const": "package-json-script" } } },
|
|
700
|
+
"then": {
|
|
701
|
+
"required": ["scriptName", "scriptValue"],
|
|
702
|
+
"properties": { "scriptName": {}, "scriptValue": {} }
|
|
703
|
+
}
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
"if": { "properties": { "type": { "const": "json-edit" } } },
|
|
707
|
+
"then": { "required": ["edits"], "properties": { "edits": {} } }
|
|
708
|
+
},
|
|
709
|
+
{
|
|
710
|
+
"if": { "properties": { "type": { "const": "env-key-add" } } },
|
|
711
|
+
"then": { "required": ["keys"], "properties": { "keys": {} } }
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
"if": { "properties": { "type": { "const": "makefile-target" } } },
|
|
715
|
+
"then": {
|
|
716
|
+
"required": ["target", "command", "phony"],
|
|
717
|
+
"properties": { "target": {}, "command": {}, "phony": {} }
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
],
|
|
628
721
|
"additionalProperties": false
|
|
629
722
|
}
|
|
630
723
|
},
|
|
@@ -219,7 +219,15 @@
|
|
|
219
219
|
"allOf": [
|
|
220
220
|
{
|
|
221
221
|
"if": { "properties": { "kind": { "const": "dependency-security" } } },
|
|
222
|
-
"then": {
|
|
222
|
+
"then": {
|
|
223
|
+
"properties": {
|
|
224
|
+
"completion": {
|
|
225
|
+
"type": "object",
|
|
226
|
+
"properties": { "auditClean": { "const": true } },
|
|
227
|
+
"required": ["auditClean"]
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
223
231
|
},
|
|
224
232
|
{
|
|
225
233
|
"if": { "properties": { "kind": { "const": "dependency-materialization" } } },
|
|
@@ -228,7 +236,11 @@
|
|
|
228
236
|
"properties": {
|
|
229
237
|
"sourceMutationRequired": { "const": false },
|
|
230
238
|
"observableState": { "const": "runtime-dependency-tree" },
|
|
231
|
-
"completion": {
|
|
239
|
+
"completion": {
|
|
240
|
+
"type": "object",
|
|
241
|
+
"properties": { "installedTreePresent": { "const": true } },
|
|
242
|
+
"required": ["installedTreePresent"]
|
|
243
|
+
}
|
|
232
244
|
}
|
|
233
245
|
}
|
|
234
246
|
}
|
|
@@ -461,6 +473,7 @@
|
|
|
461
473
|
"kind",
|
|
462
474
|
"risk",
|
|
463
475
|
"executable",
|
|
476
|
+
"findingStatus",
|
|
464
477
|
"files",
|
|
465
478
|
"preview",
|
|
466
479
|
"diffPreview",
|
|
@@ -531,6 +544,17 @@
|
|
|
531
544
|
"issueId": {
|
|
532
545
|
"type": "string"
|
|
533
546
|
},
|
|
547
|
+
"diagnosisFindingId": {
|
|
548
|
+
"type": "string",
|
|
549
|
+
"minLength": 1
|
|
550
|
+
},
|
|
551
|
+
"causalKey": {
|
|
552
|
+
"type": "string",
|
|
553
|
+
"minLength": 1
|
|
554
|
+
},
|
|
555
|
+
"findingStatus": {
|
|
556
|
+
"enum": ["blocking", "advisory", "informational", "unknown"]
|
|
557
|
+
},
|
|
534
558
|
"issueClass": {
|
|
535
559
|
"enum": [
|
|
536
560
|
"dependency",
|
|
@@ -572,6 +596,9 @@
|
|
|
572
596
|
"operation": {
|
|
573
597
|
"$ref": "#/$defs/repairOperation"
|
|
574
598
|
},
|
|
599
|
+
"invocation": {
|
|
600
|
+
"$ref": "#/$defs/commandInvocation"
|
|
601
|
+
},
|
|
575
602
|
"strategy": {
|
|
576
603
|
"type": "array",
|
|
577
604
|
"items": { "$ref": "#/$defs/repairStrategyStage" }
|