@perkos/perkos-a2a 0.12.67 → 0.12.68
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/a2a-maintenance.d.ts +3 -5
- package/dist/a2a-maintenance.d.ts.map +1 -1
- package/dist/a2a-maintenance.js +37 -23
- package/dist/a2a-maintenance.js.map +1 -1
- package/dist/hermes-connect.d.ts +2 -0
- package/dist/hermes-connect.d.ts.map +1 -1
- package/dist/hermes-connect.js +11 -0
- package/dist/hermes-connect.js.map +1 -1
- package/dist/index.js +97 -31
- package/dist/index.js.map +4 -4
- package/dist/maintenance-result.d.ts +19 -0
- package/dist/maintenance-result.d.ts.map +1 -0
- package/dist/maintenance-result.js +38 -0
- package/dist/maintenance-result.js.map +1 -0
- package/dist/maintenance-runner.d.ts +15 -0
- package/dist/maintenance-runner.d.ts.map +1 -1
- package/dist/maintenance-runner.js +87 -62
- package/dist/maintenance-runner.js.map +1 -1
- package/dist/maintenance-runner.test.d.ts +2 -0
- package/dist/maintenance-runner.test.d.ts.map +1 -0
- package/dist/maintenance-runner.test.js +153 -0
- package/dist/maintenance-runner.test.js.map +1 -0
- package/dist/service-environment.d.ts +3 -0
- package/dist/service-environment.d.ts.map +1 -0
- package/dist/service-environment.js +8 -0
- package/dist/service-environment.js.map +1 -0
- package/docs/plans/2026-09-06-managed-hermes-service-path-design.md +38 -0
- package/openclaw.plugin.json +1 -1
- package/package.json +2 -1
|
@@ -13,14 +13,12 @@ export type MaintenanceJob = {
|
|
|
13
13
|
apiBaseUrl: string;
|
|
14
14
|
relayApiKey: string;
|
|
15
15
|
};
|
|
16
|
-
|
|
16
|
+
/** Private routing metadata is stored separately from sanitized result receipts. */
|
|
17
|
+
export type MaintenanceRouting = {
|
|
17
18
|
schemaVersion: 1;
|
|
18
19
|
requestId: string;
|
|
19
20
|
agentId: string;
|
|
20
21
|
apiBaseUrl: string;
|
|
21
|
-
state: "completed" | "failed";
|
|
22
|
-
installedVersion?: string;
|
|
23
|
-
errorCode?: string;
|
|
24
22
|
};
|
|
25
23
|
type ControlPlane = PlatformControlPlane;
|
|
26
24
|
export declare function parseA2AUpdateMarker(message: string): A2AUpdateMarker | null;
|
|
@@ -36,6 +34,6 @@ export declare function tryHandleA2AMaintenanceMarker(message: string, config: A
|
|
|
36
34
|
queue?: typeof queueHermesMaintenanceJob;
|
|
37
35
|
}): Promise<string | null>;
|
|
38
36
|
/** Retry durable, secret-free terminal receipts after a bridge restart. */
|
|
39
|
-
export declare function flushMaintenanceReceipts(config: A2APluginConfig): Promise<void>;
|
|
37
|
+
export declare function flushMaintenanceReceipts(config: A2APluginConfig, root?: string): Promise<void>;
|
|
40
38
|
export {};
|
|
41
39
|
//# sourceMappingURL=a2a-maintenance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a-maintenance.d.ts","sourceRoot":"","sources":["../src/a2a-maintenance.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"a2a-maintenance.d.ts","sourceRoot":"","sources":["../src/a2a-maintenance.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,2BAA2B,EAAE,KAAK,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAIrG,eAAO,MAAM,wBAAwB,EAAG,oBAA6B,CAAC;AAGtE,MAAM,MAAM,eAAe,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,CAAC,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,oFAAoF;AACpF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,CAAC,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,YAAY,GAAG,oBAAoB,CAAC;AAEzC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAQ5E;AAED,eAAO,MAAM,uBAAuB,oCAA8B,CAAC;AAqBnE,iBAAe,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,aAAa,EAAE,MAAM,CAAA;CAAE,CAAC,CAWjI;AAED,wBAAsB,yBAAyB,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBlF;AAED,oEAAoE;AACpE,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,eAAe,EACvB,IAAI,GAAE;IACJ,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,YAAY,CAAC;IAC5B,KAAK,CAAC,EAAE,OAAO,yBAAyB,CAAC;CACrC,GACL,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA0BxB;AAaD,2EAA2E;AAC3E,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BpG"}
|
package/dist/a2a-maintenance.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { readdir, readFile, unlink } from "node:fs/promises";
|
|
3
3
|
import { homedir } from "node:os";
|
|
4
|
-
import {
|
|
4
|
+
import { join } from "node:path";
|
|
5
5
|
import { fileURLToPath } from "node:url";
|
|
6
6
|
import { resolvePlatformControlPlane } from "./platform-control-plane.js";
|
|
7
|
+
import { serviceEnvironment } from "./service-environment.js";
|
|
8
|
+
import { atomicPrivateJson, maintenanceReportBody, parseMaintenanceResult, REQUEST_ID } from "./maintenance-result.js";
|
|
7
9
|
export const PERKOS_A2A_UPDATE_PREFIX = "PERKOS_A2A_UPDATE:";
|
|
8
|
-
const REQUEST_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
9
10
|
const BRIDGE_INSTANCE_ID = REQUEST_ID;
|
|
10
11
|
export function parseA2AUpdateMarker(message) {
|
|
11
12
|
const marker = message.trim();
|
|
@@ -21,13 +22,6 @@ export const maintenanceControlPlane = resolvePlatformControlPlane;
|
|
|
21
22
|
function maintenanceRoot(agentId) {
|
|
22
23
|
return join(homedir(), ".perkos", "a2a", "hermes", agentId, "maintenance");
|
|
23
24
|
}
|
|
24
|
-
async function atomicPrivateJson(path, value) {
|
|
25
|
-
await mkdir(dirname(path), { recursive: true, mode: 0o700 });
|
|
26
|
-
const temporary = `${path}.${process.pid}.tmp`;
|
|
27
|
-
await writeFile(temporary, `${JSON.stringify(value)}\n`, { mode: 0o600 });
|
|
28
|
-
await chmod(temporary, 0o600);
|
|
29
|
-
await rename(temporary, path);
|
|
30
|
-
}
|
|
31
25
|
async function authorizedJson(url, relayApiKey, init = {}) {
|
|
32
26
|
const response = await fetch(url, {
|
|
33
27
|
...init,
|
|
@@ -59,6 +53,15 @@ export async function queueHermesMaintenanceJob(job) {
|
|
|
59
53
|
const child = spawn(process.execPath, [runnerPath, "--job", jobPath], {
|
|
60
54
|
detached: true,
|
|
61
55
|
stdio: "ignore",
|
|
56
|
+
env: serviceEnvironment(),
|
|
57
|
+
});
|
|
58
|
+
// Do not acknowledge acceptance when the detached process failed to spawn.
|
|
59
|
+
await new Promise((resolve, reject) => {
|
|
60
|
+
child.once("spawn", resolve);
|
|
61
|
+
child.once("error", () => reject(new Error("runner_spawn_failed")));
|
|
62
|
+
}).catch(async () => {
|
|
63
|
+
await unlink(jobPath).catch(() => undefined);
|
|
64
|
+
throw new Error("runner_spawn_failed");
|
|
62
65
|
});
|
|
63
66
|
child.unref();
|
|
64
67
|
}
|
|
@@ -93,33 +96,44 @@ export async function tryHandleA2AMaintenanceMarker(message, config, deps = {})
|
|
|
93
96
|
return "PERKOS_A2A_UPDATE_FAILED:request_rejected";
|
|
94
97
|
}
|
|
95
98
|
}
|
|
96
|
-
async function reportReceipt(receipt, target) {
|
|
97
|
-
await authorizedJson(`${target.apiBaseUrl}/agents/${encodeURIComponent(target.agentId)}/maintenance/a2a-update/${
|
|
99
|
+
async function reportReceipt(requestId, receipt, target) {
|
|
100
|
+
await authorizedJson(`${target.apiBaseUrl}/agents/${encodeURIComponent(target.agentId)}/maintenance/a2a-update/${requestId}/report`, target.relayApiKey, {
|
|
98
101
|
method: "POST",
|
|
99
|
-
body: JSON.stringify(
|
|
100
|
-
state: receipt.state,
|
|
101
|
-
...(receipt.installedVersion ? { installedVersion: receipt.installedVersion } : {}),
|
|
102
|
-
...(receipt.errorCode ? { errorCode: receipt.errorCode } : {}),
|
|
103
|
-
}),
|
|
102
|
+
body: JSON.stringify(maintenanceReportBody(receipt)),
|
|
104
103
|
});
|
|
105
104
|
}
|
|
106
105
|
/** Retry durable, secret-free terminal receipts after a bridge restart. */
|
|
107
|
-
export async function flushMaintenanceReceipts(config) {
|
|
106
|
+
export async function flushMaintenanceReceipts(config, root) {
|
|
108
107
|
const target = maintenanceControlPlane(config);
|
|
109
108
|
if (!target)
|
|
110
109
|
return;
|
|
111
|
-
const
|
|
110
|
+
const privateRoot = root ?? maintenanceRoot(target.agentId);
|
|
111
|
+
const receiptsDir = join(privateRoot, "receipts");
|
|
112
112
|
const files = await readdir(receiptsDir).catch(() => []);
|
|
113
113
|
for (const file of files) {
|
|
114
|
-
if (!file.endsWith(".json"))
|
|
114
|
+
if (!file.endsWith(".json") || !REQUEST_ID.test(file.slice(0, -5)))
|
|
115
115
|
continue;
|
|
116
116
|
const path = join(receiptsDir, file);
|
|
117
117
|
try {
|
|
118
|
-
const
|
|
119
|
-
|
|
118
|
+
const stored = JSON.parse(await readFile(path, "utf8"));
|
|
119
|
+
const routingPath = join(privateRoot, "pending-reports", file);
|
|
120
|
+
const routing = stored.schemaVersion === 1 ? stored
|
|
121
|
+
: stored.schemaVersion === 2 ? JSON.parse(await readFile(routingPath, "utf8")) : null;
|
|
122
|
+
if (!routing || routing.agentId !== target.agentId || routing.apiBaseUrl !== target.apiBaseUrl
|
|
123
|
+
|| routing.requestId !== file.slice(0, -5))
|
|
124
|
+
continue;
|
|
125
|
+
const receipt = parseMaintenanceResult(stored);
|
|
126
|
+
if (!receipt)
|
|
120
127
|
continue;
|
|
121
|
-
|
|
128
|
+
// Migrate old receipts before attempting network I/O, even if reporting fails.
|
|
129
|
+
if (stored.schemaVersion === 1) {
|
|
130
|
+
await atomicPrivateJson(routingPath, { schemaVersion: 1, requestId: routing.requestId,
|
|
131
|
+
agentId: routing.agentId, apiBaseUrl: routing.apiBaseUrl });
|
|
132
|
+
await atomicPrivateJson(path, receipt);
|
|
133
|
+
}
|
|
134
|
+
await reportReceipt(file.slice(0, -5), receipt, target);
|
|
122
135
|
await unlink(path);
|
|
136
|
+
await unlink(routingPath).catch(() => undefined);
|
|
123
137
|
}
|
|
124
138
|
catch {
|
|
125
139
|
// Leave the receipt for the next heartbeat/startup retry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"a2a-maintenance.js","sourceRoot":"","sources":["../src/a2a-maintenance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"a2a-maintenance.js","sourceRoot":"","sources":["../src/a2a-maintenance.ts"],"names":[],"mappings":"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"}
|
package/dist/hermes-connect.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export declare class HermesConnectFailure extends Error {
|
|
|
6
6
|
readonly requiresProductFix: boolean;
|
|
7
7
|
constructor(code: string, message: string, phase: HermesConnectPhase, retryable?: boolean, requiresProductFix?: boolean);
|
|
8
8
|
}
|
|
9
|
+
/** Do not restart the bridge against a missing or unexpected installed artifact. */
|
|
10
|
+
export declare function verifyManagedBridgeVersion(bridgePath: string, expected: string): Promise<void>;
|
|
9
11
|
export type HermesConnectOptions = {
|
|
10
12
|
agentName: string;
|
|
11
13
|
agentId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-connect.d.ts","sourceRoot":"","sources":["../src/hermes-connect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hermes-connect.d.ts","sourceRoot":"","sources":["../src/hermes-connect.ts"],"names":[],"mappings":"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"}
|
package/dist/hermes-connect.js
CHANGED
|
@@ -4,6 +4,7 @@ import { access, chmod, copyFile, mkdir, readFile, rename, stat, writeFile, } fr
|
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
5
|
import { dirname, join } from "node:path";
|
|
6
6
|
import { promisify } from "node:util";
|
|
7
|
+
import { serviceEnvironment } from "./service-environment.js";
|
|
7
8
|
const execFileAsync = promisify(execFile);
|
|
8
9
|
const DEFAULT_RELAY_URL = "wss://transport.perkos.xyz/a2a";
|
|
9
10
|
const DEFAULT_CHAT_URL = "wss://chat.perkos.xyz/chat";
|
|
@@ -22,6 +23,14 @@ export class HermesConnectFailure extends Error {
|
|
|
22
23
|
this.name = "HermesConnectFailure";
|
|
23
24
|
}
|
|
24
25
|
}
|
|
26
|
+
/** Do not restart the bridge against a missing or unexpected installed artifact. */
|
|
27
|
+
export async function verifyManagedBridgeVersion(bridgePath, expected) {
|
|
28
|
+
const installed = await readFile(join(dirname(dirname(bridgePath)), "package.json"), "utf8")
|
|
29
|
+
.then((text) => JSON.parse(text)).catch(() => null);
|
|
30
|
+
if (installed?.version !== expected) {
|
|
31
|
+
throw new HermesConnectFailure("BRIDGE_VERSION_MISMATCH", "Installed bridge version does not match the update target.", "install-bridge", false, true);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
25
34
|
async function defaultRunner(file, args, timeoutMs = 120_000) {
|
|
26
35
|
try {
|
|
27
36
|
const result = await execFileAsync(file, args, {
|
|
@@ -143,6 +152,7 @@ export function renderHermesBridgeConfig(input) {
|
|
|
143
152
|
}
|
|
144
153
|
export function renderLaunchAgent(input) {
|
|
145
154
|
const env = {
|
|
155
|
+
PATH: serviceEnvironment(input.nodePath, {}).PATH,
|
|
146
156
|
PERKOS_AGENT_ID: input.agentId,
|
|
147
157
|
PERKOS_HEARTBEAT_URL: `${(input.apiUrl || DEFAULT_API_URL).replace(/\/+$/, "")}/agents/${input.agentId}/heartbeat`,
|
|
148
158
|
PERKOS_A2A_VERSION: input.version,
|
|
@@ -380,6 +390,7 @@ export async function connectHermes(options, runner = defaultRunner) {
|
|
|
380
390
|
if (!await pathExists(bridgePath)) {
|
|
381
391
|
throw new HermesConnectFailure("BRIDGE_INSTALL_MISSING", "The exact-version npm install did not contain the bridge entrypoint.", "install-bridge", false, true);
|
|
382
392
|
}
|
|
393
|
+
await verifyManagedBridgeVersion(bridgePath, version);
|
|
383
394
|
const ports = servicePorts(options.agentId);
|
|
384
395
|
await atomicPrivateWrite(configPath, renderHermesBridgeConfig({
|
|
385
396
|
agentName: options.agentName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes-connect.js","sourceRoot":"","sources":["../src/hermes-connect.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hermes-connect.js","sourceRoot":"","sources":["../src/hermes-connect.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18441,7 +18441,7 @@ var require_view = __commonJS({
|
|
|
18441
18441
|
var debug = require_src()("express:view");
|
|
18442
18442
|
var path = __require("path");
|
|
18443
18443
|
var fs = __require("fs");
|
|
18444
|
-
var
|
|
18444
|
+
var dirname6 = path.dirname;
|
|
18445
18445
|
var basename = path.basename;
|
|
18446
18446
|
var extname = path.extname;
|
|
18447
18447
|
var join8 = path.join;
|
|
@@ -18480,7 +18480,7 @@ var require_view = __commonJS({
|
|
|
18480
18480
|
for (var i = 0; i < roots.length && !path2; i++) {
|
|
18481
18481
|
var root = roots[i];
|
|
18482
18482
|
var loc = resolve4(root, name);
|
|
18483
|
-
var dir =
|
|
18483
|
+
var dir = dirname6(loc);
|
|
18484
18484
|
var file = basename(loc);
|
|
18485
18485
|
path2 = this.resolve(dir, file);
|
|
18486
18486
|
}
|
|
@@ -21908,7 +21908,7 @@ var require_response = __commonJS({
|
|
|
21908
21908
|
var encodeUrl = require_encodeurl();
|
|
21909
21909
|
var escapeHtml = require_escape_html();
|
|
21910
21910
|
var http = __require("http");
|
|
21911
|
-
var
|
|
21911
|
+
var isAbsolute2 = require_utils2().isAbsolute;
|
|
21912
21912
|
var onFinished = require_on_finished();
|
|
21913
21913
|
var path = __require("path");
|
|
21914
21914
|
var statuses = require_statuses();
|
|
@@ -22114,7 +22114,7 @@ var require_response = __commonJS({
|
|
|
22114
22114
|
done = options;
|
|
22115
22115
|
opts = {};
|
|
22116
22116
|
}
|
|
22117
|
-
if (!opts.root && !
|
|
22117
|
+
if (!opts.root && !isAbsolute2(path2)) {
|
|
22118
22118
|
throw new TypeError("path must be absolute or specify root to res.sendFile");
|
|
22119
22119
|
}
|
|
22120
22120
|
var pathname = encodeURI(path2);
|
|
@@ -27779,7 +27779,7 @@ var A2AServer = class {
|
|
|
27779
27779
|
// src/index.ts
|
|
27780
27780
|
import { randomUUID as randomUUID8 } from "crypto";
|
|
27781
27781
|
import { readFileSync as readFileSync5 } from "node:fs";
|
|
27782
|
-
import { dirname as
|
|
27782
|
+
import { dirname as dirname5, resolve as resolve3 } from "node:path";
|
|
27783
27783
|
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
27784
27784
|
|
|
27785
27785
|
// src/task-context.ts
|
|
@@ -29703,12 +29703,67 @@ async function tryHandleInstalledVoiceMarker(message, config, loadVoice = defaul
|
|
|
29703
29703
|
|
|
29704
29704
|
// src/a2a-maintenance.ts
|
|
29705
29705
|
import { spawn as spawn2 } from "node:child_process";
|
|
29706
|
-
import {
|
|
29706
|
+
import { readdir as readdir2, readFile as readFile3, unlink as unlink2 } from "node:fs/promises";
|
|
29707
29707
|
import { homedir as homedir5 } from "node:os";
|
|
29708
|
-
import {
|
|
29708
|
+
import { join as join6 } from "node:path";
|
|
29709
29709
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
29710
|
-
|
|
29710
|
+
|
|
29711
|
+
// src/service-environment.ts
|
|
29712
|
+
import { delimiter, dirname as dirname3, isAbsolute } from "node:path";
|
|
29713
|
+
function serviceEnvironment(nodePath = process.execPath, inherited = process.env) {
|
|
29714
|
+
const paths = [
|
|
29715
|
+
dirname3(nodePath),
|
|
29716
|
+
...(inherited.PATH ?? "").split(delimiter),
|
|
29717
|
+
"/usr/bin",
|
|
29718
|
+
"/bin",
|
|
29719
|
+
"/usr/sbin",
|
|
29720
|
+
"/sbin"
|
|
29721
|
+
];
|
|
29722
|
+
return { ...inherited, PATH: [...new Set(paths.filter(isAbsolute))].join(delimiter) };
|
|
29723
|
+
}
|
|
29724
|
+
|
|
29725
|
+
// src/maintenance-result.ts
|
|
29726
|
+
import { chmod, mkdir as mkdir3, rename as rename2, writeFile as writeFile2 } from "node:fs/promises";
|
|
29727
|
+
import { dirname as dirname4 } from "node:path";
|
|
29728
|
+
var MAINTENANCE_ERRORS = [
|
|
29729
|
+
"npx_unavailable",
|
|
29730
|
+
"npx_exec_failed",
|
|
29731
|
+
"invalid_update_receipt",
|
|
29732
|
+
"update_failed",
|
|
29733
|
+
"managed_install_not_found",
|
|
29734
|
+
"managed_config_invalid",
|
|
29735
|
+
"managed_identity_mismatch",
|
|
29736
|
+
"bridge_install_missing",
|
|
29737
|
+
"bridge_version_mismatch"
|
|
29738
|
+
];
|
|
29739
|
+
var TARGET_VERSION = /^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/;
|
|
29711
29740
|
var REQUEST_ID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
29741
|
+
function safeMaintenanceError(value) {
|
|
29742
|
+
return typeof value === "string" && MAINTENANCE_ERRORS.includes(value) ? value : "update_failed";
|
|
29743
|
+
}
|
|
29744
|
+
function parseMaintenanceResult(value) {
|
|
29745
|
+
if (!value || typeof value !== "object") return null;
|
|
29746
|
+
const v = value;
|
|
29747
|
+
if (v.state === "completed" && typeof v.installedVersion === "string" && TARGET_VERSION.test(v.installedVersion)) {
|
|
29748
|
+
return { schemaVersion: 2, state: "completed", installedVersion: v.installedVersion };
|
|
29749
|
+
}
|
|
29750
|
+
if (v.state === "failed") return { schemaVersion: 2, state: "failed", errorCode: safeMaintenanceError(v.errorCode) };
|
|
29751
|
+
return null;
|
|
29752
|
+
}
|
|
29753
|
+
function maintenanceReportBody(result) {
|
|
29754
|
+
return result.state === "completed" ? { state: result.state, installedVersion: result.installedVersion } : { state: result.state, errorCode: result.errorCode };
|
|
29755
|
+
}
|
|
29756
|
+
async function atomicPrivateJson(path, value) {
|
|
29757
|
+
await mkdir3(dirname4(path), { recursive: true, mode: 448 });
|
|
29758
|
+
const temporary = `${path}.${process.pid}.tmp`;
|
|
29759
|
+
await writeFile2(temporary, `${JSON.stringify(value)}
|
|
29760
|
+
`, { mode: 384 });
|
|
29761
|
+
await chmod(temporary, 384);
|
|
29762
|
+
await rename2(temporary, path);
|
|
29763
|
+
}
|
|
29764
|
+
|
|
29765
|
+
// src/a2a-maintenance.ts
|
|
29766
|
+
var PERKOS_A2A_UPDATE_PREFIX = "PERKOS_A2A_UPDATE:";
|
|
29712
29767
|
var BRIDGE_INSTANCE_ID = REQUEST_ID;
|
|
29713
29768
|
function parseA2AUpdateMarker(message) {
|
|
29714
29769
|
const marker = message.trim();
|
|
@@ -29720,14 +29775,6 @@ var maintenanceControlPlane = resolvePlatformControlPlane;
|
|
|
29720
29775
|
function maintenanceRoot(agentId) {
|
|
29721
29776
|
return join6(homedir5(), ".perkos", "a2a", "hermes", agentId, "maintenance");
|
|
29722
29777
|
}
|
|
29723
|
-
async function atomicPrivateJson(path, value) {
|
|
29724
|
-
await mkdir3(dirname3(path), { recursive: true, mode: 448 });
|
|
29725
|
-
const temporary = `${path}.${process.pid}.tmp`;
|
|
29726
|
-
await writeFile2(temporary, `${JSON.stringify(value)}
|
|
29727
|
-
`, { mode: 384 });
|
|
29728
|
-
await chmod(temporary, 384);
|
|
29729
|
-
await rename2(temporary, path);
|
|
29730
|
-
}
|
|
29731
29778
|
async function authorizedJson(url, relayApiKey, init = {}) {
|
|
29732
29779
|
const response = await fetch(url, {
|
|
29733
29780
|
...init,
|
|
@@ -29761,7 +29808,15 @@ async function queueHermesMaintenanceJob(job) {
|
|
|
29761
29808
|
const runnerPath = fileURLToPath2(new URL("./maintenance-runner.js", import.meta.url));
|
|
29762
29809
|
const child = spawn2(process.execPath, [runnerPath, "--job", jobPath], {
|
|
29763
29810
|
detached: true,
|
|
29764
|
-
stdio: "ignore"
|
|
29811
|
+
stdio: "ignore",
|
|
29812
|
+
env: serviceEnvironment()
|
|
29813
|
+
});
|
|
29814
|
+
await new Promise((resolve4, reject) => {
|
|
29815
|
+
child.once("spawn", resolve4);
|
|
29816
|
+
child.once("error", () => reject(new Error("runner_spawn_failed")));
|
|
29817
|
+
}).catch(async () => {
|
|
29818
|
+
await unlink2(jobPath).catch(() => void 0);
|
|
29819
|
+
throw new Error("runner_spawn_failed");
|
|
29765
29820
|
});
|
|
29766
29821
|
child.unref();
|
|
29767
29822
|
}
|
|
@@ -29792,33 +29847,44 @@ async function tryHandleA2AMaintenanceMarker(message, config, deps = {}) {
|
|
|
29792
29847
|
return "PERKOS_A2A_UPDATE_FAILED:request_rejected";
|
|
29793
29848
|
}
|
|
29794
29849
|
}
|
|
29795
|
-
async function reportReceipt(receipt, target) {
|
|
29850
|
+
async function reportReceipt(requestId, receipt, target) {
|
|
29796
29851
|
await authorizedJson(
|
|
29797
|
-
`${target.apiBaseUrl}/agents/${encodeURIComponent(target.agentId)}/maintenance/a2a-update/${
|
|
29852
|
+
`${target.apiBaseUrl}/agents/${encodeURIComponent(target.agentId)}/maintenance/a2a-update/${requestId}/report`,
|
|
29798
29853
|
target.relayApiKey,
|
|
29799
29854
|
{
|
|
29800
29855
|
method: "POST",
|
|
29801
|
-
body: JSON.stringify(
|
|
29802
|
-
state: receipt.state,
|
|
29803
|
-
...receipt.installedVersion ? { installedVersion: receipt.installedVersion } : {},
|
|
29804
|
-
...receipt.errorCode ? { errorCode: receipt.errorCode } : {}
|
|
29805
|
-
})
|
|
29856
|
+
body: JSON.stringify(maintenanceReportBody(receipt))
|
|
29806
29857
|
}
|
|
29807
29858
|
);
|
|
29808
29859
|
}
|
|
29809
|
-
async function flushMaintenanceReceipts(config) {
|
|
29860
|
+
async function flushMaintenanceReceipts(config, root) {
|
|
29810
29861
|
const target = maintenanceControlPlane(config);
|
|
29811
29862
|
if (!target) return;
|
|
29812
|
-
const
|
|
29863
|
+
const privateRoot = root ?? maintenanceRoot(target.agentId);
|
|
29864
|
+
const receiptsDir = join6(privateRoot, "receipts");
|
|
29813
29865
|
const files = await readdir2(receiptsDir).catch(() => []);
|
|
29814
29866
|
for (const file of files) {
|
|
29815
|
-
if (!file.endsWith(".json")) continue;
|
|
29867
|
+
if (!file.endsWith(".json") || !REQUEST_ID.test(file.slice(0, -5))) continue;
|
|
29816
29868
|
const path = join6(receiptsDir, file);
|
|
29817
29869
|
try {
|
|
29818
|
-
const
|
|
29819
|
-
|
|
29820
|
-
await
|
|
29870
|
+
const stored = JSON.parse(await readFile3(path, "utf8"));
|
|
29871
|
+
const routingPath = join6(privateRoot, "pending-reports", file);
|
|
29872
|
+
const routing = stored.schemaVersion === 1 ? stored : stored.schemaVersion === 2 ? JSON.parse(await readFile3(routingPath, "utf8")) : null;
|
|
29873
|
+
if (!routing || routing.agentId !== target.agentId || routing.apiBaseUrl !== target.apiBaseUrl || routing.requestId !== file.slice(0, -5)) continue;
|
|
29874
|
+
const receipt = parseMaintenanceResult(stored);
|
|
29875
|
+
if (!receipt) continue;
|
|
29876
|
+
if (stored.schemaVersion === 1) {
|
|
29877
|
+
await atomicPrivateJson(routingPath, {
|
|
29878
|
+
schemaVersion: 1,
|
|
29879
|
+
requestId: routing.requestId,
|
|
29880
|
+
agentId: routing.agentId,
|
|
29881
|
+
apiBaseUrl: routing.apiBaseUrl
|
|
29882
|
+
});
|
|
29883
|
+
await atomicPrivateJson(path, receipt);
|
|
29884
|
+
}
|
|
29885
|
+
await reportReceipt(file.slice(0, -5), receipt, target);
|
|
29821
29886
|
await unlink2(path);
|
|
29887
|
+
await unlink2(routingPath).catch(() => void 0);
|
|
29822
29888
|
} catch {
|
|
29823
29889
|
}
|
|
29824
29890
|
}
|
|
@@ -30788,7 +30854,7 @@ function register(api) {
|
|
|
30788
30854
|
);
|
|
30789
30855
|
const logger = api.logger || console;
|
|
30790
30856
|
const pluginVersion = loadedPluginVersion();
|
|
30791
|
-
const pluginRoot = resolve3(
|
|
30857
|
+
const pluginRoot = resolve3(dirname5(fileURLToPath3(import.meta.url)), "..");
|
|
30792
30858
|
const server = new A2AServer(pluginConfig, logger, { relayOwnership: "external-required" });
|
|
30793
30859
|
const lifecycleKey = a2aLifecycleKey(pluginConfig);
|
|
30794
30860
|
const lifecycleInstanceId = randomUUID8();
|