@farmslot/protocol 0.38.0 → 0.40.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 +26 -0
- package/dist/agents/reviewer-context.d.ts +4 -4
- package/dist/agents/reviewer-context.d.ts.map +1 -1
- package/dist/agents/reviewer-context.js +10 -10
- package/dist/agents/reviewer-context.js.map +1 -1
- package/dist/agents/roles.d.ts +2 -2
- package/dist/agents/roles.d.ts.map +1 -1
- package/dist/agents/roles.js +5 -9
- package/dist/agents/roles.js.map +1 -1
- package/dist/checklist-target.d.ts +6 -6
- package/dist/checklist-target.d.ts.map +1 -1
- package/dist/checklist-target.js +11 -11
- package/dist/checklist-target.js.map +1 -1
- package/dist/contracts/acceptance.d.ts +19 -34
- package/dist/contracts/acceptance.d.ts.map +1 -1
- package/dist/contracts/acceptance.js +11 -156
- package/dist/contracts/acceptance.js.map +1 -1
- package/dist/contracts/agents.d.ts +7 -2
- package/dist/contracts/agents.d.ts.map +1 -1
- package/dist/contracts/agents.js +13 -2
- package/dist/contracts/agents.js.map +1 -1
- package/dist/contracts/analytics.d.ts +2 -2
- package/dist/contracts/analytics.d.ts.map +1 -1
- package/dist/contracts/backlog.d.ts +16 -7
- package/dist/contracts/backlog.d.ts.map +1 -1
- package/dist/contracts/backlog.js.map +1 -1
- package/dist/contracts/config.d.ts +12 -3
- package/dist/contracts/config.d.ts.map +1 -1
- package/dist/contracts/config.js +32 -0
- package/dist/contracts/config.js.map +1 -1
- package/dist/contracts/dispatch.d.ts +7 -4
- package/dist/contracts/dispatch.d.ts.map +1 -1
- package/dist/contracts/family.d.ts +2 -2
- package/dist/contracts/family.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +3 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +3 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/pr-monitoring.d.ts +8 -8
- package/dist/contracts/pr-monitoring.d.ts.map +1 -1
- package/dist/contracts/pr-rules.d.ts +5 -7
- package/dist/contracts/pr-rules.d.ts.map +1 -1
- package/dist/contracts/pr-rules.js +4 -6
- package/dist/contracts/pr-rules.js.map +1 -1
- package/dist/contracts/qa.d.ts +2 -2
- package/dist/contracts/qa.d.ts.map +1 -1
- package/dist/contracts/qa.js +5 -9
- package/dist/contracts/qa.js.map +1 -1
- package/dist/contracts/recipe-conformance.d.ts +51 -0
- package/dist/contracts/recipe-conformance.d.ts.map +1 -1
- package/dist/contracts/recipe-conformance.js +134 -1
- package/dist/contracts/recipe-conformance.js.map +1 -1
- package/dist/contracts/resources.d.ts +1 -1
- package/dist/contracts/resources.d.ts.map +1 -1
- package/dist/contracts/resources.js.map +1 -1
- package/dist/contracts/reviews.d.ts +19 -3
- package/dist/contracts/reviews.d.ts.map +1 -1
- package/dist/contracts/reviews.js +2 -2
- package/dist/contracts/reviews.js.map +1 -1
- package/dist/contracts/run-gate-readiness.d.ts +26 -0
- package/dist/contracts/run-gate-readiness.d.ts.map +1 -0
- package/dist/contracts/run-gate-readiness.js +5 -0
- package/dist/contracts/run-gate-readiness.js.map +1 -0
- package/dist/contracts/run-lifecycle-view.d.ts +17 -0
- package/dist/contracts/run-lifecycle-view.d.ts.map +1 -0
- package/dist/contracts/run-lifecycle-view.js +70 -0
- package/dist/contracts/run-lifecycle-view.js.map +1 -0
- package/dist/contracts/runner-mobile-keys.d.ts +217 -0
- package/dist/contracts/runner-mobile-keys.d.ts.map +1 -0
- package/dist/contracts/runner-mobile-keys.js +189 -0
- package/dist/contracts/runner-mobile-keys.js.map +1 -0
- package/dist/contracts/runs.d.ts +109 -91
- package/dist/contracts/runs.d.ts.map +1 -1
- package/dist/contracts/runs.js +12 -14
- package/dist/contracts/runs.js.map +1 -1
- package/dist/contracts/runtime-capabilities.d.ts +2 -0
- package/dist/contracts/runtime-capabilities.d.ts.map +1 -1
- package/dist/contracts/runtime-capabilities.js.map +1 -1
- package/dist/contracts/template-placeholders.d.ts +0 -6
- package/dist/contracts/template-placeholders.d.ts.map +1 -1
- package/dist/contracts/template-placeholders.js +22 -4
- package/dist/contracts/template-placeholders.js.map +1 -1
- package/dist/contracts/worker-terminal.d.ts +19 -0
- package/dist/contracts/worker-terminal.d.ts.map +1 -1
- package/dist/contracts/worker-terminal.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/integrations/pr-monitoring.d.ts.map +1 -1
- package/dist/integrations/pr-monitoring.js +9 -3
- package/dist/integrations/pr-monitoring.js.map +1 -1
- package/dist/integrations/pr-rule-config.d.ts.map +1 -1
- package/dist/integrations/pr-rule-config.js +21 -25
- package/dist/integrations/pr-rule-config.js.map +1 -1
- package/dist/integrations/pr-workflow-defaults.d.ts.map +1 -1
- package/dist/integrations/pr-workflow-defaults.js +2 -5
- package/dist/integrations/pr-workflow-defaults.js.map +1 -1
- package/dist/recipe/artifact.d.ts.map +1 -1
- package/dist/recipe/artifact.js +20 -4
- package/dist/recipe/artifact.js.map +1 -1
- package/dist/recipe/document.d.ts +5 -1
- package/dist/recipe/document.d.ts.map +1 -1
- package/dist/recipe/document.js +66 -37
- package/dist/recipe/document.js.map +1 -1
- package/dist/recipe/evidence.d.ts +128 -0
- package/dist/recipe/evidence.d.ts.map +1 -0
- package/dist/recipe/evidence.js +141 -0
- package/dist/recipe/evidence.js.map +1 -0
- package/dist/recipe/hud-intent.d.ts +56 -0
- package/dist/recipe/hud-intent.d.ts.map +1 -0
- package/dist/recipe/hud-intent.js +46 -0
- package/dist/recipe/hud-intent.js.map +1 -0
- package/dist/recipe/index.d.ts +4 -2
- package/dist/recipe/index.d.ts.map +1 -1
- package/dist/recipe/index.js +4 -2
- package/dist/recipe/index.js.map +1 -1
- package/dist/recipe/recording.d.ts +7 -0
- package/dist/recipe/recording.d.ts.map +1 -1
- package/dist/recipe/recording.js +48 -0
- package/dist/recipe/recording.js.map +1 -1
- package/dist/recipe/workflow.d.ts.map +1 -1
- package/dist/recipe/workflow.js +23 -1
- package/dist/recipe/workflow.js.map +1 -1
- package/dist/recipes/step-io.d.ts +8 -4
- package/dist/recipes/step-io.d.ts.map +1 -1
- package/dist/recipes/step-io.js.map +1 -1
- package/dist/rpc/copilot-runtime.d.ts +1 -1
- package/dist/rpc/copilot-runtime.d.ts.map +1 -1
- package/dist/rpc/dispatch.d.ts +10 -6
- package/dist/rpc/dispatch.d.ts.map +1 -1
- package/dist/rpc/native-session.d.ts +1 -0
- package/dist/rpc/native-session.d.ts.map +1 -1
- package/dist/rpc/native-session.js.map +1 -1
- package/dist/rpc/roadmap.d.ts +2 -0
- package/dist/rpc/roadmap.d.ts.map +1 -1
- package/dist/rpc/run.d.ts +5 -3
- package/dist/rpc/run.d.ts.map +1 -1
- package/dist/rpc/run.js.map +1 -1
- package/dist/rpc/slot.d.ts +1 -0
- package/dist/rpc/slot.d.ts.map +1 -1
- package/dist/rpc/tmux.d.ts +10 -0
- package/dist/rpc/tmux.d.ts.map +1 -1
- package/dist/runs/ci-decision-context.d.ts +40 -0
- package/dist/runs/ci-decision-context.d.ts.map +1 -0
- package/dist/runs/ci-decision-context.js +129 -0
- package/dist/runs/ci-decision-context.js.map +1 -0
- package/dist/runs/decision-resolution.d.ts +37 -1
- package/dist/runs/decision-resolution.d.ts.map +1 -1
- package/dist/runs/decision-resolution.js +44 -1
- package/dist/runs/decision-resolution.js.map +1 -1
- package/dist/runs/family-iteration-ledger.js +1 -1
- package/dist/runs/family-iteration-ledger.js.map +1 -1
- package/dist/runs/publish-approval.d.ts +20 -0
- package/dist/runs/publish-approval.d.ts.map +1 -0
- package/dist/runs/publish-approval.js +29 -0
- package/dist/runs/publish-approval.js.map +1 -0
- package/dist/runs/review-chain.d.ts +2 -2
- package/dist/runs/review-chain.d.ts.map +1 -1
- package/dist/runs/review-chain.js +4 -4
- package/dist/runs/review-chain.js.map +1 -1
- package/dist/runs/review-curation.d.ts +51 -0
- package/dist/runs/review-curation.d.ts.map +1 -0
- package/dist/runs/review-curation.js +138 -0
- package/dist/runs/review-curation.js.map +1 -0
- package/dist/runs/review-policy.d.ts +9 -0
- package/dist/runs/review-policy.d.ts.map +1 -0
- package/dist/runs/review-policy.js +34 -0
- package/dist/runs/review-policy.js.map +1 -0
- package/dist/runs/review-retries.d.ts +10 -10
- package/dist/runs/review-retries.d.ts.map +1 -1
- package/dist/runs/review-retries.js +17 -22
- package/dist/runs/review-retries.js.map +1 -1
- package/dist/runs/slot-resolution.js +1 -1
- package/dist/runs/slot-resolution.js.map +1 -1
- package/dist/transport/signal.d.ts +3 -3
- package/dist/transport/signal.d.ts.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +9 -2
- package/schemas/recipe-v1.schema.json +113 -22
- package/scripts/acceptance.d.mts +16 -0
- package/scripts/acceptance.mjs +233 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import * as contract from '../../scripts/acceptance.mjs';
|
|
1
2
|
// Acceptance-criteria ledger (ADR-060): one verdict per criterion, with the
|
|
2
3
|
// evidence that proves it.
|
|
3
4
|
//
|
|
@@ -8,171 +9,25 @@
|
|
|
8
9
|
// table workers hand-write today is a rendering of this file, so the terminal
|
|
9
10
|
// contract check, the PR body, and the run-detail panel all read one source.
|
|
10
11
|
/** Task-dir relative path of the ledger. Written by `farmslot-agent ac` and recipe runs. */
|
|
11
|
-
export const ACCEPTANCE_STATUS_ARTIFACT =
|
|
12
|
-
export const ACCEPTANCE_VERDICTS =
|
|
13
|
-
export const ACCEPTANCE_PROOF_MODES =
|
|
12
|
+
export const ACCEPTANCE_STATUS_ARTIFACT = contract.ACCEPTANCE_STATUS_ARTIFACT;
|
|
13
|
+
export const ACCEPTANCE_VERDICTS = contract.ACCEPTANCE_VERDICTS;
|
|
14
|
+
export const ACCEPTANCE_PROOF_MODES = contract.ACCEPTANCE_PROOF_MODES;
|
|
14
15
|
/** Ids are positional, so a criterion keeps its id for the life of the task dir. */
|
|
15
|
-
export const ACCEPTANCE_CRITERION_ID_PATTERN =
|
|
16
|
+
export const ACCEPTANCE_CRITERION_ID_PATTERN = contract.ACCEPTANCE_CRITERION_ID_PATTERN;
|
|
16
17
|
/**
|
|
17
18
|
* `AC-<N>` for a criterion's position in the handoff array.
|
|
18
19
|
*
|
|
19
20
|
* @param index 0-based position in `inputs/handoff.json` `task.acceptanceCriteria`.
|
|
20
21
|
*/
|
|
21
|
-
export
|
|
22
|
-
return `AC-${index + 1}`;
|
|
23
|
-
}
|
|
22
|
+
export const acceptanceCriterionId = contract.acceptanceCriterionId;
|
|
24
23
|
/**
|
|
25
24
|
* Every registered criterion in id order, each with its recorded verdict or null.
|
|
26
25
|
* `criteria` is the authority for how many criteria the run has; `ledger` only ever
|
|
27
26
|
* holds the ones already judged.
|
|
28
27
|
*/
|
|
29
|
-
export
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}));
|
|
35
|
-
// A ledger entry for an id the handoff does not list is still shown: hiding it
|
|
36
|
-
// would hide a contract violation the terminal check refuses on.
|
|
37
|
-
for (const entry of ledger?.criteria ?? []) {
|
|
38
|
-
if (!criteria.some((criterion) => criterion.id === entry.id)) {
|
|
39
|
-
rows.push({ id: entry.id, text: entry.text, status: entry });
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return rows;
|
|
43
|
-
}
|
|
44
|
-
function isRecord(value) {
|
|
45
|
-
return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
|
|
46
|
-
}
|
|
47
|
-
function isNonEmptyString(value) {
|
|
48
|
-
return typeof value === 'string' && value.trim().length > 0;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Contract issues for a parsed ledger; an empty array means the value is a valid
|
|
52
|
-
* {@link AcceptanceStatusLedger}. Issue strings are caller-printable and name the
|
|
53
|
-
* offending field, the way the task artifact contract check reports its own.
|
|
54
|
-
*/
|
|
55
|
-
export function validateAcceptanceStatusLedger(value) {
|
|
56
|
-
const issues = [];
|
|
57
|
-
if (!isRecord(value))
|
|
58
|
-
return ['acceptance ledger: expected object'];
|
|
59
|
-
if (value.schemaVersion !== 1)
|
|
60
|
-
issues.push('acceptance ledger schemaVersion: expected 1');
|
|
61
|
-
if (!Array.isArray(value.criteria)) {
|
|
62
|
-
issues.push('acceptance ledger criteria: expected array');
|
|
63
|
-
return issues;
|
|
64
|
-
}
|
|
65
|
-
const seen = new Set();
|
|
66
|
-
value.criteria.forEach((entry, index) => {
|
|
67
|
-
const prefix = `acceptance ledger criteria[${index}]`;
|
|
68
|
-
if (!isRecord(entry)) {
|
|
69
|
-
issues.push(`${prefix}: expected object`);
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
if (!isNonEmptyString(entry.id) || !ACCEPTANCE_CRITERION_ID_PATTERN.test(entry.id)) {
|
|
73
|
-
issues.push(`${prefix}.id: expected AC-<N>`);
|
|
74
|
-
}
|
|
75
|
-
else if (seen.has(entry.id)) {
|
|
76
|
-
issues.push(`${prefix}.id: duplicate ${entry.id}`);
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
seen.add(entry.id);
|
|
80
|
-
}
|
|
81
|
-
if (typeof entry.text !== 'string')
|
|
82
|
-
issues.push(`${prefix}.text: expected string`);
|
|
83
|
-
if (!ACCEPTANCE_VERDICTS.includes(entry.verdict)) {
|
|
84
|
-
issues.push(`${prefix}.verdict: expected one of ${ACCEPTANCE_VERDICTS.join(', ')}`);
|
|
85
|
-
}
|
|
86
|
-
if (entry.proofMode !== undefined &&
|
|
87
|
-
!ACCEPTANCE_PROOF_MODES.includes(entry.proofMode)) {
|
|
88
|
-
issues.push(`${prefix}.proofMode: expected one of ${ACCEPTANCE_PROOF_MODES.join(', ')}`);
|
|
89
|
-
}
|
|
90
|
-
for (const key of ['evidence', 'recipeNodes']) {
|
|
91
|
-
const list = entry[key];
|
|
92
|
-
if (!Array.isArray(list) || list.some((item) => !isNonEmptyString(item))) {
|
|
93
|
-
issues.push(`${prefix}.${key}: expected an array of non-empty strings`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
if (entry.note !== undefined && typeof entry.note !== 'string') {
|
|
97
|
-
issues.push(`${prefix}.note: expected string`);
|
|
98
|
-
}
|
|
99
|
-
if (!isNonEmptyString(entry.updatedAt)) {
|
|
100
|
-
issues.push(`${prefix}.updatedAt: expected non-empty string`);
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
return issues;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Verdict tally over the ledger.
|
|
107
|
-
*
|
|
108
|
-
* Omitting `criteria` counts only the rows already recorded, which understates a
|
|
109
|
-
* partial ledger: `total` is then "verdicts written", not "criteria the task has".
|
|
110
|
-
* Pass the registered criteria whenever the caller can read them — every caller
|
|
111
|
-
* with the task directory can — to get a `total` of registered criteria and an
|
|
112
|
-
* `unrecorded` count of those still waiting for a verdict.
|
|
113
|
-
*/
|
|
114
|
-
export function summarizeAcceptanceStatus(ledger, criteria) {
|
|
115
|
-
const total = criteria
|
|
116
|
-
? Math.max(criteria.length, ledger.criteria.length)
|
|
117
|
-
: ledger.criteria.length;
|
|
118
|
-
const summary = {
|
|
119
|
-
proven: 0,
|
|
120
|
-
weak: 0,
|
|
121
|
-
missing: 0,
|
|
122
|
-
untestable: 0,
|
|
123
|
-
unrecorded: 0,
|
|
124
|
-
total,
|
|
125
|
-
};
|
|
126
|
-
for (const criterion of ledger.criteria)
|
|
127
|
-
summary[criterion.verdict] += 1;
|
|
128
|
-
summary.unrecorded =
|
|
129
|
-
total - (summary.proven + summary.weak + summary.missing + summary.untestable);
|
|
130
|
-
return summary;
|
|
131
|
-
}
|
|
132
|
-
function cell(value) {
|
|
133
|
-
return (value
|
|
134
|
-
.replace(/\|/g, '\\|')
|
|
135
|
-
.replace(/\s*\n\s*/g, ' ')
|
|
136
|
-
.trim() || '-');
|
|
137
|
-
}
|
|
138
|
-
function list(values) {
|
|
139
|
-
return values.length > 0 ? cell(values.join(', ')) : '-';
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* The coverage table `artifacts/recipe-coverage.md` holds today, rendered from the
|
|
143
|
-
* ledger. The proof-mode column keeps the lowercase `state` / `visual` / `mixed`
|
|
144
|
-
* vocabulary the evidence rules key off, and the last line is the `Overall recipe
|
|
145
|
-
* coverage:` summary every consumer of the coverage file already looks for.
|
|
146
|
-
*
|
|
147
|
-
* Pass `criteria` so the overall line counts registered criteria: without them a
|
|
148
|
-
* partial ledger reads `1/1 PROVEN` when the task has three criteria. A criterion
|
|
149
|
-
* with no verdict yet is counted in the total and listed as awaiting one; it is
|
|
150
|
-
* never given a verdict it does not have.
|
|
151
|
-
*/
|
|
152
|
-
export function renderAcceptanceCoverage(ledger, criteria = ledger.criteria) {
|
|
153
|
-
const summary = summarizeAcceptanceStatus(ledger, criteria);
|
|
154
|
-
const rows = acceptanceCriteriaView(criteria, ledger);
|
|
155
|
-
const untestable = ledger.criteria
|
|
156
|
-
.filter((criterion) => criterion.verdict === 'untestable')
|
|
157
|
-
.map((criterion) => criterion.id);
|
|
158
|
-
const lines = [
|
|
159
|
-
'## Recipe coverage',
|
|
160
|
-
'',
|
|
161
|
-
'| AC | Criterion | Verdict | Proof mode | Recipe nodes | Evidence | Note |',
|
|
162
|
-
'| --- | --- | --- | --- | --- | --- | --- |',
|
|
163
|
-
];
|
|
164
|
-
for (const row of rows) {
|
|
165
|
-
const status = row.status;
|
|
166
|
-
lines.push(`| ${row.id} | ${cell(row.text)} | ${status ? status.verdict.toUpperCase() : 'NO VERDICT'} | ` +
|
|
167
|
-
`${status?.proofMode ?? '-'} | ${list(status?.recipeNodes ?? [])} | ` +
|
|
168
|
-
`${list(status?.evidence ?? [])} | ${cell(status?.note ?? '')} |`);
|
|
169
|
-
}
|
|
170
|
-
lines.push('', `Overall recipe coverage: ${summary.proven}/${summary.total} ACs PROVEN ` +
|
|
171
|
-
`(untestable: ${untestable.length > 0 ? untestable.join(', ') : 'none'}, ` +
|
|
172
|
-
`weak: ${summary.weak}, missing: ${summary.missing}` +
|
|
173
|
-
// Only when some criterion has no verdict: a finished run renders the exact
|
|
174
|
-
// line the spec pins, and a partial one says why the counts fall short.
|
|
175
|
-
`${summary.unrecorded > 0 ? `, no verdict: ${summary.unrecorded}` : ''})`, '');
|
|
176
|
-
return lines.join('\n');
|
|
177
|
-
}
|
|
28
|
+
export const acceptanceCriteriaView = contract.acceptanceCriteriaView;
|
|
29
|
+
/** Shared validation/rendering also runs in unbuilt operator CJS scripts. */
|
|
30
|
+
export const validateAcceptanceStatusLedger = contract.validateAcceptanceStatusLedger;
|
|
31
|
+
export const summarizeAcceptanceStatus = contract.summarizeAcceptanceStatus;
|
|
32
|
+
export const renderAcceptanceCoverage = contract.renderAcceptanceCoverage;
|
|
178
33
|
//# sourceMappingURL=acceptance.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acceptance.js","sourceRoot":"","sources":["../../src/contracts/acceptance.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,2BAA2B;AAC3B,EAAE;AACF,kFAAkF;AAClF,sEAAsE;AACtE,kFAAkF;AAClF,iFAAiF;AACjF,8EAA8E;AAC9E,6EAA6E;AAE7E,4FAA4F;AAC5F,MAAM,CAAC,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"acceptance.js","sourceRoot":"","sources":["../../src/contracts/acceptance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,8BAA8B,CAAC;AAGzD,4EAA4E;AAC5E,2BAA2B;AAC3B,EAAE;AACF,kFAAkF;AAClF,sEAAsE;AACtE,kFAAkF;AAClF,iFAAiF;AACjF,8EAA8E;AAC9E,6EAA6E;AAE7E,4FAA4F;AAC5F,MAAM,CAAC,MAAM,0BAA0B,GAAW,QAAQ,CAAC,0BAA0B,CAAC;AAEtF,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC;AAGhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,QAAQ,CAAC,sBAAsB,CAAC;AAGtE,oFAAoF;AACpF,MAAM,CAAC,MAAM,+BAA+B,GAAG,QAAQ,CAAC,+BAA+B,CAAC;AAExF;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAQ,CAAC,qBAAqB,CAAC;AA2CpE;;;;GAIG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAGF,QAAQ,CAAC,sBAAuD,CAAC;AAgClG,6EAA6E;AAC7E,MAAM,CAAC,MAAM,8BAA8B,GAAG,QAAQ,CAAC,8BAA8B,CAAC;AACtF,MAAM,CAAC,MAAM,yBAAyB,GAIpC,QAAQ,CAAC,yBAA6D,CAAC;AACzE,MAAM,CAAC,MAAM,wBAAwB,GAGvB,QAAQ,CAAC,wBAAwB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RunStatus } from './runs.js';
|
|
1
2
|
export type SlotAgent = 'idle' | 'working' | 'no-tmux';
|
|
2
3
|
/** Execution transport is independent of the selected runner and model. */
|
|
3
4
|
export type WorkerTransport = 'tmux' | 'native';
|
|
@@ -53,7 +54,7 @@ export interface NativeWorkerSessionBinding {
|
|
|
53
54
|
}
|
|
54
55
|
/** A pending recovery can own a new process even while the last recorded generation is closed. */
|
|
55
56
|
export declare function nativeWorkerBindingIsHeld(binding: NativeWorkerSessionBinding | undefined): boolean;
|
|
56
|
-
export declare const AGENT_ROLES: readonly ["primary", "dev", "fix-bug", "review", "
|
|
57
|
+
export declare const AGENT_ROLES: readonly ["primary", "dev", "fix-bug", "review", "review-fix", "ci-fix", "subtask"];
|
|
57
58
|
export type AgentRole = (typeof AGENT_ROLES)[number];
|
|
58
59
|
export type AgentContextStatus = 'launching' | 'working' | 'waiting' | 'complete' | 'failed' | 'blocked' | 'idle';
|
|
59
60
|
export interface AgentContextTarget {
|
|
@@ -95,6 +96,8 @@ export interface AgentContext {
|
|
|
95
96
|
/** Artifact directory scope owned by this reviewer attempt (for restart recovery). */
|
|
96
97
|
artifactScope?: string | null;
|
|
97
98
|
/** Review loop that owns the persisted launch snapshot. */
|
|
99
|
+
/** Durable reviewer lineage, supplied by the review runtime. */
|
|
100
|
+
reviewId?: string;
|
|
98
101
|
reviewLoopNumber?: number | null;
|
|
99
102
|
/** Gateway validation completed for the structured reviewer result and archived artifacts. */
|
|
100
103
|
reviewResultValidatedAt?: string;
|
|
@@ -215,8 +218,10 @@ export interface ExecutorRef {
|
|
|
215
218
|
}
|
|
216
219
|
export interface ExecutorPolicy {
|
|
217
220
|
worker?: ExecutorRef;
|
|
218
|
-
|
|
221
|
+
review?: ExecutorRef;
|
|
219
222
|
ciRepair?: ExecutorRef;
|
|
220
223
|
validation?: ExecutorRef;
|
|
221
224
|
}
|
|
225
|
+
/** One status projection for stored and synthesized worker contexts. */
|
|
226
|
+
export declare function agentContextStatusFromRunStatus(status: RunStatus): AgentContextStatus;
|
|
222
227
|
//# sourceMappingURL=agents.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/contracts/agents.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvD,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEhD,MAAM,WAAW,0BAA0B;IACzC,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qFAAqF;IACrF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,0BAA0B,EAAE,sBAAsB,CAAC;IACpE,+FAA+F;IAC/F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,QAAQ,CAAC,EAAE;QACT,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,4FAA4F;QAC5F,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,qFAAqF;QACrF,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAED,kGAAkG;AAClG,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAAG,SAAS,GAC9C,OAAO,CAET;AAED,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"agents.d.ts","sourceRoot":"","sources":["../../src/contracts/agents.ts"],"names":[],"mappings":"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"}
|
package/dist/contracts/agents.js
CHANGED
|
@@ -7,12 +7,23 @@ export const AGENT_ROLES = [
|
|
|
7
7
|
'dev',
|
|
8
8
|
'fix-bug',
|
|
9
9
|
'review',
|
|
10
|
-
'
|
|
11
|
-
'self-review-fix',
|
|
10
|
+
'review-fix',
|
|
12
11
|
'ci-fix',
|
|
13
12
|
// A child checklist unit under `subtasks/` (ADR-060). Farmslot materializes
|
|
14
13
|
// its files and reads its signal; it never spawns or owns a session, so it is
|
|
15
14
|
// not a NestedLoopAgentRole and has no checklist-target entry.
|
|
16
15
|
'subtask',
|
|
17
16
|
];
|
|
17
|
+
/** One status projection for stored and synthesized worker contexts. */
|
|
18
|
+
export function agentContextStatusFromRunStatus(status) {
|
|
19
|
+
if (status === 'done')
|
|
20
|
+
return 'complete';
|
|
21
|
+
if (status === 'failed' || status === 'cancelled')
|
|
22
|
+
return 'failed';
|
|
23
|
+
if (status === 'blocked')
|
|
24
|
+
return 'blocked';
|
|
25
|
+
if (['paused', 'human-gating', 'review-failed', 'reconciling'].includes(status))
|
|
26
|
+
return 'waiting';
|
|
27
|
+
return 'working';
|
|
28
|
+
}
|
|
18
29
|
//# sourceMappingURL=agents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/contracts/agents.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"agents.js","sourceRoot":"","sources":["../../src/contracts/agents.ts"],"names":[],"mappings":"AAsDA,kGAAkG;AAClG,MAAM,UAAU,yBAAyB,CACvC,OAA+C;IAE/C,OAAO,OAAO,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5F,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS;IACT,KAAK;IACL,SAAS;IACT,QAAQ;IACR,YAAY;IACZ,QAAQ;IACR,4EAA4E;IAC5E,8EAA8E;IAC9E,+DAA+D;IAC/D,SAAS;CACD,CAAC;AA0LX,wEAAwE;AACxE,MAAM,UAAU,+BAA+B,CAAC,MAAiB;IAC/D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,UAAU,CAAC;IACzC,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,QAAQ,CAAC;IACnE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAC;IAClG,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -53,7 +53,7 @@ export interface RunAnalyticsRecord {
|
|
|
53
53
|
idleMs: number | null;
|
|
54
54
|
nudgeCount: number;
|
|
55
55
|
/** Self-review attempt count when captured, else null. */
|
|
56
|
-
|
|
56
|
+
reviewLoops: number | null;
|
|
57
57
|
ciResult: string | null;
|
|
58
58
|
ciPollCount: number | null;
|
|
59
59
|
ciInlineFixAttempts: number | null;
|
|
@@ -148,7 +148,7 @@ export interface AnalyticsQueryResult {
|
|
|
148
148
|
idle: DurationStats;
|
|
149
149
|
failureByStep: Record<string, number>;
|
|
150
150
|
failureByReason: Record<string, number>;
|
|
151
|
-
|
|
151
|
+
reviewLoops: LoopStats;
|
|
152
152
|
ci: CiStats;
|
|
153
153
|
nudges: NudgeStats;
|
|
154
154
|
dimensions: AnalyticsDimensions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/contracts/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAa9D,0EAA0E;AAC1E,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,gBAAgB,GAChB,eAAe,GACf,aAAa,GACb,aAAa,GACb,MAAM,GACN,UAAU,GACV,MAAM,GACN,MAAM,GACN,MAAM,GACN,SAAS,GACT,oBAAoB,GACpB,SAAS,CAAC;AAEd,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAanD,CAAC;AAEF,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,iGAAiG;AACjG,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,2CAA2C;AAC3C,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,IAAI,CAAC;IAChE,mGAAmG;IACnG,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,kEAAkE;IAClE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/contracts/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import type { ScriptedRunnerConfig } from './agents.js';
|
|
|
2
2
|
import type { QueueItem } from './dispatch.js';
|
|
3
3
|
import type { TaskTemplateSelection } from './evals.js';
|
|
4
4
|
import type { ResourcePostureWaitPolicy } from './resource-posture.js';
|
|
5
|
-
import type { DevInteractiveProfile, FlowType,
|
|
5
|
+
import type { DevInteractiveProfile, FlowType, ReviewMode, ReviewPolicy, ReviewRequestContext, ReviewSequence, RunStatus } from './runs.js';
|
|
6
6
|
export declare const BACKLOG_STATUSES: readonly ["candidate", "ready", "queued", "dispatching", "running", "done", "failed", "needs-attention", "archived"];
|
|
7
7
|
export type BacklogStatus = (typeof BACKLOG_STATUSES)[number];
|
|
8
8
|
export declare const ARCHIVABLE_BACKLOG_STATUSES: ReadonlySet<BacklogStatus>;
|
|
@@ -98,13 +98,16 @@ export interface BacklogItem {
|
|
|
98
98
|
prepareProfile?: string;
|
|
99
99
|
mode?: 'interactive' | 'autonomous';
|
|
100
100
|
devInteractiveProfile?: DevInteractiveProfile;
|
|
101
|
-
|
|
101
|
+
reviewMode?: ReviewMode;
|
|
102
|
+
reviewPolicy?: ReviewPolicy;
|
|
102
103
|
/**
|
|
103
104
|
* Dispatch-time resource posture preset copied onto every run created from
|
|
104
105
|
* this item; presets the gate choice for each durable wait (ADR-054).
|
|
105
106
|
*/
|
|
106
107
|
waitPolicy?: ResourcePostureWaitPolicy;
|
|
107
|
-
|
|
108
|
+
reviewSequence?: ReviewSequence;
|
|
109
|
+
reviewContext?: ReviewRequestContext;
|
|
110
|
+
reviewSequenceContext?: ReviewRequestContext;
|
|
108
111
|
launchPlan?: BacklogLaunchPlan;
|
|
109
112
|
launchPlanState?: BacklogLaunchPlanState;
|
|
110
113
|
createdAt: string;
|
|
@@ -149,9 +152,12 @@ export interface BacklogCreateInput {
|
|
|
149
152
|
prepareProfile?: string;
|
|
150
153
|
mode?: 'interactive' | 'autonomous';
|
|
151
154
|
devInteractiveProfile?: DevInteractiveProfile;
|
|
152
|
-
|
|
155
|
+
reviewMode?: ReviewMode;
|
|
156
|
+
reviewPolicy?: ReviewPolicy;
|
|
153
157
|
waitPolicy?: ResourcePostureWaitPolicy;
|
|
154
|
-
|
|
158
|
+
reviewSequence?: ReviewSequence;
|
|
159
|
+
reviewContext?: ReviewRequestContext;
|
|
160
|
+
reviewSequenceContext?: ReviewRequestContext;
|
|
155
161
|
launchPlan?: BacklogLaunchPlan;
|
|
156
162
|
status?: Extract<BacklogStatus, 'candidate' | 'ready'>;
|
|
157
163
|
}
|
|
@@ -179,9 +185,12 @@ export interface BacklogUpdateInput {
|
|
|
179
185
|
prepareProfile?: string | null;
|
|
180
186
|
mode?: 'interactive' | 'autonomous' | null;
|
|
181
187
|
devInteractiveProfile?: DevInteractiveProfile | null;
|
|
182
|
-
|
|
188
|
+
reviewMode?: ReviewMode | null;
|
|
189
|
+
reviewPolicy?: ReviewPolicy | null;
|
|
183
190
|
waitPolicy?: ResourcePostureWaitPolicy | null;
|
|
184
|
-
|
|
191
|
+
reviewSequence?: ReviewSequence | null;
|
|
192
|
+
reviewContext?: ReviewRequestContext | null;
|
|
193
|
+
reviewSequenceContext?: ReviewRequestContext | null;
|
|
185
194
|
launchPlan?: BacklogLaunchPlan | null;
|
|
186
195
|
}
|
|
187
196
|
export interface BacklogEnqueueResultData {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backlog.d.ts","sourceRoot":"","sources":["../../src/contracts/backlog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,qBAAqB,EACrB,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"backlog.d.ts","sourceRoot":"","sources":["../../src/contracts/backlog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EACV,qBAAqB,EACrB,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,oBAAoB,EACpB,cAAc,EACd,SAAS,EACV,MAAM,WAAW,CAAC;AAEnB,eAAO,MAAM,gBAAgB,sHAUnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAI9D,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,aAAa,CAIjE,CAAC;AAIH,eAAO,MAAM,yBAAyB,EAAE,WAAW,CAAC,aAAa,CAK/D,CAAC;AAEH,eAAO,MAAM,oBAAoB,uCAAwC,CAAC;AAC1E,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,EAAE,yBAAyB,CAAC;CAC1C;AAED,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,EAAE,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEhD,MAAM,MAAM,0BAA0B,GAAG,UAAU,GAAG,YAAY,CAAC;AAEnE,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,0BAA0B,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,uBAAuB,CAAC;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,CAAC;IACX,UAAU,EAAE,sBAAsB,EAAE,CAAC;CACtC;AAED,MAAM,MAAM,4BAA4B,GACpC,SAAS,GACT,QAAQ,GACR,SAAS,GACT,OAAO,GACP,WAAW,GACX,QAAQ,GACR,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,gCAAgC;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,4BAA4B,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;4EACwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,UAAU,EAAE,gCAAgC,EAAE,CAAC;CAChD;AAyCD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAgD1F;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,iBAAiB,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kGAAkG;IAClG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;OAGG;IACH,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,qBAAqB,CAAC,EAAE,oBAAoB,CAAC;IAC7C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,+GAA+G;IAC/G,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,iBAAiB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACpC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,CAAC,EAAE,yBAAyB,CAAC;IACvC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,qBAAqB,CAAC,EAAE,oBAAoB,CAAC;IAC7C,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACvC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC5C,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,IAAI,CAAC,EAAE,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC;IAC3C,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IACrD,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IACnC,UAAU,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC5C,qBAAqB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACpD,UAAU,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;CACtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"backlog.js","sourceRoot":"","sources":["../../src/contracts/backlog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"backlog.js","sourceRoot":"","sources":["../../src/contracts/backlog.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import type { ExecutionTemplateSourceRoot, ProjectExecutionTemplatesConfig } fro
|
|
|
5
5
|
import type { PRExecutionProfile, PRSlotExecutionProfile, PRWorkspaceExecutionProfile } from './pr-monitoring.js';
|
|
6
6
|
import type { PRReviewOptions } from './pr-rules.js';
|
|
7
7
|
import type { ResourceDefinition, SlotActionDefinition } from './resources.js';
|
|
8
|
-
import type { FlowType } from './runs.js';
|
|
8
|
+
import type { FlowType, ReviewSelection } from './runs.js';
|
|
9
9
|
import type { ProjectRuntimeCapabilitiesConfig } from './runtime-capabilities.js';
|
|
10
10
|
import type { PoolSlotMode } from './slots.js';
|
|
11
11
|
import type { TaskSchema } from './task.js';
|
|
@@ -84,8 +84,7 @@ export interface ProjectAutoRecoveryConfig {
|
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
86
|
export interface ProjectPublicationReviewFlowConfig {
|
|
87
|
-
|
|
88
|
-
requireCrossRunner?: boolean;
|
|
87
|
+
minimumReviews?: number;
|
|
89
88
|
}
|
|
90
89
|
export interface ProjectScriptedCommandConfig {
|
|
91
90
|
command: string;
|
|
@@ -162,9 +161,14 @@ export interface ProjectRecipeLibrary {
|
|
|
162
161
|
owner: string;
|
|
163
162
|
revision?: string;
|
|
164
163
|
}
|
|
164
|
+
export interface ProjectRecipeCheck {
|
|
165
|
+
recipe: string;
|
|
166
|
+
params?: Record<string, unknown>;
|
|
167
|
+
}
|
|
165
168
|
export interface ProjectRecipeConfig {
|
|
166
169
|
provider: ProjectRecipeProvider;
|
|
167
170
|
libraries?: ProjectRecipeLibrary[];
|
|
171
|
+
checks?: ProjectRecipeCheck[];
|
|
168
172
|
adapter?: string;
|
|
169
173
|
app?: string;
|
|
170
174
|
domain?: string;
|
|
@@ -190,12 +194,17 @@ export interface ProjectConfig {
|
|
|
190
194
|
defaults: Record<string, {
|
|
191
195
|
runner: string;
|
|
192
196
|
model: string;
|
|
197
|
+
effort?: string;
|
|
193
198
|
}>;
|
|
199
|
+
/** Absolute review picker defaults configured by the project. */
|
|
200
|
+
review?: Partial<ReviewSelection>;
|
|
194
201
|
workflowDefaults?: ProjectWorkflowDefaults;
|
|
195
202
|
hooks: Record<string, string | Record<string, string>>;
|
|
196
203
|
health: Record<string, string>;
|
|
197
204
|
ci: {
|
|
198
205
|
repo: string;
|
|
206
|
+
/** Portable local command used by declared CI-parity checklist steps. */
|
|
207
|
+
localCheck?: string;
|
|
199
208
|
prLabels?: string[];
|
|
200
209
|
prTitleSuffix?: string;
|
|
201
210
|
watchChecks: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EACV,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,yEAAyE;AACzE,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,2BAA2B,CAAC;QAAC,MAAM,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;IACpF,EAAE,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,sBAAsB,CAAC;QAAC,MAAM,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;CACvE;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1F,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC1C,MAAM,EAAE,uBAAuB,GAAG,UAAU,CAAC;IAC7C,yEAAyE;IACzE,WAAW,CAAC,EAAE,uBAAuB,GAAG,UAAU,CAAC;CACpD;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sEAAsE;IACtE,gBAAgB,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,YAAY,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;KACvE,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,GAAG,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE;AAED,MAAM,WAAW,kCAAkC;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6HAA6H;IAC7H,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kJAAkJ;IAClJ,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;GAIG;AACH,eAAO,MAAM,cAAc,6DAA8D,CAAC;AAC1F,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,+EAKvB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC,qGAAqG;IACrG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACjD;AAED,kFAAkF;AAClF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,2BAA2B,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,2BAA2B,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACnC,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAuEhG;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qIAAqI;IACrI,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,EAAE,EAAE;QACF,IAAI,EAAE,MAAM,CAAC;QACb,yEAAyE;QACzE,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACnC,WAAW,EAAE,KAAK,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;YACd,aAAa,EAAE,cAAc,GAAG,YAAY,CAAC;YAC7C,OAAO,CAAC,EAAE,KAAK,CAAC;gBAAE,SAAS,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SAC/F,CAAC,CAAC;KACJ,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAIF,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,aAAa,CAAC,EAAE;YACd,aAAa,CAAC,EAAE,OAAO,CAAC;YACxB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;SACxB,CAAC;KACH,CAAC;IACF,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,iBAAiB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,kCAAkC,CAAC,CAAC,CAAC;IAC3F,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,+EAA+E;IAC/E,YAAY,CAAC,EAAE;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,uBAAuB,EAAE,4BAA4B,CAAC;KACxE,CAAC;IACF,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,gCAAgC,CAAC;IACvD,yEAAyE;IACzE,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,sFAAsF;IACtF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,yGAAyG;IACzG,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;IACrD,6EAA6E;IAC7E,EAAE,CAAC,EAAE,OAAO,SAAS,EAAE,eAAe,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1C,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB"}
|
package/dist/contracts/config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isRecord } from '../recipe/common.js';
|
|
2
|
+
import { normalizeRecipeRef } from '../recipe/workflow.js';
|
|
2
3
|
// ─── Prepare profiles (ADR-037) ───
|
|
3
4
|
/**
|
|
4
5
|
* Optional cost phases a prepare profile may select. Safety invariants (ssh
|
|
@@ -47,6 +48,37 @@ export function validateProjectRecipeConfig(value) {
|
|
|
47
48
|
if (value[field] !== undefined && !string(value[field]))
|
|
48
49
|
fail(field);
|
|
49
50
|
}
|
|
51
|
+
if (value.checks !== undefined) {
|
|
52
|
+
if (!Array.isArray(value.checks) || value.checks.length === 0)
|
|
53
|
+
return fail('checks');
|
|
54
|
+
const refs = new Set();
|
|
55
|
+
const jsonValue = (entry) => {
|
|
56
|
+
if (entry === null || typeof entry === 'string' || typeof entry === 'boolean')
|
|
57
|
+
return true;
|
|
58
|
+
if (typeof entry === 'number')
|
|
59
|
+
return Number.isFinite(entry);
|
|
60
|
+
if (Array.isArray(entry))
|
|
61
|
+
return entry.every(jsonValue);
|
|
62
|
+
return record(entry) && Object.values(entry).every(jsonValue);
|
|
63
|
+
};
|
|
64
|
+
value.checks.forEach((entry, index) => {
|
|
65
|
+
const field = `checks[${index}]`;
|
|
66
|
+
if (!record(entry) || Object.keys(entry).some((key) => !['recipe', 'params'].includes(key))) {
|
|
67
|
+
return fail(field);
|
|
68
|
+
}
|
|
69
|
+
if (!string(entry.recipe))
|
|
70
|
+
return fail(`${field}.recipe`);
|
|
71
|
+
const ref = normalizeRecipeRef(entry.recipe);
|
|
72
|
+
if (!/^[A-Za-z0-9_-][A-Za-z0-9_.-]*(?:\/[A-Za-z0-9_-][A-Za-z0-9_.-]*)*$/u.test(ref) ||
|
|
73
|
+
ref.endsWith('.json') ||
|
|
74
|
+
refs.has(ref))
|
|
75
|
+
return fail(`${field}.recipe`);
|
|
76
|
+
refs.add(ref);
|
|
77
|
+
if (entry.params !== undefined && (!record(entry.params) || !jsonValue(entry.params))) {
|
|
78
|
+
fail(`${field}.params`);
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
50
82
|
if (value.libraries !== undefined) {
|
|
51
83
|
if (!Array.isArray(value.libraries))
|
|
52
84
|
return fail('libraries');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"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"}
|