workspai 0.53.0 → 0.55.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/contracts/artifact-remediation-plan.v1.json +22 -3
- package/contracts/doctor-project-evidence.v1.json +21 -2
- package/contracts/doctor-remediation-plan.v1.json +22 -3
- package/contracts/doctor-workspace-evidence.v1.json +21 -2
- package/contracts/extension-cli-compatibility.v1.json +1 -1
- package/contracts/studio-card-repair-capabilities.v1.json +65 -1
- package/contracts/workspace-intelligence/doctor-dependency-repair-transaction.v1.json +52 -13
- package/contracts/workspace-intelligence/workspace-repair-proposal.v1.json +8 -0
- package/contracts/workspace-intelligence/workspace-repair-transaction.v1.json +57 -6
- package/contracts/workspace-repair-capabilities.v1.json +104 -0
- package/dist/{artifact-remediation-plan-CJSPCMWA.js → artifact-remediation-plan-O3YIULQN.js} +1 -1
- package/dist/autopilot-release-EZXOGAVE.js +1 -0
- package/dist/chunk-4GPKQFPY.js +1 -0
- package/dist/chunk-B5AY55A5.js +1 -0
- package/dist/chunk-CEIJIFY7.js +88 -0
- package/dist/{chunk-2FJW6GSW.js → chunk-HUPLAFZQ.js} +1 -1
- package/dist/{chunk-HOVJUP7K.js → chunk-KJYLCZRI.js} +1 -1
- package/dist/{chunk-OLX6LX77.js → chunk-NWQ5VWUW.js} +3 -3
- package/dist/chunk-TEHQ7XKK.js +3 -0
- package/dist/chunk-UFOCUHG3.js +1 -0
- package/dist/{chunk-3GRKUP5W.js → chunk-W3HXTCSY.js} +6 -6
- package/dist/{chunk-HRN5J6PW.js → chunk-WSAFBPS5.js} +1 -1
- package/dist/{create-R6A7EHQZ.js → create-3NSOY7CA.js} +1 -1
- package/dist/{doctor-KNIYGDM7.js → doctor-UEFFNAUD.js} +1 -1
- package/dist/index.js +147 -147
- package/dist/{pipeline-PVCLAQDI.js → pipeline-ZYKDWUKK.js} +1 -1
- package/dist/{pythonRapidkitExec-YR7P5LWG.js → pythonRapidkitExec-4YTAMLBD.js} +1 -1
- package/dist/{verified-goal-MCSNMA3P.js → verified-goal-PE2PGAHF.js} +1 -1
- package/dist/{workspace-B53XH35L.js → workspace-C4UETGY7.js} +1 -1
- package/dist/{workspace-foundation-FFNCK5ZD.js → workspace-foundation-3EVAQ5X6.js} +1 -1
- package/dist/{workspace-intelligence-runner-JNCQLUH7.js → workspace-intelligence-runner-GLC666ER.js} +1 -1
- package/dist/{workspace-onboarding-2B7CYZ5H.js → workspace-onboarding-5KO7Z7AD.js} +1 -1
- package/dist/workspace-repair-engine-NMKOWUQP.js +3 -0
- package/dist/workspace-run-2DEVJOVH.js +1 -0
- package/docs/ci-workflows.md +1 -1
- package/docs/doctor-command.md +6 -0
- package/docs/workspace-repair-engine.md +59 -10
- package/package.json +3 -3
- package/dist/autopilot-release-LZWNQQLY.js +0 -1
- package/dist/chunk-27AXFTKW.js +0 -1
- package/dist/chunk-E5YYVFM2.js +0 -1
- package/dist/chunk-SUV7Y2FH.js +0 -3
- package/dist/chunk-T6JI7GYZ.js +0 -88
- package/dist/chunk-ZTKIBREF.js +0 -1
- package/dist/workspace-repair-engine-SRWECKZO.js +0 -3
- package/dist/workspace-run-3U77TMKX.js +0 -1
- /package/dist/{chunk-USMLRNZ7.js → chunk-BQ24743S.js} +0 -0
|
@@ -43,6 +43,7 @@
|
|
|
43
43
|
"required": ["cardId", "scope", "actionIds"],
|
|
44
44
|
"properties": {
|
|
45
45
|
"cardId": { "type": "string", "minLength": 1 },
|
|
46
|
+
"blockerSignature": { "type": "string", "minLength": 1, "maxLength": 256 },
|
|
46
47
|
"scope": { "enum": ["workspace", "project"] },
|
|
47
48
|
"projectName": { "type": "string", "minLength": 1 },
|
|
48
49
|
"projectPath": { "type": "string", "minLength": 1 },
|
|
@@ -129,7 +130,17 @@
|
|
|
129
130
|
"adapterEvaluation": {
|
|
130
131
|
"type": "object",
|
|
131
132
|
"additionalProperties": false,
|
|
132
|
-
"required": [
|
|
133
|
+
"required": [
|
|
134
|
+
"adapterId",
|
|
135
|
+
"ecosystem",
|
|
136
|
+
"projectPath",
|
|
137
|
+
"manifests",
|
|
138
|
+
"support",
|
|
139
|
+
"status",
|
|
140
|
+
"requiredExecutables",
|
|
141
|
+
"missingExecutables",
|
|
142
|
+
"message"
|
|
143
|
+
],
|
|
133
144
|
"properties": {
|
|
134
145
|
"adapterId": { "type": "string", "minLength": 1 },
|
|
135
146
|
"ecosystem": { "type": "string", "minLength": 1 },
|
|
@@ -137,8 +148,16 @@
|
|
|
137
148
|
"manifests": { "type": "array", "items": { "type": "string" }, "uniqueItems": true },
|
|
138
149
|
"support": { "enum": ["full", "conditional", "unsupported"] },
|
|
139
150
|
"status": { "enum": ["ready", "partial", "unsupported"] },
|
|
140
|
-
"requiredExecutables": {
|
|
141
|
-
|
|
151
|
+
"requiredExecutables": {
|
|
152
|
+
"type": "array",
|
|
153
|
+
"items": { "type": "string" },
|
|
154
|
+
"uniqueItems": true
|
|
155
|
+
},
|
|
156
|
+
"missingExecutables": {
|
|
157
|
+
"type": "array",
|
|
158
|
+
"items": { "type": "string" },
|
|
159
|
+
"uniqueItems": true
|
|
160
|
+
},
|
|
142
161
|
"message": { "type": "string" }
|
|
143
162
|
}
|
|
144
163
|
},
|
|
@@ -195,7 +214,9 @@
|
|
|
195
214
|
"properties": {
|
|
196
215
|
"id": { "type": "string", "minLength": 1 },
|
|
197
216
|
"kind": { "enum": ["repair", "reconcile", "audit", "test", "build", "verify", "rollback"] },
|
|
198
|
-
"status": {
|
|
217
|
+
"status": {
|
|
218
|
+
"enum": ["pending", "running", "passed", "failed", "blocked", "skipped", "cancelled"]
|
|
219
|
+
},
|
|
199
220
|
"required": { "type": "boolean" },
|
|
200
221
|
"risk": { "enum": ["safe", "guarded", "invasive"] },
|
|
201
222
|
"summary": { "type": "string" },
|
|
@@ -214,6 +235,13 @@
|
|
|
214
235
|
"required": ["status", "artifact", "exitCode", "summary"],
|
|
215
236
|
"properties": {
|
|
216
237
|
"status": { "enum": ["passed", "failed", "not-run"] },
|
|
238
|
+
"targetStatus": { "enum": ["passed", "failed", "unknown"] },
|
|
239
|
+
"workspaceStatus": { "enum": ["passed", "blocked", "failed"] },
|
|
240
|
+
"remainingActionIds": {
|
|
241
|
+
"type": "array",
|
|
242
|
+
"uniqueItems": true,
|
|
243
|
+
"items": { "type": "string", "minLength": 1 }
|
|
244
|
+
},
|
|
217
245
|
"artifact": { "const": ".workspai/reports/workspace-intelligence-run-last-run.json" },
|
|
218
246
|
"exitCode": { "type": ["integer", "null"] },
|
|
219
247
|
"summary": { "type": "string" }
|
|
@@ -228,7 +256,17 @@
|
|
|
228
256
|
"options": {
|
|
229
257
|
"type": "array",
|
|
230
258
|
"minItems": 1,
|
|
231
|
-
"items": {
|
|
259
|
+
"items": {
|
|
260
|
+
"enum": [
|
|
261
|
+
"approve-guarded",
|
|
262
|
+
"approve-invasive",
|
|
263
|
+
"allow-breaking",
|
|
264
|
+
"allow-force",
|
|
265
|
+
"manual-repair",
|
|
266
|
+
"rollback",
|
|
267
|
+
"cancel"
|
|
268
|
+
]
|
|
269
|
+
}
|
|
232
270
|
}
|
|
233
271
|
}
|
|
234
272
|
},
|
|
@@ -239,7 +277,20 @@
|
|
|
239
277
|
"properties": {
|
|
240
278
|
"sequence": { "type": "integer", "minimum": 1 },
|
|
241
279
|
"at": { "type": "string", "format": "date-time" },
|
|
242
|
-
"type": {
|
|
280
|
+
"type": {
|
|
281
|
+
"enum": [
|
|
282
|
+
"planned",
|
|
283
|
+
"approval",
|
|
284
|
+
"checkpoint",
|
|
285
|
+
"stage",
|
|
286
|
+
"verification",
|
|
287
|
+
"decision",
|
|
288
|
+
"rollback",
|
|
289
|
+
"closed",
|
|
290
|
+
"failed",
|
|
291
|
+
"cancelled"
|
|
292
|
+
]
|
|
293
|
+
},
|
|
243
294
|
"stageId": { "type": "string" },
|
|
244
295
|
"status": { "type": "string" },
|
|
245
296
|
"message": { "type": "string" }
|
|
@@ -5,12 +5,14 @@
|
|
|
5
5
|
"plan",
|
|
6
6
|
"preconditions",
|
|
7
7
|
"approval",
|
|
8
|
+
"target-precondition",
|
|
8
9
|
"checkpoint",
|
|
9
10
|
"execute",
|
|
10
11
|
"reconcile",
|
|
11
12
|
"audit",
|
|
12
13
|
"test",
|
|
13
14
|
"build",
|
|
15
|
+
"target-producer-verify",
|
|
14
16
|
"canonical-verify",
|
|
15
17
|
"close-or-rollback-or-decision"
|
|
16
18
|
],
|
|
@@ -19,10 +21,64 @@
|
|
|
19
21
|
"missingTools": "decision-required",
|
|
20
22
|
"unsupportedEcosystems": "decision-required",
|
|
21
23
|
"silentFallbackToModelExecution": false,
|
|
24
|
+
"mutationAuthority": "cli-only",
|
|
25
|
+
"targetClosure": "selected-causal-action-set",
|
|
26
|
+
"changeReceipt": "checkpoint-hash-delta",
|
|
27
|
+
"consumerTimeline": "durable-transaction-events",
|
|
28
|
+
"consumerHandshakeRequired": true,
|
|
29
|
+
"ephemeralProposalsAreEvidence": false,
|
|
22
30
|
"approvalBoundToPlanHash": true,
|
|
23
31
|
"canonicalVerificationRequired": true,
|
|
24
32
|
"rollbackConflictDetection": true
|
|
25
33
|
},
|
|
34
|
+
"consumerProtocol": {
|
|
35
|
+
"protocolVersion": "workspai.workspace-repair-consumer-protocol.v1",
|
|
36
|
+
"versionProbe": {
|
|
37
|
+
"args": [
|
|
38
|
+
"--version",
|
|
39
|
+
"--json"
|
|
40
|
+
],
|
|
41
|
+
"schemaVersion": "rapidkit-version-v1"
|
|
42
|
+
},
|
|
43
|
+
"capabilityProbe": {
|
|
44
|
+
"args": [
|
|
45
|
+
"workspace",
|
|
46
|
+
"repair",
|
|
47
|
+
"capabilities",
|
|
48
|
+
"--json"
|
|
49
|
+
],
|
|
50
|
+
"schemaVersion": "workspai.workspace-repair-capabilities.v1"
|
|
51
|
+
},
|
|
52
|
+
"invocation": {
|
|
53
|
+
"command": "workspace repair",
|
|
54
|
+
"workspaceResolution": [
|
|
55
|
+
"process-cwd",
|
|
56
|
+
"--workspace"
|
|
57
|
+
],
|
|
58
|
+
"actions": [
|
|
59
|
+
"capabilities",
|
|
60
|
+
"plan",
|
|
61
|
+
"propose",
|
|
62
|
+
"approve",
|
|
63
|
+
"decide",
|
|
64
|
+
"execute",
|
|
65
|
+
"resume",
|
|
66
|
+
"status",
|
|
67
|
+
"list",
|
|
68
|
+
"rollback",
|
|
69
|
+
"cancel"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"contracts": {
|
|
73
|
+
"operationResult": "workspai-cli-operation-result-v1",
|
|
74
|
+
"proposal": "workspai.workspace-repair-proposal.v1",
|
|
75
|
+
"transaction": "workspai.workspace-repair-transaction.v1"
|
|
76
|
+
},
|
|
77
|
+
"transientPaths": [
|
|
78
|
+
".workspai/repair/inbox/*.json",
|
|
79
|
+
".workspai/repair/engine.lock"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
26
82
|
"adapters": [
|
|
27
83
|
{
|
|
28
84
|
"id": "node",
|
|
@@ -311,6 +367,54 @@
|
|
|
311
367
|
"governed Doctor audit"
|
|
312
368
|
],
|
|
313
369
|
"limitation": "A project-specific dependency audit command must be declared by Doctor evidence."
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"id": "clojure",
|
|
373
|
+
"ecosystem": "Clojure",
|
|
374
|
+
"manifests": [
|
|
375
|
+
"deps.edn",
|
|
376
|
+
"project.clj"
|
|
377
|
+
],
|
|
378
|
+
"lockfiles": [],
|
|
379
|
+
"packageManagers": [
|
|
380
|
+
"Clojure CLI",
|
|
381
|
+
"Leiningen"
|
|
382
|
+
],
|
|
383
|
+
"support": "conditional",
|
|
384
|
+
"stages": {
|
|
385
|
+
"reconcile": "native",
|
|
386
|
+
"audit": "conditional",
|
|
387
|
+
"test": "conditional",
|
|
388
|
+
"build": "conditional"
|
|
389
|
+
},
|
|
390
|
+
"requiredToolFamilies": [
|
|
391
|
+
"clojure or lein",
|
|
392
|
+
"governed project audit"
|
|
393
|
+
],
|
|
394
|
+
"limitation": "Tests and builds run only when the selected Clojure project surface declares a deterministic entrypoint."
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"id": "scala-sbt",
|
|
398
|
+
"ecosystem": "Scala / sbt",
|
|
399
|
+
"manifests": [
|
|
400
|
+
"build.sbt"
|
|
401
|
+
],
|
|
402
|
+
"lockfiles": [],
|
|
403
|
+
"packageManagers": [
|
|
404
|
+
"sbt"
|
|
405
|
+
],
|
|
406
|
+
"support": "conditional",
|
|
407
|
+
"stages": {
|
|
408
|
+
"reconcile": "native",
|
|
409
|
+
"audit": "conditional",
|
|
410
|
+
"test": "native",
|
|
411
|
+
"build": "native"
|
|
412
|
+
},
|
|
413
|
+
"requiredToolFamilies": [
|
|
414
|
+
"sbt",
|
|
415
|
+
"governed project audit"
|
|
416
|
+
],
|
|
417
|
+
"limitation": "A project-specific dependency audit command must be declared by Doctor evidence."
|
|
314
418
|
}
|
|
315
419
|
]
|
|
316
420
|
}
|
package/dist/{artifact-remediation-plan-CJSPCMWA.js → artifact-remediation-plan-O3YIULQN.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{a as buildArtifactRemediationPlan,b as writeArtifactRemediationPlan}from'./chunk-
|
|
1
|
+
export{a as buildArtifactRemediationPlan,b as writeArtifactRemediationPlan}from'./chunk-TEHQ7XKK.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{b as AUTOPILOT_RELEASE_ALIAS_FILENAME,a as AUTOPILOT_RELEASE_LAST_RUN_FILENAME,c as runAutopilotRelease}from'./chunk-KJYLCZRI.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {b as b$1,c as c$1}from'./chunk-WZA5ISAQ.js';import {a as a$2}from'./chunk-KVUYAYTY.js';import {q as q$1}from'./chunk-CEIJIFY7.js';import {a as a$3}from'./chunk-RMXXK64P.js';import {g}from'./chunk-WSAFBPS5.js';import {j as j$1,e as e$1}from'./chunk-GDU7VP6G.js';import {j,l as l$2}from'./chunk-OUBBBC7T.js';import {c,d}from'./chunk-P7K5RHJC.js';import {a as a$1}from'./chunk-RA24WQLF.js';import {f,g as g$1,h as h$2}from'./chunk-XVRJVKOX.js';import {k as k$1,l as l$1,h as h$1,m as m$1,n,p as p$1,q}from'./chunk-S7Z4DP3P.js';import {m,p,s}from'./chunk-7AR5PDLD.js';import {o,r as r$1,s as s$1}from'./chunk-MQ73VS4E.js';import {e}from'./chunk-WIO6L24E.js';import {b as b$2}from'./chunk-BYVTHIC3.js';import {a,b,k,l,j as j$2,i}from'./chunk-44VJHNZB.js';import {d as d$1}from'./chunk-VRW6KXNK.js';import ce from'path';import le from'fs-extra';function r(t,s){if(!t)throw new Error(`Workspace Intelligence run semantic violation: ${s}`)}function ne(t,s){return t.length===s.length&&t.every((p,d)=>p===s[d])}function oe(t){b$2(a.intelligenceRun,t,"Workspace Intelligence run report"),r(t.chainSchemaVersion===a$1,`chainSchemaVersion must be ${a$1}`),r(t.artifactPath===a.intelligenceRun,`artifactPath must be ${a.intelligenceRun}`),r(t.preflight.length===j$2.length,`preflight must contain exactly ${j$2.length} entries`);for(let[o,i]of j$2.entries()){let a=t.preflight[o];r(a?.id===i,`preflight[${o}].id must be ${i}`),r(ne(a.artifacts,k[i]),`${i} preflight artifacts must match the runtime registry`),i==="sync"?r(a.status==="passed"&&a.result==="synchronized"||a.status==="failed"&&a.result==="failed","sync preflight status and result are incoherent"):r(a.status==="passed"&&(a.result==="created"||a.result==="reused")||a.status==="failed"&&a.result==="failed"||a.status==="skipped"&&a.result==="skipped","baseline preflight status and result are incoherent");}let s=t.preflight[1];r(t.baselineCreated===(s?.result==="created"),"baselineCreated must match the baseline preflight result"),r(t.stages.length===i.length,`stages must contain exactly ${i.length} canonical steps`);let p=t.preflight[0],d=p?.status==="failed";for(let[o,i$1]of i.entries()){let a=t.stages[o];r(a?.id===i$1,`stages[${o}].id must be ${i$1}`),r(ne(a.artifacts,l[i$1].produces),`${i$1} artifacts must match the runtime registry`),d&&r(a.status==="skipped",`${i$1} must be skipped after a hard failure`),a.status==="passed"?r(a.exitCode===0,`${i$1} passed stage must have exitCode 0`):a.status==="blocked"?r(a.exitCode!==0,`${i$1} blocked stage must have a non-zero exitCode`):a.status==="failed"?(r(a.exitCode===1,`${i$1} failed stage must have exitCode 1`),d=true):(r(a.exitCode===0,`${i$1} skipped stage must have exitCode 0`),r(a.durationMs===0,`${i$1} skipped stage must have durationMs 0`)),o===0&&((p?.status==="failed"||a.status==="failed")&&r(s?.status==="skipped","baseline must be skipped when sync or model fails"),s?.status==="skipped"&&r(p?.status==="failed"||a.status==="failed"||a.status==="skipped","baseline may be skipped only after an upstream failure"),s?.status!=="passed"&&(d=true));}let m=t.preflight.some(o=>o.status==="failed")||t.stages.some(o=>o.status==="failed"),y=t.stages.some(o=>o.status==="blocked"),n=m?"failed":y?"blocked":"passed",f=n==="failed"?1:n==="blocked"?2:0;r(t.status===n,`status must be ${n}`),r(t.exitCode===f,`exitCode must be ${f}`);}var ke=a.intelligenceRun,he=b.intelligenceRun,de=ke;function h(t){d$1({action:"intelligence",status:t.status==="started"?"started":t.status==="passed"?"succeeded":t.status==="failed"?"failed":"warn",message:t.message,metadata:{phase:`workspace.intelligence.${t.kind}.${t.id}`,intelligenceMilestoneId:t.id,intelligenceMilestoneKind:t.kind,intelligenceMilestoneStatus:t.status}});}async function De(t){let s$2=ce.resolve(t.workspacePath),p$2=[],d$1=[],m$2=false,y=async(e,l)=>{let g=[...k[e]];if(m$2){h({id:e,kind:"preflight",status:"skipped",message:`${e} prerequisite skipped after an upstream failure`}),p$2.push({id:e,status:"skipped",result:"skipped",durationMs:0,artifacts:g,message:"skipped because a required upstream operation failed"});return}let I=Date.now();h({id:e,kind:"preflight",status:"started",message:`${e} prerequisite started`});try{let c=await l();h({id:e,kind:"preflight",status:"passed",message:c.message}),p$2.push({id:e,status:"passed",result:c.result,durationMs:Date.now()-I,artifacts:g,message:c.message});}catch(c){m$2=true;let k=c instanceof Error?c.message:String(c);h({id:e,kind:"preflight",status:"failed",message:k}),p$2.push({id:e,status:"failed",result:"failed",durationMs:Date.now()-I,artifacts:g,message:k});}},n$1=async(e,l$1)=>{let g=[...l[e].produces];if(m$2){h({id:e,kind:"stage",status:"skipped",message:`${e} skipped after an upstream failure`}),d$1.push({id:e,status:"skipped",durationMs:0,artifacts:g,exitCode:0,message:"skipped because a required upstream stage failed"});return}let I=Date.now();h({id:e,kind:"stage",status:"started",message:`${e} started`});try{let c=await l$1(),k=c.exitCode??0,A=c.blocked||k!==0?"blocked":"passed";h({id:e,kind:"stage",status:A,message:c.message}),d$1.push({id:e,status:A,durationMs:Date.now()-I,artifacts:g,exitCode:k,message:c.message});}catch(c){m$2=true;let k=c instanceof Error?c.message:String(c);h({id:e,kind:"stage",status:"failed",message:k}),d$1.push({id:e,status:"failed",durationMs:Date.now()-I,artifacts:g,exitCode:1,message:k});}};await y("sync",async()=>{let e=await g(s$2,true),l=await o({workspacePath:s$2});return {result:"synchronized",message:`registry ${e.added.length} added/${e.skipped} existing; contract ${l.contract.projects.length} projects`}});let f$1,o$1=()=>{if(!f$1)throw new Error("canonical workspace model is unavailable");return f$1};await n$1("model",async()=>(f$1={...await p({workspacePath:s$2,includeEvidence:true}),build:m({mode:"full",engineStatus:"disabled"})},await s(f$1,s$2),{message:`${f$1.summary.projectCount} projects modeled`}));let i=ce.join(s$2,a.snapshot),a$4=false;await y("baseline",async()=>{if(!await le.pathExists(i)){let g=await k$1({workspacePath:s$2,model:o$1()});return await l$1(g,s$2),a$4=true,{result:"created",message:"initial structural baseline created"}}let e=await le.readJson(i),l=h$1(e);return l?(await l$1(l,s$2),{result:"reused",message:"legacy structural baseline migrated and reused"}):{result:"reused",message:"existing structural baseline reused"}}),await n$1("diff",async()=>{let e=await m$1({workspacePath:s$2,fromPath:a.snapshot,model:o$1()});return await n(e,s$2),{message:e.summary.changed?"workspace changes detected":"no workspace changes"}}),await n$1("impact",async()=>{let e=await p$1({workspacePath:s$2,fromPath:a.diff});return await q(e,s$2),{message:`${e.summary.risk} risk; ${e.summary.affectedProjects} affected`}}),await n$1("doctor-evidence",async()=>{let e=await q$1({workspace:s$2,json:true,quiet:true});return {exitCode:e,blocked:e!==0,message:`doctor exit ${e}`}}),await n$1("contract-evidence",async()=>{let e=await r$1({workspacePath:s$2,strict:true});return await s$1({workspacePath:s$2,result:e}),{exitCode:e.status==="passed"?0:1,blocked:e.status!=="passed",message:`contract ${e.status}`}}),await n$1("analyze-evidence",async()=>{let e=await a$2({workspacePath:s$2,json:true,strict:false});return {blocked:e.summary.verdict==="blocked"||t.strict===true&&e.summary.verdict==="needs-attention",exitCode:e.summary.verdict==="blocked"||t.strict===true&&e.summary.verdict==="needs-attention"?1:0,message:`analyze ${e.summary.verdict} (${e.summary.score}/100)`}}),await n$1("readiness-evidence",async()=>{let e=await a$3({startPath:s$2,writeReport:true,skipVerify:true});return {blocked:e.overallStatus==="fail"||t.strict===true&&e.overallStatus==="warn",exitCode:e.overallStatus==="fail"||t.strict===true&&e.overallStatus==="warn"?1:0,message:`pre-verify readiness ${e.overallStatus}`}}),await n$1("verify",async()=>{let e=await f({workspacePath:s$2,fromImpactPath:a.impact});await g$1(e,s$2);let l=h$2(e,{strict:t.strict===true});return await j$1(s$2,e$1(e,l.passed)),{blocked:!l.passed,exitCode:l.exitCode,message:`${e.summary.verdict}; gate ${l.passed?"passed":"blocked"}`}}),await n$1("context",async()=>{let e=await c({workspacePath:s$2,model:o$1(),agent:t.agent??"generic",includeEvidence:true});return await d(e,s$2),{message:`context grounded for ${e.agent}`}}),await n$1("agent-sync",async()=>({message:`${(await l$2({workspacePath:s$2,agent:t.agent??"generic",write:true,refreshContext:false,strict:false,preset:"enterprise"})).writtenFiles.length} grounding files written`})),await n$1("explain",async()=>{let e=await b$1({workspacePath:s$2,target:{kind:"release-blocked"}});return await c$1(e,s$2),{message:e.summary}});let ue=d$1.some(e=>e.status==="blocked"),x=m$2?"failed":ue?"blocked":"passed",pe=m$2?1:x==="blocked"?2:0,R={schemaVersion:he,chainSchemaVersion:a$1,generatedAt:new Date().toISOString(),workspacePath:s$2,baselineCreated:a$4,preflight:p$2,status:x,exitCode:pe,stages:d$1,artifactPath:de};oe(R),await e(s$2,de,R);let ge=await j({workspacePath:s$2});return await e(s$2,a.agentIndex,ge),R}export{ke as a,he as b,De as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {a as a$2}from'./chunk-FPJNWPKU.js';import {b as b$1,a as a$1,c,e as e$1}from'./chunk-44VJHNZB.js';var v="workspai.studio-card-repair-capabilities.v1",k="npx workspai workspace verify --json",r=a$1,a=e$1;function e(f,n,c,o={}){return {cardId:f,scope:o.scope??"workspace",producerCommand:n,producerArtifact:c,verifyCommand:n,verifyArtifact:c,aggregateVerifyCommand:k,targetClosure:"exact-producer-and-causal-action-set",workspacePosture:"reported-separately",repairPolicy:o.repairPolicy??"refresh-producer",remediationArtifacts:o.remediationArtifacts??[]}}var b=[e("doctor","npx workspai doctor workspace --json",r.doctor,{repairPolicy:"diagnose-and-repair",remediationArtifacts:[a.doctorRemediationPlan,a.artifactRemediationPlan]}),e("projectDoctor","npx workspai doctor project --json",a.doctorProject,{scope:"project",repairPolicy:"diagnose-and-repair",remediationArtifacts:[a.doctorRemediationPlan,a.artifactRemediationPlan]}),e("pipeline","npx workspai pipeline --json --strict",a.pipelineLastRun,{repairPolicy:"source-repair-then-produce",remediationArtifacts:[a.artifactRemediationPlan]}),e("analyze","npx workspai analyze --json",r.analyze,{repairPolicy:"source-repair-then-produce",remediationArtifacts:[a.artifactRemediationPlan]}),e("readiness","npx workspai readiness --json",r.readiness,{repairPolicy:"source-repair-then-produce",remediationArtifacts:[a.artifactRemediationPlan]}),e("bootstrap","npx workspai bootstrap --ci --json",a.bootstrapCompliance,{repairPolicy:"source-repair-then-produce",remediationArtifacts:[a.artifactRemediationPlan]}),e("workspaceSync","npx workspai workspace sync --json",a.workspaceRegistry),e("foundation","npx workspai workspace foundation ensure --json",".workspai/workspace.json"),e("contract","npx workspai workspace contract verify --strict --json",r.contractVerify,{repairPolicy:"source-repair-then-produce"}),e("autopilot","npx workspai autopilot release --json",a.autopilotReleaseLastRun,{repairPolicy:"source-repair-then-produce"}),e("workspaceRun","npx workspai workspace run test --json",a.workspaceRunLast,{repairPolicy:"source-repair-then-produce",remediationArtifacts:[a.artifactRemediationPlan]}),e("setup","npx workspai setup --json",".workspai/toolchain.lock",{repairPolicy:"source-repair-then-produce"}),e("importReadiness","npx workspai doctor project --json",a.doctorProject,{scope:"project",repairPolicy:"diagnose-and-repair",remediationArtifacts:[a.artifactRemediationPlan]}),e("snapshot","npx workspai snapshot create --json",".workspai/reports/snapshot-last-run.json"),e("workspaceModel","npx workspai workspace model --json --write",r.model),e("intelligenceSnapshot","npx workspai workspace snapshot --json",r.snapshot),e("workspaceDiff",`npx workspai workspace diff --from ${r.snapshot} --json`,r.diff),e("workspaceImpact",`npx workspai workspace impact --from ${r.diff} --json`,r.impact),e("workspaceIntelligenceRun","npx workspai workspace intelligence run --for-agent generic --strict --json",r.intelligenceRun,{repairPolicy:"source-repair-then-produce"}),e("workspaceVerify",k,r.verify,{repairPolicy:"source-repair-then-produce",remediationArtifacts:[a.artifactRemediationPlan]}),e("workspaceExplain","npx workspai workspace explain release-blocked --json --write",r.explain),e("workspaceWhy","npx workspai workspace why release-blocked --json --write",a.workspaceWhy),e("workspaceTrace",`npx workspai workspace trace --from ${r.diff} --json --write`,a.workspaceTrace),e("workspaceWatch","npx workspai workspace watch --once --json",r.model),e("workspaceContextAgent","npx workspai workspace context --for-agent --json --write",r.agentContext),e("agentGrounding","npx workspai workspace agent-sync --write --refresh-context --json --preset enterprise --target vscode",r.agentCustomizationPack),e("share",`npx workspai workspace share --output ${a.workspaceShareBundle} --json`,a.workspaceShareBundle),e("archive","npx workspai workspace export --output team-workspace.workspai-archive.zip --json",".workspai/archive-manifest.json"),e("mirror","npx workspai mirror status --json",a.mirrorOps),e("cache","npx workspai cache status --json",".workspai/cache-config.yml"),e("policy","npx workspai workspace policy show --json",".workspai/policies.yml",{repairPolicy:"source-repair-then-produce"}),e("infra","npx workspai infra plan --json",a.infraPlan,{repairPolicy:"source-repair-then-produce"})];var g=b$1.repairTransaction,h=a$1.repairTransaction,E=c.repairTransaction;var m="workspai.workspace-repair-proposal.v1",T="contracts/workspace-intelligence/workspace-repair-proposal.v1.json";var R="workspai.workspace-repair-capabilities.v1",y="workspai.workspace-repair-consumer-protocol.v1",w=[{id:"node",ecosystem:"JavaScript / TypeScript",manifests:["package.json"],lockfiles:["package-lock.json","npm-shrinkwrap.json","pnpm-lock.yaml","yarn.lock","bun.lock","bun.lockb"],packageManagers:["npm","pnpm","yarn","bun"],support:"full",stages:{reconcile:"native",audit:"native",test:"declared",build:"declared"},requiredToolFamilies:["selected package manager"]},{id:"python",ecosystem:"Python",manifests:["pyproject.toml","requirements.txt"],lockfiles:["uv.lock","poetry.lock","requirements.txt"],packageManagers:["uv","poetry","pip"],support:"conditional",stages:{reconcile:"conditional",audit:"conditional",test:"conditional",build:"declared"},requiredToolFamilies:["isolated Python","selected environment manager","pip-audit or governed Doctor audit"],limitation:"A bounded isolated environment and an installed audit surface are required."},{id:"go",ecosystem:"Go",manifests:["go.mod"],lockfiles:["go.sum"],packageManagers:["go modules"],support:"conditional",stages:{reconcile:"native",audit:"conditional",test:"native",build:"native"},requiredToolFamilies:["go","govulncheck"],limitation:"govulncheck must be installed; the engine never fetches an unreviewed tool."},{id:"rust",ecosystem:"Rust",manifests:["Cargo.toml"],lockfiles:["Cargo.lock"],packageManagers:["cargo"],support:"conditional",stages:{reconcile:"native",audit:"conditional",test:"native",build:"native"},requiredToolFamilies:["cargo","cargo-audit"],limitation:"The cargo-audit subcommand must already be installed."},{id:"php-composer",ecosystem:"PHP",manifests:["composer.json"],lockfiles:["composer.lock"],packageManagers:["composer"],support:"full",stages:{reconcile:"native",audit:"native",test:"declared",build:"declared"},requiredToolFamilies:["composer"]},{id:"ruby-bundler",ecosystem:"Ruby",manifests:["Gemfile"],lockfiles:["Gemfile.lock"],packageManagers:["bundler"],support:"conditional",stages:{reconcile:"native",audit:"conditional",test:"declared",build:"declared"},requiredToolFamilies:["bundle","bundle-audit"],limitation:"bundle-audit and the declared Rake tasks must already exist."},{id:"elixir-mix",ecosystem:"Elixir",manifests:["mix.exs"],lockfiles:["mix.lock"],packageManagers:["mix"],support:"conditional",stages:{reconcile:"native",audit:"conditional",test:"native",build:"native"},requiredToolFamilies:["mix","Hex audit task"],limitation:"The project must expose the Hex audit task used by its dependency policy."},{id:"deno",ecosystem:"Deno",manifests:["deno.json","deno.jsonc"],lockfiles:["deno.lock"],packageManagers:["deno"],support:"full",stages:{reconcile:"native",audit:"native",test:"declared",build:"declared"},requiredToolFamilies:["deno"]},{id:"dotnet",ecosystem:".NET",manifests:["*.sln","*.csproj","*.fsproj","*.vbproj"],lockfiles:["Directory.Packages.props","packages.lock.json"],packageManagers:["NuGet / dotnet"],support:"full",stages:{reconcile:"native",audit:"native",test:"native",build:"native"},requiredToolFamilies:["dotnet"]},{id:"jvm-maven",ecosystem:"JVM / Maven",manifests:["pom.xml"],lockfiles:[],packageManagers:["Maven Wrapper","Maven"],support:"conditional",stages:{reconcile:"native",audit:"conditional",test:"native",build:"native"},requiredToolFamilies:["mvnw or mvn","governed Doctor audit"],limitation:"A project-specific dependency audit command must be declared by Doctor evidence."},{id:"jvm-gradle",ecosystem:"JVM / Gradle",manifests:["build.gradle.kts","build.gradle"],lockfiles:["gradle.lockfile","gradle/libs.versions.toml"],packageManagers:["Gradle Wrapper","Gradle"],support:"conditional",stages:{reconcile:"native",audit:"conditional",test:"native",build:"native"},requiredToolFamilies:["gradlew or gradle","governed Doctor audit"],limitation:"A project-specific dependency audit command must be declared by Doctor evidence."},{id:"clojure",ecosystem:"Clojure",manifests:["deps.edn","project.clj"],lockfiles:[],packageManagers:["Clojure CLI","Leiningen"],support:"conditional",stages:{reconcile:"native",audit:"conditional",test:"conditional",build:"conditional"},requiredToolFamilies:["clojure or lein","governed project audit"],limitation:"Tests and builds run only when the selected Clojure project surface declares a deterministic entrypoint."},{id:"scala-sbt",ecosystem:"Scala / sbt",manifests:["build.sbt"],lockfiles:[],packageManagers:["sbt"],support:"conditional",stages:{reconcile:"native",audit:"conditional",test:"native",build:"native"},requiredToolFamilies:["sbt","governed project audit"],limitation:"A project-specific dependency audit command must be declared by Doctor evidence."}];function M(){return {schemaVersion:R,owner:"Workspai CLI",workflow:["plan","preconditions","approval","target-precondition","checkpoint","execute","reconcile","audit","test","build","target-producer-verify","canonical-verify","close-or-rollback-or-decision"],invariants:{multiAdapterProjects:true,missingTools:"decision-required",unsupportedEcosystems:"decision-required",silentFallbackToModelExecution:false,mutationAuthority:"cli-only",targetClosure:"selected-causal-action-set",changeReceipt:"checkpoint-hash-delta",consumerTimeline:"durable-transaction-events",consumerHandshakeRequired:true,ephemeralProposalsAreEvidence:false,approvalBoundToPlanHash:true,canonicalVerificationRequired:true,rollbackConflictDetection:true},consumerProtocol:{protocolVersion:y,versionProbe:{args:["--version","--json"],schemaVersion:"rapidkit-version-v1"},capabilityProbe:{args:["workspace","repair","capabilities","--json"],schemaVersion:R},invocation:{command:"workspace repair",workspaceResolution:["process-cwd","--workspace"],actions:["capabilities","plan","propose","approve","decide","execute","resume","status","list","rollback","cancel"]},contracts:{operationResult:a$2,proposal:m,transaction:g},transientPaths:[".workspai/repair/inbox/*.json",".workspai/repair/engine.lock"]},adapters:w}}export{v as a,b,g as c,h as d,E as e,m as f,T as g,R as h,w as i,M as j};
|