@farmslot/protocol 0.46.0 → 0.48.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 +9 -1
- package/dist/contracts/recipe-conformance.d.ts +15 -1
- package/dist/contracts/recipe-conformance.d.ts.map +1 -1
- package/dist/contracts/recipe-conformance.js +88 -0
- package/dist/contracts/recipe-conformance.js.map +1 -1
- package/dist/contracts/run-bundles.d.ts +24 -0
- package/dist/contracts/run-bundles.d.ts.map +1 -1
- package/dist/contracts/run-bundles.js +11 -0
- package/dist/contracts/run-bundles.js.map +1 -1
- package/dist/contracts/run-lifecycle-view.d.ts +2 -0
- package/dist/contracts/run-lifecycle-view.d.ts.map +1 -1
- package/dist/contracts/run-lifecycle-view.js +5 -3
- package/dist/contracts/run-lifecycle-view.js.map +1 -1
- package/dist/contracts/runs.d.ts +38 -2
- package/dist/contracts/runs.d.ts.map +1 -1
- package/dist/contracts/runs.js.map +1 -1
- package/dist/recipe/claim-overrides.d.ts.map +1 -1
- package/dist/recipe/claim-overrides.js +1 -0
- package/dist/recipe/claim-overrides.js.map +1 -1
- package/dist/recipes/step-io.d.ts +6 -0
- package/dist/recipes/step-io.d.ts.map +1 -1
- package/dist/recipes/step-io.js +6 -0
- package/dist/recipes/step-io.js.map +1 -1
- package/dist/rpc/registry.d.ts +2 -0
- package/dist/rpc/registry.d.ts.map +1 -1
- package/dist/rpc/registry.js +2 -0
- package/dist/rpc/registry.js.map +1 -1
- package/dist/rpc/run.d.ts +18 -1
- package/dist/rpc/run.d.ts.map +1 -1
- package/dist/rpc/run.js +1 -0
- package/dist/rpc/run.js.map +1 -1
- package/dist/runs/review-retries.d.ts +2 -2
- package/dist/runs/review-retries.d.ts.map +1 -1
- package/dist/runs/review-retries.js +17 -6
- package/dist/runs/review-retries.js.map +1 -1
- package/dist/transport/signal.d.ts +12 -0
- package/dist/transport/signal.d.ts.map +1 -1
- package/dist/transport/signal.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,15 @@ All notable changes to `@farmslot/protocol` are tracked here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## 0.48.0 - 2026-10-15
|
|
8
|
+
|
|
9
|
+
- Describe validated operator waits and their shared run activity label without changing run status.
|
|
10
|
+
- Add gateway-retained artifact references and the run.bundle.retain recovery contract; artifact links preserve their capture digest and availability.
|
|
11
|
+
|
|
12
|
+
## 0.47.0 - 2026-10-15
|
|
13
|
+
|
|
14
|
+
- Expose scoped review-budget grants and the effective review limit.
|
|
15
|
+
- Declare initial resource proof modes in selected templates and share read-only admission with stored-plan precedence.
|
|
8
16
|
|
|
9
17
|
## 0.46.0 - 2026-10-15
|
|
10
18
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RecipeExecutionPlan } from '../recipe/index.js';
|
|
2
|
-
import type
|
|
2
|
+
import { type RuntimeCapabilityCatalogEntry, type RuntimeCapabilityProofPlan, type RuntimeCapabilityProofRequirement } from './runtime-capabilities.js';
|
|
3
3
|
export interface RecipeConformanceSource {
|
|
4
4
|
head: string | null;
|
|
5
5
|
status: string;
|
|
@@ -99,6 +99,17 @@ export interface RecipeFlowRequirements {
|
|
|
99
99
|
capture: boolean;
|
|
100
100
|
hud: boolean;
|
|
101
101
|
resources: string[];
|
|
102
|
+
proofRequirements: RuntimeCapabilityProofRequirement[];
|
|
103
|
+
}
|
|
104
|
+
export interface RecipeProofRequirementResolution {
|
|
105
|
+
requirements: RuntimeCapabilityProofRequirement[];
|
|
106
|
+
missingRequirements: string[];
|
|
107
|
+
diagnostics: string[];
|
|
108
|
+
}
|
|
109
|
+
export interface RecipeProofRequirementInput {
|
|
110
|
+
required: Pick<RecipeFlowRequirements, 'resources' | 'proofRequirements'>;
|
|
111
|
+
owner?: Pick<RuntimeCapabilityProofPlan, 'ownerRunId' | 'slotId'>;
|
|
112
|
+
plan?: RuntimeCapabilityProofPlan;
|
|
102
113
|
}
|
|
103
114
|
export interface RecipeProjectCompatibility {
|
|
104
115
|
scope: RecipeConformanceScope;
|
|
@@ -118,6 +129,8 @@ export interface RecipeProjectCompatibility {
|
|
|
118
129
|
export declare function conformanceChecksPass(checks: readonly RecipeConformanceCheck[], mode?: RecipeConformanceReport['mode']): boolean;
|
|
119
130
|
/** Read requirements from the entry the canonical template selector already chose. */
|
|
120
131
|
export declare function recipeFlowRequirements(metadata: Readonly<Record<string, unknown>> | null): RecipeFlowRequirements;
|
|
132
|
+
/** Pure declaration/stored-plan precedence, shared by admission and owned acquisition. */
|
|
133
|
+
export declare function resolveRecipeProofRequirements(input: RecipeProofRequirementInput): RecipeProofRequirementResolution;
|
|
121
134
|
/** The caller must revalidate report identities and retained artifacts on the slot first. */
|
|
122
135
|
export declare function recipeProjectCompatibility(input: {
|
|
123
136
|
scope: RecipeConformanceScope;
|
|
@@ -125,5 +138,6 @@ export declare function recipeProjectCompatibility(input: {
|
|
|
125
138
|
required: RecipeFlowRequirements;
|
|
126
139
|
report?: RecipeConformanceReport;
|
|
127
140
|
resources: readonly RuntimeCapabilityCatalogEntry[];
|
|
141
|
+
proof?: RecipeProofRequirementResolution;
|
|
128
142
|
}): RecipeProjectCompatibility;
|
|
129
143
|
//# sourceMappingURL=recipe-conformance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe-conformance.d.ts","sourceRoot":"","sources":["../../src/contracts/recipe-conformance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"recipe-conformance.d.ts","sourceRoot":"","sources":["../../src/contracts/recipe-conformance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isRuntimeCapabilityProofMode, } from './runtime-capabilities.js';
|
|
1
2
|
/** Missing, skipped and unsupported checks never establish conformance. */
|
|
2
3
|
export function conformanceChecksPass(checks, mode = 'static') {
|
|
3
4
|
const required = checks.filter((check) => check.required);
|
|
@@ -60,7 +61,25 @@ export function recipeFlowRequirements(metadata) {
|
|
|
60
61
|
capture: flag('recipe_capture'),
|
|
61
62
|
hud: flag('recipe_hud'),
|
|
62
63
|
resources: list('runtime_capabilities'),
|
|
64
|
+
proofRequirements: [],
|
|
63
65
|
};
|
|
66
|
+
if (metadata?.runtime_capability_requirements !== undefined) {
|
|
67
|
+
const value = metadata.runtime_capability_requirements;
|
|
68
|
+
if (typeof value !== 'string')
|
|
69
|
+
throw new Error('Template runtime_capability_requirements must be a JSON array in a scalar string.');
|
|
70
|
+
let decoded;
|
|
71
|
+
try {
|
|
72
|
+
decoded = JSON.parse(value);
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
throw new Error('Template runtime_capability_requirements must contain valid JSON.');
|
|
76
|
+
}
|
|
77
|
+
requirements.proofRequirements = validateRecipeProofRequirements(decoded);
|
|
78
|
+
const ids = new Set(requirements.proofRequirements.map((entry) => entry.capabilityId));
|
|
79
|
+
if (ids.size !== requirements.resources.length ||
|
|
80
|
+
requirements.resources.some((id) => !ids.has(id)))
|
|
81
|
+
throw new Error('Template runtime_capability_requirements must exactly cover runtime_capabilities.');
|
|
82
|
+
}
|
|
64
83
|
if ((requirements.actions.length ||
|
|
65
84
|
requirements.capture ||
|
|
66
85
|
requirements.hud ||
|
|
@@ -70,6 +89,69 @@ export function recipeFlowRequirements(metadata) {
|
|
|
70
89
|
}
|
|
71
90
|
return requirements;
|
|
72
91
|
}
|
|
92
|
+
function validateRecipeProofRequirements(value) {
|
|
93
|
+
if (!Array.isArray(value))
|
|
94
|
+
throw new Error('Resource proof requirements must be an array.');
|
|
95
|
+
const ids = new Set();
|
|
96
|
+
for (const entry of value) {
|
|
97
|
+
if (!entry ||
|
|
98
|
+
typeof entry !== 'object' ||
|
|
99
|
+
Array.isArray(entry) ||
|
|
100
|
+
Object.keys(entry).some((key) => !['capabilityId', 'reason', 'mode', 'parameters'].includes(key)) ||
|
|
101
|
+
typeof entry.capabilityId !== 'string' ||
|
|
102
|
+
!entry.capabilityId.trim() ||
|
|
103
|
+
entry.capabilityId !== entry.capabilityId.trim() ||
|
|
104
|
+
typeof entry.reason !== 'string' ||
|
|
105
|
+
!entry.reason.trim() ||
|
|
106
|
+
entry.reason !== entry.reason.trim() ||
|
|
107
|
+
!isRuntimeCapabilityProofMode(entry.mode) ||
|
|
108
|
+
(entry.parameters !== undefined &&
|
|
109
|
+
(!entry.parameters ||
|
|
110
|
+
typeof entry.parameters !== 'object' ||
|
|
111
|
+
Array.isArray(entry.parameters))))
|
|
112
|
+
throw new Error('Resource proof requirements need a capabilityId, reason, state/visual/mixed mode and optional object parameters.');
|
|
113
|
+
if (ids.has(entry.capabilityId))
|
|
114
|
+
throw new Error(`Duplicate resource proof requirement '${entry.capabilityId}'.`);
|
|
115
|
+
ids.add(entry.capabilityId);
|
|
116
|
+
}
|
|
117
|
+
return value;
|
|
118
|
+
}
|
|
119
|
+
/** Pure declaration/stored-plan precedence, shared by admission and owned acquisition. */
|
|
120
|
+
export function resolveRecipeProofRequirements(input) {
|
|
121
|
+
const { required, owner, plan } = input;
|
|
122
|
+
const result = {
|
|
123
|
+
requirements: [],
|
|
124
|
+
missingRequirements: [],
|
|
125
|
+
diagnostics: [],
|
|
126
|
+
};
|
|
127
|
+
let stored = [];
|
|
128
|
+
if (plan) {
|
|
129
|
+
if (!owner ||
|
|
130
|
+
plan.version !== 1 ||
|
|
131
|
+
plan.ownerRunId !== owner.ownerRunId ||
|
|
132
|
+
plan.slotId !== owner.slotId)
|
|
133
|
+
throw new Error('The resource proof plan belongs to another run or slot, or has an unsupported version.');
|
|
134
|
+
stored = validateRecipeProofRequirements(plan.requirements);
|
|
135
|
+
}
|
|
136
|
+
for (const id of required.resources) {
|
|
137
|
+
const declared = required.proofRequirements.find((entry) => entry.capabilityId === id);
|
|
138
|
+
const retained = stored.find((entry) => entry.capabilityId === id);
|
|
139
|
+
const effective = retained ?? declared;
|
|
140
|
+
if (!effective) {
|
|
141
|
+
result.missingRequirements.push(`resource.${id}.proof-mode`);
|
|
142
|
+
result.diagnostics.push(`Declared capability '${id}' requires an authored state/visual/mixed proof mode before dispatch.`);
|
|
143
|
+
}
|
|
144
|
+
else if (declared && retained && declared.mode !== retained.mode) {
|
|
145
|
+
result.missingRequirements.push(`resource.${id}.proof-mode`);
|
|
146
|
+
result.diagnostics.push(`Declared capability '${id}' conflicts with its stored ${retained.mode} proof mode. Use explicit target recovery.`);
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
// Retargeted acquire inputs stay authoritative. Never merge template defaults.
|
|
150
|
+
result.requirements.push(structuredClone(effective));
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return result;
|
|
154
|
+
}
|
|
73
155
|
function reportScope(identity) {
|
|
74
156
|
return {
|
|
75
157
|
project: identity.project,
|
|
@@ -110,6 +192,11 @@ export function recipeProjectCompatibility(input) {
|
|
|
110
192
|
const resource = input.resources.find((entry) => entry.id === id);
|
|
111
193
|
add(`resource.${id}`, resource?.availability.state === 'available', resource ? 'failed' : 'unknown', 'declared');
|
|
112
194
|
}
|
|
195
|
+
const proof = input.proof ?? resolveRecipeProofRequirements({ required });
|
|
196
|
+
for (const requirement of proof.requirements)
|
|
197
|
+
add(`resource.${requirement.capabilityId}.proof-mode.${requirement.mode}`, true, 'unknown', 'declared');
|
|
198
|
+
for (const missing of proof.missingRequirements)
|
|
199
|
+
add(missing, false, 'failed');
|
|
113
200
|
return {
|
|
114
201
|
scope,
|
|
115
202
|
registered,
|
|
@@ -118,6 +205,7 @@ export function recipeProjectCompatibility(input) {
|
|
|
118
205
|
missingRequirements: requirements
|
|
119
206
|
.filter((check) => check.status === 'failed' || check.status === 'unknown')
|
|
120
207
|
.map((check) => check.name),
|
|
208
|
+
...(proof.diagnostics.length ? { diagnostics: proof.diagnostics } : {}),
|
|
121
209
|
...(report
|
|
122
210
|
? {
|
|
123
211
|
checked: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"recipe-conformance.js","sourceRoot":"","sources":["../../src/contracts/recipe-conformance.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"recipe-conformance.js","sourceRoot":"","sources":["../../src/contracts/recipe-conformance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Run, RunDecisionPayload } from './runs.js';
|
|
1
2
|
export declare const RUN_BUNDLE_VERSION: 1;
|
|
2
3
|
export type RunBundleProfile = 'reference' | 'family' | 'full';
|
|
3
4
|
export type RunBundleRemapPolicy = 'preserve-ids' | 'remap-ids' | 'reference-only';
|
|
@@ -9,6 +10,26 @@ export interface RunImportProvenance {
|
|
|
9
10
|
sourceFarmslotRoot?: string;
|
|
10
11
|
bundleId?: string;
|
|
11
12
|
mode: RunBundleImportMode;
|
|
13
|
+
/** Source digest aliases resolve only to target-owned captures after import. */
|
|
14
|
+
artifactBundleRefs?: Record<string, RunArtifactBundleRef>;
|
|
15
|
+
}
|
|
16
|
+
/** Gateway-owned immutable capture; the Run store remains lifecycle authority. */
|
|
17
|
+
export interface RunArtifactBundleRef {
|
|
18
|
+
storeId: string;
|
|
19
|
+
bundleDigest: string;
|
|
20
|
+
taskKey: string;
|
|
21
|
+
/** Original output inventory identity, including historical reviews. */
|
|
22
|
+
manifestDigest: string;
|
|
23
|
+
}
|
|
24
|
+
export interface RunBundleRetentionPolicy {
|
|
25
|
+
maxBundleBytes: number;
|
|
26
|
+
maxStoreBytes: number;
|
|
27
|
+
metadataReserveBytes: number;
|
|
28
|
+
mediaRetentionDays: number;
|
|
29
|
+
}
|
|
30
|
+
export interface RunBundleRetainResult {
|
|
31
|
+
ref: RunArtifactBundleRef;
|
|
32
|
+
missingData: string[];
|
|
12
33
|
}
|
|
13
34
|
export interface RunBundleSource {
|
|
14
35
|
gatewayUrl?: string;
|
|
@@ -24,6 +45,7 @@ export interface RunBundleRunEntry {
|
|
|
24
45
|
originalRunId: string;
|
|
25
46
|
runPath: string;
|
|
26
47
|
taskKey?: string;
|
|
48
|
+
artifactBundleDigests?: string[];
|
|
27
49
|
taskRelativePath?: string;
|
|
28
50
|
packagePaths?: string[];
|
|
29
51
|
missingData?: string[];
|
|
@@ -69,4 +91,6 @@ export interface RunBundleListResult {
|
|
|
69
91
|
export declare function isRunBundleProfile(value: unknown): value is RunBundleProfile;
|
|
70
92
|
export declare function isRunBundleImportMode(value: unknown): value is RunBundleImportMode;
|
|
71
93
|
export declare function isRunBundleManifest(value: unknown): value is RunBundleManifest;
|
|
94
|
+
/** The reader and collector must pin the same captured decision snapshot. */
|
|
95
|
+
export declare function decisionArtifactBundleRef(run: Pick<Run, 'output'>, payload: RunDecisionPayload | undefined): RunArtifactBundleRef | undefined;
|
|
72
96
|
//# sourceMappingURL=run-bundles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-bundles.d.ts","sourceRoot":"","sources":["../../src/contracts/run-bundles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,EAAG,CAAU,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/D,MAAM,MAAM,oBAAoB,GAAG,cAAc,GAAG,WAAW,GAAG,gBAAgB,CAAC;AAEnF,MAAM,MAAM,mBAAmB,GAAG,gBAAgB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvE,MAAM,WAAW,mBAAmB;IAClC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-bundles.d.ts","sourceRoot":"","sources":["../../src/contracts/run-bundles.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,4 +21,15 @@ export function isRunBundleManifest(value) {
|
|
|
21
21
|
!!record.entries &&
|
|
22
22
|
typeof record.entries === 'object');
|
|
23
23
|
}
|
|
24
|
+
/** The reader and collector must pin the same captured decision snapshot. */
|
|
25
|
+
export function decisionArtifactBundleRef(run, payload) {
|
|
26
|
+
if (payload?.kind === 'ready')
|
|
27
|
+
return payload.prPackage?.artifactBundle;
|
|
28
|
+
if (payload?.kind === 'output-review')
|
|
29
|
+
return (payload.artifactBundle ??
|
|
30
|
+
(payload.manifestDigest === run.output?.manifestDigest
|
|
31
|
+
? run.output.artifactBundle
|
|
32
|
+
: undefined));
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
24
35
|
//# sourceMappingURL=run-bundles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-bundles.js","sourceRoot":"","sources":["../../src/contracts/run-bundles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-bundles.js","sourceRoot":"","sources":["../../src/contracts/run-bundles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAU,CAAC;AA0G7C,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,OAAO,KAAK,KAAK,gBAAgB,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,MAAM,GAAG,KAA0B,CAAC;IAC1C,OAAO,CACL,MAAM,CAAC,OAAO,KAAK,kBAAkB;QACrC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC;QAClC,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ;QACrC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;QACnC,CAAC,CAAC,MAAM,CAAC,MAAM;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,KAAK,QAAQ;QAC9C,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QACnC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;QAC1B,CAAC,CAAC,MAAM,CAAC,OAAO;QAChB,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CACnC,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,yBAAyB,CACvC,GAAwB,EACxB,OAAuC;IAEvC,IAAI,OAAO,EAAE,IAAI,KAAK,OAAO;QAAE,OAAO,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;IACxE,IAAI,OAAO,EAAE,IAAI,KAAK,eAAe;QACnC,OAAO,CACL,OAAO,CAAC,cAAc;YACtB,CAAC,OAAO,CAAC,cAAc,KAAK,GAAG,CAAC,MAAM,EAAE,cAAc;gBACpD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc;gBAC3B,CAAC,CAAC,SAAS,CAAC,CACf,CAAC;IACJ,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WorkerOperatorWait } from '../transport/signal.js';
|
|
1
2
|
import type { RunGatePrerequisiteReason } from './run-gate-readiness.js';
|
|
2
3
|
import type { RunStatus } from './runs.js';
|
|
3
4
|
export interface RunLifecycleView {
|
|
@@ -13,5 +14,6 @@ export interface RunLifecycleView {
|
|
|
13
14
|
export declare function deriveRunLifecycleView(input: {
|
|
14
15
|
status: RunStatus;
|
|
15
16
|
gateReadiness?: unknown;
|
|
17
|
+
waitingForOperator?: WorkerOperatorWait;
|
|
16
18
|
}): RunLifecycleView;
|
|
17
19
|
//# sourceMappingURL=run-lifecycle-view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-lifecycle-view.d.ts","sourceRoot":"","sources":["../../src/contracts/run-lifecycle-view.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run-lifecycle-view.d.ts","sourceRoot":"","sources":["../../src/contracts/run-lifecycle-view.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,OAAO,KAAK,EAAE,yBAAyB,EAAoB,MAAM,yBAAyB,CAAC;AAC3F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,SAAS,yBAAyB,EAAE,CAAC;CAC/C;AAwBD,qFAAqF;AACrF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,MAAM,EAAE,SAAS,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,GAAG,gBAAgB,CAqCnB"}
|
|
@@ -36,9 +36,11 @@ export function deriveRunLifecycleView(input) {
|
|
|
36
36
|
return {
|
|
37
37
|
status: input.status,
|
|
38
38
|
label: labels[input.status],
|
|
39
|
-
...(['
|
|
40
|
-
? { activityLabel:
|
|
41
|
-
:
|
|
39
|
+
...(input.waitingForOperator && ['monitoring', 'reviewing', 'fixing'].includes(input.status)
|
|
40
|
+
? { activityLabel: `Waiting on operator: ${input.waitingForOperator.who}` }
|
|
41
|
+
: ['fixing', 'review-failed', 'reconciling'].includes(input.status)
|
|
42
|
+
? { activityLabel: labels[input.status] }
|
|
43
|
+
: {}),
|
|
42
44
|
tone,
|
|
43
45
|
...(readiness
|
|
44
46
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-lifecycle-view.js","sourceRoot":"","sources":["../../src/contracts/run-lifecycle-view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"run-lifecycle-view.js","sourceRoot":"","sources":["../../src/contracts/run-lifecycle-view.ts"],"names":[],"mappings":"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"}
|
package/dist/contracts/runs.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ArtifactRef, ReviewIssue } from '../recipes/step-io.js';
|
|
2
|
-
import type { WorkerSignalChecklistEvent, WorkerSignalChecklistTiming, WorkerSignalStatus } from '../transport/signal.js';
|
|
2
|
+
import type { WorkerOperatorWait, WorkerSignalChecklistEvent, WorkerSignalChecklistTiming, WorkerSignalStatus } from '../transport/signal.js';
|
|
3
3
|
import type { AcceptanceStatusLedger } from './acceptance.js';
|
|
4
4
|
import type { AgentContext, AgentContextTarget, RunnerSessionArchiveRef, SafetyTier, ScriptedRunnerConfig, WorkerTransport } from './agents.js';
|
|
5
5
|
import type { FailureCategory, RunRecoveryProposalConfidence } from './chat.js';
|
|
@@ -7,7 +7,7 @@ import type { TaskTemplateSelection, TemplateProvenance } from './evals.js';
|
|
|
7
7
|
import type { EvidenceQualityReport, RecipeQualityArtifact } from './recipes.js';
|
|
8
8
|
import type { ResourcePostureWaitPolicy, RunResourcePostureState } from './resource-posture.js';
|
|
9
9
|
import type { ResourceType } from './resources.js';
|
|
10
|
-
import type { RunImportProvenance } from './run-bundles.js';
|
|
10
|
+
import type { RunArtifactBundleRef, RunImportProvenance } from './run-bundles.js';
|
|
11
11
|
import type { EvidencePolicyAttestation, RunGateReadiness } from './run-gate-readiness.js';
|
|
12
12
|
import type { RuntimeCapabilityProofRequirement } from './runtime-capabilities.js';
|
|
13
13
|
import type { SlotHealth } from './slots.js';
|
|
@@ -65,6 +65,7 @@ export interface RunStep {
|
|
|
65
65
|
export type LiveRecipeSource = 'decision' | 'recipe-run-live' | 'recipe-run-artifacts' | 'final-artifacts';
|
|
66
66
|
export type LiveRecipeSelectionReason = 'latest-run' | 'user-selected' | 'decision-derived' | 'fallback-none';
|
|
67
67
|
export interface LiveRecipeContext {
|
|
68
|
+
artifactBundle?: RunArtifactBundleRef;
|
|
68
69
|
source: LiveRecipeSource;
|
|
69
70
|
recipeRunId: string | null;
|
|
70
71
|
artifactRoot: string | null;
|
|
@@ -586,6 +587,7 @@ export interface GateTokenSummary {
|
|
|
586
587
|
runnerSessionPaths?: string[];
|
|
587
588
|
}
|
|
588
589
|
export interface ReadyGatePrPackage {
|
|
590
|
+
artifactBundle?: RunArtifactBundleRef;
|
|
589
591
|
/** Gateway override receipts applied when this package was prepared. */
|
|
590
592
|
claimOverrideReceiptIds?: string[];
|
|
591
593
|
/** Authenticated visual judgments captured by this review snapshot. */
|
|
@@ -628,12 +630,29 @@ export interface ReadyGateInputSnapshot {
|
|
|
628
630
|
checklist?: string[];
|
|
629
631
|
templateProvenance?: TemplateProvenance | null;
|
|
630
632
|
}
|
|
633
|
+
export interface ReviewBudgetExtension {
|
|
634
|
+
requestId: string;
|
|
635
|
+
runId: string;
|
|
636
|
+
project: string;
|
|
637
|
+
branch: string;
|
|
638
|
+
repository?: string;
|
|
639
|
+
prNumber?: number;
|
|
640
|
+
headSha: string;
|
|
641
|
+
previousLimit: number;
|
|
642
|
+
limit: number;
|
|
643
|
+
scopeBrief: string;
|
|
644
|
+
principalId: string;
|
|
645
|
+
principalSubject: import('../rpc/principal.js').PrincipalSubject;
|
|
646
|
+
approvedAt: string;
|
|
647
|
+
}
|
|
631
648
|
export interface ReviewRoundBudget {
|
|
632
649
|
used: number;
|
|
633
650
|
limit: number;
|
|
634
651
|
remaining: number;
|
|
635
652
|
label: string;
|
|
636
653
|
diagnosis?: string;
|
|
654
|
+
extensions?: ReviewBudgetExtension[];
|
|
655
|
+
extensionSummary?: string;
|
|
637
656
|
}
|
|
638
657
|
export interface ReadyGatePayload {
|
|
639
658
|
kind: 'ready';
|
|
@@ -1023,6 +1042,7 @@ export interface LearningsDraftPayload {
|
|
|
1023
1042
|
export type RunDecisionPayload = OutputReviewPayload | ReviewGatePayload | ReadyGatePayload | NoChangeGatePayload | SlotPickerPayload | BranchAffinityNudgePayload | ImprovementDiffPayload | LearningsDraftPayload | RetrospectivePayload | CollisionPayload | ReviewContinuationPayload;
|
|
1024
1043
|
/** Review retained output independently of worker outcome or publication. */
|
|
1025
1044
|
export interface OutputReviewPayload {
|
|
1045
|
+
artifactBundle?: RunArtifactBundleRef;
|
|
1026
1046
|
kind: 'output-review';
|
|
1027
1047
|
claimOverrideReceiptIds?: string[];
|
|
1028
1048
|
/** Authenticated visual judgments captured by this review snapshot. */
|
|
@@ -1031,6 +1051,8 @@ export interface OutputReviewPayload {
|
|
|
1031
1051
|
reportPath: string;
|
|
1032
1052
|
}
|
|
1033
1053
|
export interface RunOutput {
|
|
1054
|
+
artifactBundle?: RunArtifactBundleRef;
|
|
1055
|
+
retentionMissingData?: string[];
|
|
1034
1056
|
capturedAt: string;
|
|
1035
1057
|
workerFinished: boolean;
|
|
1036
1058
|
artifactManifest: ArtifactRef[];
|
|
@@ -1412,6 +1434,10 @@ export interface RunBudgetDeliveryState {
|
|
|
1412
1434
|
attempts: number;
|
|
1413
1435
|
firstHeldAt?: number;
|
|
1414
1436
|
}
|
|
1437
|
+
export interface RunOperatorWait extends WorkerOperatorWait {
|
|
1438
|
+
contextId: string;
|
|
1439
|
+
attemptId: string;
|
|
1440
|
+
}
|
|
1415
1441
|
export interface RunMonitorState {
|
|
1416
1442
|
nudgeCount: number;
|
|
1417
1443
|
lastPollAt: string;
|
|
@@ -1419,6 +1445,10 @@ export interface RunMonitorState {
|
|
|
1419
1445
|
lastPaneHash?: string;
|
|
1420
1446
|
/** ISO time of last structured runner progress; used to restore stuck clocks. */
|
|
1421
1447
|
lastStructuredProgressAt?: string;
|
|
1448
|
+
/** Confirmed operator wait time excluded from the monitor's execution timeout. */
|
|
1449
|
+
operatorWaitMs?: number;
|
|
1450
|
+
/** Inactivity grace after explicit resume; this is not worker progress. */
|
|
1451
|
+
operatorResumedAt?: string;
|
|
1422
1452
|
/** True after a one-shot usage-budget warning was emitted for this monitor session. */
|
|
1423
1453
|
budgetWarned?: boolean;
|
|
1424
1454
|
/** True after a budget nudge was confirmed delivered (may retry while false). */
|
|
@@ -1978,6 +2008,8 @@ export interface Run {
|
|
|
1978
2008
|
sourceProvenance?: import('../sources/contracts.js').RunSourceProvenance;
|
|
1979
2009
|
/** Gateway-owned, opaque reviewer admission receipts. Replay must retain these. */
|
|
1980
2010
|
reviewRoundAdmissions?: string[];
|
|
2011
|
+
/** Gateway-authorized scoped grants; copied with admissions when a PR scope is shared. */
|
|
2012
|
+
reviewBudgetExtensions?: ReviewBudgetExtension[];
|
|
1981
2013
|
/** Run cleanup preserved resources whose ownership could not be proven. */
|
|
1982
2014
|
slotTeardownSkipped?: string;
|
|
1983
2015
|
/** Gateway-owned automatic QA opt-in and durable follow-up status. */
|
|
@@ -2073,6 +2105,8 @@ export interface Run {
|
|
|
2073
2105
|
completionPolicy?: RunCompletionPolicy;
|
|
2074
2106
|
/** Local retained output; viewing or acknowledging it never changes the verdict. */
|
|
2075
2107
|
output?: RunOutput;
|
|
2108
|
+
/** Most recent explicit retained capture. Historical decisions keep their own refs. */
|
|
2109
|
+
artifactBundle?: RunArtifactBundleRef;
|
|
2076
2110
|
/** Principal-stamped one-dispatch pressure override requested for this run.
|
|
2077
2111
|
* Bound to one machine + pressure generation; dispatch execution recomputes
|
|
2078
2112
|
* the admission decision and rejects the override when the generation moved. */
|
|
@@ -2167,6 +2201,8 @@ export interface Run {
|
|
|
2167
2201
|
*/
|
|
2168
2202
|
redirectedToRunId?: string | null;
|
|
2169
2203
|
monitorState?: RunMonitorState;
|
|
2204
|
+
/** Monitor-validated dependency; the worker signal remains the authority. */
|
|
2205
|
+
waitingForOperator?: RunOperatorWait;
|
|
2170
2206
|
/** CI-watch inline-fix dedup + counters. Persisted so the circuit breaker survives gateway restart (ADR-027). */
|
|
2171
2207
|
ciWatchState?: RunCiWatchState;
|
|
2172
2208
|
/** Run-engine runtime flags + replay generation counter. Persisted so warm-recovery hints
|