agentic-engineering-harness 0.8.3 → 0.8.4
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/agents/outputContracts.js +1 -1
- package/dist/agents/outputContracts.js.map +1 -1
- package/dist/agents/parallelism.js +3 -2
- package/dist/agents/parallelism.js.map +1 -1
- package/dist/agents/permissions.js +1 -1
- package/dist/agents/permissions.js.map +1 -1
- package/dist/agents/waveExecutor.js +25 -15
- package/dist/agents/waveExecutor.js.map +1 -1
- package/dist/certification/adapters.d.ts +4 -0
- package/dist/certification/adapters.js +17 -0
- package/dist/certification/adapters.js.map +1 -0
- package/dist/certification/artifacts.d.ts +3 -0
- package/dist/certification/artifacts.js +18 -0
- package/dist/certification/artifacts.js.map +1 -0
- package/dist/certification/bootstrap.d.ts +33 -0
- package/dist/certification/bootstrap.js +138 -0
- package/dist/certification/bootstrap.js.map +1 -0
- package/dist/certification/codex.d.ts +26 -0
- package/dist/certification/codex.js +125 -0
- package/dist/certification/codex.js.map +1 -0
- package/dist/certification/core.d.ts +15 -0
- package/dist/certification/core.js +300 -0
- package/dist/certification/core.js.map +1 -0
- package/dist/certification/index.d.ts +9 -0
- package/dist/certification/index.js +10 -0
- package/dist/certification/index.js.map +1 -0
- package/dist/certification/oracle.d.ts +11 -0
- package/dist/certification/oracle.js +29 -0
- package/dist/certification/oracle.js.map +1 -0
- package/dist/certification/policy.d.ts +3 -0
- package/dist/certification/policy.js +59 -0
- package/dist/certification/policy.js.map +1 -0
- package/dist/certification/provider.d.ts +27 -0
- package/dist/certification/provider.js +170 -0
- package/dist/certification/provider.js.map +1 -0
- package/dist/certification/types.d.ts +234 -0
- package/dist/certification/types.js +2 -0
- package/dist/certification/types.js.map +1 -0
- package/dist/cli.js +27 -0
- package/dist/cli.js.map +1 -1
- package/dist/context/gateway.d.ts +1 -0
- package/dist/context/gateway.js +13 -5
- package/dist/context/gateway.js.map +1 -1
- package/dist/context/retrieval/persisted.d.ts +3 -2
- package/dist/context/retrieval/persisted.js +23 -7
- package/dist/context/retrieval/persisted.js.map +1 -1
- package/dist/context/retrieval/server.js +7 -4
- package/dist/context/retrieval/server.js.map +1 -1
- package/dist/core/config.js +1 -0
- package/dist/core/config.js.map +1 -1
- package/dist/core/controlPlane.d.ts +1 -0
- package/dist/core/controlPlane.js +12 -0
- package/dist/core/controlPlane.js.map +1 -1
- package/dist/core/git.d.ts +12 -2
- package/dist/core/git.js +31 -5
- package/dist/core/git.js.map +1 -1
- package/dist/core/run.d.ts +2 -0
- package/dist/core/run.js +3 -2
- package/dist/core/run.js.map +1 -1
- package/dist/core/sdd.js +1 -1
- package/dist/core/sdd.js.map +1 -1
- package/dist/core/seal.js +4 -3
- package/dist/core/seal.js.map +1 -1
- package/dist/core/types.d.ts +15 -0
- package/dist/core/verify.js +7 -3
- package/dist/core/verify.js.map +1 -1
- package/dist/distributed/queue.js +24 -6
- package/dist/distributed/queue.js.map +1 -1
- package/dist/distributed/types.d.ts +1 -0
- package/dist/distributed/worker.d.ts +6 -1
- package/dist/distributed/worker.js +25 -6
- package/dist/distributed/worker.js.map +1 -1
- package/dist/evidence/graph.js +2 -2
- package/dist/evidence/graph.js.map +1 -1
- package/dist/metrics/usage.js +8 -0
- package/dist/metrics/usage.js.map +1 -1
- package/dist/operations/change.d.ts +4 -0
- package/dist/operations/change.js +34 -11
- package/dist/operations/change.js.map +1 -1
- package/dist/operations/changeHandoff.d.ts +4 -0
- package/dist/operations/changeHandoff.js +2 -2
- package/dist/operations/changeHandoff.js.map +1 -1
- package/dist/operations/completion.js +38 -27
- package/dist/operations/completion.js.map +1 -1
- package/dist/operations/controller.js +142 -10
- package/dist/operations/controller.js.map +1 -1
- package/dist/operations/livenessV2.js +14 -12
- package/dist/operations/livenessV2.js.map +1 -1
- package/dist/operations/monitorProcess.js +11 -1
- package/dist/operations/monitorProcess.js.map +1 -1
- package/dist/operations/state.d.ts +2 -0
- package/dist/operations/state.js +31 -8
- package/dist/operations/state.js.map +1 -1
- package/dist/operations/supervisor.js +11 -2
- package/dist/operations/supervisor.js.map +1 -1
- package/dist/paseo/capabilities.js +0 -2
- package/dist/paseo/capabilities.js.map +1 -1
- package/dist/paseo/launchSpec.js +5 -3
- package/dist/paseo/launchSpec.js.map +1 -1
- package/dist/paseo/runtime.d.ts +1 -1
- package/dist/paseo/runtime.js +1 -1
- package/dist/paseo/runtime.js.map +1 -1
- package/dist/paseo/runtimeCore.d.ts +4 -0
- package/dist/paseo/runtimeCore.js +27 -2
- package/dist/paseo/runtimeCore.js.map +1 -1
- package/dist/paseo/sdk.d.ts +8 -0
- package/dist/paseo/sdk.js +85 -17
- package/dist/paseo/sdk.js.map +1 -1
- package/dist/paseo/start.js +2 -2
- package/dist/paseo/start.js.map +1 -1
- package/dist/security/sandbox.d.ts +1 -0
- package/dist/security/sandbox.js +20 -2
- package/dist/security/sandbox.js.map +1 -1
- package/dist/utils/process.d.ts +10 -0
- package/dist/utils/process.js +171 -6
- package/dist/utils/process.js.map +1 -1
- package/dist/utils/repositoryPath.d.ts +4 -0
- package/dist/utils/repositoryPath.js +23 -0
- package/dist/utils/repositoryPath.js.map +1 -0
- package/dist/validators/opa.js +2 -2
- package/dist/validators/quickAcceptance.d.ts +7 -0
- package/dist/validators/quickAcceptance.js +40 -0
- package/dist/validators/quickAcceptance.js.map +1 -0
- package/dist/workers/agentPrompt.js +247 -32
- package/dist/workers/agentPrompt.js.map +1 -1
- package/dist/workers/direct.js +9 -10
- package/dist/workers/direct.js.map +1 -1
- package/dist/workers/directProcess.d.ts +19 -0
- package/dist/workers/directProcess.js +147 -0
- package/dist/workers/directProcess.js.map +1 -0
- package/dist/workers/podman.js +2 -2
- package/dist/workers/podman.js.map +1 -1
- package/dist/workers/resultCommit.js +1 -1
- package/dist/workers/resultCommit.js.map +1 -1
- package/dist/workers/resultGateway.d.ts +27 -2
- package/dist/workers/resultGateway.js +64 -11
- package/dist/workers/resultGateway.js.map +1 -1
- package/docs/CERTIFICATION.md +31 -0
- package/package.json +2 -2
- package/schemas/project.schema.json +1 -0
|
@@ -9,11 +9,11 @@ import { buildManagedAgentEnvironment, managedBoundedAgentPromptContext } from "
|
|
|
9
9
|
import { persistOperationAgentArtifact } from "../operations/artifacts.js";
|
|
10
10
|
import { currentOperationContext, loadOperation, registerOperationAgent, updateOperationParticipant } from "../operations/state.js";
|
|
11
11
|
import { compilePaseoAgentLaunchSpec } from "../paseo/launchSpec.js";
|
|
12
|
-
import { continueManagedPaseoAgent, launchManagedPaseoAgent, materializeManagedPaseoAgent } from "../paseo/runtime.js";
|
|
12
|
+
import { continueManagedPaseoAgent, launchManagedPaseoAgent, materializeManagedPaseoAgent, stopManagedPaseoAgent } from "../paseo/runtime.js";
|
|
13
13
|
import { PaseoSdkUnavailableError } from "../paseo/sdk.js";
|
|
14
14
|
import { allowedSandboxEnvironment, hardenedPodmanArgs, sandboxImage } from "../security/sandbox.js";
|
|
15
15
|
import { runProcess } from "../utils/process.js";
|
|
16
|
-
import { activateStructuredResultTurnForAgent, reconcileStructuredResult } from "./resultGateway.js";
|
|
16
|
+
import { activateStructuredResultTurnForAgent, acceptedStructuredResultForAgent, reconcileStructuredResult } from "./resultGateway.js";
|
|
17
17
|
import { compileAgentPromptPolicy } from "./promptPolicy.js";
|
|
18
18
|
import { prepareContext } from "../context/gateway.js";
|
|
19
19
|
import { semanticFirstInstruction } from "../context/repository/serena.js";
|
|
@@ -22,31 +22,42 @@ import { sha256 } from "../context/provenance.js";
|
|
|
22
22
|
import { outputPolicyInstruction, resolveContextPolicy } from "../context/policy.js";
|
|
23
23
|
import { buildRepositoryContextMap } from "../context/repository/map.js";
|
|
24
24
|
import { createMemoryProvider } from "../providers/memory.js";
|
|
25
|
+
import { repositoryPath } from "../utils/repositoryPath.js";
|
|
26
|
+
import { runDirectWorkerProcess } from "./directProcess.js";
|
|
27
|
+
import { recordEvent } from "../telemetry/events.js";
|
|
28
|
+
async function recordAgentLifecycle(root, config, name, attributes) {
|
|
29
|
+
// Lifecycle evidence must never turn an otherwise valid agent result into a
|
|
30
|
+
// runtime failure. The event itself is durable when telemetry is enabled.
|
|
31
|
+
await recordEvent(root, config, `harness.agent.${name}`, attributes).catch(() => undefined);
|
|
32
|
+
}
|
|
25
33
|
export async function executeAgentPrompt(root, config, contract, selection, prompt, options = {}) {
|
|
26
34
|
const transport = selection.transport === "inherit" ? (config.orchestration?.provider ?? "none") : selection.transport;
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
await
|
|
35
|
+
const effectiveOptions = options.contextCapabilities
|
|
36
|
+
? options
|
|
37
|
+
: { ...options, contextCapabilities: await resolveContextTransportCapabilities(root, config, selection, { mode: "live" }) };
|
|
38
|
+
const effectivePrompt = await buildEffectivePrompt(root, config, contract, selection, prompt, effectiveOptions);
|
|
39
|
+
if (effectiveOptions.resumeSessionId && !effectiveOptions.supervisorAgent) {
|
|
40
|
+
await markOperationSessionRunning(root, effectiveOptions.resumeSessionId).catch(() => undefined);
|
|
30
41
|
}
|
|
31
|
-
if (
|
|
32
|
-
await activateStructuredResultTurnForAgent(root,
|
|
42
|
+
if (effectiveOptions.outputContract && effectiveOptions.resumeSessionId && transport !== "paseo") {
|
|
43
|
+
await activateStructuredResultTurnForAgent(root, effectiveOptions.resumeSessionId, effectiveOptions.phase);
|
|
33
44
|
}
|
|
34
45
|
let result;
|
|
35
46
|
if (transport === "paseo")
|
|
36
|
-
result = await executeViaPaseo(root, config, contract, selection, effectivePrompt,
|
|
47
|
+
result = await executeViaPaseo(root, config, contract, selection, effectivePrompt, effectiveOptions);
|
|
37
48
|
else if (transport === "direct")
|
|
38
|
-
result = await executeDirect(root, config, selection, effectivePrompt,
|
|
49
|
+
result = await executeDirect(root, config, selection, effectivePrompt, effectiveOptions);
|
|
39
50
|
else if (transport === "podman")
|
|
40
|
-
result = await executePodman(root, config, contract, selection, effectivePrompt,
|
|
51
|
+
result = await executePodman(root, config, contract, selection, effectivePrompt, effectiveOptions);
|
|
41
52
|
else
|
|
42
53
|
throw new Error(`Unsupported agent prompt transport: ${transport}`);
|
|
43
|
-
return finalizeOperationSession(root, contract, selection, result,
|
|
54
|
+
return finalizeOperationSession(root, config, contract, selection, result, effectiveOptions);
|
|
44
55
|
}
|
|
45
56
|
export async function materializeAgentPrompt(root, config, contract, selection, options = {}) {
|
|
46
57
|
const transport = selection.transport === "inherit" ? (config.orchestration?.provider ?? "none") : selection.transport;
|
|
47
58
|
if (transport !== "paseo" || options.resumeSessionId)
|
|
48
59
|
return undefined;
|
|
49
|
-
const contextCapabilities = await resolveContextTransportCapabilities(root, config, selection, { mode: "live" });
|
|
60
|
+
const contextCapabilities = options.contextCapabilities ?? await resolveContextTransportCapabilities(root, config, selection, { mode: "live" });
|
|
50
61
|
const spec = await compilePaseoAgentLaunchSpec(root, config, contract, {
|
|
51
62
|
selection,
|
|
52
63
|
phase: options.phase ?? "queued",
|
|
@@ -84,6 +95,8 @@ export async function materializeAgentPrompt(root, config, contract, selection,
|
|
|
84
95
|
title: spec.title,
|
|
85
96
|
operationId: spec.operationId,
|
|
86
97
|
operationKind: spec.operationKind,
|
|
98
|
+
operationRevision: Number.isInteger(Number(spec.labels["aeh.operation.revision"])) ? Number(spec.labels["aeh.operation.revision"]) : undefined,
|
|
99
|
+
supervisorGeneration: spec.supervisorGeneration,
|
|
87
100
|
phase: spec.phase,
|
|
88
101
|
status: materialized.status ?? "idle",
|
|
89
102
|
startedAt
|
|
@@ -100,6 +113,24 @@ export async function materializeAgentPrompt(root, config, contract, selection,
|
|
|
100
113
|
transport: result.transport,
|
|
101
114
|
status: "IDLE"
|
|
102
115
|
}).catch(() => undefined);
|
|
116
|
+
await recordAgentLifecycle(root, config, "participant.created", {
|
|
117
|
+
operationId: spec.operationId,
|
|
118
|
+
participantId: result.id,
|
|
119
|
+
logicalAgent: selection.logicalAgent,
|
|
120
|
+
role: selection.role,
|
|
121
|
+
phase: spec.phase,
|
|
122
|
+
attempt: 1,
|
|
123
|
+
revision: 1,
|
|
124
|
+
status: "IDLE"
|
|
125
|
+
});
|
|
126
|
+
await recordAgentLifecycle(root, config, "session.created", {
|
|
127
|
+
operationId: spec.operationId,
|
|
128
|
+
participantId: result.id,
|
|
129
|
+
logicalAgent: selection.logicalAgent,
|
|
130
|
+
transport: result.transport,
|
|
131
|
+
workspaceId: result.workspaceId,
|
|
132
|
+
status: result.status
|
|
133
|
+
});
|
|
103
134
|
}
|
|
104
135
|
return result;
|
|
105
136
|
}
|
|
@@ -115,9 +146,28 @@ export async function dispatchMaterializedAgentPrompt(root, config, contract, se
|
|
|
115
146
|
const effectivePrompt = await buildEffectivePrompt(root, config, contract, selection, prompt, options);
|
|
116
147
|
if (!options.supervisorAgent)
|
|
117
148
|
await markOperationSessionRunning(root, materialized.id).catch(() => undefined);
|
|
149
|
+
await recordAgentLifecycle(root, config, "participant.started", {
|
|
150
|
+
operationId: materialized.operationId ?? currentOperationContext().id ?? contract.task.id,
|
|
151
|
+
participantId: materialized.id,
|
|
152
|
+
logicalAgent: selection.logicalAgent,
|
|
153
|
+
role: selection.role,
|
|
154
|
+
phase: options.phase ?? materialized.phase,
|
|
155
|
+
attempt: 1,
|
|
156
|
+
revision: 1,
|
|
157
|
+
status: "RUNNING"
|
|
158
|
+
});
|
|
159
|
+
await recordAgentLifecycle(root, config, "model.requested", {
|
|
160
|
+
operationId: materialized.operationId ?? currentOperationContext().id ?? contract.task.id,
|
|
161
|
+
participantId: materialized.id,
|
|
162
|
+
logicalAgent: selection.logicalAgent,
|
|
163
|
+
transport: materialized.transport,
|
|
164
|
+
phase: options.phase ?? materialized.phase
|
|
165
|
+
});
|
|
118
166
|
const timeout = config.orchestration?.worker?.timeoutSeconds ?? 1800;
|
|
119
167
|
const schema = options.outputContract ? outputJsonSchema(options.outputContract) : undefined;
|
|
120
|
-
const continued =
|
|
168
|
+
const continued = schema
|
|
169
|
+
? await continueWithDurableResultReconciliation(root, config, materialized, selection, effectivePrompt, timeout, schema, options)
|
|
170
|
+
: await continueManagedPaseoAgent(root, materialized.id, effectivePrompt, timeout, undefined, schema);
|
|
121
171
|
const result = {
|
|
122
172
|
...materialized,
|
|
123
173
|
exitCode: continued.exitCode,
|
|
@@ -129,7 +179,24 @@ export async function dispatchMaterializedAgentPrompt(root, config, contract, se
|
|
|
129
179
|
phase: options.phase ?? materialized.phase,
|
|
130
180
|
finishedAt: new Date().toISOString()
|
|
131
181
|
};
|
|
132
|
-
|
|
182
|
+
await recordAgentLifecycle(root, config, "runtime.terminal.observed", {
|
|
183
|
+
operationId: result.operationId ?? currentOperationContext().id ?? contract.task.id,
|
|
184
|
+
participantId: materialized.id,
|
|
185
|
+
logicalAgent: selection.logicalAgent,
|
|
186
|
+
transport: result.transport,
|
|
187
|
+
status: result.status,
|
|
188
|
+
exitCode: result.exitCode,
|
|
189
|
+
stdoutBytes: Buffer.byteLength(result.stdout),
|
|
190
|
+
stderrBytes: Buffer.byteLength(result.stderr)
|
|
191
|
+
});
|
|
192
|
+
await recordAgentLifecycle(root, config, "model.output.received", {
|
|
193
|
+
operationId: result.operationId ?? currentOperationContext().id ?? contract.task.id,
|
|
194
|
+
participantId: materialized.id,
|
|
195
|
+
logicalAgent: selection.logicalAgent,
|
|
196
|
+
outputBytes: Buffer.byteLength(result.stdout),
|
|
197
|
+
outputPresent: Boolean(result.stdout.trim())
|
|
198
|
+
});
|
|
199
|
+
const finalized = await finalizeOperationSession(root, config, contract, selection, result, options);
|
|
133
200
|
if (!options.outputContract || finalized.exitCode !== 0)
|
|
134
201
|
return finalized;
|
|
135
202
|
const delivery = validateCapturedAgentContract(options.outputContract, finalized.stdout, finalized.stderr);
|
|
@@ -152,7 +219,7 @@ export async function dispatchMaterializedAgentPrompt(root, config, contract, se
|
|
|
152
219
|
phase: repairPhase,
|
|
153
220
|
finishedAt: new Date().toISOString()
|
|
154
221
|
};
|
|
155
|
-
return finalizeOperationSession(root, contract, selection, repairedResult, repairOptions);
|
|
222
|
+
return finalizeOperationSession(root, config, contract, selection, repairedResult, repairOptions);
|
|
156
223
|
}
|
|
157
224
|
export async function resumeAgentPrompt(root, config, contract, selection, previous, prompt, options = {}) {
|
|
158
225
|
if (!previous.id)
|
|
@@ -192,7 +259,8 @@ async function executeViaPaseo(root, config, contract, selection, prompt, option
|
|
|
192
259
|
phase: options.phase ?? "work",
|
|
193
260
|
kind: options.operationKind,
|
|
194
261
|
parentAgentId: options.parentAgentId,
|
|
195
|
-
supervisorAgent: options.supervisorAgent
|
|
262
|
+
supervisorAgent: options.supervisorAgent,
|
|
263
|
+
contextCapabilities: options.contextCapabilities
|
|
196
264
|
});
|
|
197
265
|
const startedAt = new Date().toISOString();
|
|
198
266
|
const schema = options.outputContract ? outputJsonSchema(options.outputContract) : undefined;
|
|
@@ -206,6 +274,8 @@ async function executeViaPaseo(root, config, contract, selection, prompt, option
|
|
|
206
274
|
title: spec.title,
|
|
207
275
|
operationId: spec.operationId,
|
|
208
276
|
operationKind: spec.operationKind,
|
|
277
|
+
operationRevision: Number.isInteger(Number(spec.labels["aeh.operation.revision"])) ? Number(spec.labels["aeh.operation.revision"]) : undefined,
|
|
278
|
+
supervisorGeneration: spec.supervisorGeneration,
|
|
209
279
|
phase: spec.phase,
|
|
210
280
|
status: continued.status,
|
|
211
281
|
startedAt,
|
|
@@ -230,6 +300,8 @@ async function executeViaPaseo(root, config, contract, selection, prompt, option
|
|
|
230
300
|
labels: spec.labels,
|
|
231
301
|
timeoutSeconds: spec.timeoutSeconds
|
|
232
302
|
});
|
|
303
|
+
if (launched.id && !options.supervisorAgent)
|
|
304
|
+
await markOperationSessionRunning(root, launched.id).catch(() => undefined);
|
|
233
305
|
return session(selection, launched.exitCode, launched.stdout, launched.stderr, {
|
|
234
306
|
id: launched.id,
|
|
235
307
|
nativeAgent: spec.nativeAgentId ?? selection.nativeAgent,
|
|
@@ -248,14 +320,14 @@ async function executeDirect(root, config, selection, prompt, options) {
|
|
|
248
320
|
const startedAt = new Date().toISOString();
|
|
249
321
|
const executionEnv = boundedExecutionEnvironment(selection, options);
|
|
250
322
|
if (selection.runtimeAdapter === "opencode") {
|
|
251
|
-
const projection = compileOpenCodeRuntimeProjection(selection, config);
|
|
323
|
+
const projection = compileOpenCodeRuntimeProjection(selection, config, options.contextCapabilities);
|
|
252
324
|
const args = ["opencode", "run", "--auto", "--format", "json", "--model", selection.modelId];
|
|
253
325
|
if (options.resumeSessionId)
|
|
254
326
|
args.push("--session", options.resumeSessionId);
|
|
255
327
|
if (selection.variant)
|
|
256
328
|
args.push("--variant", selection.variant);
|
|
257
329
|
args.push("--agent", projection.binding.agentId, ...selection.args, prompt);
|
|
258
|
-
const result = await
|
|
330
|
+
const result = await runDirectWorkerProcess("opencode", args.slice(1), config, { cwd: root, timeoutMs: (config.orchestration?.worker?.timeoutSeconds ?? 1800) * 1000, environment: { ...withDirectContextIdentity(projection.env, root, selection, options), ...executionEnv } });
|
|
259
331
|
return session(selection, result.exitCode, result.stdout, result.stderr, { id: options.resumeSessionId ?? extractSessionId(result.stdout), nativeAgent: projection.binding.agentId, ...directMetadata(options, startedAt) });
|
|
260
332
|
}
|
|
261
333
|
if (selection.runtimeAdapter === "codex")
|
|
@@ -275,8 +347,8 @@ async function executeCodex(root, config, selection, prompt, options, startedAt,
|
|
|
275
347
|
: ["codex", "exec", "--json", "--model", selection.modelName];
|
|
276
348
|
if (schemaFile && outputFile)
|
|
277
349
|
args.push("--output-schema", schemaFile, "-o", outputFile);
|
|
278
|
-
args.push(...selection.args, prompt);
|
|
279
|
-
const result = await
|
|
350
|
+
args.push(...selection.args, ...codexPermissionArgs(selection), prompt);
|
|
351
|
+
const result = await runDirectWorkerProcess(args[0], args.slice(1), config, { cwd: root, timeoutMs: (config.orchestration?.worker?.timeoutSeconds ?? 1800) * 1000, environment: executionEnv });
|
|
280
352
|
let stdout = result.stdout;
|
|
281
353
|
if (outputFile) {
|
|
282
354
|
try {
|
|
@@ -292,6 +364,34 @@ async function executeCodex(root, config, selection, prompt, options, startedAt,
|
|
|
292
364
|
await fs.rm(temp, { recursive: true, force: true });
|
|
293
365
|
}
|
|
294
366
|
}
|
|
367
|
+
function codexPermissionArgs(selection) {
|
|
368
|
+
const args = [];
|
|
369
|
+
if (selection.permissions.write === "deny")
|
|
370
|
+
args.push("--sandbox", "read-only");
|
|
371
|
+
else if (selection.permissions.write === "allow")
|
|
372
|
+
args.push("--sandbox", "workspace-write");
|
|
373
|
+
if (selection.permissions.shell === "deny")
|
|
374
|
+
args.push("--ask-for-approval", "never");
|
|
375
|
+
if (selection.permissions.network === "deny")
|
|
376
|
+
args.push("-c", "sandbox_workspace_write.network_access=false");
|
|
377
|
+
return args;
|
|
378
|
+
}
|
|
379
|
+
function withDirectContextIdentity(environment, root, selection, options) {
|
|
380
|
+
const serialized = environment.OPENCODE_CONFIG_CONTENT;
|
|
381
|
+
if (!serialized)
|
|
382
|
+
return environment;
|
|
383
|
+
try {
|
|
384
|
+
const config = JSON.parse(serialized);
|
|
385
|
+
const context = config.mcp?.["aeh-context"];
|
|
386
|
+
if (!context)
|
|
387
|
+
return environment;
|
|
388
|
+
context.environment = { ...(context.environment ?? {}), AEH_CONTEXT_ROOT: root, AEH_CONTEXT_OPERATION_ID: currentOperationContext().id ?? "", AEH_LOGICAL_AGENT: selection.logicalAgent, AEH_CONTEXT_PHASE: options.phase ?? "work" };
|
|
389
|
+
return { ...environment, OPENCODE_CONFIG_CONTENT: JSON.stringify(config) };
|
|
390
|
+
}
|
|
391
|
+
catch {
|
|
392
|
+
return environment;
|
|
393
|
+
}
|
|
394
|
+
}
|
|
295
395
|
async function executePodman(root, config, contract, selection, prompt, options = {}) {
|
|
296
396
|
if (selection.runtimeAdapter !== "opencode")
|
|
297
397
|
throw new Error(`Podman prompt execution currently supports OpenCode; selected ${selection.runtimeAdapter}.`);
|
|
@@ -303,8 +403,8 @@ async function executePodman(root, config, contract, selection, prompt, options
|
|
|
303
403
|
args.push("-v", `${root}:/workspace:${writable ? "rw" : "ro"}`);
|
|
304
404
|
if (writable)
|
|
305
405
|
for (const relative of sealedArtifacts(config, contract))
|
|
306
|
-
args.push("-v", `${
|
|
307
|
-
const projection = compileOpenCodeRuntimeProjection(selection, config);
|
|
406
|
+
args.push("-v", `${repositoryPath(root, relative)}:/workspace/${relative}:ro`);
|
|
407
|
+
const projection = compileOpenCodeRuntimeProjection(selection, config, options.contextCapabilities);
|
|
308
408
|
args.push("-e", `OPENCODE_CONFIG_CONTENT=${projection.env.OPENCODE_CONFIG_CONTENT}`);
|
|
309
409
|
for (const [name, value] of Object.entries(boundedExecutionEnvironment(selection, options)))
|
|
310
410
|
args.push("-e", `${name}=${value}`);
|
|
@@ -480,28 +580,119 @@ async function markOperationSessionRunning(root, agentId) {
|
|
|
480
580
|
return;
|
|
481
581
|
await updateOperationParticipant(root, operationId, agentId, { status: "RUNNING" });
|
|
482
582
|
}
|
|
483
|
-
async function
|
|
583
|
+
async function continueWithDurableResultReconciliation(root, config, materialized, selection, prompt, timeoutSeconds, outputSchema, options) {
|
|
584
|
+
const operationId = materialized.operationId ?? currentOperationContext().id;
|
|
585
|
+
if (!operationId || !materialized.id || !options.outputContract) {
|
|
586
|
+
return continueManagedPaseoAgent(root, materialized.id, prompt, timeoutSeconds, undefined, outputSchema);
|
|
587
|
+
}
|
|
588
|
+
const normal = continueManagedPaseoAgent(root, materialized.id, prompt, timeoutSeconds, undefined, outputSchema);
|
|
589
|
+
const reconciled = waitForAcceptedResult(root, materialized.id, {
|
|
590
|
+
operationId,
|
|
591
|
+
participantId: materialized.id,
|
|
592
|
+
logicalAgent: selection.logicalAgent,
|
|
593
|
+
role: selection.role,
|
|
594
|
+
contract: options.outputContract,
|
|
595
|
+
phase: options.phase ?? materialized.phase,
|
|
596
|
+
operationRevision: materialized.operationRevision,
|
|
597
|
+
supervisorGeneration: materialized.supervisorGeneration
|
|
598
|
+
}, Math.max(1, timeoutSeconds) * 1000, async (accepted) => {
|
|
599
|
+
await stopManagedPaseoAgent(root, materialized.id).catch(() => undefined);
|
|
600
|
+
await recordAgentLifecycle(root, config, "runtime.terminal.reconciled", {
|
|
601
|
+
operationId,
|
|
602
|
+
participantId: materialized.id,
|
|
603
|
+
logicalAgent: selection.logicalAgent,
|
|
604
|
+
artifact: accepted.artifact,
|
|
605
|
+
turnId: accepted.turnId,
|
|
606
|
+
channelId: accepted.channelId,
|
|
607
|
+
source: accepted.source,
|
|
608
|
+
reason: "durable-result-without-runtime-terminal-event"
|
|
609
|
+
});
|
|
610
|
+
});
|
|
611
|
+
const winner = await Promise.race([normal, reconciled]);
|
|
612
|
+
return winner ?? normal;
|
|
613
|
+
}
|
|
614
|
+
async function waitForAcceptedResult(root, agentId, expected, timeoutMs, onAccepted) {
|
|
615
|
+
const deadline = Date.now() + timeoutMs;
|
|
616
|
+
for (;;) {
|
|
617
|
+
const accepted = await acceptedStructuredResultForAgent(root, agentId, expected).catch(() => undefined);
|
|
618
|
+
if (accepted) {
|
|
619
|
+
await onAccepted(accepted);
|
|
620
|
+
return {
|
|
621
|
+
id: agentId,
|
|
622
|
+
exitCode: 0,
|
|
623
|
+
stdout: JSON.stringify(accepted.payload),
|
|
624
|
+
stderr: "",
|
|
625
|
+
status: "idle",
|
|
626
|
+
transport: "sdk",
|
|
627
|
+
observation: "sdk-run"
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
if (Date.now() >= deadline)
|
|
631
|
+
return undefined;
|
|
632
|
+
await new Promise((resolve) => setTimeout(resolve, 250));
|
|
633
|
+
}
|
|
634
|
+
}
|
|
635
|
+
async function finalizeOperationSession(root, config, contract, selection, observed, options) {
|
|
484
636
|
const operationId = observed.operationId ?? currentOperationContext().id ?? contract.task.id;
|
|
485
637
|
let result = observed;
|
|
486
638
|
let accepted;
|
|
487
639
|
let contractDelivery;
|
|
488
640
|
if (options.outputContract && observed.exitCode === 0) {
|
|
489
|
-
const
|
|
641
|
+
const durable = observed.id
|
|
642
|
+
? await acceptedStructuredResultForAgent(root, observed.id, {
|
|
643
|
+
operationId,
|
|
644
|
+
participantId: observed.id,
|
|
645
|
+
logicalAgent: selection.logicalAgent,
|
|
646
|
+
role: selection.role,
|
|
647
|
+
contract: options.outputContract,
|
|
648
|
+
phase: observed.phase ?? options.phase,
|
|
649
|
+
operationRevision: Number.isInteger(observed.operationRevision) ? observed.operationRevision : undefined,
|
|
650
|
+
supervisorGeneration: observed.supervisorGeneration
|
|
651
|
+
}).catch(() => undefined)
|
|
652
|
+
: undefined;
|
|
653
|
+
const resolution = durable
|
|
654
|
+
? { ok: true, accepted: durable }
|
|
655
|
+
: await reconcileStructuredResult(root, {
|
|
656
|
+
operationId,
|
|
657
|
+
agentId: observed.id,
|
|
658
|
+
logicalAgent: selection.logicalAgent,
|
|
659
|
+
role: selection.role,
|
|
660
|
+
contract: options.outputContract,
|
|
661
|
+
phase: observed.phase ?? options.phase,
|
|
662
|
+
stdout: observed.stdout,
|
|
663
|
+
stderr: observed.stderr
|
|
664
|
+
});
|
|
665
|
+
contractDelivery = resolution.ok
|
|
666
|
+
? { ok: true }
|
|
667
|
+
: { ok: false, failure: resolution.failure ?? `invalid ${options.outputContract} output contract` };
|
|
668
|
+
await recordAgentLifecycle(root, config, "output.parsed", {
|
|
490
669
|
operationId,
|
|
491
|
-
|
|
670
|
+
participantId: observed.id,
|
|
492
671
|
logicalAgent: selection.logicalAgent,
|
|
493
|
-
role: selection.role,
|
|
494
|
-
contract: options.outputContract,
|
|
495
672
|
phase: observed.phase ?? options.phase,
|
|
496
|
-
|
|
497
|
-
|
|
673
|
+
parsed: contractDelivery.ok,
|
|
674
|
+
failure: contractDelivery.failure
|
|
498
675
|
});
|
|
499
|
-
contractDelivery = resolution.ok
|
|
500
|
-
? { ok: true }
|
|
501
|
-
: { ok: false, failure: resolution.failure ?? `invalid ${options.outputContract} output contract` };
|
|
502
676
|
if (resolution.accepted) {
|
|
503
677
|
accepted = resolution.accepted;
|
|
504
678
|
result = { ...observed, stdout: JSON.stringify(resolution.accepted.payload) };
|
|
679
|
+
await recordAgentLifecycle(root, config, "result.persisted", {
|
|
680
|
+
operationId,
|
|
681
|
+
participantId: observed.id,
|
|
682
|
+
logicalAgent: selection.logicalAgent,
|
|
683
|
+
artifact: accepted.artifact,
|
|
684
|
+
turnId: accepted.turnId,
|
|
685
|
+
channelId: accepted.channelId,
|
|
686
|
+
source: accepted.source
|
|
687
|
+
});
|
|
688
|
+
await recordAgentLifecycle(root, config, "result.acknowledged", {
|
|
689
|
+
operationId,
|
|
690
|
+
participantId: observed.id,
|
|
691
|
+
logicalAgent: selection.logicalAgent,
|
|
692
|
+
artifact: accepted.artifact,
|
|
693
|
+
turnId: accepted.turnId,
|
|
694
|
+
turnRevision: accepted.turnId
|
|
695
|
+
});
|
|
505
696
|
}
|
|
506
697
|
}
|
|
507
698
|
if (options.supervisorAgent)
|
|
@@ -516,6 +707,13 @@ async function finalizeOperationSession(root, contract, selection, observed, opt
|
|
|
516
707
|
structuredResultArtifact: accepted?.artifact,
|
|
517
708
|
session: observed
|
|
518
709
|
}).catch(() => undefined);
|
|
710
|
+
await recordAgentLifecycle(root, config, "artifact.persisted", {
|
|
711
|
+
operationId,
|
|
712
|
+
participantId: observed.id,
|
|
713
|
+
logicalAgent: selection.logicalAgent,
|
|
714
|
+
artifact: transcriptArtifact,
|
|
715
|
+
structuredResultArtifact: accepted?.artifact
|
|
716
|
+
});
|
|
519
717
|
if (!observed.id)
|
|
520
718
|
return result;
|
|
521
719
|
let operation = await loadOperation(root, operationId).catch(() => undefined);
|
|
@@ -547,6 +745,23 @@ async function finalizeOperationSession(root, contract, selection, observed, opt
|
|
|
547
745
|
resultArtifact: accepted?.artifact ?? transcriptArtifact,
|
|
548
746
|
error: failed ? ((contractFailure ?? observed.stderr) || `agent exited with ${observed.exitCode}`) : undefined
|
|
549
747
|
}).catch(() => undefined);
|
|
748
|
+
await recordAgentLifecycle(root, config, "participant.marked_terminal", {
|
|
749
|
+
operationId,
|
|
750
|
+
participantId: observed.id,
|
|
751
|
+
logicalAgent: selection.logicalAgent,
|
|
752
|
+
status: failed ? "FAILED" : "COMPLETED",
|
|
753
|
+
artifact: accepted?.artifact ?? transcriptArtifact,
|
|
754
|
+
contractValid: !contractFailure
|
|
755
|
+
});
|
|
756
|
+
const settled = await loadOperation(root, operationId).catch(() => undefined);
|
|
757
|
+
await recordAgentLifecycle(root, config, "participant.settled", {
|
|
758
|
+
operationId,
|
|
759
|
+
participantId: observed.id,
|
|
760
|
+
logicalAgent: selection.logicalAgent,
|
|
761
|
+
participantStatus: settled?.participants[observed.id]?.status,
|
|
762
|
+
operationStatus: settled?.status,
|
|
763
|
+
operationRevision: settled?.revision
|
|
764
|
+
});
|
|
550
765
|
return result;
|
|
551
766
|
}
|
|
552
767
|
function session(selection, exitCode, stdout, stderr, metadata = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentPrompt.js","sourceRoot":"","sources":["../../src/workers/agentPrompt.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentPrompt.js","sourceRoot":"","sources":["../../src/workers/agentPrompt.ts"],"names":[],"mappings":"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"}
|