oacp-sdk 0.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * OACP SDK — Agent Configuration
3
+ */
4
+ import type { ActionSpec, TrustPolicy } from './trust.js';
5
+ import type { ModelInfo } from './types.js';
6
+ /**
7
+ * Default OACP public registry — hosted on Supabase.
8
+ * Agents connect here automatically unless overridden.
9
+ */
10
+ export declare const OACP_PUBLIC_REGISTRY_URL = "https://zhenbunwugeskqtghjyt.supabase.co";
11
+ export declare const OACP_PUBLIC_REGISTRY_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpoZW5idW53dWdlc2txdGdoanl0Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzQ5OTM3NDYsImV4cCI6MjA5MDU2OTc0Nn0.hU5C6yESrm0B8-hsXTY-XEYkgLegx-2SdpH8E3RMSGU";
12
+ export interface AgentConfig {
13
+ /** Display name for the agent */
14
+ name: string;
15
+ /** Capability tags this agent advertises */
16
+ capabilities: string[];
17
+ /**
18
+ * Supabase project URL.
19
+ * Defaults to the OACP public registry — no setup needed.
20
+ */
21
+ supabaseUrl?: string;
22
+ /**
23
+ * Supabase anon key for client operations.
24
+ * Defaults to the OACP public registry key — no setup needed.
25
+ */
26
+ supabaseAnonKey?: string;
27
+ /** Optional owner handle */
28
+ ownerHandle?: string;
29
+ /** Optional description */
30
+ description?: string;
31
+ /** Optional public endpoint URL */
32
+ endpointUrl?: string;
33
+ /** Optional additional protocols supported */
34
+ protocolsSupported?: string[];
35
+ /** Optional metadata */
36
+ metadata?: Record<string, unknown>;
37
+ /** Path to keypair JSON file (default: ./oacp-keypair.json) */
38
+ keypairPath?: string;
39
+ /** Heartbeat interval in milliseconds (default: 30000) */
40
+ heartbeatIntervalMs?: number;
41
+ /** Action specs declaring what this agent can do */
42
+ actionSpecs?: ActionSpec[];
43
+ /** Trust policy controlling who can send tasks to this agent */
44
+ trustPolicy?: TrustPolicy;
45
+ /** Model powering this agent (published in Agent Card for discovery) */
46
+ model?: ModelInfo;
47
+ /** Languages this agent can process (ISO 639-1 codes) */
48
+ languages?: string[];
49
+ /**
50
+ * Base URL for OACP API (default: {supabaseUrl}/functions/v1/oacp)
51
+ * Override for custom deployments.
52
+ */
53
+ apiBaseUrl?: string;
54
+ }
55
+ export declare const DEFAULT_HEARTBEAT_INTERVAL_MS = 30000;
56
+ export declare const DEFAULT_KEYPAIR_PATH = "./oacp-keypair.json";
57
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +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;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,6BAA6B,QAAS,CAAC;AACpD,eAAO,MAAM,oBAAoB,wBAAwB,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,12 @@
1
+ /**
2
+ * OACP SDK — Agent Configuration
3
+ */
4
+ /**
5
+ * Default OACP public registry — hosted on Supabase.
6
+ * Agents connect here automatically unless overridden.
7
+ */
8
+ export const OACP_PUBLIC_REGISTRY_URL = 'https://zhenbunwugeskqtghjyt.supabase.co';
9
+ export const OACP_PUBLIC_REGISTRY_KEY = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InpoZW5idW53dWdlc2txdGdoanl0Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3NzQ5OTM3NDYsImV4cCI6MjA5MDU2OTc0Nn0.hU5C6yESrm0B8-hsXTY-XEYkgLegx-2SdpH8E3RMSGU';
10
+ export const DEFAULT_HEARTBEAT_INTERVAL_MS = 30_000;
11
+ export const DEFAULT_KEYPAIR_PATH = './oacp-keypair.json';
12
+ //# sourceMappingURL=config.js.map
@@ -0,0 +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;AA6D3P,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC;AACpD,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * OACP SDK — Ed25519 Identity & Cryptography
3
+ *
4
+ * Manages Ed25519 keypair generation, message signing, and verification.
5
+ * Uses @noble/ed25519 for all cryptographic operations.
6
+ *
7
+ * Keys are represented as hex strings externally and Uint8Array internally.
8
+ */
9
+ export declare function toHex(bytes: Uint8Array): string;
10
+ export declare function fromHex(hex: string): Uint8Array;
11
+ export interface OACPKeypair {
12
+ /** Ed25519 secret key as hex string (64 chars = 32 bytes) */
13
+ secretKey: string;
14
+ /** Ed25519 public key as hex string (64 chars = 32 bytes) */
15
+ publicKey: string;
16
+ }
17
+ /**
18
+ * Generate a new Ed25519 keypair.
19
+ * Returns hex-encoded secret and public keys.
20
+ */
21
+ export declare function generateKeypair(): OACPKeypair;
22
+ /**
23
+ * Create a canonical string representation of a message for signing/verification.
24
+ * This MUST match the Edge Function's canonicalizeMessage exactly.
25
+ *
26
+ * Canonical format: JSON.stringify with alphabetically sorted keys (excluding signature).
27
+ */
28
+ export declare function canonicalizeMessage(fields: {
29
+ sender_agent_id: string;
30
+ recipient_agent_id: string;
31
+ message_type: string;
32
+ payload: Record<string, unknown>;
33
+ correlation_id?: string;
34
+ sequence?: number;
35
+ timestamp?: string;
36
+ }): string;
37
+ /**
38
+ * Sign a message string with an Ed25519 secret key.
39
+ * Returns the signature as a hex string.
40
+ */
41
+ export declare function signMessage(message: string, secretKeyHex: string): string;
42
+ /**
43
+ * Verify an Ed25519 signature on a message.
44
+ * Returns true if the signature is valid.
45
+ */
46
+ export declare function verifySignature(signatureHex: string, message: string, publicKeyHex: string): boolean;
47
+ /**
48
+ * Load a keypair from a JSON file, or generate a new one and save it.
49
+ *
50
+ * File format: { "secretKey": "hex...", "publicKey": "hex..." }
51
+ *
52
+ * @param filePath - Path to the keypair JSON file
53
+ * @returns The loaded or newly generated keypair
54
+ */
55
+ export declare function loadOrCreateKeypair(filePath: string): OACPKeypair;
56
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +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;AAMD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAyCjE"}
package/dist/crypto.js ADDED
@@ -0,0 +1,140 @@
1
+ /**
2
+ * OACP SDK — Ed25519 Identity & Cryptography
3
+ *
4
+ * Manages Ed25519 keypair generation, message signing, and verification.
5
+ * Uses @noble/ed25519 for all cryptographic operations.
6
+ *
7
+ * Keys are represented as hex strings externally and Uint8Array internally.
8
+ */
9
+ import * as ed from '@noble/ed25519';
10
+ import { sha512 } from '@noble/hashes/sha512';
11
+ import * as fs from 'fs';
12
+ import * as path from 'path';
13
+ // Enable sync methods by providing SHA-512 hash function
14
+ // @noble/ed25519 v3.x uses `hashes` property
15
+ if ('hashes' in ed && typeof ed.hashes === 'object' && ed.hashes !== null) {
16
+ ed.hashes.sha512 = sha512;
17
+ }
18
+ // ============================================================
19
+ // Hex encoding utilities
20
+ // ============================================================
21
+ export function toHex(bytes) {
22
+ return Array.from(bytes)
23
+ .map((b) => b.toString(16).padStart(2, '0'))
24
+ .join('');
25
+ }
26
+ export function fromHex(hex) {
27
+ const bytes = new Uint8Array(hex.length / 2);
28
+ for (let i = 0; i < hex.length; i += 2) {
29
+ bytes[i / 2] = parseInt(hex.substring(i, i + 2), 16);
30
+ }
31
+ return bytes;
32
+ }
33
+ // ============================================================
34
+ // Key generation
35
+ // ============================================================
36
+ /**
37
+ * Generate a new Ed25519 keypair.
38
+ * Returns hex-encoded secret and public keys.
39
+ */
40
+ export function generateKeypair() {
41
+ const { secretKey, publicKey } = ed.keygen();
42
+ return {
43
+ secretKey: toHex(secretKey),
44
+ publicKey: toHex(publicKey),
45
+ };
46
+ }
47
+ // ============================================================
48
+ // Message signing
49
+ // ============================================================
50
+ /**
51
+ * Create a canonical string representation of a message for signing/verification.
52
+ * This MUST match the Edge Function's canonicalizeMessage exactly.
53
+ *
54
+ * Canonical format: JSON.stringify with alphabetically sorted keys (excluding signature).
55
+ */
56
+ export function canonicalizeMessage(fields) {
57
+ const canonical = {};
58
+ if (fields.correlation_id !== undefined)
59
+ canonical.correlation_id = fields.correlation_id;
60
+ canonical.message_type = fields.message_type;
61
+ canonical.payload = fields.payload;
62
+ canonical.recipient_agent_id = fields.recipient_agent_id;
63
+ canonical.sender_agent_id = fields.sender_agent_id;
64
+ if (fields.sequence !== undefined)
65
+ canonical.sequence = fields.sequence;
66
+ if (fields.timestamp !== undefined)
67
+ canonical.timestamp = fields.timestamp;
68
+ return JSON.stringify(canonical);
69
+ }
70
+ /**
71
+ * Sign a message string with an Ed25519 secret key.
72
+ * Returns the signature as a hex string.
73
+ */
74
+ export function signMessage(message, secretKeyHex) {
75
+ const msgBytes = new TextEncoder().encode(message);
76
+ const secretKey = fromHex(secretKeyHex);
77
+ const signature = ed.sign(msgBytes, secretKey);
78
+ return toHex(signature);
79
+ }
80
+ /**
81
+ * Verify an Ed25519 signature on a message.
82
+ * Returns true if the signature is valid.
83
+ */
84
+ export function verifySignature(signatureHex, message, publicKeyHex) {
85
+ try {
86
+ const signature = fromHex(signatureHex);
87
+ const msgBytes = new TextEncoder().encode(message);
88
+ const publicKey = fromHex(publicKeyHex);
89
+ return ed.verify(signature, msgBytes, publicKey);
90
+ }
91
+ catch {
92
+ return false;
93
+ }
94
+ }
95
+ // ============================================================
96
+ // Keypair persistence
97
+ // ============================================================
98
+ /**
99
+ * Load a keypair from a JSON file, or generate a new one and save it.
100
+ *
101
+ * File format: { "secretKey": "hex...", "publicKey": "hex..." }
102
+ *
103
+ * @param filePath - Path to the keypair JSON file
104
+ * @returns The loaded or newly generated keypair
105
+ */
106
+ export function loadOrCreateKeypair(filePath) {
107
+ const resolvedPath = path.resolve(filePath);
108
+ // Try to load existing keypair
109
+ if (fs.existsSync(resolvedPath)) {
110
+ try {
111
+ const raw = fs.readFileSync(resolvedPath, 'utf-8');
112
+ const parsed = JSON.parse(raw);
113
+ if (typeof parsed.secretKey === 'string' &&
114
+ typeof parsed.publicKey === 'string' &&
115
+ /^[0-9a-fA-F]{64}$/.test(parsed.secretKey) &&
116
+ /^[0-9a-fA-F]{64}$/.test(parsed.publicKey)) {
117
+ return parsed;
118
+ }
119
+ console.warn(`[OACP] Invalid keypair file at ${resolvedPath}, generating new keypair`);
120
+ }
121
+ catch {
122
+ console.warn(`[OACP] Failed to read keypair file at ${resolvedPath}, generating new keypair`);
123
+ }
124
+ }
125
+ // Generate new keypair
126
+ const keypair = generateKeypair();
127
+ // Ensure directory exists
128
+ const dir = path.dirname(resolvedPath);
129
+ if (!fs.existsSync(dir)) {
130
+ fs.mkdirSync(dir, { recursive: true });
131
+ }
132
+ // Save keypair (restrictive permissions where supported)
133
+ fs.writeFileSync(resolvedPath, JSON.stringify(keypair, null, 2), {
134
+ encoding: 'utf-8',
135
+ mode: 0o600,
136
+ });
137
+ console.log(`[OACP] Generated new keypair, saved to ${resolvedPath}`);
138
+ return keypair;
139
+ }
140
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * OACP SDK — Open Agent Communication Protocol
3
+ *
4
+ * TypeScript SDK for building agents that register, discover,
5
+ * and communicate via the OACP protocol.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { OACPAgent } from 'oacp-sdk';
10
+ *
11
+ * const agent = new OACPAgent({
12
+ * name: 'my-agent',
13
+ * capabilities: ['research-summarization'],
14
+ * supabaseUrl: process.env.SUPABASE_URL!,
15
+ * supabaseAnonKey: process.env.SUPABASE_ANON_KEY!,
16
+ * });
17
+ *
18
+ * await agent.register();
19
+ * agent.startHeartbeat();
20
+ *
21
+ * const results = await agent.discover({ capability: 'data-extraction' });
22
+ * console.log('Found agents:', results.agents);
23
+ * ```
24
+ */
25
+ export declare const VERSION = "0.1.0";
26
+ export { OACPAgent } from './agent.js';
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';
29
+ export type { AgentCard, AgentMetadata, ModelInfo, AgentStatus, RegisterRequest, RegisterResponse, ReregisterResponse, HeartbeatRequest, HeartbeatResponse, DiscoverQuery, DiscoverResponse, MessageType, MessageEnvelope, PayloadContentType, ContentPayload, ApiError, } from './types.js';
30
+ export { validatePayload, isSenderAllowed, matchAction, DEFAULT_TRUST_POLICY, type ActionSpec, type TrustPolicy, type SimpleSchema, type ValidationResult, } from './trust.js';
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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"}
package/dist/index.js ADDED
@@ -0,0 +1,34 @@
1
+ /**
2
+ * OACP SDK — Open Agent Communication Protocol
3
+ *
4
+ * TypeScript SDK for building agents that register, discover,
5
+ * and communicate via the OACP protocol.
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * import { OACPAgent } from 'oacp-sdk';
10
+ *
11
+ * const agent = new OACPAgent({
12
+ * name: 'my-agent',
13
+ * capabilities: ['research-summarization'],
14
+ * supabaseUrl: process.env.SUPABASE_URL!,
15
+ * supabaseAnonKey: process.env.SUPABASE_ANON_KEY!,
16
+ * });
17
+ *
18
+ * await agent.register();
19
+ * agent.startHeartbeat();
20
+ *
21
+ * const results = await agent.discover({ capability: 'data-extraction' });
22
+ * console.log('Found agents:', results.agents);
23
+ * ```
24
+ */
25
+ export const VERSION = '0.1.0';
26
+ // Main agent class
27
+ export { OACPAgent } from './agent.js';
28
+ // Configuration
29
+ export { DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_KEYPAIR_PATH, OACP_PUBLIC_REGISTRY_URL, OACP_PUBLIC_REGISTRY_KEY, } from './config.js';
30
+ // Cryptography
31
+ export { generateKeypair, signMessage, verifySignature, canonicalizeMessage, loadOrCreateKeypair, toHex, fromHex, } from './crypto.js';
32
+ // Trust model
33
+ export { validatePayload, isSenderAllowed, matchAction, DEFAULT_TRUST_POLICY, } from './trust.js';
34
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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"}
@@ -0,0 +1,98 @@
1
+ /**
2
+ * OACP SDK — Trust Model
3
+ *
4
+ * Provides action specs (bounded capability declarations) and trust policies
5
+ * (sender allowlists) for secure agent-to-agent communication.
6
+ *
7
+ * Key principle: agents declare what they DO, not what they block.
8
+ * An agent with action_spec "summarize-text" will ONLY summarize text,
9
+ * regardless of what a task_request payload contains.
10
+ */
11
+ /**
12
+ * JSON Schema subset for lightweight payload validation.
13
+ * Supports: type, properties, required, enum, minLength, maxLength, minimum, maximum.
14
+ * Not a full JSON Schema validator — just enough for action spec boundaries.
15
+ */
16
+ export interface SimpleSchema {
17
+ type?: 'object' | 'string' | 'number' | 'boolean' | 'array';
18
+ properties?: Record<string, SimpleSchema>;
19
+ required?: string[];
20
+ enum?: unknown[];
21
+ minLength?: number;
22
+ maxLength?: number;
23
+ minimum?: number;
24
+ maximum?: number;
25
+ items?: SimpleSchema;
26
+ description?: string;
27
+ }
28
+ /**
29
+ * An ActionSpec declares a specific operation an agent can perform.
30
+ *
31
+ * Think of it like a function signature: name + description + typed input.
32
+ * The agent will ONLY execute this operation when invoked via OACP,
33
+ * regardless of what the task payload contains.
34
+ *
35
+ * @example
36
+ * const summarize: ActionSpec = {
37
+ * name: 'summarize-text',
38
+ * description: 'Summarize a topic or text passage in under N words',
39
+ * inputSchema: {
40
+ * type: 'object',
41
+ * properties: {
42
+ * task: { type: 'string', description: 'Topic or text to summarize' },
43
+ * max_words: { type: 'number', minimum: 10, maximum: 1000 },
44
+ * },
45
+ * required: ['task'],
46
+ * },
47
+ * };
48
+ */
49
+ export interface ActionSpec {
50
+ /** Unique name for this action (e.g., 'summarize-text', 'extract-entities') */
51
+ name: string;
52
+ /** Human-readable description of what this action does */
53
+ description: string;
54
+ /** JSON Schema for the expected task payload */
55
+ inputSchema: SimpleSchema;
56
+ /** Optional JSON Schema for the result payload */
57
+ outputSchema?: SimpleSchema;
58
+ /** Token price for this action (0 = free, default: 0) */
59
+ price?: number;
60
+ }
61
+ export interface TrustPolicy {
62
+ /**
63
+ * Who can send tasks to this agent:
64
+ * - 'open': any registered agent (default for prototype)
65
+ * - 'none': reject all incoming tasks
66
+ * - string[]: array of allowed agent_ids
67
+ */
68
+ allowedSenders: 'open' | 'none' | string[];
69
+ /** Require valid Ed25519 signature on all messages (default: true) */
70
+ requireSignature?: boolean;
71
+ }
72
+ /** Default trust policy: open to all, require signatures */
73
+ export declare const DEFAULT_TRUST_POLICY: TrustPolicy;
74
+ export interface ValidationResult {
75
+ valid: boolean;
76
+ errors: string[];
77
+ }
78
+ /**
79
+ * Validate a payload against a SimpleSchema.
80
+ * Returns { valid: true } or { valid: false, errors: [...] }.
81
+ */
82
+ export declare function validatePayload(payload: unknown, schema: SimpleSchema, path?: string): ValidationResult;
83
+ /**
84
+ * Check if a sender is allowed by the trust policy.
85
+ */
86
+ export declare function isSenderAllowed(senderAgentId: string, policy: TrustPolicy): {
87
+ allowed: boolean;
88
+ reason: string;
89
+ };
90
+ /**
91
+ * Find the matching action spec for a task payload.
92
+ * Matches on payload.action field, or falls back to first action if only one exists.
93
+ */
94
+ export declare function matchAction(payload: Record<string, unknown>, actionSpecs: ActionSpec[]): {
95
+ matched: ActionSpec | null;
96
+ reason: string;
97
+ };
98
+ //# sourceMappingURL=trust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.d.ts","sourceRoot":"","sources":["../src/trust.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,UAAU;IACzB,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IAEb,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IAEpB,gDAAgD;IAChD,WAAW,EAAE,YAAY,CAAC;IAE1B,kDAAkD;IAClD,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,WAAW;IAC1B;;;;;OAKG;IACH,cAAc,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3C,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,4DAA4D;AAC5D,eAAO,MAAM,oBAAoB,EAAE,WAGlC,CAAC;AAMF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,YAAY,EACpB,IAAI,SAAY,GACf,gBAAgB,CA2DlB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,WAAW,GAClB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAiBtC;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,WAAW,EAAE,UAAU,EAAE,GACxB;IAAE,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA8BhD"}
package/dist/trust.js ADDED
@@ -0,0 +1,123 @@
1
+ /**
2
+ * OACP SDK — Trust Model
3
+ *
4
+ * Provides action specs (bounded capability declarations) and trust policies
5
+ * (sender allowlists) for secure agent-to-agent communication.
6
+ *
7
+ * Key principle: agents declare what they DO, not what they block.
8
+ * An agent with action_spec "summarize-text" will ONLY summarize text,
9
+ * regardless of what a task_request payload contains.
10
+ */
11
+ /** Default trust policy: open to all, require signatures */
12
+ export const DEFAULT_TRUST_POLICY = {
13
+ allowedSenders: 'open',
14
+ requireSignature: true,
15
+ };
16
+ /**
17
+ * Validate a payload against a SimpleSchema.
18
+ * Returns { valid: true } or { valid: false, errors: [...] }.
19
+ */
20
+ export function validatePayload(payload, schema, path = 'payload') {
21
+ const errors = [];
22
+ if (schema.type) {
23
+ const actualType = Array.isArray(payload) ? 'array' : typeof payload;
24
+ if (actualType !== schema.type) {
25
+ // Allow null/undefined to pass through for optional fields
26
+ if (payload !== null && payload !== undefined) {
27
+ errors.push(`${path}: expected ${schema.type}, got ${actualType}`);
28
+ return { valid: false, errors };
29
+ }
30
+ }
31
+ }
32
+ if (schema.type === 'object' && typeof payload === 'object' && payload !== null && !Array.isArray(payload)) {
33
+ const obj = payload;
34
+ // Check required fields
35
+ if (schema.required) {
36
+ for (const field of schema.required) {
37
+ if (obj[field] === undefined || obj[field] === null) {
38
+ errors.push(`${path}.${field}: required field missing`);
39
+ }
40
+ }
41
+ }
42
+ // Validate properties
43
+ if (schema.properties) {
44
+ for (const [key, propSchema] of Object.entries(schema.properties)) {
45
+ if (obj[key] !== undefined) {
46
+ const propResult = validatePayload(obj[key], propSchema, `${path}.${key}`);
47
+ errors.push(...propResult.errors);
48
+ }
49
+ }
50
+ }
51
+ }
52
+ if (schema.type === 'string' && typeof payload === 'string') {
53
+ if (schema.minLength !== undefined && payload.length < schema.minLength) {
54
+ errors.push(`${path}: string too short (min: ${schema.minLength})`);
55
+ }
56
+ if (schema.maxLength !== undefined && payload.length > schema.maxLength) {
57
+ errors.push(`${path}: string too long (max: ${schema.maxLength})`);
58
+ }
59
+ if (schema.enum && !schema.enum.includes(payload)) {
60
+ errors.push(`${path}: value must be one of: ${schema.enum.join(', ')}`);
61
+ }
62
+ }
63
+ if (schema.type === 'number' && typeof payload === 'number') {
64
+ if (schema.minimum !== undefined && payload < schema.minimum) {
65
+ errors.push(`${path}: number too small (min: ${schema.minimum})`);
66
+ }
67
+ if (schema.maximum !== undefined && payload > schema.maximum) {
68
+ errors.push(`${path}: number too large (max: ${schema.maximum})`);
69
+ }
70
+ }
71
+ return { valid: errors.length === 0, errors };
72
+ }
73
+ /**
74
+ * Check if a sender is allowed by the trust policy.
75
+ */
76
+ export function isSenderAllowed(senderAgentId, policy) {
77
+ if (policy.allowedSenders === 'none') {
78
+ return { allowed: false, reason: 'Agent is not accepting tasks (policy: none)' };
79
+ }
80
+ if (policy.allowedSenders === 'open') {
81
+ return { allowed: true, reason: 'Open trust policy' };
82
+ }
83
+ if (Array.isArray(policy.allowedSenders)) {
84
+ if (policy.allowedSenders.includes(senderAgentId)) {
85
+ return { allowed: true, reason: 'Sender in allowlist' };
86
+ }
87
+ return { allowed: false, reason: `Sender ${senderAgentId.substring(0, 8)}... not in allowlist` };
88
+ }
89
+ return { allowed: false, reason: 'Invalid trust policy' };
90
+ }
91
+ /**
92
+ * Find the matching action spec for a task payload.
93
+ * Matches on payload.action field, or falls back to first action if only one exists.
94
+ */
95
+ export function matchAction(payload, actionSpecs) {
96
+ if (actionSpecs.length === 0) {
97
+ return { matched: null, reason: 'Agent has no declared actions' };
98
+ }
99
+ // If payload specifies an action, match by name
100
+ const requestedAction = payload.action;
101
+ if (requestedAction) {
102
+ const spec = actionSpecs.find((s) => s.name === requestedAction);
103
+ if (spec) {
104
+ return { matched: spec, reason: `Matched action: ${spec.name}` };
105
+ }
106
+ const available = actionSpecs.map((s) => s.name).join(', ');
107
+ return {
108
+ matched: null,
109
+ reason: `Unknown action "${requestedAction}". Available: ${available}`,
110
+ };
111
+ }
112
+ // If only one action, use it as default
113
+ if (actionSpecs.length === 1) {
114
+ return { matched: actionSpecs[0], reason: `Default action: ${actionSpecs[0].name}` };
115
+ }
116
+ // Multiple actions and no action specified
117
+ const available = actionSpecs.map((s) => s.name).join(', ');
118
+ return {
119
+ matched: null,
120
+ reason: `Specify "action" field in payload. Available: ${available}`,
121
+ };
122
+ }
123
+ //# sourceMappingURL=trust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust.js","sourceRoot":"","sources":["../src/trust.ts"],"names":[],"mappings":"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"}