specrails-core 5.3.0 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/dist/agent-runtime/capabilities.d.ts +28 -0
- package/dist/agent-runtime/capabilities.js +81 -0
- package/dist/agent-runtime/capabilities.js.map +1 -0
- package/dist/agent-runtime/cli-executor.d.ts +9 -0
- package/dist/agent-runtime/cli-executor.js +109 -34
- package/dist/agent-runtime/cli-executor.js.map +1 -1
- package/dist/agent-runtime/cli-process.d.ts +1 -0
- package/dist/agent-runtime/cli-process.js +13 -2
- package/dist/agent-runtime/cli-process.js.map +1 -1
- package/dist/agent-runtime/cli.d.ts +1 -0
- package/dist/agent-runtime/cli.js +60 -11
- package/dist/agent-runtime/cli.js.map +1 -1
- package/dist/agent-runtime/codex-schema.d.ts +4 -0
- package/dist/agent-runtime/codex-schema.js +31 -0
- package/dist/agent-runtime/codex-schema.js.map +1 -0
- package/dist/agent-runtime/compact/architect.d.ts +349 -0
- package/dist/agent-runtime/compact/architect.js +371 -0
- package/dist/agent-runtime/compact/architect.js.map +1 -0
- package/dist/agent-runtime/compact/chat-client.d.ts +83 -0
- package/dist/agent-runtime/compact/chat-client.js +307 -0
- package/dist/agent-runtime/compact/chat-client.js.map +1 -0
- package/dist/agent-runtime/compact/developer.d.ts +160 -0
- package/dist/agent-runtime/compact/developer.js +823 -0
- package/dist/agent-runtime/compact/developer.js.map +1 -0
- package/dist/agent-runtime/compact/environment.d.ts +62 -0
- package/dist/agent-runtime/compact/environment.js +213 -0
- package/dist/agent-runtime/compact/environment.js.map +1 -0
- package/dist/agent-runtime/compact/exit-code-honesty.d.ts +8 -0
- package/dist/agent-runtime/compact/exit-code-honesty.js +28 -0
- package/dist/agent-runtime/compact/exit-code-honesty.js.map +1 -0
- package/dist/agent-runtime/compact/guarded-loop.d.ts +73 -0
- package/dist/agent-runtime/compact/guarded-loop.js +320 -0
- package/dist/agent-runtime/compact/guarded-loop.js.map +1 -0
- package/dist/agent-runtime/compact/prompt-inputs.d.ts +42 -0
- package/dist/agent-runtime/compact/prompt-inputs.js +59 -0
- package/dist/agent-runtime/compact/prompt-inputs.js.map +1 -0
- package/dist/agent-runtime/compact/reviewer.d.ts +24 -0
- package/dist/agent-runtime/compact/reviewer.js +178 -0
- package/dist/agent-runtime/compact/reviewer.js.map +1 -0
- package/dist/agent-runtime/compact/step.d.ts +70 -0
- package/dist/agent-runtime/compact/step.js +136 -0
- package/dist/agent-runtime/compact/step.js.map +1 -0
- package/dist/agent-runtime/compact/test-reachability.d.ts +30 -0
- package/dist/agent-runtime/compact/test-reachability.js +147 -0
- package/dist/agent-runtime/compact/test-reachability.js.map +1 -0
- package/dist/agent-runtime/config.d.ts +4 -0
- package/dist/agent-runtime/config.js +146 -15
- package/dist/agent-runtime/config.js.map +1 -1
- package/dist/agent-runtime/core-host.d.ts +12 -4
- package/dist/agent-runtime/core-host.js +61 -21
- package/dist/agent-runtime/core-host.js.map +1 -1
- package/dist/agent-runtime/efficiency-summary.d.ts +67 -0
- package/dist/agent-runtime/efficiency-summary.js +52 -0
- package/dist/agent-runtime/efficiency-summary.js.map +1 -0
- package/dist/agent-runtime/efficiency-types.d.ts +60 -0
- package/dist/agent-runtime/efficiency-types.js +8 -0
- package/dist/agent-runtime/efficiency-types.js.map +1 -0
- package/dist/agent-runtime/efficiency.d.ts +5 -0
- package/dist/agent-runtime/efficiency.js +35 -0
- package/dist/agent-runtime/efficiency.js.map +1 -0
- package/dist/agent-runtime/evaluation-corpus.d.ts +13 -0
- package/dist/agent-runtime/evaluation-corpus.js +8 -0
- package/dist/agent-runtime/evaluation-corpus.js.map +1 -0
- package/dist/agent-runtime/evaluation.d.ts +43 -0
- package/dist/agent-runtime/evaluation.js +171 -0
- package/dist/agent-runtime/evaluation.js.map +1 -0
- package/dist/agent-runtime/executor-types.d.ts +71 -4
- package/dist/agent-runtime/executor-types.js +7 -2
- package/dist/agent-runtime/executor-types.js.map +1 -1
- package/dist/agent-runtime/executors.d.ts +1 -0
- package/dist/agent-runtime/executors.js +4 -0
- package/dist/agent-runtime/executors.js.map +1 -1
- package/dist/agent-runtime/graph/artifacts.d.ts +8 -22
- package/dist/agent-runtime/graph/artifacts.js +99 -73
- package/dist/agent-runtime/graph/artifacts.js.map +1 -1
- package/dist/agent-runtime/graph/nodes.d.ts +7 -2
- package/dist/agent-runtime/graph/nodes.js +207 -53
- package/dist/agent-runtime/graph/nodes.js.map +1 -1
- package/dist/agent-runtime/graph/roles.d.ts +11 -3
- package/dist/agent-runtime/graph/roles.js +109 -37
- package/dist/agent-runtime/graph/roles.js.map +1 -1
- package/dist/agent-runtime/graph/state.d.ts +10 -1
- package/dist/agent-runtime/graph/state.js +2 -1
- package/dist/agent-runtime/graph/state.js.map +1 -1
- package/dist/agent-runtime/guardrails.d.ts +15 -0
- package/dist/agent-runtime/guardrails.js +76 -0
- package/dist/agent-runtime/guardrails.js.map +1 -0
- package/dist/agent-runtime/index.d.ts +7 -1
- package/dist/agent-runtime/index.js +7 -1
- package/dist/agent-runtime/index.js.map +1 -1
- package/dist/agent-runtime/kimi-acp.d.ts +4 -0
- package/dist/agent-runtime/kimi-acp.js +20 -9
- package/dist/agent-runtime/kimi-acp.js.map +1 -1
- package/dist/agent-runtime/openai-executor.d.ts +33 -1
- package/dist/agent-runtime/openai-executor.js +76 -113
- package/dist/agent-runtime/openai-executor.js.map +1 -1
- package/dist/agent-runtime/openspec-tool-server.d.ts +1 -0
- package/dist/agent-runtime/openspec-tool-server.js +37 -0
- package/dist/agent-runtime/openspec-tool-server.js.map +1 -0
- package/dist/agent-runtime/openspec.d.ts +198 -0
- package/dist/agent-runtime/openspec.js +329 -0
- package/dist/agent-runtime/openspec.js.map +1 -0
- package/dist/agent-runtime/prompts.d.ts +24 -1
- package/dist/agent-runtime/prompts.js +112 -43
- package/dist/agent-runtime/prompts.js.map +1 -1
- package/dist/agent-runtime/provider-diagnostic.d.ts +2 -0
- package/dist/agent-runtime/provider-diagnostic.js +25 -0
- package/dist/agent-runtime/provider-diagnostic.js.map +1 -0
- package/dist/agent-runtime/repository-context.d.ts +25 -0
- package/dist/agent-runtime/repository-context.js +127 -0
- package/dist/agent-runtime/repository-context.js.map +1 -0
- package/dist/agent-runtime/review-context.d.ts +14 -0
- package/dist/agent-runtime/review-context.js +41 -0
- package/dist/agent-runtime/review-context.js.map +1 -0
- package/dist/agent-runtime/role-routing.d.ts +10 -0
- package/dist/agent-runtime/role-routing.js +30 -0
- package/dist/agent-runtime/role-routing.js.map +1 -0
- package/dist/agent-runtime/role-state.d.ts +19 -0
- package/dist/agent-runtime/role-state.js +24 -0
- package/dist/agent-runtime/role-state.js.map +1 -0
- package/dist/agent-runtime/runtime-identity.d.ts +11 -0
- package/dist/agent-runtime/runtime-identity.js +33 -0
- package/dist/agent-runtime/runtime-identity.js.map +1 -0
- package/dist/agent-runtime/tool-event.d.ts +3 -0
- package/dist/agent-runtime/tool-event.js +24 -0
- package/dist/agent-runtime/tool-event.js.map +1 -0
- package/dist/agent-runtime/verification-plan.d.ts +55 -0
- package/dist/agent-runtime/verification-plan.js +206 -0
- package/dist/agent-runtime/verification-plan.js.map +1 -0
- package/dist/agent-runtime/workflow-types.d.ts +19 -1
- package/dist/agent-runtime/workflow.js +29 -2
- package/dist/agent-runtime/workflow.js.map +1 -1
- package/dist/agent-runtime/workspace-tools.d.ts +4 -0
- package/dist/agent-runtime/workspace-tools.js +182 -20
- package/dist/agent-runtime/workspace-tools.js.map +1 -1
- package/dist/installer/phases/scaffold.js +39 -109
- package/dist/installer/phases/scaffold.js.map +1 -1
- package/dist/installer/runtime/pipeline-state.d.ts +143 -1
- package/dist/installer/runtime/pipeline-state.js +510 -30
- package/dist/installer/runtime/pipeline-state.js.map +1 -1
- package/docs/agent-runtime-efficiency.md +65 -0
- package/docs/agent-runtime.md +86 -15
- package/integration-contract.json +2 -1
- package/package.json +5 -2
- package/schemas/agent-runtime.schema.json +34 -4
- package/schemas/fixtures/runtime-efficiency-summary.v1.json +790 -0
- package/templates/codex-skills/batch-implement/SKILL.md +33 -58
- package/templates/codex-skills/implement/SKILL.md +21 -124
- package/templates/codex-skills/retry/SKILL.md +8 -34
- package/templates/commands/specrails/batch-implement.md +21 -16
- package/templates/commands/specrails/implement.md +17 -276
- package/templates/commands/specrails/retry.md +6 -34
- package/templates/gemini-commands/batch-implement.toml +34 -28
- package/templates/gemini-commands/implement.toml +34 -55
- package/templates/gemini-commands/retry.toml +10 -16
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-reachability.js","sourceRoot":"","sources":["../../../src/agent-runtime/compact/test-reachability.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,3 +5,7 @@ export declare function validateRuntimeConfig(input: unknown, options?: {
|
|
|
5
5
|
export declare function loadRuntimeConfig(file: string, options?: {
|
|
6
6
|
registeredProviderIds?: string[];
|
|
7
7
|
}): RuntimeConfig;
|
|
8
|
+
/** New admissions normalize once; validation of a saved document is lossless. */
|
|
9
|
+
export declare function normalizeRuntimeConfig(input: unknown, options?: {
|
|
10
|
+
registeredProviderIds?: string[];
|
|
11
|
+
}): RuntimeConfig;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { validateGuardrailSettings } from './guardrails.js';
|
|
1
2
|
import { readFileSync } from 'node:fs';
|
|
2
3
|
import { DEFAULT_REVIEW_POLICY, REVIEW_ASPECTS } from './graph/review-policy.js';
|
|
3
4
|
const ROLES = ['architect', 'developer', 'reviewer'];
|
|
@@ -24,6 +25,26 @@ function identifier(value, field) {
|
|
|
24
25
|
fail(field, 'expected a safe provider identifier');
|
|
25
26
|
return result;
|
|
26
27
|
}
|
|
28
|
+
function model(value, field) {
|
|
29
|
+
const result = string(value, field);
|
|
30
|
+
if (result.length > 256 || /[\r\n]/.test(result) || result.startsWith('-'))
|
|
31
|
+
fail(field, 'invalid model identifier');
|
|
32
|
+
return result;
|
|
33
|
+
}
|
|
34
|
+
function effort(value, field) {
|
|
35
|
+
const result = string(value, field);
|
|
36
|
+
if (!/^[a-z][a-z0-9_-]{0,31}$/.test(result))
|
|
37
|
+
fail(field, 'invalid effort identifier');
|
|
38
|
+
return result;
|
|
39
|
+
}
|
|
40
|
+
function boolean(value, field) {
|
|
41
|
+
if (typeof value !== 'boolean')
|
|
42
|
+
fail(field, 'expected boolean');
|
|
43
|
+
}
|
|
44
|
+
function choices(value, allowed, field) {
|
|
45
|
+
if (!allowed.includes(String(value)) || typeof value !== 'string')
|
|
46
|
+
fail(field, `expected ${allowed.join(' or ')}`);
|
|
47
|
+
}
|
|
27
48
|
function positive(value, field, integer = true) {
|
|
28
49
|
if (typeof value !== 'number' || !Number.isFinite(value) || value <= 0 || (integer && !Number.isSafeInteger(value)))
|
|
29
50
|
fail(field, 'expected a positive finite number' + (integer ? ' (integer)' : ''));
|
|
@@ -39,10 +60,10 @@ function score(value, field, floor) {
|
|
|
39
60
|
}
|
|
40
61
|
export function validateRuntimeConfig(input, options = {}) {
|
|
41
62
|
const config = object(input, '$');
|
|
42
|
-
keys(config, ['schemaVersion', 'enabled', 'providers', 'agents', 'limits', 'verification', 'approvalBeforeArchive', 'review', 'architect'], '$');
|
|
63
|
+
keys(config, ['schemaVersion', 'enabled', 'providers', 'agents', 'fixer', 'limits', 'verification', 'approvalBeforeArchive', 'review', 'architect', 'rolePrompts', 'efficiency', 'guardrails'], '$');
|
|
43
64
|
if (config.schemaVersion !== 1)
|
|
44
65
|
fail('schemaVersion', 'expected 1');
|
|
45
|
-
if (typeof config.enabled !== 'boolean')
|
|
66
|
+
if (config.enabled !== undefined && typeof config.enabled !== 'boolean')
|
|
46
67
|
fail('enabled', 'expected boolean');
|
|
47
68
|
if (!Array.isArray(config.providers))
|
|
48
69
|
fail('providers', 'expected an array');
|
|
@@ -57,7 +78,7 @@ export function validateRuntimeConfig(input, options = {}) {
|
|
|
57
78
|
}
|
|
58
79
|
if (provider.kind !== 'openai-compatible')
|
|
59
80
|
fail(`${field}.kind`, 'unsupported executor kind');
|
|
60
|
-
keys(provider, ['id', 'kind', 'baseUrl', 'apiKeyEnv'], field);
|
|
81
|
+
keys(provider, ['id', 'kind', 'baseUrl', 'apiKeyEnv', 'agentLoop', 'contextWindowTokens', 'maxOutputTokens', 'supportsReasoningEffort'], field);
|
|
61
82
|
const baseUrl = string(provider.baseUrl, `${field}.baseUrl`);
|
|
62
83
|
let url;
|
|
63
84
|
try {
|
|
@@ -70,30 +91,59 @@ export function validateRuntimeConfig(input, options = {}) {
|
|
|
70
91
|
fail(`${field}.baseUrl`, 'use HTTP(S) without credentials, query or fragment');
|
|
71
92
|
if (provider.apiKeyEnv !== undefined && (typeof provider.apiKeyEnv !== 'string' || !/^[A-Za-z_][A-Za-z0-9_]*$/.test(provider.apiKeyEnv)))
|
|
72
93
|
fail(`${field}.apiKeyEnv`, 'expected an environment variable name, never a credential value');
|
|
73
|
-
|
|
94
|
+
if (provider.agentLoop !== undefined)
|
|
95
|
+
choices(provider.agentLoop, ['compact', 'free'], `${field}.agentLoop`);
|
|
96
|
+
if (provider.contextWindowTokens !== undefined && positive(provider.contextWindowTokens, `${field}.contextWindowTokens`) < 4096)
|
|
97
|
+
fail(`${field}.contextWindowTokens`, 'expected an integer of at least 4096');
|
|
98
|
+
if (provider.maxOutputTokens !== undefined && positive(provider.maxOutputTokens, `${field}.maxOutputTokens`) < 1024)
|
|
99
|
+
fail(`${field}.maxOutputTokens`, 'expected an integer of at least 1024');
|
|
100
|
+
if (provider.supportsReasoningEffort !== undefined && typeof provider.supportsReasoningEffort !== 'boolean')
|
|
101
|
+
fail(`${field}.supportsReasoningEffort`, 'expected a boolean');
|
|
102
|
+
return { id, kind: 'openai-compatible', baseUrl, ...(provider.apiKeyEnv === undefined ? {} : { apiKeyEnv: provider.apiKeyEnv }),
|
|
103
|
+
...(provider.agentLoop === undefined ? {} : { agentLoop: provider.agentLoop }),
|
|
104
|
+
...(provider.contextWindowTokens === undefined ? {} : { contextWindowTokens: provider.contextWindowTokens }),
|
|
105
|
+
...(provider.maxOutputTokens === undefined ? {} : { maxOutputTokens: provider.maxOutputTokens }),
|
|
106
|
+
...(provider.supportsReasoningEffort === undefined ? {} : { supportsReasoningEffort: provider.supportsReasoningEffort }) };
|
|
74
107
|
});
|
|
75
108
|
if (new Set(providers.map(p => p.id)).size !== providers.length)
|
|
76
109
|
fail('providers', 'duplicate provider id');
|
|
77
110
|
const known = new Set([...providers.map(p => p.id), ...options.registeredProviderIds ?? []]);
|
|
78
111
|
const rawAgents = object(config.agents, 'agents');
|
|
79
112
|
keys(rawAgents, ROLES, 'agents');
|
|
80
|
-
const
|
|
81
|
-
const
|
|
82
|
-
keys(agent, ['provider', 'model', 'maxTurns'], field);
|
|
113
|
+
const validateAgent = (raw, field) => {
|
|
114
|
+
const agent = object(raw, field);
|
|
115
|
+
keys(agent, ['provider', 'model', 'maxTurns', 'effort', 'thinking', 'escalation'], field);
|
|
83
116
|
const provider = identifier(agent.provider, `${field}.provider`);
|
|
84
117
|
if (!known.has(provider))
|
|
85
118
|
fail(`${field}.provider`, `provider '${provider}' is not configured or registered`);
|
|
86
119
|
if (agent.model !== undefined) {
|
|
87
|
-
|
|
88
|
-
if (model.length > 256 || /[\r\n]/.test(model) || model.startsWith('-'))
|
|
89
|
-
fail(`${field}.model`, 'invalid model identifier');
|
|
120
|
+
model(agent.model, `${field}.model`);
|
|
90
121
|
}
|
|
91
122
|
if (providers.find(p => p.id === provider)?.kind === 'openai-compatible' && agent.model === undefined)
|
|
92
123
|
fail(`${field}.model`, 'required for an OpenAI-compatible provider');
|
|
93
124
|
if (agent.maxTurns !== undefined)
|
|
94
125
|
positive(agent.maxTurns, `${field}.maxTurns`);
|
|
95
|
-
|
|
96
|
-
|
|
126
|
+
if (agent.effort !== undefined)
|
|
127
|
+
effort(agent.effort, `${field}.effort`);
|
|
128
|
+
if (agent.thinking !== undefined)
|
|
129
|
+
choices(agent.thinking, ['on', 'off'], `${field}.thinking`);
|
|
130
|
+
if (agent.escalation !== undefined) {
|
|
131
|
+
const escalation = object(agent.escalation, `${field}.escalation`);
|
|
132
|
+
keys(escalation, ['model', 'effort'], `${field}.escalation`);
|
|
133
|
+
if (agent.model === undefined)
|
|
134
|
+
fail(`${field}.model`, 'an explicit base model is required for escalation');
|
|
135
|
+
model(escalation.model, `${field}.escalation.model`);
|
|
136
|
+
if (escalation.effort !== undefined)
|
|
137
|
+
effort(escalation.effort, `${field}.escalation.effort`);
|
|
138
|
+
if (escalation.model === agent.model && escalation.effort === agent.effort)
|
|
139
|
+
fail(`${field}.escalation`, 'must select a different model or effort');
|
|
140
|
+
}
|
|
141
|
+
return structuredClone(agent);
|
|
142
|
+
};
|
|
143
|
+
const agents = Object.fromEntries(ROLES.map(role => [role, validateAgent(rawAgents[role], `agents.${role}`)]));
|
|
144
|
+
// The optional fixer: the engine correction rounds run on (verify failure or
|
|
145
|
+
// review rejection); absent ⇒ the developer corrects its own work.
|
|
146
|
+
const fixer = config.fixer === undefined ? undefined : validateAgent(config.fixer, 'fixer');
|
|
97
147
|
if (config.limits !== undefined) {
|
|
98
148
|
const limits = object(config.limits, 'limits');
|
|
99
149
|
keys(limits, ['maxAttempts', 'maxTokens', 'maxCostUsd', 'timeoutMs'], 'limits');
|
|
@@ -104,7 +154,32 @@ export function validateRuntimeConfig(input, options = {}) {
|
|
|
104
154
|
fail('verification', 'expected an array of verification commands');
|
|
105
155
|
const verification = config.verification.map((item, i) => {
|
|
106
156
|
const field = `verification[${i}]`, command = object(item, field);
|
|
107
|
-
keys(command, ['repositoryId', 'command', 'args', 'cwd', 'env', 'timeoutMs'], field);
|
|
157
|
+
keys(command, ['repositoryId', 'command', 'args', 'cwd', 'env', 'timeoutMs', 'key', 'label', 'policy'], field);
|
|
158
|
+
if (command.key !== undefined)
|
|
159
|
+
identifier(command.key, `${field}.key`);
|
|
160
|
+
if (command.label !== undefined && string(command.label, `${field}.label`).length > 256)
|
|
161
|
+
fail(`${field}.label`, 'maximum 256 characters');
|
|
162
|
+
if (command.policy !== undefined) {
|
|
163
|
+
const policy = object(command.policy, `${field}.policy`);
|
|
164
|
+
keys(policy, ['reuse', 'inputs', 'deterministic', 'readOnly', 'toolchainInputs', 'independentGroup', 'resources'], `${field}.policy`);
|
|
165
|
+
if (policy.reuse !== undefined)
|
|
166
|
+
choices(policy.reuse, ['never', 'snapshot-local'], `${field}.policy.reuse`);
|
|
167
|
+
for (const key of ['deterministic', 'readOnly'])
|
|
168
|
+
if (policy[key] !== undefined)
|
|
169
|
+
boolean(policy[key], `${field}.policy.${key}`);
|
|
170
|
+
if (policy.independentGroup !== undefined)
|
|
171
|
+
identifier(policy.independentGroup, `${field}.policy.independentGroup`);
|
|
172
|
+
for (const key of ['inputs', 'toolchainInputs', 'resources']) {
|
|
173
|
+
const values = policy[key];
|
|
174
|
+
if (values === undefined)
|
|
175
|
+
continue;
|
|
176
|
+
if (!Array.isArray(values) || values.length > 256)
|
|
177
|
+
fail(`${field}.policy.${key}`, 'expected at most 256 entries');
|
|
178
|
+
for (const value of values)
|
|
179
|
+
if (string(value, `${field}.policy.${key}`).length > 4096)
|
|
180
|
+
fail(`${field}.policy.${key}`, 'entry exceeds 4096 characters');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
108
183
|
identifier(command.repositoryId, `${field}.repositoryId`);
|
|
109
184
|
string(command.command, `${field}.command`);
|
|
110
185
|
if (!Array.isArray(command.args) || !command.args.every(arg => typeof arg === 'string' && !arg.includes('\0')))
|
|
@@ -124,6 +199,37 @@ export function validateRuntimeConfig(input, options = {}) {
|
|
|
124
199
|
}
|
|
125
200
|
return structuredClone(command);
|
|
126
201
|
});
|
|
202
|
+
const checkKeys = verification.flatMap(check => check.key ? [check.key] : []);
|
|
203
|
+
if (new Set(checkKeys).size !== checkKeys.length)
|
|
204
|
+
fail('verification', 'duplicate check key');
|
|
205
|
+
if (config.efficiency !== undefined) {
|
|
206
|
+
const policy = object(config.efficiency, 'efficiency');
|
|
207
|
+
keys(policy, ['schemaVersion', 'contextMode', 'reviewMode', 'planning', 'acceptDeveloperChecks', 'verification'], 'efficiency');
|
|
208
|
+
if (policy.schemaVersion !== 1)
|
|
209
|
+
fail('efficiency.schemaVersion', 'expected 1');
|
|
210
|
+
for (const key of ['contextMode', 'reviewMode'])
|
|
211
|
+
if (policy[key] !== undefined)
|
|
212
|
+
choices(policy[key], ['full', 'incremental'], `efficiency.${key}`);
|
|
213
|
+
if (policy.planning !== undefined)
|
|
214
|
+
choices(policy.planning, ['full', 'proportional'], 'efficiency.planning');
|
|
215
|
+
if (policy.acceptDeveloperChecks !== undefined)
|
|
216
|
+
boolean(policy.acceptDeveloperChecks, 'efficiency.acceptDeveloperChecks');
|
|
217
|
+
if (policy.verification !== undefined) {
|
|
218
|
+
const verification = object(policy.verification, 'efficiency.verification');
|
|
219
|
+
keys(verification, ['maxConcurrency'], 'efficiency.verification');
|
|
220
|
+
if (verification.maxConcurrency !== undefined && positive(verification.maxConcurrency, 'efficiency.verification.maxConcurrency') > 4)
|
|
221
|
+
fail('efficiency.verification.maxConcurrency', 'maximum 4');
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
let guardrails;
|
|
225
|
+
if (config.guardrails !== undefined) {
|
|
226
|
+
try {
|
|
227
|
+
guardrails = validateGuardrailSettings(config.guardrails);
|
|
228
|
+
}
|
|
229
|
+
catch (error) {
|
|
230
|
+
fail('guardrails', error instanceof Error ? error.message.replace(/^guardrails\.?/, '').trim() || 'invalid' : 'invalid');
|
|
231
|
+
}
|
|
232
|
+
}
|
|
127
233
|
if (config.approvalBeforeArchive !== undefined && typeof config.approvalBeforeArchive !== 'boolean')
|
|
128
234
|
fail('approvalBeforeArchive', 'expected boolean');
|
|
129
235
|
let review;
|
|
@@ -150,13 +256,38 @@ export function validateRuntimeConfig(input, options = {}) {
|
|
|
150
256
|
architect.onLowConfidence = raw.onLowConfidence;
|
|
151
257
|
}
|
|
152
258
|
}
|
|
153
|
-
|
|
259
|
+
let rolePrompts;
|
|
260
|
+
if (config.rolePrompts !== undefined) {
|
|
261
|
+
const raw = object(config.rolePrompts, 'rolePrompts');
|
|
262
|
+
keys(raw, [...ROLES, 'fixer'], 'rolePrompts');
|
|
263
|
+
rolePrompts = {};
|
|
264
|
+
for (const [role, value] of Object.entries(raw)) {
|
|
265
|
+
const text = string(value, `rolePrompts.${role}`);
|
|
266
|
+
if (text.length > 20000)
|
|
267
|
+
fail(`rolePrompts.${role}`, 'maximum 20000 characters');
|
|
268
|
+
rolePrompts[role] = text;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return { schemaVersion: 1, enabled: true, providers, agents, verification,
|
|
272
|
+
...(config.efficiency === undefined ? {} : { efficiency: structuredClone(config.efficiency) }),
|
|
273
|
+
...(rolePrompts === undefined ? {} : { rolePrompts }),
|
|
154
274
|
...(config.limits === undefined ? {} : { limits: { ...config.limits } }),
|
|
155
275
|
...(config.approvalBeforeArchive === undefined ? {} : { approvalBeforeArchive: config.approvalBeforeArchive }),
|
|
156
276
|
...(review === undefined ? {} : { review }),
|
|
157
|
-
...(architect === undefined ? {} : { architect }),
|
|
277
|
+
...(architect === undefined ? {} : { architect }),
|
|
278
|
+
...(guardrails === undefined ? {} : { guardrails }),
|
|
279
|
+
...(fixer === undefined ? {} : { fixer }), };
|
|
158
280
|
}
|
|
159
281
|
export function loadRuntimeConfig(file, options) {
|
|
160
282
|
return validateRuntimeConfig(JSON.parse(readFileSync(file, 'utf8')), options);
|
|
161
283
|
}
|
|
284
|
+
/** New admissions normalize once; validation of a saved document is lossless. */
|
|
285
|
+
export function normalizeRuntimeConfig(input, options) {
|
|
286
|
+
const config = JSON.parse(JSON.stringify(validateRuntimeConfig(input, options)));
|
|
287
|
+
config.efficiency = {
|
|
288
|
+
schemaVersion: 1, contextMode: 'incremental', reviewMode: 'incremental', planning: 'proportional', acceptDeveloperChecks: true,
|
|
289
|
+
...config.efficiency, verification: { maxConcurrency: 1, ...config.efficiency?.verification },
|
|
290
|
+
};
|
|
291
|
+
return config;
|
|
292
|
+
}
|
|
162
293
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/agent-runtime/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/agent-runtime/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { type PipelineContext } from '../installer/runtime/pipeline-state.js';
|
|
2
2
|
import { type ExecutorRegistry } from './executors.js';
|
|
3
|
-
import type { AgentEvent,
|
|
3
|
+
import type { AgentEvent, RuntimeConfig, AgentEventRole } from './executor-types.js';
|
|
4
4
|
import { parseAgentObject } from './graph/artifacts.js';
|
|
5
|
+
import { type RuntimeIdentity } from './runtime-identity.js';
|
|
5
6
|
import type { WorkflowEvent, WorkflowSpan, WorkflowState } from './workflow-types.js';
|
|
6
7
|
export declare const RUNTIME_API_VERSION = 1;
|
|
7
|
-
export declare const CORE_WORKFLOW_VERSION = "
|
|
8
|
+
export declare const CORE_WORKFLOW_VERSION = "6";
|
|
8
9
|
export declare const CORE_PACKAGE_VERSION: string;
|
|
10
|
+
export declare function coreRuntimeIdentity(): RuntimeIdentity;
|
|
9
11
|
export { parseAgentObject };
|
|
10
12
|
export interface CoreWorkflowOptions {
|
|
11
13
|
context: PipelineContext | unknown;
|
|
@@ -21,11 +23,17 @@ export interface CoreWorkflowOptions {
|
|
|
21
23
|
invalidate?: string[];
|
|
22
24
|
onEvent?: (event: WorkflowEvent) => void | Promise<void>;
|
|
23
25
|
onSpan?: (span: WorkflowSpan) => void | Promise<void>;
|
|
24
|
-
onAgentEvent?: (role:
|
|
26
|
+
onAgentEvent?: (role: AgentEventRole, event: AgentEvent) => void;
|
|
25
27
|
onVerificationOutput?: (text: string) => void;
|
|
26
28
|
}
|
|
29
|
+
/** Read-only admission: validate scope, limits and actual effort support before freezing a request. */
|
|
30
|
+
export declare function preflightCoreWorkflow(options: Pick<CoreWorkflowOptions, 'context' | 'config' | 'change' | 'registry'>): Promise<{
|
|
31
|
+
context: PipelineContext;
|
|
32
|
+
config: RuntimeConfig;
|
|
33
|
+
registry: ExecutorRegistry;
|
|
34
|
+
}>;
|
|
27
35
|
/**
|
|
28
|
-
* Runs the Core implementation graph: architect → developer → verify →
|
|
36
|
+
* Runs the Core implementation graph: architect → developer → verify → review (→ fixer → verify → review on corrections)er → archive,
|
|
29
37
|
* with bounded corrections routed back to the developer, an autonomous investigation pass
|
|
30
38
|
* before a low-confidence design asks the requester, real verification receipts, acceptance
|
|
31
39
|
* evidence bound to the exact candidate, and an optional approval before archive.
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { fingerprint } from './durable-store.js';
|
|
2
|
+
import { prepareOpenSpec, roleOpenSpecContext } from './openspec.js';
|
|
1
3
|
import { existsSync, readFileSync } from 'node:fs';
|
|
2
4
|
import path from 'node:path';
|
|
3
|
-
import { initializePipeline, inspectPipeline, pipelineStateDirectory, validatePipelineContext, validateVerificationRequest, } from '../installer/runtime/pipeline-state.js';
|
|
4
|
-
import {
|
|
5
|
+
import { fingerprintCandidate, initializePipeline, inspectPipeline, pipelineStateDirectory, validatePipelineContext, validateVerificationRequest, } from '../installer/runtime/pipeline-state.js';
|
|
6
|
+
import { normalizeRuntimeConfig } from './config.js';
|
|
5
7
|
import { createExecutorRegistry } from './executors.js';
|
|
6
8
|
import { archive, child, journal, parseAgentObject, SLUG } from './graph/artifacts.js';
|
|
7
9
|
import { coreNodes } from './graph/nodes.js';
|
|
@@ -9,22 +11,20 @@ import { resolveReviewPolicy } from './graph/review-policy.js';
|
|
|
9
11
|
import { createRoleInvoker } from './graph/roles.js';
|
|
10
12
|
import { CORE_NODE_ORDER, CoreState } from './graph/state.js';
|
|
11
13
|
import { ROLE_INSTRUCTIONS_VERSION } from './prompts.js';
|
|
14
|
+
import { assertEffortSupported } from './capabilities.js';
|
|
15
|
+
import { runtimePackageIntegrity } from './runtime-identity.js';
|
|
12
16
|
import { readWorkflowState, runWorkflow } from './workflow.js';
|
|
13
17
|
export const RUNTIME_API_VERSION = 1;
|
|
14
|
-
export const CORE_WORKFLOW_VERSION = '
|
|
18
|
+
export const CORE_WORKFLOW_VERSION = '6';
|
|
15
19
|
export const CORE_PACKAGE_VERSION = JSON.parse(readFileSync(new URL('../../package.json', import.meta.url), 'utf8')).version;
|
|
20
|
+
export function coreRuntimeIdentity() {
|
|
21
|
+
return { packageVersion: CORE_PACKAGE_VERSION, workflowVersion: CORE_WORKFLOW_VERSION, instructionsVersion: String(ROLE_INSTRUCTIONS_VERSION), packageIntegrity: runtimePackageIntegrity(), apiVersion: 1 };
|
|
22
|
+
}
|
|
16
23
|
export { parseAgentObject };
|
|
17
|
-
/**
|
|
18
|
-
|
|
19
|
-
* with bounded corrections routed back to the developer, an autonomous investigation pass
|
|
20
|
-
* before a low-confidence design asks the requester, real verification receipts, acceptance
|
|
21
|
-
* evidence bound to the exact candidate, and an optional approval before archive.
|
|
22
|
-
*/
|
|
23
|
-
export async function runCoreWorkflow(options) {
|
|
24
|
+
/** Read-only admission: validate scope, limits and actual effort support before freezing a request. */
|
|
25
|
+
export async function preflightCoreWorkflow(options) {
|
|
24
26
|
const context = validatePipelineContext(options.context);
|
|
25
|
-
const config =
|
|
26
|
-
if (!config.enabled)
|
|
27
|
-
throw new Error('Programmatic agent runtime is disabled');
|
|
27
|
+
const config = normalizeRuntimeConfig(options.config, { registeredProviderIds: options.registry?.ids() });
|
|
28
28
|
if (context.ownership.git !== 'host')
|
|
29
29
|
throw new Error('Programmatic runtime requires host-owned delivery; Core shipping is not implemented by this workflow');
|
|
30
30
|
if (!SLUG.test(options.change) || options.change.length > 100)
|
|
@@ -36,11 +36,28 @@ export async function runCoreWorkflow(options) {
|
|
|
36
36
|
if (config.verification.length)
|
|
37
37
|
validateVerificationRequest(context, { kind: 'scoped', commands: config.verification });
|
|
38
38
|
const registry = options.registry ?? createExecutorRegistry(config);
|
|
39
|
-
for (const selected of Object.values(config.agents))
|
|
39
|
+
for (const selected of Object.values(config.agents)) {
|
|
40
40
|
registry.validateLimits(selected.provider, config.limits ?? {});
|
|
41
|
-
|
|
41
|
+
for (const tier of [selected, ...(selected.escalation ? [selected.escalation] : [])]) {
|
|
42
|
+
if (tier.effort !== undefined)
|
|
43
|
+
assertEffortSupported(tier, await registry.capabilities(selected.provider, tier.model));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
return { context, config, registry };
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Runs the Core implementation graph: architect → developer → verify → review (→ fixer → verify → review on corrections)er → archive,
|
|
50
|
+
* with bounded corrections routed back to the developer, an autonomous investigation pass
|
|
51
|
+
* before a low-confidence design asks the requester, real verification receipts, acceptance
|
|
52
|
+
* evidence bound to the exact candidate, and an optional approval before archive.
|
|
53
|
+
*/
|
|
54
|
+
export async function runCoreWorkflow(options) {
|
|
55
|
+
const { context, config, registry } = await preflightCoreWorkflow(options);
|
|
42
56
|
const directory = path.join(pipelineStateDirectory(context), 'agent-workflow');
|
|
43
57
|
const previous = await readWorkflowState(directory, context.runId);
|
|
58
|
+
if (previous && previous.workflowVersion !== CORE_WORKFLOW_VERSION)
|
|
59
|
+
throw new Error('This saved run requires its original runtime package. Restore the retained original Core runtime; its checkpoint has not been migrated.');
|
|
60
|
+
const state = initializePipeline(context, options.change);
|
|
44
61
|
if (!previous && existsSync(path.join(context.artifactRoot, 'openspec/changes', options.change))) {
|
|
45
62
|
throw new Error('Change already exists without a programmatic checkpoint; use a new change name');
|
|
46
63
|
}
|
|
@@ -50,16 +67,32 @@ export async function runCoreWorkflow(options) {
|
|
|
50
67
|
throw new Error('Archived run evidence changed; start a new run for the changed candidate or environment');
|
|
51
68
|
}
|
|
52
69
|
}
|
|
70
|
+
const prepared = prepareOpenSpec(context.artifactRoot, options.change, directory);
|
|
71
|
+
const openspec = Object.fromEntries(['architect', 'developer', 'reviewer'].map(role => {
|
|
72
|
+
const provider = config.providers.find(item => item.id === config.agents[role].provider);
|
|
73
|
+
return [role, roleOpenSpecContext(prepared, context.artifactRoot, options.change, directory, role, provider?.kind === 'cli' ? provider.cli : 'claude')];
|
|
74
|
+
}));
|
|
75
|
+
for (const role of ['architect', 'developer', 'reviewer'])
|
|
76
|
+
await registry.get(config.agents[role].provider).validateOpenSpec?.(openspec[role]);
|
|
53
77
|
const attempts = config.limits?.maxAttempts ?? 3;
|
|
78
|
+
const developerProvider = config.providers.find(item => item.id === config.agents.developer.provider);
|
|
79
|
+
const compactDeveloper = developerProvider?.kind === 'openai-compatible' && (developerProvider.agentLoop ?? 'compact') === 'compact';
|
|
54
80
|
const note = (role, text) => { try {
|
|
55
81
|
options.onAgentEvent?.(role, { kind: 'text', text });
|
|
56
82
|
}
|
|
57
83
|
catch { /* Observer cannot replay agent effects. */ } };
|
|
58
|
-
const invoke = createRoleInvoker({ context, config, registry, onAgentEvent: options.onAgentEvent });
|
|
59
|
-
|
|
84
|
+
const invoke = createRoleInvoker({ context, config, registry, openspec, onAgentEvent: options.onAgentEvent });
|
|
85
|
+
let grantedArchiveScope;
|
|
86
|
+
const archiveConsent = () => {
|
|
87
|
+
const pipeline = journal(context);
|
|
88
|
+
return fingerprint({ candidate: fingerprintCandidate(pipeline), plan: pipeline.verificationPlan?.hash ?? null,
|
|
89
|
+
criteria: pipeline.acceptance?.criteria.map(({ evidence: _evidence, ...criterion }) => criterion) ?? null,
|
|
90
|
+
checks: pipeline.acceptance?.checks.map(({ evidence: _evidence, ...check }) => check) ?? null });
|
|
91
|
+
};
|
|
92
|
+
const nodes = coreNodes({ archiveApproved: () => grantedArchiveScope !== undefined && grantedArchiveScope === archiveConsent(), context, config, openspec, change: options.change, attempts, policy: resolveReviewPolicy(config), invoke, note, onVerificationOutput: options.onVerificationOutput });
|
|
60
93
|
return runWorkflow({
|
|
61
94
|
directory, runId: context.runId,
|
|
62
|
-
input: JSON.parse(JSON.stringify({ context, config, change: options.change, coreVersion: CORE_PACKAGE_VERSION, instructionsVersion: ROLE_INSTRUCTIONS_VERSION })),
|
|
95
|
+
input: JSON.parse(JSON.stringify({ context, config, change: options.change, coreVersion: CORE_PACKAGE_VERSION, runtimeIdentity: coreRuntimeIdentity(), instructionsVersion: ROLE_INSTRUCTIONS_VERSION, openspec: prepared.identity })),
|
|
63
96
|
resume: options.resume, signal: options.signal, approve: options.approve, answer: options.answer, recoverInterrupted: options.recoverInterrupted, invalidate: options.invalidate,
|
|
64
97
|
budget: { maxCostUsd: config.limits?.maxCostUsd, maxTokens: config.limits?.maxTokens, maxDurationMs: config.limits?.timeoutMs },
|
|
65
98
|
onEvent: options.onEvent, onSpan: options.onSpan,
|
|
@@ -74,13 +107,17 @@ export async function runCoreWorkflow(options) {
|
|
|
74
107
|
&& options.recoverInterrupted?.includes('archive')
|
|
75
108
|
&& journal(context).phases.archive.status === 'running'
|
|
76
109
|
&& !existsSync(child(context.artifactRoot, 'openspec/changes/' + options.change))) {
|
|
77
|
-
archive(context, options.change);
|
|
110
|
+
await archive(context, options.change);
|
|
78
111
|
}
|
|
79
112
|
const inspection = inspectPipeline(context);
|
|
113
|
+
if (stepId === 'architect' && checkpoint.pendingApproval?.stepId === 'archive' && options.approve?.includes('archive') && inspection.verification.valid && inspection.acceptance.valid && inspection.phases.reviewer.status === 'done')
|
|
114
|
+
grantedArchiveScope = archiveConsent();
|
|
80
115
|
if (stepId === 'architect')
|
|
81
116
|
return inspection.phases.architect.status === 'done' && inspection.resumePhase !== 'architect';
|
|
117
|
+
if (stepId === 'verify' && checkpoint.status !== 'succeeded' && inspection.phases.archive.status !== 'done' && !(checkpoint.pendingApproval?.stepId === 'archive' && !options.approve?.includes('archive') && !checkpoint.pendingApproval.grantedAt))
|
|
118
|
+
return false;
|
|
82
119
|
if (stepId === 'verify')
|
|
83
|
-
return inspection.verification.valid;
|
|
120
|
+
return _record.output?.valid !== false && inspection.verification.valid;
|
|
84
121
|
if (stepId === 'reviewer')
|
|
85
122
|
return inspection.phases.reviewer.status === 'done' && inspection.verification.valid && !['architect', 'developer', 'reviewer'].includes(inspection.resumePhase ?? '');
|
|
86
123
|
if (stepId === 'archive')
|
|
@@ -89,7 +126,10 @@ export async function runCoreWorkflow(options) {
|
|
|
89
126
|
},
|
|
90
127
|
workflow: {
|
|
91
128
|
id: 'specrails-implementation', version: CORE_WORKFLOW_VERSION, schema: CoreState, entry: 'architect',
|
|
92
|
-
|
|
129
|
+
// The compact (small-model) developer finishes its task groups over
|
|
130
|
+
// several developer→verify passes that do not count as corrections, so
|
|
131
|
+
// the transition budget must cover them too (bounded: +2 passes each).
|
|
132
|
+
maxTransitions: attempts * 3 + 3 + (compactDeveloper ? attempts * 2 * 2 : 0),
|
|
93
133
|
nodes: Object.fromEntries(CORE_NODE_ORDER.map(id => [id, nodes[id]])),
|
|
94
134
|
},
|
|
95
135
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-host.js","sourceRoot":"","sources":["../../src/agent-runtime/core-host.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EACL,kBAAkB,EAAE,eAAe,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,2BAA2B,
|
|
1
|
+
{"version":3,"file":"core-host.js","sourceRoot":"","sources":["../../src/agent-runtime/core-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { type PipelineContext, type PipelineCompletion } from '../installer/runtime/pipeline-state.js';
|
|
2
|
+
import type { RuntimeConfig } from './executor-types.js';
|
|
3
|
+
import type { WorkflowState } from './workflow-types.js';
|
|
4
|
+
/** Compact derived view. Durable invocation/evidence IDs remain the accounting authority. */
|
|
5
|
+
export declare function efficiencySummary(state: WorkflowState, context: PipelineContext, config: RuntimeConfig | undefined, completion?: PipelineCompletion, identity?: {
|
|
6
|
+
planHash?: string;
|
|
7
|
+
candidateHash: string;
|
|
8
|
+
verification?: {
|
|
9
|
+
receipt?: {
|
|
10
|
+
commands: Array<{
|
|
11
|
+
evidenceId?: string;
|
|
12
|
+
}>;
|
|
13
|
+
notRunEvidenceIds?: string[];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
}): {
|
|
17
|
+
schemaVersion: 1;
|
|
18
|
+
currentEvidenceIds: string[];
|
|
19
|
+
planHash: string | null;
|
|
20
|
+
candidateHash: string | null;
|
|
21
|
+
runId: string;
|
|
22
|
+
workflowVersion: string;
|
|
23
|
+
technicalAcceptance: string;
|
|
24
|
+
archive: import("../installer/runtime/pipeline-state.js").PhaseStatus;
|
|
25
|
+
delivery: "pending" | "complete" | "pending-host";
|
|
26
|
+
roles: {
|
|
27
|
+
role: "architect" | "developer" | "reviewer";
|
|
28
|
+
provider: string | null;
|
|
29
|
+
model: string | null;
|
|
30
|
+
effort: string | null;
|
|
31
|
+
observedModel: null;
|
|
32
|
+
observedEffort: null;
|
|
33
|
+
origin: string;
|
|
34
|
+
tier: "base" | "escalation";
|
|
35
|
+
}[];
|
|
36
|
+
invocations: {
|
|
37
|
+
byKind: {
|
|
38
|
+
[k: string]: number;
|
|
39
|
+
};
|
|
40
|
+
total: number;
|
|
41
|
+
complete: boolean;
|
|
42
|
+
promptBytes: number | null;
|
|
43
|
+
contextBytes: number | null;
|
|
44
|
+
handoffBytes: number | null;
|
|
45
|
+
fullContexts: number;
|
|
46
|
+
incrementalContexts: number;
|
|
47
|
+
};
|
|
48
|
+
escalations: {
|
|
49
|
+
role: string;
|
|
50
|
+
attemptId: string;
|
|
51
|
+
provider: string;
|
|
52
|
+
model: string | null;
|
|
53
|
+
effort: string | null;
|
|
54
|
+
reason: string | null;
|
|
55
|
+
}[];
|
|
56
|
+
escalationsTruncated: boolean;
|
|
57
|
+
checks: {
|
|
58
|
+
invalidated: number | null;
|
|
59
|
+
available: boolean;
|
|
60
|
+
complete: boolean;
|
|
61
|
+
executed: number | null;
|
|
62
|
+
reused: number | null;
|
|
63
|
+
notRun: number | null;
|
|
64
|
+
durationMs: number | null;
|
|
65
|
+
};
|
|
66
|
+
metrics: import("./efficiency-types.js").RuntimeEfficiency;
|
|
67
|
+
};
|