@perkos/perkos-a2a 0.8.12 → 0.8.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +167 -1
- package/bin/agent.ts +173 -0
- package/bin/relay.ts +20 -2
- package/dist/agent.d.ts +14 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +250 -0
- package/dist/agent.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +373 -168
- package/dist/index.js.map +4 -4
- package/dist/relay-client.js +1 -1
- package/dist/relay-client.js.map +1 -1
- package/dist/relay.d.ts +3 -1
- package/dist/relay.d.ts.map +1 -1
- package/dist/relay.js +14 -1
- package/dist/relay.js.map +1 -1
- package/dist/runtime-reply.d.ts +13 -0
- package/dist/runtime-reply.d.ts.map +1 -0
- package/dist/runtime-reply.js +114 -0
- package/dist/runtime-reply.js.map +1 -0
- package/dist/server.d.ts +4 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +74 -52
- package/dist/server.js.map +1 -1
- package/dist/types.d.ts +31 -6
- package/dist/types.d.ts.map +1 -1
- package/openclaw.plugin.json +121 -18
- package/package.json +13 -9
package/dist/agent.js
ADDED
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Standalone PerkOS A2A bridge.
|
|
4
|
+
*
|
|
5
|
+
* This is for runtimes that do not load OpenClaw plugins directly, especially
|
|
6
|
+
* Hermes Workspace. It runs the same A2A HTTP/relay server and delivers inbound
|
|
7
|
+
* tasks into a local runtime over that runtime's native wake/send API.
|
|
8
|
+
*
|
|
9
|
+
* Usage:
|
|
10
|
+
* perkos-a2a-agent --config ./a2a.config.json
|
|
11
|
+
* A2A_AGENT_NAME=hermes A2A_RUNTIME=hermes HERMES_WORKSPACE_URL=http://127.0.0.1:3000 perkos-a2a-agent
|
|
12
|
+
*/
|
|
13
|
+
import { readFileSync } from "fs";
|
|
14
|
+
import { randomUUID } from "crypto";
|
|
15
|
+
import net from "net";
|
|
16
|
+
import { A2AServer } from "./server.js";
|
|
17
|
+
import { completeTaskWithReply, generateRuntimeReply } from "./runtime-reply.js";
|
|
18
|
+
function argValue(flag) {
|
|
19
|
+
const idx = process.argv.indexOf(flag);
|
|
20
|
+
if (idx === -1)
|
|
21
|
+
return undefined;
|
|
22
|
+
return process.argv[idx + 1];
|
|
23
|
+
}
|
|
24
|
+
function hasFlag(flag) {
|
|
25
|
+
return process.argv.includes(flag);
|
|
26
|
+
}
|
|
27
|
+
function printHelp() {
|
|
28
|
+
console.log(`PerkOS A2A standalone bridge
|
|
29
|
+
|
|
30
|
+
Usage:
|
|
31
|
+
perkos-a2a-agent --config ./a2a.config.json
|
|
32
|
+
perkos-a2a-agent --setup
|
|
33
|
+
|
|
34
|
+
Config sources:
|
|
35
|
+
--config, -c, or A2A_CONFIG JSON config file
|
|
36
|
+
A2A_AGENT_NAME Unique agent identity, e.g. Apollo-Hermes-OSX
|
|
37
|
+
A2A_PORT Unique local A2A port, e.g. 5060
|
|
38
|
+
A2A_BIND_HOST 127.0.0.1 for same-host/local-only, 0.0.0.0 for containers
|
|
39
|
+
A2A_PUBLIC_URL Advertised base URL, e.g. http://127.0.0.1:5060
|
|
40
|
+
A2A_PEERS JSON map: {"Perkos-Claw-Tester":"http://127.0.0.1:5050"}
|
|
41
|
+
A2A_RELAY_ENABLED=true Enable relay fallback/discovery
|
|
42
|
+
A2A_RELAY_URL=wss://... Relay WebSocket URL
|
|
43
|
+
A2A_RUNTIME=hermes Runtime delivery target
|
|
44
|
+
HERMES_WORKSPACE_URL=http://127.0.0.1:3000
|
|
45
|
+
|
|
46
|
+
Same-host / same-IP rule:
|
|
47
|
+
IP address is transport only, not identity. If multiple agents share one macOS/LAN/public IP,
|
|
48
|
+
distinguish them by agentName + unique port. Prefer loopback peer URLs such as
|
|
49
|
+
http://127.0.0.1:<peer-port> for direct same-host routing; use relay by agentName as fallback.
|
|
50
|
+
`);
|
|
51
|
+
}
|
|
52
|
+
async function isPortAvailable(port, host) {
|
|
53
|
+
return new Promise((resolve) => {
|
|
54
|
+
const srv = net.createServer();
|
|
55
|
+
srv.once("error", () => resolve(false));
|
|
56
|
+
srv.listen(port, host, () => srv.close(() => resolve(true)));
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
async function printSetup(config) {
|
|
60
|
+
const bindHost = config.bindHost || "0.0.0.0";
|
|
61
|
+
const port = config.port || 5050;
|
|
62
|
+
const loopbackUrl = `http://127.0.0.1:${port}/a2a/jsonrpc`;
|
|
63
|
+
const bindCheckHost = bindHost === "0.0.0.0" ? "127.0.0.1" : bindHost;
|
|
64
|
+
const portAvailable = await isPortAvailable(port, bindCheckHost);
|
|
65
|
+
console.log("PerkOS A2A setup check");
|
|
66
|
+
console.log(`Agent: ${config.agentName}`);
|
|
67
|
+
console.log(`Runtime: ${config.runtime?.kind || "hermes"}`);
|
|
68
|
+
console.log(`Bind: ${bindHost}:${port}`);
|
|
69
|
+
console.log(`Port available: ${portAvailable ? "yes" : "NO - choose a unique A2A_PORT"}`);
|
|
70
|
+
console.log(`Advertised publicUrl: ${config.publicUrl || "(not set)"}`);
|
|
71
|
+
console.log(`Local same-host URL: ${loopbackUrl}`);
|
|
72
|
+
console.log(`Relay: ${config.relay?.enabled ? "enabled" : "disabled"}${config.relay?.url ? ` (${config.relay.url})` : ""}`);
|
|
73
|
+
console.log(`Peers: ${Object.keys(config.peers || {}).join(", ") || "(none configured)"}`);
|
|
74
|
+
console.log("");
|
|
75
|
+
console.log("Same-host / same-IP guidance:");
|
|
76
|
+
console.log("- Do not identify agents by shared LAN/public IP.");
|
|
77
|
+
console.log("- Each local agent needs a unique agentName and port.");
|
|
78
|
+
console.log("- Configure direct same-host peers as http://127.0.0.1:<peer-port>.");
|
|
79
|
+
console.log("- Use relay for fallback/discovery by agentName when direct peer port is unknown.");
|
|
80
|
+
console.log("");
|
|
81
|
+
console.log("Example Apollo -> Morpheus peer map:");
|
|
82
|
+
console.log(' A2A_PEERS=\'{"Perkos-Claw-Tester":"http://127.0.0.1:5050"}\'');
|
|
83
|
+
}
|
|
84
|
+
function parseJsonEnv(name, fallback) {
|
|
85
|
+
const raw = process.env[name];
|
|
86
|
+
if (!raw)
|
|
87
|
+
return fallback;
|
|
88
|
+
try {
|
|
89
|
+
return JSON.parse(raw);
|
|
90
|
+
}
|
|
91
|
+
catch (err) {
|
|
92
|
+
throw new Error(`${name} must be valid JSON: ${err instanceof Error ? err.message : String(err)}`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function loadConfig() {
|
|
96
|
+
const configPath = argValue("--config") || argValue("-c") || process.env.A2A_CONFIG;
|
|
97
|
+
if (configPath) {
|
|
98
|
+
return JSON.parse(readFileSync(configPath, "utf8"));
|
|
99
|
+
}
|
|
100
|
+
const port = Number(process.env.A2A_PORT || "5050");
|
|
101
|
+
const relayEnabled = String(process.env.A2A_RELAY_ENABLED || "").toLowerCase() === "true";
|
|
102
|
+
return {
|
|
103
|
+
agentName: process.env.A2A_AGENT_NAME || "agent",
|
|
104
|
+
port,
|
|
105
|
+
bindHost: process.env.A2A_BIND_HOST || "0.0.0.0",
|
|
106
|
+
publicUrl: process.env.A2A_PUBLIC_URL,
|
|
107
|
+
mode: process.env.A2A_MODE || "auto",
|
|
108
|
+
skills: parseJsonEnv("A2A_SKILLS", []),
|
|
109
|
+
peers: parseJsonEnv("A2A_PEERS", {}),
|
|
110
|
+
peerAuth: parseJsonEnv("A2A_PEER_AUTH", {}),
|
|
111
|
+
auth: process.env.A2A_API_KEYS
|
|
112
|
+
? { requireApiKey: true, apiKeys: process.env.A2A_API_KEYS.split(",").map((v) => v.trim()).filter(Boolean) }
|
|
113
|
+
: undefined,
|
|
114
|
+
relay: relayEnabled || process.env.A2A_RELAY_URL
|
|
115
|
+
? {
|
|
116
|
+
enabled: relayEnabled || Boolean(process.env.A2A_RELAY_URL),
|
|
117
|
+
url: process.env.A2A_RELAY_URL || "",
|
|
118
|
+
apiKey: process.env.A2A_RELAY_API_KEY || "",
|
|
119
|
+
hubPort: process.env.A2A_RELAY_HUB_PORT ? Number(process.env.A2A_RELAY_HUB_PORT) : undefined,
|
|
120
|
+
hubApiKeys: process.env.A2A_RELAY_HUB_API_KEYS?.split(",").map((v) => v.trim()).filter(Boolean),
|
|
121
|
+
}
|
|
122
|
+
: undefined,
|
|
123
|
+
runtime: {
|
|
124
|
+
kind: process.env.A2A_RUNTIME || "hermes",
|
|
125
|
+
sessionKey: process.env.A2A_SESSION_KEY,
|
|
126
|
+
hermesUrl: process.env.HERMES_WORKSPACE_URL,
|
|
127
|
+
hermesToken: process.env.HERMES_WORKSPACE_TOKEN || process.env.HERMES_SESSION_TOKEN,
|
|
128
|
+
hermesEndpoint: process.env.HERMES_WORKSPACE_ENDPOINT,
|
|
129
|
+
},
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function taskMarker(task) {
|
|
133
|
+
return `[A2A_RESULT:${task.id}]`;
|
|
134
|
+
}
|
|
135
|
+
function buildRuntimeMessage(task, text) {
|
|
136
|
+
const from = task.metadata?.fromAgent || "unknown";
|
|
137
|
+
const marker = taskMarker(task);
|
|
138
|
+
return [
|
|
139
|
+
marker,
|
|
140
|
+
`From: ${from}`,
|
|
141
|
+
`Task ID: ${task.id}`,
|
|
142
|
+
`Context ID: ${task.contextId}`,
|
|
143
|
+
"",
|
|
144
|
+
"Execute the following request and include the final answer in your assistant reply.",
|
|
145
|
+
`Your final answer must begin with exactly: ${marker}`,
|
|
146
|
+
"Return the useful final answer after that marker.",
|
|
147
|
+
"",
|
|
148
|
+
text,
|
|
149
|
+
].join("\n");
|
|
150
|
+
}
|
|
151
|
+
async function getHermesAuthCookie(baseUrl, explicitToken) {
|
|
152
|
+
if (explicitToken)
|
|
153
|
+
return `claude-auth=${explicitToken}`;
|
|
154
|
+
const password = process.env.HERMES_PASSWORD || process.env.CLAUDE_PASSWORD;
|
|
155
|
+
if (!password)
|
|
156
|
+
return undefined;
|
|
157
|
+
const response = await fetch(`${baseUrl}/api/auth`, {
|
|
158
|
+
method: "POST",
|
|
159
|
+
headers: { "content-type": "application/json" },
|
|
160
|
+
body: JSON.stringify({ password }),
|
|
161
|
+
});
|
|
162
|
+
if (!response.ok) {
|
|
163
|
+
const body = await response.text().catch(() => "");
|
|
164
|
+
throw new Error(`Hermes auth failed (${response.status}): ${body || response.statusText}`);
|
|
165
|
+
}
|
|
166
|
+
const setCookie = response.headers.get("set-cookie");
|
|
167
|
+
return setCookie?.split(";")[0];
|
|
168
|
+
}
|
|
169
|
+
async function deliverToHermes(config, message) {
|
|
170
|
+
const runtime = config.runtime || {};
|
|
171
|
+
const baseUrl = (runtime.hermesUrl || process.env.HERMES_WORKSPACE_URL || "http://127.0.0.1:3000").replace(/\/+$/, "");
|
|
172
|
+
const endpoint = runtime.hermesEndpoint || "/api/session-send";
|
|
173
|
+
const sessionKey = runtime.sessionKey || "main";
|
|
174
|
+
const token = runtime.hermesToken || process.env.HERMES_WORKSPACE_TOKEN || process.env.HERMES_SESSION_TOKEN;
|
|
175
|
+
const url = `${baseUrl}${endpoint.startsWith("/") ? endpoint : `/${endpoint}`}`;
|
|
176
|
+
const headers = { "content-type": "application/json" };
|
|
177
|
+
const cookie = await getHermesAuthCookie(baseUrl, token);
|
|
178
|
+
if (cookie)
|
|
179
|
+
headers.cookie = cookie;
|
|
180
|
+
const response = await fetch(url, {
|
|
181
|
+
method: "POST",
|
|
182
|
+
headers,
|
|
183
|
+
body: JSON.stringify({ sessionKey, message }),
|
|
184
|
+
});
|
|
185
|
+
if (!response.ok) {
|
|
186
|
+
const body = await response.text().catch(() => "");
|
|
187
|
+
throw new Error(`Hermes delivery failed (${response.status}): ${body || response.statusText}`);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
async function main() {
|
|
191
|
+
if (hasFlag("--help") || hasFlag("-h")) {
|
|
192
|
+
printHelp();
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
const config = loadConfig();
|
|
196
|
+
if (hasFlag("--setup")) {
|
|
197
|
+
await printSetup(config);
|
|
198
|
+
return;
|
|
199
|
+
}
|
|
200
|
+
const logger = console;
|
|
201
|
+
const server = new A2AServer(config, logger);
|
|
202
|
+
server.setTaskResultHandler(async (task, text) => {
|
|
203
|
+
const runtimeKind = config.runtime?.kind || "hermes";
|
|
204
|
+
task.status = {
|
|
205
|
+
state: "working",
|
|
206
|
+
timestamp: new Date().toISOString(),
|
|
207
|
+
message: { role: "agent", parts: [{ kind: "text", text: `Task dispatched to ${runtimeKind} runtime.` }] },
|
|
208
|
+
};
|
|
209
|
+
if (runtimeKind === "hermes") {
|
|
210
|
+
await deliverToHermes(config, buildRuntimeMessage(task, text));
|
|
211
|
+
task.artifacts.push({
|
|
212
|
+
kind: "artifact",
|
|
213
|
+
artifactId: randomUUID(),
|
|
214
|
+
parts: [{ kind: "text", text: "Delivered to Hermes Workspace." }],
|
|
215
|
+
});
|
|
216
|
+
const finalText = await generateRuntimeReply(config, text, taskMarker(task));
|
|
217
|
+
completeTaskWithReply(task, finalText);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
if (runtimeKind === "none") {
|
|
221
|
+
task.artifacts.push({
|
|
222
|
+
kind: "artifact",
|
|
223
|
+
artifactId: randomUUID(),
|
|
224
|
+
parts: [{ kind: "text", text: "Runtime delivery disabled." }],
|
|
225
|
+
});
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
throw new Error(`Standalone runtime '${runtimeKind}' is not supported yet. Use OpenClaw plugin mode for OpenClaw delivery.`);
|
|
229
|
+
});
|
|
230
|
+
server.setTaskFailureHandler((task, errorText) => {
|
|
231
|
+
task.status = {
|
|
232
|
+
state: "failed",
|
|
233
|
+
timestamp: new Date().toISOString(),
|
|
234
|
+
message: { role: "agent", parts: [{ kind: "text", text: errorText }] },
|
|
235
|
+
};
|
|
236
|
+
});
|
|
237
|
+
await server.start();
|
|
238
|
+
logger.info(`[perkos-a2a] standalone bridge running for ${config.agentName} (${config.runtime?.kind || "hermes"})`);
|
|
239
|
+
const stop = () => {
|
|
240
|
+
logger.info("[perkos-a2a] standalone bridge shutting down");
|
|
241
|
+
process.exit(0);
|
|
242
|
+
};
|
|
243
|
+
process.on("SIGINT", stop);
|
|
244
|
+
process.on("SIGTERM", stop);
|
|
245
|
+
}
|
|
246
|
+
main().catch((err) => {
|
|
247
|
+
console.error(`[perkos-a2a] standalone bridge failed: ${err instanceof Error ? err.stack || err.message : String(err)}`);
|
|
248
|
+
process.exit(1);
|
|
249
|
+
});
|
|
250
|
+
//# sourceMappingURL=agent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,cAAc,YAAY,CAAC;AA6D3B,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,QA+gBxC"}
|