agentic-engineering-harness 0.6.14 → 0.6.16
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/liveness.d.ts +1 -35
- package/dist/operations/liveness.js +1 -307
- package/dist/operations/liveness.js.map +1 -1
- package/dist/operations/livenessV2.d.ts +34 -0
- package/dist/operations/livenessV2.js +339 -0
- package/dist/operations/livenessV2.js.map +1 -0
- package/dist/operations/mcp.d.ts +1 -0
- package/dist/operations/mcp.js +13 -3
- package/dist/operations/mcp.js.map +1 -1
- package/dist/operations/state.d.ts +9 -1
- package/dist/operations/state.js +21 -92
- package/dist/operations/state.js.map +1 -1
- package/dist/operations/supervisor.d.ts +1 -0
- package/dist/operations/supervisor.js +130 -55
- package/dist/operations/supervisor.js.map +1 -1
- package/dist/operations/wakeBudget.d.ts +15 -0
- package/dist/operations/wakeBudget.js +142 -0
- package/dist/operations/wakeBudget.js.map +1 -0
- package/dist/paseo/runtime.d.ts +1 -1
- package/dist/paseo/runtime.js +85 -324
- package/dist/paseo/runtime.js.map +1 -1
- package/dist/paseo/sdk.d.ts +5 -0
- package/dist/paseo/sdk.js +23 -4
- package/dist/paseo/sdk.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export type DurableWakeTarget = "lead" | "supervisor";
|
|
2
|
+
export type DurableWakeReason = "progress" | "blocked" | "stalled" | "terminal";
|
|
3
|
+
export interface OperationWakeBudget {
|
|
4
|
+
version: 1;
|
|
5
|
+
operationId: string;
|
|
6
|
+
revision: number;
|
|
7
|
+
supervisorAccepted: number;
|
|
8
|
+
leadAccepted: number;
|
|
9
|
+
terminalLeadAccepted: number;
|
|
10
|
+
updatedAt: string;
|
|
11
|
+
lastAcceptedAt?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function operationWakeBudgetFile(root: string, operationId: string): string;
|
|
14
|
+
export declare function loadOperationWakeBudget(root: string, operationId: string, revision: number): Promise<OperationWakeBudget>;
|
|
15
|
+
export declare function recordOperationWakeAccepted(root: string, operationId: string, revision: number, target: DurableWakeTarget, reason: DurableWakeReason): Promise<OperationWakeBudget>;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import crypto from "node:crypto";
|
|
2
|
+
import fs from "node:fs/promises";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { resolveOperationStateRoot } from "./state.js";
|
|
5
|
+
const LOCK_RETRY_MS = 20;
|
|
6
|
+
const LOCK_TIMEOUT_MS = 5_000;
|
|
7
|
+
const STALE_LOCK_MS = 30_000;
|
|
8
|
+
export function operationWakeBudgetFile(root, operationId) {
|
|
9
|
+
return path.resolve(resolveOperationStateRoot(root), ".harness/operations", `${safeId(operationId)}.wake.json`);
|
|
10
|
+
}
|
|
11
|
+
export async function loadOperationWakeBudget(root, operationId, revision) {
|
|
12
|
+
try {
|
|
13
|
+
const parsed = JSON.parse(await fs.readFile(operationWakeBudgetFile(root, operationId), "utf8"));
|
|
14
|
+
if (parsed.version !== 1 || parsed.operationId !== operationId || parsed.revision !== revision)
|
|
15
|
+
return empty(operationId, revision);
|
|
16
|
+
return {
|
|
17
|
+
...parsed,
|
|
18
|
+
supervisorAccepted: count(parsed.supervisorAccepted),
|
|
19
|
+
leadAccepted: count(parsed.leadAccepted),
|
|
20
|
+
terminalLeadAccepted: count(parsed.terminalLeadAccepted)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
if (isMissing(error))
|
|
25
|
+
return empty(operationId, revision);
|
|
26
|
+
throw error;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export async function recordOperationWakeAccepted(root, operationId, revision, target, reason) {
|
|
30
|
+
const file = operationWakeBudgetFile(root, operationId);
|
|
31
|
+
await fs.mkdir(path.dirname(file), { recursive: true });
|
|
32
|
+
return withLock(file, async () => {
|
|
33
|
+
const previous = await loadUnlocked(file, operationId, revision);
|
|
34
|
+
const now = new Date().toISOString();
|
|
35
|
+
const next = {
|
|
36
|
+
...previous,
|
|
37
|
+
supervisorAccepted: previous.supervisorAccepted + (target === "supervisor" ? 1 : 0),
|
|
38
|
+
leadAccepted: previous.leadAccepted + (target === "lead" ? 1 : 0),
|
|
39
|
+
terminalLeadAccepted: previous.terminalLeadAccepted + (target === "lead" && reason === "terminal" ? 1 : 0),
|
|
40
|
+
updatedAt: now,
|
|
41
|
+
lastAcceptedAt: now
|
|
42
|
+
};
|
|
43
|
+
await writeAtomic(file, next);
|
|
44
|
+
return next;
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async function loadUnlocked(file, operationId, revision) {
|
|
48
|
+
try {
|
|
49
|
+
const parsed = JSON.parse(await fs.readFile(file, "utf8"));
|
|
50
|
+
if (parsed.version !== 1 || parsed.operationId !== operationId || parsed.revision !== revision)
|
|
51
|
+
return empty(operationId, revision);
|
|
52
|
+
return {
|
|
53
|
+
...parsed,
|
|
54
|
+
supervisorAccepted: count(parsed.supervisorAccepted),
|
|
55
|
+
leadAccepted: count(parsed.leadAccepted),
|
|
56
|
+
terminalLeadAccepted: count(parsed.terminalLeadAccepted)
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
catch (error) {
|
|
60
|
+
if (isMissing(error))
|
|
61
|
+
return empty(operationId, revision);
|
|
62
|
+
throw error;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function empty(operationId, revision) {
|
|
66
|
+
return {
|
|
67
|
+
version: 1,
|
|
68
|
+
operationId,
|
|
69
|
+
revision,
|
|
70
|
+
supervisorAccepted: 0,
|
|
71
|
+
leadAccepted: 0,
|
|
72
|
+
terminalLeadAccepted: 0,
|
|
73
|
+
updatedAt: new Date().toISOString()
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
async function writeAtomic(file, budget) {
|
|
77
|
+
const temp = `${file}.${process.pid}.${crypto.randomUUID()}.tmp`;
|
|
78
|
+
await fs.writeFile(temp, `${JSON.stringify(budget, null, 2)}\n`);
|
|
79
|
+
try {
|
|
80
|
+
await fs.rename(temp, file);
|
|
81
|
+
}
|
|
82
|
+
finally {
|
|
83
|
+
await fs.rm(temp, { force: true }).catch(() => undefined);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
async function withLock(file, action) {
|
|
87
|
+
const lock = `${file}.lock`;
|
|
88
|
+
const deadline = Date.now() + LOCK_TIMEOUT_MS;
|
|
89
|
+
for (;;) {
|
|
90
|
+
let handle;
|
|
91
|
+
try {
|
|
92
|
+
handle = await fs.open(lock, "wx");
|
|
93
|
+
try {
|
|
94
|
+
await handle.writeFile(`${process.pid}\n`);
|
|
95
|
+
return await action();
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
await handle.close().catch(() => undefined);
|
|
99
|
+
await fs.rm(lock, { force: true }).catch(() => undefined);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
if (handle)
|
|
104
|
+
throw error;
|
|
105
|
+
if (!isAlreadyExists(error))
|
|
106
|
+
throw error;
|
|
107
|
+
if (await canRecoverLock(lock)) {
|
|
108
|
+
await fs.rm(lock, { force: true }).catch(() => undefined);
|
|
109
|
+
continue;
|
|
110
|
+
}
|
|
111
|
+
if (Date.now() >= deadline)
|
|
112
|
+
throw new Error(`Timed out acquiring wake budget lock for ${path.basename(file)}.`);
|
|
113
|
+
await delay(LOCK_RETRY_MS);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
async function canRecoverLock(lock) {
|
|
118
|
+
try {
|
|
119
|
+
const [rawPid, stat] = await Promise.all([fs.readFile(lock, "utf8").catch(() => ""), fs.stat(lock)]);
|
|
120
|
+
const ownerPid = Number.parseInt(rawPid.trim(), 10);
|
|
121
|
+
if (Number.isInteger(ownerPid) && ownerPid > 0 && !processAlive(ownerPid))
|
|
122
|
+
return true;
|
|
123
|
+
return Date.now() - stat.mtimeMs > STALE_LOCK_MS;
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
return true;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function processAlive(pid) { try {
|
|
130
|
+
process.kill(pid, 0);
|
|
131
|
+
return true;
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
return false;
|
|
135
|
+
} }
|
|
136
|
+
function count(value) { return typeof value === "number" && Number.isFinite(value) && value >= 0 ? Math.floor(value) : 0; }
|
|
137
|
+
function safeId(value) { if (!/^[A-Za-z0-9._-]+$/.test(value))
|
|
138
|
+
throw new Error(`Invalid operation id '${value}'.`); return value; }
|
|
139
|
+
function isMissing(error) { return Boolean(error && typeof error === "object" && "code" in error && error.code === "ENOENT"); }
|
|
140
|
+
function isAlreadyExists(error) { return Boolean(error && typeof error === "object" && "code" in error && error.code === "EEXIST"); }
|
|
141
|
+
function delay(ms) { return new Promise((resolve) => setTimeout(resolve, ms)); }
|
|
142
|
+
//# sourceMappingURL=wakeBudget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wakeBudget.js","sourceRoot":"","sources":["../../src/operations/wakeBudget.ts"],"names":[],"mappings":"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"}
|
package/dist/paseo/runtime.d.ts
CHANGED
|
@@ -17,7 +17,7 @@ export interface ManagedPaseoAgentResult {
|
|
|
17
17
|
status?: string;
|
|
18
18
|
workspaceId?: string;
|
|
19
19
|
transport: "sdk" | "cli";
|
|
20
|
-
observation?: "subscription" | "sdk-wait" | "cli-wait";
|
|
20
|
+
observation?: "subscription" | "sdk-run" | "sdk-wait" | "cli-wait";
|
|
21
21
|
}
|
|
22
22
|
interface PaseoRuntimeDeps {
|
|
23
23
|
run: typeof runProcess;
|