agentic-engineering-harness 0.6.24 → 0.6.26

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.
@@ -0,0 +1,332 @@
1
+ import process from "node:process";
2
+ import { registerCurrentOperationAgent } from "../operations/state.js";
3
+ import { runProcess } from "../utils/process.js";
4
+ import { buildPaseoBackgroundRunCommand, detectPaseoCapabilities, extractPaseoAgentId } from "./capabilities.js";
5
+ import { preflightPaseoProviderMode } from "./modePreflight.js";
6
+ import { capturePaseoAgentTurnBaseline, preflightPaseoProviderModel, waitForPaseoAgentNative } from "./native.js";
7
+ import { PaseoSdkUnavailableError, createPaseoSdkAgent, dispatchPaseoSdkAgent, inspectPaseoSdkAgent, listPaseoSdkAgents, materializePaseoSdkAgent, probePaseoSdkAgent, runPaseoSdkAgent, waitPaseoSdkAgent } from "./sdk.js";
8
+ import { recordPaseoTrace } from "./trace.js";
9
+ const DEFAULT_DEPS = {
10
+ run: runProcess,
11
+ detectCapabilities: detectPaseoCapabilities,
12
+ trace: recordPaseoTrace,
13
+ native: {
14
+ preflight: preflightPaseoProviderModel,
15
+ preflightMode: preflightPaseoProviderMode,
16
+ wait: waitForPaseoAgentNative,
17
+ capture: capturePaseoAgentTurnBaseline
18
+ },
19
+ sdk: {
20
+ create: createPaseoSdkAgent,
21
+ materialize: materializePaseoSdkAgent,
22
+ dispatch: dispatchPaseoSdkAgent,
23
+ wait: waitPaseoSdkAgent,
24
+ run: runPaseoSdkAgent,
25
+ probe: probePaseoSdkAgent,
26
+ inspect: inspectPaseoSdkAgent,
27
+ list: listPaseoSdkAgents
28
+ }
29
+ };
30
+ export async function launchManagedPaseoAgent(root, options, deps = DEFAULT_DEPS) {
31
+ const trace = deps.trace ?? DEFAULT_DEPS.trace;
32
+ if (!forceCli()) {
33
+ await ensurePreflight(root, options, deps);
34
+ await traceResolvedIdentity(root, options, trace);
35
+ try {
36
+ const created = fromSdk(await deps.sdk.create(root, { ...options, waitForFinish: false }));
37
+ await registerManagedAgent(root, options, created);
38
+ await trace(root, "agent.launch", { transport: "sdk", agentId: created.id ?? "", provider: options.provider, model: options.model ?? "", modeId: options.modeId ?? "", modeSource: options.modeSource ?? "", status: created.status ?? "unknown" });
39
+ if (!created.id || options.prompt === undefined || options.waitForFinish === false)
40
+ return created;
41
+ return waitManagedPaseoAgent(root, created.id, options.timeoutSeconds ?? secondsFromMs(options.timeoutMs), deps);
42
+ }
43
+ catch (error) {
44
+ if (!sdkCanFallback(error))
45
+ throw error;
46
+ await trace(root, "fallback.cli", { operation: "launch", provider: options.provider, model: options.model ?? "", modeId: options.modeId ?? "", reason: errorMessage(error) });
47
+ return launchCli(root, options, deps, `SDK unavailable: ${errorMessage(error)}`);
48
+ }
49
+ }
50
+ await trace(root, "fallback.cli", { operation: "launch", provider: options.provider, model: options.model ?? "", modeId: options.modeId ?? "", reason: "AEH_PASEO_FORCE_CLI=1" });
51
+ return launchCli(root, options, deps, "AEH_PASEO_FORCE_CLI=1 forced the compatibility lifecycle.");
52
+ }
53
+ export async function materializeManagedPaseoAgent(root, options, deps = DEFAULT_DEPS) {
54
+ if (forceCli())
55
+ throw new PaseoSdkUnavailableError("Idle agent materialization is SDK-only; AEH_PASEO_FORCE_CLI=1 is active.");
56
+ await ensurePreflight(root, options, deps);
57
+ const trace = deps.trace ?? DEFAULT_DEPS.trace;
58
+ await traceResolvedIdentity(root, options, trace);
59
+ try {
60
+ const result = fromSdk(await deps.sdk.materialize(root, { ...options, prompt: undefined, waitForFinish: false }));
61
+ await registerManagedAgent(root, options, result);
62
+ await trace(root, "agent.materialize", { transport: "sdk", agentId: result.id ?? "", provider: options.provider, model: options.model ?? "", modeId: options.modeId ?? "", modeSource: options.modeSource ?? "", workspaceId: result.workspaceId ?? "" });
63
+ return result;
64
+ }
65
+ catch (error) {
66
+ if (sdkCanFallback(error))
67
+ throw new PaseoSdkUnavailableError(`Paseo SDK is required to materialize an idle visible agent. ${errorMessage(error)}`, { cause: error });
68
+ throw error;
69
+ }
70
+ }
71
+ export async function dispatchManagedPaseoAgent(root, agentId, prompt, timeoutSeconds, deps = DEFAULT_DEPS) {
72
+ const trace = deps.trace ?? DEFAULT_DEPS.trace;
73
+ if (!forceCli()) {
74
+ try {
75
+ const result = fromSdk(await deps.sdk.dispatch(root, agentId, prompt, timeoutMs(timeoutSeconds)));
76
+ await trace(root, "agent.dispatch", { transport: "sdk", agentId, status: result.status ?? "unknown" });
77
+ return result;
78
+ }
79
+ catch (error) {
80
+ if (!sdkCanFallback(error))
81
+ throw error;
82
+ await trace(root, "fallback.cli", { operation: "dispatch", agentId, reason: errorMessage(error) });
83
+ }
84
+ }
85
+ const send = await deps.run(`paseo send ${quote(agentId)} --no-wait ${quote(prompt)}`, { cwd: root, timeoutMs: 60_000 });
86
+ await trace(root, "agent.dispatch", { transport: "cli", agentId, exitCode: send.exitCode });
87
+ return { id: agentId, exitCode: send.exitCode, stdout: send.stdout, stderr: send.stderr, status: send.exitCode === 0 ? "working" : "failed", transport: "cli" };
88
+ }
89
+ export async function waitManagedPaseoAgent(root, agentId, timeoutSeconds, deps = DEFAULT_DEPS, baseline) {
90
+ const timeout = timeoutMs(timeoutSeconds);
91
+ const trace = deps.trace ?? DEFAULT_DEPS.trace;
92
+ if (!forceCli()) {
93
+ const native = deps.native ?? DEFAULT_DEPS.native;
94
+ try {
95
+ const result = fromNativeWait(await native.wait(root, agentId, timeout, baseline));
96
+ await trace(root, "agent.wait.completed", { transport: "sdk", observation: "subscription", agentId, status: result.status ?? "unknown" });
97
+ return result;
98
+ }
99
+ catch (error) {
100
+ if (!sdkCanFallback(error))
101
+ throw error;
102
+ await trace(root, "agent.wait.fallback", { agentId, from: "subscription", to: "sdk-wait", reason: errorMessage(error) });
103
+ try {
104
+ const result = { ...fromSdk(await deps.sdk.wait(root, agentId, timeout)), observation: "sdk-wait" };
105
+ await trace(root, "agent.wait.completed", { transport: "sdk", observation: "sdk-wait", agentId, status: result.status ?? "unknown" });
106
+ return result;
107
+ }
108
+ catch (sdkError) {
109
+ if (!sdkCanFallback(sdkError))
110
+ throw sdkError;
111
+ await trace(root, "fallback.cli", { operation: "wait", agentId, reason: errorMessage(sdkError) });
112
+ }
113
+ }
114
+ }
115
+ const timeoutSec = timeoutSeconds ?? 1800;
116
+ const wait = await deps.run(`paseo wait ${quote(agentId)} --timeout ${timeoutSec}`, { cwd: root, timeoutMs: (timeoutSec + 30) * 1000 });
117
+ const logs = await deps.run(`paseo logs ${quote(agentId)} --tail 200`, { cwd: root, timeoutMs: 60_000 });
118
+ const result = { id: agentId, exitCode: wait.exitCode, stdout: logs.stdout || wait.stdout, stderr: [wait.stderr, logs.stderr].filter(Boolean).join("\n"), status: wait.exitCode === 0 ? "idle" : "failed", transport: "cli", observation: "cli-wait" };
119
+ await trace(root, "agent.wait.completed", { transport: "cli", observation: "cli-wait", agentId, status: result.status ?? "unknown" });
120
+ return result;
121
+ }
122
+ export async function continueManagedPaseoAgent(root, agentId, prompt, timeoutSeconds, deps = DEFAULT_DEPS, outputSchema) {
123
+ const trace = deps.trace ?? DEFAULT_DEPS.trace;
124
+ if (!forceCli()) {
125
+ try {
126
+ const result = {
127
+ ...fromSdk(await deps.sdk.run(root, agentId, prompt, timeoutMs(timeoutSeconds), outputSchema)),
128
+ observation: "sdk-run"
129
+ };
130
+ await trace(root, "agent.turn.completed", {
131
+ transport: "sdk",
132
+ observation: "sdk-run",
133
+ agentId,
134
+ status: result.status ?? "unknown",
135
+ structured: Boolean(outputSchema),
136
+ payloadCaptured: Boolean(result.stdout)
137
+ });
138
+ return result;
139
+ }
140
+ catch (error) {
141
+ if (!sdkCanFallback(error))
142
+ throw error;
143
+ await trace(root, "agent.turn.fallback", { agentId, from: "sdk-run", to: "subscription", reason: errorMessage(error), structured: Boolean(outputSchema) });
144
+ }
145
+ }
146
+ let baseline;
147
+ if (!forceCli()) {
148
+ const native = deps.native ?? DEFAULT_DEPS.native;
149
+ if (typeof native.capture === "function") {
150
+ try {
151
+ baseline = await native.capture(root, agentId);
152
+ await trace(root, "agent.turn.baseline", { agentId, assistantMessage: baseline.lastAssistantMessage ? "present" : "absent" });
153
+ }
154
+ catch (error) {
155
+ if (!sdkCanFallback(error))
156
+ throw error;
157
+ await trace(root, "agent.turn.baseline.skipped", { agentId, reason: errorMessage(error) });
158
+ }
159
+ }
160
+ }
161
+ const sent = await dispatchManagedPaseoAgent(root, agentId, prompt, timeoutSeconds, deps);
162
+ if (sent.exitCode !== 0)
163
+ return sent;
164
+ return waitManagedPaseoAgent(root, agentId, timeoutSeconds, deps, baseline);
165
+ }
166
+ export async function probeManagedPaseoAgent(root, agentId, deps = DEFAULT_DEPS) {
167
+ if (!forceCli()) {
168
+ try {
169
+ return await deps.sdk.probe(root, agentId);
170
+ }
171
+ catch (error) {
172
+ if (!sdkCanFallback(error))
173
+ return false;
174
+ }
175
+ }
176
+ const probe = await deps.run(`paseo logs ${quote(agentId)} --tail 1`, { cwd: root, timeoutMs: 30_000 });
177
+ return probe.exitCode === 0;
178
+ }
179
+ export async function inspectManagedPaseoAgent(root, agentId, deps = DEFAULT_DEPS) {
180
+ if (!forceCli()) {
181
+ try {
182
+ return await deps.sdk.inspect(root, agentId);
183
+ }
184
+ catch (error) {
185
+ if (!sdkCanFallback(error))
186
+ return undefined;
187
+ }
188
+ }
189
+ return (await listCliAgents(root, deps)).find((agent) => agent.id === agentId);
190
+ }
191
+ export async function listManagedPaseoAgents(root, labels = {}, deps = DEFAULT_DEPS) {
192
+ const trace = deps.trace ?? DEFAULT_DEPS.trace;
193
+ if (!forceCli()) {
194
+ try {
195
+ return await deps.sdk.list(root, labels);
196
+ }
197
+ catch (error) {
198
+ if (!sdkCanFallback(error))
199
+ throw error;
200
+ await trace(root, "agent.list.cli.required", { reason: errorMessage(error), labelCount: Object.keys(labels).length });
201
+ }
202
+ }
203
+ return (await listCliAgents(root, deps)).filter((agent) => Object.entries(labels).every(([key, value]) => agent.labels?.[key] === value));
204
+ }
205
+ async function ensurePreflight(root, options, deps) {
206
+ const native = deps.native ?? DEFAULT_DEPS.native;
207
+ const trace = deps.trace ?? DEFAULT_DEPS.trace;
208
+ try {
209
+ const result = await native.preflight(root, options.provider, options.model, options.cwd);
210
+ if (!result.ok) {
211
+ const available = result.availableModels?.length ? ` Available models: ${result.availableModels.join(", ")}.` : "";
212
+ throw new Error(`Paseo provider preflight failed: ${result.message}${available}`);
213
+ }
214
+ }
215
+ catch (error) {
216
+ if (sdkCanFallback(error))
217
+ await trace(root, "provider.preflight.skipped", { provider: options.provider, model: options.model ?? "", reason: errorMessage(error) });
218
+ else
219
+ throw error;
220
+ }
221
+ if (!options.modeId)
222
+ return;
223
+ if (options.modeSource === "aeh-managed") {
224
+ await trace(root, "provider.mode.preflight", { ok: true, provider: options.provider, modeId: options.modeId, source: "aeh-inline-config", message: "AEH injects this primary OpenCode agent through the session launch environment; ambient provider mode discovery is not authoritative for the dedicated helper." });
225
+ return;
226
+ }
227
+ const mode = await native.preflightMode(root, options.provider, options.modeId, options.cwd);
228
+ if (!mode.ok) {
229
+ const available = mode.availableModes.length ? ` Available modes: ${mode.availableModes.join(", ")}.` : "";
230
+ throw new Error(`Paseo mode preflight failed: ${mode.message}${available}`);
231
+ }
232
+ }
233
+ async function traceResolvedIdentity(root, options, trace) {
234
+ if (!options.modeId)
235
+ return;
236
+ await trace(root, "agent.identity", { provider: options.provider, model: options.model ?? "", modeId: options.modeId, source: options.modeSource ?? "provider-mode", sessionScopedEnv: options.env?.OPENCODE_CONFIG_CONTENT ? true : false });
237
+ }
238
+ async function launchCli(root, options, deps, fallbackReason) {
239
+ if (options.prompt === undefined && options.systemPrompt !== undefined)
240
+ throw new PaseoSdkUnavailableError(`Paseo SDK is required to create an idle systemPrompt-only agent. Refusing CLI fallback because it would expose session instructions as a user turn. ${fallbackReason}`);
241
+ if (options.env && Object.keys(options.env).length)
242
+ throw new PaseoSdkUnavailableError(`Paseo SDK is required for session-scoped launch environment used by provider ${options.provider}${options.modeId ? ` mode ${options.modeId}` : ""}. Refusing CLI fallback because dropping that environment could change the native execution identity or permissions. ${fallbackReason}`);
243
+ const capabilities = await deps.detectCapabilities(root, deps.run);
244
+ const prompt = options.prompt;
245
+ if (prompt === undefined)
246
+ throw new Error("Paseo CLI fallback requires a prompt.");
247
+ const timeout = options.timeoutSeconds ?? Math.max(1, Math.ceil((options.timeoutMs ?? 1_800_000) / 1000));
248
+ if (options.outputSchema) {
249
+ if (!capabilities.outputSchema)
250
+ throw new Error(`Installed Paseo${capabilities.version ? ` ${capabilities.version}` : ""} does not advertise --output-schema required by this agent.`);
251
+ const parts = ["paseo run --quiet", `--title ${quote(options.title)}`, `--provider ${quote(options.provider)}`];
252
+ if (options.workspaceId)
253
+ parts.push(`--workspace ${quote(options.workspaceId)}`);
254
+ if (options.model)
255
+ parts.push(`--model ${quote(options.model)}`);
256
+ parts.push(`--output-schema ${quote(JSON.stringify(options.outputSchema))}`, quote(prompt));
257
+ const result = await deps.run(parts.join(" "), { cwd: root, timeoutMs: timeout * 1000 });
258
+ return { exitCode: result.exitCode, stdout: result.stdout, stderr: [fallbackReason, result.stderr].filter(Boolean).join("\n"), status: result.exitCode === 0 ? "idle" : "failed", transport: "cli" };
259
+ }
260
+ const command = buildPaseoBackgroundRunCommand({ title: options.title, provider: options.provider, model: options.model, workspaceId: options.workspaceId, prompt }, capabilities);
261
+ const launch = await deps.run(command, { cwd: root, timeoutMs: 60_000 });
262
+ if (launch.exitCode !== 0)
263
+ return { exitCode: launch.exitCode, stdout: launch.stdout, stderr: [fallbackReason, launch.stderr].filter(Boolean).join("\n"), status: "failed", transport: "cli" };
264
+ const id = extractPaseoAgentId(launch.stdout);
265
+ if (!id)
266
+ return { exitCode: 1, stdout: launch.stdout, stderr: [fallbackReason, "Paseo returned no parseable agent id."].join("\n"), status: "failed", transport: "cli" };
267
+ const launched = { id, exitCode: 0, stdout: launch.stdout, stderr: launch.stderr, status: "working", workspaceId: options.workspaceId, transport: "cli" };
268
+ await registerManagedAgent(root, options, launched);
269
+ if (options.waitForFinish === false)
270
+ return launched;
271
+ const waited = await waitManagedPaseoAgent(root, id, timeout, deps);
272
+ return { ...waited, stderr: [fallbackReason, launch.stderr, waited.stderr].filter(Boolean).join("\n") };
273
+ }
274
+ async function registerManagedAgent(root, options, result) {
275
+ if (!result.id)
276
+ return;
277
+ const role = options.labels?.["aeh.role"];
278
+ if (!role)
279
+ return;
280
+ await registerCurrentOperationAgent(root, { id: result.id, role, phase: options.labels?.["aeh.operation.phase"], workspaceId: result.workspaceId ?? options.workspaceId, transport: result.transport });
281
+ }
282
+ async function listCliAgents(root, deps) {
283
+ const result = await deps.run("paseo ls -a -g --json", { cwd: root, timeoutMs: 30_000 });
284
+ if (result.exitCode !== 0 || !result.stdout.trim())
285
+ return [];
286
+ try {
287
+ const records = new Map();
288
+ collectCliAgents(JSON.parse(result.stdout), records);
289
+ return [...records.values()];
290
+ }
291
+ catch {
292
+ return [];
293
+ }
294
+ }
295
+ function collectCliAgents(value, out) {
296
+ if (Array.isArray(value)) {
297
+ for (const child of value)
298
+ collectCliAgents(child, out);
299
+ return;
300
+ }
301
+ if (!value || typeof value !== "object")
302
+ return;
303
+ const record = value;
304
+ const id = firstString(record, ["id", "agentId", "agent_id"]);
305
+ if (id && ("status" in record || "title" in record || "labels" in record))
306
+ out.set(id, { id, title: firstString(record, ["title", "name"]), status: statusText(record.status), workspaceId: firstString(record, ["workspaceId", "workspace_id"]), labels: stringRecord(record.labels), raw: record });
307
+ for (const child of Object.values(record))
308
+ collectCliAgents(child, out);
309
+ }
310
+ function forceCli() { return process.env.AEH_PASEO_FORCE_CLI === "1"; }
311
+ function sdkCanFallback(error) { return error instanceof PaseoSdkUnavailableError || (error instanceof Error && error.name === "PaseoSdkUnavailableError"); }
312
+ function timeoutMs(seconds) { return (seconds ?? 1800) * 1000; }
313
+ function secondsFromMs(ms) { return ms === undefined ? undefined : Math.max(1, Math.ceil(ms / 1000)); }
314
+ function fromSdk(result) { return { id: result.id, exitCode: sdkExitCode(result.status, result.error), stdout: result.lastMessage ?? "", stderr: result.error ?? "", status: result.status, workspaceId: result.workspaceId, transport: "sdk" }; }
315
+ function fromNativeWait(result) { return { id: result.id, exitCode: sdkExitCode(result.status, result.error), stdout: result.lastMessage ?? "", stderr: result.error ?? "", status: result.status, workspaceId: result.workspaceId, transport: "sdk", observation: "subscription" }; }
316
+ function sdkExitCode(status, error) { if (status === "timeout")
317
+ return 124; if (error)
318
+ return 1; if (status === "failed" || status === "error" || status === "cancelled")
319
+ return 1; return 0; }
320
+ function firstString(record, keys) { for (const key of keys)
321
+ if (typeof record[key] === "string" && record[key])
322
+ return record[key]; return undefined; }
323
+ function stringRecord(value) { if (!value || typeof value !== "object" || Array.isArray(value))
324
+ return undefined; const result = {}; for (const [key, item] of Object.entries(value))
325
+ if (typeof item === "string")
326
+ result[key] = item; return Object.keys(result).length ? result : undefined; }
327
+ function statusText(value) { if (typeof value === "string")
328
+ return value; if (value && typeof value === "object" && typeof value.status === "string")
329
+ return value.status; return undefined; }
330
+ function errorMessage(error) { return error instanceof Error ? error.message : String(error); }
331
+ function quote(value) { return `'${value.replaceAll("'", "'\\''")}'`; }
332
+ //# sourceMappingURL=runtimeCore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeCore.js","sourceRoot":"","sources":["../../src/paseo/runtimeCore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { launchManagedPaseoAgent as launchLegacyManagedPaseoAgent, type ManagedPaseoAgentOptions, type ManagedPaseoAgentResult } from "./runtimeCore.js";
2
+ type RuntimeDeps = Parameters<typeof launchLegacyManagedPaseoAgent>[2];
3
+ /**
4
+ * Managed AEH operation agents execute foreground initial Paseo turns through
5
+ * the same atomic turn primitive used by resumed sessions. The concrete agent
6
+ * is materialized and registered first, then run() executes the prompt, so a
7
+ * fast idle -> running -> idle cycle cannot finish before AEH observes it.
8
+ * Standalone runtime callers and explicit detached launches retain the legacy
9
+ * lifecycle for compatibility.
10
+ */
11
+ export declare function launchManagedPaseoAgent(root: string, options: ManagedPaseoAgentOptions, deps?: RuntimeDeps): Promise<ManagedPaseoAgentResult>;
12
+ export {};
@@ -0,0 +1,43 @@
1
+ import { PaseoSdkUnavailableError } from "./sdk.js";
2
+ import { continueManagedPaseoAgent, launchManagedPaseoAgent as launchLegacyManagedPaseoAgent, materializeManagedPaseoAgent } from "./runtimeCore.js";
3
+ /**
4
+ * Managed AEH operation agents execute foreground initial Paseo turns through
5
+ * the same atomic turn primitive used by resumed sessions. The concrete agent
6
+ * is materialized and registered first, then run() executes the prompt, so a
7
+ * fast idle -> running -> idle cycle cannot finish before AEH observes it.
8
+ * Standalone runtime callers and explicit detached launches retain the legacy
9
+ * lifecycle for compatibility.
10
+ */
11
+ export async function launchManagedPaseoAgent(root, options, deps) {
12
+ if (!isManagedForegroundTurn(options)) {
13
+ return launchLegacyManagedPaseoAgent(root, options, deps);
14
+ }
15
+ let materialized;
16
+ try {
17
+ materialized = await materializeManagedPaseoAgent(root, { ...options, prompt: undefined, waitForFinish: false }, deps);
18
+ }
19
+ catch (error) {
20
+ // Compatibility fallback is safe only before a semantic turn starts. Once
21
+ // materialization succeeds, never create a second agent for the same turn.
22
+ if (!isSdkUnavailable(error))
23
+ throw error;
24
+ return launchLegacyManagedPaseoAgent(root, options, deps);
25
+ }
26
+ if (!materialized.id)
27
+ return materialized;
28
+ return continueManagedPaseoAgent(root, materialized.id, options.prompt, options.timeoutSeconds ?? secondsFromMs(options.timeoutMs), deps, options.outputSchema);
29
+ }
30
+ function isManagedForegroundTurn(options) {
31
+ return options.prompt !== undefined &&
32
+ options.waitForFinish !== false &&
33
+ Boolean(options.labels?.["aeh.operation"]?.trim()) &&
34
+ Boolean(options.labels?.["aeh.role"]?.trim());
35
+ }
36
+ function isSdkUnavailable(error) {
37
+ return error instanceof PaseoSdkUnavailableError ||
38
+ (error instanceof Error && error.name === "PaseoSdkUnavailableError");
39
+ }
40
+ function secondsFromMs(ms) {
41
+ return ms === undefined ? undefined : Math.max(1, Math.ceil(ms / 1000));
42
+ }
43
+ //# sourceMappingURL=runtimeInitialTurn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimeInitialTurn.js","sourceRoot":"","sources":["../../src/paseo/runtimeInitialTurn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACpD,OAAO,EACL,yBAAyB,EACzB,uBAAuB,IAAI,6BAA6B,EACxD,4BAA4B,EAG7B,MAAM,kBAAkB,CAAC;AAI1B;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,IAAY,EACZ,OAAiC,EACjC,IAAkB;IAElB,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,6BAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,YAAqC,CAAC;IAC1C,IAAI,CAAC;QACH,YAAY,GAAG,MAAM,4BAA4B,CAC/C,IAAI,EACJ,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,EACvD,IAAI,CACL,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,0EAA0E;QAC1E,2EAA2E;QAC3E,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;YAAE,MAAM,KAAK,CAAC;QAC1C,OAAO,6BAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,EAAE;QAAE,OAAO,YAAY,CAAC;IAC1C,OAAO,yBAAyB,CAC9B,IAAI,EACJ,YAAY,CAAC,EAAE,EACf,OAAO,CAAC,MAAO,EACf,OAAO,CAAC,cAAc,IAAI,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,EAC1D,IAAI,EACJ,OAAO,CAAC,YAAY,CACrB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAiC;IAChE,OAAO,OAAO,CAAC,MAAM,KAAK,SAAS;QACjC,OAAO,CAAC,aAAa,KAAK,KAAK;QAC/B,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,KAAK,YAAY,wBAAwB;QAC9C,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,0BAA0B,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,aAAa,CAAC,EAAW;IAChC,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;AAC1E,CAAC"}
@@ -22,7 +22,13 @@ export interface OpenSpecCompileResult {
22
22
  sourceSha256: string;
23
23
  validatorId: string;
24
24
  }
25
+ export interface OpenSpecPreflightResult {
26
+ version: string;
27
+ schema: string;
28
+ managerAgent: string;
29
+ }
25
30
  export declare function openSpecAuthoringConfig(config: HarnessProjectConfig): Required<Pick<OpenSpecAuthoringConfig, "provider" | "schema" | "managerAgent">>;
26
31
  export declare function openSpecChangeName(taskId: string): string;
32
+ export declare function preflightOpenSpec(root: string, config: HarnessProjectConfig, run?: typeof runProcess): Promise<OpenSpecPreflightResult>;
27
33
  export declare function prepareOpenSpecChange(root: string, config: HarnessProjectConfig, taskId: string, title: string, run?: typeof runProcess): Promise<OpenSpecPreparedChange>;
28
34
  export declare function compileOpenSpecChange(root: string, config: HarnessProjectConfig, taskId: string, title: string, changeName?: string, run?: typeof runProcess): Promise<OpenSpecCompileResult>;
@@ -4,6 +4,7 @@ import path from "node:path";
4
4
  import YAML from "yaml";
5
5
  import { getCurrentBranch } from "../core/git.js";
6
6
  import { runProcess } from "../utils/process.js";
7
+ const OPENSPEC_ENV = { OPENSPEC_NO_ANIMATION: "1", OPENSPEC_NO_UPDATE_CHECK: "1" };
7
8
  export function openSpecAuthoringConfig(config) {
8
9
  const authoring = config.sdd?.authoring;
9
10
  return { provider: authoring?.provider ?? "openspec", schema: authoring?.schema ?? "spec-driven", managerAgent: authoring?.managerAgent ?? "spec-manager" };
@@ -14,6 +15,29 @@ export function openSpecChangeName(taskId) {
14
15
  throw new Error("Task id cannot be converted to a valid OpenSpec change name.");
15
16
  return normalized;
16
17
  }
18
+ export async function preflightOpenSpec(root, config, run = runProcess) {
19
+ const settings = openSpecAuthoringConfig(config);
20
+ if (settings.provider !== "openspec")
21
+ throw new Error(`Configured SDD authoring provider is '${settings.provider}', not openspec.`);
22
+ const options = { cwd: root, timeoutMs: 30_000, env: OPENSPEC_ENV };
23
+ const version = await run("openspec --version", options);
24
+ if (version.exitCode !== 0)
25
+ throw new Error(`OPENSPEC_UNAVAILABLE: ${version.stderr || version.stdout || "openspec --version failed"}`);
26
+ const createHelp = await run("openspec new change --help", options);
27
+ if (createHelp.exitCode !== 0)
28
+ throw new Error(`OPENSPEC_CAPABILITY_UNAVAILABLE: 'openspec new change' is unavailable: ${createHelp.stderr || createHelp.stdout}`);
29
+ const createText = `${createHelp.stdout}\n${createHelp.stderr}`;
30
+ for (const flag of ["--schema", "--description"]) {
31
+ if (!createText.includes(flag))
32
+ throw new Error(`OPENSPEC_CAPABILITY_UNAVAILABLE: 'openspec new change' does not advertise required option ${flag}.`);
33
+ }
34
+ const validateHelp = await run("openspec validate --help", options);
35
+ if (validateHelp.exitCode !== 0)
36
+ throw new Error(`OPENSPEC_CAPABILITY_UNAVAILABLE: 'openspec validate' is unavailable: ${validateHelp.stderr || validateHelp.stdout}`);
37
+ if (!`${validateHelp.stdout}\n${validateHelp.stderr}`.includes("--strict"))
38
+ throw new Error("OPENSPEC_CAPABILITY_UNAVAILABLE: 'openspec validate' does not advertise required option --strict.");
39
+ return { version: firstLine(version.stdout || version.stderr) || "unknown", schema: settings.schema, managerAgent: settings.managerAgent };
40
+ }
17
41
  export async function prepareOpenSpecChange(root, config, taskId, title, run = runProcess) {
18
42
  const settings = openSpecAuthoringConfig(config);
19
43
  if (settings.provider !== "openspec")
@@ -25,8 +49,8 @@ export async function prepareOpenSpecChange(root, config, taskId, title, run = r
25
49
  await fs.access(directory);
26
50
  }
27
51
  catch {
28
- const command = `openspec new change ${quote(changeName)} --schema ${quote(settings.schema)} --description ${quote(title)} --json`;
29
- const result = await run(command, { cwd: root, timeoutMs: 60_000, env: { OPENSPEC_NO_ANIMATION: "1", OPENSPEC_NO_UPDATE_CHECK: "1" } });
52
+ const command = `openspec new change ${quote(changeName)} --schema ${quote(settings.schema)} --description ${quote(title)}`;
53
+ const result = await run(command, { cwd: root, timeoutMs: 60_000, env: OPENSPEC_ENV });
30
54
  if (result.exitCode !== 0)
31
55
  throw new Error(`OpenSpec failed to create change '${changeName}': ${result.stderr || result.stdout}`);
32
56
  created = true;
@@ -35,7 +59,7 @@ export async function prepareOpenSpecChange(root, config, taskId, title, run = r
35
59
  }
36
60
  export async function compileOpenSpecChange(root, config, taskId, title, changeName = openSpecChangeName(taskId), run = runProcess) {
37
61
  const changeDir = path.join(root, "openspec", "changes", changeName);
38
- const validation = await run(`openspec validate ${quote(changeName)} --strict --json`, { cwd: root, timeoutMs: 60_000, env: { OPENSPEC_NO_ANIMATION: "1", OPENSPEC_NO_UPDATE_CHECK: "1" } });
62
+ const validation = await run(`openspec validate ${quote(changeName)} --strict`, { cwd: root, timeoutMs: 60_000, env: OPENSPEC_ENV });
39
63
  if (validation.exitCode !== 0)
40
64
  throw new Error(`OpenSpec change '${changeName}' is not valid and cannot be compiled into AEH normative artifacts: ${validation.stderr || validation.stdout}`);
41
65
  const proposal = await readOptional(path.join(changeDir, "proposal.md"));
@@ -174,6 +198,7 @@ async function collectAllFiles(dir) { const result = []; async function visit(cu
174
198
  result.push(full);
175
199
  } } await visit(dir); return result.sort(); }
176
200
  async function readOptional(file) { return fs.readFile(file, "utf8").catch(() => ""); }
201
+ function firstLine(value) { return value.split(/\r?\n/).map((item) => item.trim()).find(Boolean) ?? ""; }
177
202
  function relative(root, file) { return path.relative(root, file).replaceAll("\\", "/"); }
178
203
  function quote(value) { return `'${value.replaceAll("'", "'\\''")}'`; }
179
204
  //# sourceMappingURL=openspec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openspec.js","sourceRoot":"","sources":["../../src/spec/openspec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openspec.js","sourceRoot":"","sources":["../../src/spec/openspec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-engineering-harness",
3
- "version": "0.6.24",
3
+ "version": "0.6.26",
4
4
  "description": "OSS-first engineering harness for deterministic, spec-driven, issue-driven, audit-governed and orchestration-first multi-agent software delivery.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -27,6 +27,9 @@
27
27
  "permissions": { "read": "allow", "write": "deny", "shell": "allow", "network": "deny", "delegate": "allow", "review": "allow", "validate": "deny", "gitWrite": "deny" },
28
28
  "outputContract": "supervisor"
29
29
  },
30
+ "explorer": {
31
+ "outputContract": "explorer"
32
+ },
30
33
  "planner": {
31
34
  "description": "Produce a read-only delegation DAG and triage evidence. Use explorer/Graphify evidence supplied to you; do not implement, author specifications, repair the environment, or run broad validation. Return bounded scope, dependencies, risks, reviewers and validators to the operation supervisor/Harness.",
32
35
  "execution": { "model": "@brain" },
@@ -91,7 +94,7 @@
91
94
  "temperature": 0.1,
92
95
  "skills": ["openspec-authoring", "acceptance-traceability", "verification-planning"],
93
96
  "permissions": { "read": "allow", "write": "allow", "shell": "allow", "network": "deny", "delegate": "allow", "review": "deny", "validate": "deny", "gitWrite": "deny" },
94
- "outputContract": "planner"
97
+ "outputContract": "spec-authoring"
95
98
  }
96
99
  },
97
100
  "profiles": {