workspai 0.57.0 → 0.59.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 +80 -30
- package/contracts/agent-customization-pack.v1.json +62 -4
- package/contracts/cli-runtime-command-inventory.v1.snapshot.json +167 -0
- package/contracts/extension-cli-compatibility.v1.json +8 -1
- package/contracts/project-workspace-resolution.v1.json +15 -2
- package/contracts/published-contract-catalog.v1.json +35 -0
- package/contracts/runtime-command-surface.v1.json +99 -0
- package/contracts/workspace-intelligence/agent-bootstrap-receipt.v1.json +247 -0
- package/contracts/workspace-intelligence/agent-customization-pack-report.v1.json +16 -1
- package/contracts/workspace-intelligence/goal-agent-handoff.v1.json +96 -0
- package/contracts/workspace-intelligence/goal-index.v1.json +51 -0
- package/contracts/workspace-intelligence/goal-lifecycle-result.v1.json +96 -0
- package/contracts/workspace-intelligence/goal-pack.v1.json +251 -0
- package/contracts/workspace-intelligence/goal-plan-result.v1.json +46 -0
- package/contracts/workspace-intelligence/project-agent-entry.v1.json +204 -0
- package/contracts/workspace-intelligence/project-context-agent.v1.json +43 -26
- package/contracts/workspace-intelligence/workspace-context.v1.json +14 -1
- package/contracts/workspace-intelligence/workspace-repair-proposal.v1.json +1 -0
- package/contracts/workspace-intelligence/workspace-repair-transaction.v1.json +15 -2
- package/contracts/workspace-intelligence-architecture.v1.json +20 -0
- package/contracts/workspace-repair-capabilities.v1.json +5 -0
- package/dist/analyze-52TEGLDR.js +1 -0
- package/dist/{artifact-remediation-plan-BPLON5VX.js → artifact-remediation-plan-HPNQTNJ2.js} +1 -1
- package/dist/autopilot-release-KQGDM2AA.js +1 -0
- package/dist/capabilities-command-VBLZXP2T.js +1 -0
- package/dist/chunk-4PUJVYRM.js +1 -0
- package/dist/{workspace-knowledge-graph-snapshot-XSQADCNR.js → chunk-5NIZNXRS.js} +1 -1
- package/dist/chunk-5PSKBJKJ.js +1 -0
- package/dist/{chunk-AA4PNQKR.js → chunk-5SFCBZOH.js} +1 -1
- package/dist/{chunk-N2BIIUDH.js → chunk-6FBNSTUS.js} +1 -1
- package/dist/{chunk-YJTEMJFV.js → chunk-7DSYI7YN.js} +1 -1
- package/dist/chunk-7SFXADXO.js +2 -0
- package/dist/{chunk-ADL3CK44.js → chunk-CCDGHPEJ.js} +1 -1
- package/dist/{chunk-LYVDRRDO.js → chunk-D65FCQIO.js} +1 -1
- package/dist/{chunk-YM77FQB3.js → chunk-DGGTTRYE.js} +1 -1
- package/dist/{chunk-TTFQWH55.js → chunk-ENKGGWRX.js} +1 -1
- package/dist/{chunk-ZPA6ECBJ.js → chunk-GPOZILMY.js} +1 -1
- package/dist/{chunk-L36ZASME.js → chunk-HCFWT42C.js} +1 -1
- package/dist/chunk-HOUQIT7U.js +1 -0
- package/dist/{chunk-IXOLHPTN.js → chunk-HS3DJMU5.js} +1 -1
- package/dist/{chunk-XMTLKDPP.js → chunk-J3X56S7L.js} +1 -1
- package/dist/{chunk-64JUYYRC.js → chunk-KBR4Y4RW.js} +1 -1
- package/dist/{chunk-E53BGUOW.js → chunk-KTN2ARZJ.js} +1 -1
- package/dist/chunk-LPCWROQ3.js +1 -0
- package/dist/{chunk-VL3APTVB.js → chunk-M3IKRWXA.js} +1 -1
- package/dist/{chunk-P475BOJW.js → chunk-M4UOXP5T.js} +1 -1
- package/dist/{chunk-GBMCHFOV.js → chunk-N4QQADXX.js} +1 -1
- package/dist/{chunk-75HOCFNH.js → chunk-NOZ4JCH7.js} +1 -1
- package/dist/chunk-NZ3WZYD5.js +1 -0
- package/dist/{chunk-QHY6F4SS.js → chunk-OFWSZYUX.js} +1 -1
- package/dist/{chunk-IUYZ3NHS.js → chunk-OLC7EYUA.js} +3 -3
- package/dist/chunk-PVXSIYLP.js +1 -0
- package/dist/{chunk-NHTLE3WN.js → chunk-PXWKMPPI.js} +1 -1
- package/dist/{chunk-V5EYVQ63.js → chunk-QCKWQFCD.js} +1 -1
- package/dist/{chunk-GDKFN3CM.js → chunk-QFBVQUKV.js} +1 -1
- package/dist/{chunk-W5ZFXKSL.js → chunk-QJCCZLOF.js} +1 -1
- package/dist/{chunk-Z57G62KE.js → chunk-QMPFNXI7.js} +1 -1
- package/dist/chunk-RBBBXFEU.js +1 -0
- package/dist/{chunk-DF4NWPB7.js → chunk-RHK53ZK7.js} +1 -1
- package/dist/chunk-S45YGN2I.js +142 -0
- package/dist/chunk-S4CWUZ4K.js +1 -0
- package/dist/{chunk-SNO3WG4V.js → chunk-SP5EHSWG.js} +1 -1
- package/dist/chunk-TCURN5VD.js +2 -0
- package/dist/{chunk-GTJY55QK.js → chunk-UVBPEX3E.js} +1 -1
- package/dist/chunk-V3ABABV5.js +39 -0
- package/dist/{chunk-IZLEMTES.js → chunk-W6FHVXNL.js} +1 -1
- package/dist/{chunk-UQEQ6CXU.js → chunk-WQX3JYEP.js} +1 -1
- package/dist/{chunk-GXTCU4WF.js → chunk-WSRUPDZN.js} +1 -1
- package/dist/{chunk-6OFGLNFS.js → chunk-YEEAWZWI.js} +1 -1
- package/dist/{chunk-QK5QOXOE.js → chunk-ZJCM37KX.js} +1 -1
- package/dist/{create-O2KLTN5H.js → create-6QWIJTGU.js} +1 -1
- package/dist/{doctor-AL5YWO5X.js → doctor-NAZEKMGU.js} +1 -1
- package/dist/goal-command-contract-CHE7U6YY.js +1 -0
- package/dist/goal-lifecycle-ECIRCHN5.js +1 -0
- package/dist/goal-pack-HBOPVZFO.js +1 -0
- package/dist/index.d.ts +25 -3
- package/dist/index.js +150 -148
- package/dist/{pipeline-4ST4BQWY.js → pipeline-5LLFP5ZH.js} +1 -1
- package/dist/project-agent-entry-AFKDDRDL.js +1 -0
- package/dist/{project-intelligence-lens-JHYECYOK.js → project-intelligence-lens-U2V3VNZG.js} +1 -1
- package/dist/project-test-coverage-HP37HUV2.js +1 -0
- package/dist/{verified-goal-KFNRGOKT.js → verified-goal-HUYJ6LBI.js} +1 -1
- package/dist/{workspace-O4E5CCGK.js → workspace-CQ43AWUF.js} +1 -1
- package/dist/{workspace-agent-sync-N5DPGU2E.js → workspace-agent-sync-YMXYUGYY.js} +1 -1
- package/dist/{workspace-archive-BA3ONVXX.js → workspace-archive-ZBCKJHXS.js} +1 -1
- package/dist/{workspace-context-ETZNEHOJ.js → workspace-context-RAO62QVU.js} +1 -1
- package/dist/{workspace-contract-OSI7NBXS.js → workspace-contract-ACSIHJIO.js} +1 -1
- package/dist/workspace-explain-RH27OQB4.js +1 -0
- package/dist/workspace-explain-contract-ZL4NMLZI.js +1 -0
- package/dist/{workspace-feedback-PCZKXG5R.js → workspace-feedback-RQ4TGJW6.js} +1 -1
- package/dist/{workspace-foundation-QQHX66KE.js → workspace-foundation-JH2GFSAZ.js} +1 -1
- package/dist/{workspace-graph-stream-UZJQ75XZ.js → workspace-graph-stream-ZZZEQQTE.js} +1 -1
- package/dist/workspace-graph-token-efficiency-D7CUT6NX.js +1 -0
- package/dist/{workspace-history-CHJOABME.js → workspace-history-SYCDK7FO.js} +1 -1
- package/dist/{workspace-intelligence-A7O7MN6T.js → workspace-intelligence-3YERTBA3.js} +1 -1
- package/dist/{workspace-intelligence-evaluation-YMY3C5AW.js → workspace-intelligence-evaluation-CQDKOYZZ.js} +1 -1
- package/dist/{workspace-intelligence-runner-4EF66L66.js → workspace-intelligence-runner-YXMOT6GK.js} +1 -1
- package/dist/{workspace-intelligence-runtime-registry-NCVHKCMP.js → workspace-intelligence-runtime-registry-IW6J53LO.js} +1 -1
- package/dist/{workspace-knowledge-graph-BVN4NTJ6.js → workspace-knowledge-graph-HZZP6ZRB.js} +1 -1
- package/dist/{workspace-knowledge-graph-query-6DAOXGGT.js → workspace-knowledge-graph-query-ON45H6Y7.js} +1 -1
- package/dist/workspace-knowledge-graph-snapshot-7DWHMEM2.js +1 -0
- package/dist/{workspace-mcp-serve-TKX4J3SX.js → workspace-mcp-serve-5TTAN243.js} +1 -1
- package/dist/{workspace-model-7ESEP366.js → workspace-model-EIQSKDX7.js} +1 -1
- package/dist/{workspace-onboarding-SY255V7L.js → workspace-onboarding-SHHW4R4G.js} +1 -1
- package/dist/{workspace-readme-IVJXSIBS.js → workspace-readme-56YZ4EAZ.js} +1 -1
- package/dist/{workspace-registry-summary-7ISKYEPM.js → workspace-registry-summary-OV5KX3WC.js} +1 -1
- package/dist/workspace-repair-engine-BNXZHW35.js +3 -0
- package/dist/workspace-run-7EJEBHAH.js +1 -0
- package/dist/{workspace-verify-CNXZPWS5.js → workspace-verify-W4P6LBIH.js} +1 -1
- package/dist/{workspace-watch-HGFL2EU3.js → workspace-watch-EZ4D4VCF.js} +1 -1
- package/docs/GLOSSARY.md +13 -10
- package/docs/README.md +24 -17
- package/docs/README_CONTENT_CONTRACT.md +12 -8
- package/docs/agent-entry.md +194 -0
- package/docs/ci-workflows.md +1 -1
- package/docs/commands-reference.md +38 -2
- package/docs/contracts/ARTIFACT_CATALOG.md +17 -0
- package/docs/contracts/COMMAND_OWNERSHIP_MATRIX.md +4 -0
- package/docs/contracts/README.md +7 -0
- package/docs/goal-packs.md +235 -0
- package/docs/real-world-qualification.md +22 -3
- package/docs/workspace-operations.md +16 -8
- package/docs/workspace-repair-engine.md +36 -5
- package/package.json +3 -2
- package/scripts/enterprise-package-smoke.mjs +4 -0
- package/dist/analyze-HJ774J3E.js +0 -1
- package/dist/autopilot-release-WIFFFQKW.js +0 -1
- package/dist/capabilities-command-44JVOE5S.js +0 -1
- package/dist/chunk-3U4VLIGW.js +0 -1
- package/dist/chunk-5EPPPMAS.js +0 -1
- package/dist/chunk-CNWUIXF3.js +0 -1
- package/dist/chunk-D4RST2HE.js +0 -1
- package/dist/chunk-DT4X7I5M.js +0 -81
- package/dist/chunk-FPJNWPKU.js +0 -1
- package/dist/chunk-PKIRVQLG.js +0 -1
- package/dist/chunk-RPHM7LQW.js +0 -36
- package/dist/chunk-VUR7H2FU.js +0 -2
- package/dist/chunk-VZPWIILU.js +0 -1
- package/dist/project-test-coverage-FRMVYTFB.js +0 -1
- package/dist/workspace-explain-EM7IUV6L.js +0 -1
- package/dist/workspace-explain-contract-KVQO57RC.js +0 -1
- package/dist/workspace-graph-token-efficiency-TF23UYEF.js +0 -1
- package/dist/workspace-repair-engine-GMA2YTCF.js +0 -3
- package/dist/workspace-run-ZZXVNFUS.js +0 -1
|
@@ -48,6 +48,8 @@
|
|
|
48
48
|
"pipeline",
|
|
49
49
|
"import",
|
|
50
50
|
"adopt",
|
|
51
|
+
"goal",
|
|
52
|
+
"agent",
|
|
51
53
|
"snapshot",
|
|
52
54
|
"bootstrap",
|
|
53
55
|
"setup",
|
|
@@ -79,6 +81,10 @@
|
|
|
79
81
|
"ai",
|
|
80
82
|
"update-embeddings"
|
|
81
83
|
],
|
|
84
|
+
[
|
|
85
|
+
"agent",
|
|
86
|
+
"bootstrap"
|
|
87
|
+
],
|
|
82
88
|
[
|
|
83
89
|
"config",
|
|
84
90
|
"ai"
|
|
@@ -128,6 +134,10 @@
|
|
|
128
134
|
"project",
|
|
129
135
|
"commands"
|
|
130
136
|
],
|
|
137
|
+
[
|
|
138
|
+
"project",
|
|
139
|
+
"agent-entry"
|
|
140
|
+
],
|
|
131
141
|
[
|
|
132
142
|
"project",
|
|
133
143
|
"coverage"
|
|
@@ -184,6 +194,21 @@
|
|
|
184
194
|
"adopt"
|
|
185
195
|
]
|
|
186
196
|
},
|
|
197
|
+
{
|
|
198
|
+
"invocation": "agent",
|
|
199
|
+
"summary": "Resolve portable project entry contracts and issue canonical-first grounding receipts for coding agents.",
|
|
200
|
+
"canonicalArgv": [
|
|
201
|
+
"agent"
|
|
202
|
+
]
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"invocation": "agent bootstrap",
|
|
206
|
+
"summary": "Validate host discovery, workspace membership, evidence freshness, live inputs, and active Goal bindings before broad source discovery.",
|
|
207
|
+
"canonicalArgv": [
|
|
208
|
+
"agent",
|
|
209
|
+
"bootstrap"
|
|
210
|
+
]
|
|
211
|
+
},
|
|
187
212
|
{
|
|
188
213
|
"invocation": "ai",
|
|
189
214
|
"summary": "Manage AI configuration, recommendations, and embedding operations for the active workspace.",
|
|
@@ -420,6 +445,30 @@
|
|
|
420
445
|
"frameworks"
|
|
421
446
|
]
|
|
422
447
|
},
|
|
448
|
+
{
|
|
449
|
+
"invocation": "goal",
|
|
450
|
+
"summary": "Compile a plain-language engineering intent into a scope-bound, evidence-pinned Goal Pack and portable agent handoff without mutating source.",
|
|
451
|
+
"canonicalArgv": [
|
|
452
|
+
"goal",
|
|
453
|
+
"<intent>",
|
|
454
|
+
"--json"
|
|
455
|
+
],
|
|
456
|
+
"output": {
|
|
457
|
+
"defaultFormat": "human-or-json",
|
|
458
|
+
"modes": [
|
|
459
|
+
{
|
|
460
|
+
"selector": "--json",
|
|
461
|
+
"format": "json",
|
|
462
|
+
"mediaType": "application/json"
|
|
463
|
+
}
|
|
464
|
+
]
|
|
465
|
+
},
|
|
466
|
+
"exitSemantics": {
|
|
467
|
+
"default": "A contract-valid Goal Pack returns exit code 0, including explicit needs-confirmation, needs-evidence, or blocked planning states.",
|
|
468
|
+
"strict": "Not applicable; Goal planning does not execute or verify source changes.",
|
|
469
|
+
"failure": "Resolution, freshness, contract, integrity, or publication failure returns exit code 1."
|
|
470
|
+
}
|
|
471
|
+
},
|
|
423
472
|
{
|
|
424
473
|
"invocation": "help",
|
|
425
474
|
"summary": "Display contextual CLI usage, arguments, options, and command discovery guidance.",
|
|
@@ -614,6 +663,14 @@
|
|
|
614
663
|
"project"
|
|
615
664
|
]
|
|
616
665
|
},
|
|
666
|
+
{
|
|
667
|
+
"invocation": "project agent-entry",
|
|
668
|
+
"summary": "Verify portable entry adapters and canonical evidence bindings for one or every supported agent host.",
|
|
669
|
+
"canonicalArgv": [
|
|
670
|
+
"project",
|
|
671
|
+
"agent-entry"
|
|
672
|
+
]
|
|
673
|
+
},
|
|
617
674
|
{
|
|
618
675
|
"invocation": "project archive",
|
|
619
676
|
"summary": "Move a project into governed archive storage while preserving registry metadata and recovery evidence.",
|
|
@@ -1790,6 +1847,16 @@
|
|
|
1790
1847
|
]
|
|
1791
1848
|
]
|
|
1792
1849
|
},
|
|
1850
|
+
{
|
|
1851
|
+
"artifactPath": ".workspai/goals/index.json",
|
|
1852
|
+
"schemaVersion": "workspai.goal-index.v1",
|
|
1853
|
+
"contractPath": "contracts/workspace-intelligence/goal-index.v1.json",
|
|
1854
|
+
"producerCommands": [
|
|
1855
|
+
[
|
|
1856
|
+
"goal"
|
|
1857
|
+
]
|
|
1858
|
+
]
|
|
1859
|
+
},
|
|
1793
1860
|
{
|
|
1794
1861
|
"artifactPath": ".workspai/workspace-link.local.json",
|
|
1795
1862
|
"schemaVersion": "project-workspace-link.v1",
|
|
@@ -1834,6 +1901,28 @@
|
|
|
1834
1901
|
]
|
|
1835
1902
|
]
|
|
1836
1903
|
},
|
|
1904
|
+
{
|
|
1905
|
+
"artifactPath": ".workspai/agent-entry.v1.json",
|
|
1906
|
+
"schemaVersion": "workspai.agent-entry.v1",
|
|
1907
|
+
"contractPath": "contracts/workspace-intelligence/project-agent-entry.v1.json",
|
|
1908
|
+
"producerCommands": [
|
|
1909
|
+
[
|
|
1910
|
+
"adopt"
|
|
1911
|
+
],
|
|
1912
|
+
[
|
|
1913
|
+
"import"
|
|
1914
|
+
],
|
|
1915
|
+
[
|
|
1916
|
+
"workspace",
|
|
1917
|
+
"sync"
|
|
1918
|
+
],
|
|
1919
|
+
[
|
|
1920
|
+
"workspace",
|
|
1921
|
+
"agent-sync",
|
|
1922
|
+
"--write"
|
|
1923
|
+
]
|
|
1924
|
+
]
|
|
1925
|
+
},
|
|
1837
1926
|
{
|
|
1838
1927
|
"artifactPath": ".workspai/workspace.contract.json",
|
|
1839
1928
|
"schemaVersion": 1,
|
|
@@ -1998,6 +2087,16 @@
|
|
|
1998
2087
|
]
|
|
1999
2088
|
]
|
|
2000
2089
|
},
|
|
2090
|
+
{
|
|
2091
|
+
"artifactPath": ".workspai/reports/goal-pack-last-run.json",
|
|
2092
|
+
"schemaVersion": "workspai.goal-pack.v1",
|
|
2093
|
+
"contractPath": "contracts/workspace-intelligence/goal-pack.v1.json",
|
|
2094
|
+
"producerCommands": [
|
|
2095
|
+
[
|
|
2096
|
+
"goal"
|
|
2097
|
+
]
|
|
2098
|
+
]
|
|
2099
|
+
},
|
|
2001
2100
|
{
|
|
2002
2101
|
"artifactPath": ".workspai/reports/doctor-remediation-plan-last-run.json",
|
|
2003
2102
|
"schemaVersion": "doctor-remediation-plan-v2",
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://workspai.dev/schemas/workspace-intelligence/agent-bootstrap-receipt.v1.json",
|
|
4
|
+
"title": "Workspai Agent Bootstrap Receipt",
|
|
5
|
+
"description": "Portable per-session proof that an agent resolved canonical project evidence before broad source discovery.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"additionalProperties": false,
|
|
8
|
+
"required": [
|
|
9
|
+
"schemaVersion",
|
|
10
|
+
"generatedAt",
|
|
11
|
+
"receiptId",
|
|
12
|
+
"status",
|
|
13
|
+
"requestedAgent",
|
|
14
|
+
"resolvedHost",
|
|
15
|
+
"project",
|
|
16
|
+
"workspace",
|
|
17
|
+
"entry",
|
|
18
|
+
"canonicalEvidence",
|
|
19
|
+
"activeGoal",
|
|
20
|
+
"requiredReadOrder",
|
|
21
|
+
"claims",
|
|
22
|
+
"checks",
|
|
23
|
+
"nextActions",
|
|
24
|
+
"integrity"
|
|
25
|
+
],
|
|
26
|
+
"properties": {
|
|
27
|
+
"schemaVersion": { "const": "workspai.agent-bootstrap-receipt.v1" },
|
|
28
|
+
"generatedAt": { "type": "string", "format": "date-time" },
|
|
29
|
+
"receiptId": { "$ref": "#/$defs/hash" },
|
|
30
|
+
"status": { "$ref": "#/$defs/status" },
|
|
31
|
+
"requestedAgent": {
|
|
32
|
+
"enum": [
|
|
33
|
+
"generic",
|
|
34
|
+
"codex",
|
|
35
|
+
"claude",
|
|
36
|
+
"gemini",
|
|
37
|
+
"qwen",
|
|
38
|
+
"kimi",
|
|
39
|
+
"grok",
|
|
40
|
+
"copilot",
|
|
41
|
+
"cursor",
|
|
42
|
+
"windsurf",
|
|
43
|
+
"amazon-q",
|
|
44
|
+
"all"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"resolvedHost": {
|
|
48
|
+
"enum": [
|
|
49
|
+
"generic",
|
|
50
|
+
"codex",
|
|
51
|
+
"claude",
|
|
52
|
+
"gemini",
|
|
53
|
+
"qwen",
|
|
54
|
+
"kimi",
|
|
55
|
+
"grok",
|
|
56
|
+
"copilot",
|
|
57
|
+
"cursor",
|
|
58
|
+
"windsurf",
|
|
59
|
+
"amazon-q",
|
|
60
|
+
"all"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"project": {
|
|
64
|
+
"type": "object",
|
|
65
|
+
"additionalProperties": false,
|
|
66
|
+
"required": ["name", "relativePath"],
|
|
67
|
+
"properties": {
|
|
68
|
+
"name": { "type": "string", "minLength": 1 },
|
|
69
|
+
"relativePath": { "$ref": "#/$defs/portablePath" },
|
|
70
|
+
"runtime": { "type": "string", "minLength": 1 },
|
|
71
|
+
"framework": { "type": "string", "minLength": 1 }
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"workspace": {
|
|
75
|
+
"type": "object",
|
|
76
|
+
"additionalProperties": false,
|
|
77
|
+
"required": [
|
|
78
|
+
"name",
|
|
79
|
+
"relationship",
|
|
80
|
+
"resolved",
|
|
81
|
+
"identityIsFilesystemPath",
|
|
82
|
+
"resolverCommand",
|
|
83
|
+
"portableUriScheme",
|
|
84
|
+
"resolvedPathPolicy"
|
|
85
|
+
],
|
|
86
|
+
"properties": {
|
|
87
|
+
"name": { "type": "string", "minLength": 1 },
|
|
88
|
+
"relationship": {
|
|
89
|
+
"enum": ["managed", "adopted", "imported", "linked", "restored"]
|
|
90
|
+
},
|
|
91
|
+
"resolved": { "const": true },
|
|
92
|
+
"identityIsFilesystemPath": { "const": false },
|
|
93
|
+
"resolverCommand": { "const": "workspai project workspace status --json" },
|
|
94
|
+
"portableUriScheme": { "const": "workspace:" },
|
|
95
|
+
"resolvedPathPolicy": { "const": "runtime-private-never-persist" }
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"entry": {
|
|
99
|
+
"type": "object",
|
|
100
|
+
"additionalProperties": false,
|
|
101
|
+
"required": ["artifact", "schemaVersion", "hostStatus", "entryFiles"],
|
|
102
|
+
"properties": {
|
|
103
|
+
"artifact": { "const": ".workspai/agent-entry.v1.json" },
|
|
104
|
+
"schemaVersion": { "const": "workspai.agent-entry.v1" },
|
|
105
|
+
"hostStatus": { "$ref": "#/$defs/status" },
|
|
106
|
+
"entryFiles": {
|
|
107
|
+
"type": "array",
|
|
108
|
+
"minItems": 1,
|
|
109
|
+
"maxItems": 16,
|
|
110
|
+
"uniqueItems": true,
|
|
111
|
+
"items": { "$ref": "#/$defs/portablePath" }
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
"canonicalEvidence": {
|
|
116
|
+
"type": "object",
|
|
117
|
+
"additionalProperties": false,
|
|
118
|
+
"required": [
|
|
119
|
+
"projectContext",
|
|
120
|
+
"workspaceIndex",
|
|
121
|
+
"workspaceContext",
|
|
122
|
+
"workspaceModel",
|
|
123
|
+
"knowledgeGraph",
|
|
124
|
+
"modelFreshness",
|
|
125
|
+
"graphFreshness",
|
|
126
|
+
"graphMatchesModel",
|
|
127
|
+
"liveInputsValidated",
|
|
128
|
+
"blockerCount"
|
|
129
|
+
],
|
|
130
|
+
"properties": {
|
|
131
|
+
"projectContext": { "const": ".workspai/reports/project-context-agent.json" },
|
|
132
|
+
"workspaceIndex": { "const": "workspace:.workspai/reports/INDEX.json" },
|
|
133
|
+
"workspaceContext": {
|
|
134
|
+
"const": "workspace:.workspai/reports/workspace-context-agent.json"
|
|
135
|
+
},
|
|
136
|
+
"workspaceModel": { "const": "workspace:.workspai/reports/workspace-model.json" },
|
|
137
|
+
"knowledgeGraph": {
|
|
138
|
+
"const": "workspace:.workspai/reports/workspace-knowledge-graph.json"
|
|
139
|
+
},
|
|
140
|
+
"modelFreshness": { "enum": ["fresh", "stale", "unknown", "missing"] },
|
|
141
|
+
"graphFreshness": { "enum": ["fresh", "stale", "unknown", "missing"] },
|
|
142
|
+
"graphMatchesModel": { "type": "boolean" },
|
|
143
|
+
"liveInputsValidated": { "type": "boolean" },
|
|
144
|
+
"blockerCount": { "type": "integer", "minimum": 0 }
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
"activeGoal": {
|
|
148
|
+
"type": "object",
|
|
149
|
+
"additionalProperties": false,
|
|
150
|
+
"required": ["present", "appliesToProject", "status"],
|
|
151
|
+
"properties": {
|
|
152
|
+
"present": { "type": "boolean" },
|
|
153
|
+
"appliesToProject": { "type": "boolean" },
|
|
154
|
+
"status": { "enum": ["none", "ready", "stale", "invalid"] },
|
|
155
|
+
"id": { "type": "string", "minLength": 1 },
|
|
156
|
+
"objective": { "type": "string", "minLength": 1 },
|
|
157
|
+
"lifecycle": { "type": "string", "minLength": 1 },
|
|
158
|
+
"goalPack": { "$ref": "#/$defs/workspaceArtifact" },
|
|
159
|
+
"agentHandoff": { "$ref": "#/$defs/workspaceArtifact" }
|
|
160
|
+
},
|
|
161
|
+
"allOf": [
|
|
162
|
+
{
|
|
163
|
+
"if": { "properties": { "status": { "const": "none" } } },
|
|
164
|
+
"then": { "properties": { "present": { "const": false } } }
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"if": {
|
|
168
|
+
"properties": { "status": { "enum": ["ready", "stale", "invalid"] } }
|
|
169
|
+
},
|
|
170
|
+
"then": { "properties": { "present": { "const": true } } }
|
|
171
|
+
}
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"requiredReadOrder": {
|
|
175
|
+
"type": "array",
|
|
176
|
+
"minItems": 6,
|
|
177
|
+
"maxItems": 16,
|
|
178
|
+
"uniqueItems": true,
|
|
179
|
+
"items": { "type": "string", "minLength": 1 }
|
|
180
|
+
},
|
|
181
|
+
"claims": {
|
|
182
|
+
"type": "object",
|
|
183
|
+
"additionalProperties": false,
|
|
184
|
+
"required": ["architecture", "sourceInspection", "sourceMutation", "verification"],
|
|
185
|
+
"properties": {
|
|
186
|
+
"architecture": { "enum": ["allowed-with-citations", "prohibited"] },
|
|
187
|
+
"sourceInspection": { "const": "bounded-and-targeted" },
|
|
188
|
+
"sourceMutation": { "const": "governed-cli-transaction-only" },
|
|
189
|
+
"verification": { "const": "cli-evidence-only" }
|
|
190
|
+
}
|
|
191
|
+
},
|
|
192
|
+
"checks": {
|
|
193
|
+
"type": "array",
|
|
194
|
+
"minItems": 6,
|
|
195
|
+
"items": {
|
|
196
|
+
"type": "object",
|
|
197
|
+
"additionalProperties": false,
|
|
198
|
+
"required": ["id", "status", "message"],
|
|
199
|
+
"properties": {
|
|
200
|
+
"id": { "type": "string", "minLength": 1 },
|
|
201
|
+
"status": { "enum": ["passed", "warning", "failed"] },
|
|
202
|
+
"message": { "type": "string", "minLength": 1 },
|
|
203
|
+
"artifact": { "$ref": "#/$defs/portablePath" }
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
},
|
|
207
|
+
"nextActions": {
|
|
208
|
+
"type": "array",
|
|
209
|
+
"minItems": 1,
|
|
210
|
+
"maxItems": 8,
|
|
211
|
+
"items": { "type": "string", "minLength": 1 }
|
|
212
|
+
},
|
|
213
|
+
"integrity": {
|
|
214
|
+
"type": "object",
|
|
215
|
+
"additionalProperties": false,
|
|
216
|
+
"required": [
|
|
217
|
+
"algorithm",
|
|
218
|
+
"manifestHash",
|
|
219
|
+
"projectContextHash",
|
|
220
|
+
"payloadHash",
|
|
221
|
+
"portable",
|
|
222
|
+
"absolutePathsEmitted"
|
|
223
|
+
],
|
|
224
|
+
"properties": {
|
|
225
|
+
"algorithm": { "const": "sha256" },
|
|
226
|
+
"manifestHash": { "$ref": "#/$defs/hash" },
|
|
227
|
+
"projectContextHash": { "$ref": "#/$defs/hash" },
|
|
228
|
+
"payloadHash": { "$ref": "#/$defs/hash" },
|
|
229
|
+
"portable": { "const": true },
|
|
230
|
+
"absolutePathsEmitted": { "const": false }
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
"$defs": {
|
|
235
|
+
"hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
236
|
+
"status": { "enum": ["ready", "degraded", "blocked"] },
|
|
237
|
+
"portablePath": {
|
|
238
|
+
"type": "string",
|
|
239
|
+
"minLength": 1,
|
|
240
|
+
"not": { "pattern": "^(?:/|[A-Za-z]:[\\\\/])" }
|
|
241
|
+
},
|
|
242
|
+
"workspaceArtifact": {
|
|
243
|
+
"type": "string",
|
|
244
|
+
"pattern": "^workspace:\\.workspai/"
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
@@ -27,7 +27,22 @@
|
|
|
27
27
|
"targets": {
|
|
28
28
|
"type": "array",
|
|
29
29
|
"items": {
|
|
30
|
-
"enum": [
|
|
30
|
+
"enum": [
|
|
31
|
+
"all",
|
|
32
|
+
"vscode",
|
|
33
|
+
"agents",
|
|
34
|
+
"copilot",
|
|
35
|
+
"cursor",
|
|
36
|
+
"claude",
|
|
37
|
+
"codex",
|
|
38
|
+
"gemini",
|
|
39
|
+
"qwen",
|
|
40
|
+
"kimi",
|
|
41
|
+
"grok",
|
|
42
|
+
"windsurf",
|
|
43
|
+
"amazon-q",
|
|
44
|
+
"orca"
|
|
45
|
+
]
|
|
31
46
|
}
|
|
32
47
|
},
|
|
33
48
|
"sourceReports": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://workspai.dev/schemas/workspace-intelligence/goal-agent-handoff.v1.json",
|
|
4
|
+
"title": "Workspai Goal Agent Handoff",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schemaVersion", "goalId", "goalFingerprint", "generatedAt", "consumer", "state", "objective", "scope", "discovery", "retrieval", "evidence", "guardrails", "workflow", "renewal"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schemaVersion": { "const": "workspai.goal-agent-handoff.v1" },
|
|
9
|
+
"goalId": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{7,95}$" },
|
|
10
|
+
"goalFingerprint": { "$ref": "#/$defs/hash" },
|
|
11
|
+
"generatedAt": { "type": "string", "format": "date-time" },
|
|
12
|
+
"consumer": { "enum": ["generic", "claude", "codex"] },
|
|
13
|
+
"state": { "enum": ["ready-to-plan", "needs-confirmation", "needs-evidence", "blocked"] },
|
|
14
|
+
"objective": { "type": "string", "minLength": 1, "maxLength": 2000 },
|
|
15
|
+
"scope": {
|
|
16
|
+
"type": "object",
|
|
17
|
+
"required": ["kind", "projects", "selectionSource"],
|
|
18
|
+
"properties": {
|
|
19
|
+
"kind": { "enum": ["workspace", "project"] },
|
|
20
|
+
"projects": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
|
|
21
|
+
"selectionSource": { "enum": ["workspace", "invocation-project", "explicit"] }
|
|
22
|
+
},
|
|
23
|
+
"additionalProperties": false
|
|
24
|
+
},
|
|
25
|
+
"evidence": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"minItems": 3,
|
|
28
|
+
"items": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"required": ["role", "artifact", "binding"],
|
|
31
|
+
"properties": {
|
|
32
|
+
"role": { "enum": ["model", "graph", "goal"] },
|
|
33
|
+
"artifact": { "type": "string", "pattern": "^\\.workspai/" },
|
|
34
|
+
"binding": {
|
|
35
|
+
"type": "object",
|
|
36
|
+
"required": ["algorithm", "semantics", "value"],
|
|
37
|
+
"properties": {
|
|
38
|
+
"algorithm": { "const": "sha256" },
|
|
39
|
+
"semantics": { "enum": ["workspace-model-structural-v1", "canonical-json-v1"] },
|
|
40
|
+
"value": { "$ref": "#/$defs/hash" }
|
|
41
|
+
},
|
|
42
|
+
"additionalProperties": false
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"additionalProperties": false
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"discovery": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"required": ["index", "statusCommand", "requiredReads"],
|
|
51
|
+
"properties": {
|
|
52
|
+
"index": { "const": ".workspai/goals/index.json" },
|
|
53
|
+
"statusCommand": { "type": "string", "pattern": "^workspai goal --status " },
|
|
54
|
+
"requiredReads": { "type": "array", "minItems": 3, "items": { "type": "string", "pattern": "^\\.workspai/" }, "uniqueItems": true }
|
|
55
|
+
},
|
|
56
|
+
"additionalProperties": false
|
|
57
|
+
},
|
|
58
|
+
"retrieval": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"required": ["status", "strategy", "queries", "anchors"],
|
|
61
|
+
"properties": {
|
|
62
|
+
"status": { "enum": ["grounded", "partial", "empty"] },
|
|
63
|
+
"strategy": { "const": "deterministic-category-v1" },
|
|
64
|
+
"queries": { "type": "array", "minItems": 1, "maxItems": 3, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
|
|
65
|
+
"anchors": { "type": "array", "maxItems": 20, "items": { "type": "object", "required": ["entityId", "kind", "label", "proofIds"], "properties": { "entityId": { "type": "string" }, "kind": { "type": "string" }, "label": { "type": "string" }, "proofIds": { "type": "array", "items": { "type": "string" }, "uniqueItems": true } }, "additionalProperties": false } }
|
|
66
|
+
},
|
|
67
|
+
"additionalProperties": false
|
|
68
|
+
},
|
|
69
|
+
"guardrails": { "type": "array", "minItems": 5, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
|
|
70
|
+
"workflow": {
|
|
71
|
+
"type": "array",
|
|
72
|
+
"minItems": 5,
|
|
73
|
+
"items": {
|
|
74
|
+
"type": "object",
|
|
75
|
+
"required": ["order", "owner", "instruction"],
|
|
76
|
+
"properties": {
|
|
77
|
+
"order": { "type": "integer", "minimum": 1 },
|
|
78
|
+
"owner": { "enum": ["workspai-cli", "agent", "human"] },
|
|
79
|
+
"instruction": { "type": "string", "minLength": 1 }
|
|
80
|
+
},
|
|
81
|
+
"additionalProperties": false
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"renewal": {
|
|
85
|
+
"type": "object",
|
|
86
|
+
"required": ["command", "reason"],
|
|
87
|
+
"properties": {
|
|
88
|
+
"command": { "type": "string", "pattern": "^workspai goal " },
|
|
89
|
+
"reason": { "type": "string", "minLength": 1 }
|
|
90
|
+
},
|
|
91
|
+
"additionalProperties": false
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"$defs": { "hash": { "type": "string", "pattern": "^[a-f0-9]{64}$" } },
|
|
95
|
+
"additionalProperties": false
|
|
96
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://workspai.dev/schemas/workspace-intelligence/goal-index.v1.json",
|
|
4
|
+
"title": "Workspai Goal Index",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["schemaVersion", "generatedAt", "activeGoalId", "goals"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schemaVersion": { "const": "workspai.goal-index.v1" },
|
|
9
|
+
"generatedAt": { "type": "string", "format": "date-time" },
|
|
10
|
+
"activeGoalId": { "type": ["string", "null"] },
|
|
11
|
+
"goals": {
|
|
12
|
+
"type": "array",
|
|
13
|
+
"items": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"required": ["id", "fingerprint", "objective", "category", "state", "lifecycle", "scope", "createdAt", "updatedAt", "goalPack", "agentHandoff"],
|
|
16
|
+
"properties": {
|
|
17
|
+
"id": { "type": "string", "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]{7,95}$" },
|
|
18
|
+
"fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
19
|
+
"objective": { "type": "string", "minLength": 1, "maxLength": 2000 },
|
|
20
|
+
"category": { "enum": ["release-readiness", "dependency-security", "test-coverage", "defect-repair", "feature-change", "refactor", "performance", "documentation", "system-understanding"] },
|
|
21
|
+
"state": { "enum": ["ready-to-plan", "needs-confirmation", "needs-evidence", "blocked"] },
|
|
22
|
+
"lifecycle": { "enum": ["planned", "active", "cancelled", "verification-ready", "verified", "failed"] },
|
|
23
|
+
"scope": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"required": ["kind", "projects", "selectionSource"],
|
|
26
|
+
"properties": {
|
|
27
|
+
"kind": { "enum": ["workspace", "project"] },
|
|
28
|
+
"projects": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
|
|
29
|
+
"selectionSource": { "enum": ["workspace", "invocation-project", "explicit"] }
|
|
30
|
+
},
|
|
31
|
+
"additionalProperties": false
|
|
32
|
+
},
|
|
33
|
+
"createdAt": { "type": "string", "format": "date-time" },
|
|
34
|
+
"updatedAt": { "type": "string", "format": "date-time" },
|
|
35
|
+
"goalPack": { "type": "string", "pattern": "^\\.workspai/goals/[^/]+/goal-pack\\.json$" },
|
|
36
|
+
"agentHandoff": { "type": "string", "pattern": "^\\.workspai/goals/[^/]+/agent-handoff\\.json$" },
|
|
37
|
+
"verifiedGoalId": { "type": "string", "minLength": 1 },
|
|
38
|
+
"repairTransactionId": { "type": "string", "minLength": 1 },
|
|
39
|
+
"repairTransactionIds": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"maxItems": 25,
|
|
42
|
+
"uniqueItems": true,
|
|
43
|
+
"items": { "type": "string", "minLength": 1 }
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"additionalProperties": false
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"additionalProperties": false
|
|
51
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://workspai.dev/schemas/workspace-intelligence/goal-lifecycle-result.v1.json",
|
|
4
|
+
"title": "Workspai Goal Lifecycle Result",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schemaVersion",
|
|
8
|
+
"operation",
|
|
9
|
+
"activeGoalId",
|
|
10
|
+
"goal",
|
|
11
|
+
"goals",
|
|
12
|
+
"goalPack",
|
|
13
|
+
"verifiedGoalId",
|
|
14
|
+
"verification"
|
|
15
|
+
],
|
|
16
|
+
"properties": {
|
|
17
|
+
"schemaVersion": { "const": "workspai.goal-lifecycle-result.v1" },
|
|
18
|
+
"operation": { "enum": ["status", "list", "activate", "cancel", "prepare", "verify"] },
|
|
19
|
+
"activeGoalId": { "type": ["string", "null"] },
|
|
20
|
+
"goal": { "anyOf": [{ "$ref": "#/$defs/goalEntry" }, { "type": "null" }] },
|
|
21
|
+
"goals": { "type": "array", "items": { "$ref": "#/$defs/goalEntry" } },
|
|
22
|
+
"goalPack": {
|
|
23
|
+
"anyOf": [
|
|
24
|
+
{
|
|
25
|
+
"type": "object",
|
|
26
|
+
"required": ["schemaVersion", "id", "fingerprint", "state"],
|
|
27
|
+
"properties": {
|
|
28
|
+
"schemaVersion": { "const": "workspai.goal-pack.v1" },
|
|
29
|
+
"id": { "type": "string" },
|
|
30
|
+
"fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
31
|
+
"state": { "enum": ["ready-to-plan", "needs-confirmation", "needs-evidence", "blocked"] }
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{ "type": "null" }
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"verifiedGoalId": { "type": ["string", "null"] },
|
|
38
|
+
"verification": { "type": ["object", "null"] }
|
|
39
|
+
},
|
|
40
|
+
"$defs": {
|
|
41
|
+
"goalEntry": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"required": [
|
|
44
|
+
"id",
|
|
45
|
+
"fingerprint",
|
|
46
|
+
"objective",
|
|
47
|
+
"category",
|
|
48
|
+
"state",
|
|
49
|
+
"lifecycle",
|
|
50
|
+
"scope",
|
|
51
|
+
"createdAt",
|
|
52
|
+
"updatedAt",
|
|
53
|
+
"goalPack",
|
|
54
|
+
"agentHandoff"
|
|
55
|
+
],
|
|
56
|
+
"properties": {
|
|
57
|
+
"id": { "type": "string" },
|
|
58
|
+
"fingerprint": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
59
|
+
"objective": { "type": "string", "minLength": 1 },
|
|
60
|
+
"category": {
|
|
61
|
+
"enum": [
|
|
62
|
+
"release-readiness",
|
|
63
|
+
"dependency-security",
|
|
64
|
+
"test-coverage",
|
|
65
|
+
"defect-repair",
|
|
66
|
+
"feature-change",
|
|
67
|
+
"refactor",
|
|
68
|
+
"performance",
|
|
69
|
+
"documentation",
|
|
70
|
+
"system-understanding"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
"state": { "enum": ["ready-to-plan", "needs-confirmation", "needs-evidence", "blocked"] },
|
|
74
|
+
"lifecycle": { "enum": ["planned", "active", "cancelled", "verification-ready", "verified", "failed"] },
|
|
75
|
+
"scope": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"required": ["kind", "projects", "selectionSource"],
|
|
78
|
+
"properties": {
|
|
79
|
+
"kind": { "enum": ["workspace", "project"] },
|
|
80
|
+
"projects": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 }, "uniqueItems": true },
|
|
81
|
+
"selectionSource": { "enum": ["workspace", "invocation-project", "explicit"] }
|
|
82
|
+
},
|
|
83
|
+
"additionalProperties": false
|
|
84
|
+
},
|
|
85
|
+
"createdAt": { "type": "string", "format": "date-time" },
|
|
86
|
+
"updatedAt": { "type": "string", "format": "date-time" },
|
|
87
|
+
"goalPack": { "type": "string" },
|
|
88
|
+
"agentHandoff": { "type": "string" },
|
|
89
|
+
"verifiedGoalId": { "type": "string" },
|
|
90
|
+
"repairTransactionId": { "type": "string" }
|
|
91
|
+
},
|
|
92
|
+
"additionalProperties": false
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"additionalProperties": false
|
|
96
|
+
}
|