@resciencelab/agent-world-network 1.0.0

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.
Files changed (50) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +357 -0
  3. package/dist/address.d.ts +5 -0
  4. package/dist/address.d.ts.map +1 -0
  5. package/dist/address.js +44 -0
  6. package/dist/address.js.map +1 -0
  7. package/dist/channel.d.ts +107 -0
  8. package/dist/channel.d.ts.map +1 -0
  9. package/dist/channel.js +94 -0
  10. package/dist/channel.js.map +1 -0
  11. package/dist/identity.d.ts +31 -0
  12. package/dist/identity.d.ts.map +1 -0
  13. package/dist/identity.js +312 -0
  14. package/dist/identity.js.map +1 -0
  15. package/dist/index.d.ts +2 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +812 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/peer-client.d.ts +26 -0
  20. package/dist/peer-client.d.ts.map +1 -0
  21. package/dist/peer-client.js +199 -0
  22. package/dist/peer-client.js.map +1 -0
  23. package/dist/peer-db.d.ts +32 -0
  24. package/dist/peer-db.d.ts.map +1 -0
  25. package/dist/peer-db.js +299 -0
  26. package/dist/peer-db.js.map +1 -0
  27. package/dist/peer-server.d.ts +36 -0
  28. package/dist/peer-server.d.ts.map +1 -0
  29. package/dist/peer-server.js +319 -0
  30. package/dist/peer-server.js.map +1 -0
  31. package/dist/transport-quic.d.ts +32 -0
  32. package/dist/transport-quic.d.ts.map +1 -0
  33. package/dist/transport-quic.js +195 -0
  34. package/dist/transport-quic.js.map +1 -0
  35. package/dist/transport.d.ts +55 -0
  36. package/dist/transport.d.ts.map +1 -0
  37. package/dist/transport.js +80 -0
  38. package/dist/transport.js.map +1 -0
  39. package/dist/types.d.ts +107 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +4 -0
  42. package/dist/types.js.map +1 -0
  43. package/openclaw.plugin.json +77 -0
  44. package/package.json +62 -0
  45. package/scripts/release.sh.bak +113 -0
  46. package/scripts/sync-version.mjs +19 -0
  47. package/skills/awn/SKILL.md +95 -0
  48. package/skills/awn/references/discovery.md +71 -0
  49. package/skills/awn/references/flows.md +84 -0
  50. package/skills/awn/references/install.md +38 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAkCvE,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAIzD;AAID,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAIjE;AAED,wBAAgB,gBAAgB,IAAI,QAAQ,CAa3C;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAiB9D;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAUpD;AAED,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAMxF;AAED,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,YAAY,EAAE,MAAM,GACnB,OAAO,CAST;AAID,eAAO,MAAM,iBAAiB;;;;;;;;CAQpB,CAAA;AAEV,wBAAgB,uBAAuB,CACrC,eAAe,EAAE,MAAM,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,UAAU,GACpB,MAAM,CAOR;AAED,wBAAgB,yBAAyB,CACvC,eAAe,EAAE,MAAM,EACvB,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,MAAM,GACnB,OAAO,CAYT;AAMD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGzD;AAgCD,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,gBAAgB,CAiBlB;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,EACtD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA8BjC;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,iBAAiB,CAiBnB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EACtC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA4BjC"}
@@ -0,0 +1,312 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.DOMAIN_SEPARATORS = void 0;
37
+ exports.deriveDidKey = deriveDidKey;
38
+ exports.agentIdFromPublicKey = agentIdFromPublicKey;
39
+ exports.generateIdentity = generateIdentity;
40
+ exports.loadOrCreateIdentity = loadOrCreateIdentity;
41
+ exports.canonicalize = canonicalize;
42
+ exports.signMessage = signMessage;
43
+ exports.verifySignature = verifySignature;
44
+ exports.signWithDomainSeparator = signWithDomainSeparator;
45
+ exports.verifyWithDomainSeparator = verifyWithDomainSeparator;
46
+ exports.computeContentDigest = computeContentDigest;
47
+ exports.signHttpRequest = signHttpRequest;
48
+ exports.verifyHttpRequestHeaders = verifyHttpRequestHeaders;
49
+ exports.signHttpResponse = signHttpResponse;
50
+ exports.verifyHttpResponseHeaders = verifyHttpResponseHeaders;
51
+ /**
52
+ * Identity management: Ed25519 keypair generation and agent ID derivation.
53
+ *
54
+ * The Ed25519 keypair is the single source of truth for agent identity.
55
+ * Everything else — network addresses, transport protocols — is transient.
56
+ */
57
+ const nacl = __importStar(require("tweetnacl"));
58
+ const sha256_1 = require("@noble/hashes/sha256");
59
+ const node_crypto_1 = require("node:crypto");
60
+ const fs = __importStar(require("fs"));
61
+ const path = __importStar(require("path"));
62
+ // Protocol version for HTTP signatures and domain separators.
63
+ // Uses major.minor from package.json — only changes on breaking protocol updates.
64
+ // This MUST match the SDK's PROTOCOL_VERSION to allow cross-node signature verification.
65
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
66
+ const pkgVersion = require("../package.json").version;
67
+ const PROTOCOL_VERSION = pkgVersion.split(".").slice(0, 2).join(".");
68
+ // ── did:key mapping ─────────────────────────────────────────────────────────
69
+ const MULTICODEC_ED25519_PREFIX = Buffer.from([0xed, 0x01]);
70
+ const BASE58_ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
71
+ function base58Encode(buf) {
72
+ const digits = [0];
73
+ for (const byte of buf) {
74
+ let carry = byte;
75
+ for (let j = 0; j < digits.length; j++) {
76
+ carry += digits[j] << 8;
77
+ digits[j] = carry % 58;
78
+ carry = (carry / 58) | 0;
79
+ }
80
+ while (carry > 0) {
81
+ digits.push(carry % 58);
82
+ carry = (carry / 58) | 0;
83
+ }
84
+ }
85
+ let str = "";
86
+ for (let i = 0; i < buf.length && buf[i] === 0; i++)
87
+ str += "1";
88
+ for (let i = digits.length - 1; i >= 0; i--)
89
+ str += BASE58_ALPHABET[digits[i]];
90
+ return str;
91
+ }
92
+ function deriveDidKey(publicKeyB64) {
93
+ const pubBytes = Buffer.from(publicKeyB64, "base64");
94
+ const prefixed = Buffer.concat([MULTICODEC_ED25519_PREFIX, pubBytes]);
95
+ return `did:key:z${base58Encode(prefixed)}`;
96
+ }
97
+ // ── Core identity ───────────────────────────────────────────────────────────
98
+ function agentIdFromPublicKey(publicKeyB64) {
99
+ const pubBytes = Buffer.from(publicKeyB64, "base64");
100
+ const fullHex = Buffer.from((0, sha256_1.sha256)(pubBytes)).toString("hex");
101
+ return `aw:sha256:${fullHex}`;
102
+ }
103
+ function generateIdentity() {
104
+ const keypair = nacl.sign.keyPair();
105
+ const pubBytes = keypair.publicKey;
106
+ const privBytes = keypair.secretKey.slice(0, 32);
107
+ const pubB64 = Buffer.from(pubBytes).toString("base64");
108
+ const privB64 = Buffer.from(privBytes).toString("base64");
109
+ return {
110
+ agentId: agentIdFromPublicKey(pubB64),
111
+ publicKey: pubB64,
112
+ privateKey: privB64,
113
+ };
114
+ }
115
+ function loadOrCreateIdentity(dataDir) {
116
+ const idFile = path.join(dataDir, "identity.json");
117
+ if (fs.existsSync(idFile)) {
118
+ const raw = JSON.parse(fs.readFileSync(idFile, "utf-8"));
119
+ // Migrate missing or legacy 32-char truncated agentId → aw:sha256:<64hex>
120
+ if (!raw.agentId || /^[0-9a-f]{32}$/.test(raw.agentId)) {
121
+ raw.agentId = agentIdFromPublicKey(raw.publicKey);
122
+ fs.writeFileSync(idFile, JSON.stringify(raw, null, 2));
123
+ }
124
+ // Strip legacy Yggdrasil fields if present
125
+ const { cgaIpv6: _cga, yggIpv6: _ygg, ...clean } = raw;
126
+ return clean;
127
+ }
128
+ fs.mkdirSync(dataDir, { recursive: true });
129
+ const id = generateIdentity();
130
+ fs.writeFileSync(idFile, JSON.stringify(id, null, 2));
131
+ return id;
132
+ }
133
+ // ── Canonical serialization + signing ───────────────────────────────────────
134
+ function canonicalize(value) {
135
+ if (Array.isArray(value))
136
+ return value.map(canonicalize);
137
+ if (value !== null && typeof value === "object") {
138
+ const sorted = {};
139
+ for (const k of Object.keys(value).sort()) {
140
+ sorted[k] = canonicalize(value[k]);
141
+ }
142
+ return sorted;
143
+ }
144
+ return value;
145
+ }
146
+ function signMessage(privateKeyB64, data) {
147
+ const privBytes = Buffer.from(privateKeyB64, "base64");
148
+ const privFull = nacl.sign.keyPair.fromSeed(privBytes);
149
+ const msg = Buffer.from(JSON.stringify(canonicalize(data)));
150
+ const sig = nacl.sign.detached(msg, privFull.secretKey);
151
+ return Buffer.from(sig).toString("base64");
152
+ }
153
+ function verifySignature(publicKeyB64, data, signatureB64) {
154
+ try {
155
+ const pubBytes = Buffer.from(publicKeyB64, "base64");
156
+ const sigBytes = Buffer.from(signatureB64, "base64");
157
+ const msg = Buffer.from(JSON.stringify(canonicalize(data)));
158
+ return nacl.sign.detached.verify(msg, sigBytes, pubBytes);
159
+ }
160
+ catch {
161
+ return false;
162
+ }
163
+ }
164
+ // ── Domain-Separated Signatures ─────────────────────────────────────────────
165
+ exports.DOMAIN_SEPARATORS = {
166
+ HTTP_REQUEST: `AgentWorld-Req-${PROTOCOL_VERSION}\0`,
167
+ HTTP_RESPONSE: `AgentWorld-Res-${PROTOCOL_VERSION}\0`,
168
+ AGENT_CARD: `AgentWorld-Card-${PROTOCOL_VERSION}\0`,
169
+ KEY_ROTATION: `AgentWorld-Rotation-${PROTOCOL_VERSION}\0`,
170
+ ANNOUNCE: `AgentWorld-Announce-${PROTOCOL_VERSION}\0`,
171
+ MESSAGE: `AgentWorld-Message-${PROTOCOL_VERSION}\0`,
172
+ WORLD_STATE: `AgentWorld-WorldState-${PROTOCOL_VERSION}\0`,
173
+ };
174
+ function signWithDomainSeparator(domainSeparator, payload, secretKey) {
175
+ const canonicalJson = JSON.stringify(canonicalize(payload));
176
+ const domainPrefix = Buffer.from(domainSeparator, "utf8");
177
+ const payloadBytes = Buffer.from(canonicalJson, "utf8");
178
+ const message = Buffer.concat([domainPrefix, payloadBytes]);
179
+ const sig = nacl.sign.detached(message, secretKey);
180
+ return Buffer.from(sig).toString("base64");
181
+ }
182
+ function verifyWithDomainSeparator(domainSeparator, publicKeyB64, payload, signatureB64) {
183
+ try {
184
+ const canonicalJson = JSON.stringify(canonicalize(payload));
185
+ const domainPrefix = Buffer.from(domainSeparator, "utf8");
186
+ const payloadBytes = Buffer.from(canonicalJson, "utf8");
187
+ const message = Buffer.concat([domainPrefix, payloadBytes]);
188
+ const pubKey = Buffer.from(publicKeyB64, "base64");
189
+ const sig = Buffer.from(signatureB64, "base64");
190
+ return nacl.sign.detached.verify(message, sig, pubKey);
191
+ }
192
+ catch {
193
+ return false;
194
+ }
195
+ }
196
+ // ── AgentWorld HTTP header signing ──────────────────────────────────────────
197
+ const MAX_CLOCK_SKEW_MS = 5 * 60 * 1000;
198
+ function computeContentDigest(body) {
199
+ const hash = (0, node_crypto_1.createHash)("sha256").update(Buffer.from(body, "utf8")).digest("base64");
200
+ return `sha-256=:${hash}:`;
201
+ }
202
+ function buildRequestSigningInput(opts) {
203
+ return {
204
+ v: opts.v,
205
+ from: opts.from,
206
+ kid: opts.kid,
207
+ ts: opts.ts,
208
+ method: opts.method.toUpperCase(),
209
+ authority: opts.authority,
210
+ path: opts.path,
211
+ contentDigest: opts.contentDigest,
212
+ };
213
+ }
214
+ function buildResponseSigningInput(opts) {
215
+ return {
216
+ v: opts.v,
217
+ from: opts.from,
218
+ kid: opts.kid,
219
+ ts: opts.ts,
220
+ status: opts.status,
221
+ contentDigest: opts.contentDigest,
222
+ };
223
+ }
224
+ function signHttpRequest(identity, method, authority, reqPath, body) {
225
+ const privFull = nacl.sign.keyPair.fromSeed(Buffer.from(identity.privateKey, "base64"));
226
+ const ts = new Date().toISOString();
227
+ const kid = "#identity";
228
+ const contentDigest = computeContentDigest(body);
229
+ const signingInput = buildRequestSigningInput({
230
+ v: PROTOCOL_VERSION, from: identity.agentId, kid, ts, method, authority, path: reqPath, contentDigest,
231
+ });
232
+ const signature = signWithDomainSeparator(exports.DOMAIN_SEPARATORS.HTTP_REQUEST, signingInput, privFull.secretKey);
233
+ return {
234
+ "X-AgentWorld-Version": PROTOCOL_VERSION,
235
+ "X-AgentWorld-From": identity.agentId,
236
+ "X-AgentWorld-KeyId": kid,
237
+ "X-AgentWorld-Timestamp": ts,
238
+ "Content-Digest": contentDigest,
239
+ "X-AgentWorld-Signature": signature,
240
+ };
241
+ }
242
+ function verifyHttpRequestHeaders(headers, method, reqPath, authority, body, publicKeyB64) {
243
+ const h = {};
244
+ for (const [k, v] of Object.entries(headers))
245
+ h[k.toLowerCase()] = v;
246
+ const ver = h["x-agentworld-version"];
247
+ const sig = h["x-agentworld-signature"];
248
+ const from = h["x-agentworld-from"];
249
+ const kid = h["x-agentworld-keyid"];
250
+ const ts = h["x-agentworld-timestamp"];
251
+ const cd = h["content-digest"];
252
+ if (!ver || !sig || !from || !kid || !ts || !cd) {
253
+ return { ok: false, error: "Missing required AgentWorld headers" };
254
+ }
255
+ const tsDiff = Math.abs(Date.now() - new Date(ts).getTime());
256
+ if (isNaN(tsDiff) || tsDiff > MAX_CLOCK_SKEW_MS) {
257
+ return { ok: false, error: "X-AgentWorld-Timestamp outside acceptable skew window" };
258
+ }
259
+ const expectedDigest = computeContentDigest(body);
260
+ if (cd !== expectedDigest) {
261
+ return { ok: false, error: "Content-Digest mismatch" };
262
+ }
263
+ const signingInput = buildRequestSigningInput({
264
+ v: ver, from, kid, ts, method, authority, path: reqPath, contentDigest: cd,
265
+ });
266
+ const ok = verifyWithDomainSeparator(exports.DOMAIN_SEPARATORS.HTTP_REQUEST, publicKeyB64, signingInput, sig);
267
+ return ok ? { ok: true } : { ok: false, error: "Invalid X-AgentWorld-Signature" };
268
+ }
269
+ function signHttpResponse(identity, status, body) {
270
+ const privFull = nacl.sign.keyPair.fromSeed(Buffer.from(identity.privateKey, "base64"));
271
+ const ts = new Date().toISOString();
272
+ const kid = "#identity";
273
+ const contentDigest = computeContentDigest(body);
274
+ const signingInput = buildResponseSigningInput({
275
+ v: PROTOCOL_VERSION, from: identity.agentId, kid, ts, status, contentDigest,
276
+ });
277
+ const signature = signWithDomainSeparator(exports.DOMAIN_SEPARATORS.HTTP_RESPONSE, signingInput, privFull.secretKey);
278
+ return {
279
+ "X-AgentWorld-Version": PROTOCOL_VERSION,
280
+ "X-AgentWorld-From": identity.agentId,
281
+ "X-AgentWorld-KeyId": kid,
282
+ "X-AgentWorld-Timestamp": ts,
283
+ "Content-Digest": contentDigest,
284
+ "X-AgentWorld-Signature": signature,
285
+ };
286
+ }
287
+ function verifyHttpResponseHeaders(headers, status, body, publicKeyB64) {
288
+ const h = {};
289
+ for (const [k, v] of Object.entries(headers))
290
+ h[k.toLowerCase()] = v;
291
+ const ver = h["x-agentworld-version"];
292
+ const sig = h["x-agentworld-signature"];
293
+ const from = h["x-agentworld-from"];
294
+ const kid = h["x-agentworld-keyid"];
295
+ const ts = h["x-agentworld-timestamp"];
296
+ const cd = h["content-digest"];
297
+ if (!ver || !sig || !from || !kid || !ts || !cd) {
298
+ return { ok: false, error: "Missing required AgentWorld response headers" };
299
+ }
300
+ const tsDiff = Math.abs(Date.now() - new Date(ts).getTime());
301
+ if (isNaN(tsDiff) || tsDiff > MAX_CLOCK_SKEW_MS) {
302
+ return { ok: false, error: "X-AgentWorld-Timestamp outside acceptable skew window" };
303
+ }
304
+ const expectedDigest = computeContentDigest(body);
305
+ if (cd !== expectedDigest) {
306
+ return { ok: false, error: "Content-Digest mismatch" };
307
+ }
308
+ const signingInput = buildResponseSigningInput({ v: ver, from, kid, ts, status, contentDigest: cd });
309
+ const ok = verifyWithDomainSeparator(exports.DOMAIN_SEPARATORS.HTTP_RESPONSE, publicKeyB64, signingInput, sig);
310
+ return ok ? { ok: true } : { ok: false, error: "Invalid X-AgentWorld-Signature" };
311
+ }
312
+ //# sourceMappingURL=identity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../src/identity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export default function register(api: any): void;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA+SA,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,GAAG,EAAE,GAAG,QA4iBxC"}