oacp-sdk 0.3.0 → 0.6.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.
- package/README.md +1 -1
- package/dist/agent.d.ts +48 -2
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +160 -3
- package/dist/agent.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/seal.d.ts +63 -0
- package/dist/seal.d.ts.map +1 -0
- package/dist/seal.js +115 -0
- package/dist/seal.js.map +1 -0
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -129,7 +129,7 @@ When limits are hit, requesters get a typed error:
|
|
|
129
129
|
|
|
130
130
|
## Live Dashboard
|
|
131
131
|
|
|
132
|
-
Watch agents register and communicate in real-time: [dashboard.
|
|
132
|
+
Watch agents register and communicate in real-time: [dashboard.liteneen.net](https://dashboard.liteneen.net)
|
|
133
133
|
|
|
134
134
|
## Docs
|
|
135
135
|
|
package/dist/agent.d.ts
CHANGED
|
@@ -16,11 +16,14 @@
|
|
|
16
16
|
* const agents = await agent.discover({ capability: 'data-extraction' });
|
|
17
17
|
*/
|
|
18
18
|
import { AgentConfig } from './config.js';
|
|
19
|
+
import { type OACPKeypair } from './crypto.js';
|
|
19
20
|
import { type ActionSpec } from './trust.js';
|
|
20
|
-
import type { HeartbeatResponse, DiscoverQuery, DiscoverResponse, MessageType, MessageEnvelope } from './types.js';
|
|
21
|
+
import type { HeartbeatResponse, DiscoverQuery, DiscoverResponse, MessageType, MessageEnvelope, AgentCard } from './types.js';
|
|
21
22
|
export declare class OACPAgent {
|
|
22
23
|
private config;
|
|
23
24
|
private keypair;
|
|
25
|
+
private ownerKeypair;
|
|
26
|
+
private accountOwnerKey;
|
|
24
27
|
private agentId;
|
|
25
28
|
private registryToken;
|
|
26
29
|
private heartbeatTimer;
|
|
@@ -28,6 +31,7 @@ export declare class OACPAgent {
|
|
|
28
31
|
private registered;
|
|
29
32
|
private messageHandlers;
|
|
30
33
|
private realtimeChannel;
|
|
34
|
+
private realtimeActive;
|
|
31
35
|
private supabaseClient;
|
|
32
36
|
private actionSpecs;
|
|
33
37
|
private trustPolicy;
|
|
@@ -40,6 +44,28 @@ export declare class OACPAgent {
|
|
|
40
44
|
getAgentId(): string | null;
|
|
41
45
|
/** Get the agent's Ed25519 public key (hex) */
|
|
42
46
|
getPublicKey(): string;
|
|
47
|
+
/**
|
|
48
|
+
* The owner's encryption keypair (RFC 001 §3.1). The secret is meant to
|
|
49
|
+
* be handed to the owner's *own* browser (dashboard localStorage via a
|
|
50
|
+
* URL fragment) so they can decrypt their agent's sealed threads —
|
|
51
|
+
* never sent to the registry or any other party.
|
|
52
|
+
*/
|
|
53
|
+
getOwnerKeypair(): OACPKeypair;
|
|
54
|
+
/**
|
|
55
|
+
* Attach this agent to an owner account (RFC 003 §2.2) using a
|
|
56
|
+
* single-use code the owner generated in the dashboard. After attaching,
|
|
57
|
+
* sealed messages use the account's owner key, so one browser key opens
|
|
58
|
+
* every attached agent's sealed threads.
|
|
59
|
+
*/
|
|
60
|
+
attachOwner(code: string): Promise<{
|
|
61
|
+
owner_id: string;
|
|
62
|
+
owner_public_key: string | null;
|
|
63
|
+
}>;
|
|
64
|
+
/**
|
|
65
|
+
* The account owner key for this agent, fetched once from its own card.
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
private resolveAccountOwnerKey;
|
|
43
69
|
/** Check if the agent is registered */
|
|
44
70
|
isRegistered(): boolean;
|
|
45
71
|
/** Get the API base URL */
|
|
@@ -74,6 +100,12 @@ export declare class OACPAgent {
|
|
|
74
100
|
* @returns Discovery results with agents and pagination info
|
|
75
101
|
*/
|
|
76
102
|
discover(query?: DiscoverQuery): Promise<DiscoverResponse>;
|
|
103
|
+
/**
|
|
104
|
+
* Fetch a single agent's card by agent_id (used to get the recipient's
|
|
105
|
+
* public_key before sealing). Uses the registry's agent_id filter when
|
|
106
|
+
* available, with a client-side paging fallback for older registries.
|
|
107
|
+
*/
|
|
108
|
+
getAgentCard(agentId: string): Promise<AgentCard | null>;
|
|
77
109
|
/**
|
|
78
110
|
* Get this agent's token balance.
|
|
79
111
|
*/
|
|
@@ -102,12 +134,17 @@ export declare class OACPAgent {
|
|
|
102
134
|
* @param recipientId - Target agent's agent_id
|
|
103
135
|
* @param messageType - Message type (task_request, task_ack, task_result, task_error)
|
|
104
136
|
* @param payload - Message payload object
|
|
105
|
-
* @param options - Optional correlation_id and
|
|
137
|
+
* @param options - Optional correlation_id, sequence, and seal flag.
|
|
138
|
+
* `seal: true` end-to-end encrypts the payload (RFC 001 §4): the
|
|
139
|
+
* registry relays ciphertext it cannot read; only the recipient and
|
|
140
|
+
* this agent can open it. Requires the recipient's card to be
|
|
141
|
+
* discoverable (for their public key).
|
|
106
142
|
* @returns The message_id assigned by the registry
|
|
107
143
|
*/
|
|
108
144
|
send(recipientId: string, messageType: MessageType, payload: Record<string, unknown>, options?: {
|
|
109
145
|
correlationId?: string;
|
|
110
146
|
sequence?: number;
|
|
147
|
+
seal?: boolean;
|
|
111
148
|
}): Promise<string>;
|
|
112
149
|
/**
|
|
113
150
|
* Get messages for this agent from the registry.
|
|
@@ -124,6 +161,13 @@ export declare class OACPAgent {
|
|
|
124
161
|
messages: MessageEnvelope[];
|
|
125
162
|
total: number;
|
|
126
163
|
}>;
|
|
164
|
+
/**
|
|
165
|
+
* If the envelope carries a sealed payload this agent can open,
|
|
166
|
+
* return a copy with the decrypted payload and `was_sealed: true`.
|
|
167
|
+
* Sealed payloads we cannot open (or that fail to decrypt) pass
|
|
168
|
+
* through unchanged so callers can still see the sealed marker.
|
|
169
|
+
*/
|
|
170
|
+
unsealEnvelope(msg: MessageEnvelope): MessageEnvelope;
|
|
127
171
|
/**
|
|
128
172
|
* Register an event handler for incoming messages.
|
|
129
173
|
*
|
|
@@ -149,6 +193,8 @@ export declare class OACPAgent {
|
|
|
149
193
|
* @private
|
|
150
194
|
*/
|
|
151
195
|
private stopRealtimeSubscription;
|
|
196
|
+
/** True while the Realtime push channel is connected (push delivery live). */
|
|
197
|
+
isRealtimeConnected(): boolean;
|
|
152
198
|
/**
|
|
153
199
|
* Register an action with a trust-validated handler.
|
|
154
200
|
*
|
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,WAAW,EAKZ,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -16,11 +16,15 @@
|
|
|
16
16
|
* const agents = await agent.discover({ capability: 'data-extraction' });
|
|
17
17
|
*/
|
|
18
18
|
import { DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_KEYPAIR_PATH, OACP_PUBLIC_REGISTRY_URL, OACP_PUBLIC_REGISTRY_KEY, } from './config.js';
|
|
19
|
-
import { resolveKeypair, signMessage, verifySignature, canonicalizeMessage, } from './crypto.js';
|
|
19
|
+
import { loadOrCreateKeypair, resolveKeypair, signMessage, verifySignature, canonicalizeMessage, } from './crypto.js';
|
|
20
|
+
import { sealPayload, unsealPayload, isSealedPayload, } from './seal.js';
|
|
20
21
|
import { validatePayload, isSenderAllowed, matchAction, DEFAULT_TRUST_POLICY, } from './trust.js';
|
|
21
22
|
export class OACPAgent {
|
|
22
23
|
config;
|
|
23
24
|
keypair;
|
|
25
|
+
ownerKeypair;
|
|
26
|
+
// Account owner key (RFC 003): undefined = not yet fetched, null = not attached
|
|
27
|
+
accountOwnerKey = undefined;
|
|
24
28
|
agentId = null;
|
|
25
29
|
registryToken = null;
|
|
26
30
|
heartbeatTimer = null;
|
|
@@ -31,6 +35,7 @@ export class OACPAgent {
|
|
|
31
35
|
messageHandlers = new Map();
|
|
32
36
|
// deno-lint-ignore no-explicit-any
|
|
33
37
|
realtimeChannel = null;
|
|
38
|
+
realtimeActive = false;
|
|
34
39
|
// deno-lint-ignore no-explicit-any
|
|
35
40
|
supabaseClient = null;
|
|
36
41
|
// Trust model
|
|
@@ -47,6 +52,13 @@ export class OACPAgent {
|
|
|
47
52
|
// Resolve keypair: config.keypair → OACP_SECRET_KEY/OACP_PUBLIC_KEY env → file
|
|
48
53
|
const keypairPath = config.keypairPath || DEFAULT_KEYPAIR_PATH;
|
|
49
54
|
this.keypair = resolveKeypair(config.keypair, keypairPath);
|
|
55
|
+
// Owner keypair (RFC 001 §3.1): the human's own encryption identity,
|
|
56
|
+
// kept beside the agent keypair. Sealed messages are also wrapped for
|
|
57
|
+
// the owners of both participants, so humans can decrypt their agents'
|
|
58
|
+
// sealed threads in the dashboard without the agent's key leaving disk.
|
|
59
|
+
const ownerPath = config.ownerKeypairPath
|
|
60
|
+
|| keypairPath.replace(/[^/\\]+$/, 'owner-keypair.json');
|
|
61
|
+
this.ownerKeypair = loadOrCreateKeypair(ownerPath);
|
|
50
62
|
// Set API base URL
|
|
51
63
|
const supabaseUrl = config.supabaseUrl || OACP_PUBLIC_REGISTRY_URL;
|
|
52
64
|
this.apiBaseUrl =
|
|
@@ -77,6 +89,65 @@ export class OACPAgent {
|
|
|
77
89
|
getPublicKey() {
|
|
78
90
|
return this.keypair.publicKey;
|
|
79
91
|
}
|
|
92
|
+
/**
|
|
93
|
+
* The owner's encryption keypair (RFC 001 §3.1). The secret is meant to
|
|
94
|
+
* be handed to the owner's *own* browser (dashboard localStorage via a
|
|
95
|
+
* URL fragment) so they can decrypt their agent's sealed threads —
|
|
96
|
+
* never sent to the registry or any other party.
|
|
97
|
+
*/
|
|
98
|
+
getOwnerKeypair() {
|
|
99
|
+
return { ...this.ownerKeypair };
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Attach this agent to an owner account (RFC 003 §2.2) using a
|
|
103
|
+
* single-use code the owner generated in the dashboard. After attaching,
|
|
104
|
+
* sealed messages use the account's owner key, so one browser key opens
|
|
105
|
+
* every attached agent's sealed threads.
|
|
106
|
+
*/
|
|
107
|
+
async attachOwner(code) {
|
|
108
|
+
if (!this.agentId || !this.registryToken) {
|
|
109
|
+
throw new Error('Agent must be registered before attaching to an owner');
|
|
110
|
+
}
|
|
111
|
+
const response = await fetch(`${this.apiBaseUrl}/owners/attach`, {
|
|
112
|
+
method: 'POST',
|
|
113
|
+
headers: {
|
|
114
|
+
'Content-Type': 'application/json',
|
|
115
|
+
Authorization: `Bearer ${this.registryToken}`,
|
|
116
|
+
},
|
|
117
|
+
body: JSON.stringify({ agent_id: this.agentId, code }),
|
|
118
|
+
});
|
|
119
|
+
if (!response.ok) {
|
|
120
|
+
const error = (await response.json());
|
|
121
|
+
throw new Error(`Owner attach failed (${response.status}): ${error.error}`);
|
|
122
|
+
}
|
|
123
|
+
// deno-lint-ignore no-explicit-any
|
|
124
|
+
const data = (await response.json());
|
|
125
|
+
this.accountOwnerKey =
|
|
126
|
+
typeof data.owner_public_key === 'string' ? data.owner_public_key : null;
|
|
127
|
+
console.log(`[OACP] Attached to owner account ${data.owner_id}`);
|
|
128
|
+
return { owner_id: data.owner_id, owner_public_key: this.accountOwnerKey ?? null };
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* The account owner key for this agent, fetched once from its own card.
|
|
132
|
+
* @private
|
|
133
|
+
*/
|
|
134
|
+
async resolveAccountOwnerKey() {
|
|
135
|
+
if (this.accountOwnerKey !== undefined)
|
|
136
|
+
return this.accountOwnerKey;
|
|
137
|
+
if (!this.agentId)
|
|
138
|
+
return null;
|
|
139
|
+
try {
|
|
140
|
+
const card = await this.getAgentCard(this.agentId);
|
|
141
|
+
const key = card?.owner_public_key;
|
|
142
|
+
this.accountOwnerKey =
|
|
143
|
+
typeof key === 'string' && /^[0-9a-fA-F]{64}$/.test(key) ? key : null;
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
// Transient lookup failure — don't cache; fall back this send only
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
return this.accountOwnerKey;
|
|
150
|
+
}
|
|
80
151
|
/** Check if the agent is registered */
|
|
81
152
|
isRegistered() {
|
|
82
153
|
return this.registered;
|
|
@@ -126,6 +197,9 @@ export class OACPAgent {
|
|
|
126
197
|
if (this.config.model) {
|
|
127
198
|
structuredMeta.model = this.config.model;
|
|
128
199
|
}
|
|
200
|
+
// Advertise the owner's encryption key so counterparties can wrap
|
|
201
|
+
// sealed payloads for this agent's human too (RFC 001 §3.1)
|
|
202
|
+
structuredMeta.owner_public_key = this.ownerKeypair.publicKey;
|
|
129
203
|
if (this.config.languages) {
|
|
130
204
|
structuredMeta.languages = this.config.languages;
|
|
131
205
|
}
|
|
@@ -279,6 +353,35 @@ export class OACPAgent {
|
|
|
279
353
|
}
|
|
280
354
|
return (await response.json());
|
|
281
355
|
}
|
|
356
|
+
/**
|
|
357
|
+
* Fetch a single agent's card by agent_id (used to get the recipient's
|
|
358
|
+
* public_key before sealing). Uses the registry's agent_id filter when
|
|
359
|
+
* available, with a client-side paging fallback for older registries.
|
|
360
|
+
*/
|
|
361
|
+
async getAgentCard(agentId) {
|
|
362
|
+
// Fast path: registry supports ?agent_id= (additive, RFC 001)
|
|
363
|
+
const response = await fetch(`${this.apiBaseUrl}/discover?agent_id=${encodeURIComponent(agentId)}`);
|
|
364
|
+
if (response.ok) {
|
|
365
|
+
const data = (await response.json());
|
|
366
|
+
const hit = data.agents.find((a) => a.agent_id === agentId);
|
|
367
|
+
if (hit)
|
|
368
|
+
return hit;
|
|
369
|
+
// Older registries ignore the filter and return page 1 of everything —
|
|
370
|
+
// fall through to paging only if the result looks unfiltered.
|
|
371
|
+
if (data.agents.length === 0 || data.total <= data.agents.length)
|
|
372
|
+
return null;
|
|
373
|
+
}
|
|
374
|
+
// Fallback: page through discovery (capped)
|
|
375
|
+
for (let page = 1; page <= 10; page++) {
|
|
376
|
+
const res = await this.discover({ page, page_size: 100 });
|
|
377
|
+
const hit = res.agents.find((a) => a.agent_id === agentId);
|
|
378
|
+
if (hit)
|
|
379
|
+
return hit;
|
|
380
|
+
if (page * 100 >= res.total)
|
|
381
|
+
break;
|
|
382
|
+
}
|
|
383
|
+
return null;
|
|
384
|
+
}
|
|
282
385
|
// ============================================================
|
|
283
386
|
// Token Economy
|
|
284
387
|
// ============================================================
|
|
@@ -359,13 +462,39 @@ export class OACPAgent {
|
|
|
359
462
|
* @param recipientId - Target agent's agent_id
|
|
360
463
|
* @param messageType - Message type (task_request, task_ack, task_result, task_error)
|
|
361
464
|
* @param payload - Message payload object
|
|
362
|
-
* @param options - Optional correlation_id and
|
|
465
|
+
* @param options - Optional correlation_id, sequence, and seal flag.
|
|
466
|
+
* `seal: true` end-to-end encrypts the payload (RFC 001 §4): the
|
|
467
|
+
* registry relays ciphertext it cannot read; only the recipient and
|
|
468
|
+
* this agent can open it. Requires the recipient's card to be
|
|
469
|
+
* discoverable (for their public key).
|
|
363
470
|
* @returns The message_id assigned by the registry
|
|
364
471
|
*/
|
|
365
472
|
async send(recipientId, messageType, payload, options) {
|
|
366
473
|
if (!this.agentId || !this.registryToken) {
|
|
367
474
|
throw new Error('Agent must be registered before sending messages');
|
|
368
475
|
}
|
|
476
|
+
if (options?.seal) {
|
|
477
|
+
const recipientCard = await this.getAgentCard(recipientId);
|
|
478
|
+
if (!recipientCard?.public_key) {
|
|
479
|
+
throw new Error(`[OACP] Cannot seal: no public key found for recipient ${recipientId}`);
|
|
480
|
+
}
|
|
481
|
+
// Owner slots: both humans can decrypt their agents' sealed threads
|
|
482
|
+
// (RFC 001 §3.1 / RFC 003). Prefer the account owner key (one key
|
|
483
|
+
// for all the human's agents); fall back to the per-machine key.
|
|
484
|
+
// Owners of *participants* only — the registry can't read anything.
|
|
485
|
+
const ownOwnerKey = (await this.resolveAccountOwnerKey()) ?? this.ownerKeypair.publicKey;
|
|
486
|
+
const readers = [
|
|
487
|
+
{ agentId: recipientId, ed25519PublicKey: recipientCard.public_key },
|
|
488
|
+
{ agentId: this.agentId, ed25519PublicKey: this.keypair.publicKey },
|
|
489
|
+
{ agentId: `owner:${this.agentId}`, ed25519PublicKey: ownOwnerKey },
|
|
490
|
+
];
|
|
491
|
+
const recipientOwnerKey = recipientCard.owner_public_key ??
|
|
492
|
+
recipientCard.metadata?.owner_public_key;
|
|
493
|
+
if (typeof recipientOwnerKey === 'string' && /^[0-9a-fA-F]{64}$/.test(recipientOwnerKey)) {
|
|
494
|
+
readers.push({ agentId: `owner:${recipientId}`, ed25519PublicKey: recipientOwnerKey });
|
|
495
|
+
}
|
|
496
|
+
payload = sealPayload(payload, readers);
|
|
497
|
+
}
|
|
369
498
|
// Canonicalize and sign — normalize null/undefined to ensure consistency
|
|
370
499
|
const correlationId = options?.correlationId || undefined;
|
|
371
500
|
const sequence = options?.sequence ?? undefined;
|
|
@@ -441,10 +570,28 @@ export class OACPAgent {
|
|
|
441
570
|
// deno-lint-ignore no-explicit-any
|
|
442
571
|
const result = (await response.json());
|
|
443
572
|
return {
|
|
444
|
-
messages: result.messages,
|
|
573
|
+
messages: result.messages.map((m) => this.unsealEnvelope(m)),
|
|
445
574
|
total: result.total,
|
|
446
575
|
};
|
|
447
576
|
}
|
|
577
|
+
/**
|
|
578
|
+
* If the envelope carries a sealed payload this agent can open,
|
|
579
|
+
* return a copy with the decrypted payload and `was_sealed: true`.
|
|
580
|
+
* Sealed payloads we cannot open (or that fail to decrypt) pass
|
|
581
|
+
* through unchanged so callers can still see the sealed marker.
|
|
582
|
+
*/
|
|
583
|
+
unsealEnvelope(msg) {
|
|
584
|
+
if (!isSealedPayload(msg.payload) || !this.agentId)
|
|
585
|
+
return msg;
|
|
586
|
+
try {
|
|
587
|
+
const payload = unsealPayload(msg.payload, this.keypair, this.agentId);
|
|
588
|
+
return { ...msg, payload, was_sealed: true };
|
|
589
|
+
}
|
|
590
|
+
catch (err) {
|
|
591
|
+
console.warn(`[OACP] Could not unseal message ${msg.message_id}: ${err instanceof Error ? err.message : err}`);
|
|
592
|
+
return msg;
|
|
593
|
+
}
|
|
594
|
+
}
|
|
448
595
|
/**
|
|
449
596
|
* Register an event handler for incoming messages.
|
|
450
597
|
*
|
|
@@ -508,8 +655,12 @@ export class OACPAgent {
|
|
|
508
655
|
})
|
|
509
656
|
.subscribe((status) => {
|
|
510
657
|
if (status === 'SUBSCRIBED') {
|
|
658
|
+
this.realtimeActive = true;
|
|
511
659
|
console.log(`[OACP] Realtime subscription active for ${this.agentId}`);
|
|
512
660
|
}
|
|
661
|
+
else if (status === 'CLOSED' || status === 'CHANNEL_ERROR' || status === 'TIMED_OUT') {
|
|
662
|
+
this.realtimeActive = false;
|
|
663
|
+
}
|
|
513
664
|
});
|
|
514
665
|
}
|
|
515
666
|
catch (err) {
|
|
@@ -524,9 +675,14 @@ export class OACPAgent {
|
|
|
524
675
|
if (this.realtimeChannel && this.supabaseClient) {
|
|
525
676
|
this.supabaseClient.removeChannel(this.realtimeChannel);
|
|
526
677
|
this.realtimeChannel = null;
|
|
678
|
+
this.realtimeActive = false;
|
|
527
679
|
console.log('[OACP] Realtime subscription stopped');
|
|
528
680
|
}
|
|
529
681
|
}
|
|
682
|
+
/** True while the Realtime push channel is connected (push delivery live). */
|
|
683
|
+
isRealtimeConnected() {
|
|
684
|
+
return this.realtimeActive;
|
|
685
|
+
}
|
|
530
686
|
/**
|
|
531
687
|
* Register an action with a trust-validated handler.
|
|
532
688
|
*
|
|
@@ -710,6 +866,7 @@ export class OACPAgent {
|
|
|
710
866
|
*/
|
|
711
867
|
dispatchMessage(msg) {
|
|
712
868
|
console.log(`[OACP] Received ${msg.message_type} from ${msg.sender_agent_id?.substring(0, 8)}...`);
|
|
869
|
+
msg = this.unsealEnvelope(msg);
|
|
713
870
|
// Dispatch to type-specific handlers
|
|
714
871
|
const typeHandlers = this.messageHandlers.get(msg.message_type) || [];
|
|
715
872
|
for (const handler of typeHandlers) {
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -36,6 +36,12 @@ export interface AgentConfig {
|
|
|
36
36
|
metadata?: Record<string, unknown>;
|
|
37
37
|
/** Path to keypair JSON file (default: ./oacp-keypair.json) */
|
|
38
38
|
keypairPath?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Path to the owner's encryption keypair (RFC 001 §3.1).
|
|
41
|
+
* Default: "owner-keypair.json" in the same directory as keypairPath.
|
|
42
|
+
* Auto-generated on first use.
|
|
43
|
+
*/
|
|
44
|
+
ownerKeypairPath?: string;
|
|
39
45
|
/**
|
|
40
46
|
* Explicit Ed25519 keypair (hex strings). Takes precedence over
|
|
41
47
|
* keypairPath and the OACP_SECRET_KEY / OACP_PUBLIC_KEY env vars.
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,wBAAwB,6CAA6C,CAAC;AACnF,eAAO,MAAM,wBAAwB,qNAAqN,CAAC;AAE3P,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAEnD,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,oDAAoD;IACpD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAE3B,gEAAgE;IAChE,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,wEAAwE;IACxE,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,6BAA6B,QAAS,CAAC;AACpD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,wBAAwB,6CAA6C,CAAC;AACnF,eAAO,MAAM,wBAAwB,qNAAqN,CAAC;AAE3P,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAC;IAEb,4CAA4C;IAC5C,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE9B,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAEnD,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,oDAAoD;IACpD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAE3B,gEAAgE;IAChE,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,wEAAwE;IACxE,KAAK,CAAC,EAAE,SAAS,CAAC;IAElB,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAErB,oFAAoF;IACpF,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,6BAA6B,QAAS,CAAC;AACpD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,0CAA0C,CAAC;AACnF,MAAM,CAAC,MAAM,wBAAwB,GAAG,kNAAkN,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,0CAA0C,CAAC;AACnF,MAAM,CAAC,MAAM,wBAAwB,GAAG,kNAAkN,CAAC;AAmF3P,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -22,10 +22,11 @@
|
|
|
22
22
|
* console.log('Found agents:', results.agents);
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
|
-
export declare const VERSION = "0.
|
|
25
|
+
export declare const VERSION = "0.6.0";
|
|
26
26
|
export { OACPAgent } from './agent.js';
|
|
27
27
|
export { type AgentConfig, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_KEYPAIR_PATH, OACP_PUBLIC_REGISTRY_URL, OACP_PUBLIC_REGISTRY_KEY, } from './config.js';
|
|
28
28
|
export { generateKeypair, signMessage, verifySignature, canonicalizeMessage, loadOrCreateKeypair, resolveKeypair, isValidKeypair, toHex, fromHex, type OACPKeypair, } from './crypto.js';
|
|
29
29
|
export type { AgentCard, AgentMetadata, ModelInfo, AgentStatus, RegisterRequest, RegisterResponse, ReregisterResponse, HeartbeatRequest, HeartbeatResponse, DiscoverQuery, DiscoverResponse, MessageType, MessageEnvelope, PayloadContentType, ContentPayload, ApiError, } from './types.js';
|
|
30
|
+
export { sealPayload, unsealPayload, isSealedPayload, SEAL_ALG, SEAL_VERSION, type SealedPayload, type SealReader, } from './seal.js';
|
|
30
31
|
export { validatePayload, isSenderAllowed, matchAction, DEFAULT_TRUST_POLICY, type ActionSpec, type TrustPolicy, type SimpleSchema, type ValidationResult, } from './trust.js';
|
|
31
32
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EACL,KAAK,WAAW,EAChB,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,KAAK,EACL,OAAO,EACP,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,SAAS,EACT,aAAa,EACb,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,QAAQ,GACT,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAGvC,OAAO,EACL,KAAK,WAAW,EAChB,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,KAAK,EACL,OAAO,EACP,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,SAAS,EACT,aAAa,EACb,SAAS,EACT,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,QAAQ,GACT,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,UAAU,GAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,gBAAgB,GACtB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -22,13 +22,15 @@
|
|
|
22
22
|
* console.log('Found agents:', results.agents);
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
|
-
export const VERSION = '0.
|
|
25
|
+
export const VERSION = '0.6.0';
|
|
26
26
|
// Main agent class
|
|
27
27
|
export { OACPAgent } from './agent.js';
|
|
28
28
|
// Configuration
|
|
29
29
|
export { DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_KEYPAIR_PATH, OACP_PUBLIC_REGISTRY_URL, OACP_PUBLIC_REGISTRY_KEY, } from './config.js';
|
|
30
30
|
// Cryptography
|
|
31
31
|
export { generateKeypair, signMessage, verifySignature, canonicalizeMessage, loadOrCreateKeypair, resolveKeypair, isValidKeypair, toHex, fromHex, } from './crypto.js';
|
|
32
|
+
// Sealed payloads (RFC 001 §4, oacp/v2-draft)
|
|
33
|
+
export { sealPayload, unsealPayload, isSealedPayload, SEAL_ALG, SEAL_VERSION, } from './seal.js';
|
|
32
34
|
// Trust model
|
|
33
35
|
export { validatePayload, isSenderAllowed, matchAction, DEFAULT_TRUST_POLICY, } from './trust.js';
|
|
34
36
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,gBAAgB;AAChB,OAAO,EAEL,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,eAAe;AACf,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,KAAK,EACL,OAAO,GAER,MAAM,aAAa,CAAC;AAsBrB,cAAc;AACd,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,oBAAoB,GAKrB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,mBAAmB;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,gBAAgB;AAChB,OAAO,EAEL,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,eAAe;AACf,OAAO,EACL,eAAe,EACf,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,KAAK,EACL,OAAO,GAER,MAAM,aAAa,CAAC;AAsBrB,8CAA8C;AAC9C,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,QAAQ,EACR,YAAY,GAGb,MAAM,WAAW,CAAC;AAEnB,cAAc;AACd,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,oBAAoB,GAKrB,MAAM,YAAY,CAAC"}
|
package/dist/seal.d.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OACP SDK — Sealed Payloads (RFC 001 §4, oacp/v2-draft)
|
|
3
|
+
*
|
|
4
|
+
* End-to-end encryption for message payloads. Every agent's Ed25519
|
|
5
|
+
* identity key converts deterministically to X25519 (RFC 7748), so any
|
|
6
|
+
* registered agent can receive sealed payloads with zero new key
|
|
7
|
+
* management.
|
|
8
|
+
*
|
|
9
|
+
* Scheme: x25519-hkdf-xchacha20poly1305
|
|
10
|
+
* 1. Random 32-byte content encryption key (CEK); payload JSON is
|
|
11
|
+
* encrypted with XChaCha20-Poly1305 under the CEK.
|
|
12
|
+
* 2. One ephemeral X25519 keypair per message; the CEK is wrapped
|
|
13
|
+
* separately for each reader (recipient AND sender, so your own
|
|
14
|
+
* outbox stays readable) via X25519 ECDH → HKDF-SHA256 → AEAD.
|
|
15
|
+
* 3. The registry relays the sealed object opaquely; the Ed25519
|
|
16
|
+
* envelope signature covers it unchanged.
|
|
17
|
+
*
|
|
18
|
+
* All primitives are audited @noble libraries — no hand-rolled crypto.
|
|
19
|
+
* Known limitation (documented in RFC 001 §4.2): no forward secrecy in
|
|
20
|
+
* v1 — a stolen agent key decrypts that agent's history.
|
|
21
|
+
*/
|
|
22
|
+
import { type OACPKeypair } from './crypto.js';
|
|
23
|
+
export declare const SEAL_ALG = "x25519-hkdf-xchacha20poly1305";
|
|
24
|
+
export declare const SEAL_VERSION = 1;
|
|
25
|
+
/** Wire format of a sealed payload (RFC 001 §4.1). */
|
|
26
|
+
export interface SealedPayload extends Record<string, unknown> {
|
|
27
|
+
sealed: true;
|
|
28
|
+
v: number;
|
|
29
|
+
alg: string;
|
|
30
|
+
/** Ephemeral X25519 public key, hex */
|
|
31
|
+
epk: string;
|
|
32
|
+
/** 24-byte content nonce, hex */
|
|
33
|
+
nonce: string;
|
|
34
|
+
/** AEAD(payload JSON), base64 */
|
|
35
|
+
ciphertext: string;
|
|
36
|
+
/** agent_id → wrapped CEK, hex(nonce ‖ AEAD(CEK)) */
|
|
37
|
+
keys: Record<string, string>;
|
|
38
|
+
}
|
|
39
|
+
/** A reader who will be able to open the sealed payload. */
|
|
40
|
+
export interface SealReader {
|
|
41
|
+
agentId: string;
|
|
42
|
+
/** The reader's Ed25519 identity public key, hex (from their agent card) */
|
|
43
|
+
ed25519PublicKey: string;
|
|
44
|
+
}
|
|
45
|
+
/** Type guard: does this payload look like a sealed payload envelope? */
|
|
46
|
+
export declare function isSealedPayload(payload: unknown): payload is SealedPayload;
|
|
47
|
+
/**
|
|
48
|
+
* Seal a payload for a set of readers.
|
|
49
|
+
*
|
|
50
|
+
* Include the sender in `readers` (with their own agent_id and public
|
|
51
|
+
* key) so the sender's outbox copy stays decryptable. Sealing needs no
|
|
52
|
+
* secret key — only the readers' public identity keys.
|
|
53
|
+
*/
|
|
54
|
+
export declare function sealPayload(payload: Record<string, unknown>, readers: SealReader[]): SealedPayload;
|
|
55
|
+
/**
|
|
56
|
+
* Unseal a payload with this agent's Ed25519 keypair.
|
|
57
|
+
*
|
|
58
|
+
* Throws if the sealed object has no wrapped key for `agentId`, if the
|
|
59
|
+
* algorithm/version is unknown, or if authentication fails (tampered
|
|
60
|
+
* ciphertext or wrong key).
|
|
61
|
+
*/
|
|
62
|
+
export declare function unsealPayload(sealed: SealedPayload, keypair: OACPKeypair, agentId: string): Record<string, unknown>;
|
|
63
|
+
//# sourceMappingURL=seal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seal.d.ts","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,OAAO,EAAkB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/D,eAAO,MAAM,QAAQ,kCAAkC,CAAC;AACxD,eAAO,MAAM,YAAY,IAAI,CAAC;AAK9B,sDAAsD;AACtD,MAAM,WAAW,aAAc,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,MAAM,EAAE,IAAI,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAiBD,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,aAAa,CAW1E;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,OAAO,EAAE,UAAU,EAAE,GACpB,aAAa,CA+Bf;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAwBzB"}
|
package/dist/seal.js
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OACP SDK — Sealed Payloads (RFC 001 §4, oacp/v2-draft)
|
|
3
|
+
*
|
|
4
|
+
* End-to-end encryption for message payloads. Every agent's Ed25519
|
|
5
|
+
* identity key converts deterministically to X25519 (RFC 7748), so any
|
|
6
|
+
* registered agent can receive sealed payloads with zero new key
|
|
7
|
+
* management.
|
|
8
|
+
*
|
|
9
|
+
* Scheme: x25519-hkdf-xchacha20poly1305
|
|
10
|
+
* 1. Random 32-byte content encryption key (CEK); payload JSON is
|
|
11
|
+
* encrypted with XChaCha20-Poly1305 under the CEK.
|
|
12
|
+
* 2. One ephemeral X25519 keypair per message; the CEK is wrapped
|
|
13
|
+
* separately for each reader (recipient AND sender, so your own
|
|
14
|
+
* outbox stays readable) via X25519 ECDH → HKDF-SHA256 → AEAD.
|
|
15
|
+
* 3. The registry relays the sealed object opaquely; the Ed25519
|
|
16
|
+
* envelope signature covers it unchanged.
|
|
17
|
+
*
|
|
18
|
+
* All primitives are audited @noble libraries — no hand-rolled crypto.
|
|
19
|
+
* Known limitation (documented in RFC 001 §4.2): no forward secrecy in
|
|
20
|
+
* v1 — a stolen agent key decrypts that agent's history.
|
|
21
|
+
*/
|
|
22
|
+
import { ed25519, x25519 } from '@noble/curves/ed25519.js';
|
|
23
|
+
import { xchacha20poly1305 } from '@noble/ciphers/chacha.js';
|
|
24
|
+
import { hkdf } from '@noble/hashes/hkdf.js';
|
|
25
|
+
import { sha256 } from '@noble/hashes/sha2.js';
|
|
26
|
+
import { toHex, fromHex } from './crypto.js';
|
|
27
|
+
export const SEAL_ALG = 'x25519-hkdf-xchacha20poly1305';
|
|
28
|
+
export const SEAL_VERSION = 1;
|
|
29
|
+
const CEK_BYTES = 32;
|
|
30
|
+
const NONCE_BYTES = 24;
|
|
31
|
+
function randomBytes(n) {
|
|
32
|
+
const out = new Uint8Array(n);
|
|
33
|
+
globalThis.crypto.getRandomValues(out);
|
|
34
|
+
return out;
|
|
35
|
+
}
|
|
36
|
+
function utf8(s) {
|
|
37
|
+
return new TextEncoder().encode(s);
|
|
38
|
+
}
|
|
39
|
+
/** Derive the per-reader CEK wrap key: HKDF-SHA256 over the ECDH secret. */
|
|
40
|
+
function wrapKeyFor(sharedSecret, epk, agentId) {
|
|
41
|
+
return hkdf(sha256, sharedSecret, epk, utf8(`oacp-seal-v${SEAL_VERSION}:${agentId}`), 32);
|
|
42
|
+
}
|
|
43
|
+
/** Type guard: does this payload look like a sealed payload envelope? */
|
|
44
|
+
export function isSealedPayload(payload) {
|
|
45
|
+
if (typeof payload !== 'object' || payload === null)
|
|
46
|
+
return false;
|
|
47
|
+
const p = payload;
|
|
48
|
+
return (p.sealed === true &&
|
|
49
|
+
typeof p.epk === 'string' &&
|
|
50
|
+
typeof p.nonce === 'string' &&
|
|
51
|
+
typeof p.ciphertext === 'string' &&
|
|
52
|
+
typeof p.keys === 'object' &&
|
|
53
|
+
p.keys !== null);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Seal a payload for a set of readers.
|
|
57
|
+
*
|
|
58
|
+
* Include the sender in `readers` (with their own agent_id and public
|
|
59
|
+
* key) so the sender's outbox copy stays decryptable. Sealing needs no
|
|
60
|
+
* secret key — only the readers' public identity keys.
|
|
61
|
+
*/
|
|
62
|
+
export function sealPayload(payload, readers) {
|
|
63
|
+
if (readers.length === 0) {
|
|
64
|
+
throw new Error('[OACP] sealPayload requires at least one reader');
|
|
65
|
+
}
|
|
66
|
+
const cek = randomBytes(CEK_BYTES);
|
|
67
|
+
const nonce = randomBytes(NONCE_BYTES);
|
|
68
|
+
const ciphertext = xchacha20poly1305(cek, nonce).encrypt(utf8(JSON.stringify(payload)));
|
|
69
|
+
const ephSecret = x25519.utils.randomSecretKey();
|
|
70
|
+
const epk = x25519.getPublicKey(ephSecret);
|
|
71
|
+
const keys = {};
|
|
72
|
+
for (const reader of readers) {
|
|
73
|
+
const readerXPub = ed25519.utils.toMontgomery(fromHex(reader.ed25519PublicKey));
|
|
74
|
+
const sharedSecret = x25519.getSharedSecret(ephSecret, readerXPub);
|
|
75
|
+
const wrapKey = wrapKeyFor(sharedSecret, epk, reader.agentId);
|
|
76
|
+
const wrapNonce = randomBytes(NONCE_BYTES);
|
|
77
|
+
const wrapped = xchacha20poly1305(wrapKey, wrapNonce).encrypt(cek);
|
|
78
|
+
keys[reader.agentId] = toHex(wrapNonce) + toHex(wrapped);
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
sealed: true,
|
|
82
|
+
v: SEAL_VERSION,
|
|
83
|
+
alg: SEAL_ALG,
|
|
84
|
+
epk: toHex(epk),
|
|
85
|
+
nonce: toHex(nonce),
|
|
86
|
+
ciphertext: Buffer.from(ciphertext).toString('base64'),
|
|
87
|
+
keys,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Unseal a payload with this agent's Ed25519 keypair.
|
|
92
|
+
*
|
|
93
|
+
* Throws if the sealed object has no wrapped key for `agentId`, if the
|
|
94
|
+
* algorithm/version is unknown, or if authentication fails (tampered
|
|
95
|
+
* ciphertext or wrong key).
|
|
96
|
+
*/
|
|
97
|
+
export function unsealPayload(sealed, keypair, agentId) {
|
|
98
|
+
if (sealed.alg !== SEAL_ALG || sealed.v !== SEAL_VERSION) {
|
|
99
|
+
throw new Error(`[OACP] Unsupported seal scheme: ${sealed.alg} v${sealed.v}`);
|
|
100
|
+
}
|
|
101
|
+
const wrappedHex = sealed.keys[agentId];
|
|
102
|
+
if (!wrappedHex) {
|
|
103
|
+
throw new Error(`[OACP] Sealed payload has no key for agent ${agentId} — not a designated reader`);
|
|
104
|
+
}
|
|
105
|
+
const xSecret = ed25519.utils.toMontgomerySecret(fromHex(keypair.secretKey));
|
|
106
|
+
const epk = fromHex(sealed.epk);
|
|
107
|
+
const sharedSecret = x25519.getSharedSecret(xSecret, epk);
|
|
108
|
+
const wrapKey = wrapKeyFor(sharedSecret, epk, agentId);
|
|
109
|
+
const wrapNonce = fromHex(wrappedHex.slice(0, NONCE_BYTES * 2));
|
|
110
|
+
const wrapped = fromHex(wrappedHex.slice(NONCE_BYTES * 2));
|
|
111
|
+
const cek = xchacha20poly1305(wrapKey, wrapNonce).decrypt(wrapped);
|
|
112
|
+
const plaintext = xchacha20poly1305(cek, fromHex(sealed.nonce)).decrypt(new Uint8Array(Buffer.from(sealed.ciphertext, 'base64')));
|
|
113
|
+
return JSON.parse(new TextDecoder().decode(plaintext));
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=seal.js.map
|
package/dist/seal.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"seal.js","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export interface AgentCard {
|
|
|
16
16
|
public_key: string;
|
|
17
17
|
protocols_supported: string[];
|
|
18
18
|
metadata: AgentMetadata & Record<string, unknown>;
|
|
19
|
+
/** Account owner's encryption public key (RFC 003), joined by the registry when the agent is attached */
|
|
20
|
+
owner_public_key?: string | null;
|
|
19
21
|
last_seen_at: string | null;
|
|
20
22
|
created_at: string;
|
|
21
23
|
updated_at: string;
|
|
@@ -99,6 +101,8 @@ export interface MessageEnvelope {
|
|
|
99
101
|
timestamp: string;
|
|
100
102
|
correlation_id?: string;
|
|
101
103
|
sequence?: number;
|
|
104
|
+
/** Set by the SDK when a sealed payload (RFC 001 §4) was decrypted locally */
|
|
105
|
+
was_sealed?: boolean;
|
|
102
106
|
}
|
|
103
107
|
/**
|
|
104
108
|
* Content type hints for message payloads.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oacp-sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "TypeScript SDK for the Open Agent Communication Protocol — register, discover, and communicate with AI agents",
|
|
3
|
+
"version": "0.6.0",
|
|
4
|
+
"description": "TypeScript SDK for the Open Agent Communication Protocol (OACP) — register, discover, and communicate with AI agents on the Liteneen network",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"type": "module",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"url": "https://github.com/matthewaharris/agora.git",
|
|
33
33
|
"directory": "packages/oacp-sdk"
|
|
34
34
|
},
|
|
35
|
-
"homepage": "https://
|
|
35
|
+
"homepage": "https://liteneen.net",
|
|
36
36
|
"bugs": {
|
|
37
37
|
"url": "https://github.com/matthewaharris/agora/issues"
|
|
38
38
|
},
|
|
@@ -45,6 +45,8 @@
|
|
|
45
45
|
"node": ">=20"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
+
"@noble/ciphers": "^2.2.0",
|
|
49
|
+
"@noble/curves": "^2.2.0",
|
|
48
50
|
"@noble/ed25519": "^3.0.0",
|
|
49
51
|
"@noble/hashes": "^1.7.0",
|
|
50
52
|
"@supabase/supabase-js": "^2.49.0"
|