specrails-core 5.3.0 → 5.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-runtime/capabilities.d.ts +27 -0
- package/dist/agent-runtime/capabilities.js +73 -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 +100 -30
- package/dist/agent-runtime/cli-executor.js.map +1 -1
- package/dist/agent-runtime/cli.d.ts +1 -0
- package/dist/agent-runtime/cli.js +59 -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/config.d.ts +4 -0
- package/dist/agent-runtime/config.js +110 -9
- package/dist/agent-runtime/config.js.map +1 -1
- package/dist/agent-runtime/core-host.d.ts +9 -1
- package/dist/agent-runtime/core-host.js +55 -20
- 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 +35 -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 +3 -0
- package/dist/agent-runtime/graph/nodes.js +73 -26
- package/dist/agent-runtime/graph/nodes.js.map +1 -1
- package/dist/agent-runtime/graph/roles.d.ts +4 -1
- package/dist/agent-runtime/graph/roles.js +100 -36
- package/dist/agent-runtime/graph/roles.js.map +1 -1
- package/dist/agent-runtime/graph/state.d.ts +8 -0
- package/dist/agent-runtime/graph/state.js.map +1 -1
- 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 +8 -0
- package/dist/agent-runtime/openai-executor.js +28 -10
- 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 +123 -0
- package/dist/agent-runtime/openspec.js +263 -0
- package/dist/agent-runtime/openspec.js.map +1 -0
- package/dist/agent-runtime/prompts.d.ts +5 -1
- package/dist/agent-runtime/prompts.js +59 -40
- 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 +100 -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 +29 -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 +17 -1
- package/dist/agent-runtime/workflow.js +28 -1
- 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 +142 -1
- package/dist/installer/runtime/pipeline-state.js +477 -28
- 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 +25 -3
- 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
|
@@ -1,13 +1,21 @@
|
|
|
1
|
+
import { repositoryContextSnapshot, renderRepositoryContext } from '../repository-context.js';
|
|
2
|
+
import { readRoleState, writeRoleState } from '../role-state.js';
|
|
3
|
+
import { fingerprint } from '../durable-store.js';
|
|
4
|
+
import { selectRoleRoute } from '../role-routing.js';
|
|
5
|
+
import { ROLE_SKILLS, OPENSPEC_VERSION, OpenSpecTools, OpenSpecParticipationError, openSpecRepairPrompt } from '../openspec.js';
|
|
1
6
|
import path from 'node:path';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
7
|
+
import { performance } from 'node:perf_hooks';
|
|
8
|
+
import { frozenAcceptanceCriteria, pipelineStateDirectory } from '../../installer/runtime/pipeline-state.js';
|
|
9
|
+
import { AgentExecutionError, unknownUsage } from '../executor-types.js';
|
|
10
|
+
import { sumCacheUsage } from '../efficiency-types.js';
|
|
11
|
+
import { ROLE_INSTRUCTIONS_VERSION, repairInstructions } from '../prompts.js';
|
|
4
12
|
import { parseAgentObject } from './artifacts.js';
|
|
5
13
|
/** Executor failures that mean "this session cannot be continued", not "the role failed". */
|
|
6
|
-
export const SESSION_FALLBACK_CODES = new Set(['
|
|
14
|
+
export const SESSION_FALLBACK_CODES = new Set(['session_not_found', 'session_expired', 'session_unsupported']);
|
|
7
15
|
const REPAIRABLE = /Invalid|Expected|requires|Duplicate|malformed/i;
|
|
8
16
|
export function sumUsage(a, b) {
|
|
9
17
|
const add = (x, y) => x === null || y === null ? null : x + y;
|
|
10
|
-
return { inputTokens: add(a.inputTokens, b.inputTokens), outputTokens: add(a.outputTokens, b.outputTokens), costUsd: add(a.costUsd, b.costUsd) };
|
|
18
|
+
return { inputTokens: add(a.inputTokens, b.inputTokens), outputTokens: add(a.outputTokens, b.outputTokens), costUsd: add(a.costUsd, b.costUsd), ...sumCacheUsage([a, b]) };
|
|
11
19
|
}
|
|
12
20
|
/**
|
|
13
21
|
* One role turn against the configured executor: budget-aware request, live
|
|
@@ -45,74 +53,130 @@ export function createRoleInvoker(deps) {
|
|
|
45
53
|
}
|
|
46
54
|
catch { /* Observer cannot replay agent effects. */ } };
|
|
47
55
|
const execute = async (role, step, prompt, structured, extra) => {
|
|
48
|
-
const
|
|
56
|
+
const directory = deps.openspec?.[role].stateDirectory ?? path.join(pipelineStateDirectory(context), 'agent-workflow');
|
|
57
|
+
const saved = readRoleState(directory);
|
|
49
58
|
const budget = step.remainingBudget();
|
|
59
|
+
if (budget.maxTokens === 0 || budget.maxCostUsd === 0 || step.signal.aborted)
|
|
60
|
+
throw new AgentExecutionError('No budget remains for another role invocation', step.signal.aborted ? 'aborted' : 'budget_exhausted', { inputTokens: 0, outputTokens: 0, costUsd: 0 });
|
|
61
|
+
const kind = extra.kind ?? (extra.resumeSessionId ? 'correction' : 'initial');
|
|
62
|
+
const route = selectRoleRoute(role, config.agents[role], kind, step.checkpoint, saved.routes[role]);
|
|
63
|
+
const selected = route.selection;
|
|
64
|
+
const capabilities = await registry.capabilities(selected.provider, selected.model);
|
|
65
|
+
const identity = fingerprint({ role, selected, transport: capabilities.transport, instructionsVersion: ROLE_INSTRUCTIONS_VERSION, provider: config.providers.find(provider => provider.id === selected.provider) ?? selected.provider, definition: config.rolePrompts?.[role] ?? null, openspec: deps.openspec?.[role] ?? null, context });
|
|
66
|
+
const previous = saved.sessions[role];
|
|
67
|
+
const resumeSessionId = capabilities.continuation === 'supported' && previous?.identity === identity && previous.sessionId === extra.resumeSessionId ? extra.resumeSessionId : undefined;
|
|
68
|
+
const snapshot = repositoryContextSnapshot(context);
|
|
69
|
+
const incremental = Boolean(resumeSessionId && config.efficiency?.contextMode !== 'full');
|
|
70
|
+
const packet = renderRepositoryContext(snapshot, incremental ? previous?.context : undefined);
|
|
71
|
+
const rolePrompt = !resumeSessionId && extra.fallbackPrompt ? extra.fallbackPrompt : prompt;
|
|
72
|
+
const obligations = '\nCurrent frozen acceptance obligations (all remain required):\n' + JSON.stringify(frozenAcceptanceCriteria(context));
|
|
73
|
+
const fullPrompt = rolePrompt + obligations + '\n\n' + packet;
|
|
74
|
+
if (saved.routes[role]?.tier !== route.tier)
|
|
75
|
+
note(role, `Role route: ${selected.provider}/${selected.model ?? 'provider default'} — ${route.reason}`);
|
|
76
|
+
saved.routes[role] = { tier: route.tier, reason: route.reason, attemptId: step.attemptId };
|
|
77
|
+
writeRoleState(directory, saved);
|
|
78
|
+
const measurement = { provider: selected.provider, ...(selected.model ? { model: selected.model } : {}),
|
|
79
|
+
contextMode: incremental ? 'incremental' : 'full', promptBytes: Buffer.byteLength(fullPrompt), contextBytes: Buffer.byteLength(packet), handoffBytes: Buffer.byteLength(rolePrompt), requestedEffort: selected.effort ?? null,
|
|
80
|
+
kind, tier: route.tier, routeReason: route.reason };
|
|
81
|
+
const invocationIdentity = await step.reportInvocationStarted?.(measurement);
|
|
82
|
+
const started = performance.now();
|
|
83
|
+
let toolCalls = 0, succeeded = false, usageReported = false, usage = unknownUsage();
|
|
84
|
+
const onEvent = forward(role, structured);
|
|
50
85
|
try {
|
|
86
|
+
if (deps.openspec?.[role])
|
|
87
|
+
note(role, `OpenSpec ${OPENSPEC_VERSION}: ${ROLE_SKILLS[role]} (official skill document through scoped tools).`);
|
|
51
88
|
const result = await registry.execute(selected.provider, {
|
|
52
|
-
role, prompt, cwd: context.artifactRoot, allowedRoots: context.repositories.map(repo => repo.path),
|
|
53
|
-
model: selected.model, maxTurns: selected.maxTurns, signal: step.signal,
|
|
89
|
+
role, prompt: fullPrompt, openspec: deps.openspec?.[role] ? { ...deps.openspec[role], ...(role === 'architect' ? {} : { evidenceScope: { backlogRoot: context.backlogRoot, runId: context.runId } }) } : undefined, cwd: context.artifactRoot, allowedRoots: context.repositories.map(repo => repo.path),
|
|
90
|
+
model: selected.model, effort: selected.effort, maxTurns: selected.maxTurns, signal: step.signal,
|
|
54
91
|
timeoutMs: config.limits?.timeoutMs,
|
|
55
92
|
maxTokens: budget.maxTokens, maxCostUsd: budget.maxCostUsd,
|
|
56
|
-
|
|
93
|
+
resumeSessionId, outputSchema: extra.outputSchema, onEvent: event => { if (event.kind === 'tool-start')
|
|
94
|
+
toolCalls++; onEvent(event); },
|
|
57
95
|
});
|
|
96
|
+
usage = result.usage;
|
|
58
97
|
step.reportUsage(result.usage);
|
|
98
|
+
usageReported = true;
|
|
99
|
+
if (result.sessionId && /^[A-Za-z0-9][A-Za-z0-9._:-]{0,255}$/.test(result.sessionId))
|
|
100
|
+
saved.sessions[role] = { identity, sessionId: result.sessionId, context: snapshot };
|
|
101
|
+
else
|
|
102
|
+
delete saved.sessions[role];
|
|
103
|
+
writeRoleState(directory, saved);
|
|
104
|
+
succeeded = true;
|
|
59
105
|
return result;
|
|
60
106
|
}
|
|
61
107
|
catch (error) {
|
|
62
|
-
if (
|
|
63
|
-
|
|
108
|
+
if (!usageReported) {
|
|
109
|
+
usage = error instanceof AgentExecutionError ? error.usage : unknownUsage();
|
|
110
|
+
step.reportUsage(usage);
|
|
111
|
+
}
|
|
64
112
|
throw error;
|
|
65
113
|
}
|
|
114
|
+
finally {
|
|
115
|
+
await step.reportInvocation?.({ ...measurement, ...invocationIdentity, status: succeeded ? 'succeeded' : 'failed', durationMs: Math.max(0, performance.now() - started), toolCalls, usage });
|
|
116
|
+
}
|
|
66
117
|
};
|
|
67
118
|
return async (role, step, options, accept) => {
|
|
68
119
|
const structured = options.structured === true;
|
|
120
|
+
const workflow = deps.openspec?.[role] ? new OpenSpecTools(deps.openspec[role]) : undefined;
|
|
121
|
+
const cursor = workflow?.participationCursor() ?? 0;
|
|
122
|
+
const evaluate = (result) => {
|
|
123
|
+
let output, parseError;
|
|
124
|
+
if (structured) {
|
|
125
|
+
try {
|
|
126
|
+
output = result.structured ?? parseAgentObject(result.text);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
parseError = error;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
// A genuine architect question can precede artifact creation. Completed
|
|
133
|
+
// role results must prove this invocation used the workflow, not an old visit.
|
|
134
|
+
if (!(role === 'architect' && output?.confidence === 'low'))
|
|
135
|
+
workflow?.assertParticipation(cursor);
|
|
136
|
+
if (structured && !output && !options.lenient)
|
|
137
|
+
throw new Error('Invalid structured role response: ' + (parseError instanceof Error ? parseError.message : 'missing object'));
|
|
138
|
+
return { ok: true, value: accept(output, result.text, result), text: result.text, result };
|
|
139
|
+
};
|
|
69
140
|
try {
|
|
70
141
|
let result;
|
|
71
142
|
if (options.resumeSessionId && options.fallbackPrompt) {
|
|
72
143
|
// A correction pass continues the role's own session: the work it did and
|
|
73
144
|
// the reasons behind it are already in context.
|
|
74
145
|
try {
|
|
75
|
-
result = await execute(role, step, options.prompt, structured, { resumeSessionId: options.resumeSessionId, outputSchema: options.outputSchema });
|
|
146
|
+
result = await execute(role, step, options.prompt, structured, { kind: options.kind, resumeSessionId: options.resumeSessionId, outputSchema: options.outputSchema, fallbackPrompt: options.fallbackPrompt });
|
|
76
147
|
}
|
|
77
148
|
catch (error) {
|
|
78
149
|
if (!(error instanceof AgentExecutionError) || !SESSION_FALLBACK_CODES.has(error.code))
|
|
79
150
|
throw error;
|
|
80
151
|
note(role, `Previous ${role} session is unavailable; starting a fresh ${role} turn with the same instructions.`);
|
|
81
|
-
result = await execute(role, step, options.fallbackPrompt, structured, { outputSchema: options.outputSchema });
|
|
152
|
+
result = await execute(role, step, options.fallbackPrompt, structured, { kind: 'session-fallback', outputSchema: options.outputSchema });
|
|
82
153
|
}
|
|
83
154
|
}
|
|
84
155
|
else {
|
|
85
|
-
result = await execute(role, step, options.prompt, structured, { resumeSessionId: options.resumeSessionId, outputSchema: options.outputSchema });
|
|
156
|
+
result = await execute(role, step, options.prompt, structured, { kind: options.kind, resumeSessionId: options.resumeSessionId, outputSchema: options.outputSchema, fallbackPrompt: options.fallbackPrompt });
|
|
86
157
|
}
|
|
87
|
-
|
|
88
|
-
return { ok: true, value: accept(undefined, result.text, result), text: result.text, result };
|
|
89
|
-
let output, problem;
|
|
158
|
+
let problem, omittedWorkflow = false;
|
|
90
159
|
try {
|
|
91
|
-
|
|
160
|
+
return evaluate(result);
|
|
92
161
|
}
|
|
93
162
|
catch (error) {
|
|
94
163
|
problem = error instanceof Error ? error.message : String(error);
|
|
164
|
+
omittedWorkflow = error instanceof OpenSpecParticipationError;
|
|
165
|
+
if (!omittedWorkflow && !REPAIRABLE.test(problem))
|
|
166
|
+
return { ok: false, error: problem };
|
|
95
167
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
// One bounded repair turn inside the same session: the role keeps its work
|
|
109
|
-
// and only resends the object. Without a session the role starts over once.
|
|
110
|
-
if (!result.sessionId)
|
|
111
|
-
return { ok: false, error: problem ?? 'Unusable structured reply' };
|
|
112
|
-
note(role, `The ${role} reply was not a valid result (${problem}); asking the same session to resend it.`);
|
|
113
|
-
const repaired = await execute(role, step, repairInstructions(role, problem), structured, { resumeSessionId: result.sessionId, outputSchema: options.outputSchema });
|
|
168
|
+
// A single repair budget covers protocol omissions and malformed output.
|
|
169
|
+
// Use the same provider session when possible; sessionless APIs receive the
|
|
170
|
+
// complete original role prompt and existing artifacts, never another role.
|
|
171
|
+
const repair = omittedWorkflow ? openSpecRepairPrompt(workflow.context) : repairInstructions(role, problem);
|
|
172
|
+
note(role, omittedWorkflow
|
|
173
|
+
? `The ${role} omitted its required OpenSpec workflow; requesting one correction in the same role before accepting the result.`
|
|
174
|
+
: `The ${role} reply was not a valid result (${problem}); asking the same session to resend it.`);
|
|
175
|
+
const repaired = await execute(role, step, result.sessionId ? repair : (options.fallbackPrompt ?? options.prompt) + '\n' + repair, structured, { kind: 'repair', resumeSessionId: result.sessionId, outputSchema: options.outputSchema,
|
|
176
|
+
fallbackPrompt: (options.fallbackPrompt ?? options.prompt) + '\nPrevious response (bounded):\n' + result.text.slice(-32_000) + '\n' + repair,
|
|
177
|
+
});
|
|
114
178
|
try {
|
|
115
|
-
return
|
|
179
|
+
return evaluate(repaired);
|
|
116
180
|
}
|
|
117
181
|
catch (error) {
|
|
118
182
|
return { ok: false, error: error instanceof Error ? error.message : String(error) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/agent-runtime/graph/roles.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/agent-runtime/graph/roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { VerificationCommand } from '../../installer/runtime/pipeline-state.js';
|
|
2
2
|
export type DesignConfidence = 'high' | 'medium' | 'low';
|
|
3
3
|
export interface ArchitectureRecord {
|
|
4
|
+
planningDepth?: 'focused' | 'full';
|
|
5
|
+
planningReason?: string;
|
|
6
|
+
referencePatterns?: string[];
|
|
7
|
+
riskFlags?: string[];
|
|
4
8
|
change: string;
|
|
5
9
|
tasks: number;
|
|
6
10
|
specs: string[];
|
|
@@ -16,6 +20,7 @@ export interface DeveloperRecord {
|
|
|
16
20
|
sessionId?: string;
|
|
17
21
|
files: string[];
|
|
18
22
|
tests: string[];
|
|
23
|
+
verificationChecks?: import('../verification-plan.js').ProposedCheck[];
|
|
19
24
|
verification?: string;
|
|
20
25
|
incomplete: Array<{
|
|
21
26
|
task: string;
|
|
@@ -31,6 +36,7 @@ export interface VerificationRecord {
|
|
|
31
36
|
incompleteTasks?: string[];
|
|
32
37
|
unverifiedRepositories: string[];
|
|
33
38
|
commands: Array<{
|
|
39
|
+
evidenceId?: string;
|
|
34
40
|
repositoryId: string;
|
|
35
41
|
command: string;
|
|
36
42
|
args: string[];
|
|
@@ -39,6 +45,8 @@ export interface VerificationRecord {
|
|
|
39
45
|
}>;
|
|
40
46
|
}
|
|
41
47
|
export interface ReviewRecord {
|
|
48
|
+
sessionId?: string;
|
|
49
|
+
manifest?: import('../review-context.js').ReviewManifest;
|
|
42
50
|
approved: boolean;
|
|
43
51
|
summary: string;
|
|
44
52
|
issues: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/agent-runtime/graph/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/agent-runtime/graph/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAkDjD,MAAM,OAAO,GAAG,GAAM,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,SAAY,EAAE,IAAO,EAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;IACvC,wFAAwF;IACxF,IAAI,EAAE,UAAU,CAAwB,EAAE,GAAG,OAAO,EAAyB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACnG,sBAAsB,EAAE,UAAU,CAAW,EAAE,GAAG,OAAO,EAAY,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IAC3F,YAAY,EAAE,UAAU,CAA4B,EAAE,GAAG,OAAO,EAA6B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACrH,WAAW,EAAE,UAAU,CAAyB,EAAE,GAAG,OAAO,EAA0B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAC9G,YAAY,EAAE,UAAU,CAA4B,EAAE,GAAG,OAAO,EAA6B,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACrH,MAAM,EAAE,UAAU,CAAsB,EAAE,GAAG,OAAO,EAAuB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IACnG,uEAAuE;IACvE,OAAO,EAAE,UAAU,CAAW,EAAE,OAAO,EAAE,CAAC,QAAkB,EAAE,IAAc,EAAY,EAAE,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACvI,8FAA8F;IAC9F,YAAY,EAAE,UAAU,CAAS,EAAE,GAAG,OAAO,EAAU,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;IAC5E,QAAQ,EAAE,UAAU,CAAuB,EAAE,GAAG,OAAO,EAAwB,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;CACxG,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,eAAe,GAA0B,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/** Hosts define graph state with LangGraph's Annotation without a direct LangGraph dependency. */
|
|
2
2
|
export { Annotation } from '@langchain/langgraph';
|
|
3
3
|
export * from './executor-types.js';
|
|
4
|
+
export * from './efficiency.js';
|
|
4
5
|
export * from './config.js';
|
|
6
|
+
export * from './capabilities.js';
|
|
7
|
+
export * from './runtime-identity.js';
|
|
5
8
|
export * from './executors.js';
|
|
6
9
|
export * from './workflow.js';
|
|
7
10
|
export * from './core-host.js';
|
|
@@ -11,4 +14,7 @@ export { DEFAULT_REVIEW_POLICY, REVIEW_ASPECTS, evaluateReview, resolveReviewPol
|
|
|
11
14
|
export { createRoleInvoker, type Accept, type InvokeOptions, type InvokeOutcome, type RoleInvoker, type RoleInvokerDeps } from './graph/roles.js';
|
|
12
15
|
export { parseAgentObject } from './graph/artifacts.js';
|
|
13
16
|
export { FileCheckpointSaver, type GraphStoreIO, type SerializedGraphStore } from './graph-checkpointer.js';
|
|
14
|
-
export { ARCHITECT_OUTPUT_SCHEMA, DEVELOPER_OUTPUT_SCHEMA, REVIEW_OUTPUT_SCHEMA, ROLE_INSTRUCTIONS_VERSION, correctionInstructions, deepenInstructions, repairInstructions, roleInstructions, type FrozenCriterion, type RoleFeedback, type RoleInstructionOptions, } from './prompts.js';
|
|
17
|
+
export { ARCHITECT_OUTPUT_SCHEMA, DEVELOPER_OUTPUT_SCHEMA, REVIEW_OUTPUT_SCHEMA, ROLE_INSTRUCTIONS_VERSION, rolePromptDefaults, correctionInstructions, deepenInstructions, repairInstructions, roleInstructions, type FrozenCriterion, type RoleFeedback, type RoleInstructionOptions, } from './prompts.js';
|
|
18
|
+
export { OPENSPEC_VERSION, ROLE_SKILLS, type OpenSpecRoleContext } from './openspec.js';
|
|
19
|
+
export * from './efficiency-summary.js';
|
|
20
|
+
export { readVerificationEvidence, type VerificationEvidenceQuery } from '../installer/runtime/pipeline-state.js';
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
/** Hosts define graph state with LangGraph's Annotation without a direct LangGraph dependency. */
|
|
2
2
|
export { Annotation } from '@langchain/langgraph';
|
|
3
3
|
export * from './executor-types.js';
|
|
4
|
+
export * from './efficiency.js';
|
|
4
5
|
export * from './config.js';
|
|
6
|
+
export * from './capabilities.js';
|
|
7
|
+
export * from './runtime-identity.js';
|
|
5
8
|
export * from './executors.js';
|
|
6
9
|
export * from './workflow.js';
|
|
7
10
|
export * from './core-host.js';
|
|
@@ -11,5 +14,8 @@ export { DEFAULT_REVIEW_POLICY, REVIEW_ASPECTS, evaluateReview, resolveReviewPol
|
|
|
11
14
|
export { createRoleInvoker } from './graph/roles.js';
|
|
12
15
|
export { parseAgentObject } from './graph/artifacts.js';
|
|
13
16
|
export { FileCheckpointSaver } from './graph-checkpointer.js';
|
|
14
|
-
export { ARCHITECT_OUTPUT_SCHEMA, DEVELOPER_OUTPUT_SCHEMA, REVIEW_OUTPUT_SCHEMA, ROLE_INSTRUCTIONS_VERSION, correctionInstructions, deepenInstructions, repairInstructions, roleInstructions, } from './prompts.js';
|
|
17
|
+
export { ARCHITECT_OUTPUT_SCHEMA, DEVELOPER_OUTPUT_SCHEMA, REVIEW_OUTPUT_SCHEMA, ROLE_INSTRUCTIONS_VERSION, rolePromptDefaults, correctionInstructions, deepenInstructions, repairInstructions, roleInstructions, } from './prompts.js';
|
|
18
|
+
export { OPENSPEC_VERSION, ROLE_SKILLS } from './openspec.js';
|
|
19
|
+
export * from './efficiency-summary.js';
|
|
20
|
+
export { readVerificationEvidence } from '../installer/runtime/pipeline-state.js';
|
|
15
21
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-runtime/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAqB,MAAM,kBAAkB,CAAA;AAC1H,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAwC,MAAM,0BAA0B,CAAA;AAC3J,OAAO,EAAE,iBAAiB,EAA+F,MAAM,kBAAkB,CAAA;AACjJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAgD,MAAM,yBAAyB,CAAA;AAC3G,OAAO,EACL,uBAAuB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,yBAAyB,EACjG,sBAAsB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/agent-runtime/index.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,qBAAqB,EAAE,iBAAiB,EAAqB,MAAM,kBAAkB,CAAA;AAC1H,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAwC,MAAM,0BAA0B,CAAA;AAC3J,OAAO,EAAE,iBAAiB,EAA+F,MAAM,kBAAkB,CAAA;AACjJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,mBAAmB,EAAgD,MAAM,yBAAyB,CAAA;AAC3G,OAAO,EACL,uBAAuB,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,yBAAyB,EACjG,kBAAkB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,gBAAgB,GACrG,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAA4B,MAAM,eAAe,CAAA;AAEvF,cAAc,yBAAyB,CAAA;AACvC,OAAO,EAAE,wBAAwB,EAAkC,MAAM,wCAAwC,CAAA"}
|
|
@@ -4,4 +4,8 @@ import { type CliProcessRunner } from './cli-process.js';
|
|
|
4
4
|
export declare function executeKimiReadonlyAcp(request: AgentRequest, options?: {
|
|
5
5
|
runProcess?: CliProcessRunner;
|
|
6
6
|
env?: NodeJS.ProcessEnv;
|
|
7
|
+
openspecBridge?: {
|
|
8
|
+
command: string;
|
|
9
|
+
args: string[];
|
|
10
|
+
};
|
|
7
11
|
}): Promise<AgentResult>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { toolEvent } from './tool-event.js';
|
|
1
2
|
import { normalizeKimiCliModel } from '../installer/runtime/kimi.js';
|
|
2
3
|
import { AgentExecutionError, unknownUsage, validateAgentRequest } from './executor-types.js';
|
|
3
4
|
import { runCliProcess } from './cli-process.js';
|
|
@@ -7,12 +8,14 @@ function record(value) { return value && typeof value === 'object' && !Array.isA
|
|
|
7
8
|
/** Native ACP v1 keeps Kimi 0.27 read-only roles usable without a platform skill or a model call during capability negotiation. */
|
|
8
9
|
export async function executeKimiReadonlyAcp(request, options = {}) {
|
|
9
10
|
validateAgentRequest(request);
|
|
10
|
-
if (request.role === 'developer')
|
|
11
|
+
if (request.role === 'developer' && !options.openspecBridge)
|
|
11
12
|
throw new AgentExecutionError('Read-only ACP transport cannot execute developer roles', 'invalid_request');
|
|
12
13
|
if (request.maxCostUsd !== undefined)
|
|
13
14
|
throw new AgentExecutionError('Kimi cannot enforce a strict USD cap', 'cost_limit_unsupported');
|
|
14
15
|
if (request.maxTokens !== undefined)
|
|
15
16
|
throw new AgentExecutionError('Kimi 0.27 ACP does not report authoritative token usage. Remove the token cap or choose another provider for this role.', 'usage_unavailable');
|
|
17
|
+
const readOnly = request.role !== 'developer';
|
|
18
|
+
const mode = readOnly ? 'plan' : 'auto';
|
|
16
19
|
const tools = new WorkspaceTools(request.cwd, request.allowedRoots, request.role);
|
|
17
20
|
let transport, nextId = 0, sessionId, text = '', completed = false, turns = 0, permissionDenied = false;
|
|
18
21
|
const calls = new Map();
|
|
@@ -32,7 +35,7 @@ export async function executeKimiReadonlyAcp(request, options = {}) {
|
|
|
32
35
|
});
|
|
33
36
|
};
|
|
34
37
|
const selectMode = () => {
|
|
35
|
-
send('session/set_mode', { sessionId, modeId:
|
|
38
|
+
send('session/set_mode', { sessionId, modeId: mode }, () => {
|
|
36
39
|
if (request.model)
|
|
37
40
|
send('session/set_config_option', { sessionId, configId: 'model', value: normalizeKimiCliModel(request.model) }, prompt);
|
|
38
41
|
else
|
|
@@ -67,15 +70,15 @@ export async function executeKimiReadonlyAcp(request, options = {}) {
|
|
|
67
70
|
// the assistant turn after the last tool invocation.
|
|
68
71
|
text = '';
|
|
69
72
|
turns++;
|
|
70
|
-
if (turns > (request.maxTurns ??
|
|
73
|
+
if (turns > (request.maxTurns ?? 100))
|
|
71
74
|
throw new AgentExecutionError('Kimi ACP exceeded its tool limit', 'max_turns');
|
|
72
|
-
request.onEvent?.(
|
|
75
|
+
request.onEvent?.(toolEvent(typeof update.title === 'string' ? update.title : 'kimi-tool', { ...record(update.rawInput), paths: Array.isArray(update.locations) ? update.locations.map(location => record(location).path) : [] }));
|
|
73
76
|
}
|
|
74
|
-
if (update.sessionUpdate === 'current_mode_update' && update.currentModeId !==
|
|
77
|
+
if (update.sessionUpdate === 'current_mode_update' && update.currentModeId !== mode)
|
|
75
78
|
throw new AgentExecutionError('Kimi left its read-only mode', 'tool_policy_violation');
|
|
76
79
|
if (update.sessionUpdate === 'config_option_update' && Array.isArray(update.configOptions)) {
|
|
77
80
|
const mode = update.configOptions.map(record).find(option => option.id === 'mode');
|
|
78
|
-
if (mode && mode.currentValue !== 'plan')
|
|
81
|
+
if (mode && mode.currentValue !== (readOnly ? 'plan' : 'auto'))
|
|
79
82
|
throw new AgentExecutionError('Kimi left its read-only mode', 'tool_policy_violation');
|
|
80
83
|
}
|
|
81
84
|
return;
|
|
@@ -117,6 +120,14 @@ export async function executeKimiReadonlyAcp(request, options = {}) {
|
|
|
117
120
|
const file = input.path ?? input.file_path;
|
|
118
121
|
const choices = Array.isArray(params.options) ? params.options.map(record) : [];
|
|
119
122
|
const allow = choices.find(option => option.kind === 'allow_once');
|
|
123
|
+
if (options.openspecBridge && ['mcp__specrails_openspec__workflow', 'mcp__specrails_openspec__read_verification_evidence'].includes(typeof tool.title === 'string' ? tool.title : '') && typeof allow?.optionId === 'string') {
|
|
124
|
+
respond({ outcome: { outcome: 'selected', optionId: allow.optionId } });
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
if (!readOnly && typeof allow?.optionId === 'string') {
|
|
128
|
+
respond({ outcome: { outcome: 'selected', optionId: allow.optionId } });
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
120
131
|
if (['read', 'search'].includes(String(tool.kind)) && typeof file === 'string' && typeof allow?.optionId === 'string') {
|
|
121
132
|
try {
|
|
122
133
|
tools.execute(tool.kind === 'read' ? 'read_file' : 'list_files', { path: file });
|
|
@@ -149,13 +160,13 @@ export async function executeKimiReadonlyAcp(request, options = {}) {
|
|
|
149
160
|
cwd: tools.cwd, signal: request.signal, timeoutMs: request.timeoutMs ?? 15 * 60_000, env: options.env, onLine: onMessage,
|
|
150
161
|
duplex: control => {
|
|
151
162
|
transport = control;
|
|
152
|
-
send('initialize', { protocolVersion: 1, clientInfo: { name: 'specrails-core', version: '1' }, clientCapabilities: { fs: { readTextFile:
|
|
163
|
+
send('initialize', { protocolVersion: 1, clientInfo: { name: 'specrails-core', version: '1' }, clientCapabilities: { fs: { readTextFile: readOnly, writeTextFile: readOnly }, terminal: readOnly } }, initialized => {
|
|
153
164
|
if (initialized.protocolVersion !== 1)
|
|
154
165
|
throw new AgentExecutionError('Kimi ACP protocol version is unsupported', 'provider_capability_unsupported');
|
|
155
166
|
const capabilities = record(record(initialized.agentCapabilities).sessionCapabilities);
|
|
156
167
|
if (tools.roots.length > 1 && capabilities.additionalDirectories === undefined)
|
|
157
168
|
throw new AgentExecutionError('This Kimi ACP version cannot expose multiple repositories. Upgrade Kimi or use another provider for this read-only role.', 'provider_capability_unsupported');
|
|
158
|
-
send('session/new', { cwd: tools.cwd, mcpServers: [], ...(tools.roots.length > 1 ? { additionalDirectories: tools.roots.filter(root => root !== tools.cwd) } : {}) }, session => {
|
|
169
|
+
send('session/new', { cwd: tools.cwd, mcpServers: options.openspecBridge ? [{ name: 'specrails_openspec', ...options.openspecBridge, env: [] }] : [], ...(tools.roots.length > 1 ? { additionalDirectories: tools.roots.filter(root => root !== tools.cwd) } : {}) }, session => {
|
|
159
170
|
if (typeof session.sessionId !== 'string' || !session.sessionId)
|
|
160
171
|
throw new AgentExecutionError('Kimi ACP returned no session id', 'invalid_response');
|
|
161
172
|
sessionId = session.sessionId;
|
|
@@ -163,7 +174,7 @@ export async function executeKimiReadonlyAcp(request, options = {}) {
|
|
|
163
174
|
const modeOption = Array.isArray(session.configOptions) ? session.configOptions.map(record).find(option => option.id === 'mode') : undefined;
|
|
164
175
|
const available = Array.isArray(modes.availableModes) ? modes.availableModes.map(record) : [];
|
|
165
176
|
const modeValues = Array.isArray(modeOption?.options) ? modeOption.options.map(record) : [];
|
|
166
|
-
if (!available.some(
|
|
177
|
+
if (!available.some(item => item.id === mode) && !modeValues.some(item => item.value === mode))
|
|
167
178
|
throw new AgentExecutionError('Kimi ACP does not expose enforced plan mode; upgrade Kimi Code before using a read-only role', 'provider_capability_unsupported');
|
|
168
179
|
selectMode();
|
|
169
180
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kimi-acp.js","sourceRoot":"","sources":["../../src/agent-runtime/kimi-acp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kimi-acp.js","sourceRoot":"","sources":["../../src/agent-runtime/kimi-acp.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,14 @@ export declare class OpenAICompatibleExecutor implements AgentExecutor {
|
|
|
12
12
|
private readonly provider;
|
|
13
13
|
private readonly options;
|
|
14
14
|
constructor(provider: ApiProvider, options?: OpenAICompatibleOptions);
|
|
15
|
+
capabilities(): {
|
|
16
|
+
continuation: "unsupported";
|
|
17
|
+
effortSupport: "unsupported";
|
|
18
|
+
supportedEfforts: never[];
|
|
19
|
+
transport: string;
|
|
20
|
+
observedModel: boolean;
|
|
21
|
+
observedEffort: boolean;
|
|
22
|
+
};
|
|
15
23
|
validateLimits(limits: AgentLimits): void;
|
|
16
24
|
execute(request: AgentRequest): Promise<AgentResult>;
|
|
17
25
|
}
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
+
import { readVerificationEvidence } from '../installer/runtime/pipeline-state.js';
|
|
2
|
+
import { toolEvent } from './tool-event.js';
|
|
3
|
+
import { assertEffortSupported, unknownCapabilities } from './capabilities.js';
|
|
4
|
+
import { OpenSpecTools, OPENSPEC_TOOL_DEFINITION, openSpecPrompt } from './openspec.js';
|
|
1
5
|
import { AgentExecutionError, unknownUsage, validateAgentRequest } from './executor-types.js';
|
|
6
|
+
import { sumCacheUsage } from './efficiency-types.js';
|
|
2
7
|
import { WorkspaceTools } from './workspace-tools.js';
|
|
3
8
|
function record(value) {
|
|
4
9
|
return value !== null && typeof value === 'object' && !Array.isArray(value) ? value : undefined;
|
|
@@ -21,17 +26,22 @@ export class OpenAICompatibleExecutor {
|
|
|
21
26
|
this.provider = provider;
|
|
22
27
|
this.options = options;
|
|
23
28
|
}
|
|
29
|
+
capabilities() { return { ...unknownCapabilities('openai-compatible'), continuation: 'unsupported', effortSupport: 'unsupported', supportedEfforts: [] }; }
|
|
24
30
|
validateLimits(limits) {
|
|
25
31
|
if (limits.maxCostUsd !== undefined)
|
|
26
32
|
throw new AgentExecutionError('A strict USD cap requires an executor with a native spending limit; OpenAI-compatible endpoints do not provide one. Use a token cap or an executor with native cost enforcement.', 'cost_limit_unsupported');
|
|
27
33
|
}
|
|
28
34
|
async execute(request) {
|
|
29
35
|
validateAgentRequest(request);
|
|
36
|
+
assertEffortSupported(request, this.capabilities());
|
|
30
37
|
this.validateLimits(request);
|
|
31
38
|
if (!request.model?.trim())
|
|
32
39
|
throw new AgentExecutionError('OpenAI-compatible execution requires a model', 'invalid_model');
|
|
40
|
+
const controller = new AbortController();
|
|
33
41
|
const toolset = new WorkspaceTools(request.cwd, request.allowedRoots, request.role);
|
|
34
|
-
const
|
|
42
|
+
const openspec = request.openspec ? new OpenSpecTools(request.openspec, controller.signal) : undefined;
|
|
43
|
+
const definitions = [...toolset.definitions(), ...(openspec ? [OPENSPEC_TOOL_DEFINITION] : []), ...(request.openspec?.evidenceScope && request.role !== 'architect' ? [{ type: 'function', function: { name: 'read_verification_evidence', description: 'Read host verification evidence and source files with opaque IDs and bounded cursors. List to discover IDs.', parameters: { type: 'object', additionalProperties: false, properties: { id: { type: 'string' }, section: { type: 'string', enum: ['summary', 'stdout', 'stderr', 'source'] }, sourceId: { type: 'string' }, cursor: { type: 'string' }, limit: { type: 'integer', minimum: 1, maximum: 100 } } } } }] : [])];
|
|
44
|
+
const maxTurns = request.maxTurns ?? 100;
|
|
35
45
|
if (!Number.isSafeInteger(maxTurns) || maxTurns < 1)
|
|
36
46
|
throw new AgentExecutionError('maxTurns must be a positive integer', 'invalid_limit');
|
|
37
47
|
const timeoutMs = request.timeoutMs ?? 15 * 60_000;
|
|
@@ -47,7 +57,6 @@ export class OpenAICompatibleExecutor {
|
|
|
47
57
|
const headers = { 'Content-Type': 'application/json' };
|
|
48
58
|
if (key)
|
|
49
59
|
headers.Authorization = `Bearer ${key}`;
|
|
50
|
-
const controller = new AbortController();
|
|
51
60
|
const abort = () => controller.abort(request.signal?.reason);
|
|
52
61
|
request.signal?.addEventListener('abort', abort, { once: true });
|
|
53
62
|
if (request.signal?.aborted)
|
|
@@ -56,8 +65,8 @@ export class OpenAICompatibleExecutor {
|
|
|
56
65
|
let usage = { inputTokens: 0, outputTokens: 0, costUsd: 0 };
|
|
57
66
|
let responses = 0;
|
|
58
67
|
const messages = [
|
|
59
|
-
{ role: 'system', content: `You execute one ${request.role} task. Use only the provided workspace tools. Allowed roots: ${JSON.stringify(toolset.roots)}. Working directory: ${toolset.cwd}. Return the complete requested final result. Do not coordinate another workflow
|
|
60
|
-
{ role: 'user', content: request.prompt },
|
|
68
|
+
{ role: 'system', content: `You execute one ${request.role} task. Use only the provided workspace tools. Allowed roots: ${JSON.stringify(toolset.roots)}. Working directory: ${toolset.cwd}. Return the complete requested final result. Do not coordinate another workflow. Execute only the assigned role and its supplied OpenSpec workflow.` },
|
|
69
|
+
{ role: 'user', content: (request.openspec ? openSpecPrompt(request.openspec) : '') + request.prompt },
|
|
61
70
|
];
|
|
62
71
|
try {
|
|
63
72
|
for (let turn = 0; turn < maxTurns; turn++) {
|
|
@@ -69,7 +78,7 @@ export class OpenAICompatibleExecutor {
|
|
|
69
78
|
throw new AgentExecutionError('Agent token budget exhausted', 'token_budget', usage);
|
|
70
79
|
const response = await (this.options.fetch ?? globalThis.fetch)(endpoint, {
|
|
71
80
|
method: 'POST', headers, signal: controller.signal, redirect: 'error',
|
|
72
|
-
body: JSON.stringify({ model: request.model, messages, tools:
|
|
81
|
+
body: JSON.stringify({ model: request.model, messages, tools: definitions, tool_choice: 'auto', stream: false,
|
|
73
82
|
...(request.maxTokens === undefined ? {} : { max_tokens: Math.max(1, Math.floor(request.maxTokens - observed)) }),
|
|
74
83
|
}),
|
|
75
84
|
});
|
|
@@ -79,11 +88,18 @@ export class OpenAICompatibleExecutor {
|
|
|
79
88
|
}
|
|
80
89
|
const body = await readBoundedResponse(response);
|
|
81
90
|
const data = record(body), reported = record(data?.usage);
|
|
91
|
+
const cached = number(record(reported?.prompt_tokens_details)?.cached_tokens);
|
|
92
|
+
const inputTokens = number(reported?.prompt_tokens);
|
|
93
|
+
const cache = record(reported?.prompt_tokens_details)?.cached_tokens === undefined ? {} : {
|
|
94
|
+
cacheReadInputTokens: cached !== null && inputTokens !== null && cached <= inputTokens ? cached : null,
|
|
95
|
+
uncachedInputTokens: cached !== null && inputTokens !== null && cached <= inputTokens ? inputTokens - cached : null,
|
|
96
|
+
cacheWriteInputTokens: null,
|
|
97
|
+
};
|
|
82
98
|
const current = {
|
|
83
99
|
inputTokens: number(reported?.prompt_tokens), outputTokens: number(reported?.completion_tokens),
|
|
84
|
-
costUsd: number(reported?.cost_usd ?? data?.cost_usd),
|
|
100
|
+
costUsd: number(reported?.cost_usd ?? data?.cost_usd), ...cache,
|
|
85
101
|
};
|
|
86
|
-
usage = { inputTokens: add(usage.inputTokens, current.inputTokens), outputTokens: add(usage.outputTokens, current.outputTokens), costUsd: add(usage.costUsd, current.costUsd) };
|
|
102
|
+
usage = { inputTokens: add(usage.inputTokens, current.inputTokens), outputTokens: add(usage.outputTokens, current.outputTokens), costUsd: add(usage.costUsd, current.costUsd), ...(responses === 0 ? cache : sumCacheUsage([usage, current])) };
|
|
87
103
|
responses++;
|
|
88
104
|
request.onEvent?.({ kind: 'usage', usage: { ...usage } });
|
|
89
105
|
if (request.maxTokens !== undefined && (usage.inputTokens === null || usage.outputTokens === null))
|
|
@@ -114,10 +130,10 @@ export class OpenAICompatibleExecutor {
|
|
|
114
130
|
if (call?.type !== 'function' || typeof call.id !== 'string' || !call.id || ids.has(call.id) || typeof fn?.name !== 'string' || typeof fn.arguments !== 'string')
|
|
115
131
|
throw new AgentExecutionError('Malformed provider tool call', 'invalid_tool_call', usage);
|
|
116
132
|
ids.add(call.id);
|
|
117
|
-
request.onEvent?.(
|
|
133
|
+
request.onEvent?.(toolEvent(fn.name, fn.arguments));
|
|
118
134
|
let result;
|
|
119
135
|
try {
|
|
120
|
-
result = toolset.execute(fn.name, JSON.parse(fn.arguments));
|
|
136
|
+
result = fn.name === 'read_verification_evidence' && request.openspec?.evidenceScope && request.role !== 'architect' ? JSON.stringify(readVerificationEvidence(request.openspec.evidenceScope, JSON.parse(fn.arguments))) : fn.name === 'openspec_workflow' && openspec ? JSON.stringify(await openspec.execute(JSON.parse(fn.arguments))) : toolset.execute(fn.name, JSON.parse(fn.arguments));
|
|
121
137
|
}
|
|
122
138
|
catch (error) {
|
|
123
139
|
result = JSON.stringify({ error: error instanceof Error ? error.message : 'Tool execution failed' });
|
|
@@ -140,7 +156,9 @@ export class OpenAICompatibleExecutor {
|
|
|
140
156
|
if (controller.signal.aborted)
|
|
141
157
|
throw new AgentExecutionError(request.signal?.aborted ? 'Agent cancelled' : 'Agent timed out', request.signal?.aborted ? 'aborted' : 'timeout', responses ? usage : unknownUsage());
|
|
142
158
|
// Do not persist provider response bodies, URLs or credentials echoed by errors.
|
|
143
|
-
|
|
159
|
+
const code = error.cause?.code;
|
|
160
|
+
const diagnostic = typeof code === 'string' && /^(?:E[A-Z_]+|UND_ERR_[A-Z_]+)$/.test(code) ? ` (${code})` : '';
|
|
161
|
+
throw new AgentExecutionError('OpenAI-compatible request failed' + diagnostic, 'provider_request_error', responses ? usage : unknownUsage());
|
|
144
162
|
}
|
|
145
163
|
finally {
|
|
146
164
|
clearTimeout(timer);
|