artifact-contracts 0.33.2 → 0.33.3
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/cli-contract.yaml +1 -5
- package/dist/artifact-contracts.bundle.mjs +29 -21
- package/dist/artifact-contracts.bundle.mjs.map +2 -2
- package/dist/generated/contract.d.ts.map +1 -1
- package/dist/generated/contract.js +2 -2
- package/dist/generated/contract.js.map +1 -1
- package/dist/generated/policy.d.ts +1 -1
- package/dist/generated/policy.d.ts.map +1 -1
- package/dist/generated/policy.js +0 -1
- package/dist/generated/policy.js.map +1 -1
- package/dist/generated/types.d.ts +1 -1
- package/dist/generated/types.d.ts.map +1 -1
- package/docs/cli-reference.md +12 -5
- package/package.json +1 -1
package/cli-contract.yaml
CHANGED
|
@@ -235,7 +235,7 @@ command_sets:
|
|
|
235
235
|
description: LLM adapter to use
|
|
236
236
|
schema:
|
|
237
237
|
type: string
|
|
238
|
-
enum: [mock,
|
|
238
|
+
enum: [mock, openai, claude, gemini]
|
|
239
239
|
- name: model
|
|
240
240
|
description: Model name to pass to the adapter
|
|
241
241
|
- name: show-prompt
|
|
@@ -362,10 +362,6 @@ command_sets:
|
|
|
362
362
|
description: >-
|
|
363
363
|
Google Gemini API key. Required when --adapter gemini is selected.
|
|
364
364
|
required: false
|
|
365
|
-
CURSOR_API_KEY:
|
|
366
|
-
description: >-
|
|
367
|
-
Cursor API key. Required when --adapter cursor is selected.
|
|
368
|
-
required: false
|
|
369
365
|
|
|
370
366
|
components:
|
|
371
367
|
schemas:
|
|
@@ -753,7 +753,7 @@ or
|
|
|
753
753
|
---
|
|
754
754
|
|
|
755
755
|
`),r=n.user):r=e.prompt;let a=e.options.agents??e.agents,o=await this.runAgent(i,r,a,e.options.onProgress);return this.lastMemoryRef=this.nextMemoryRef(),o}getLastMemoryRef(){return this.lastMemoryRef}isCompatible(e){return e.startsWith("google-adk@")}static withSdk(e,n){let i=new rJ(n);return i.sdk=e,i}}});var aJ={};$n(aJ,{runAgentTask:()=>fwe});import{resolve as cwe}from"node:path";async function fwe(t,e,n,i){if(i.dryRun)return{taskId:e,data:null,raw:"",prompt:t,dryRun:!0,status:"success",followUpsUsed:0,retriesUsed:0};let r,a,o;try{let d=await Promise.resolve().then(()=>(GW(),ZW));r=d.runTask,a=d.loadDslContext,o=d.createProgressSink}catch{throw Object.assign(new Error(`agent-contracts-runtime is not installed. Install it to use this command, or use --dry-run to inspect the prompt.
|
|
756
|
-
npm install agent-contracts-runtime`),{exitCode:dwe})}let s=await a({embeddedDsl:sc,requiredEntities:{tasks:["audit-artifact-definitions"]}}),l=n.adapter??"mock",u;try{u=await mwe(RUNTIME_PKG,l,n)}catch(d){throw Object.assign(d,{exitCode:pwe})}let c=i.logFile?o({stderr:!0,file:cwe(i.logFile),naming:"single"}):o({stderr:!0});try{let d=await r(u,e,{user_request:t},{maxFollowUps:3,maxRetries:1,progressOutput:c,...s.registries}),p=d.outcome;return{taskId:e,data:p.status==="success"?p.data??null:null,raw:p.raw??"",status:p.status==="success"?"success":"error",errorMessage:p.status==="error"?p.message:p.status==="validation_error"?p.errors?.message:void 0,followUpsUsed:d.follow_ups_used,retriesUsed:d.retries_used}}finally{c.close()}}async function mwe(t,e,n){switch(e){case"mock":{let i=await Promise.resolve().then(()=>(WW(),KW));return new i.MockAdapter}case"openai":{let i=await Promise.resolve().then(()=>(YW(),HW));return new i.OpenAIAgentsSdkAdapter({model:n.model})}case"claude":{let i=await Promise.resolve().then(()=>(eJ(),QW));return new i.ClaudeAgentSdkAdapter({model:n.model})}case"gemini":{let i=await Promise.resolve().then(()=>(iJ(),nJ));return new i.AdkSdkAdapter({apiKey:process.env.GEMINI_API_KEY,model:n.model})}default:throw new Error(`Unknown adapter: ${e}`)}}var dwe,pwe,oJ=et(()=>{"use strict";X3();dwe=11,pwe=12});var tA=fs(eA(),1),{program:Owe,createCommand:Pwe,createArgument:Iwe,createOption:jwe,CommanderError:Nwe,InvalidArgumentError:Twe,InvalidOptionArgumentError:Bwe,Command:rA,Argument:Rwe,Option:Fwe,Help:zwe}=tA.default;var nA={low:0,medium:1,high:2,critical:3};function kre(...t){let e="low";for(let n of t)nA[n]>nA[e]&&(e=n);return e}function C6(t,e,n){return t.schema?.type==="boolean"?e===!0:t.repeatable?n&&Array.isArray(e)&&e.length>0:n&&e!=null}function iA(t){let e=new Set,n=[],i=[],r=[],a=[],o,s;if(t.command_effects){let f=t.command_effects;if(a.push(f.risk_level??"low"),f.writes){e.add("file_write");for(let m of f.writes)i.push({kind:"semantic",target:m.target,description:m.description,overwrite:m.overwrite,destructive:m.destructive,...m.idempotent!==void 0?{idempotent:m.idempotent}:{},...m.idempotency_key?{idempotency_key:m.idempotency_key}:{},...m.idempotent_note?{idempotent_note:m.idempotent_note}:{},source:`command:${t.command_id}`})}if(f.reads)for(let m of f.reads)n.push({kind:"semantic",target:m.target,description:m.description,source:`command:${t.command_id}`});f.network&&(e.add("network"),typeof f.network=="object"&&r.push({...f.network.description?{description:f.network.description}:{},...f.network.domains?{domains:f.network.domains}:{},...f.network.idempotent!==void 0?{idempotent:f.network.idempotent}:{},...f.network.idempotency_key?{idempotency_key:f.network.idempotency_key}:{},...f.network.idempotent_note?{idempotent_note:f.network.idempotent_note}:{},source:`command:${t.command_id}`})),f.execution_mode&&(o=f.execution_mode),f.requires_confirmation!==void 0&&(s=f.requires_confirmation)}for(let[f,m]of Object.entries(t.options)){let{definition:h,value:v,specified:y}=m;if(C6(h,v,y)){if(h.file){let w=typeof v=="string"?v:void 0,E=h.file.mode;(E==="read"||E==="readWrite")&&n.push({kind:"option-file",option:f,path:w,source:`option:${f}`}),(E==="write"||E==="append"||E==="readWrite")&&(e.add("file_write"),i.push({kind:"option-file",option:f,path:w,mode:E,source:`option:${f}`}))}if(h.effects){let w=h.effects;if(a.push(w.risk_level??"low"),w.writes){e.add("file_write");for(let E of w.writes)i.push({kind:"semantic",target:E.target,description:E.description,overwrite:E.overwrite,destructive:E.destructive,...E.idempotent!==void 0?{idempotent:E.idempotent}:{},...E.idempotency_key?{idempotency_key:E.idempotency_key}:{},...E.idempotent_note?{idempotent_note:E.idempotent_note}:{},source:`option:${f}`})}if(w.reads)for(let E of w.reads)n.push({kind:"semantic",target:E.target,description:E.description,source:`option:${f}`});w.network&&(e.add("network"),typeof w.network=="object"&&r.push({...w.network.description?{description:w.network.description}:{},...w.network.domains?{domains:w.network.domains}:{},...w.network.idempotent!==void 0?{idempotent:w.network.idempotent}:{},...w.network.idempotency_key?{idempotency_key:w.network.idempotency_key}:{},...w.network.idempotent_note?{idempotent_note:w.network.idempotent_note}:{},source:`option:${f}`})),w.execution_mode&&!o&&(o=w.execution_mode),w.requires_confirmation!==void 0&&s===void 0&&(s=w.requires_confirmation)}}}let l=a.length>0?kre(...a):"low",u=s??(l==="high"||l==="critical"),c;if(t.env){let f=[];for(let[m,h]of Object.entries(t.env))h.sensitive&&f.push(m);f.length>0&&(c=f)}let p=i.filter(f=>f.kind==="semantic").every(f=>f.idempotent===!0)&&r.every(f=>f.idempotent===!0);return{risk_level:l,requires_confirmation:u,idempotent:p,side_effects:[...e],reads:n,writes:i,...r.length>0?{network:r}:{},...o?{execution_mode:o}:{},...c?{requires_secrets:c}:{}}}var Are={validate:{effects:{risk_level:"low",reads:["artifact-definitions","repository-files"],execution_mode:"normal"},options:[{name:"config"},{name:"check-files",schema:{type:"boolean"}}]},resolve:{effects:{risk_level:"low",reads:["artifact-definitions"],execution_mode:"normal"},options:[{name:"config"},{name:"format",schema:{type:"string",enum:["yaml","json"]}}]},list:{effects:{risk_level:"low",reads:["artifact-definitions"],execution_mode:"normal"},options:[{name:"config"},{name:"authority",schema:{type:"string",enum:["canonical","derived","generated","control"]}},{name:"path"},{name:"format",schema:{type:"string",enum:["text","json","yaml"]}}]},explain:{effects:{risk_level:"low",reads:["artifact-definitions"],execution_mode:"normal"},options:[{name:"config"},{name:"format",schema:{type:"string",enum:["text","json","yaml"]}}]},audit:{effects:{risk_level:"medium",reads:["artifact-definitions"],writes:["audit-report"],network:{description:"LLM API calls to configured provider",idempotent:!1},execution_mode:"normal"},options:[{name:"config"},{name:"adapter",schema:{type:"string",enum:["mock","
|
|
756
|
+
npm install agent-contracts-runtime`),{exitCode:dwe})}let s=await a({embeddedDsl:sc,requiredEntities:{tasks:["audit-artifact-definitions"]}}),l=n.adapter??"mock",u;try{u=await mwe(RUNTIME_PKG,l,n)}catch(d){throw Object.assign(d,{exitCode:pwe})}let c=i.logFile?o({stderr:!0,file:cwe(i.logFile),naming:"single"}):o({stderr:!0});try{let d=await r(u,e,{user_request:t},{maxFollowUps:3,maxRetries:1,progressOutput:c,...s.registries}),p=d.outcome;return{taskId:e,data:p.status==="success"?p.data??null:null,raw:p.raw??"",status:p.status==="success"?"success":"error",errorMessage:p.status==="error"?p.message:p.status==="validation_error"?p.errors?.message:void 0,followUpsUsed:d.follow_ups_used,retriesUsed:d.retries_used}}finally{c.close()}}async function mwe(t,e,n){switch(e){case"mock":{let i=await Promise.resolve().then(()=>(WW(),KW));return new i.MockAdapter}case"openai":{let i=await Promise.resolve().then(()=>(YW(),HW));return new i.OpenAIAgentsSdkAdapter({model:n.model})}case"claude":{let i=await Promise.resolve().then(()=>(eJ(),QW));return new i.ClaudeAgentSdkAdapter({model:n.model})}case"gemini":{let i=await Promise.resolve().then(()=>(iJ(),nJ));return new i.AdkSdkAdapter({apiKey:process.env.GEMINI_API_KEY,model:n.model})}default:throw new Error(`Unknown adapter: ${e}`)}}var dwe,pwe,oJ=et(()=>{"use strict";X3();dwe=11,pwe=12});var tA=fs(eA(),1),{program:Owe,createCommand:Pwe,createArgument:Iwe,createOption:jwe,CommanderError:Nwe,InvalidArgumentError:Twe,InvalidOptionArgumentError:Bwe,Command:rA,Argument:Rwe,Option:Fwe,Help:zwe}=tA.default;var nA={low:0,medium:1,high:2,critical:3};function kre(...t){let e="low";for(let n of t)nA[n]>nA[e]&&(e=n);return e}function C6(t,e,n){return t.schema?.type==="boolean"?e===!0:t.repeatable?n&&Array.isArray(e)&&e.length>0:n&&e!=null}function iA(t){let e=new Set,n=[],i=[],r=[],a=[],o,s;if(t.command_effects){let f=t.command_effects;if(a.push(f.risk_level??"low"),f.writes){e.add("file_write");for(let m of f.writes)i.push({kind:"semantic",target:m.target,description:m.description,overwrite:m.overwrite,destructive:m.destructive,...m.idempotent!==void 0?{idempotent:m.idempotent}:{},...m.idempotency_key?{idempotency_key:m.idempotency_key}:{},...m.idempotent_note?{idempotent_note:m.idempotent_note}:{},source:`command:${t.command_id}`})}if(f.reads)for(let m of f.reads)n.push({kind:"semantic",target:m.target,description:m.description,source:`command:${t.command_id}`});f.network&&(e.add("network"),typeof f.network=="object"&&r.push({...f.network.description?{description:f.network.description}:{},...f.network.domains?{domains:f.network.domains}:{},...f.network.idempotent!==void 0?{idempotent:f.network.idempotent}:{},...f.network.idempotency_key?{idempotency_key:f.network.idempotency_key}:{},...f.network.idempotent_note?{idempotent_note:f.network.idempotent_note}:{},source:`command:${t.command_id}`})),f.execution_mode&&(o=f.execution_mode),f.requires_confirmation!==void 0&&(s=f.requires_confirmation)}for(let[f,m]of Object.entries(t.options)){let{definition:h,value:v,specified:y}=m;if(C6(h,v,y)){if(h.file){let w=typeof v=="string"?v:void 0,E=h.file.mode;(E==="read"||E==="readWrite")&&n.push({kind:"option-file",option:f,path:w,source:`option:${f}`}),(E==="write"||E==="append"||E==="readWrite")&&(e.add("file_write"),i.push({kind:"option-file",option:f,path:w,mode:E,source:`option:${f}`}))}if(h.effects){let w=h.effects;if(a.push(w.risk_level??"low"),w.writes){e.add("file_write");for(let E of w.writes)i.push({kind:"semantic",target:E.target,description:E.description,overwrite:E.overwrite,destructive:E.destructive,...E.idempotent!==void 0?{idempotent:E.idempotent}:{},...E.idempotency_key?{idempotency_key:E.idempotency_key}:{},...E.idempotent_note?{idempotent_note:E.idempotent_note}:{},source:`option:${f}`})}if(w.reads)for(let E of w.reads)n.push({kind:"semantic",target:E.target,description:E.description,source:`option:${f}`});w.network&&(e.add("network"),typeof w.network=="object"&&r.push({...w.network.description?{description:w.network.description}:{},...w.network.domains?{domains:w.network.domains}:{},...w.network.idempotent!==void 0?{idempotent:w.network.idempotent}:{},...w.network.idempotency_key?{idempotency_key:w.network.idempotency_key}:{},...w.network.idempotent_note?{idempotent_note:w.network.idempotent_note}:{},source:`option:${f}`})),w.execution_mode&&!o&&(o=w.execution_mode),w.requires_confirmation!==void 0&&s===void 0&&(s=w.requires_confirmation)}}}let l=a.length>0?kre(...a):"low",u=s??(l==="high"||l==="critical"),c;if(t.env){let f=[];for(let[m,h]of Object.entries(t.env))h.sensitive&&f.push(m);f.length>0&&(c=f)}let p=i.filter(f=>f.kind==="semantic").every(f=>f.idempotent===!0)&&r.every(f=>f.idempotent===!0);return{risk_level:l,requires_confirmation:u,idempotent:p,side_effects:[...e],reads:n,writes:i,...r.length>0?{network:r}:{},...o?{execution_mode:o}:{},...c?{requires_secrets:c}:{}}}var Are={validate:{effects:{risk_level:"low",reads:["artifact-definitions","repository-files"],execution_mode:"normal"},options:[{name:"config"},{name:"check-files",schema:{type:"boolean"}}]},resolve:{effects:{risk_level:"low",reads:["artifact-definitions"],execution_mode:"normal"},options:[{name:"config"},{name:"format",schema:{type:"string",enum:["yaml","json"]}}]},list:{effects:{risk_level:"low",reads:["artifact-definitions"],execution_mode:"normal"},options:[{name:"config"},{name:"authority",schema:{type:"string",enum:["canonical","derived","generated","control"]}},{name:"path"},{name:"format",schema:{type:"string",enum:["text","json","yaml"]}}]},explain:{effects:{risk_level:"low",reads:["artifact-definitions"],execution_mode:"normal"},options:[{name:"config"},{name:"format",schema:{type:"string",enum:["text","json","yaml"]}}]},audit:{effects:{risk_level:"medium",reads:["artifact-definitions"],writes:["audit-report"],network:{description:"LLM API calls to configured provider",idempotent:!1},execution_mode:"normal"},options:[{name:"config"},{name:"adapter",schema:{type:"string",enum:["mock","openai","claude","gemini"]}},{name:"model"},{name:"show-prompt",schema:{type:"boolean"}},{name:"dry-run",schema:{type:"boolean"}},{name:"fail-on",schema:{type:"string",enum:["info","warning","error","critical"]}},{name:"output"},{name:"report-format",schema:{type:"string",enum:["text","json","yaml"]}},{name:"log-file",schema:{type:"string"}}]},agents:{options:[{name:"format",schema:{type:"string",enum:["yaml","json"],default:"yaml"}}]}};function hu(t,e){let n=Are[t];if(!n)throw new Error(`Unknown command: ${t}`);let i=n,r={},a=[];for(let s of i.options??[]){let l=e[s.name],u=s.name in e&&l!==void 0;r[s.name]={value:l,specified:u,definition:s},C6(s,l,u)&&a.push(s.name)}let o=iA({command_id:t,command_effects:i.effects,options:r,env:i.env});return{command:t,active_options:a,policy:o}}var aA=`# yaml-language-server: $schema=./node_modules/cli-contracts/schemas/cli-contract.schema.json
|
|
757
757
|
cli_contracts: 0.1.0
|
|
758
758
|
|
|
759
759
|
info:
|
|
@@ -990,7 +990,7 @@ command_sets:
|
|
|
990
990
|
description: LLM adapter to use
|
|
991
991
|
schema:
|
|
992
992
|
type: string
|
|
993
|
-
enum: [mock,
|
|
993
|
+
enum: [mock, openai, claude, gemini]
|
|
994
994
|
- name: model
|
|
995
995
|
description: Model name to pass to the adapter
|
|
996
996
|
- name: show-prompt
|
|
@@ -1044,10 +1044,18 @@ command_sets:
|
|
|
1044
1044
|
Structured audit result conforming to the AgentAuditResult
|
|
1045
1045
|
schema. Format varies by --report-format (json, yaml, text).
|
|
1046
1046
|
x-agent:
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1047
|
+
dslTask: audit-artifact-definitions
|
|
1048
|
+
riskLevel: low
|
|
1049
|
+
requiresConfirmation: false
|
|
1050
|
+
idempotent: true
|
|
1051
|
+
sideEffects: [network]
|
|
1052
|
+
sideEffectNote: >-
|
|
1053
|
+
Makes network calls to the configured LLM provider when adapter is
|
|
1054
|
+
not mock. Filesystem write only when --output is specified.
|
|
1055
|
+
safeDryRunOption: show-prompt
|
|
1056
|
+
expectedDurationMs: 120000
|
|
1057
|
+
retryableExitCodes: [1, 12]
|
|
1058
|
+
recommendedBeforeUse:
|
|
1051
1059
|
- "Run with --show-prompt first to preview the prompt"
|
|
1052
1060
|
exits:
|
|
1053
1061
|
"0":
|
|
@@ -1109,10 +1117,6 @@ command_sets:
|
|
|
1109
1117
|
description: >-
|
|
1110
1118
|
Google Gemini API key. Required when --adapter gemini is selected.
|
|
1111
1119
|
required: false
|
|
1112
|
-
CURSOR_API_KEY:
|
|
1113
|
-
description: >-
|
|
1114
|
-
Cursor API key. Required when --adapter cursor is selected.
|
|
1115
|
-
required: false
|
|
1116
1120
|
|
|
1117
1121
|
components:
|
|
1118
1122
|
schemas:
|
|
@@ -1623,7 +1627,6 @@ components:
|
|
|
1623
1627
|
"type": "string",
|
|
1624
1628
|
"enum": [
|
|
1625
1629
|
"mock",
|
|
1626
|
-
"cursor",
|
|
1627
1630
|
"openai",
|
|
1628
1631
|
"claude",
|
|
1629
1632
|
"gemini"
|
|
@@ -1716,12 +1719,21 @@ components:
|
|
|
1716
1719
|
"description": "Structured audit result conforming to the AgentAuditResult schema. Format varies by --report-format (json, yaml, text)."
|
|
1717
1720
|
},
|
|
1718
1721
|
"x-agent": {
|
|
1719
|
-
"
|
|
1720
|
-
"
|
|
1721
|
-
"
|
|
1722
|
-
|
|
1722
|
+
"dslTask": "audit-artifact-definitions",
|
|
1723
|
+
"riskLevel": "low",
|
|
1724
|
+
"requiresConfirmation": false,
|
|
1725
|
+
"idempotent": true,
|
|
1726
|
+
"sideEffects": [
|
|
1727
|
+
"network"
|
|
1728
|
+
],
|
|
1729
|
+
"sideEffectNote": "Makes network calls to the configured LLM provider when adapter is not mock. Filesystem write only when --output is specified.",
|
|
1730
|
+
"safeDryRunOption": "show-prompt",
|
|
1731
|
+
"expectedDurationMs": 120000,
|
|
1732
|
+
"retryableExitCodes": [
|
|
1733
|
+
1,
|
|
1734
|
+
12
|
|
1723
1735
|
],
|
|
1724
|
-
"
|
|
1736
|
+
"recommendedBeforeUse": [
|
|
1725
1737
|
"Run with --show-prompt first to preview the prompt"
|
|
1726
1738
|
]
|
|
1727
1739
|
},
|
|
@@ -1800,10 +1812,6 @@ components:
|
|
|
1800
1812
|
"GEMINI_API_KEY": {
|
|
1801
1813
|
"description": "Google Gemini API key. Required when --adapter gemini is selected.",
|
|
1802
1814
|
"required": false
|
|
1803
|
-
},
|
|
1804
|
-
"CURSOR_API_KEY": {
|
|
1805
|
-
"description": "Cursor API key. Required when --adapter cursor is selected.",
|
|
1806
|
-
"required": false
|
|
1807
1815
|
}
|
|
1808
1816
|
}
|
|
1809
1817
|
}
|
|
@@ -2214,7 +2222,7 @@ components:
|
|
|
2214
2222
|
`),process.exit(sJ)),c===uJ&&(process.stderr.write(`Adapter error: ${u.message}
|
|
2215
2223
|
`),process.exit(uJ)),u}let o=t.reportFormat??"text",s=ywe(a,o);t.output?(hwe(t.output,s,"utf-8"),process.stderr.write(`Report written to ${t.output}
|
|
2216
2224
|
`)):console.log(s);let l=_we(a,t.failOn??"error");l!==0&&process.exit(l)}function vwe(t){let e=["# Artifact Definitions Audit","",`## System: ${t.system.id}`,t.system.name?`Name: ${t.system.name}`:"","",`## Artifacts (${Object.keys(t.artifacts).length} total)`,""];for(let[n,i]of Object.entries(t.artifacts))e.push(`### ${n}`),e.push(`- type: ${i.type}`),e.push(`- authority: ${i.authority}`),e.push(`- manual_edit: ${i.manual_edit}`),e.push(`- change_control: ${i.change_control}`),e.push(`- path_patterns: ${i.path_patterns.join(", ")}`),i.exclude_patterns?.length&&e.push(`- exclude_patterns: ${i.exclude_patterns.join(", ")}`),i.description&&e.push(`- description: ${i.description}`),e.push("");return e.push("## Instructions"),e.push(""),e.push("Analyze these artifact definitions for:"),e.push("1. Naming consistency (kebab-case, descriptive IDs)"),e.push("2. Authority appropriateness for each artifact type"),e.push("3. Missing common file types that should be tracked"),e.push("4. Potential path_patterns overlaps or gaps"),e.push("5. Appropriate manual_edit / change_control settings"),e.push(""),e.filter(n=>n!==void 0).join(`
|
|
2217
|
-
`)}function ywe(t,e){if(t.status==="error"){let n=t.errorMessage??"Unknown error";return e==="json"?JSON.stringify({error:n},null,2):e==="yaml"?(0,I$.stringify)({error:n}):`Error: ${n}`}return e==="json"?JSON.stringify(t.data??t.raw,null,2):e==="yaml"?(0,I$.stringify)(t.data??t.raw):t.raw||JSON.stringify(t.data,null,2)}function _we(t,e){if(t.status!=="success")return 1;let n=t.data;if(!n?.findings)return 0;let i=["info","warning","error","critical"],r=i.indexOf(e);return r<0?0:n.findings.some(o=>i.indexOf(o.severity)>=r)?gwe:0}var yPe=It.object({system_id:It.string(),artifact_count:It.number().int(),definitions_context:It.string()}),_Pe=It.object({summary:It.string(),risk_level:It.enum(["none","low","medium","high","critical"]),findings:It.array(It.object({id:It.string(),severity:It.enum(["critical","error","warning","info"]),category:It.string(),title:It.string(),description:It.string(),target:It.string().optional(),recommendation:It.string().optional(),evidence:It.array(It.object({kind:It.enum(["schema","code","config","runtime","doc"]),target:It.string().optional(),location:It.string().optional(),excerpt:It.string().optional(),reasoning:It.string().optional()})).optional()})),recommended_actions:It.array(It.object({action:It.string(),priority:It.enum(["high","medium","low"]),description:It.string().optional()})),metadata:It.object({total_artifacts:It.number().int().optional(),analyzed_artifacts:It.number().int().optional(),analysis_scope:It.string().optional()}).optional()});X3();var bwe={version:"0.33.
|
|
2225
|
+
`)}function ywe(t,e){if(t.status==="error"){let n=t.errorMessage??"Unknown error";return e==="json"?JSON.stringify({error:n},null,2):e==="yaml"?(0,I$.stringify)({error:n}):`Error: ${n}`}return e==="json"?JSON.stringify(t.data??t.raw,null,2):e==="yaml"?(0,I$.stringify)(t.data??t.raw):t.raw||JSON.stringify(t.data,null,2)}function _we(t,e){if(t.status!=="success")return 1;let n=t.data;if(!n?.findings)return 0;let i=["info","warning","error","critical"],r=i.indexOf(e);return r<0?0:n.findings.some(o=>i.indexOf(o.severity)>=r)?gwe:0}var yPe=It.object({system_id:It.string(),artifact_count:It.number().int(),definitions_context:It.string()}),_Pe=It.object({summary:It.string(),risk_level:It.enum(["none","low","medium","high","critical"]),findings:It.array(It.object({id:It.string(),severity:It.enum(["critical","error","warning","info"]),category:It.string(),title:It.string(),description:It.string(),target:It.string().optional(),recommendation:It.string().optional(),evidence:It.array(It.object({kind:It.enum(["schema","code","config","runtime","doc"]),target:It.string().optional(),location:It.string().optional(),excerpt:It.string().optional(),reasoning:It.string().optional()})).optional()})),recommended_actions:It.array(It.object({action:It.string(),priority:It.enum(["high","medium","low"]),description:It.string().optional()})),metadata:It.object({total_artifacts:It.number().int().optional(),analyzed_artifacts:It.number().int().optional(),analysis_scope:It.string().optional()}).optional()});X3();var bwe={version:"0.33.3"},wwe={validate:async t=>{await _P(t)},resolve:async t=>{await wP(t)},list:async t=>{await SP(t)},explain:async(t,e)=>{t||(console.error("Error: <path> argument is required"),process.exit(1)),await xP(t,e)},audit:async t=>{await lJ(t)},agents:async t=>{let e=await Promise.resolve().then(()=>fs(Ds(),1)),n=t.format??"yaml";try{console.log(n==="json"?JSON.stringify(sc,null,2):e.stringify(sc,{lineWidth:120}))}catch(i){console.error(`Failed to output DSL: ${i.message}`),process.exit(1)}}};sA(wwe,bwe.version).parse();
|
|
2218
2226
|
/*! Bundled license information:
|
|
2219
2227
|
|
|
2220
2228
|
agent-contracts/dist/index.js:
|