@iowarp/clio-coder 0.3.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/CHANGELOG.md +407 -0
- package/CODE_OF_CONDUCT.md +21 -0
- package/CONTRIBUTING.md +224 -0
- package/LICENSE +202 -0
- package/NOTICE +9 -0
- package/README.md +798 -0
- package/SECURITY.md +72 -0
- package/assets/clio-coder-logo-128.webp +0 -0
- package/damage-control-rules.yaml +419 -0
- package/dist/acp-UMLFVA3F.js +92 -0
- package/dist/agents-Q4MYPMUW.js +91 -0
- package/dist/auth-O6HYIJ6J.js +521 -0
- package/dist/chunk-262G75JS.js +35 -0
- package/dist/chunk-26BZQOAD.js +1281 -0
- package/dist/chunk-2J63S4SF.js +508 -0
- package/dist/chunk-3DANZDGR.js +717 -0
- package/dist/chunk-4UQA7NCT.js +29 -0
- package/dist/chunk-527KG6XR.js +497 -0
- package/dist/chunk-5LDRNKX2.js +1063 -0
- package/dist/chunk-5N2FG33Q.js +25 -0
- package/dist/chunk-67MTHP2E.js +135 -0
- package/dist/chunk-6CWDTGUC.js +20 -0
- package/dist/chunk-7BHLZB3A.js +2115 -0
- package/dist/chunk-7RBKDI66.js +348 -0
- package/dist/chunk-AMFR5YA3.js +541 -0
- package/dist/chunk-BBUH4VAA.js +1224 -0
- package/dist/chunk-BYEU76JP.js +899 -0
- package/dist/chunk-CLJ5HLUD.js +458 -0
- package/dist/chunk-D5YD55AR.js +116 -0
- package/dist/chunk-DXQNI4PC.js +61 -0
- package/dist/chunk-E3NYWENM.js +1004 -0
- package/dist/chunk-GNGDQYDU.js +34688 -0
- package/dist/chunk-GOTUR54M.js +9 -0
- package/dist/chunk-HBU5MTAM.js +41 -0
- package/dist/chunk-HMYNFFY4.js +28 -0
- package/dist/chunk-JPOWPFCU.js +1010 -0
- package/dist/chunk-JWHCJDCI.js +1215 -0
- package/dist/chunk-KBR4MZZR.js +41 -0
- package/dist/chunk-KKKPTZLM.js +93 -0
- package/dist/chunk-ME6DNWIU.js +66 -0
- package/dist/chunk-NI4DEJMC.js +88 -0
- package/dist/chunk-O4EJEDHO.js +659 -0
- package/dist/chunk-PIDUD6M2.js +31 -0
- package/dist/chunk-PS4PFJQP.js +29459 -0
- package/dist/chunk-QV47YRF4.js +48 -0
- package/dist/chunk-RQDWMVRB.js +279 -0
- package/dist/chunk-TFSSEXL6.js +136 -0
- package/dist/chunk-TKHQ4DGZ.js +8290 -0
- package/dist/chunk-TPOCL34A.js +2876 -0
- package/dist/chunk-UGYAX5YI.js +565 -0
- package/dist/chunk-UHTSULZS.js +461 -0
- package/dist/chunk-UU3R62TT.js +128 -0
- package/dist/chunk-UWIJNAOB.js +3906 -0
- package/dist/chunk-VOO7NYPP.js +914 -0
- package/dist/chunk-VPAWTYLY.js +117 -0
- package/dist/chunk-WD6AJM35.js +1216 -0
- package/dist/chunk-X3BR7HWV.js +115 -0
- package/dist/chunk-X3NE4WVW.js +120 -0
- package/dist/chunk-XNISANGE.js +1395 -0
- package/dist/chunk-XV4ZJ6ZM.js +3177 -0
- package/dist/cli/index.js +236 -0
- package/dist/clio-KIQ5SNDS.js +53 -0
- package/dist/components-JVHMUBEB.js +653 -0
- package/dist/config-ZFCDBMDC.js +372 -0
- package/dist/configure-G4E3A2PG.js +27 -0
- package/dist/context-CDXTP2MP.js +293 -0
- package/dist/context-E3KIFVXI.js +185 -0
- package/dist/context-clear-3F4PLXOS.js +102 -0
- package/dist/context-index-Q7YSYTR3.js +106 -0
- package/dist/docs-YIETIWZI.js +280 -0
- package/dist/doctor-M5HJJZOL.js +61 -0
- package/dist/domains/agents/builtins/architect.md +33 -0
- package/dist/domains/agents/builtins/coder.md +31 -0
- package/dist/domains/agents/builtins/context-bootstrap.md +38 -0
- package/dist/domains/agents/builtins/debugger.md +30 -0
- package/dist/domains/agents/builtins/documenter.md +31 -0
- package/dist/domains/agents/builtins/git-master.md +30 -0
- package/dist/domains/agents/builtins/provenance.md +30 -0
- package/dist/domains/agents/builtins/researcher.md +71 -0
- package/dist/domains/agents/builtins/scout.md +42 -0
- package/dist/domains/agents/builtins/tester.md +31 -0
- package/dist/domains/agents/builtins/verifier.md +30 -0
- package/dist/domains/agents/builtins/wiki-writer.md +41 -0
- package/dist/eval-B3KZZESM.js +2674 -0
- package/dist/evidence-V67CHM35.js +233 -0
- package/dist/evolve-YDZSUQYA.js +518 -0
- package/dist/extensions-SRG7XCAH.js +207 -0
- package/dist/fleet-CA2CRTVG.js +760 -0
- package/dist/fleet-preflight-CLIAX7YR.js +21 -0
- package/dist/init-2OZDJE2D.js +227 -0
- package/dist/memory-3PIQQAKX.js +207 -0
- package/dist/models-DY35XI7Y.js +237 -0
- package/dist/paths-5OMXW7Z4.js +57 -0
- package/dist/preload-KZVHET2B.js +11 -0
- package/dist/reset-PIFYNOS3.js +216 -0
- package/dist/run-3VSPP24F.js +735 -0
- package/dist/share-D36RQCXM.js +241 -0
- package/dist/skills-F2MRLELY.js +445 -0
- package/dist/skills-eval-E2ZTW4PL.js +932 -0
- package/dist/targets-DZMEZAH4.js +977 -0
- package/dist/trace-7NYCUI2J.js +250 -0
- package/dist/uninstall-AD3JWHBB.js +322 -0
- package/dist/upgrade-WYYBKGDY.js +301 -0
- package/dist/usage-ULIDAGFF.js +755 -0
- package/dist/version-ROZ6CZKH.js +16 -0
- package/dist/wiki-generate-PKFIX6OB.js +377 -0
- package/dist/worker/entry.js +1739 -0
- package/docs/README.md +93 -0
- package/docs/acp.md +120 -0
- package/docs/alcf-provider.md +72 -0
- package/docs/architecture.md +172 -0
- package/docs/artifact-versions.md +54 -0
- package/docs/built-in-agents.md +265 -0
- package/docs/capacity-and-scheduling.md +97 -0
- package/docs/commands-and-modes.md +554 -0
- package/docs/config-knobs-audit.md +115 -0
- package/docs/configuration-and-targets.md +812 -0
- package/docs/context-engine.md +236 -0
- package/docs/dispatch-architecture-rationale.md +126 -0
- package/docs/documentation-coverage.md +46 -0
- package/docs/documentation-guide.md +166 -0
- package/docs/environment-variables.md +105 -0
- package/docs/eval-runner.md +205 -0
- package/docs/evals-internal.md +298 -0
- package/docs/evidence-and-memory.md +243 -0
- package/docs/evolution.md +143 -0
- package/docs/exit-codes-and-output.md +74 -0
- package/docs/extensions-and-sharing.md +306 -0
- package/docs/fleet-demo-runbook.md +179 -0
- package/docs/fleet-dispatch.md +591 -0
- package/docs/glossary.md +75 -0
- package/docs/html/agents_blueprint.html +936 -0
- package/docs/html/alcf_blueprint.html +324 -0
- package/docs/html/architecture_blueprint.html +850 -0
- package/docs/html/commands_blueprint.html +794 -0
- package/docs/html/config_knobs_audit_blueprint.html +178 -0
- package/docs/html/configuration_blueprint.html +1080 -0
- package/docs/html/context_blueprint.html +603 -0
- package/docs/html/documentation_blueprint.html +832 -0
- package/docs/html/environment_blueprint.html +404 -0
- package/docs/html/eval_blueprint.html +743 -0
- package/docs/html/evals_internal_blueprint.html +190 -0
- package/docs/html/evolution_blueprint.html +674 -0
- package/docs/html/extensions_blueprint.html +2065 -0
- package/docs/html/fleet_dispatch_blueprint.html +286 -0
- package/docs/html/index.html +919 -0
- package/docs/html/lifecycle_blueprint.html +723 -0
- package/docs/html/memory_blueprint.html +699 -0
- package/docs/html/middleware_blueprint.html +664 -0
- package/docs/html/models_blueprint.html +2366 -0
- package/docs/html/observability_blueprint.html +683 -0
- package/docs/html/provider_adapter_blueprint.html +245 -0
- package/docs/html/safety_blueprint.html +1386 -0
- package/docs/html/shared.css +571 -0
- package/docs/html/shared.js +143 -0
- package/docs/html/skills_blueprint.html +671 -0
- package/docs/html/soak_blueprint.html +182 -0
- package/docs/html/tool_usage_blueprint.html +350 -0
- package/docs/html/tools_blueprint.html +2249 -0
- package/docs/html/trace_blueprint.html +235 -0
- package/docs/html/tui_design_blueprint.html +314 -0
- package/docs/html/validation_blueprint.html +961 -0
- package/docs/html/worker_dispatch_blueprint.html +231 -0
- package/docs/installation-and-lifecycle.md +308 -0
- package/docs/middleware-and-components.md +148 -0
- package/docs/model-catalog.md +189 -0
- package/docs/observability.md +233 -0
- package/docs/proactive-memory.md +452 -0
- package/docs/prompt-envelope-and-tools.md +142 -0
- package/docs/provider-adapter-cookbook.md +148 -0
- package/docs/release-cut-checklist.md +138 -0
- package/docs/safety-model.md +357 -0
- package/docs/scientific-validation.md +105 -0
- package/docs/session-lifecycle.md +156 -0
- package/docs/skills-marketplace.md +46 -0
- package/docs/tool-usage.md +527 -0
- package/docs/trace-store.md +132 -0
- package/docs/troubleshooting.md +33 -0
- package/docs/tui-design.md +239 -0
- package/docs/worker-dispatch-mechanics.md +242 -0
- package/package.json +132 -0
- package/skills/README.md +408 -0
- package/skills/git/commit-crafting/SKILL.md +79 -0
- package/skills/git/commit-crafting/evals.md +92 -0
- package/skills/git/create-pr/SKILL.md +116 -0
- package/skills/git/create-pr/evals.md +114 -0
- package/skills/git/investigate-issue/SKILL.md +139 -0
- package/skills/git/investigate-issue/evals.md +94 -0
- package/skills/git/resolve-merge-conflicts/SKILL.md +96 -0
- package/skills/git/resolve-merge-conflicts/evals.md +58 -0
- package/skills/git/review-changes/SKILL.md +103 -0
- package/skills/git/review-changes/evals.md +85 -0
- package/skills/git/worktree-create/SKILL.md +92 -0
- package/skills/git/worktree-create/evals.md +97 -0
- package/skills/git/worktree-create/references/worktree-setup.md +66 -0
- package/skills/git/worktree-merge/SKILL.md +95 -0
- package/skills/git/worktree-merge/evals.md +114 -0
- package/skills/skill-marketplace.json +261 -0
- package/skills/workflow/cut-it/SKILL.md +86 -0
- package/skills/workflow/cut-it/evals.md +42 -0
- package/src/domains/agents/builtins/architect.md +33 -0
- package/src/domains/agents/builtins/coder.md +31 -0
- package/src/domains/agents/builtins/context-bootstrap.md +38 -0
- package/src/domains/agents/builtins/debugger.md +30 -0
- package/src/domains/agents/builtins/documenter.md +31 -0
- package/src/domains/agents/builtins/git-master.md +30 -0
- package/src/domains/agents/builtins/provenance.md +30 -0
- package/src/domains/agents/builtins/researcher.md +71 -0
- package/src/domains/agents/builtins/scout.md +42 -0
- package/src/domains/agents/builtins/tester.md +31 -0
- package/src/domains/agents/builtins/verifier.md +30 -0
- package/src/domains/agents/builtins/wiki-writer.md +41 -0
- package/src/domains/agents/fleets/build-review.md +34 -0
- package/src/domains/agents/fleets/build-test.md +35 -0
- package/src/domains/agents/fleets/sdlc.md +86 -0
- package/src/domains/prompts/fragments/identity/clio-worker.md +11 -0
- package/src/domains/prompts/fragments/identity/clio.md +26 -0
- package/src/domains/prompts/fragments/operating/contract.md +64 -0
- package/src/domains/prompts/fragments/safety/auto-edit.md +14 -0
- package/src/domains/prompts/fragments/safety/full-auto.md +14 -0
- package/src/domains/prompts/fragments/safety/read-only.md +13 -0
- package/src/domains/prompts/fragments/safety/suggest.md +13 -0
- package/src/domains/prompts/fragments/wiki/page.md +75 -0
- package/src/domains/prompts/fragments/wiki/plan.md +48 -0
- package/src/domains/providers/models/cloud-models/alcf.yaml +40 -0
- package/src/domains/providers/models/local-models/clio-local-coding-targets.yaml +993 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import {
|
|
2
|
+
EvidenceNotFoundError,
|
|
3
|
+
buildEvalEvidence,
|
|
4
|
+
buildEvidence,
|
|
5
|
+
inspectEvidence,
|
|
6
|
+
listEvidenceOverviews,
|
|
7
|
+
loadEvidenceRunProvenance,
|
|
8
|
+
provenanceTranscriptLines
|
|
9
|
+
} from "./chunk-GNGDQYDU.js";
|
|
10
|
+
import "./chunk-2J63S4SF.js";
|
|
11
|
+
import "./chunk-RQDWMVRB.js";
|
|
12
|
+
import "./chunk-7BHLZB3A.js";
|
|
13
|
+
import "./chunk-TPOCL34A.js";
|
|
14
|
+
import "./chunk-E3NYWENM.js";
|
|
15
|
+
import "./chunk-XV4ZJ6ZM.js";
|
|
16
|
+
import "./chunk-26BZQOAD.js";
|
|
17
|
+
import "./chunk-WD6AJM35.js";
|
|
18
|
+
import "./chunk-QV47YRF4.js";
|
|
19
|
+
import "./chunk-CLJ5HLUD.js";
|
|
20
|
+
import "./chunk-BBUH4VAA.js";
|
|
21
|
+
import "./chunk-GOTUR54M.js";
|
|
22
|
+
import "./chunk-PIDUD6M2.js";
|
|
23
|
+
import {
|
|
24
|
+
printError,
|
|
25
|
+
printOk
|
|
26
|
+
} from "./chunk-67MTHP2E.js";
|
|
27
|
+
import "./chunk-TKHQ4DGZ.js";
|
|
28
|
+
import "./chunk-D5YD55AR.js";
|
|
29
|
+
import "./chunk-JWHCJDCI.js";
|
|
30
|
+
import "./chunk-UHTSULZS.js";
|
|
31
|
+
import "./chunk-5LDRNKX2.js";
|
|
32
|
+
import "./chunk-UGYAX5YI.js";
|
|
33
|
+
import {
|
|
34
|
+
InvalidIdError
|
|
35
|
+
} from "./chunk-5N2FG33Q.js";
|
|
36
|
+
import "./chunk-VPAWTYLY.js";
|
|
37
|
+
import {
|
|
38
|
+
clioDataDir,
|
|
39
|
+
clioStateDir
|
|
40
|
+
} from "./chunk-X3NE4WVW.js";
|
|
41
|
+
import "./chunk-DXQNI4PC.js";
|
|
42
|
+
|
|
43
|
+
// src/cli/evidence.ts
|
|
44
|
+
var HELP = `clio-coder evidence build --run <runId>
|
|
45
|
+
clio-coder evidence build --session <sessionId>
|
|
46
|
+
clio-coder evidence build --eval <evalId>
|
|
47
|
+
clio-coder evidence inspect <evidenceId>
|
|
48
|
+
clio-coder evidence list
|
|
49
|
+
|
|
50
|
+
Build or inspect deterministic Clio evidence artifacts.
|
|
51
|
+
`;
|
|
52
|
+
function parseEvidenceArgs(args) {
|
|
53
|
+
const parsed = { help: false };
|
|
54
|
+
for (let index = 0; index < args.length; index += 1) {
|
|
55
|
+
const arg = args[index];
|
|
56
|
+
if (arg === void 0) continue;
|
|
57
|
+
if (arg === "--help" || arg === "-h") {
|
|
58
|
+
parsed.help = true;
|
|
59
|
+
continue;
|
|
60
|
+
}
|
|
61
|
+
if (parsed.command === void 0) {
|
|
62
|
+
if (arg === "build" || arg === "inspect" || arg === "list") {
|
|
63
|
+
parsed.command = arg;
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
throw new Error(`unknown evidence command: ${arg}`);
|
|
67
|
+
}
|
|
68
|
+
if (parsed.command === "build") {
|
|
69
|
+
if (arg === "--run") {
|
|
70
|
+
const value = args[index + 1];
|
|
71
|
+
if (value === void 0 || value.startsWith("-")) throw new Error("--run requires a run id");
|
|
72
|
+
parsed.runId = value;
|
|
73
|
+
index += 1;
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (arg === "--session") {
|
|
77
|
+
const value = args[index + 1];
|
|
78
|
+
if (value === void 0 || value.startsWith("-")) throw new Error("--session requires a session id");
|
|
79
|
+
parsed.sessionId = value;
|
|
80
|
+
index += 1;
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
if (arg === "--eval") {
|
|
84
|
+
const value = args[index + 1];
|
|
85
|
+
if (value === void 0 || value.startsWith("-")) throw new Error("--eval requires an eval id");
|
|
86
|
+
parsed.evalId = value;
|
|
87
|
+
index += 1;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
throw new Error(`unknown evidence build argument: ${arg}`);
|
|
91
|
+
}
|
|
92
|
+
if (parsed.command === "inspect" && parsed.evidenceId === void 0) {
|
|
93
|
+
if (arg.startsWith("-")) throw new Error("inspect requires an evidence id");
|
|
94
|
+
parsed.evidenceId = arg;
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
throw new Error(`unexpected evidence argument: ${arg}`);
|
|
98
|
+
}
|
|
99
|
+
if (parsed.help) return parsed;
|
|
100
|
+
if (parsed.command === void 0) throw new Error("evidence requires build, inspect, or list");
|
|
101
|
+
if (parsed.command === "build") {
|
|
102
|
+
const selectorCount = [parsed.runId, parsed.sessionId, parsed.evalId].filter((value) => value !== void 0).length;
|
|
103
|
+
if (selectorCount > 1) {
|
|
104
|
+
throw new Error("build accepts only one of --run, --session, or --eval");
|
|
105
|
+
}
|
|
106
|
+
if (selectorCount === 0) {
|
|
107
|
+
throw new Error("build requires --run <runId>, --session <sessionId>, or --eval <evalId>");
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
if (parsed.command === "inspect" && parsed.evidenceId === void 0)
|
|
111
|
+
throw new Error("inspect requires an evidence id");
|
|
112
|
+
if (parsed.command === "list" && (parsed.runId !== void 0 || parsed.sessionId !== void 0 || parsed.evalId !== void 0 || parsed.evidenceId !== void 0)) {
|
|
113
|
+
throw new Error("list does not accept extra arguments");
|
|
114
|
+
}
|
|
115
|
+
return parsed;
|
|
116
|
+
}
|
|
117
|
+
async function runEvidenceCommand(args) {
|
|
118
|
+
let parsed;
|
|
119
|
+
try {
|
|
120
|
+
parsed = parseEvidenceArgs(args);
|
|
121
|
+
} catch (error) {
|
|
122
|
+
printError(error instanceof Error ? error.message : String(error));
|
|
123
|
+
process.stdout.write(HELP);
|
|
124
|
+
return 2;
|
|
125
|
+
}
|
|
126
|
+
if (parsed.help) {
|
|
127
|
+
process.stdout.write(HELP);
|
|
128
|
+
return 0;
|
|
129
|
+
}
|
|
130
|
+
const dataDir = clioDataDir();
|
|
131
|
+
const stateDir = clioStateDir();
|
|
132
|
+
try {
|
|
133
|
+
if (parsed.command === "build") {
|
|
134
|
+
const result = parsed.evalId === void 0 ? await buildEvidence({
|
|
135
|
+
dataDir,
|
|
136
|
+
stateDir,
|
|
137
|
+
...parsed.runId === void 0 ? {} : { runId: parsed.runId },
|
|
138
|
+
...parsed.sessionId === void 0 ? {} : { sessionId: parsed.sessionId }
|
|
139
|
+
}) : await buildEvalEvidence({ dataDir, stateDir, evalId: parsed.evalId });
|
|
140
|
+
const integrityFailures = result.findings.filter((entry) => entry.tag === "receipt-integrity");
|
|
141
|
+
if (integrityFailures.length > 0) {
|
|
142
|
+
process.stdout.write(`wrote ${result.evidenceId} ${result.directory}
|
|
143
|
+
`);
|
|
144
|
+
for (const failure of integrityFailures) {
|
|
145
|
+
printError(`${failure.runId !== null ? `run ${failure.runId}: ` : ""}${failure.message}`);
|
|
146
|
+
}
|
|
147
|
+
return 1;
|
|
148
|
+
}
|
|
149
|
+
printOk(`wrote ${result.evidenceId} ${result.directory}`);
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
if (parsed.command === "inspect") {
|
|
153
|
+
const evidenceId = parsed.evidenceId;
|
|
154
|
+
if (evidenceId === void 0) {
|
|
155
|
+
printError("inspect requires an evidence id");
|
|
156
|
+
return 2;
|
|
157
|
+
}
|
|
158
|
+
const inspected = await inspectEvidence(dataDir, evidenceId);
|
|
159
|
+
const provenance = await loadEvidenceRunProvenance(dataDir, evidenceId);
|
|
160
|
+
renderEvidence(inspected, provenance);
|
|
161
|
+
return 0;
|
|
162
|
+
}
|
|
163
|
+
if (parsed.command === "list") {
|
|
164
|
+
renderEvidenceList(await listEvidenceOverviews(dataDir));
|
|
165
|
+
return 0;
|
|
166
|
+
}
|
|
167
|
+
printError("evidence requires build, inspect, or list");
|
|
168
|
+
return 2;
|
|
169
|
+
} catch (error) {
|
|
170
|
+
printError(error instanceof Error ? error.message : String(error));
|
|
171
|
+
if (error instanceof EvidenceNotFoundError)
|
|
172
|
+
process.stderr.write(" run `clio-coder evidence list` to see local bundles\n");
|
|
173
|
+
return error instanceof InvalidIdError ? 2 : 1;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function renderEvidence(input, provenance = []) {
|
|
177
|
+
const { overview, findings } = input;
|
|
178
|
+
process.stdout.write(`evidence: ${overview.evidenceId}
|
|
179
|
+
`);
|
|
180
|
+
process.stdout.write(`source: ${formatSource(overview)}
|
|
181
|
+
`);
|
|
182
|
+
process.stdout.write(`generated: ${overview.generatedAt}
|
|
183
|
+
`);
|
|
184
|
+
process.stdout.write(`runs: ${overview.totals.runs}
|
|
185
|
+
`);
|
|
186
|
+
process.stdout.write(`receipts: ${overview.totals.receipts}
|
|
187
|
+
`);
|
|
188
|
+
process.stdout.write(`tool calls: ${overview.totals.toolCalls}
|
|
189
|
+
`);
|
|
190
|
+
process.stdout.write(`blocked tools: ${overview.totals.blockedToolCalls}
|
|
191
|
+
`);
|
|
192
|
+
process.stdout.write(`tags: ${formatList(overview.tags)}
|
|
193
|
+
`);
|
|
194
|
+
process.stdout.write(`findings: ${findings.length}
|
|
195
|
+
`);
|
|
196
|
+
for (const { runId, view } of provenance) {
|
|
197
|
+
process.stdout.write(`provenance ${runId}:
|
|
198
|
+
`);
|
|
199
|
+
for (const line of provenanceTranscriptLines(view)) process.stdout.write(` ${line}
|
|
200
|
+
`);
|
|
201
|
+
}
|
|
202
|
+
process.stdout.write(`files: ${formatList(overview.files)}
|
|
203
|
+
`);
|
|
204
|
+
}
|
|
205
|
+
function renderEvidenceList(overviews) {
|
|
206
|
+
process.stdout.write(`${overviews.length} evidence artifacts
|
|
207
|
+
`);
|
|
208
|
+
if (overviews.length === 0) return;
|
|
209
|
+
process.stdout.write("\n");
|
|
210
|
+
for (const overview of overviews) {
|
|
211
|
+
process.stdout.write(
|
|
212
|
+
[
|
|
213
|
+
overview.evidenceId.padEnd(28),
|
|
214
|
+
formatSource(overview).padEnd(24),
|
|
215
|
+
`${overview.totals.runs} run${overview.totals.runs === 1 ? "" : "s"}`.padEnd(8),
|
|
216
|
+
formatList(overview.tags)
|
|
217
|
+
].join("")
|
|
218
|
+
);
|
|
219
|
+
process.stdout.write("\n");
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
function formatSource(overview) {
|
|
223
|
+
if (overview.source.kind === "run") return `run ${overview.source.runId}`;
|
|
224
|
+
if (overview.source.kind === "session") return `session ${overview.source.sessionId}`;
|
|
225
|
+
return `eval ${overview.source.evalId}`;
|
|
226
|
+
}
|
|
227
|
+
function formatList(values) {
|
|
228
|
+
return values.length === 0 ? "none" : values.join(", ");
|
|
229
|
+
}
|
|
230
|
+
export {
|
|
231
|
+
runEvidenceCommand
|
|
232
|
+
};
|
|
233
|
+
//# sourceMappingURL=evidence-V67CHM35.js.map
|