artifact-contracts 0.32.1 → 0.33.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/README.md +9 -0
- package/cli-contract.yaml +39 -0
- 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 +631 -247
- 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/cli/index.js +17 -0
- package/dist/cli/index.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/dsl-data.d.ts +7 -0
- package/dist/generated/dsl/dsl-data.d.ts.map +1 -0
- package/dist/generated/dsl/dsl-data.js +542 -0
- package/dist/generated/dsl/dsl-data.js.map +1 -0
- package/dist/generated/dsl/handoffs.d.ts +16 -16
- package/dist/generated/dsl/index.d.ts +1 -0
- package/dist/generated/dsl/index.d.ts.map +1 -1
- package/dist/generated/dsl/index.js +1 -0
- package/dist/generated/dsl/index.js.map +1 -1
- package/dist/generated/policy.d.ts +15 -0
- package/dist/generated/policy.d.ts.map +1 -1
- package/dist/generated/policy.js +21 -0
- package/dist/generated/policy.js.map +1 -1
- package/dist/generated/program.d.ts +4 -0
- package/dist/generated/program.d.ts.map +1 -1
- package/dist/generated/program.js +16 -2
- package/dist/generated/program.js.map +1 -1
- package/dist/generated/schemas.d.ts +1 -0
- package/dist/generated/schemas.d.ts.map +1 -1
- package/dist/generated/schemas.js +1 -0
- package/dist/generated/schemas.js.map +1 -1
- package/dist/generated/types.d.ts +12 -0
- package/dist/generated/types.d.ts.map +1 -1
- package/docs/cli-reference.md +45 -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,6 +289,7 @@ 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:
|
|
292
|
+
dsl_task: audit-artifact-definitions
|
|
287
293
|
expected_duration_ms: 120000
|
|
288
294
|
retryable_exit_codes: [1]
|
|
289
295
|
recommended_before_use:
|
|
@@ -302,6 +308,39 @@ command_sets:
|
|
|
302
308
|
"12":
|
|
303
309
|
description: Adapter initialization error (missing API key, etc.)
|
|
304
310
|
|
|
311
|
+
# ── agents ──────────────────────────────────────────
|
|
312
|
+
agents:
|
|
313
|
+
summary: Output the full resolved agent DSL as structured data.
|
|
314
|
+
description: >-
|
|
315
|
+
Outputs the complete resolved agent-contracts DSL (agents, tasks,
|
|
316
|
+
workflows, handoff_types) embedded in this CLI binary.
|
|
317
|
+
Useful for debugging, external tooling integration, and DSL
|
|
318
|
+
inspection.
|
|
319
|
+
options:
|
|
320
|
+
- name: format
|
|
321
|
+
aliases: [F]
|
|
322
|
+
description: Output format.
|
|
323
|
+
schema:
|
|
324
|
+
type: string
|
|
325
|
+
enum: [yaml, json]
|
|
326
|
+
default: yaml
|
|
327
|
+
|
|
328
|
+
exits:
|
|
329
|
+
'0':
|
|
330
|
+
description: DSL output successfully.
|
|
331
|
+
stdout:
|
|
332
|
+
format: text
|
|
333
|
+
'1':
|
|
334
|
+
description: Failed to load embedded DSL.
|
|
335
|
+
stderr:
|
|
336
|
+
format: text
|
|
337
|
+
|
|
338
|
+
x-agent:
|
|
339
|
+
riskLevel: low
|
|
340
|
+
requiresConfirmation: false
|
|
341
|
+
idempotent: true
|
|
342
|
+
sideEffects: []
|
|
343
|
+
|
|
305
344
|
env:
|
|
306
345
|
OPENAI_API_KEY:
|
|
307
346
|
description: >-
|
|
@@ -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"}
|