rapidkit 0.41.2 → 0.41.4
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 +61 -52
- package/contracts/agent-customization-pack.v1.json +20 -0
- package/contracts/artifact-remediation-plan.v1.json +163 -0
- package/contracts/doctor-project-evidence.v1.json +260 -2
- package/contracts/doctor-remediation-plan.v1.json +496 -0
- package/contracts/doctor-workspace-evidence.v1.json +260 -2
- package/contracts/extension-cli-compatibility.v1.json +6 -2
- package/contracts/runtime-command-surface.v1.json +2 -0
- package/contracts/workspace-intelligence/doctor-fix-result.v1.json +11 -1
- package/contracts/workspace-intelligence/fact-freshness.v1.json +58 -0
- package/contracts/workspace-intelligence/workspace-context.v1.json +84 -1
- package/contracts/workspace-intelligence/workspace-intelligence-history.v1.json +6 -2
- package/contracts/workspace-intelligence/workspace-model.v1.json +80 -0
- package/dist/analyze-UTB3PNKM.js +1 -0
- package/dist/artifact-remediation-plan-HRR3WH7T.js +3 -0
- package/dist/autopilot-release-MSK4ELKR.js +1 -0
- package/dist/chunk-2E6WGUN6.js +1 -0
- package/dist/{chunk-RSYUNEH7.js → chunk-42ARJBM7.js} +1 -1
- package/dist/{chunk-WCICO7ZB.js → chunk-4RJESJ23.js} +1 -1
- package/dist/chunk-56GL3GG7.js +32 -0
- package/dist/chunk-7BEZH5LE.js +2 -0
- package/dist/{chunk-ZPXMZCYG.js → chunk-ALCH4JAS.js} +1 -1
- package/dist/{chunk-ITJ6RKUW.js → chunk-AM5OJWXF.js} +1 -1
- package/dist/chunk-COBMOVUK.js +1 -0
- package/dist/{chunk-ELU3G6DQ.js → chunk-DKNVDNT4.js} +1 -1
- package/dist/{chunk-KIUSCFHF.js → chunk-FI4VMG2I.js} +1 -1
- package/dist/chunk-HT3G7HOV.js +78 -0
- package/dist/{chunk-BFEBZABL.js → chunk-KZLRUBQ5.js} +19 -19
- package/dist/chunk-L3R2AS2W.js +1 -0
- package/dist/chunk-LRF6PQOZ.js +1 -0
- package/dist/chunk-T5GS4BUP.js +2 -0
- package/dist/chunk-TDSIF42O.js +1 -0
- package/dist/chunk-THSTNVE3.js +2 -0
- package/dist/chunk-ULIVVMT6.js +1 -0
- package/dist/chunk-WHQWVQJH.js +4 -0
- package/dist/{create-RNP5ACQL.js → create-XTKHAYH7.js} +1 -1
- package/dist/doctor-4UQZIELO.js +1 -0
- package/dist/index.d.ts +15 -3
- package/dist/index.js +165 -140
- package/dist/pipeline-UOGPOG7S.js +5 -0
- package/dist/{workspace-E554C5SM.js → workspace-VKUBU4M4.js} +1 -1
- package/dist/{workspace-agent-sync-BHE2V4KS.js → workspace-agent-sync-RWDOTSWV.js} +1 -1
- package/dist/{workspace-context-VJTXW3K4.js → workspace-context-R3XWWLFP.js} +1 -1
- package/dist/workspace-explain-JIAM63TE.js +1 -0
- package/dist/{workspace-feedback-65NR3EZH.js → workspace-feedback-KCDFF7YS.js} +1 -1
- package/dist/{workspace-foundation-LISDH53T.js → workspace-foundation-V6SLZRBY.js} +1 -1
- package/dist/workspace-history-DSCH7PQZ.js +1 -0
- package/dist/{workspace-intelligence-EC63CRVF.js → workspace-intelligence-5BBKUJAG.js} +1 -1
- package/dist/{workspace-marker-IOPQ42A7.js → workspace-marker-HAC7BMEG.js} +1 -1
- package/dist/workspace-mcp-serve-GPSSYKZK.js +3 -0
- package/dist/workspace-model-YAC5BKLL.js +1 -0
- package/dist/workspace-run-MNVPNDUK.js +1 -0
- package/dist/{workspace-verify-IAUHP6Y6.js → workspace-verify-YDPCHWGQ.js} +1 -1
- package/dist/{workspace-watch-H2AETGFI.js → workspace-watch-P2PGSYDD.js} +1 -1
- package/docs/commands-reference.md +1 -0
- package/docs/contracts/ARTIFACT_CATALOG.md +70 -20
- package/docs/contracts/NAMING_AND_COEXISTENCE.md +3 -2
- package/docs/contracts/README.md +2 -0
- package/docs/doctor-command.md +217 -13
- package/package.json +1 -1
- package/scripts/enterprise-package-smoke.mjs +35 -36
- package/dist/analyze-QYHMGLSG.js +0 -1
- package/dist/autopilot-release-YDEUKRW6.js +0 -1
- package/dist/chunk-33LR2QEM.js +0 -2
- package/dist/chunk-46AGNYI7.js +0 -50
- package/dist/chunk-DWXRVGOY.js +0 -2
- package/dist/chunk-EN6YCX36.js +0 -1
- package/dist/chunk-HYAT2EG7.js +0 -1
- package/dist/chunk-JNXT6KJV.js +0 -32
- package/dist/chunk-RV6HBTFC.js +0 -2
- package/dist/chunk-VDTAPIHB.js +0 -2
- package/dist/chunk-VKLL63TL.js +0 -1
- package/dist/chunk-VMJA36WD.js +0 -1
- package/dist/doctor-XM6QDTDC.js +0 -1
- package/dist/pipeline-YD2DO7XY.js +0 -5
- package/dist/workspace-explain-XJ22ZXJY.js +0 -1
- package/dist/workspace-history-VPDADQKG.js +0 -1
- package/dist/workspace-mcp-serve-KOM2V35Q.js +0 -3
- package/dist/workspace-model-YL7W3573.js +0 -1
- package/dist/workspace-run-F5FADRY5.js +0 -1
|
@@ -28,10 +28,24 @@
|
|
|
28
28
|
"projectScanSignature": { "type": "string" },
|
|
29
29
|
"cachePath": { "type": ["string", "null"] },
|
|
30
30
|
"healthScore": { "type": "object", "additionalProperties": true },
|
|
31
|
+
"evidenceFreshness": { "$ref": "#/$defs/evidenceFreshness" },
|
|
31
32
|
"system": { "type": "object", "additionalProperties": true },
|
|
32
33
|
"projects": {
|
|
33
34
|
"type": "array",
|
|
34
|
-
"items": {
|
|
35
|
+
"items": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"properties": {
|
|
38
|
+
"probes": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"items": { "$ref": "#/$defs/probe" }
|
|
41
|
+
},
|
|
42
|
+
"repairCapabilities": {
|
|
43
|
+
"type": "array",
|
|
44
|
+
"items": { "$ref": "#/$defs/repairCapability" }
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"additionalProperties": true
|
|
48
|
+
}
|
|
35
49
|
},
|
|
36
50
|
"summary": {
|
|
37
51
|
"type": "object",
|
|
@@ -51,7 +65,251 @@
|
|
|
51
65
|
"type": "array",
|
|
52
66
|
"items": { "type": "object", "additionalProperties": true }
|
|
53
67
|
},
|
|
54
|
-
"contract": { "type": "object", "additionalProperties": true }
|
|
68
|
+
"contract": { "type": "object", "additionalProperties": true },
|
|
69
|
+
"policyProfile": { "$ref": "#/$defs/policyProfile" }
|
|
70
|
+
},
|
|
71
|
+
"$defs": {
|
|
72
|
+
"freshness": {
|
|
73
|
+
"type": "object",
|
|
74
|
+
"required": [
|
|
75
|
+
"category",
|
|
76
|
+
"generatedAt",
|
|
77
|
+
"ttlSeconds",
|
|
78
|
+
"status",
|
|
79
|
+
"verifyBeforeUse",
|
|
80
|
+
"reason"
|
|
81
|
+
],
|
|
82
|
+
"properties": {
|
|
83
|
+
"category": { "enum": ["structure", "verification", "state"] },
|
|
84
|
+
"generatedAt": { "type": "string", "format": "date-time" },
|
|
85
|
+
"ttlSeconds": { "type": ["integer", "null"], "minimum": 0 },
|
|
86
|
+
"expiresAt": { "type": "string", "format": "date-time" },
|
|
87
|
+
"status": { "enum": ["fresh", "stale", "unknown"] },
|
|
88
|
+
"verifyBeforeUse": { "type": "boolean" },
|
|
89
|
+
"reason": { "type": "string" }
|
|
90
|
+
},
|
|
91
|
+
"additionalProperties": false
|
|
92
|
+
},
|
|
93
|
+
"evidenceFreshness": {
|
|
94
|
+
"type": "object",
|
|
95
|
+
"required": [
|
|
96
|
+
"generatedAt",
|
|
97
|
+
"status",
|
|
98
|
+
"staleProbeCount",
|
|
99
|
+
"unknownProbeCount",
|
|
100
|
+
"liveStateProbeCount",
|
|
101
|
+
"verifyBeforeUseProbeCount"
|
|
102
|
+
],
|
|
103
|
+
"properties": {
|
|
104
|
+
"generatedAt": { "type": "string", "format": "date-time" },
|
|
105
|
+
"status": { "enum": ["fresh", "stale", "unknown"] },
|
|
106
|
+
"staleProbeCount": { "type": "integer", "minimum": 0 },
|
|
107
|
+
"unknownProbeCount": { "type": "integer", "minimum": 0 },
|
|
108
|
+
"liveStateProbeCount": { "type": "integer", "minimum": 0 },
|
|
109
|
+
"verifyBeforeUseProbeCount": { "type": "integer", "minimum": 0 },
|
|
110
|
+
"oldestProbeGeneratedAt": { "type": "string", "format": "date-time" }
|
|
111
|
+
},
|
|
112
|
+
"additionalProperties": false
|
|
113
|
+
},
|
|
114
|
+
"repairIntent": {
|
|
115
|
+
"type": "object",
|
|
116
|
+
"required": [
|
|
117
|
+
"mode",
|
|
118
|
+
"confidence",
|
|
119
|
+
"primaryActionLabel",
|
|
120
|
+
"requiresApproval",
|
|
121
|
+
"requiresFreshEvidence",
|
|
122
|
+
"reason",
|
|
123
|
+
"relatedCommands"
|
|
124
|
+
],
|
|
125
|
+
"properties": {
|
|
126
|
+
"mode": {
|
|
127
|
+
"enum": [
|
|
128
|
+
"none",
|
|
129
|
+
"run-command",
|
|
130
|
+
"edit-file",
|
|
131
|
+
"review-required",
|
|
132
|
+
"verify-before-fix",
|
|
133
|
+
"refresh-evidence",
|
|
134
|
+
"manual-guidance"
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
"confidence": { "enum": ["high", "medium", "low"] },
|
|
138
|
+
"primaryActionLabel": { "type": "string" },
|
|
139
|
+
"requiresApproval": { "type": "boolean" },
|
|
140
|
+
"requiresFreshEvidence": { "type": "boolean" },
|
|
141
|
+
"reason": { "type": "string" },
|
|
142
|
+
"relatedCommands": { "type": "array", "items": { "type": "string" } }
|
|
143
|
+
},
|
|
144
|
+
"additionalProperties": false
|
|
145
|
+
},
|
|
146
|
+
"policyProfile": {
|
|
147
|
+
"type": "object",
|
|
148
|
+
"required": [
|
|
149
|
+
"name",
|
|
150
|
+
"exitOnErrors",
|
|
151
|
+
"exitOnWarnings",
|
|
152
|
+
"warningExitCode",
|
|
153
|
+
"advisoryWarningsBlockRelease",
|
|
154
|
+
"description"
|
|
155
|
+
],
|
|
156
|
+
"properties": {
|
|
157
|
+
"name": { "enum": ["local", "ci", "release", "enterprise-strict"] },
|
|
158
|
+
"exitOnErrors": { "const": true },
|
|
159
|
+
"exitOnWarnings": { "type": "boolean" },
|
|
160
|
+
"warningExitCode": { "enum": [0, 1, 2] },
|
|
161
|
+
"advisoryWarningsBlockRelease": { "type": "boolean" },
|
|
162
|
+
"description": { "type": "string" }
|
|
163
|
+
},
|
|
164
|
+
"additionalProperties": false
|
|
165
|
+
},
|
|
166
|
+
"probe": {
|
|
167
|
+
"type": "object",
|
|
168
|
+
"properties": {
|
|
169
|
+
"id": { "type": "string", "minLength": 1 },
|
|
170
|
+
"label": { "type": "string", "minLength": 1 },
|
|
171
|
+
"status": { "enum": ["pass", "warn", "fail"] },
|
|
172
|
+
"severity": { "enum": ["info", "warn", "error"] },
|
|
173
|
+
"scope": { "type": "string" },
|
|
174
|
+
"reason": { "type": "string" },
|
|
175
|
+
"recommendation": { "type": "string" },
|
|
176
|
+
"freshness": { "$ref": "#/$defs/freshness" },
|
|
177
|
+
"issueClass": {
|
|
178
|
+
"enum": [
|
|
179
|
+
"dependency",
|
|
180
|
+
"environment",
|
|
181
|
+
"security",
|
|
182
|
+
"test",
|
|
183
|
+
"quality",
|
|
184
|
+
"container",
|
|
185
|
+
"deployment",
|
|
186
|
+
"runtime",
|
|
187
|
+
"workspace-contract",
|
|
188
|
+
"source-tree",
|
|
189
|
+
"framework",
|
|
190
|
+
"configuration",
|
|
191
|
+
"custom",
|
|
192
|
+
"unknown"
|
|
193
|
+
]
|
|
194
|
+
},
|
|
195
|
+
"operationalImpact": {
|
|
196
|
+
"enum": [
|
|
197
|
+
"none",
|
|
198
|
+
"developer-friction",
|
|
199
|
+
"ci-risk",
|
|
200
|
+
"release-risk",
|
|
201
|
+
"security-risk",
|
|
202
|
+
"runtime-risk",
|
|
203
|
+
"customer-risk"
|
|
204
|
+
]
|
|
205
|
+
},
|
|
206
|
+
"repairIntent": { "$ref": "#/$defs/repairIntent" },
|
|
207
|
+
"repairCapability": { "$ref": "#/$defs/repairCapability" }
|
|
208
|
+
},
|
|
209
|
+
"additionalProperties": true
|
|
210
|
+
},
|
|
211
|
+
"repairCapability": {
|
|
212
|
+
"type": "object",
|
|
213
|
+
"required": [
|
|
214
|
+
"id",
|
|
215
|
+
"issueId",
|
|
216
|
+
"title",
|
|
217
|
+
"status",
|
|
218
|
+
"fixKind",
|
|
219
|
+
"risk",
|
|
220
|
+
"canAutoFix",
|
|
221
|
+
"canEditFiles",
|
|
222
|
+
"requiresApproval",
|
|
223
|
+
"requiresReview",
|
|
224
|
+
"files",
|
|
225
|
+
"refreshCommands",
|
|
226
|
+
"reason"
|
|
227
|
+
],
|
|
228
|
+
"properties": {
|
|
229
|
+
"id": { "type": "string", "minLength": 1 },
|
|
230
|
+
"issueId": { "type": "string", "minLength": 1 },
|
|
231
|
+
"title": { "type": "string", "minLength": 1 },
|
|
232
|
+
"status": { "enum": ["available", "manual", "blocked"] },
|
|
233
|
+
"fixKind": {
|
|
234
|
+
"enum": [
|
|
235
|
+
"package-json-script",
|
|
236
|
+
"file-create",
|
|
237
|
+
"file-append",
|
|
238
|
+
"file-copy",
|
|
239
|
+
"dependency-sync",
|
|
240
|
+
"command",
|
|
241
|
+
"manual"
|
|
242
|
+
]
|
|
243
|
+
},
|
|
244
|
+
"risk": { "enum": ["safe", "guarded", "invasive"] },
|
|
245
|
+
"canAutoFix": { "type": "boolean" },
|
|
246
|
+
"canEditFiles": { "type": "boolean" },
|
|
247
|
+
"requiresApproval": { "type": "boolean" },
|
|
248
|
+
"requiresReview": { "type": "boolean" },
|
|
249
|
+
"files": { "type": "array", "items": { "type": "string" } },
|
|
250
|
+
"command": { "type": "string" },
|
|
251
|
+
"operation": { "$ref": "#/$defs/repairOperation" },
|
|
252
|
+
"verifyCommand": { "type": "string" },
|
|
253
|
+
"refreshCommands": { "type": "array", "items": { "type": "string" } },
|
|
254
|
+
"reason": { "type": "string" },
|
|
255
|
+
"limitations": { "type": "array", "items": { "type": "string" } }
|
|
256
|
+
},
|
|
257
|
+
"additionalProperties": true
|
|
258
|
+
},
|
|
259
|
+
"repairOperation": {
|
|
260
|
+
"type": "object",
|
|
261
|
+
"required": ["type", "path"],
|
|
262
|
+
"properties": {
|
|
263
|
+
"type": {
|
|
264
|
+
"enum": [
|
|
265
|
+
"file-create",
|
|
266
|
+
"file-append",
|
|
267
|
+
"file-copy",
|
|
268
|
+
"package-json-script",
|
|
269
|
+
"json-edit",
|
|
270
|
+
"env-key-add",
|
|
271
|
+
"makefile-target"
|
|
272
|
+
]
|
|
273
|
+
},
|
|
274
|
+
"sourcePath": { "type": "string", "minLength": 1 },
|
|
275
|
+
"path": { "type": "string", "minLength": 1 },
|
|
276
|
+
"content": { "type": "string" },
|
|
277
|
+
"overwrite": { "type": "boolean" },
|
|
278
|
+
"lines": { "type": "array", "items": { "type": "string" } },
|
|
279
|
+
"ensureNewline": { "type": "boolean" },
|
|
280
|
+
"scriptName": { "type": "string" },
|
|
281
|
+
"scriptValue": { "type": "string" },
|
|
282
|
+
"edits": {
|
|
283
|
+
"type": "array",
|
|
284
|
+
"items": {
|
|
285
|
+
"type": "object",
|
|
286
|
+
"required": ["pointer", "value"],
|
|
287
|
+
"properties": {
|
|
288
|
+
"pointer": { "type": "string" },
|
|
289
|
+
"value": { "type": ["string", "number", "boolean", "null"] }
|
|
290
|
+
},
|
|
291
|
+
"additionalProperties": false
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
"keys": {
|
|
295
|
+
"type": "array",
|
|
296
|
+
"items": {
|
|
297
|
+
"type": "object",
|
|
298
|
+
"required": ["name", "value"],
|
|
299
|
+
"properties": {
|
|
300
|
+
"name": { "type": "string" },
|
|
301
|
+
"value": { "type": "string" },
|
|
302
|
+
"comment": { "type": "string" }
|
|
303
|
+
},
|
|
304
|
+
"additionalProperties": false
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
"target": { "type": "string" },
|
|
308
|
+
"command": { "type": "string" },
|
|
309
|
+
"phony": { "type": "boolean" }
|
|
310
|
+
},
|
|
311
|
+
"additionalProperties": false
|
|
312
|
+
}
|
|
55
313
|
},
|
|
56
314
|
"additionalProperties": true
|
|
57
315
|
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "rapidkit-extension-cli-compatibility.v1",
|
|
3
3
|
"cli": "rapidkit-npm",
|
|
4
|
-
"minimumVerifiedCliVersion": "0.41.
|
|
4
|
+
"minimumVerifiedCliVersion": "0.41.4",
|
|
5
5
|
"publishedContractSchemas": {
|
|
6
6
|
"runtimeCommandSurface": "rapidkit-runtime-command-surface-v1",
|
|
7
7
|
"cliLogEvent": "cli-log-event-v1",
|
|
8
8
|
"freshnessMetadata": "rapidkit-freshness-metadata-v1",
|
|
9
|
+
"factFreshness": "rapidkit-fact-freshness-v1",
|
|
9
10
|
"blockerResolution": "rapidkit-blocker-resolution-v1",
|
|
10
11
|
"workspaceModel": "workspace-model.v1",
|
|
11
12
|
"workspaceImpact": "workspace-impact.v1",
|
|
@@ -17,6 +18,9 @@
|
|
|
17
18
|
"workspaceOperationalSkill": "workspace-operational-skill.v1",
|
|
18
19
|
"workspaceSkillsIndex": "workspace-skills-index.v1",
|
|
19
20
|
"workspaceExplain": "workspace-explain.v1",
|
|
20
|
-
"agentActionOutcome": "agent-action-outcome.v1"
|
|
21
|
+
"agentActionOutcome": "agent-action-outcome.v1",
|
|
22
|
+
"doctorRemediationPlan": "doctor-remediation-plan-v2",
|
|
23
|
+
"artifactRemediationPlan": "artifact-remediation-plan-v1",
|
|
24
|
+
"doctorFixResult": "rapidkit-doctor-fix-result-v1"
|
|
21
25
|
}
|
|
22
26
|
}
|
|
@@ -4,11 +4,21 @@
|
|
|
4
4
|
"title": "Doctor fix execution result",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"additionalProperties": true,
|
|
7
|
-
"required": [
|
|
7
|
+
"required": [
|
|
8
|
+
"schemaVersion",
|
|
9
|
+
"generatedAt",
|
|
10
|
+
"appliedFixes",
|
|
11
|
+
"remainingBlockers",
|
|
12
|
+
"verifyRecommended"
|
|
13
|
+
],
|
|
8
14
|
"properties": {
|
|
9
15
|
"schemaVersion": {
|
|
10
16
|
"const": "rapidkit-doctor-fix-result-v1"
|
|
11
17
|
},
|
|
18
|
+
"generatedAt": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"format": "date-time"
|
|
21
|
+
},
|
|
12
22
|
"appliedFixes": {
|
|
13
23
|
"type": "array",
|
|
14
24
|
"items": {
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://getrapidkit.com/schemas/fact-freshness.v1.json",
|
|
4
|
+
"title": "RapidKit Fact Freshness Contract",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"schemaVersion",
|
|
8
|
+
"kind",
|
|
9
|
+
"category",
|
|
10
|
+
"generatedAt",
|
|
11
|
+
"ttlSeconds",
|
|
12
|
+
"status",
|
|
13
|
+
"verifyBeforeUse",
|
|
14
|
+
"reason"
|
|
15
|
+
],
|
|
16
|
+
"properties": {
|
|
17
|
+
"schemaVersion": {
|
|
18
|
+
"const": "rapidkit-fact-freshness-v1"
|
|
19
|
+
},
|
|
20
|
+
"kind": {
|
|
21
|
+
"enum": ["durable", "derived", "evidence-backed", "live", "verify-before-use"]
|
|
22
|
+
},
|
|
23
|
+
"category": {
|
|
24
|
+
"enum": ["structure", "verification", "state"]
|
|
25
|
+
},
|
|
26
|
+
"generatedAt": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"format": "date-time"
|
|
29
|
+
},
|
|
30
|
+
"ttlSeconds": {
|
|
31
|
+
"type": ["integer", "null"],
|
|
32
|
+
"minimum": 0
|
|
33
|
+
},
|
|
34
|
+
"expiresAt": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"format": "date-time"
|
|
37
|
+
},
|
|
38
|
+
"status": {
|
|
39
|
+
"enum": ["fresh", "stale", "unknown"]
|
|
40
|
+
},
|
|
41
|
+
"verifyBeforeUse": {
|
|
42
|
+
"type": "boolean"
|
|
43
|
+
},
|
|
44
|
+
"sourceArtifact": {
|
|
45
|
+
"type": "string"
|
|
46
|
+
},
|
|
47
|
+
"sourcePath": {
|
|
48
|
+
"type": "string"
|
|
49
|
+
},
|
|
50
|
+
"inputsHash": {
|
|
51
|
+
"type": "string"
|
|
52
|
+
},
|
|
53
|
+
"reason": {
|
|
54
|
+
"type": "string"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"additionalProperties": false
|
|
58
|
+
}
|
|
@@ -41,7 +41,15 @@
|
|
|
41
41
|
},
|
|
42
42
|
"scope": { "type": "object", "additionalProperties": true },
|
|
43
43
|
"projects": { "type": "array", "items": { "type": "object", "additionalProperties": true } },
|
|
44
|
-
"safeCommands": {
|
|
44
|
+
"safeCommands": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"items": { "type": "object", "additionalProperties": true }
|
|
47
|
+
},
|
|
48
|
+
"factFreshness": { "$ref": "#/$defs/factFreshnessSummary" },
|
|
49
|
+
"facts": {
|
|
50
|
+
"type": "array",
|
|
51
|
+
"items": { "$ref": "#/$defs/workspaceFact" }
|
|
52
|
+
},
|
|
45
53
|
"validation": {
|
|
46
54
|
"type": "object",
|
|
47
55
|
"required": ["status", "errors", "warnings"],
|
|
@@ -55,5 +63,80 @@
|
|
|
55
63
|
"additionalProperties": true
|
|
56
64
|
}
|
|
57
65
|
},
|
|
66
|
+
"$defs": {
|
|
67
|
+
"factFreshness": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"required": [
|
|
70
|
+
"schemaVersion",
|
|
71
|
+
"kind",
|
|
72
|
+
"category",
|
|
73
|
+
"generatedAt",
|
|
74
|
+
"ttlSeconds",
|
|
75
|
+
"status",
|
|
76
|
+
"verifyBeforeUse",
|
|
77
|
+
"reason"
|
|
78
|
+
],
|
|
79
|
+
"properties": {
|
|
80
|
+
"schemaVersion": { "const": "rapidkit-fact-freshness-v1" },
|
|
81
|
+
"kind": {
|
|
82
|
+
"enum": ["durable", "derived", "evidence-backed", "live", "verify-before-use"]
|
|
83
|
+
},
|
|
84
|
+
"category": { "enum": ["structure", "verification", "state"] },
|
|
85
|
+
"generatedAt": { "type": "string", "format": "date-time" },
|
|
86
|
+
"ttlSeconds": { "type": ["integer", "null"], "minimum": 0 },
|
|
87
|
+
"expiresAt": { "type": "string", "format": "date-time" },
|
|
88
|
+
"status": { "enum": ["fresh", "stale", "unknown"] },
|
|
89
|
+
"verifyBeforeUse": { "type": "boolean" },
|
|
90
|
+
"sourceArtifact": { "type": "string" },
|
|
91
|
+
"sourcePath": { "type": "string" },
|
|
92
|
+
"inputsHash": { "type": "string" },
|
|
93
|
+
"reason": { "type": "string" }
|
|
94
|
+
},
|
|
95
|
+
"additionalProperties": false
|
|
96
|
+
},
|
|
97
|
+
"workspaceFact": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"required": ["id", "label", "scope", "value", "freshness"],
|
|
100
|
+
"properties": {
|
|
101
|
+
"id": { "type": "string" },
|
|
102
|
+
"label": { "type": "string" },
|
|
103
|
+
"scope": {
|
|
104
|
+
"enum": ["workspace", "project", "evidence", "policy", "contract", "command", "graph"]
|
|
105
|
+
},
|
|
106
|
+
"project": { "type": "string" },
|
|
107
|
+
"value": true,
|
|
108
|
+
"freshness": { "$ref": "#/$defs/factFreshness" }
|
|
109
|
+
},
|
|
110
|
+
"additionalProperties": false
|
|
111
|
+
},
|
|
112
|
+
"factFreshnessSummary": {
|
|
113
|
+
"type": "object",
|
|
114
|
+
"required": [
|
|
115
|
+
"schemaVersion",
|
|
116
|
+
"generatedAt",
|
|
117
|
+
"status",
|
|
118
|
+
"totalFacts",
|
|
119
|
+
"staleFacts",
|
|
120
|
+
"unknownFacts",
|
|
121
|
+
"liveFacts",
|
|
122
|
+
"verifyBeforeUseFacts",
|
|
123
|
+
"byKind",
|
|
124
|
+
"byCategory"
|
|
125
|
+
],
|
|
126
|
+
"properties": {
|
|
127
|
+
"schemaVersion": { "const": "rapidkit-fact-freshness-v1" },
|
|
128
|
+
"generatedAt": { "type": "string", "format": "date-time" },
|
|
129
|
+
"status": { "enum": ["fresh", "stale", "unknown"] },
|
|
130
|
+
"totalFacts": { "type": "integer", "minimum": 0 },
|
|
131
|
+
"staleFacts": { "type": "integer", "minimum": 0 },
|
|
132
|
+
"unknownFacts": { "type": "integer", "minimum": 0 },
|
|
133
|
+
"liveFacts": { "type": "integer", "minimum": 0 },
|
|
134
|
+
"verifyBeforeUseFacts": { "type": "integer", "minimum": 0 },
|
|
135
|
+
"byKind": { "type": "object", "additionalProperties": { "type": "integer" } },
|
|
136
|
+
"byCategory": { "type": "object", "additionalProperties": { "type": "integer" } }
|
|
137
|
+
},
|
|
138
|
+
"additionalProperties": false
|
|
139
|
+
}
|
|
140
|
+
},
|
|
58
141
|
"additionalProperties": true
|
|
59
142
|
}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"required": ["generatedAt"],
|
|
15
15
|
"properties": {
|
|
16
16
|
"generatedAt": { "type": "string", "format": "date-time" },
|
|
17
|
-
"kind": { "enum": ["verify", "agent-action"] },
|
|
17
|
+
"kind": { "enum": ["verify", "agent-action", "doctor-fix"] },
|
|
18
18
|
"verdict": { "enum": ["ready", "needs-attention", "blocked"] },
|
|
19
19
|
"risk": { "type": "string" },
|
|
20
20
|
"affectedProjects": { "type": "integer", "minimum": 0 },
|
|
@@ -26,7 +26,11 @@
|
|
|
26
26
|
"scope": { "type": "string" },
|
|
27
27
|
"summary": { "type": "string" },
|
|
28
28
|
"outcome": { "enum": ["ok", "failed"] },
|
|
29
|
-
"evidenceSha256": { "type": "string" }
|
|
29
|
+
"evidenceSha256": { "type": "string" },
|
|
30
|
+
"applied": { "type": "integer", "minimum": 0 },
|
|
31
|
+
"failed": { "type": "integer", "minimum": 0 },
|
|
32
|
+
"skipped": { "type": "integer", "minimum": 0 },
|
|
33
|
+
"remainingBlockers": { "type": "integer", "minimum": 0 }
|
|
30
34
|
},
|
|
31
35
|
"additionalProperties": true
|
|
32
36
|
}
|
|
@@ -36,6 +36,11 @@
|
|
|
36
36
|
},
|
|
37
37
|
"identity": { "type": "object", "additionalProperties": true },
|
|
38
38
|
"summary": { "type": "object", "additionalProperties": true },
|
|
39
|
+
"factFreshness": { "$ref": "#/$defs/factFreshnessSummary" },
|
|
40
|
+
"facts": {
|
|
41
|
+
"type": "array",
|
|
42
|
+
"items": { "$ref": "#/$defs/workspaceFact" }
|
|
43
|
+
},
|
|
39
44
|
"projects": {
|
|
40
45
|
"type": "array",
|
|
41
46
|
"items": { "type": "object", "additionalProperties": true }
|
|
@@ -51,5 +56,80 @@
|
|
|
51
56
|
"policies": { "type": "object", "additionalProperties": true },
|
|
52
57
|
"validation": { "type": "object", "additionalProperties": true }
|
|
53
58
|
},
|
|
59
|
+
"$defs": {
|
|
60
|
+
"factFreshness": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"required": [
|
|
63
|
+
"schemaVersion",
|
|
64
|
+
"kind",
|
|
65
|
+
"category",
|
|
66
|
+
"generatedAt",
|
|
67
|
+
"ttlSeconds",
|
|
68
|
+
"status",
|
|
69
|
+
"verifyBeforeUse",
|
|
70
|
+
"reason"
|
|
71
|
+
],
|
|
72
|
+
"properties": {
|
|
73
|
+
"schemaVersion": { "const": "rapidkit-fact-freshness-v1" },
|
|
74
|
+
"kind": {
|
|
75
|
+
"enum": ["durable", "derived", "evidence-backed", "live", "verify-before-use"]
|
|
76
|
+
},
|
|
77
|
+
"category": { "enum": ["structure", "verification", "state"] },
|
|
78
|
+
"generatedAt": { "type": "string", "format": "date-time" },
|
|
79
|
+
"ttlSeconds": { "type": ["integer", "null"], "minimum": 0 },
|
|
80
|
+
"expiresAt": { "type": "string", "format": "date-time" },
|
|
81
|
+
"status": { "enum": ["fresh", "stale", "unknown"] },
|
|
82
|
+
"verifyBeforeUse": { "type": "boolean" },
|
|
83
|
+
"sourceArtifact": { "type": "string" },
|
|
84
|
+
"sourcePath": { "type": "string" },
|
|
85
|
+
"inputsHash": { "type": "string" },
|
|
86
|
+
"reason": { "type": "string" }
|
|
87
|
+
},
|
|
88
|
+
"additionalProperties": false
|
|
89
|
+
},
|
|
90
|
+
"workspaceFact": {
|
|
91
|
+
"type": "object",
|
|
92
|
+
"required": ["id", "label", "scope", "value", "freshness"],
|
|
93
|
+
"properties": {
|
|
94
|
+
"id": { "type": "string" },
|
|
95
|
+
"label": { "type": "string" },
|
|
96
|
+
"scope": {
|
|
97
|
+
"enum": ["workspace", "project", "evidence", "policy", "contract", "command", "graph"]
|
|
98
|
+
},
|
|
99
|
+
"project": { "type": "string" },
|
|
100
|
+
"value": true,
|
|
101
|
+
"freshness": { "$ref": "#/$defs/factFreshness" }
|
|
102
|
+
},
|
|
103
|
+
"additionalProperties": false
|
|
104
|
+
},
|
|
105
|
+
"factFreshnessSummary": {
|
|
106
|
+
"type": "object",
|
|
107
|
+
"required": [
|
|
108
|
+
"schemaVersion",
|
|
109
|
+
"generatedAt",
|
|
110
|
+
"status",
|
|
111
|
+
"totalFacts",
|
|
112
|
+
"staleFacts",
|
|
113
|
+
"unknownFacts",
|
|
114
|
+
"liveFacts",
|
|
115
|
+
"verifyBeforeUseFacts",
|
|
116
|
+
"byKind",
|
|
117
|
+
"byCategory"
|
|
118
|
+
],
|
|
119
|
+
"properties": {
|
|
120
|
+
"schemaVersion": { "const": "rapidkit-fact-freshness-v1" },
|
|
121
|
+
"generatedAt": { "type": "string", "format": "date-time" },
|
|
122
|
+
"status": { "enum": ["fresh", "stale", "unknown"] },
|
|
123
|
+
"totalFacts": { "type": "integer", "minimum": 0 },
|
|
124
|
+
"staleFacts": { "type": "integer", "minimum": 0 },
|
|
125
|
+
"unknownFacts": { "type": "integer", "minimum": 0 },
|
|
126
|
+
"liveFacts": { "type": "integer", "minimum": 0 },
|
|
127
|
+
"verifyBeforeUseFacts": { "type": "integer", "minimum": 0 },
|
|
128
|
+
"byKind": { "type": "object", "additionalProperties": { "type": "integer" } },
|
|
129
|
+
"byCategory": { "type": "object", "additionalProperties": { "type": "integer" } }
|
|
130
|
+
},
|
|
131
|
+
"additionalProperties": false
|
|
132
|
+
}
|
|
133
|
+
},
|
|
54
134
|
"additionalProperties": true
|
|
55
135
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{b as printAnalyzeReport,a as runAnalyze}from'./chunk-DKNVDNT4.js';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import {a}from'./chunk-2E6WGUN6.js';import p from'path';import b from'fs-extra';var w=[{artifactKind:"bootstrap-compliance",cardId:"bootstrap",fileNames:["bootstrap-compliance.latest.json"]},{artifactKind:"doctor-workspace",cardId:"doctor",fileNames:["doctor-remediation-plan-last-run.json"]},{artifactKind:"analyze",cardId:"analyze",fileNames:["analyze-last-run.json"]},{artifactKind:"readiness",cardId:"readiness",fileNames:["release-readiness-last-run.json"]},{artifactKind:"pipeline",cardId:"pipeline",fileNames:["pipeline-last-run.json"]},{artifactKind:"workspace-run",cardId:"workspaceRun",fileNames:["workspace-run-last.json"]},{artifactKind:"workspace-verify",cardId:"workspaceVerify",fileNames:["workspace-verify-last-run.json"]}];function f(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:void 0}function m(e){return Array.isArray(e)?e.filter(r=>typeof r=="string"&&r.trim().length>0):[]}function k(e){return [...new Set(e.map(r=>r.trim()).filter(Boolean))]}function v(e,r,t){return t?r:p.relative(e,r)}function j(e){let r=e?.trim()||"npx rapidkit bootstrap";if(!/(?:^|\s)--ci(?:\s|$)/.test(r)&&/(?:^|\s)--json(?:\s|$)/.test(r))return r.replace(/(?:^|\s)--json(?:\s|$)/,i=>{let s=i.startsWith(" ")?" ":"",c=i.endsWith(" ")?" ":"";return `${s}--ci --json${c}`}).trim();let t=/(?:^|\s)--ci(?:\s|$)/.test(r)?r:`${r} --ci`;return /(?:^|\s)--json(?:\s|$)/.test(t)?t:`${t} --json`}function x(e){return `${JSON.stringify({schemaVersion:"rapidkit.compatibility-matrix.v1",generatedAt:e,source:"rapidkit workspace remediation-plan",runtimes:{},notes:["Minimal enterprise baseline. Add runtime and toolchain entries as governance matures."]},null,2)}
|
|
2
|
+
`}function I(e){return `${JSON.stringify({schema_version:"1.0",enabled:false,strategy:"on-demand",artifacts:[],created_at:e,note:"Minimal enterprise baseline. Set enabled: true and add artifact entries to activate mirroring."},null,2)}
|
|
3
|
+
`}function K(e){let r=e.payload,t=m(r.blockers),i=m(r.blockingReasons),s=m(r.failures),c=m(r.reasons),l=m(r.policyViolations),o=f(r.summary),g=m(o?.blockers);if(e.artifactKind==="analyze"){let a=(Array.isArray(r.findings)?r.findings:[]).map(n=>f(n)).filter(n=>!!n).map(n=>String(n.message??n.title??n.id??"").trim()).filter(Boolean);return k([...t,...a,...i])}if(e.artifactKind==="workspace-run"){let u=f(r.stages),a=Object.entries(u??{}).flatMap(([n,h])=>{let R=f(h);return (Array.isArray(R?.projects)?R.projects:[]).map(d=>f(d)).filter(d=>!!d).filter(d=>d.status==="failed"||d.ok===false).map(d=>`${n}: ${String(d.project??d.name??"project")} failed`)});return k([...t,...a,...i])}return k([...t,...i,...s,...c,...l,...g])}function y(e){return {id:e.id,artifactKind:e.artifactKind,cardId:e.cardId,title:e.title,order:e.order,phase:e.phase,scope:"workspace",status:e.status??"ready",mode:e.mode,risk:e.risk,requiresApproval:true,blocker:e.blocker,summary:e.summary,...e.command?{command:e.command}:{},verifyCommand:e.verifyCommand,cwd:"workspace",files:e.files??[],...e.operation?{operation:e.operation}:{},rollback:{available:!!e.operation,strategy:e.operation?"idempotent":"none"},notes:e.notes??[]}}function C(e){let r=[],t=j("npx rapidkit bootstrap --json");for(let i of e.blockers)i.includes("profile.enterprise.ci")&&r.push(y({id:"bootstrap.enterprise-ci",artifactKind:"bootstrap-compliance",cardId:"bootstrap",title:"Run bootstrap in deterministic CI mode",order:10,phase:"bootstrap-preflight",blocker:i,summary:"Enterprise bootstrap compliance requires --ci for deterministic execution.",mode:"run-command",risk:"safe",command:t,verifyCommand:t})),i.includes("profile.enterprise.compatibility-matrix")&&r.push(y({id:"bootstrap.compatibility-matrix",artifactKind:"bootstrap-compliance",cardId:"bootstrap",title:"Create enterprise compatibility matrix baseline",order:20,phase:"bootstrap-config",blocker:i,summary:"Create the missing compatibility matrix baseline without overwriting user data.",mode:"edit-file",risk:"safe",verifyCommand:t,files:[".rapidkit/compatibility-matrix.json"],operation:{type:"file-create",path:".rapidkit/compatibility-matrix.json",content:x(e.generatedAt),overwrite:false}})),i.includes("profile.enterprise.mirror-config")&&r.push(y({id:"bootstrap.mirror-config",artifactKind:"bootstrap-compliance",cardId:"bootstrap",title:"Create enterprise mirror config baseline",order:30,phase:"bootstrap-config",blocker:i,summary:"Create the missing mirror configuration baseline without enabling mirroring.",mode:"edit-file",risk:"safe",verifyCommand:t,files:[".rapidkit/mirror-config.json"],operation:{type:"file-create",path:".rapidkit/mirror-config.json",content:I(e.generatedAt),overwrite:false}}));return r}function M(e){let t={analyze:{title:"Refresh analyze evidence",phase:"analysis",command:"npx rapidkit analyze --strict --json",verify:"npx rapidkit analyze --strict --json"},readiness:{title:"Refresh release readiness",phase:"release-readiness",command:e.ciMode?"npx rapidkit readiness --strict --json":"npx rapidkit readiness --json",verify:e.ciMode?"npx rapidkit readiness --strict --json":"npx rapidkit readiness --json"},pipeline:{title:"Rerun governance pipeline",phase:"governance-pipeline",command:"npx rapidkit pipeline --json --strict",verify:"npx rapidkit pipeline --json --strict"},"workspace-run":{title:"Rerun failed workspace stage",phase:"fleet-run",command:e.ciMode?"npx rapidkit workspace run test --strict --json":"npx rapidkit workspace run test --json",verify:e.ciMode?"npx rapidkit workspace run test --strict --json":"npx rapidkit workspace run test --json"},"workspace-verify":{title:"Refresh workspace verify gate",phase:"verification",command:e.ciMode?"npx rapidkit workspace verify --strict --json":"npx rapidkit workspace verify --json",verify:e.ciMode?"npx rapidkit workspace verify --strict --json":"npx rapidkit workspace verify --json"},"doctor-workspace":{title:"Use Doctor remediation plan",phase:"doctor-remediation",command:"npx rapidkit doctor workspace --plan --json",verify:"npx rapidkit doctor workspace --json"}}[e.report.artifactKind]??{title:"Refresh artifact evidence",phase:"evidence-refresh",command:"npx rapidkit pipeline --json --strict",verify:"npx rapidkit pipeline --json --strict"};return y({id:`${e.report.cardId}.refresh.${e.order}`,artifactKind:e.report.artifactKind,cardId:e.report.cardId,title:t.title,order:e.order,phase:t.phase,blocker:e.blocker,summary:"No deterministic file operation is available for this artifact yet; refresh the evidence and continue with the card-specific plan.",mode:e.report.artifactKind==="doctor-workspace"?"verify-before-fix":"run-command",risk:"guarded",status:e.report.artifactKind==="doctor-workspace"?"review-required":"ready",command:t.command,verifyCommand:t.verify,notes:e.report.artifactKind==="doctor-workspace"?["Read doctor-remediation-plan-last-run.json for ordered file-level steps."]:[]})}async function N(e){let r=p.join(e,".rapidkit","reports"),t=[];for(let i of w)for(let s of i.fileNames){let c=p.join(r,s);if(await b.pathExists(c))try{let l=await b.readJSON(c),o=f(l);if(!o)continue;t.push({artifactKind:i.artifactKind,cardId:i.cardId,fileName:s,absolutePath:c,payload:o});}catch{t.push({artifactKind:i.artifactKind,cardId:i.cardId,fileName:s,absolutePath:c,payload:{blockers:[`${i.artifactKind}: report exists but could not be parsed.`]}});}}return t}async function _(e){let r=p.resolve(e.workspacePath),t=e.includeAbsolutePaths===true,i=e.ciMode===true,s=new Date().toISOString(),c=p.join(r,".rapidkit","reports"),l=await N(r),o=[],g=1;for(let a of l){let n=K(a);if(n.length!==0){if(a.artifactKind==="bootstrap-compliance"){o.push(...C({blockers:n,generatedAt:s})),g=o.length+1;continue}for(let h of n.slice(0,8))o.push(M({report:a,blocker:h,order:g,ciMode:i})),g+=1;}}let u={safe:o.filter(a=>a.risk==="safe").length,guarded:o.filter(a=>a.risk==="guarded").length,invasive:o.filter(a=>a.risk==="invasive").length};return {schemaVersion:a,generatedAt:s,workspace:{name:p.basename(r),...t?{path:r}:{}},source:{command:"workspace remediation-plan",reportsDir:v(r,c,t),includeAbsolutePaths:t,ciMode:i},summary:{artifactsScanned:l.length,cardsCovered:k(o.map(a=>a.cardId)).length,totalActions:o.length,executableActions:o.filter(a=>a.status==="ready").length,risk:u},actions:o}}async function z(e,r){let t=p.join(r,".rapidkit","reports","artifact-remediation-plan-last-run.json");return await b.ensureDir(p.dirname(t)),await b.writeJSON(t,e,{spaces:2}),t}export{_ as buildArtifactRemediationPlan,z as writeArtifactRemediationPlan};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{b as AUTOPILOT_RELEASE_ALIAS_FILENAME,a as AUTOPILOT_RELEASE_LAST_RUN_FILENAME,c as runAutopilotRelease}from'./chunk-ALCH4JAS.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var A="artifact-remediation-plan-v1";export{A as a};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {k,e as e$1}from'./chunk-JU3VNLTY.js';import {b as b$2}from'./chunk-CDCYRBAY.js';import {e,g,f as f$1,b as b$4,c as c$1,d as d$1}from'./chunk-E5ZVQL3C.js';import {a,d,b as b$1}from'./chunk-
|
|
1
|
+
import {k,e as e$1}from'./chunk-JU3VNLTY.js';import {b as b$2}from'./chunk-CDCYRBAY.js';import {e,g,f as f$1,b as b$4,c as c$1,d as d$1}from'./chunk-E5ZVQL3C.js';import {a,d,b as b$1}from'./chunk-7BEZH5LE.js';import {b}from'./chunk-Q2KZIBV4.js';import {f,c,e as e$2}from'./chunk-OLDPVVSV.js';import {b as b$3,j,i,l,h,q}from'./chunk-WRMCPKGA.js';import {promises}from'fs';import*as P from'fs-extra';import m from'path';import t from'chalk';import {execa}from'execa';async function H(e,o={}){let n=m.resolve(e),r=o.workspaceName??m.basename(n);try{let{registerWorkspace:a}=await import('./workspace-VKUBU4M4.js');await a(n,r);}catch(a){o.silent||console.warn(t.gray(`Note: Could not register workspace in shared registry: ${a?.message??a}`));}try{let{syncWorkspaceContract:a}=await import('./workspace-contract-OO4GMENV.js'),c=await a({workspacePath:n});if(o.silent||console.log(t.gray(`\u2139\uFE0F Workspace intelligence synced (contract + registry summary, ${c.contract.projects.length} project(s)).`)),!o.silent&&c.verification.status!=="passed"){console.log(t.yellow("\u26A0\uFE0F Workspace contract verification reported issues."));for(let d of c.verification.violations)console.log(t.gray(` Violation: ${d}`));console.log(t.white(" Next: npx rapidkit workspace contract inspect"));}}catch(a){o.silent||console.warn(t.gray(`Note: Could not sync workspace intelligence layer: ${a?.message??a}`));}}function S(){return h()}async function B(e,o,n,r){let a=d(o,b(),n);r&&(a.metadata||(a.metadata={}),a.metadata.python={version:r}),await b$1(e,a);}async function z(e){await P.outputFile(m.join(e,".gitignore"),`.venv/
|
|
2
2
|
__pycache__/
|
|
3
3
|
*.pyc
|
|
4
4
|
.env
|