@phamvuhoang/otto-core 0.14.0 → 0.16.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/dist/cli-help.d.ts +9 -0
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +15 -0
- package/dist/cli-help.js.map +1 -1
- package/dist/context-budget.d.ts +78 -0
- package/dist/context-budget.d.ts.map +1 -0
- package/dist/context-budget.js +114 -0
- package/dist/context-budget.js.map +1 -0
- package/dist/context-report-cli.d.ts +36 -0
- package/dist/context-report-cli.d.ts.map +1 -0
- package/dist/context-report-cli.js +81 -0
- package/dist/context-report-cli.js.map +1 -0
- package/dist/context-report.d.ts +40 -0
- package/dist/context-report.d.ts.map +1 -0
- package/dist/context-report.js +88 -0
- package/dist/context-report.js.map +1 -0
- package/dist/eval.d.ts +11 -1
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +9 -1
- package/dist/eval.js.map +1 -1
- package/dist/index.d.ts +11 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/iteration-compaction.d.ts +73 -0
- package/dist/iteration-compaction.d.ts.map +1 -0
- package/dist/iteration-compaction.js +105 -0
- package/dist/iteration-compaction.js.map +1 -0
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +1 -0
- package/dist/loop.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/memory.d.ts +56 -0
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +0 -0
- package/dist/memory.js.map +1 -1
- package/dist/plan-checkpoint.d.ts +47 -0
- package/dist/plan-checkpoint.d.ts.map +1 -0
- package/dist/plan-checkpoint.js +54 -0
- package/dist/plan-checkpoint.js.map +1 -0
- package/dist/plan-gate.d.ts +41 -0
- package/dist/plan-gate.d.ts.map +1 -0
- package/dist/plan-gate.js +46 -0
- package/dist/plan-gate.js.map +1 -0
- package/dist/plan-report-cli.d.ts +42 -0
- package/dist/plan-report-cli.d.ts.map +1 -0
- package/dist/plan-report-cli.js +75 -0
- package/dist/plan-report-cli.js.map +1 -0
- package/dist/plan-rubric.d.ts +68 -0
- package/dist/plan-rubric.d.ts.map +1 -0
- package/dist/plan-rubric.js +119 -0
- package/dist/plan-rubric.js.map +1 -0
- package/dist/read-dedup.d.ts +84 -0
- package/dist/read-dedup.d.ts.map +1 -0
- package/dist/read-dedup.js +96 -0
- package/dist/read-dedup.js.map +1 -0
- package/dist/run-bin.d.ts +2 -0
- package/dist/run-bin.d.ts.map +1 -1
- package/dist/run-bin.js +49 -17
- package/dist/run-bin.js.map +1 -1
- package/dist/run-report.d.ts +3 -0
- package/dist/run-report.d.ts.map +1 -1
- package/dist/run-report.js.map +1 -1
- package/dist/runner.d.ts +4 -0
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js.map +1 -1
- package/dist/stage-exec.d.ts.map +1 -1
- package/dist/stage-exec.js +10 -3
- package/dist/stage-exec.js.map +1 -1
- package/dist/stages.d.ts +5 -0
- package/dist/stages.d.ts.map +1 -1
- package/dist/stages.js +7 -0
- package/dist/stages.js.map +1 -1
- package/dist/tokens.d.ts +21 -0
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +20 -0
- package/dist/tokens.js.map +1 -1
- package/package.json +1 -1
- package/templates/plan.md +95 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan-quality rubric (issue #63 P8, slice 1 — "measure plan quality before
|
|
3
|
+
* generating plans").
|
|
4
|
+
*
|
|
5
|
+
* A pure scorer over a spec/plan markdown document: it checks the document
|
|
6
|
+
* against the structural criteria of a world-class plan (the proven
|
|
7
|
+
* `docs/superpowers` + issue-62 shape) and reports per-criterion results, a
|
|
8
|
+
* met-count / max score, a 0..1 completeness ratio, and what is missing. It is
|
|
9
|
+
* the measurement substrate every later P8 slice reads — the `plan` stage,
|
|
10
|
+
* its eval signal ("plan-completeness rubric score ↑ across fixtures"), the
|
|
11
|
+
* `--plan-report` surface, and the human checkpoint.
|
|
12
|
+
*
|
|
13
|
+
* Sibling to `eval.ts`'s `scoreTrajectory` (a pure scorer over recorded data),
|
|
14
|
+
* but scoring a *document* rather than a run trajectory. INERT on the loop —
|
|
15
|
+
* nothing here runs a stage or changes behavior; it only describes text.
|
|
16
|
+
*
|
|
17
|
+
* The detectors are deterministic header/keyword heuristics (no tokenizer, no
|
|
18
|
+
* model call): the rubric judges *structural completeness* (does the plan have
|
|
19
|
+
* the sections a good plan has), the orthogonal question to the *semantic*
|
|
20
|
+
* quality a human/model judges at the checkpoint. Heuristic and labelled as
|
|
21
|
+
* such, mirroring P7's `ceil(chars/4)` estimate discipline.
|
|
22
|
+
*/
|
|
23
|
+
export type PlanCriterion = "problem" | "decisions" | "scopeGuard" | "fileMap" | "taskBreakdown" | "testFirst" | "verifyCommands" | "successCriteria";
|
|
24
|
+
type CriterionDef = {
|
|
25
|
+
criterion: PlanCriterion;
|
|
26
|
+
/** Human-readable label for the scorecard. */
|
|
27
|
+
label: string;
|
|
28
|
+
/** Pure predicate: does the document satisfy this criterion? */
|
|
29
|
+
detect: (doc: string) => boolean;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* The rubric criteria, in scorecard order. Each detector keys off the proven
|
|
33
|
+
* plan shape: a section header or the characteristic keywords/markup of that
|
|
34
|
+
* section. Order is fixed so the scorecard and the `missing` list are stable.
|
|
35
|
+
*/
|
|
36
|
+
export declare const PLAN_CRITERIA: ReadonlyArray<CriterionDef>;
|
|
37
|
+
export type PlanCriterionResult = {
|
|
38
|
+
criterion: PlanCriterion;
|
|
39
|
+
label: string;
|
|
40
|
+
met: boolean;
|
|
41
|
+
};
|
|
42
|
+
export type PlanRubricScore = {
|
|
43
|
+
/** Per-criterion outcome, in fixed scorecard order. */
|
|
44
|
+
results: PlanCriterionResult[];
|
|
45
|
+
/** Criteria met. */
|
|
46
|
+
metCount: number;
|
|
47
|
+
/** Total criteria (the denominator). */
|
|
48
|
+
maxScore: number;
|
|
49
|
+
/** metCount / maxScore in 0..1; 0 when there are no criteria. */
|
|
50
|
+
ratio: number;
|
|
51
|
+
/** Labels of unmet criteria — the "what to improve" surface. */
|
|
52
|
+
missing: string[];
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Score a spec/plan markdown document against {@link PLAN_CRITERIA}. Pure and
|
|
56
|
+
* deterministic — pass the spec text, the plan text, or both concatenated. Each
|
|
57
|
+
* criterion contributes equally; the per-criterion breakdown lets a consumer
|
|
58
|
+
* reweight later without changing the scorer.
|
|
59
|
+
*/
|
|
60
|
+
export declare function scorePlanQuality(doc: string): PlanRubricScore;
|
|
61
|
+
/**
|
|
62
|
+
* Render a rubric score as a short, human-readable scorecard: a header with the
|
|
63
|
+
* met/total and percentage, a checked/unchecked line per criterion, and a
|
|
64
|
+
* one-line "missing" note when the plan is incomplete.
|
|
65
|
+
*/
|
|
66
|
+
export declare function formatPlanRubric(score: PlanRubricScore): string;
|
|
67
|
+
export {};
|
|
68
|
+
//# sourceMappingURL=plan-rubric.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-rubric.d.ts","sourceRoot":"","sources":["../src/plan-rubric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,SAAS,GACT,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,aAAa,CAAC;IACzB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAClC,CAAC;AAeF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,YAAY,CA6DrD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,uDAAuD;IACvD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAe7D;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAU/D"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plan-quality rubric (issue #63 P8, slice 1 — "measure plan quality before
|
|
3
|
+
* generating plans").
|
|
4
|
+
*
|
|
5
|
+
* A pure scorer over a spec/plan markdown document: it checks the document
|
|
6
|
+
* against the structural criteria of a world-class plan (the proven
|
|
7
|
+
* `docs/superpowers` + issue-62 shape) and reports per-criterion results, a
|
|
8
|
+
* met-count / max score, a 0..1 completeness ratio, and what is missing. It is
|
|
9
|
+
* the measurement substrate every later P8 slice reads — the `plan` stage,
|
|
10
|
+
* its eval signal ("plan-completeness rubric score ↑ across fixtures"), the
|
|
11
|
+
* `--plan-report` surface, and the human checkpoint.
|
|
12
|
+
*
|
|
13
|
+
* Sibling to `eval.ts`'s `scoreTrajectory` (a pure scorer over recorded data),
|
|
14
|
+
* but scoring a *document* rather than a run trajectory. INERT on the loop —
|
|
15
|
+
* nothing here runs a stage or changes behavior; it only describes text.
|
|
16
|
+
*
|
|
17
|
+
* The detectors are deterministic header/keyword heuristics (no tokenizer, no
|
|
18
|
+
* model call): the rubric judges *structural completeness* (does the plan have
|
|
19
|
+
* the sections a good plan has), the orthogonal question to the *semantic*
|
|
20
|
+
* quality a human/model judges at the checkpoint. Heuristic and labelled as
|
|
21
|
+
* such, mirroring P7's `ceil(chars/4)` estimate discipline.
|
|
22
|
+
*/
|
|
23
|
+
/** Count non-overlapping matches of a global regex in the document. */
|
|
24
|
+
function count(doc, re) {
|
|
25
|
+
return (doc.match(re) ?? []).length;
|
|
26
|
+
}
|
|
27
|
+
// Path-like inline code: a backticked token with a path separator or a known
|
|
28
|
+
// source-file extension — the signal a plan names the files it will touch.
|
|
29
|
+
const PATH_TOKEN_RE = /`[^`\n]*(?:\/[^`\n]*|\.(?:ts|tsx|js|jsx|mjs|cjs|md|json|py|go|rs|java|rb|sh))`/gi;
|
|
30
|
+
// Task list items: markdown checkboxes or top-of-line ordered items.
|
|
31
|
+
const CHECKBOX_RE = /(?:^|\n)\s*[-*]\s*\[[ xX]\]/g;
|
|
32
|
+
const ORDERED_ITEM_RE = /(?:^|\n)\s*\d+\.\s+\S/g;
|
|
33
|
+
/**
|
|
34
|
+
* The rubric criteria, in scorecard order. Each detector keys off the proven
|
|
35
|
+
* plan shape: a section header or the characteristic keywords/markup of that
|
|
36
|
+
* section. Order is fixed so the scorecard and the `missing` list are stable.
|
|
37
|
+
*/
|
|
38
|
+
export const PLAN_CRITERIA = [
|
|
39
|
+
{
|
|
40
|
+
criterion: "problem",
|
|
41
|
+
label: "Problem statement",
|
|
42
|
+
detect: (d) => /(?:^|\n)#{1,6}\s+[^\n]*\bproblem\b/i.test(d),
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
criterion: "decisions",
|
|
46
|
+
label: "Decisions / assumptions",
|
|
47
|
+
detect: (d) => /\b(?:assumptions?|decisions?|rationale)\b/i.test(d),
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
criterion: "scopeGuard",
|
|
51
|
+
label: "Scope guard / non-goals",
|
|
52
|
+
detect: (d) => /\b(?:scope guard|non-?goals?|out of scope|not in scope|won'?t (?:do|build|change|ship))\b/i.test(d),
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
criterion: "fileMap",
|
|
56
|
+
label: "File / component map",
|
|
57
|
+
detect: (d) => /(?:^|\n)#{1,6}\s+[^\n]*\b(?:file (?:map|structure)|component map|files)\b/i.test(d) || count(d, PATH_TOKEN_RE) >= 2,
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
criterion: "taskBreakdown",
|
|
61
|
+
label: "Task breakdown",
|
|
62
|
+
detect: (d) => count(d, CHECKBOX_RE) >= 2 ||
|
|
63
|
+
count(d, ORDERED_ITEM_RE) >= 2 ||
|
|
64
|
+
count(d, /(?:^|\n)#{1,6}\s+task\b/gi) >= 2,
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
criterion: "testFirst",
|
|
68
|
+
label: "Failing-test-first (TDD)",
|
|
69
|
+
detect: (d) => /\b(?:failing test|test[- ]first|tdd|red[- ]green|write (?:a |the )?(?:failing )?test|tests? (?:first|before)|pinned by)\b/i.test(d),
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
criterion: "verifyCommands",
|
|
73
|
+
label: "Explicit verify commands",
|
|
74
|
+
detect: (d) => /\bverify:/i.test(d) ||
|
|
75
|
+
(/\bverif(?:y|ied|ication)\b/i.test(d) &&
|
|
76
|
+
/\b(?:pnpm|npm run|vitest|tsc|node --test|node --|pytest|go test|cargo test|make)\b/i.test(d)),
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
criterion: "successCriteria",
|
|
80
|
+
label: "Testable success criteria",
|
|
81
|
+
detect: (d) => /\b(?:success (?:criteria|metric)|acceptance (?:criteria|checklist|test)|done when|testing notes|testable)\b/i.test(d),
|
|
82
|
+
},
|
|
83
|
+
];
|
|
84
|
+
/**
|
|
85
|
+
* Score a spec/plan markdown document against {@link PLAN_CRITERIA}. Pure and
|
|
86
|
+
* deterministic — pass the spec text, the plan text, or both concatenated. Each
|
|
87
|
+
* criterion contributes equally; the per-criterion breakdown lets a consumer
|
|
88
|
+
* reweight later without changing the scorer.
|
|
89
|
+
*/
|
|
90
|
+
export function scorePlanQuality(doc) {
|
|
91
|
+
const results = PLAN_CRITERIA.map((c) => ({
|
|
92
|
+
criterion: c.criterion,
|
|
93
|
+
label: c.label,
|
|
94
|
+
met: c.detect(doc),
|
|
95
|
+
}));
|
|
96
|
+
const metCount = results.reduce((n, r) => n + (r.met ? 1 : 0), 0);
|
|
97
|
+
const maxScore = results.length;
|
|
98
|
+
return {
|
|
99
|
+
results,
|
|
100
|
+
metCount,
|
|
101
|
+
maxScore,
|
|
102
|
+
ratio: maxScore > 0 ? metCount / maxScore : 0,
|
|
103
|
+
missing: results.filter((r) => !r.met).map((r) => r.label),
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
const pct = new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 });
|
|
107
|
+
/**
|
|
108
|
+
* Render a rubric score as a short, human-readable scorecard: a header with the
|
|
109
|
+
* met/total and percentage, a checked/unchecked line per criterion, and a
|
|
110
|
+
* one-line "missing" note when the plan is incomplete.
|
|
111
|
+
*/
|
|
112
|
+
export function formatPlanRubric(score) {
|
|
113
|
+
const header = `plan quality: ${score.metCount}/${score.maxScore} ` +
|
|
114
|
+
`(${pct.format(score.ratio * 100)}%)`;
|
|
115
|
+
const lines = score.results.map((r) => ` [${r.met ? "x" : " "}] ${r.label}`);
|
|
116
|
+
const tail = score.missing.length > 0 ? [` missing: ${score.missing.join(", ")}`] : [];
|
|
117
|
+
return [header, ...lines, ...tail].join("\n");
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=plan-rubric.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan-rubric.js","sourceRoot":"","sources":["../src/plan-rubric.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read deduplication (issue #62 P7, slice 7).
|
|
3
|
+
*
|
|
4
|
+
* Otto's `@spill` tags re-run a command each iteration and write its full output
|
|
5
|
+
* to a spill file the agent then `Read`s. For file-content spills (issue bodies,
|
|
6
|
+
* the HEAD patch, large reference files) that content is frequently UNCHANGED from
|
|
7
|
+
* the prior iteration, yet it is re-spilled and re-read in full every turn — pure
|
|
8
|
+
* accumulated context, not necessary work. This module tracks what has already
|
|
9
|
+
* been read this run by a cheap content fingerprint, so the loop can later replace
|
|
10
|
+
* an unchanged re-read with a short "already read, unchanged" reference instead of
|
|
11
|
+
* the full content.
|
|
12
|
+
*
|
|
13
|
+
* Pure + INERT on the loop: nothing here runs a stage, spills a file, or changes
|
|
14
|
+
* behavior. Wiring it into the `@spill` path is a later slice; this is the
|
|
15
|
+
* substrate, mirroring slices 5 (`boundLearnings`) and 6 (`compactCommits`).
|
|
16
|
+
*
|
|
17
|
+
* Imports nothing (no cycle risk): the fingerprint is a small inline hash rather
|
|
18
|
+
* than `node:crypto`, keeping the module pure and dependency-free.
|
|
19
|
+
*/
|
|
20
|
+
/** First read this run / unchanged since last read / content differs. */
|
|
21
|
+
export type ReadStatus = "first" | "unchanged" | "changed";
|
|
22
|
+
/** The last fingerprint seen for a path this run. */
|
|
23
|
+
export type ReadFingerprint = {
|
|
24
|
+
path: string;
|
|
25
|
+
/** Cheap deterministic content fingerprint (`<length>-<hash>`). */
|
|
26
|
+
fingerprint: string;
|
|
27
|
+
/** Byte length of the recorded content. */
|
|
28
|
+
chars: number;
|
|
29
|
+
};
|
|
30
|
+
/** Path → last fingerprint seen this run. Carried across iterations by the loop. */
|
|
31
|
+
export type ReadLedger = {
|
|
32
|
+
seen: Record<string, ReadFingerprint>;
|
|
33
|
+
};
|
|
34
|
+
/** The decision for a single read. */
|
|
35
|
+
export type DedupResult = {
|
|
36
|
+
path: string;
|
|
37
|
+
status: ReadStatus;
|
|
38
|
+
fingerprint: string;
|
|
39
|
+
chars: number;
|
|
40
|
+
/** Chars that need NOT be re-spilled because the content is unchanged. */
|
|
41
|
+
savedChars: number;
|
|
42
|
+
};
|
|
43
|
+
/** Run-level tally over many reads — the "what was deduplicated" reporting surface. */
|
|
44
|
+
export type DedupSummary = {
|
|
45
|
+
total: number;
|
|
46
|
+
first: number;
|
|
47
|
+
unchanged: number;
|
|
48
|
+
changed: number;
|
|
49
|
+
savedChars: number;
|
|
50
|
+
};
|
|
51
|
+
/** A fresh, empty ledger for the start of a run. */
|
|
52
|
+
export declare function emptyReadLedger(): ReadLedger;
|
|
53
|
+
/**
|
|
54
|
+
* Cheap deterministic content fingerprint: FNV-1a 32-bit, prefixed with the exact
|
|
55
|
+
* content length. Pairing the hash with the length means two contents of different
|
|
56
|
+
* length can never share a fingerprint; a hash collision (astronomically unlikely)
|
|
57
|
+
* would at worst treat changed content as unchanged, and the inverse — a mismatch
|
|
58
|
+
* — only ever causes a safe re-spill, so the failure mode is conservative.
|
|
59
|
+
*/
|
|
60
|
+
export declare function fingerprintContent(content: string): string;
|
|
61
|
+
/**
|
|
62
|
+
* Decide whether `content` for `path` is a first read, an unchanged re-read
|
|
63
|
+
* (dedupable — saves its full chars), or changed (must be re-spilled), and return
|
|
64
|
+
* the updated ledger. Pure: the input ledger is never mutated (a fresh copy is
|
|
65
|
+
* returned), mirroring the copy-not-mutate discipline of `memory.ts` /
|
|
66
|
+
* `iteration-compaction.ts`.
|
|
67
|
+
*/
|
|
68
|
+
export declare function recordRead(ledger: ReadLedger, path: string, content: string): {
|
|
69
|
+
ledger: ReadLedger;
|
|
70
|
+
result: DedupResult;
|
|
71
|
+
};
|
|
72
|
+
/** Tally a set of read decisions into run-level counts + total chars saved. */
|
|
73
|
+
export declare function summarizeReads(results: DedupResult[]): DedupSummary;
|
|
74
|
+
/**
|
|
75
|
+
* Render the short reference that replaces a full re-spill when a read is
|
|
76
|
+
* unchanged — citing the path, the chars saved, and where the already-read copy
|
|
77
|
+
* lives, so the prompt stays honest about what was deduplicated (the issue's
|
|
78
|
+
* "avoid re-spilling unchanged content"). Only meaningful for an `unchanged`
|
|
79
|
+
* result; the caller spills fresh for `first`/`changed`.
|
|
80
|
+
*/
|
|
81
|
+
export declare function formatReadReference(result: DedupResult, opts: {
|
|
82
|
+
refPath: string;
|
|
83
|
+
}): string;
|
|
84
|
+
//# sourceMappingURL=read-dedup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-dedup.d.ts","sourceRoot":"","sources":["../src/read-dedup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,yEAAyE;AACzE,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,WAAW,GAAG,SAAS,CAAC;AAE3D,qDAAqD;AACrD,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CACvC,CAAC;AAEF,sCAAsC;AACtC,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,uFAAuF;AACvF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oDAAoD;AACpD,wBAAgB,eAAe,IAAI,UAAU,CAE5C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO1D;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,UAAU,EAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE,CAmB7C;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,YAAY,CAanE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,GACxB,MAAM,CAMR"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Read deduplication (issue #62 P7, slice 7).
|
|
3
|
+
*
|
|
4
|
+
* Otto's `@spill` tags re-run a command each iteration and write its full output
|
|
5
|
+
* to a spill file the agent then `Read`s. For file-content spills (issue bodies,
|
|
6
|
+
* the HEAD patch, large reference files) that content is frequently UNCHANGED from
|
|
7
|
+
* the prior iteration, yet it is re-spilled and re-read in full every turn — pure
|
|
8
|
+
* accumulated context, not necessary work. This module tracks what has already
|
|
9
|
+
* been read this run by a cheap content fingerprint, so the loop can later replace
|
|
10
|
+
* an unchanged re-read with a short "already read, unchanged" reference instead of
|
|
11
|
+
* the full content.
|
|
12
|
+
*
|
|
13
|
+
* Pure + INERT on the loop: nothing here runs a stage, spills a file, or changes
|
|
14
|
+
* behavior. Wiring it into the `@spill` path is a later slice; this is the
|
|
15
|
+
* substrate, mirroring slices 5 (`boundLearnings`) and 6 (`compactCommits`).
|
|
16
|
+
*
|
|
17
|
+
* Imports nothing (no cycle risk): the fingerprint is a small inline hash rather
|
|
18
|
+
* than `node:crypto`, keeping the module pure and dependency-free.
|
|
19
|
+
*/
|
|
20
|
+
/** A fresh, empty ledger for the start of a run. */
|
|
21
|
+
export function emptyReadLedger() {
|
|
22
|
+
return { seen: {} };
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Cheap deterministic content fingerprint: FNV-1a 32-bit, prefixed with the exact
|
|
26
|
+
* content length. Pairing the hash with the length means two contents of different
|
|
27
|
+
* length can never share a fingerprint; a hash collision (astronomically unlikely)
|
|
28
|
+
* would at worst treat changed content as unchanged, and the inverse — a mismatch
|
|
29
|
+
* — only ever causes a safe re-spill, so the failure mode is conservative.
|
|
30
|
+
*/
|
|
31
|
+
export function fingerprintContent(content) {
|
|
32
|
+
let h = 0x811c9dc5;
|
|
33
|
+
for (let i = 0; i < content.length; i++) {
|
|
34
|
+
h ^= content.charCodeAt(i);
|
|
35
|
+
h = Math.imul(h, 0x01000193);
|
|
36
|
+
}
|
|
37
|
+
return `${content.length}-${(h >>> 0).toString(36)}`;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Decide whether `content` for `path` is a first read, an unchanged re-read
|
|
41
|
+
* (dedupable — saves its full chars), or changed (must be re-spilled), and return
|
|
42
|
+
* the updated ledger. Pure: the input ledger is never mutated (a fresh copy is
|
|
43
|
+
* returned), mirroring the copy-not-mutate discipline of `memory.ts` /
|
|
44
|
+
* `iteration-compaction.ts`.
|
|
45
|
+
*/
|
|
46
|
+
export function recordRead(ledger, path, content) {
|
|
47
|
+
const fingerprint = fingerprintContent(content);
|
|
48
|
+
const chars = content.length;
|
|
49
|
+
const prior = ledger.seen[path];
|
|
50
|
+
let status;
|
|
51
|
+
if (!prior)
|
|
52
|
+
status = "first";
|
|
53
|
+
else if (prior.fingerprint === fingerprint)
|
|
54
|
+
status = "unchanged";
|
|
55
|
+
else
|
|
56
|
+
status = "changed";
|
|
57
|
+
const result = {
|
|
58
|
+
path,
|
|
59
|
+
status,
|
|
60
|
+
fingerprint,
|
|
61
|
+
chars,
|
|
62
|
+
savedChars: status === "unchanged" ? chars : 0,
|
|
63
|
+
};
|
|
64
|
+
const nextLedger = {
|
|
65
|
+
seen: { ...ledger.seen, [path]: { path, fingerprint, chars } },
|
|
66
|
+
};
|
|
67
|
+
return { ledger: nextLedger, result };
|
|
68
|
+
}
|
|
69
|
+
/** Tally a set of read decisions into run-level counts + total chars saved. */
|
|
70
|
+
export function summarizeReads(results) {
|
|
71
|
+
const summary = {
|
|
72
|
+
total: results.length,
|
|
73
|
+
first: 0,
|
|
74
|
+
unchanged: 0,
|
|
75
|
+
changed: 0,
|
|
76
|
+
savedChars: 0,
|
|
77
|
+
};
|
|
78
|
+
for (const r of results) {
|
|
79
|
+
summary[r.status] += 1;
|
|
80
|
+
summary.savedChars += r.savedChars;
|
|
81
|
+
}
|
|
82
|
+
return summary;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Render the short reference that replaces a full re-spill when a read is
|
|
86
|
+
* unchanged — citing the path, the chars saved, and where the already-read copy
|
|
87
|
+
* lives, so the prompt stays honest about what was deduplicated (the issue's
|
|
88
|
+
* "avoid re-spilling unchanged content"). Only meaningful for an `unchanged`
|
|
89
|
+
* result; the caller spills fresh for `first`/`changed`.
|
|
90
|
+
*/
|
|
91
|
+
export function formatReadReference(result, opts) {
|
|
92
|
+
return (`_Read deduplicated: \`${result.path}\` is unchanged since it was read ` +
|
|
93
|
+
`earlier this run (saved ${result.savedChars} chars) — re-use the copy at ` +
|
|
94
|
+
`${opts.refPath}._`);
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=read-dedup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-dedup.js","sourceRoot":"","sources":["../src/read-dedup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAsCH,oDAAoD;AACpD,MAAM,UAAU,eAAe;IAC7B,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,IAAI,CAAC,GAAG,UAAU,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AACvD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CACxB,MAAkB,EAClB,IAAY,EACZ,OAAe;IAEf,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,MAAkB,CAAC;IACvB,IAAI,CAAC,KAAK;QAAE,MAAM,GAAG,OAAO,CAAC;SACxB,IAAI,KAAK,CAAC,WAAW,KAAK,WAAW;QAAE,MAAM,GAAG,WAAW,CAAC;;QAC5D,MAAM,GAAG,SAAS,CAAC;IACxB,MAAM,MAAM,GAAgB;QAC1B,IAAI;QACJ,MAAM;QACN,WAAW;QACX,KAAK;QACL,UAAU,EAAE,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KAC/C,CAAC;IACF,MAAM,UAAU,GAAe;QAC7B,IAAI,EAAE,EAAE,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE;KAC/D,CAAC;IACF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,OAAsB;IACnD,MAAM,OAAO,GAAiB;QAC5B,KAAK,EAAE,OAAO,CAAC,MAAM;QACrB,KAAK,EAAE,CAAC;QACR,SAAS,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC;QACV,UAAU,EAAE,CAAC;KACd,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACvB,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC;IACrC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAmB,EACnB,IAAyB;IAEzB,OAAO,CACL,yBAAyB,MAAM,CAAC,IAAI,oCAAoC;QACxE,2BAA2B,MAAM,CAAC,UAAU,+BAA+B;QAC3E,GAAG,IAAI,CAAC,OAAO,IAAI,CACpB,CAAC;AACJ,CAAC"}
|
package/dist/run-bin.d.ts
CHANGED
|
@@ -45,6 +45,8 @@ export type RunBinConfig = {
|
|
|
45
45
|
issueStage?: Stage;
|
|
46
46
|
/** Single read-only gate stage used when --verify is set. Only otto-afk sets this. */
|
|
47
47
|
verifyStage?: Stage;
|
|
48
|
+
/** Single authoring gate stage used when --plan is set (#63 P8). Only otto-afk sets this. */
|
|
49
|
+
planStage?: Stage;
|
|
48
50
|
/** Gate stage used when --apply-review is set. Only otto-afk sets this. */
|
|
49
51
|
applyReviewStage?: Stage;
|
|
50
52
|
/** Run mode identifier threaded into runLoop state (e.g. "afk" / "ghafk"). */
|
package/dist/run-bin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-bin.d.ts","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG;IACzB,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC5B;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,iEAAiE;IACjE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gFAAgF;IAChF,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,sFAAsF;IACtF,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;CAC/C,CAAC;AA2BF;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"run-bin.d.ts","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG;IACzB,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC5B;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,iEAAiE;IACjE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gFAAgF;IAChF,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,sFAAsF;IACtF,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;CAC/C,CAAC;AA2BF;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAskB7E"}
|
package/dist/run-bin.js
CHANGED
|
@@ -55,6 +55,26 @@ export async function runBin(argv, cfg) {
|
|
|
55
55
|
const here = dirname(fileURLToPath(import.meta.url));
|
|
56
56
|
const packageDir = resolve(here, "..");
|
|
57
57
|
const workspaceDir = resolve(process.env.OTTO_WORKSPACE ?? process.cwd());
|
|
58
|
+
// --context-report (issue #62 P7): a read-only surface over the latest run
|
|
59
|
+
// bundle's per-stage context breakdowns. Like --print-config it prints and
|
|
60
|
+
// exits without running a stage, so it needs none of the resolution below.
|
|
61
|
+
if (flags.contextReport) {
|
|
62
|
+
const { runContextReport } = await import("./context-report-cli.js");
|
|
63
|
+
const code = await runContextReport();
|
|
64
|
+
if (code !== 0)
|
|
65
|
+
process.exit(code);
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// --plan-report (issue #63 P8): a read-only surface scoring the authored plans
|
|
69
|
+
// under .otto/tasks/ with the plan-quality rubric. Like --context-report it
|
|
70
|
+
// prints and exits without running a stage.
|
|
71
|
+
if (flags.planReport) {
|
|
72
|
+
const { runPlanReport } = await import("./plan-report-cli.js");
|
|
73
|
+
const code = await runPlanReport();
|
|
74
|
+
if (code !== 0)
|
|
75
|
+
process.exit(code);
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
58
78
|
const envMaxWait = process.env.OTTO_MAX_WAIT?.trim();
|
|
59
79
|
const maxWaitMs = flags.maxWaitMs ?? (envMaxWait ? parseDurationMs(envMaxWait) : undefined);
|
|
60
80
|
let tokenMode = flags.tokenMode ?? "off";
|
|
@@ -147,9 +167,11 @@ export async function runBin(argv, cfg) {
|
|
|
147
167
|
// the selected mode. Depends only on flags, not on the guards below.
|
|
148
168
|
const runMode = flags.verify
|
|
149
169
|
? "verify"
|
|
150
|
-
: flags.
|
|
151
|
-
? "
|
|
152
|
-
:
|
|
170
|
+
: flags.plan
|
|
171
|
+
? "plan"
|
|
172
|
+
: flags.applyReview != null
|
|
173
|
+
? "review"
|
|
174
|
+
: cfg.mode;
|
|
153
175
|
// Single source of truth for the --watch label: the per-mode resolver
|
|
154
176
|
// (otto-linear-afk → OTTO_LINEAR_LABEL) falling back to OTTO_WATCH_LABEL.
|
|
155
177
|
// Both --print-config and the runWatch call below read this, so the reported
|
|
@@ -352,16 +374,21 @@ export async function runBin(argv, cfg) {
|
|
|
352
374
|
}
|
|
353
375
|
const modeCount = (flags.issue != null ? 1 : 0) +
|
|
354
376
|
(flags.verify ? 1 : 0) +
|
|
377
|
+
(flags.plan ? 1 : 0) +
|
|
355
378
|
(flags.applyReview != null ? 1 : 0) +
|
|
356
379
|
(flags.watch ? 1 : 0);
|
|
357
380
|
if (modeCount > 1) {
|
|
358
|
-
console.error("--issue, --verify, --apply-review, and --watch are mutually exclusive");
|
|
381
|
+
console.error("--issue, --verify, --plan, --apply-review, and --watch are mutually exclusive");
|
|
359
382
|
process.exit(1);
|
|
360
383
|
}
|
|
361
384
|
if (flags.verify && !cfg.verifyStage) {
|
|
362
385
|
console.error("--verify is only supported by otto-afk");
|
|
363
386
|
process.exit(1);
|
|
364
387
|
}
|
|
388
|
+
if (flags.plan && !cfg.planStage) {
|
|
389
|
+
console.error("--plan is only supported by otto-afk");
|
|
390
|
+
process.exit(1);
|
|
391
|
+
}
|
|
365
392
|
if (flags.applyReview != null && !cfg.applyReviewStage) {
|
|
366
393
|
console.error("--apply-review is only supported by otto-afk");
|
|
367
394
|
process.exit(1);
|
|
@@ -380,21 +407,24 @@ export async function runBin(argv, cfg) {
|
|
|
380
407
|
: cfg.takesInputArg
|
|
381
408
|
? flags.rest[1]
|
|
382
409
|
: flags.rest[0];
|
|
383
|
-
|
|
384
|
-
|
|
410
|
+
// --verify and --plan are both one-shot, input-taking gates (no iterations arg).
|
|
411
|
+
const oneShot = flags.verify || flags.plan;
|
|
412
|
+
const oneShotFlag = flags.verify ? "--verify" : "--plan";
|
|
413
|
+
if (oneShot && (!cfg.takesInputArg || !inputs)) {
|
|
414
|
+
console.error(`Usage: ${cfg.bin} ${oneShotFlag} "<plan-and-prd>"`);
|
|
385
415
|
process.exit(1);
|
|
386
416
|
}
|
|
387
|
-
if (!
|
|
417
|
+
if (!oneShot && ((cfg.takesInputArg && !inputs) || !iterationsArg)) {
|
|
388
418
|
console.error(`Usage: ${cfg.bin} ${cfg.usage}`);
|
|
389
419
|
console.error(` ${cfg.bin} --help`);
|
|
390
420
|
process.exit(1);
|
|
391
421
|
}
|
|
392
|
-
//
|
|
393
|
-
if (
|
|
394
|
-
console.error(
|
|
422
|
+
// One-shot regardless of any positional count.
|
|
423
|
+
if (oneShot && iterationsArg) {
|
|
424
|
+
console.error(`${oneShotFlag} is one-shot; ignoring the iterations argument`);
|
|
395
425
|
}
|
|
396
|
-
const iterations =
|
|
397
|
-
if (!
|
|
426
|
+
const iterations = oneShot ? 1 : Number.parseInt(iterationsArg, 10);
|
|
427
|
+
if (!oneShot && (!Number.isFinite(iterations) || iterations < 1)) {
|
|
398
428
|
console.error(`Invalid iterations: ${iterationsArg}`);
|
|
399
429
|
process.exit(1);
|
|
400
430
|
}
|
|
@@ -411,11 +441,13 @@ export async function runBin(argv, cfg) {
|
|
|
411
441
|
}
|
|
412
442
|
const stages = flags.verify
|
|
413
443
|
? [cfg.verifyStage]
|
|
414
|
-
: flags.
|
|
415
|
-
? [cfg.
|
|
416
|
-
: flags.
|
|
417
|
-
? [cfg.
|
|
418
|
-
:
|
|
444
|
+
: flags.plan
|
|
445
|
+
? [cfg.planStage]
|
|
446
|
+
: flags.applyReview != null
|
|
447
|
+
? [cfg.applyReviewStage, ...cfg.stages.slice(1)]
|
|
448
|
+
: flags.issue != null
|
|
449
|
+
? [cfg.issueStage, ...cfg.stages.slice(1)]
|
|
450
|
+
: cfg.stages;
|
|
419
451
|
if (flags.detach && detachLogPath) {
|
|
420
452
|
detachAndExit({
|
|
421
453
|
logPath: detachLogPath,
|
package/dist/run-bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-bin.js","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"run-bin.js","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,GAGhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EACL,UAAU,EACV,eAAe,EACf,WAAW,EACX,SAAS,EACT,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAkB,MAAM,eAAe,CAAC;AAE/E,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AA8D7C;;;;;;;GAOG;AACH,SAAS,qBAAqB,CAAC,YAAoB;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAAE,OAAO;IACpD,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,QAAQ,GAAG,UAAU,CAAC,aAAa,CAAC;QACtC,CAAC,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;QACrC,CAAC,CAAC,EAAE,CAAC;IACP,KAAK,MAAM,KAAK,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE,CAAC;QACxD,MAAM,cAAc,GAAG,QAAQ;aAC5B,KAAK,CAAC,IAAI,CAAC;aACX,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,CAAC;QACzC,IAAI,cAAc;YAAE,SAAS;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3E,cAAc,CAAC,aAAa,EAAE,GAAG,MAAM,GAAG,KAAK,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7D,QAAQ,IAAI,GAAG,MAAM,GAAG,KAAK,IAAI,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,IAAc,EAAE,GAAiB;IAC5D,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;IAE/D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,6EAA6E;IAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE1E,2EAA2E;IAC3E,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACtC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,+EAA+E;IAC/E,4EAA4E;IAC5E,4CAA4C;IAC5C,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,MAAM,aAAa,EAAE,CAAC;QACnC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO;IACT,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACrD,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC5E,IAAI,SAAS,GAAc,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;IACpD,IAAI,cAAkC,CAAC;IACvC,IAAI,KAAK,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,SAAS,GAAG,cAAc,CACxB,OAAO,CAAC,GAAG,CAAC,eAAe,EAC3B,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,cAAc,GAAI,GAAa,CAAC,OAAO,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,kFAAkF;IAClF,kFAAkF;IAClF,mFAAmF;IACnF,IAAI,KAAK,GAAyB;QAChC,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,aAAa;QAC1B,MAAM,EAAE,SAAS;KAClB,CAAC;IACF,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACH,KAAK,GAAG,mBAAmB,CAAC;YAC1B,IAAI,EAAE,KAAK,CAAC,KAAK;YACjB,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;YAC3B,MAAM,EAAE,eAAe,CAAC,YAAY,CAAC;SACtC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,UAAU,GAAI,GAAa,CAAC,OAAO,CAAC;IACtC,CAAC;IAED,6EAA6E;IAC7E,gFAAgF;IAChF,4EAA4E;IAC5E,0EAA0E;IAC1E,gCAAgC;IAChC,IAAI,QAAQ,GAAqB,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACvD,IAAI,aAAiC,CAAC;IACtC,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC/C,QAAQ,GAAG,eAAe,CAAC;YACzB,SAAS,EAAE,KAAK,CAAC,aAAa;YAC9B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;YACzC,WAAW,EAAE,KAAK,CAAC,KAAK;YACxB,cAAc,EAAE,KAAK,CAAC,iBAAiB;YACvC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;YACpD,gBAAgB,EAAE,KAAK,CAAC,UAAU;SACnC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,aAAa,GAAI,GAAa,CAAC,OAAO,CAAC;IACzC,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;IAClD,MAAM,iBAAiB,GACrB,KAAK,CAAC,MAAM;QACZ,CAAC,SAAS,KAAK,SAAS;YACxB,SAAS,KAAK,QAAQ;YACtB,SAAS,KAAK,UAAU;YACtB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,SAAS,CAAC,CAAC;IACjB,MAAM,eAAe,GACnB,KAAK,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;IAC9E,MAAM,mBAAmB,GACvB,KAAK,CAAC,gBAAgB;QACtB,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC,CAAC;IAE5D,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM;QAChC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG;YACV,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;QACzE,CAAC,CAAC,SAAS,CAAC;IAEd,2EAA2E;IAC3E,4EAA4E;IAC5E,0EAA0E;IAC1E,MAAM,cAAc,GAClB,KAAK,CAAC,cAAc;QACpB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CACjC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAC9D,CAAC;IAEJ,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,cAAc,GAClB,KAAK,CAAC,cAAc;QACpB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CACjC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAC9D,CAAC;IAEJ,MAAM,cAAc,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC;SACrD,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,OAAO,CAAC,CAAC;IACnB,yEAAyE;IACzE,8EAA8E;IAC9E,uEAAuE;IACvE,MAAM,YAAY,GAChB,SAAS,CAAC,MAAM,GAAG,CAAC;QAClB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,cAAc;YACnC,CAAC,CAAC,cAAc;YAChB,CAAC,CAAC,SAAS,CAAC;IAElB,6EAA6E;IAC7E,qEAAqE;IACrE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM;QAC1B,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,KAAK,CAAC,IAAI;YACV,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI;gBACzB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IAEjB,sEAAsE;IACtE,0EAA0E;IAC1E,6EAA6E;IAC7E,0DAA0D;IAC1D,MAAM,UAAU,GACd,GAAG,CAAC,iBAAiB,EAAE,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,MAAM,CAAC;IAE9E,8EAA8E;IAC9E,0EAA0E;IAC1E,6EAA6E;IAC7E,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,IAAI,KAA4B,CAAC;IACjC,yEAAyE;IACzE,0EAA0E;IAC1E,4EAA4E;IAC5E,IAAI,MAA+B,CAAC;IACpC,IAAI,UAA8B,CAAC;IACnC,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC1B,wEAAwE;QACxE,wEAAwE;QACxE,MAAM,QAAQ,GACZ,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,KAAK,CAAC,KAAK;YACb,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,GAAG,GACP,QAAQ,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE;gBACpC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;gBACvC,CAAC,CAAC,EAAE,CAAC;QACX,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3B,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;gBAC3C,OAAO,EAAE,QAAQ,EAAE,QAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YACtD,CAAC,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClB,uEAAuE;gBACvE,sEAAsE;gBACtE,gEAAgE;gBAChE,OAAO,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,GAAG,MAAM,CAAC;YAClB,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,UAAU,GAAI,GAAa,CAAC,OAAO,CAAC;QACtC,CAAC;IACH,CAAC;IACD,2EAA2E;IAC3E,8EAA8E;IAC9E,+EAA+E;IAC/E,4EAA4E;IAC5E,+EAA+E;IAC/E,2EAA2E;IAC3E,2EAA2E;IAC3E,IAAI,GAAG,CAAC,oBAAoB,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,EAAE,IAAI,SAAS,CAAC;QAC/D,8EAA8E;QAC9E,0EAA0E;QAC1E,4DAA4D;QAC5D,MAAM,WAAW,GACf,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,GAAG,CAAC;iBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;iBACpB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAChC,MAAM,QAAQ,GACZ,WAAW,CAAC,MAAM,GAAG,CAAC;YACpB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE;gBACvC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;gBAC1C,CAAC,CAAC,EAAE,CAAC;QACX,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,uEAAuE;YACvE,wEAAwE;YACxE,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAClC,QAAQ,EAAE,QAAiB;gBAC3B,IAAI;gBACJ,OAAO;aACR,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5B,sEAAsE;YACtE,uEAAuE;YACvE,wCAAwC;YACxC,IAAI,OAAO;gBAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,GAAG,OAAO,CAAC;YACvD,IAAI,IAAI,IAAI,OAAO;gBAAE,KAAK,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACrE,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,UAAU;QAC3B,CAAC,CAAC,YAAY,UAAU,GAAG;QAC3B,CAAC,CAAC,MAAM;YACN,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACtC,CAAC,CAAC,KAAK;gBACL,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC;gBACtB,CAAC,CAAC,SAAS,CAAC;IAElB,sEAAsE;IACtE,uEAAuE;IACvE,MAAM,gBAAgB,GACpB,KAAK,CAAC,gBAAgB;QACtB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,QAAQ,CAC3B,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CACjE,CAAC;IAEJ,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,EAAE,UAAU,EAAE;YAC7C,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,aAAa;YACb,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS,EAAE,cAAc;gBACvB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC7C,CAAC,CAAC,SAAS;YACb,cAAc;YACd,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,gBAAgB,EAAE,KAAK,CAAC,WAAW;YACnC,WAAW,EAAE,KAAK,CAAC,MAAM;YACzB,UAAU;YACV,eAAe,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE;YACnC,wBAAwB,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW;YACrD,cAAc,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM;YACtC,iBAAiB,EAAE,QAAQ,CAAC,UAAU;YACtC,aAAa;YACb,YAAY,EAAE,YAAY,IAAI,EAAE;YAChC,cAAc;YACd,cAAc;YACd,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,UAAU;YACV,UAAU;YACV,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,gBAAgB;YAChB,SAAS;YACT,cAAc,EAAE,iBAAiB;YACjC,YAAY,EAAE,eAAe;YAC7B,gBAAgB,EAAE,mBAAmB;SACtC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,2EAA2E;IAC3E,4EAA4E;IAC5E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,4EAA4E;IAC5E,8EAA8E;IAC9E,eAAe;IACf,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,6EAA6E;IAC7E,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iCAAkC,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CACX,6DAA6D,CAC9D,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,8EAA8E;IAC9E,yDAAyD;IACzD,IAAI,gBAAgB,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,sDAAsD,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,gBAAgB,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,0EAA0E;IAC1E,6EAA6E;IAC7E,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,SAAS,GACb,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,CAAC,KAAK,CACX,+EAA+E,CAChF,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,KAAK,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GACV,KAAK,CAAC,KAAK,IAAI,IAAI;QACjB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI;YACzB,CAAC,CAAC,KAAK,CAAC,WAAW;YACnB,CAAC,CAAC,GAAG,CAAC,aAAa;gBACjB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;gBACf,CAAC,CAAC,EAAE,CAAC;IACb,gFAAgF;IAChF,oFAAoF;IACpF,MAAM,aAAa,GACjB,KAAK,CAAC,WAAW,IAAI,IAAI;QACvB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACf,CAAC,CAAC,GAAG,CAAC,aAAa;YACjB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACf,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACtB,iFAAiF;IACjF,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC;IAC3C,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzD,IAAI,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,WAAW,mBAAmB,CAAC,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACnE,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IACD,+CAA+C;IAC/C,IAAI,OAAO,IAAI,aAAa,EAAE,CAAC;QAC7B,OAAO,CAAC,KAAK,CAAC,GAAG,WAAW,gDAAgD,CAAC,CAAC;IAChF,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACpE,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,uBAAuB,aAAa,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;QACxB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,4EAA4E;QAC5E,4DAA4D;QAC5D,4EAA4E;QAC5E,yCAAyC;QACzC,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,MAAM,GAAwB,KAAK,CAAC,MAAM;QAC9C,CAAC,CAAC,CAAC,GAAG,CAAC,WAAY,CAAC;QACpB,CAAC,CAAC,KAAK,CAAC,IAAI;YACV,CAAC,CAAC,CAAC,GAAG,CAAC,SAAU,CAAC;YAClB,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,IAAI;gBACzB,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAiB,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACjD,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI;oBACnB,CAAC,CAAC,CAAC,GAAG,CAAC,UAAW,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAC3C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IAErB,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;QAClC,aAAa,CAAC;YACZ,OAAO,EAAE,aAAa;YACtB,IAAI;YACJ,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC;QACnC,YAAY;QACZ,MAAM;QACN,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QACpC,YAAY,EAAE,iBAAiB;QAC/B,UAAU,EAAE,eAAe;QAC3B,cAAc,EAAE,mBAAmB;KACpC,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC;IAClD,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACpE,IAAI,SAAS;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,CAAC,CAAC;IAExD,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAE/B,MAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;IAC7D,gFAAgF;IAChF,kEAAkE;IAClE,4DAA4D;IAC5D,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;IAE7C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,KAAK,CACX,6DAA6D,CAC9D,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,QAAQ,CAAC;YACb,MAAM;YACN,UAAU;YACV,YAAY,EAAE,qBAAqB;YACnC,UAAU;YACV,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,GAAG;YAC/C,UAAU;YACV,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,SAAS;YACT,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,YAAY;YACZ,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,UAAU,EAAE,GAAG,CAAC,SAAS;YACzB,QAAQ,EAAE,GAAG,CAAC,aAAa;YAC3B,KAAK;YACL,MAAM;YACN,OAAO,EAAE,KAAK,CAAC,EAAE;YACjB,gBAAgB,EAAE,KAAK,CAAC,WAAW;YACnC,eAAe,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE;YACnC,wBAAwB,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW;YACrD,iBAAiB,EAAE,QAAQ,CAAC,UAAU;SACvC,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,MAAM,QAAQ,GAAG;QACf,MAAM;QACN,UAAU;QACV,YAAY,EAAE,qBAAqB;QACnC,UAAU;QACV,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS;QACT,YAAY;QACZ,cAAc;QACd,cAAc;QACd,IAAI,EAAE,OAAO;QACb,cAAc,EAAE,QAAQ,CAAC,QAAQ;QACjC,SAAS;QACT,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,gBAAgB,EAAE,KAAK,CAAC,WAAW;QACnC,eAAe,EAAE,QAAQ,CAAC,KAAK,EAAE,EAAE;QACnC,wBAAwB,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW;QACrD,iBAAiB,EAAE,QAAQ,CAAC,UAAU;KACvC,CAAC;IAEF,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,IAAI,gBAAgB,EAAE,CAAC;QAC5C,MAAM,EAAE,mBAAmB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACpD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAClC,GAAG,EAAE,qBAAqB;SAC3B,CAAC,CAAC;QACH,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0BAA0B,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,IAAI,CACrH,CAAC;QACF,6EAA6E;QAC7E,uDAAuD;QACvD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBAClD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,uBAAuB,KAAK,CAAC,MAAM,0BAA0B,CAAC,IAAI,CACnE,CAAC;gBACF,MAAM;YACR,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC;gBACjC,GAAG,QAAQ;gBACX,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjB,SAAS,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS;aACnE,CAAC,CAAC;YACH,KAAK,IAAI,YAAY,CAAC,OAAO,CAAC;QAChC,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,CAAC;QACZ,GAAG,QAAQ;QACX,MAAM,EAAE,MAAM,IAAI,EAAE;QACpB,SAAS,EAAE,KAAK,CAAC,MAAM;KACxB,CAAC,CAAC;AACL,CAAC"}
|
package/dist/run-report.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AgentRuntimeId } from "./agent-runtime.js";
|
|
2
|
+
import type { ContextBreakdown } from "./context-report.js";
|
|
2
3
|
import type { PolicyViolationKind } from "./safety-policy.js";
|
|
3
4
|
import type { TaintSource } from "./taint.js";
|
|
4
5
|
import type { TokenUsage } from "./tokens.js";
|
|
@@ -76,6 +77,8 @@ export type StageRecord = {
|
|
|
76
77
|
safetyEvents?: SafetyEvent[];
|
|
77
78
|
/** Skills applied while this stage ran (issue #44, INERT); absent = none. */
|
|
78
79
|
skillsUsed?: SkillUsage[];
|
|
80
|
+
/** Composition of this stage's rendered prompt (issue #62 P7); absent = not measured. */
|
|
81
|
+
contextBreakdown?: ContextBreakdown;
|
|
79
82
|
startedAt: string;
|
|
80
83
|
finishedAt: string;
|
|
81
84
|
};
|