artifact-contracts 0.32.2 → 0.33.1
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 +9 -0
- package/cli-contract.yaml +17 -3
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +43 -37
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/agents/types.d.ts +1 -0
- package/dist/agents/types.d.ts.map +1 -1
- package/dist/artifact-contracts.bundle.mjs +234 -213
- package/dist/artifact-contracts.bundle.mjs.map +4 -4
- package/dist/cli/audit.d.ts +1 -0
- package/dist/cli/audit.d.ts.map +1 -1
- package/dist/cli/audit.js +1 -0
- package/dist/cli/audit.js.map +1 -1
- 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/dsl/handoffs.d.ts +16 -16
- package/dist/generated/policy.d.ts +5 -0
- package/dist/generated/policy.d.ts.map +1 -1
- package/dist/generated/policy.js +6 -0
- package/dist/generated/policy.js.map +1 -1
- package/dist/generated/program.d.ts +1 -0
- package/dist/generated/program.d.ts.map +1 -1
- package/dist/generated/program.js +1 -0
- package/dist/generated/program.js.map +1 -1
- package/dist/generated/types.d.ts +1 -0
- package/dist/generated/types.d.ts.map +1 -1
- package/docs/cli-reference.md +3 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -184,6 +184,15 @@ npx artifact-contracts audit --adapter openai
|
|
|
184
184
|
npx artifact-contracts audit --show-prompt
|
|
185
185
|
```
|
|
186
186
|
|
|
187
|
+
### Utility Commands
|
|
188
|
+
|
|
189
|
+
| Command | Description |
|
|
190
|
+
|---------|-------------|
|
|
191
|
+
| `artifact-contracts extract [--all] [commands...]` | Extract embedded CLI contract specification |
|
|
192
|
+
| `artifact-contracts agents [--format json\|yaml]` | Output resolved agent-contracts DSL |
|
|
193
|
+
|
|
194
|
+
All LLM commands support `--log-file <path>` (`-l`) to write structured progress logs.
|
|
195
|
+
|
|
187
196
|
### Exit Codes
|
|
188
197
|
|
|
189
198
|
| Code | Meaning |
|
package/cli-contract.yaml
CHANGED
|
@@ -267,6 +267,11 @@ command_sets:
|
|
|
267
267
|
schema:
|
|
268
268
|
type: string
|
|
269
269
|
enum: [text, json, yaml]
|
|
270
|
+
- name: log-file
|
|
271
|
+
aliases: [l]
|
|
272
|
+
description: Write agent progress log to this file path.
|
|
273
|
+
schema:
|
|
274
|
+
type: string
|
|
270
275
|
effects:
|
|
271
276
|
risk_level: medium
|
|
272
277
|
reads:
|
|
@@ -284,9 +289,18 @@ command_sets:
|
|
|
284
289
|
Structured audit result conforming to the AgentAuditResult
|
|
285
290
|
schema. Format varies by --report-format (json, yaml, text).
|
|
286
291
|
x-agent:
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
292
|
+
dslTask: audit-artifact-definitions
|
|
293
|
+
riskLevel: low
|
|
294
|
+
requiresConfirmation: false
|
|
295
|
+
idempotent: true
|
|
296
|
+
sideEffects: [network]
|
|
297
|
+
sideEffectNote: >-
|
|
298
|
+
Makes network calls to the configured LLM provider when adapter is
|
|
299
|
+
not mock. Filesystem write only when --output is specified.
|
|
300
|
+
safeDryRunOption: show-prompt
|
|
301
|
+
expectedDurationMs: 120000
|
|
302
|
+
retryableExitCodes: [1, 12]
|
|
303
|
+
recommendedBeforeUse:
|
|
290
304
|
- "Run with --show-prompt first to preview the prompt"
|
|
291
305
|
exits:
|
|
292
306
|
"0":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAKpF,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,cAAc,CAAC,CAoFzB"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { resolve } from "node:path";
|
|
2
|
+
import { resolvedDsl } from "../generated/dsl/dsl-data.js";
|
|
1
3
|
const EXIT_RUNTIME_MISSING = 11;
|
|
2
4
|
const EXIT_ADAPTER_ERROR = 12;
|
|
3
5
|
export async function runAgentTask(userRequest, taskId, auditConfig, options) {
|
|
@@ -14,30 +16,27 @@ export async function runAgentTask(userRequest, taskId, auditConfig, options) {
|
|
|
14
16
|
};
|
|
15
17
|
}
|
|
16
18
|
const RUNTIME_PKG = ["agent-contracts", "runtime"].join("-");
|
|
19
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
20
|
let runTask;
|
|
18
|
-
|
|
19
|
-
let
|
|
20
|
-
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
|
+
let loadDslContext;
|
|
23
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
24
|
+
let createProgressSink;
|
|
21
25
|
try {
|
|
22
26
|
const runtime = await import(RUNTIME_PKG);
|
|
23
27
|
runTask = runtime.runTask;
|
|
28
|
+
loadDslContext = runtime.loadDslContext;
|
|
29
|
+
createProgressSink = runtime.createProgressSink;
|
|
24
30
|
}
|
|
25
31
|
catch {
|
|
26
32
|
throw Object.assign(new Error("agent-contracts-runtime is not installed. " +
|
|
27
33
|
"Install it to use this command, or use --dry-run to inspect the prompt.\n" +
|
|
28
34
|
" npm install agent-contracts-runtime"), { exitCode: EXIT_RUNTIME_MISSING });
|
|
29
35
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
handoffSchemas = dsl.handoffSchemas;
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
agentRegistry = {};
|
|
38
|
-
taskRegistry = {};
|
|
39
|
-
handoffSchemas = {};
|
|
40
|
-
}
|
|
36
|
+
const ctx = await loadDslContext({
|
|
37
|
+
embeddedDsl: resolvedDsl,
|
|
38
|
+
requiredEntities: { tasks: ["audit-artifact-definitions"] },
|
|
39
|
+
});
|
|
41
40
|
const adapterName = auditConfig.adapter ?? "mock";
|
|
42
41
|
let adapter;
|
|
43
42
|
try {
|
|
@@ -46,29 +45,36 @@ export async function runAgentTask(userRequest, taskId, auditConfig, options) {
|
|
|
46
45
|
catch (err) {
|
|
47
46
|
throw Object.assign(err, { exitCode: EXIT_ADAPTER_ERROR });
|
|
48
47
|
}
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
: outcome.status === "
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
48
|
+
const progressSink = options.logFile
|
|
49
|
+
? createProgressSink({ stderr: true, file: resolve(options.logFile), naming: "single" })
|
|
50
|
+
: createProgressSink({ stderr: true });
|
|
51
|
+
try {
|
|
52
|
+
const result = await runTask(adapter, taskId, {
|
|
53
|
+
user_request: userRequest,
|
|
54
|
+
}, {
|
|
55
|
+
maxFollowUps: 3,
|
|
56
|
+
maxRetries: 1,
|
|
57
|
+
progressOutput: progressSink,
|
|
58
|
+
...ctx.registries,
|
|
59
|
+
});
|
|
60
|
+
const outcome = result.outcome;
|
|
61
|
+
return {
|
|
62
|
+
taskId,
|
|
63
|
+
data: outcome.status === "success" ? (outcome.data ?? null) : null,
|
|
64
|
+
raw: outcome.raw ?? "",
|
|
65
|
+
status: outcome.status === "success" ? "success" : "error",
|
|
66
|
+
errorMessage: outcome.status === "error"
|
|
67
|
+
? outcome.message
|
|
68
|
+
: outcome.status === "validation_error"
|
|
69
|
+
? outcome.errors?.message
|
|
70
|
+
: undefined,
|
|
71
|
+
followUpsUsed: result.follow_ups_used,
|
|
72
|
+
retriesUsed: result.retries_used,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
progressSink.close();
|
|
77
|
+
}
|
|
72
78
|
}
|
|
73
79
|
async function createAdapter(runtimePkg, name, config) {
|
|
74
80
|
switch (name) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/agents/orchestrator.ts"],"names":[],"mappings":"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"}
|
package/dist/agents/types.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,MAAM,GAAG,4BAA4B,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|