@ai-dossier/cli 0.11.0 → 0.13.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 +59 -0
- package/dist/commands/history.d.ts.map +1 -1
- package/dist/commands/history.js +42 -33
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +178 -90
- package/dist/commands/run.js.map +1 -1
- package/dist/duration.d.ts +6 -0
- package/dist/duration.d.ts.map +1 -1
- package/dist/duration.js +13 -0
- package/dist/duration.js.map +1 -1
- package/dist/helpers.d.ts +68 -2
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +222 -15
- package/dist/helpers.js.map +1 -1
- package/dist/run-log.d.ts +25 -0
- package/dist/run-log.d.ts.map +1 -1
- package/dist/run-log.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -152,6 +152,26 @@ safe-run-dossier https://example.com/dossier.ds.md claude-code
|
|
|
152
152
|
safe-run-dossier https://example.com/dossier.ds.md cursor
|
|
153
153
|
```
|
|
154
154
|
|
|
155
|
+
## Running Dossiers (`run`)
|
|
156
|
+
|
|
157
|
+
`ai-dossier run <file|url|registry-name>` verifies a dossier and executes it with a spawned agent CLI.
|
|
158
|
+
|
|
159
|
+
### Agent selection (`--llm`)
|
|
160
|
+
|
|
161
|
+
Accepted values: `claude-code`, `opencode`, `auto` (default). Auto-detection tries `claude` first, then `opencode`, then fails with install hints — machines with only Claude Code installed keep their existing behavior. The default agent is also configurable: `dossier config defaultLlm <claude-code|opencode|auto>`.
|
|
162
|
+
|
|
163
|
+
| Flag | claude-code | opencode |
|
|
164
|
+
|---|---|---|
|
|
165
|
+
| `--model` | `--model` | `--model` |
|
|
166
|
+
| `--budget` | `--max-budget-usd` (headless only) | no equivalent — warned and ignored |
|
|
167
|
+
| `--permission-mode` | `--permission-mode` (headless only) | no equivalent — configure permissions in `opencode.json` |
|
|
168
|
+
| `--allowed-tools` | `--allowedTools` (headless only) | no equivalent — configure tool access in `opencode.json` |
|
|
169
|
+
|
|
170
|
+
Unsupported flag combinations print a clear per-flag warning; they are never silently dropped.
|
|
171
|
+
|
|
172
|
+
- **Headless** (`--headless`): `claude -p --output-format json` or `opencode run --format json`, dossier content piped via stdin. Usage (tokens/cost) is mined from the captured output and recorded in the run log.
|
|
173
|
+
- **Interactive**: `claude <file>` or `opencode run -i -- <prompt>` (a seeded session; the `--` separator keeps the `---` frontmatter from being parsed as flags). Prefer `--headless` for large dossiers — interactive opencode passes the prompt as one argv element (~128KB OS limit).
|
|
174
|
+
|
|
155
175
|
---
|
|
156
176
|
|
|
157
177
|
## Registry Commands
|
|
@@ -627,6 +647,44 @@ the selection could be read.
|
|
|
627
647
|
|
|
628
648
|
---
|
|
629
649
|
|
|
650
|
+
## Run History (`history`)
|
|
651
|
+
|
|
652
|
+
Every `ai-dossier run` appends one JSON line to `~/.dossier/runs.jsonl` (append-only; disable with `dossier config auditLog false`).
|
|
653
|
+
|
|
654
|
+
```bash
|
|
655
|
+
ai-dossier history # last 20 runs
|
|
656
|
+
ai-dossier history --limit 50
|
|
657
|
+
ai-dossier history --dossier org/my-dossier
|
|
658
|
+
ai-dossier history --json # raw entries, machine-readable
|
|
659
|
+
ai-dossier history --clear --yes # wipe the log
|
|
660
|
+
```
|
|
661
|
+
|
|
662
|
+
Columns: TIMESTAMP, DOSSIER, VERSION, SOURCE, VERIFIED, DURATION, TOKENS(in/out), COST — auto-sized to the widest cell. Entries written before v0.12.0 lack the cost/observability fields and render `-`.
|
|
663
|
+
|
|
664
|
+
Headless runs execute `claude -p --output-format json` (claude-code) or `opencode run --format json` with the dossier piped via stdin (opencode); the CLI captures stdout (32MB cap) to extract token/cost usage and prints the agent's final result text once the run completes — output is not streamed live. When the output cannot be parsed as the agent's expected result (a claude JSON result / an opencode JSONL event stream), a stderr warning says so, usage fields are recorded as `null`, and the raw stdout is re-emitted.
|
|
665
|
+
|
|
666
|
+
### runs.jsonl schema
|
|
667
|
+
|
|
668
|
+
| Field | Meaning |
|
|
669
|
+
|---|---|
|
|
670
|
+
| `timestamp` | ISO-8601 entry write time |
|
|
671
|
+
| `dossier` | Argument as given (file, URL, or registry name) |
|
|
672
|
+
| `resolved_version` | Resolved version (`unknown` for local files) |
|
|
673
|
+
| `source` | `cache` \| `registry` \| `local` \| `url` |
|
|
674
|
+
| `registry`, `resolution_source` | Registry that served content; how the version was resolved (`pinned`/`registry`/`cache`/`stale-cache`) — registry sources only |
|
|
675
|
+
| `verification` | `passed` \| `failed` \| `skipped` \| `nested-skip` |
|
|
676
|
+
| `llm`, `user`, `cwd`, `nested` | For runs that spawned an agent, the resolved agent CLI (`claude-code`/`opencode`, never the raw `auto` — v0.13.0+); otherwise the `--llm` option in effect. Plus who/where ran it; whether inside an agent host |
|
|
677
|
+
| `duration_ms` | Wall-clock ms, action start → entry write (v0.12.0+) |
|
|
678
|
+
| `spawned_command` | Exact agent command spawned (binary + args); prompt excluded — headless prompts travel over stdin, and opencode interactive runs log a redacted form (v0.12.0+; redaction v0.13.0+) |
|
|
679
|
+
| `model` | Model reported by the agent CLI (comma-joined when several ran), else the `--model` alias; null when unknown (v0.12.0+) |
|
|
680
|
+
| `exit_code` | Spawned agent's exit code, or the CLI action's for early exits; null when killed by a signal (v0.12.0+) |
|
|
681
|
+
| `spawn_error` | Why there is no exit code: spawn error (e.g. ENOENT) or signal. Null when the process exited normally (v0.12.0+) |
|
|
682
|
+
| `input_tokens`, `output_tokens`, `total_cost_usd` | Usage reported by the agent (claude JSON result / opencode JSONL event stream, headless only); null when not reported — never fabricated (v0.12.0+) |
|
|
683
|
+
|
|
684
|
+
Pre-v0.12.0 entries simply lack the v0.12.0+ fields; consumers must treat them as optional/nullable.
|
|
685
|
+
|
|
686
|
+
---
|
|
687
|
+
|
|
630
688
|
## Cache and Version Resolution
|
|
631
689
|
|
|
632
690
|
The CLI maintains a local cache at `~/.dossier/cache/`:
|
|
@@ -755,6 +813,7 @@ dossier config defaultLlm
|
|
|
755
813
|
|
|
756
814
|
# Set a setting
|
|
757
815
|
dossier config defaultLlm claude-code
|
|
816
|
+
dossier config defaultLlm opencode # accepted values: claude-code, opencode, auto
|
|
758
817
|
|
|
759
818
|
# Reset to defaults (preserves registry settings)
|
|
760
819
|
dossier config --reset
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiF7D"}
|
package/dist/commands/history.js
CHANGED
|
@@ -4,7 +4,21 @@
|
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.registerHistoryCommand = registerHistoryCommand;
|
|
7
|
+
const duration_1 = require("../duration");
|
|
7
8
|
const run_log_1 = require("../run-log");
|
|
9
|
+
const table_1 = require("../table");
|
|
10
|
+
/** Cost display precision: agent-run costs are small, so keep four decimals. */
|
|
11
|
+
const COST_DECIMALS = 4;
|
|
12
|
+
const isCount = (value) => typeof value === 'number' && Number.isFinite(value);
|
|
13
|
+
/** Token cell as "in/out"; '-' when neither side was reported (old entries). */
|
|
14
|
+
function formatTokens(input, output) {
|
|
15
|
+
if (!isCount(input) && !isCount(output))
|
|
16
|
+
return '-';
|
|
17
|
+
return `${isCount(input) ? input : '-'}/${isCount(output) ? output : '-'}`;
|
|
18
|
+
}
|
|
19
|
+
function formatCost(usd) {
|
|
20
|
+
return isCount(usd) ? `$${usd.toFixed(COST_DECIMALS)}` : '-';
|
|
21
|
+
}
|
|
8
22
|
function registerHistoryCommand(program) {
|
|
9
23
|
program
|
|
10
24
|
.command('history')
|
|
@@ -36,42 +50,37 @@ function registerHistoryCommand(program) {
|
|
|
36
50
|
console.log(JSON.stringify(entries, null, 2));
|
|
37
51
|
process.exit(0);
|
|
38
52
|
}
|
|
39
|
-
// Table output
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
'
|
|
47
|
-
'
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
console.log('─'.repeat(header.length));
|
|
54
|
-
for (const entry of entries) {
|
|
55
|
-
const ts = entry.timestamp
|
|
53
|
+
// Table output — columns auto-size to the widest cell, so long token
|
|
54
|
+
// counts widen the column instead of being silently truncated.
|
|
55
|
+
const headers = [
|
|
56
|
+
'TIMESTAMP',
|
|
57
|
+
'DOSSIER',
|
|
58
|
+
'VERSION',
|
|
59
|
+
'SOURCE',
|
|
60
|
+
'VERIFIED',
|
|
61
|
+
'DURATION',
|
|
62
|
+
'TOKENS(in/out)',
|
|
63
|
+
'COST',
|
|
64
|
+
];
|
|
65
|
+
const rows = entries.map((entry) => [
|
|
66
|
+
entry.timestamp
|
|
56
67
|
.replace('T', ' ')
|
|
57
68
|
.replace(/\.\d+Z$/, '')
|
|
58
|
-
.slice(0, 19)
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
].join(' ');
|
|
72
|
-
console.log(line);
|
|
69
|
+
.slice(0, 19),
|
|
70
|
+
entry.dossier,
|
|
71
|
+
entry.resolved_version,
|
|
72
|
+
entry.source,
|
|
73
|
+
entry.verification,
|
|
74
|
+
(0, duration_1.formatDurationMs)(entry.duration_ms),
|
|
75
|
+
formatTokens(entry.input_tokens, entry.output_tokens),
|
|
76
|
+
formatCost(entry.total_cost_usd),
|
|
77
|
+
]);
|
|
78
|
+
console.log((0, table_1.renderTable)(headers, rows, { separator: true }));
|
|
79
|
+
// Deprecated pre-#401 field: surface it after the table rather than
|
|
80
|
+
// interleaving, keyed by the row's timestamp.
|
|
81
|
+
for (const entry of entries) {
|
|
73
82
|
if (entry.update_available) {
|
|
74
|
-
console.log(` ↑ update available: ${entry.update_available}`);
|
|
83
|
+
console.log(` ↑ ${entry.timestamp}: update available: ${entry.update_available}`);
|
|
75
84
|
}
|
|
76
85
|
}
|
|
77
86
|
process.exit(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../src/commands/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgCzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwfzD"}
|
package/dist/commands/run.js
CHANGED
|
@@ -48,17 +48,23 @@ const helpers_1 = require("../helpers");
|
|
|
48
48
|
const multi_registry_1 = require("../multi-registry");
|
|
49
49
|
const registry_client_1 = require("../registry-client");
|
|
50
50
|
const run_log_1 = require("../run-log");
|
|
51
|
+
/**
|
|
52
|
+
* spawnSync's default 1MB maxBuffer kills a headless child whose JSON result
|
|
53
|
+
* exceeds it (claude emits the whole result as one blob), so give captured
|
|
54
|
+
* headless stdout a generous, still-bounded cap.
|
|
55
|
+
*/
|
|
56
|
+
const HEADLESS_MAX_BUFFER_BYTES = 32 * 1024 * 1024;
|
|
51
57
|
function registerRunCommand(program) {
|
|
52
58
|
program
|
|
53
59
|
.command('run')
|
|
54
60
|
.description('Verify, audit, and execute dossier. Registry names are resolved across all configured registries.')
|
|
55
61
|
.argument('<file>', 'Dossier file, URL, or registry name to run')
|
|
56
|
-
.option('--llm <name>', 'LLM to use (claude-code, auto)')
|
|
62
|
+
.option('--llm <name>', 'LLM to use (claude-code, opencode, auto)')
|
|
57
63
|
.option('--headless', 'Run in headless mode (non-interactive, for CI/CD)')
|
|
58
|
-
.option('--model <name>', 'Model alias/name (forwarded to claude --model)')
|
|
59
|
-
.option('--budget <usd>', 'Max USD budget (headless only;
|
|
60
|
-
.option('--permission-mode <mode>', 'Permission mode (headless only;
|
|
61
|
-
.option('--allowed-tools <list>', 'Comma- or space-separated allowed tools (headless only;
|
|
64
|
+
.option('--model <name>', 'Model alias/name (forwarded to claude --model / opencode --model)')
|
|
65
|
+
.option('--budget <usd>', 'Max USD budget (headless only; claude only — opencode has no equivalent)', parseFloat)
|
|
66
|
+
.option('--permission-mode <mode>', 'Permission mode (headless only; claude only — opencode permissions live in opencode.json)')
|
|
67
|
+
.option('--allowed-tools <list>', 'Comma- or space-separated allowed tools (headless only; claude only — opencode tool access lives in opencode.json)')
|
|
62
68
|
.option('--dry-run', 'Show plan without executing')
|
|
63
69
|
.option('--force', 'Skip risk warnings')
|
|
64
70
|
.option('--no-prompt', "Don't ask for confirmation")
|
|
@@ -76,6 +82,16 @@ function registerRunCommand(program) {
|
|
|
76
82
|
const log = isNested
|
|
77
83
|
? (...args) => console.error(...args)
|
|
78
84
|
: (...args) => console.log(...args);
|
|
85
|
+
// Wall-clock start for the run-log duration field (#458): from action
|
|
86
|
+
// entry (fetch/resolve/verify included) to the entry write.
|
|
87
|
+
const startTime = Date.now();
|
|
88
|
+
const llmOption = options.llm || config.getConfig('defaultLlm') || 'auto';
|
|
89
|
+
const passthrough = {
|
|
90
|
+
model: options.model,
|
|
91
|
+
budget: options.budget,
|
|
92
|
+
permissionMode: options.permissionMode,
|
|
93
|
+
allowedTools: options.allowedTools,
|
|
94
|
+
};
|
|
79
95
|
const runContext = {
|
|
80
96
|
dossierArg: file,
|
|
81
97
|
resolvedVersion: 'unknown',
|
|
@@ -210,6 +226,60 @@ function registerRunCommand(program) {
|
|
|
210
226
|
const secureTmpFile = node_path_1.default.join(secureTmpDir, node_path_1.default.basename(resolvedFile));
|
|
211
227
|
node_fs_1.default.writeFileSync(secureTmpFile, dossierContent, { mode: 0o600 });
|
|
212
228
|
resolvedFile = secureTmpFile;
|
|
229
|
+
const cleanupSecureTmp = () => {
|
|
230
|
+
try {
|
|
231
|
+
node_fs_1.default.unlinkSync(secureTmpFile);
|
|
232
|
+
}
|
|
233
|
+
catch (err) {
|
|
234
|
+
if (err.code !== 'ENOENT') {
|
|
235
|
+
process.stderr.write(`Warning: failed to clean up secure temp file: ${String(err.message || err)}\n`);
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
try {
|
|
239
|
+
node_fs_1.default.rmdirSync(secureTmpDir);
|
|
240
|
+
}
|
|
241
|
+
catch (err) {
|
|
242
|
+
if (err.code !== 'ENOENT') {
|
|
243
|
+
process.stderr.write(`Warning: failed to clean up secure temp dir: ${String(err.message || err)}\n`);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
};
|
|
247
|
+
// Append the run-log entry at each exit point with the run's outcome
|
|
248
|
+
// (duration, spawned command, exit code, usage) — #458. Null-defaults
|
|
249
|
+
// every unavailable field; overrides supplied by the caller. The
|
|
250
|
+
// verification/nested defaults assume post-verification exits — early
|
|
251
|
+
// exits must override them.
|
|
252
|
+
const finishRunLog = (extra) => {
|
|
253
|
+
(0, run_log_1.appendRunLog)({
|
|
254
|
+
timestamp: new Date().toISOString(),
|
|
255
|
+
dossier: file,
|
|
256
|
+
resolved_version: runContext.resolvedVersion,
|
|
257
|
+
source: runContext.source,
|
|
258
|
+
registry: runContext.registry,
|
|
259
|
+
resolution_source: runContext.resolutionSource,
|
|
260
|
+
verification: options.skipAllChecks ? 'skipped' : 'passed',
|
|
261
|
+
llm: llmOption,
|
|
262
|
+
user: `${process.env.USER || 'unknown'}@${node_os_1.default.hostname()}`,
|
|
263
|
+
cwd: process.cwd(),
|
|
264
|
+
nested: false,
|
|
265
|
+
duration_ms: Date.now() - startTime,
|
|
266
|
+
spawned_command: null,
|
|
267
|
+
model: options.model ?? null,
|
|
268
|
+
exit_code: null,
|
|
269
|
+
input_tokens: null,
|
|
270
|
+
output_tokens: null,
|
|
271
|
+
total_cost_usd: null,
|
|
272
|
+
...extra,
|
|
273
|
+
});
|
|
274
|
+
};
|
|
275
|
+
// Map parsed agent usage onto run-log fields; null when the agent did
|
|
276
|
+
// not report usage (interactive mode, non-JSON output).
|
|
277
|
+
const usageLogFields = (usage) => ({
|
|
278
|
+
model: usage?.model ?? options.model ?? null,
|
|
279
|
+
input_tokens: usage?.input_tokens ?? null,
|
|
280
|
+
output_tokens: usage?.output_tokens ?? null,
|
|
281
|
+
total_cost_usd: usage?.total_cost_usd ?? null,
|
|
282
|
+
});
|
|
213
283
|
// Show metadata summary
|
|
214
284
|
try {
|
|
215
285
|
let fm = null;
|
|
@@ -242,59 +312,18 @@ function registerRunCommand(program) {
|
|
|
242
312
|
// Nested session detection
|
|
243
313
|
if (nestedHost !== null) {
|
|
244
314
|
console.error(`ℹ️ Running inside ${nestedHost} — outputting dossier content\n`);
|
|
245
|
-
|
|
246
|
-
(0, run_log_1.appendRunLog)({
|
|
247
|
-
timestamp: new Date().toISOString(),
|
|
248
|
-
dossier: file,
|
|
249
|
-
resolved_version: runContext.resolvedVersion,
|
|
250
|
-
source: runContext.source,
|
|
251
|
-
registry: runContext.registry,
|
|
252
|
-
resolution_source: runContext.resolutionSource,
|
|
253
|
-
verification: 'nested-skip',
|
|
254
|
-
llm: llmOption,
|
|
255
|
-
user: `${process.env.USER || 'unknown'}@${node_os_1.default.hostname()}`,
|
|
256
|
-
cwd: process.cwd(),
|
|
257
|
-
nested: true,
|
|
258
|
-
});
|
|
315
|
+
finishRunLog({ verification: 'nested-skip', nested: true, exit_code: 0 });
|
|
259
316
|
process.stdout.write(dossierContent);
|
|
260
|
-
|
|
261
|
-
node_fs_1.default.rmdirSync(secureTmpDir);
|
|
317
|
+
cleanupSecureTmp();
|
|
262
318
|
process.exit(0);
|
|
263
319
|
}
|
|
264
320
|
const result = await (0, helpers_1.runVerification)(resolvedFile, options);
|
|
265
|
-
const llmOption = options.llm || config.getConfig('defaultLlm') || 'auto';
|
|
266
321
|
if (!result.passed) {
|
|
267
322
|
console.log('❌ Verification failed - cannot execute\n');
|
|
268
|
-
(
|
|
269
|
-
|
|
270
|
-
dossier: file,
|
|
271
|
-
resolved_version: runContext.resolvedVersion,
|
|
272
|
-
source: runContext.source,
|
|
273
|
-
registry: runContext.registry,
|
|
274
|
-
resolution_source: runContext.resolutionSource,
|
|
275
|
-
verification: 'failed',
|
|
276
|
-
llm: llmOption,
|
|
277
|
-
user: `${process.env.USER || 'unknown'}@${node_os_1.default.hostname()}`,
|
|
278
|
-
cwd: process.cwd(),
|
|
279
|
-
nested: false,
|
|
280
|
-
});
|
|
281
|
-
node_fs_1.default.unlinkSync(secureTmpFile);
|
|
282
|
-
node_fs_1.default.rmdirSync(secureTmpDir);
|
|
323
|
+
finishRunLog({ verification: 'failed', exit_code: 1 });
|
|
324
|
+
cleanupSecureTmp();
|
|
283
325
|
process.exit(1);
|
|
284
326
|
}
|
|
285
|
-
(0, run_log_1.appendRunLog)({
|
|
286
|
-
timestamp: new Date().toISOString(),
|
|
287
|
-
dossier: file,
|
|
288
|
-
resolved_version: runContext.resolvedVersion,
|
|
289
|
-
source: runContext.source,
|
|
290
|
-
registry: runContext.registry,
|
|
291
|
-
resolution_source: runContext.resolutionSource,
|
|
292
|
-
verification: options.skipAllChecks ? 'skipped' : 'passed',
|
|
293
|
-
llm: llmOption,
|
|
294
|
-
user: `${process.env.USER || 'unknown'}@${node_os_1.default.hostname()}`,
|
|
295
|
-
cwd: process.cwd(),
|
|
296
|
-
nested: false,
|
|
297
|
-
});
|
|
298
327
|
console.log('📝 Audit Log:');
|
|
299
328
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━');
|
|
300
329
|
console.log(` Timestamp: ${new Date().toISOString()}`);
|
|
@@ -306,7 +335,7 @@ function registerRunCommand(program) {
|
|
|
306
335
|
console.log('━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n');
|
|
307
336
|
if (!options.headless &&
|
|
308
337
|
(options.budget != null || options.permissionMode || options.allowedTools)) {
|
|
309
|
-
process.stderr.write('Warning: --budget, --permission-mode, and --allowed-tools
|
|
338
|
+
process.stderr.write('Warning: --budget, --permission-mode, and --allowed-tools are forwarded to claude only, and only in headless mode; opencode ignores them entirely (configure permissions/tools in opencode.json).\n');
|
|
310
339
|
}
|
|
311
340
|
if (options.dryRun) {
|
|
312
341
|
console.log('🧪 DRY RUN MODE - No execution\n');
|
|
@@ -314,74 +343,133 @@ function registerRunCommand(program) {
|
|
|
314
343
|
console.log(` File: ${resolvedFile}`);
|
|
315
344
|
console.log(` LLM: ${llmOption}`);
|
|
316
345
|
const llmToUse = (0, helpers_1.detectLlm)(llmOption, true);
|
|
317
|
-
const passthrough = {
|
|
318
|
-
model: options.model,
|
|
319
|
-
budget: options.budget,
|
|
320
|
-
permissionMode: options.permissionMode,
|
|
321
|
-
allowedTools: options.allowedTools,
|
|
322
|
-
};
|
|
323
346
|
const descriptor = llmToUse
|
|
324
347
|
? (0, helpers_1.buildLlmCommand)(llmToUse, resolvedFile, options.headless, passthrough)
|
|
325
348
|
: null;
|
|
326
349
|
console.log(` Command: ${descriptor ? descriptor.description : 'No LLM detected - would show error'}\n`);
|
|
327
350
|
console.log('✅ All verifications passed - ready to execute');
|
|
328
|
-
|
|
329
|
-
|
|
351
|
+
finishRunLog({ exit_code: 0 });
|
|
352
|
+
cleanupSecureTmp();
|
|
330
353
|
process.exit(0);
|
|
331
354
|
}
|
|
332
|
-
const cleanupSecureTmp = () => {
|
|
333
|
-
try {
|
|
334
|
-
node_fs_1.default.unlinkSync(secureTmpFile);
|
|
335
|
-
}
|
|
336
|
-
catch (err) {
|
|
337
|
-
if (err.code !== 'ENOENT') {
|
|
338
|
-
process.stderr.write(`Warning: failed to clean up secure temp file: ${String(err.message || err)}\n`);
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
try {
|
|
342
|
-
node_fs_1.default.rmdirSync(secureTmpDir);
|
|
343
|
-
}
|
|
344
|
-
catch (err) {
|
|
345
|
-
if (err.code !== 'ENOENT') {
|
|
346
|
-
process.stderr.write(`Warning: failed to clean up secure temp dir: ${String(err.message || err)}\n`);
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
};
|
|
350
355
|
console.log('🤖 Executing Dossier...\n');
|
|
351
356
|
const llmToUse = (0, helpers_1.detectLlm)(llmOption);
|
|
352
357
|
if (!llmToUse) {
|
|
358
|
+
finishRunLog({ exit_code: 2 });
|
|
353
359
|
cleanupSecureTmp();
|
|
354
360
|
process.exit(2);
|
|
355
361
|
}
|
|
356
|
-
const descriptor = (0, helpers_1.buildLlmCommand)(llmToUse, resolvedFile, options.headless,
|
|
357
|
-
model: options.model,
|
|
358
|
-
budget: options.budget,
|
|
359
|
-
permissionMode: options.permissionMode,
|
|
360
|
-
allowedTools: options.allowedTools,
|
|
361
|
-
});
|
|
362
|
+
const descriptor = (0, helpers_1.buildLlmCommand)(llmToUse, resolvedFile, options.headless, passthrough);
|
|
362
363
|
if (!descriptor) {
|
|
363
364
|
console.log(`❌ Unknown LLM: ${llmToUse}\n`);
|
|
364
|
-
console.log('Supported: claude-code, auto\n');
|
|
365
|
+
console.log('Supported: claude-code, opencode, auto\n');
|
|
366
|
+
finishRunLog({ exit_code: 2 });
|
|
365
367
|
cleanupSecureTmp();
|
|
366
368
|
process.exit(2);
|
|
367
369
|
}
|
|
370
|
+
// The exact spawned command (binary + args), log-safe: descriptors
|
|
371
|
+
// whose args carry prompt content (opencode interactive) provide a
|
|
372
|
+
// redacted commandForLog — prompt content never reaches runs.jsonl.
|
|
373
|
+
const spawnedCommand = descriptor.commandForLog ?? [descriptor.cmd, ...descriptor.args].join(' ');
|
|
368
374
|
try {
|
|
369
375
|
const mode = options.headless ? 'headless' : 'interactive';
|
|
376
|
+
const isOpencode = descriptor.agent === 'opencode';
|
|
370
377
|
console.log(` Mode: ${mode}`);
|
|
371
378
|
console.log(` Executing: ${descriptor.description}\n`);
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
379
|
+
// Headless: capture stdout so the agent's usage report (claude
|
|
380
|
+
// `--output-format json` blob / opencode `--format json` JSONL
|
|
381
|
+
// events) can be mined; stderr still streams. maxBuffer is explicit
|
|
382
|
+
// because spawnSync's 1MB default kills children whose JSON result
|
|
383
|
+
// exceeds it. Interactive: the TUI owns the terminal — nothing to
|
|
384
|
+
// capture.
|
|
385
|
+
const result = options.headless
|
|
386
|
+
? (0, node_child_process_1.spawnSync)(descriptor.cmd, descriptor.args, {
|
|
387
|
+
stdio: ['pipe', 'pipe', 'inherit'],
|
|
388
|
+
input: descriptor.stdin,
|
|
389
|
+
maxBuffer: HEADLESS_MAX_BUFFER_BYTES,
|
|
390
|
+
})
|
|
391
|
+
: (0, node_child_process_1.spawnSync)(descriptor.cmd, descriptor.args, {
|
|
392
|
+
stdio: descriptor.stdin ? ['pipe', 'inherit', 'inherit'] : 'inherit',
|
|
393
|
+
input: descriptor.stdin,
|
|
394
|
+
});
|
|
395
|
+
// Normalize captured stdout to a string (spawnSync types it as
|
|
396
|
+
// string | Buffer depending on the stdio configuration).
|
|
397
|
+
const stdoutText = result.stdout == null
|
|
398
|
+
? undefined
|
|
399
|
+
: typeof result.stdout === 'string'
|
|
400
|
+
? result.stdout
|
|
401
|
+
: result.stdout.toString('utf8');
|
|
402
|
+
// Usage parsing is agent-specific: claude emits one JSON blob,
|
|
403
|
+
// opencode a JSONL event stream (#459).
|
|
404
|
+
const usage = options.headless
|
|
405
|
+
? isOpencode
|
|
406
|
+
? (0, helpers_1.parseOpenCodeUsage)(stdoutText)
|
|
407
|
+
: (0, helpers_1.parseAgentUsage)(stdoutText)
|
|
408
|
+
: null;
|
|
409
|
+
const expectedFormat = isOpencode
|
|
410
|
+
? 'an opencode JSONL event stream'
|
|
411
|
+
: 'a claude JSON result';
|
|
412
|
+
if (options.headless && stdoutText && usage === null) {
|
|
413
|
+
process.stderr.write(`Warning: agent output was not ${expectedFormat} — usage/cost not recorded; raw output re-emitted\n`);
|
|
414
|
+
}
|
|
415
|
+
else if (options.headless && stdoutText && usage?.result_text === null) {
|
|
416
|
+
process.stderr.write(`Warning: no result text found in ${expectedFormat} — raw output re-emitted\n`);
|
|
417
|
+
}
|
|
418
|
+
if (options.headless) {
|
|
419
|
+
// Headless agents buffer their whole result (claude emits one JSON
|
|
420
|
+
// blob; opencode one JSONL event stream); re-emit the agent's text
|
|
421
|
+
// so headless consumers still see the output on stdout. Falls back
|
|
422
|
+
// to raw stdout when unparseable.
|
|
423
|
+
const text = usage?.result_text ?? stdoutText ?? '';
|
|
424
|
+
if (text) {
|
|
425
|
+
process.stdout.write(text.endsWith('\n') ? text : `${text}\n`);
|
|
426
|
+
}
|
|
427
|
+
}
|
|
376
428
|
if (result.status !== 0) {
|
|
377
|
-
|
|
429
|
+
const exitError = {
|
|
430
|
+
__agentExit: true,
|
|
431
|
+
status: result.status,
|
|
432
|
+
signal: result.signal ?? null,
|
|
433
|
+
spawn_error: result.error?.message ?? null,
|
|
434
|
+
usage,
|
|
435
|
+
};
|
|
436
|
+
throw exitError;
|
|
378
437
|
}
|
|
379
438
|
console.log('\n✅ Execution completed');
|
|
439
|
+
finishRunLog({
|
|
440
|
+
llm: llmToUse,
|
|
441
|
+
spawned_command: spawnedCommand,
|
|
442
|
+
exit_code: 0,
|
|
443
|
+
...usageLogFields(usage),
|
|
444
|
+
});
|
|
380
445
|
}
|
|
381
446
|
catch (error) {
|
|
382
447
|
console.log('\n❌ Execution failed');
|
|
448
|
+
// Narrow on the discriminant — never duck-type on `status`, which
|
|
449
|
+
// ordinary library errors can also carry.
|
|
450
|
+
const exitError = error !== null && typeof error === 'object' && '__agentExit' in error
|
|
451
|
+
? error
|
|
452
|
+
: null;
|
|
453
|
+
if (exitError) {
|
|
454
|
+
const cause = exitError.spawn_error ?? exitError.signal;
|
|
455
|
+
if (cause) {
|
|
456
|
+
process.stderr.write(` Cause: ${cause}\n`);
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
else if (error instanceof Error && error.message) {
|
|
460
|
+
process.stderr.write(` Cause: ${error.message}\n`);
|
|
461
|
+
}
|
|
462
|
+
const status = exitError?.status ?? null;
|
|
463
|
+
const usage = exitError?.usage ?? null;
|
|
464
|
+
finishRunLog({
|
|
465
|
+
llm: llmToUse,
|
|
466
|
+
spawned_command: spawnedCommand,
|
|
467
|
+
exit_code: status,
|
|
468
|
+
spawn_error: exitError?.spawn_error ?? exitError?.signal ?? null,
|
|
469
|
+
...usageLogFields(usage),
|
|
470
|
+
});
|
|
383
471
|
cleanupSecureTmp();
|
|
384
|
-
process.exit(
|
|
472
|
+
process.exit(status || 2);
|
|
385
473
|
}
|
|
386
474
|
cleanupSecureTmp();
|
|
387
475
|
});
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
package/dist/duration.d.ts
CHANGED
|
@@ -19,6 +19,12 @@ export declare const MILLIS_PER_SECOND = 1000;
|
|
|
19
19
|
export declare function formatDuration(seconds: number): string;
|
|
20
20
|
/** A duration for a table cell: human form plus the raw seconds it was derived from. */
|
|
21
21
|
export declare function formatDurationCell(seconds: number | null): string;
|
|
22
|
+
/**
|
|
23
|
+
* A millisecond span for a table cell: raw `ms` below one second, human form
|
|
24
|
+
* above (`2m 14s`), `-` when absent or not a finite number (runs.jsonl entries
|
|
25
|
+
* are read raw — a wrong-typed field must not crash the table).
|
|
26
|
+
*/
|
|
27
|
+
export declare function formatDurationMs(ms: number | null | undefined): string;
|
|
22
28
|
/**
|
|
23
29
|
* An age as a single rounded unit: `45s`, `3m`, `2h`, `9d`.
|
|
24
30
|
*
|
package/dist/duration.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../src/duration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAatD;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,MAAM,CAQ5D"}
|
|
1
|
+
{"version":3,"file":"duration.d.ts","sourceRoot":"","sources":["../src/duration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,gBAAgB,OAAO,CAAC;AACrC,eAAO,MAAM,eAAe,QAAQ,CAAC;AACrC,eAAO,MAAM,iBAAiB,OAAO,CAAC;AAEtC;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAatD;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAItE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,MAAM,CAQ5D"}
|