agentic-engineering-harness 0.6.8 → 0.6.9
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/operations/completion.d.ts +26 -0
- package/dist/operations/completion.js +152 -0
- package/dist/operations/completion.js.map +1 -0
- package/dist/operations/controller.d.ts +3 -0
- package/dist/operations/controller.js +38 -9
- package/dist/operations/controller.js.map +1 -1
- package/dist/operations/mcp.js +23 -9
- package/dist/operations/mcp.js.map +1 -1
- package/dist/operations/state.d.ts +14 -0
- package/dist/operations/state.js +26 -0
- package/dist/operations/state.js.map +1 -1
- package/dist/paseo/native.d.ts +6 -2
- package/dist/paseo/native.js +26 -10
- package/dist/paseo/native.js.map +1 -1
- package/dist/paseo/runtime.d.ts +3 -2
- package/dist/paseo/runtime.js +27 -8
- package/dist/paseo/runtime.js.map +1 -1
- package/dist/paseo/start.d.ts +1 -1
- package/dist/paseo/start.js +4 -2
- package/dist/paseo/start.js.map +1 -1
- package/docs/PASEO_NATIVE.md +53 -4
- package/package.json +1 -1
- package/skills/engineering-workflow/SKILL.md +22 -12
- package/skills/paseo-orchestration/SKILL.md +19 -2
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { dispatchManagedPaseoAgent } from "../paseo/runtime.js";
|
|
2
|
+
import { recordPaseoTrace } from "../paseo/trace.js";
|
|
3
|
+
import type { OperationRecord } from "./state.js";
|
|
4
|
+
export type OperationCompletionStatus = "PENDING" | "SENT" | "FAILED" | "DISABLED";
|
|
5
|
+
export interface OperationCompletionTarget {
|
|
6
|
+
version: 1;
|
|
7
|
+
operationId: string;
|
|
8
|
+
agentId: string;
|
|
9
|
+
source?: string;
|
|
10
|
+
status: OperationCompletionStatus;
|
|
11
|
+
registeredAt: string;
|
|
12
|
+
attemptedAt?: string;
|
|
13
|
+
sentAt?: string;
|
|
14
|
+
failedAt?: string;
|
|
15
|
+
error?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface OperationCompletionDeps {
|
|
18
|
+
dispatch?: typeof dispatchManagedPaseoAgent;
|
|
19
|
+
trace?: typeof recordPaseoTrace;
|
|
20
|
+
}
|
|
21
|
+
export declare function operationCompletionFile(root: string, operationId: string): string;
|
|
22
|
+
export declare function registerOperationCompletionTarget(root: string, operationId: string, agentId: string, source?: string, trace?: typeof recordPaseoTrace): Promise<OperationCompletionTarget>;
|
|
23
|
+
export declare function disableOperationCompletionTarget(root: string, operationId: string, reason: string, trace?: typeof recordPaseoTrace): Promise<void>;
|
|
24
|
+
export declare function loadOperationCompletionTarget(root: string, operationId: string): Promise<OperationCompletionTarget | undefined>;
|
|
25
|
+
export declare function notifyOperationCompletion(root: string, operation: OperationRecord, deps?: OperationCompletionDeps): Promise<OperationCompletionTarget | undefined>;
|
|
26
|
+
export declare function completionPrompt(operation: OperationRecord): string;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { dispatchManagedPaseoAgent } from "../paseo/runtime.js";
|
|
4
|
+
import { recordPaseoTrace } from "../paseo/trace.js";
|
|
5
|
+
export function operationCompletionFile(root, operationId) {
|
|
6
|
+
return path.resolve(root, ".harness/operations", `${safeId(operationId)}.completion.json`);
|
|
7
|
+
}
|
|
8
|
+
export async function registerOperationCompletionTarget(root, operationId, agentId, source, trace = recordPaseoTrace) {
|
|
9
|
+
const target = {
|
|
10
|
+
version: 1,
|
|
11
|
+
operationId,
|
|
12
|
+
agentId: requiredId(agentId, "agent id"),
|
|
13
|
+
source,
|
|
14
|
+
status: "PENDING",
|
|
15
|
+
registeredAt: new Date().toISOString()
|
|
16
|
+
};
|
|
17
|
+
await persist(root, target);
|
|
18
|
+
await trace(root, "operation.callback.registered", {
|
|
19
|
+
operationId,
|
|
20
|
+
agentId: target.agentId,
|
|
21
|
+
source: source ?? "unknown"
|
|
22
|
+
});
|
|
23
|
+
return target;
|
|
24
|
+
}
|
|
25
|
+
export async function disableOperationCompletionTarget(root, operationId, reason, trace = recordPaseoTrace) {
|
|
26
|
+
const target = await loadOperationCompletionTarget(root, operationId);
|
|
27
|
+
if (!target || target.status === "SENT")
|
|
28
|
+
return;
|
|
29
|
+
const disabled = {
|
|
30
|
+
...target,
|
|
31
|
+
status: "DISABLED",
|
|
32
|
+
attemptedAt: new Date().toISOString(),
|
|
33
|
+
error: reason
|
|
34
|
+
};
|
|
35
|
+
await persist(root, disabled);
|
|
36
|
+
await trace(root, "operation.callback.disabled", {
|
|
37
|
+
operationId,
|
|
38
|
+
agentId: target.agentId,
|
|
39
|
+
reason
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export async function loadOperationCompletionTarget(root, operationId) {
|
|
43
|
+
try {
|
|
44
|
+
const value = JSON.parse(await fs.readFile(operationCompletionFile(root, operationId), "utf8"));
|
|
45
|
+
if (value.version !== 1 ||
|
|
46
|
+
value.operationId !== operationId ||
|
|
47
|
+
!value.agentId ||
|
|
48
|
+
!["PENDING", "SENT", "FAILED", "DISABLED"].includes(value.status)) {
|
|
49
|
+
throw new Error("invalid completion target record");
|
|
50
|
+
}
|
|
51
|
+
return value;
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
if (isMissing(error))
|
|
55
|
+
return undefined;
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export async function notifyOperationCompletion(root, operation, deps = {}) {
|
|
60
|
+
const target = await loadOperationCompletionTarget(root, operation.id);
|
|
61
|
+
if (!target || target.status === "SENT" || target.status === "DISABLED")
|
|
62
|
+
return target;
|
|
63
|
+
const dispatch = deps.dispatch ?? dispatchManagedPaseoAgent;
|
|
64
|
+
const trace = deps.trace ?? recordPaseoTrace;
|
|
65
|
+
const attemptedAt = new Date().toISOString();
|
|
66
|
+
try {
|
|
67
|
+
const result = await dispatch(root, target.agentId, completionPrompt(operation), 60);
|
|
68
|
+
if (result.exitCode !== 0) {
|
|
69
|
+
throw new Error(result.stderr || result.stdout || `Paseo dispatch exited with code ${result.exitCode}`);
|
|
70
|
+
}
|
|
71
|
+
const sent = {
|
|
72
|
+
...target,
|
|
73
|
+
status: "SENT",
|
|
74
|
+
attemptedAt,
|
|
75
|
+
sentAt: new Date().toISOString(),
|
|
76
|
+
error: undefined
|
|
77
|
+
};
|
|
78
|
+
await persist(root, sent);
|
|
79
|
+
await trace(root, "operation.callback.sent", {
|
|
80
|
+
operationId: operation.id,
|
|
81
|
+
operationStatus: operation.status,
|
|
82
|
+
agentId: target.agentId,
|
|
83
|
+
transport: result.transport,
|
|
84
|
+
resultPath: resultPath(operation) ?? ""
|
|
85
|
+
});
|
|
86
|
+
return sent;
|
|
87
|
+
}
|
|
88
|
+
catch (error) {
|
|
89
|
+
const failed = {
|
|
90
|
+
...target,
|
|
91
|
+
status: "FAILED",
|
|
92
|
+
attemptedAt,
|
|
93
|
+
failedAt: new Date().toISOString(),
|
|
94
|
+
error: error instanceof Error ? error.message : String(error)
|
|
95
|
+
};
|
|
96
|
+
await persist(root, failed);
|
|
97
|
+
await trace(root, "operation.callback.failed", {
|
|
98
|
+
operationId: operation.id,
|
|
99
|
+
operationStatus: operation.status,
|
|
100
|
+
agentId: target.agentId,
|
|
101
|
+
error: failed.error ?? "unknown"
|
|
102
|
+
});
|
|
103
|
+
return failed;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
export function completionPrompt(operation) {
|
|
107
|
+
const artifact = resultPath(operation);
|
|
108
|
+
const result = operation.result ? JSON.stringify(operation.result) : "{}";
|
|
109
|
+
return [
|
|
110
|
+
"[AEH_OPERATION_COMPLETED]",
|
|
111
|
+
`Detached AEH operation ${operation.id} (${operation.kind}) reached terminal state ${operation.status}.`,
|
|
112
|
+
"This is an internal AEH controller completion callback for the user request that launched this operation; it is not a new user task.",
|
|
113
|
+
"Do not start a duplicate AUDIT/RUN and do not restart the completed operation.",
|
|
114
|
+
`Use aeh_operation_status for ${operation.id} only if you need to refresh durable metadata.${artifact ? ` Read the authoritative artifact ${artifact}.` : ""}`,
|
|
115
|
+
"Continue and finish the original pending user-facing request now, using the durable operation result and artifacts as the source of truth.",
|
|
116
|
+
operation.error ? `Operation error: ${operation.error.split("\n", 1)[0]}` : `Operation result: ${result}`
|
|
117
|
+
].join("\n");
|
|
118
|
+
}
|
|
119
|
+
function resultPath(operation) {
|
|
120
|
+
const report = operation.result?.report;
|
|
121
|
+
return typeof report === "string" && report.trim() ? report.trim() : undefined;
|
|
122
|
+
}
|
|
123
|
+
async function persist(root, target) {
|
|
124
|
+
const file = operationCompletionFile(root, target.operationId);
|
|
125
|
+
await fs.mkdir(path.dirname(file), { recursive: true });
|
|
126
|
+
const temp = `${file}.${process.pid}.tmp`;
|
|
127
|
+
await fs.writeFile(temp, `${JSON.stringify(target, null, 2)}\n`);
|
|
128
|
+
try {
|
|
129
|
+
await fs.rename(temp, file);
|
|
130
|
+
}
|
|
131
|
+
finally {
|
|
132
|
+
await fs.rm(temp, { force: true }).catch(() => undefined);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
function requiredId(value, name) {
|
|
136
|
+
const trimmed = value.trim();
|
|
137
|
+
if (!trimmed)
|
|
138
|
+
throw new Error(`${name} is required.`);
|
|
139
|
+
return trimmed;
|
|
140
|
+
}
|
|
141
|
+
function safeId(value) {
|
|
142
|
+
if (!/^[A-Za-z0-9._-]+$/.test(value))
|
|
143
|
+
throw new Error(`Invalid operation id '${value}'.`);
|
|
144
|
+
return value;
|
|
145
|
+
}
|
|
146
|
+
function isMissing(error) {
|
|
147
|
+
return Boolean(error &&
|
|
148
|
+
typeof error === "object" &&
|
|
149
|
+
"code" in error &&
|
|
150
|
+
error.code === "ENOENT");
|
|
151
|
+
}
|
|
152
|
+
//# sourceMappingURL=completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/operations/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,10 +6,13 @@ export interface StartOperationOptions {
|
|
|
6
6
|
nodeExecutable: string;
|
|
7
7
|
entryFile: string;
|
|
8
8
|
spawnProcess?: typeof spawn;
|
|
9
|
+
completionAgentId?: string;
|
|
10
|
+
completionSource?: string;
|
|
9
11
|
}
|
|
10
12
|
export interface OperationControllerDeps {
|
|
11
13
|
run?: typeof runProcess;
|
|
12
14
|
trace?: typeof recordPaseoTrace;
|
|
15
|
+
notifyCompletion?: (root: string, operation: OperationRecord) => Promise<unknown>;
|
|
13
16
|
}
|
|
14
17
|
export declare function startDetachedOperation(root: string, kind: OperationKind, payload: OperationPayload, options: StartOperationOptions): Promise<OperationRecord>;
|
|
15
18
|
export declare function executeOperation(root: string, operationId: string, deps?: OperationControllerDeps): Promise<OperationRecord>;
|
|
@@ -8,7 +8,8 @@ import { runTask } from "../core/run.js";
|
|
|
8
8
|
import { listManagedPaseoAgents } from "../paseo/runtime.js";
|
|
9
9
|
import { recordPaseoTrace } from "../paseo/trace.js";
|
|
10
10
|
import { runProcess } from "../utils/process.js";
|
|
11
|
-
import {
|
|
11
|
+
import { disableOperationCompletionTarget, notifyOperationCompletion, registerOperationCompletionTarget } from "./completion.js";
|
|
12
|
+
import { loadOperation, patchOperation, saveOperation, transitionOperationToTerminal } from "./state.js";
|
|
12
13
|
export async function startDetachedOperation(root, kind, payload, options) {
|
|
13
14
|
const absoluteRoot = path.resolve(root);
|
|
14
15
|
const now = new Date().toISOString();
|
|
@@ -25,6 +26,10 @@ export async function startDetachedOperation(root, kind, payload, options) {
|
|
|
25
26
|
updatedAt: now
|
|
26
27
|
};
|
|
27
28
|
await saveOperation(absoluteRoot, record);
|
|
29
|
+
const completionAgentId = options.completionAgentId?.trim() || process.env.PASEO_AGENT_ID?.trim() || undefined;
|
|
30
|
+
if (completionAgentId) {
|
|
31
|
+
await registerOperationCompletionTarget(absoluteRoot, id, completionAgentId, options.completionSource ?? (options.completionAgentId ? "explicit" : "environment"));
|
|
32
|
+
}
|
|
28
33
|
const spawnProcess = options.spawnProcess ?? spawn;
|
|
29
34
|
let child;
|
|
30
35
|
try {
|
|
@@ -40,6 +45,9 @@ export async function startDetachedOperation(root, kind, payload, options) {
|
|
|
40
45
|
});
|
|
41
46
|
}
|
|
42
47
|
catch (error) {
|
|
48
|
+
if (completionAgentId) {
|
|
49
|
+
await disableOperationCompletionTarget(absoluteRoot, id, `Detached controller spawn failed before the initiating tool returned: ${String(error)}`).catch(() => undefined);
|
|
50
|
+
}
|
|
43
51
|
return patchOperation(absoluteRoot, id, {
|
|
44
52
|
status: "FAILED",
|
|
45
53
|
phase: "spawn-failed",
|
|
@@ -92,7 +100,7 @@ export async function executeOperation(root, operationId, deps = {}) {
|
|
|
92
100
|
const current = await loadOperation(absoluteRoot, operationId);
|
|
93
101
|
if (current.status === "CANCELLED")
|
|
94
102
|
return current;
|
|
95
|
-
return
|
|
103
|
+
return terminalizeOperation(absoluteRoot, operationId, {
|
|
96
104
|
status: "SUCCEEDED",
|
|
97
105
|
phase: "finished",
|
|
98
106
|
finishedAt: new Date().toISOString(),
|
|
@@ -102,7 +110,7 @@ export async function executeOperation(root, operationId, deps = {}) {
|
|
|
102
110
|
productionSafe: report.productionSafe,
|
|
103
111
|
report: `.harness/audits/${report.auditId}.json`
|
|
104
112
|
}
|
|
105
|
-
});
|
|
113
|
+
}, deps);
|
|
106
114
|
}
|
|
107
115
|
const payload = record.payload;
|
|
108
116
|
const contract = await loadTaskContract(absoluteRoot, payload.taskId, config);
|
|
@@ -112,7 +120,7 @@ export async function executeOperation(root, operationId, deps = {}) {
|
|
|
112
120
|
const current = await loadOperation(absoluteRoot, operationId);
|
|
113
121
|
if (current.status === "CANCELLED")
|
|
114
122
|
return current;
|
|
115
|
-
return
|
|
123
|
+
return terminalizeOperation(absoluteRoot, operationId, {
|
|
116
124
|
status: result.status === "PASS" ? "SUCCEEDED" : "FAILED",
|
|
117
125
|
phase: "finished",
|
|
118
126
|
finishedAt: new Date().toISOString(),
|
|
@@ -121,18 +129,18 @@ export async function executeOperation(root, operationId, deps = {}) {
|
|
|
121
129
|
status: result.status,
|
|
122
130
|
attempts: result.attempts
|
|
123
131
|
}
|
|
124
|
-
});
|
|
132
|
+
}, deps);
|
|
125
133
|
}
|
|
126
134
|
catch (error) {
|
|
127
135
|
const current = await loadOperation(absoluteRoot, operationId).catch(() => record);
|
|
128
136
|
if (current.status === "CANCELLED")
|
|
129
137
|
return current;
|
|
130
|
-
return
|
|
138
|
+
return terminalizeOperation(absoluteRoot, operationId, {
|
|
131
139
|
status: "FAILED",
|
|
132
140
|
phase: "failed",
|
|
133
141
|
error: error instanceof Error ? error.stack ?? error.message : String(error),
|
|
134
142
|
finishedAt: new Date().toISOString()
|
|
135
|
-
});
|
|
143
|
+
}, deps);
|
|
136
144
|
}
|
|
137
145
|
}
|
|
138
146
|
export async function waitForOperation(root, operationId, timeoutMs = 1_800_000, pollMs = 500) {
|
|
@@ -218,12 +226,12 @@ export async function cancelOperation(root, operationId, deps = {}) {
|
|
|
218
226
|
cleanupWarnings.push(`agent ${agentId}: ${stopped.stderr || stopped.stdout || `exit ${stopped.exitCode}`}`);
|
|
219
227
|
}
|
|
220
228
|
}
|
|
221
|
-
return
|
|
229
|
+
return terminalizeOperation(absoluteRoot, operationId, {
|
|
222
230
|
status: "CANCELLED",
|
|
223
231
|
phase: "cancelled",
|
|
224
232
|
finishedAt: new Date().toISOString(),
|
|
225
233
|
cleanupWarnings: cleanupWarnings.length ? cleanupWarnings : undefined
|
|
226
|
-
});
|
|
234
|
+
}, deps);
|
|
227
235
|
}
|
|
228
236
|
export function createOperationId(kind, seed) {
|
|
229
237
|
const stamp = new Date()
|
|
@@ -233,6 +241,27 @@ export function createOperationId(kind, seed) {
|
|
|
233
241
|
const hash = crypto.createHash("sha256").update(seed).digest("hex").slice(0, 8);
|
|
234
242
|
return `${kind.toUpperCase()}-${stamp}-${hash}`;
|
|
235
243
|
}
|
|
244
|
+
async function terminalizeOperation(root, operationId, patch, deps) {
|
|
245
|
+
const { record: terminal, transitioned } = await transitionOperationToTerminal(root, operationId, patch);
|
|
246
|
+
if (!transitioned)
|
|
247
|
+
return terminal;
|
|
248
|
+
const trace = deps.trace ?? recordPaseoTrace;
|
|
249
|
+
try {
|
|
250
|
+
if (deps.notifyCompletion)
|
|
251
|
+
await deps.notifyCompletion(root, terminal);
|
|
252
|
+
else
|
|
253
|
+
await notifyOperationCompletion(root, terminal, { trace });
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
await trace(root, "operation.callback.failed", {
|
|
257
|
+
operationId,
|
|
258
|
+
operationStatus: terminal.status,
|
|
259
|
+
error: error instanceof Error ? error.message : String(error),
|
|
260
|
+
boundary: "controller"
|
|
261
|
+
}).catch(() => undefined);
|
|
262
|
+
}
|
|
263
|
+
return terminal;
|
|
264
|
+
}
|
|
236
265
|
async function ensureOperationWorkspace(root, record, run, trace) {
|
|
237
266
|
const title = `AEH ${record.kind.toUpperCase()} · ${record.id}`;
|
|
238
267
|
const command = `paseo workspace create --isolation local --path ${quote(root)} --title ${quote(title)} --json`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/operations/controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/operations/controller.ts"],"names":[],"mappings":"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"}
|
package/dist/operations/mcp.js
CHANGED
|
@@ -12,7 +12,7 @@ import { loadOperation } from "./state.js";
|
|
|
12
12
|
const tools = [
|
|
13
13
|
{
|
|
14
14
|
name: "aeh_operation_start_audit",
|
|
15
|
-
description: "Start a detached Harness AUDIT for this lead's fixed project root and return its durable operation record immediately.",
|
|
15
|
+
description: "Start a detached Harness AUDIT for this lead's fixed project root and return its durable operation record immediately. AEH registers this managed lead as the completion target and will send a controller callback when the operation becomes terminal; do not busy-poll status in the normal path.",
|
|
16
16
|
inputSchema: {
|
|
17
17
|
type: "object",
|
|
18
18
|
properties: {
|
|
@@ -28,7 +28,7 @@ const tools = [
|
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
name: "aeh_operation_start_run",
|
|
31
|
-
description: "Start detached execution of an already prepared/sealed AEH task in this lead's fixed project root and return its operation record immediately.",
|
|
31
|
+
description: "Start detached execution of an already prepared/sealed AEH task in this lead's fixed project root and return its operation record immediately. AEH registers this managed lead as the completion target and will send a controller callback when the operation becomes terminal; do not busy-poll status in the normal path.",
|
|
32
32
|
inputSchema: {
|
|
33
33
|
type: "object",
|
|
34
34
|
properties: { taskId: { type: "string" }, profile: { type: "string" } },
|
|
@@ -38,7 +38,7 @@ const tools = [
|
|
|
38
38
|
},
|
|
39
39
|
{
|
|
40
40
|
name: "aeh_operation_status",
|
|
41
|
-
description: "Read durable status/phase/result for an AEH operation in this lead's fixed project root
|
|
41
|
+
description: "Read durable status/phase/result for an AEH operation in this lead's fixed project root. Use for explicit diagnostics/manual inspection; normal managed-lead completion is callback-driven.",
|
|
42
42
|
inputSchema: {
|
|
43
43
|
type: "object",
|
|
44
44
|
properties: { operationId: { type: "string" } },
|
|
@@ -48,7 +48,7 @@ const tools = [
|
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
name: "aeh_operation_cancel",
|
|
51
|
-
description: "Cancel a running AEH operation in this lead's fixed project root and persist CANCELLED state.",
|
|
51
|
+
description: "Cancel a running AEH operation in this lead's fixed project root and persist CANCELLED state. A registered initiating lead is notified after cancellation completes.",
|
|
52
52
|
inputSchema: {
|
|
53
53
|
type: "object",
|
|
54
54
|
properties: { operationId: { type: "string" } },
|
|
@@ -93,7 +93,7 @@ async function handle(request) {
|
|
|
93
93
|
return {
|
|
94
94
|
protocolVersion: typeof request.params?.protocolVersion === "string" ? request.params.protocolVersion : "2025-06-18",
|
|
95
95
|
capabilities: { tools: {} },
|
|
96
|
-
serverInfo: { name: "aeh-operation-controller", version: "
|
|
96
|
+
serverInfo: { name: "aeh-operation-controller", version: "3" }
|
|
97
97
|
};
|
|
98
98
|
}
|
|
99
99
|
if (request.method === "ping")
|
|
@@ -109,6 +109,7 @@ async function callTool(params) {
|
|
|
109
109
|
const args = object(params.arguments);
|
|
110
110
|
const root = controlRoot();
|
|
111
111
|
if (name === "aeh_operation_start_audit") {
|
|
112
|
+
const identity = await resolveContextAgentIdentity(root);
|
|
112
113
|
const payload = {
|
|
113
114
|
request: string(args.request, "request"),
|
|
114
115
|
files: stringArray(args.files),
|
|
@@ -116,11 +117,24 @@ async function callTool(params) {
|
|
|
116
117
|
risk: risk(args.risk),
|
|
117
118
|
reviewers: stringArray(args.reviewers)
|
|
118
119
|
};
|
|
119
|
-
|
|
120
|
+
await recordPaseoTrace(root, "operation.callback.target", { kind: "audit", agentId: identity.agentId, source: identity.source });
|
|
121
|
+
return toolResult(await startDetachedOperation(root, "audit", payload, {
|
|
122
|
+
nodeExecutable: process.execPath,
|
|
123
|
+
entryFile: path.resolve(process.argv[1]),
|
|
124
|
+
completionAgentId: identity.agentId,
|
|
125
|
+
completionSource: identity.source
|
|
126
|
+
}));
|
|
120
127
|
}
|
|
121
128
|
if (name === "aeh_operation_start_run") {
|
|
129
|
+
const identity = await resolveContextAgentIdentity(root);
|
|
122
130
|
const payload = { taskId: string(args.taskId, "taskId"), profile: optionalString(args.profile) };
|
|
123
|
-
|
|
131
|
+
await recordPaseoTrace(root, "operation.callback.target", { kind: "run", agentId: identity.agentId, source: identity.source });
|
|
132
|
+
return toolResult(await startDetachedOperation(root, "run", payload, {
|
|
133
|
+
nodeExecutable: process.execPath,
|
|
134
|
+
entryFile: path.resolve(process.argv[1]),
|
|
135
|
+
completionAgentId: identity.agentId,
|
|
136
|
+
completionSource: identity.source
|
|
137
|
+
}));
|
|
124
138
|
}
|
|
125
139
|
if (name === "aeh_operation_status")
|
|
126
140
|
return toolResult(await loadOperation(root, string(args.operationId, "operationId")));
|
|
@@ -150,7 +164,7 @@ export async function resolveContextAgentIdentity(root, explicitAgentId, env = p
|
|
|
150
164
|
value = JSON.parse(await fs.readFile(stateFile, "utf8"));
|
|
151
165
|
}
|
|
152
166
|
catch (error) {
|
|
153
|
-
throw new Error(`
|
|
167
|
+
throw new Error(`AEH could not resolve the current managed lead agent: neither an explicit agentId nor PASEO_AGENT_ID is available, and ${stateFile} could not be read as durable lead state. Start a fresh managed lead with aeh start or pass agentId explicitly for diagnostics. (${error instanceof Error ? error.message : String(error)})`);
|
|
154
168
|
}
|
|
155
169
|
const state = object(value);
|
|
156
170
|
const agentId = optionalString(state.agentId);
|
|
@@ -173,7 +187,7 @@ export async function resolveContextAgentIdentity(root, explicitAgentId, env = p
|
|
|
173
187
|
if (!agentId)
|
|
174
188
|
mismatches.push("agentId is missing");
|
|
175
189
|
if (mismatches.length) {
|
|
176
|
-
throw new Error(`
|
|
190
|
+
throw new Error(`AEH refused incompatible durable lead state at ${stateFile}: ${mismatches.join("; ")}. Start a fresh managed lead with aeh start or pass agentId explicitly for diagnostics.`);
|
|
177
191
|
}
|
|
178
192
|
return { agentId: agentId, source: "lead-state" };
|
|
179
193
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/operations/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAwD,MAAM,YAAY,CAAC;AAOjG,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/operations/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,10 +40,24 @@ export interface OperationRecord {
|
|
|
40
40
|
result?: Record<string, unknown>;
|
|
41
41
|
error?: string;
|
|
42
42
|
}
|
|
43
|
+
export interface TerminalOperationTransition {
|
|
44
|
+
record: OperationRecord;
|
|
45
|
+
transitioned: boolean;
|
|
46
|
+
}
|
|
43
47
|
export declare function operationFile(root: string, operationId: string): string;
|
|
44
48
|
export declare function loadOperation(root: string, operationId: string): Promise<OperationRecord>;
|
|
45
49
|
export declare function saveOperation(root: string, record: OperationRecord): Promise<void>;
|
|
46
50
|
export declare function patchOperation(root: string, operationId: string, patch: Partial<OperationRecord>): Promise<OperationRecord>;
|
|
51
|
+
/**
|
|
52
|
+
* Atomically grants exactly one controller path ownership of a non-terminal ->
|
|
53
|
+
* terminal transition. Callers must perform one-shot terminal side effects
|
|
54
|
+
* (for example the managed-lead completion callback) only when transitioned is
|
|
55
|
+
* true. A concurrent cancel/execute path receives the already-terminal record
|
|
56
|
+
* without becoming a second side-effect owner.
|
|
57
|
+
*/
|
|
58
|
+
export declare function transitionOperationToTerminal(root: string, operationId: string, patch: Partial<OperationRecord> & {
|
|
59
|
+
status: "SUCCEEDED" | "FAILED" | "CANCELLED";
|
|
60
|
+
}): Promise<TerminalOperationTransition>;
|
|
47
61
|
export declare function registerOperationAgent(root: string, operationId: string, agent: Omit<OperationAgentRecord, "registeredAt">): Promise<OperationRecord>;
|
|
48
62
|
export declare function registerCurrentOperationAgent(root: string, agent: Omit<OperationAgentRecord, "registeredAt">): Promise<void>;
|
|
49
63
|
export declare function currentOperationContext(): {
|
package/dist/operations/state.js
CHANGED
|
@@ -22,6 +22,32 @@ export async function patchOperation(root, operationId, patch) {
|
|
|
22
22
|
return { ...current, ...guardedPatch };
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Atomically grants exactly one controller path ownership of a non-terminal ->
|
|
27
|
+
* terminal transition. Callers must perform one-shot terminal side effects
|
|
28
|
+
* (for example the managed-lead completion callback) only when transitioned is
|
|
29
|
+
* true. A concurrent cancel/execute path receives the already-terminal record
|
|
30
|
+
* without becoming a second side-effect owner.
|
|
31
|
+
*/
|
|
32
|
+
export async function transitionOperationToTerminal(root, operationId, patch) {
|
|
33
|
+
const file = operationFile(root, operationId);
|
|
34
|
+
await fs.mkdir(path.dirname(file), { recursive: true });
|
|
35
|
+
return withOperationLock(file, async () => {
|
|
36
|
+
const current = JSON.parse(await fs.readFile(file, "utf8"));
|
|
37
|
+
if (isTerminal(current.status))
|
|
38
|
+
return { record: current, transitioned: false };
|
|
39
|
+
const next = {
|
|
40
|
+
...current,
|
|
41
|
+
...patch,
|
|
42
|
+
id: current.id,
|
|
43
|
+
kind: current.kind,
|
|
44
|
+
version: 1,
|
|
45
|
+
updatedAt: new Date().toISOString()
|
|
46
|
+
};
|
|
47
|
+
await writeRecord(file, next);
|
|
48
|
+
return { record: next, transitioned: true };
|
|
49
|
+
});
|
|
50
|
+
}
|
|
25
51
|
export async function registerOperationAgent(root, operationId, agent) {
|
|
26
52
|
return mutateOperation(root, operationId, (current) => {
|
|
27
53
|
if (isTerminal(current.status))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/operations/state.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../src/operations/state.ts"],"names":[],"mappings":"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"}
|