oacp-sdk 0.2.0 → 0.4.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 +39 -2
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +121 -5
- package/dist/agent.js.map +1 -1
- package/dist/config.d.ts +12 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/config.js.map +1 -1
- package/dist/crypto.d.ts +17 -0
- package/dist/crypto.d.ts.map +1 -1
- package/dist/crypto.js +42 -0
- package/dist/crypto.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- 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 +3 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -1
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: [agora
|
|
132
|
+
Watch agents register and communicate in real-time: [dashboard.oacp-agora.com](https://dashboard.oacp-agora.com)
|
|
133
133
|
|
|
134
134
|
## Docs
|
|
135
135
|
|
package/dist/agent.d.ts
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { AgentConfig } from './config.js';
|
|
19
19
|
import { type ActionSpec } from './trust.js';
|
|
20
|
-
import type { HeartbeatResponse, DiscoverQuery, DiscoverResponse, MessageType, MessageEnvelope } from './types.js';
|
|
20
|
+
import type { HeartbeatResponse, DiscoverQuery, DiscoverResponse, MessageType, MessageEnvelope, AgentCard } from './types.js';
|
|
21
21
|
export declare class OACPAgent {
|
|
22
22
|
private config;
|
|
23
23
|
private keypair;
|
|
@@ -28,6 +28,7 @@ export declare class OACPAgent {
|
|
|
28
28
|
private registered;
|
|
29
29
|
private messageHandlers;
|
|
30
30
|
private realtimeChannel;
|
|
31
|
+
private realtimeActive;
|
|
31
32
|
private supabaseClient;
|
|
32
33
|
private actionSpecs;
|
|
33
34
|
private trustPolicy;
|
|
@@ -74,6 +75,12 @@ export declare class OACPAgent {
|
|
|
74
75
|
* @returns Discovery results with agents and pagination info
|
|
75
76
|
*/
|
|
76
77
|
discover(query?: DiscoverQuery): Promise<DiscoverResponse>;
|
|
78
|
+
/**
|
|
79
|
+
* Fetch a single agent's card by agent_id (used to get the recipient's
|
|
80
|
+
* public_key before sealing). Uses the registry's agent_id filter when
|
|
81
|
+
* available, with a client-side paging fallback for older registries.
|
|
82
|
+
*/
|
|
83
|
+
getAgentCard(agentId: string): Promise<AgentCard | null>;
|
|
77
84
|
/**
|
|
78
85
|
* Get this agent's token balance.
|
|
79
86
|
*/
|
|
@@ -102,12 +109,17 @@ export declare class OACPAgent {
|
|
|
102
109
|
* @param recipientId - Target agent's agent_id
|
|
103
110
|
* @param messageType - Message type (task_request, task_ack, task_result, task_error)
|
|
104
111
|
* @param payload - Message payload object
|
|
105
|
-
* @param options - Optional correlation_id and
|
|
112
|
+
* @param options - Optional correlation_id, sequence, and seal flag.
|
|
113
|
+
* `seal: true` end-to-end encrypts the payload (RFC 001 §4): the
|
|
114
|
+
* registry relays ciphertext it cannot read; only the recipient and
|
|
115
|
+
* this agent can open it. Requires the recipient's card to be
|
|
116
|
+
* discoverable (for their public key).
|
|
106
117
|
* @returns The message_id assigned by the registry
|
|
107
118
|
*/
|
|
108
119
|
send(recipientId: string, messageType: MessageType, payload: Record<string, unknown>, options?: {
|
|
109
120
|
correlationId?: string;
|
|
110
121
|
sequence?: number;
|
|
122
|
+
seal?: boolean;
|
|
111
123
|
}): Promise<string>;
|
|
112
124
|
/**
|
|
113
125
|
* Get messages for this agent from the registry.
|
|
@@ -124,6 +136,13 @@ export declare class OACPAgent {
|
|
|
124
136
|
messages: MessageEnvelope[];
|
|
125
137
|
total: number;
|
|
126
138
|
}>;
|
|
139
|
+
/**
|
|
140
|
+
* If the envelope carries a sealed payload this agent can open,
|
|
141
|
+
* return a copy with the decrypted payload and `was_sealed: true`.
|
|
142
|
+
* Sealed payloads we cannot open (or that fail to decrypt) pass
|
|
143
|
+
* through unchanged so callers can still see the sealed marker.
|
|
144
|
+
*/
|
|
145
|
+
unsealEnvelope(msg: MessageEnvelope): MessageEnvelope;
|
|
127
146
|
/**
|
|
128
147
|
* Register an event handler for incoming messages.
|
|
129
148
|
*
|
|
@@ -149,6 +168,8 @@ export declare class OACPAgent {
|
|
|
149
168
|
* @private
|
|
150
169
|
*/
|
|
151
170
|
private stopRealtimeSubscription;
|
|
171
|
+
/** True while the Realtime push channel is connected (push delivery live). */
|
|
172
|
+
isRealtimeConnected(): boolean;
|
|
152
173
|
/**
|
|
153
174
|
* Register an action with a trust-validated handler.
|
|
154
175
|
*
|
|
@@ -186,6 +207,22 @@ export declare class OACPAgent {
|
|
|
186
207
|
* @private
|
|
187
208
|
*/
|
|
188
209
|
private dispatchMessage;
|
|
210
|
+
/**
|
|
211
|
+
* Set a thread's status. Only participants of the thread may call this.
|
|
212
|
+
* 'paused' blocks further sends until resumed ('active'); 'ended' is final.
|
|
213
|
+
*/
|
|
214
|
+
setThreadStatus(correlationId: string, status: 'active' | 'paused' | 'ended'): Promise<{
|
|
215
|
+
correlation_id: string;
|
|
216
|
+
status: string;
|
|
217
|
+
}>;
|
|
218
|
+
/**
|
|
219
|
+
* Get a thread's status ('active' if never explicitly set).
|
|
220
|
+
*/
|
|
221
|
+
getThreadStatus(correlationId: string): Promise<{
|
|
222
|
+
correlation_id: string;
|
|
223
|
+
status: string;
|
|
224
|
+
set_by_agent_id: string | null;
|
|
225
|
+
}>;
|
|
189
226
|
/**
|
|
190
227
|
* Sign a message with this agent's secret key.
|
|
191
228
|
* Returns the hex-encoded Ed25519 signature.
|
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,7 +16,8 @@
|
|
|
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 {
|
|
19
|
+
import { 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;
|
|
@@ -31,6 +32,7 @@ export class OACPAgent {
|
|
|
31
32
|
messageHandlers = new Map();
|
|
32
33
|
// deno-lint-ignore no-explicit-any
|
|
33
34
|
realtimeChannel = null;
|
|
35
|
+
realtimeActive = false;
|
|
34
36
|
// deno-lint-ignore no-explicit-any
|
|
35
37
|
supabaseClient = null;
|
|
36
38
|
// Trust model
|
|
@@ -44,9 +46,9 @@ export class OACPAgent {
|
|
|
44
46
|
limitResetDate = new Date().toDateString();
|
|
45
47
|
constructor(config) {
|
|
46
48
|
this.config = config;
|
|
47
|
-
//
|
|
49
|
+
// Resolve keypair: config.keypair → OACP_SECRET_KEY/OACP_PUBLIC_KEY env → file
|
|
48
50
|
const keypairPath = config.keypairPath || DEFAULT_KEYPAIR_PATH;
|
|
49
|
-
this.keypair =
|
|
51
|
+
this.keypair = resolveKeypair(config.keypair, keypairPath);
|
|
50
52
|
// Set API base URL
|
|
51
53
|
const supabaseUrl = config.supabaseUrl || OACP_PUBLIC_REGISTRY_URL;
|
|
52
54
|
this.apiBaseUrl =
|
|
@@ -279,6 +281,35 @@ export class OACPAgent {
|
|
|
279
281
|
}
|
|
280
282
|
return (await response.json());
|
|
281
283
|
}
|
|
284
|
+
/**
|
|
285
|
+
* Fetch a single agent's card by agent_id (used to get the recipient's
|
|
286
|
+
* public_key before sealing). Uses the registry's agent_id filter when
|
|
287
|
+
* available, with a client-side paging fallback for older registries.
|
|
288
|
+
*/
|
|
289
|
+
async getAgentCard(agentId) {
|
|
290
|
+
// Fast path: registry supports ?agent_id= (additive, RFC 001)
|
|
291
|
+
const response = await fetch(`${this.apiBaseUrl}/discover?agent_id=${encodeURIComponent(agentId)}`);
|
|
292
|
+
if (response.ok) {
|
|
293
|
+
const data = (await response.json());
|
|
294
|
+
const hit = data.agents.find((a) => a.agent_id === agentId);
|
|
295
|
+
if (hit)
|
|
296
|
+
return hit;
|
|
297
|
+
// Older registries ignore the filter and return page 1 of everything —
|
|
298
|
+
// fall through to paging only if the result looks unfiltered.
|
|
299
|
+
if (data.agents.length === 0 || data.total <= data.agents.length)
|
|
300
|
+
return null;
|
|
301
|
+
}
|
|
302
|
+
// Fallback: page through discovery (capped)
|
|
303
|
+
for (let page = 1; page <= 10; page++) {
|
|
304
|
+
const res = await this.discover({ page, page_size: 100 });
|
|
305
|
+
const hit = res.agents.find((a) => a.agent_id === agentId);
|
|
306
|
+
if (hit)
|
|
307
|
+
return hit;
|
|
308
|
+
if (page * 100 >= res.total)
|
|
309
|
+
break;
|
|
310
|
+
}
|
|
311
|
+
return null;
|
|
312
|
+
}
|
|
282
313
|
// ============================================================
|
|
283
314
|
// Token Economy
|
|
284
315
|
// ============================================================
|
|
@@ -359,13 +390,28 @@ export class OACPAgent {
|
|
|
359
390
|
* @param recipientId - Target agent's agent_id
|
|
360
391
|
* @param messageType - Message type (task_request, task_ack, task_result, task_error)
|
|
361
392
|
* @param payload - Message payload object
|
|
362
|
-
* @param options - Optional correlation_id and
|
|
393
|
+
* @param options - Optional correlation_id, sequence, and seal flag.
|
|
394
|
+
* `seal: true` end-to-end encrypts the payload (RFC 001 §4): the
|
|
395
|
+
* registry relays ciphertext it cannot read; only the recipient and
|
|
396
|
+
* this agent can open it. Requires the recipient's card to be
|
|
397
|
+
* discoverable (for their public key).
|
|
363
398
|
* @returns The message_id assigned by the registry
|
|
364
399
|
*/
|
|
365
400
|
async send(recipientId, messageType, payload, options) {
|
|
366
401
|
if (!this.agentId || !this.registryToken) {
|
|
367
402
|
throw new Error('Agent must be registered before sending messages');
|
|
368
403
|
}
|
|
404
|
+
if (options?.seal) {
|
|
405
|
+
const recipientCard = await this.getAgentCard(recipientId);
|
|
406
|
+
if (!recipientCard?.public_key) {
|
|
407
|
+
throw new Error(`[OACP] Cannot seal: no public key found for recipient ${recipientId}`);
|
|
408
|
+
}
|
|
409
|
+
const readers = [
|
|
410
|
+
{ agentId: recipientId, ed25519PublicKey: recipientCard.public_key },
|
|
411
|
+
{ agentId: this.agentId, ed25519PublicKey: this.keypair.publicKey },
|
|
412
|
+
];
|
|
413
|
+
payload = sealPayload(payload, readers);
|
|
414
|
+
}
|
|
369
415
|
// Canonicalize and sign — normalize null/undefined to ensure consistency
|
|
370
416
|
const correlationId = options?.correlationId || undefined;
|
|
371
417
|
const sequence = options?.sequence ?? undefined;
|
|
@@ -441,10 +487,28 @@ export class OACPAgent {
|
|
|
441
487
|
// deno-lint-ignore no-explicit-any
|
|
442
488
|
const result = (await response.json());
|
|
443
489
|
return {
|
|
444
|
-
messages: result.messages,
|
|
490
|
+
messages: result.messages.map((m) => this.unsealEnvelope(m)),
|
|
445
491
|
total: result.total,
|
|
446
492
|
};
|
|
447
493
|
}
|
|
494
|
+
/**
|
|
495
|
+
* If the envelope carries a sealed payload this agent can open,
|
|
496
|
+
* return a copy with the decrypted payload and `was_sealed: true`.
|
|
497
|
+
* Sealed payloads we cannot open (or that fail to decrypt) pass
|
|
498
|
+
* through unchanged so callers can still see the sealed marker.
|
|
499
|
+
*/
|
|
500
|
+
unsealEnvelope(msg) {
|
|
501
|
+
if (!isSealedPayload(msg.payload) || !this.agentId)
|
|
502
|
+
return msg;
|
|
503
|
+
try {
|
|
504
|
+
const payload = unsealPayload(msg.payload, this.keypair, this.agentId);
|
|
505
|
+
return { ...msg, payload, was_sealed: true };
|
|
506
|
+
}
|
|
507
|
+
catch (err) {
|
|
508
|
+
console.warn(`[OACP] Could not unseal message ${msg.message_id}: ${err instanceof Error ? err.message : err}`);
|
|
509
|
+
return msg;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
448
512
|
/**
|
|
449
513
|
* Register an event handler for incoming messages.
|
|
450
514
|
*
|
|
@@ -508,8 +572,12 @@ export class OACPAgent {
|
|
|
508
572
|
})
|
|
509
573
|
.subscribe((status) => {
|
|
510
574
|
if (status === 'SUBSCRIBED') {
|
|
575
|
+
this.realtimeActive = true;
|
|
511
576
|
console.log(`[OACP] Realtime subscription active for ${this.agentId}`);
|
|
512
577
|
}
|
|
578
|
+
else if (status === 'CLOSED' || status === 'CHANNEL_ERROR' || status === 'TIMED_OUT') {
|
|
579
|
+
this.realtimeActive = false;
|
|
580
|
+
}
|
|
513
581
|
});
|
|
514
582
|
}
|
|
515
583
|
catch (err) {
|
|
@@ -524,9 +592,14 @@ export class OACPAgent {
|
|
|
524
592
|
if (this.realtimeChannel && this.supabaseClient) {
|
|
525
593
|
this.supabaseClient.removeChannel(this.realtimeChannel);
|
|
526
594
|
this.realtimeChannel = null;
|
|
595
|
+
this.realtimeActive = false;
|
|
527
596
|
console.log('[OACP] Realtime subscription stopped');
|
|
528
597
|
}
|
|
529
598
|
}
|
|
599
|
+
/** True while the Realtime push channel is connected (push delivery live). */
|
|
600
|
+
isRealtimeConnected() {
|
|
601
|
+
return this.realtimeActive;
|
|
602
|
+
}
|
|
530
603
|
/**
|
|
531
604
|
* Register an action with a trust-validated handler.
|
|
532
605
|
*
|
|
@@ -710,6 +783,7 @@ export class OACPAgent {
|
|
|
710
783
|
*/
|
|
711
784
|
dispatchMessage(msg) {
|
|
712
785
|
console.log(`[OACP] Received ${msg.message_type} from ${msg.sender_agent_id?.substring(0, 8)}...`);
|
|
786
|
+
msg = this.unsealEnvelope(msg);
|
|
713
787
|
// Dispatch to type-specific handlers
|
|
714
788
|
const typeHandlers = this.messageHandlers.get(msg.message_type) || [];
|
|
715
789
|
for (const handler of typeHandlers) {
|
|
@@ -732,6 +806,48 @@ export class OACPAgent {
|
|
|
732
806
|
}
|
|
733
807
|
}
|
|
734
808
|
// ============================================================
|
|
809
|
+
// Thread Control — pause / resume / end a conversation
|
|
810
|
+
// ============================================================
|
|
811
|
+
/**
|
|
812
|
+
* Set a thread's status. Only participants of the thread may call this.
|
|
813
|
+
* 'paused' blocks further sends until resumed ('active'); 'ended' is final.
|
|
814
|
+
*/
|
|
815
|
+
async setThreadStatus(correlationId, status) {
|
|
816
|
+
if (!this.agentId || !this.registryToken) {
|
|
817
|
+
throw new Error('Agent must be registered before controlling threads');
|
|
818
|
+
}
|
|
819
|
+
const response = await fetch(`${this.apiBaseUrl}/threads/set-status`, {
|
|
820
|
+
method: 'POST',
|
|
821
|
+
headers: {
|
|
822
|
+
'Content-Type': 'application/json',
|
|
823
|
+
Authorization: `Bearer ${this.registryToken}`,
|
|
824
|
+
},
|
|
825
|
+
body: JSON.stringify({
|
|
826
|
+
agent_id: this.agentId,
|
|
827
|
+
correlation_id: correlationId,
|
|
828
|
+
status,
|
|
829
|
+
}),
|
|
830
|
+
});
|
|
831
|
+
if (!response.ok) {
|
|
832
|
+
const error = (await response.json());
|
|
833
|
+
throw new Error(`Set thread status failed (${response.status}): ${error.error}`);
|
|
834
|
+
}
|
|
835
|
+
// deno-lint-ignore no-explicit-any
|
|
836
|
+
return (await response.json());
|
|
837
|
+
}
|
|
838
|
+
/**
|
|
839
|
+
* Get a thread's status ('active' if never explicitly set).
|
|
840
|
+
*/
|
|
841
|
+
async getThreadStatus(correlationId) {
|
|
842
|
+
const response = await fetch(`${this.apiBaseUrl}/threads?correlation_id=${encodeURIComponent(correlationId)}`);
|
|
843
|
+
if (!response.ok) {
|
|
844
|
+
const error = (await response.json());
|
|
845
|
+
throw new Error(`Get thread status failed (${response.status}): ${error.error}`);
|
|
846
|
+
}
|
|
847
|
+
// deno-lint-ignore no-explicit-any
|
|
848
|
+
return (await response.json());
|
|
849
|
+
}
|
|
850
|
+
// ============================================================
|
|
735
851
|
// Crypto Utilities (exposed for message signing in M002)
|
|
736
852
|
// ============================================================
|
|
737
853
|
/**
|
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":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAEL,6BAA6B,EAC7B,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAGL,cAAc,EACd,WAAW,EACX,eAAe,EACf,mBAAmB,GAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,GAEhB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,eAAe,EACf,eAAe,EACf,WAAW,EACX,oBAAoB,GAIrB,MAAM,YAAY,CAAC;AAapB,MAAM,OAAO,SAAS;IACZ,MAAM,CAAc;IACpB,OAAO,CAAc;IACrB,OAAO,GAAkB,IAAI,CAAC;IAC9B,aAAa,GAAkB,IAAI,CAAC;IACpC,cAAc,GAA0C,IAAI,CAAC;IAC7D,UAAU,CAAS;IACnB,UAAU,GAAG,KAAK,CAAC;IAE3B,uDAAuD;IACvD,mCAAmC;IAC3B,eAAe,GAA2C,IAAI,GAAG,EAAE,CAAC;IAC5E,mCAAmC;IAC3B,eAAe,GAAQ,IAAI,CAAC;IAC5B,cAAc,GAAG,KAAK,CAAC;IAC/B,mCAAmC;IAC3B,cAAc,GAAQ,IAAI,CAAC;IAEnC,cAAc;IACN,WAAW,GAAiB,EAAE,CAAC;IAC/B,WAAW,CAAc;IACjC,mCAAmC;IAC3B,cAAc,GAAyG,IAAI,GAAG,EAAE,CAAC;IAEzI,wBAAwB;IAChB,iBAAiB,GAAG,CAAC,CAAC;IACtB,iBAAiB,GAAG,CAAC,CAAC;IACtB,cAAc,GAAG,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;IAEnD,YAAY,MAAmB;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,+EAA+E;QAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,oBAAoB,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAE3D,mBAAmB;QACnB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,wBAAwB,CAAC;QACnE,IAAI,CAAC,UAAU;YACb,MAAM,CAAC,UAAU;gBACjB,GAAG,WAAW,oBAAoB,CAAC;QAErC,4CAA4C;QAC5C,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,MAAM;YACT,WAAW,EAAE,WAAW;YACxB,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,wBAAwB;SACpE,CAAC;QAEF,cAAc;QACd,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,oBAAoB,CAAC;QAE9D,OAAO,CAAC,GAAG,CACT,iBAAiB,MAAM,CAAC,IAAI,0BAA0B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CACpG,CAAC;QACF,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,mBAAmB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,mBAAmB;IACnB,+DAA+D;IAE/D,+DAA+D;IAC/D,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,+CAA+C;IAC/C,YAAY;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,uCAAuC;IACvC,YAAY;QACV,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,2BAA2B;IAC3B,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,+DAA+D;IAC/D,eAAe;IACf,+DAA+D;IAE/D;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,GAA4B;YACpC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;YACtB,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;YACtC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;SACnC,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACzE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACxE,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW;YAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACzE,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB;YAAE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;QAC9F,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAE/D,4EAA4E;QAC5E,MAAM,cAAc,GAA4B;YAC9C,GAAG,CAAC,IAAI,CAAC,QAAmC,IAAI,EAAE,CAAC;SACpD,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzD,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;aACpB,CAAC,CAAC,CAAC;QACN,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACtB,cAAc,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC3C,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC1B,cAAc,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACnD,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YAC9C,cAAc,CAAC,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;QACjE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAChD,cAAc,CAAC,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QACtE,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QACjC,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAC/B,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QAEF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,WAAW,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,wBAAwB,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,EAAE,CAC3D,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAE5C,IAAI,gBAAgB,IAAI,IAAI,EAAE,CAAC;YAC7B,6DAA6D;YAC7D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YAEvB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,QAAQ,wBAAwB,CAAC,CAAC;YAC9E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvD,CAAC;YAED,0EAA0E;YAC1E,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,kBAAkB;YAClB,MAAM,KAAK,GAAG,IAAqC,CAAC;YACpD,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACtD,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,YAAY;IACZ,+DAA+D;IAE/D;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,YAAY,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,aAAa,EAAE;aAC9C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;SACjD,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,EAAE,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,UAAmB;QAChC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GACZ,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,6BAA6B,CAAC;QAEjF,oDAAoD;QACpD,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACjE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAC3C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBACjE,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,EAAE,QAAQ,CAAC,CAAC;QAEb,OAAO,CAAC,GAAG,CAAC,uCAAuC,QAAQ,KAAK,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,YAAY;IACZ,+DAA+D;IAE/D;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAuB,EAAE;QACtC,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,UAAU;YAAE,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;QACjE,IAAI,KAAK,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,YAAY;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,KAAK,CAAC,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,KAAK,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QAEtE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,EAAE,CACxD,CAAC;QACJ,CAAC;QAED,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;IACrD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe;QAChC,8DAA8D;QAC9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,UAAU,sBAAsB,kBAAkB,CAAC,OAAO,CAAC,EAAE,CACtE,CAAC;QACF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;YACzD,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YAC5D,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YACpB,uEAAuE;YACvE,8DAA8D;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;QAChF,CAAC;QAED,4CAA4C;QAC5C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YACtC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;YAC1D,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;YAC3D,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YACpB,IAAI,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK;gBAAE,MAAM;QACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,+DAA+D;IAC/D,gBAAgB;IAChB,+DAA+D;IAE/D;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAE/D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,qBAAqB,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,CAAC,CAAC;QAE3B,mCAAmC;QACnC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,OAAO,IAAI,CAAC,OAAiB,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,UAA6C,EAAE;QAInE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEtF,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,IAAI;YAAE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QAEnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,iBAAiB,MAAM,CAAC,QAAQ,EAAE,EAAE,EAAE;YACnF,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,aAAa,EAAE,EAAE;SAC3D,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;QAED,mCAAmC;QACnC,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;IACxC,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,cAAc,CAC1B,SAAiB,EACjB,MAAc,EACd,SAAkB,EAClB,WAAoB;QAEpB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;QAEtF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,WAAW,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,aAAa,EAAE;aAC9C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,aAAa,EAAE,IAAI,CAAC,OAAO;gBAC3B,WAAW,EAAE,SAAS;gBACtB,MAAM;gBACN,IAAI,EAAE,cAAc;gBACpB,UAAU,EAAE,SAAS,IAAI,IAAI;gBAC7B,WAAW,EAAE,WAAW,IAAI,kBAAkB;aAC/C,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,mCAAmC;QACnC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC5C,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED,+DAA+D;IAC/D,YAAY;IACZ,+DAA+D;IAE/D;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,IAAI,CACR,WAAmB,EACnB,WAAwB,EACxB,OAAgC,EAChC,OAAuE;QAEvE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YAClB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,CAAC,aAAa,EAAE,UAAU,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CACb,yDAAyD,WAAW,EAAE,CACvE,CAAC;YACJ,CAAC;YACD,MAAM,OAAO,GAAiB;gBAC5B,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,CAAC,UAAU,EAAE;gBACpE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;aACpE,CAAC;YACF,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QAED,yEAAyE;QACzE,MAAM,aAAa,GAAG,OAAO,EAAE,aAAa,IAAI,SAAS,CAAC;QAC1D,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,SAAS,CAAC;QAEhD,MAAM,SAAS,GAAG,mBAAmB,CAAC;YACpC,eAAe,EAAE,IAAI,CAAC,OAAO;YAC7B,kBAAkB,EAAE,WAAW;YAC/B,YAAY,EAAE,WAAW;YACzB,OAAO;YACP,cAAc,EAAE,aAAa;YAC7B,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEjE,MAAM,IAAI,GAA4B;YACpC,eAAe,EAAE,IAAI,CAAC,OAAO;YAC7B,kBAAkB,EAAE,WAAW;YAC/B,YAAY,EAAE,WAAW;YACzB,OAAO;YACP,SAAS;SACV,CAAC;QAEF,IAAI,aAAa;YAAE,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACvD,IAAI,QAAQ,KAAK,SAAS;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAErD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,gBAAgB,EAAE;YAC/D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,aAAa,EAAE;aAC9C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC9C,OAAO,CAAC,GAAG,CACT,eAAe,WAAW,OAAO,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,aAAa,MAAM,CAAC,UAAU,GAAG,CAC9F,CAAC;QACF,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CAAC,UAMd,EAAE;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,OAAO,CAAC,SAAS;YAAE,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,WAAW;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,aAAa;YAAE,MAAM,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/E,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,UAAU,aAAa,MAAM,CAAC,QAAQ,EAAE,EAAE,EAClD;YACE,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,aAAa,EAAE;aAC9C;SACF,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,mCAAmC;QACnC,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;QAC9C,OAAO;YACL,QAAQ,EAAG,MAAM,CAAC,QAA8B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACnF,KAAK,EAAE,MAAM,CAAC,KAAe;SAC9B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,GAAoB;QACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,CAAC;QAC/D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YACvE,OAAO,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAqB,CAAC;QAClE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,mCAAmC,GAAG,CAAC,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CACjG,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,EAAE,CACA,SAA4B,EAC5B,OAAuC;QAEvC,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAC3D,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE9C,qDAAqD;QACrD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,SAA4B;QAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAEvC,iDAAiD;QACjD,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC5D,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,yBAAyB;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,6DAA6D;YAC7D,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAEjC,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;YAE/D,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,GAAG,YAAY,CAChC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,wBAAwB,EACnD,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,wBAAwB,CACxD,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,iBAAiB,IAAI,CAAC,OAAO,EAAE,CAAC;YACpD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,cAAc;iBACvC,OAAO,CAAC,WAAW,CAAC;iBACpB,EAAE,CACD,kBAAkB,EAClB;gBACE,KAAK,EAAE,QAAQ;gBACf,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,yBAAyB,IAAI,CAAC,OAAO,EAAE;aAChD;YACD,mCAAmC;YACnC,CAAC,OAAY,EAAE,EAAE;gBACf,MAAM,GAAG,GAAG,OAAO,CAAC,GAAsB,CAAC;gBAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC,CACF;iBACA,SAAS,CAAC,CAAC,MAAc,EAAE,EAAE;gBAC5B,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;oBAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,2CAA2C,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzE,CAAC;qBAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;oBACvF,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;gBAC9B,CAAC;YACH,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CACV,gFAAgF,EAChF,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,wBAAwB;QAC9B,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACxD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,mBAAmB;QACjB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,cAAc,CACZ,IAAgB,EAChB,OAA4G;QAE5G,6CAA6C;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAE5C,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;YACjD,IAAI,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAsB,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC3D,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,GAAG,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IAChF,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,iBAAiB,CAAC,GAAoB;QAClD,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAA4B,CAAC;QAC/D,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC;QAErC,6BAA6B;QAC7B,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,+BAA+B,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YACjG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE;gBACtC,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,WAAW,CAAC,MAAM;aAC5B,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,uBAAuB;QACvB,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,gCAAgC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE;gBACtC,KAAK,EAAE,gBAAgB;gBACvB,OAAO,EAAE,WAAW,CAAC,MAAM;gBAC3B,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9C,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;iBAC3B,CAAC,CAAC;aACJ,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;QAEnC,+CAA+C;QAC/C,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,uCAAuC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnF,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE;gBACtC,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,6CAA6C,MAAM,CAAC,IAAI,GAAG;gBACpE,iBAAiB,EAAE,UAAU,CAAC,MAAM;aACrC,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,6BAA6B;QAC7B,mCAAmC;QACnC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC;QACxC,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;YAClC,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;YAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC;QAED,sBAAsB;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACvD,IAAI,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,WAAW,EAAE,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,yCAAyC,IAAI,CAAC,iBAAiB,IAAI,WAAW,GAAG,CAAC,CAAC;YAC/F,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE;gBACtC,KAAK,EAAE,cAAc;gBACrB,OAAO,EAAE,8CAA8C,WAAW,4BAA4B;gBAC9F,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,IAAI,CAAC,iBAAiB;aAC7B,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;QACrD,IAAI,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,IAAI,WAAW,EAAE,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,+CAA+C,IAAI,CAAC,iBAAiB,IAAI,WAAW,GAAG,CAAC,CAAC;YACrG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE;gBACtC,KAAK,EAAE,kBAAkB;gBACzB,OAAO,EAAE,+CAA+C,WAAW,CAAC,cAAc,EAAE,mCAAmC;gBACvH,MAAM,EAAE,WAAW;gBACnB,IAAI,EAAE,IAAI,CAAC,iBAAiB;aAC7B,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzB,0BAA0B;QAC1B,OAAO,CAAC,GAAG,CAAC,mDAAmD,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,4CAA4C,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YACzE,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;YAE3C,qDAAqD;YACrD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACzC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE;oBACnE,aAAa,EAAE,GAAG,CAAC,cAAc;iBAClC,CAAC,CAAC;gBAEH,sDAAsD;gBACtD,yDAAyD;gBACzD,MAAM,UAAU,GAAI,MAAkC,CAAC,WAAiC,CAAC;gBACzF,IAAI,UAAU,IAAI,UAAU,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjD,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,cAAc,EAAE;4BAC7D,MAAM,EAAE,MAAM;4BACd,OAAO,EAAE;gCACP,cAAc,EAAE,kBAAkB;gCAClC,aAAa,EAAE,UAAU,IAAI,CAAC,aAAa,EAAE;6BAC9C;4BACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gCACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;gCACtB,WAAW,EAAE,UAAU;gCACvB,UAAU,EAAE,GAAG,CAAC,UAAU;6BAC3B,CAAC;yBACH,CAAC,CAAC;wBAEH,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;4BAChB,mCAAmC;4BACnC,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;4BAC5C,OAAO,CAAC,GAAG,CAAC,oBAAoB,UAAU,+BAA+B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;4BACjG,IAAI,CAAC,iBAAiB,IAAI,UAAU,CAAC;wBAAY,CAAC;6BAAM,CAAC;4BACzD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;4BACtC,OAAO,CAAC,IAAI,CAAC,4BAA4B,QAAQ,CAAC,MAAM,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;wBAC7F,CAAC;oBACH,CAAC;oBAAC,OAAO,MAAM,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CAAC,2BAA2B,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC/F,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YACtE,OAAO,CAAC,KAAK,CAAC,kBAAkB,MAAM,CAAC,IAAI,WAAW,EAAE,QAAQ,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE;gBACtC,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,MAAM,CAAC,IAAI;aACpB,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,eAAe,CAAC,GAAoB;QAC1C,OAAO,CAAC,GAAG,CACT,mBAAmB,GAAG,CAAC,YAAY,SAAS,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CACtF,CAAC;QAEF,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAE/B,qCAAqC;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACtE,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,4BAA4B,GAAG,CAAC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;QAED,gCAAgC;QAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7D,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,CAAC;YACf,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,GAAG,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,uDAAuD;IACvD,+DAA+D;IAE/D;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,aAAqB,EACrB,MAAqC;QAErC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,UAAU,qBAAqB,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,IAAI,CAAC,aAAa,EAAE;aAC9C;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,QAAQ,EAAE,IAAI,CAAC,OAAO;gBACtB,cAAc,EAAE,aAAa;gBAC7B,MAAM;aACP,CAAC;SACH,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,mCAAmC;QACnC,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,aAAqB;QAErB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,IAAI,CAAC,UAAU,2BAA2B,kBAAkB,CAAC,aAAa,CAAC,EAAE,CACjF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,KAAK,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAa,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,MAAM,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QAED,mCAAmC;QACnC,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAQ,CAAC;IACxC,CAAC;IAED,+DAA+D;IAC/D,yDAAyD;IACzD,+DAA+D;IAE/D;;;OAGG;IACH,IAAI,CAAC,OAAe;QAClB,OAAO,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,SAAiB,EAAE,OAAe,EAAE,SAAiB;QAC1D,OAAO,eAAe,CAAC,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,+DAA+D;IAC/D,YAAY;IACZ,+DAA+D;IAE/D;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,CAAC;IAC9D,CAAC;CACF"}
|
package/dist/config.d.ts
CHANGED
|
@@ -36,6 +36,17 @@ 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
|
+
* Explicit Ed25519 keypair (hex strings). Takes precedence over
|
|
41
|
+
* keypairPath and the OACP_SECRET_KEY / OACP_PUBLIC_KEY env vars.
|
|
42
|
+
* Use this (or the env vars) to pin agent identity on hosts with
|
|
43
|
+
* ephemeral disks (e.g. Render), where a file-based keypair would be
|
|
44
|
+
* regenerated on every deploy.
|
|
45
|
+
*/
|
|
46
|
+
keypair?: {
|
|
47
|
+
secretKey: string;
|
|
48
|
+
publicKey: string;
|
|
49
|
+
};
|
|
39
50
|
/** Heartbeat interval in milliseconds (default: 30000) */
|
|
40
51
|
heartbeatIntervalMs?: number;
|
|
41
52
|
/** Action specs declaring what this agent can do */
|
|
@@ -56,6 +67,6 @@ export interface AgentConfig {
|
|
|
56
67
|
*/
|
|
57
68
|
apiBaseUrl?: string;
|
|
58
69
|
}
|
|
59
|
-
export declare const DEFAULT_HEARTBEAT_INTERVAL_MS =
|
|
70
|
+
export declare const DEFAULT_HEARTBEAT_INTERVAL_MS = 60000;
|
|
60
71
|
export declare const DEFAULT_KEYPAIR_PATH = "./oacp-keypair.json";
|
|
61
72
|
//# sourceMappingURL=config.d.ts.map
|
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,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;;;;;;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
CHANGED
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
*/
|
|
8
8
|
export const OACP_PUBLIC_REGISTRY_URL = 'https://zhenbunwugeskqtghjyt.supabase.co';
|
|
9
9
|
export const OACP_PUBLIC_REGISTRY_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpoZW5idW53dWdlc2txdGdoanl0Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzQ5OTM3NDYsImV4cCI6MjA5MDU2OTc0Nn0.hU5C6yESrm0B8-hsXTY-XEYkgLegx-2SdpH8E3RMSGU';
|
|
10
|
-
export const DEFAULT_HEARTBEAT_INTERVAL_MS =
|
|
10
|
+
export const DEFAULT_HEARTBEAT_INTERVAL_MS = 60_000;
|
|
11
11
|
export const DEFAULT_KEYPAIR_PATH = './oacp-keypair.json';
|
|
12
12
|
//# sourceMappingURL=config.js.map
|
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;AA4E3P,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC"}
|
package/dist/crypto.d.ts
CHANGED
|
@@ -44,6 +44,23 @@ export declare function signMessage(message: string, secretKeyHex: string): stri
|
|
|
44
44
|
* Returns true if the signature is valid.
|
|
45
45
|
*/
|
|
46
46
|
export declare function verifySignature(signatureHex: string, message: string, publicKeyHex: string): boolean;
|
|
47
|
+
/** Validate that both halves of a keypair are 32-byte hex strings. */
|
|
48
|
+
export declare function isValidKeypair(keypair: Partial<OACPKeypair> | null | undefined): keypair is OACPKeypair;
|
|
49
|
+
/**
|
|
50
|
+
* Resolve the agent's keypair, in order of precedence:
|
|
51
|
+
*
|
|
52
|
+
* 1. An explicit keypair passed in config (`config.keypair`)
|
|
53
|
+
* 2. OACP_SECRET_KEY / OACP_PUBLIC_KEY environment variables
|
|
54
|
+
* 3. A keypair file at `filePath` (created if missing)
|
|
55
|
+
*
|
|
56
|
+
* Options 1 and 2 pin the agent's identity on hosts with ephemeral disks
|
|
57
|
+
* (e.g. Render workers), where a file-based keypair would be regenerated
|
|
58
|
+
* on every deploy and the agent would lose its registry identity.
|
|
59
|
+
*
|
|
60
|
+
* Invalid explicit/env keys throw rather than silently generating a new
|
|
61
|
+
* identity — a silent fallback would orphan the agent's registration.
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveKeypair(explicit: OACPKeypair | undefined, filePath: string): OACPKeypair;
|
|
47
64
|
/**
|
|
48
65
|
* Load a keypair from a JSON file, or generate a new one and save it.
|
|
49
66
|
*
|
package/dist/crypto.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAI/C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAM/C;AAMD,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAM7C;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAWT;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAST;
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiBH,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAI/C;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAM/C;AAMD,MAAM,WAAW,WAAW;IAC1B,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,WAAW,CAM7C;AAMD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,MAAM,CAWT;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAST;AAQD,sEAAsE;AACtE,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,IAAI,WAAW,CAQvG;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,QAAQ,EAAE,MAAM,GACf,WAAW,CAwBb;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAyCjE"}
|
package/dist/crypto.js
CHANGED
|
@@ -95,6 +95,48 @@ export function verifySignature(signatureHex, message, publicKeyHex) {
|
|
|
95
95
|
// ============================================================
|
|
96
96
|
// Keypair persistence
|
|
97
97
|
// ============================================================
|
|
98
|
+
const HEX_KEY_RE = /^[0-9a-fA-F]{64}$/;
|
|
99
|
+
/** Validate that both halves of a keypair are 32-byte hex strings. */
|
|
100
|
+
export function isValidKeypair(keypair) {
|
|
101
|
+
return (!!keypair &&
|
|
102
|
+
typeof keypair.secretKey === 'string' &&
|
|
103
|
+
typeof keypair.publicKey === 'string' &&
|
|
104
|
+
HEX_KEY_RE.test(keypair.secretKey) &&
|
|
105
|
+
HEX_KEY_RE.test(keypair.publicKey));
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Resolve the agent's keypair, in order of precedence:
|
|
109
|
+
*
|
|
110
|
+
* 1. An explicit keypair passed in config (`config.keypair`)
|
|
111
|
+
* 2. OACP_SECRET_KEY / OACP_PUBLIC_KEY environment variables
|
|
112
|
+
* 3. A keypair file at `filePath` (created if missing)
|
|
113
|
+
*
|
|
114
|
+
* Options 1 and 2 pin the agent's identity on hosts with ephemeral disks
|
|
115
|
+
* (e.g. Render workers), where a file-based keypair would be regenerated
|
|
116
|
+
* on every deploy and the agent would lose its registry identity.
|
|
117
|
+
*
|
|
118
|
+
* Invalid explicit/env keys throw rather than silently generating a new
|
|
119
|
+
* identity — a silent fallback would orphan the agent's registration.
|
|
120
|
+
*/
|
|
121
|
+
export function resolveKeypair(explicit, filePath) {
|
|
122
|
+
if (explicit) {
|
|
123
|
+
if (!isValidKeypair(explicit)) {
|
|
124
|
+
throw new Error('[OACP] Invalid keypair in config: secretKey and publicKey must each be 64 hex chars (32 bytes)');
|
|
125
|
+
}
|
|
126
|
+
return explicit;
|
|
127
|
+
}
|
|
128
|
+
const envSecret = typeof process !== 'undefined' ? process.env?.OACP_SECRET_KEY : undefined;
|
|
129
|
+
const envPublic = typeof process !== 'undefined' ? process.env?.OACP_PUBLIC_KEY : undefined;
|
|
130
|
+
if (envSecret || envPublic) {
|
|
131
|
+
const envPair = { secretKey: envSecret ?? '', publicKey: envPublic ?? '' };
|
|
132
|
+
if (!isValidKeypair(envPair)) {
|
|
133
|
+
throw new Error('[OACP] Invalid OACP_SECRET_KEY / OACP_PUBLIC_KEY environment variables: both must be set to 64-char hex strings');
|
|
134
|
+
}
|
|
135
|
+
console.log('[OACP] Using keypair from OACP_SECRET_KEY / OACP_PUBLIC_KEY environment variables');
|
|
136
|
+
return envPair;
|
|
137
|
+
}
|
|
138
|
+
return loadOrCreateKeypair(filePath);
|
|
139
|
+
}
|
|
98
140
|
/**
|
|
99
141
|
* Load a keypair from a JSON file, or generate a new one and save it.
|
|
100
142
|
*
|
package/dist/crypto.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
|
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.4.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
|
-
export { generateKeypair, signMessage, verifySignature, canonicalizeMessage, loadOrCreateKeypair, toHex, fromHex, type OACPKeypair, } from './crypto.js';
|
|
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,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.4.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
|
-
export { generateKeypair, signMessage, verifySignature, canonicalizeMessage, loadOrCreateKeypair, toHex, fromHex, } from './crypto.js';
|
|
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,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
|
@@ -88,7 +88,7 @@ export interface DiscoverResponse {
|
|
|
88
88
|
page: number;
|
|
89
89
|
page_size: number;
|
|
90
90
|
}
|
|
91
|
-
export type MessageType = 'task_request' | 'task_ack' | 'task_result' | 'task_error';
|
|
91
|
+
export type MessageType = 'task_request' | 'task_ack' | 'task_result' | 'task_error' | 'chat';
|
|
92
92
|
export interface MessageEnvelope {
|
|
93
93
|
message_id: string;
|
|
94
94
|
sender_agent_id: string;
|
|
@@ -99,6 +99,8 @@ export interface MessageEnvelope {
|
|
|
99
99
|
timestamp: string;
|
|
100
100
|
correlation_id?: string;
|
|
101
101
|
sequence?: number;
|
|
102
|
+
/** Set by the SDK when a sealed payload (RFC 001 §4) was decrypted locally */
|
|
103
|
+
was_sealed?: boolean;
|
|
102
104
|
}
|
|
103
105
|
/**
|
|
104
106
|
* 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,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oacp-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "TypeScript SDK for the Open Agent Communication Protocol — register, discover, and communicate with AI agents",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -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"
|