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 CHANGED
@@ -235,7 +235,7 @@ command_sets:
235
235
  description: LLM adapter to use
236
236
  schema:
237
237
  type: string
238
- enum: [mock, cursor, openai, claude, gemini]
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","cursor","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
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, cursor, openai, claude, gemini]
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
- dsl_task: audit-artifact-definitions
1048
- expected_duration_ms: 120000
1049
- retryable_exit_codes: [1]
1050
- recommended_before_use:
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
- "dsl_task": "audit-artifact-definitions",
1720
- "expected_duration_ms": 120000,
1721
- "retryable_exit_codes": [
1722
- 1
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
- "recommended_before_use": [
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.2"},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();
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: