@slashfi/agents-sdk 0.6.0 → 0.8.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,460 @@
1
+ /**
2
+ * Remote Registry Agent
3
+ *
4
+ * Integration agent for connecting to remote agent registries.
5
+ * Uses the IntegrationMethods pattern so @integrations can discover
6
+ * and interact with it uniformly via setup/connect/list/get/update.
7
+ *
8
+ * Each remote registry connection stores:
9
+ * - url: the registry's base URL
10
+ * - tenantId: the tenant created on the remote registry
11
+ * - clientId + clientSecret: credentials for authentication
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * import { createRemoteRegistryAgent, createAgentRegistry } from '@slashfi/agents-sdk';
16
+ *
17
+ * const registry = createAgentRegistry();
18
+ * registry.register(createRemoteRegistryAgent({ secretStore }));
19
+ *
20
+ * // Then via @integrations:
21
+ * // setup_integration({ provider: 'remote-registry', params: { url: 'https://registry.slash.com', name: 'slash' } })
22
+ * // connect_integration({ provider: 'remote-registry', params: { registryId: 'slash', userId: 'user_123' } })
23
+ * ```
24
+ */
25
+ import { defineAgent, defineTool } from "../define.js";
26
+ // ============================================
27
+ // Helpers
28
+ // ============================================
29
+ /**
30
+ * Make an MCP JSON-RPC call to a remote registry.
31
+ */
32
+ async function mcpCall(url, token, request) {
33
+ const res = await globalThis.fetch(url, {
34
+ method: "POST",
35
+ headers: {
36
+ "Content-Type": "application/json",
37
+ Authorization: `Bearer ${token}`,
38
+ },
39
+ body: JSON.stringify({
40
+ jsonrpc: "2.0",
41
+ id: Date.now(),
42
+ method: "tools/call",
43
+ params: {
44
+ name: "call_agent",
45
+ arguments: {
46
+ request: {
47
+ action: request.action,
48
+ path: request.path,
49
+ tool: request.tool,
50
+ params: request.params ?? {},
51
+ },
52
+ },
53
+ },
54
+ }),
55
+ });
56
+ if (!res.ok) {
57
+ throw new Error(`Registry call failed: ${res.status} ${res.statusText}`);
58
+ }
59
+ const json = (await res.json());
60
+ if (json.error) {
61
+ throw new Error(`Registry RPC error: ${json.error.message ?? JSON.stringify(json.error)}`);
62
+ }
63
+ // Parse the tool result from MCP response
64
+ const text = json?.result?.content?.[0]?.text;
65
+ if (!text)
66
+ return json?.result;
67
+ try {
68
+ return JSON.parse(text);
69
+ }
70
+ catch {
71
+ return { raw: text };
72
+ }
73
+ }
74
+ /**
75
+ * Get an access token from a remote registry via /oauth/token.
76
+ */
77
+ async function getRegistryToken(url, clientId, clientSecret) {
78
+ const tokenUrl = url.replace(/\/$/, "") + "/oauth/token";
79
+ const res = await globalThis.fetch(tokenUrl, {
80
+ method: "POST",
81
+ headers: { "Content-Type": "application/json" },
82
+ body: JSON.stringify({
83
+ grant_type: "client_credentials",
84
+ client_id: clientId,
85
+ client_secret: clientSecret,
86
+ }),
87
+ });
88
+ if (!res.ok) {
89
+ const body = await res.text();
90
+ throw new Error(`Token exchange failed: ${res.status} ${body}`);
91
+ }
92
+ const json = (await res.json());
93
+ return json.access_token;
94
+ }
95
+ // ============================================
96
+ // Create Remote Registry Agent
97
+ // ============================================
98
+ export function createRemoteRegistryAgent(options) {
99
+ const { secretStore } = options;
100
+ // We store all registry connections as a single JSON blob per owner.
101
+ // The secret ID is stored via associate/resolveByEntity for lookup.
102
+ const ENTITY_TYPE = "remote-registry-connections";
103
+ /**
104
+ * Store a registry connection (metadata + credentials).
105
+ */
106
+ async function storeConnection(ownerId, conn, clientSecret) {
107
+ // Load existing connections, update, and store back
108
+ const all = await loadAllConnections(ownerId);
109
+ all[conn.id] = { ...conn, clientSecret };
110
+ const value = JSON.stringify(all);
111
+ // Store the blob
112
+ const scope = { tenantId: ownerId };
113
+ const secretId = await secretStore.store(value, ownerId);
114
+ // Link it so we can find it later
115
+ if (secretStore.associate) {
116
+ await secretStore.associate(secretId, ENTITY_TYPE, ownerId, scope);
117
+ }
118
+ }
119
+ /**
120
+ * Load all connections from the stored blob.
121
+ */
122
+ async function loadAllConnections(ownerId) {
123
+ // Try resolveByEntity first (v0.7.0+)
124
+ if (secretStore.resolveByEntity) {
125
+ const scope = { tenantId: ownerId };
126
+ const secretIds = await secretStore.resolveByEntity(ENTITY_TYPE, ownerId, scope);
127
+ if (secretIds && secretIds.length > 0) {
128
+ // Resolve the latest stored blob
129
+ const latestId = secretIds[secretIds.length - 1];
130
+ const raw = await secretStore.resolve(latestId, ownerId);
131
+ if (raw) {
132
+ try {
133
+ return JSON.parse(raw);
134
+ }
135
+ catch {
136
+ return {};
137
+ }
138
+ }
139
+ }
140
+ }
141
+ return {};
142
+ }
143
+ /**
144
+ * Load a registry connection.
145
+ */
146
+ async function loadConnection(ownerId, registryId) {
147
+ const all = await loadAllConnections(ownerId);
148
+ const entry = all[registryId];
149
+ if (!entry)
150
+ return null;
151
+ const { clientSecret, ...conn } = entry;
152
+ return { conn, clientSecret };
153
+ }
154
+ /**
155
+ * List all registry connections for an owner.
156
+ */
157
+ async function listConnectionsList(ownerId) {
158
+ const all = await loadAllConnections(ownerId);
159
+ return Object.values(all).map(({ clientSecret: _, ...conn }) => conn);
160
+ }
161
+ /**
162
+ * Get an authenticated token for a registry connection.
163
+ */
164
+ async function getAuthenticatedToken(ownerId, registryId) {
165
+ const data = await loadConnection(ownerId, registryId);
166
+ if (!data) {
167
+ throw new Error(`No registry connection '${registryId}'. Use setup_integration first.`);
168
+ }
169
+ const token = await getRegistryToken(data.conn.url, data.conn.clientId, data.clientSecret);
170
+ return { token, conn: data.conn };
171
+ }
172
+ // ---- Tools ----
173
+ const callRemoteTool = defineTool({
174
+ name: "call_remote",
175
+ description: "Make an authenticated MCP call to a remote agent registry. " +
176
+ "Proxies the request with the stored tenant credentials.",
177
+ visibility: "public",
178
+ inputSchema: {
179
+ type: "object",
180
+ properties: {
181
+ registryId: {
182
+ type: "string",
183
+ description: "Registry connection ID",
184
+ },
185
+ agentPath: {
186
+ type: "string",
187
+ description: "Agent path on the remote registry (e.g. '@integrations')",
188
+ },
189
+ action: {
190
+ type: "string",
191
+ description: "Action to perform (e.g. 'execute_tool')",
192
+ },
193
+ tool: {
194
+ type: "string",
195
+ description: "Tool name to call",
196
+ },
197
+ params: {
198
+ type: "object",
199
+ description: "Tool parameters",
200
+ },
201
+ },
202
+ required: ["registryId", "agentPath", "action", "tool"],
203
+ },
204
+ execute: async (input, ctx) => {
205
+ const { token, conn } = await getAuthenticatedToken(ctx.callerId, input.registryId);
206
+ return mcpCall(conn.url, token, {
207
+ action: input.action,
208
+ path: input.agentPath,
209
+ tool: input.tool,
210
+ params: input.params,
211
+ });
212
+ },
213
+ });
214
+ const listRemoteAgentsTool = defineTool({
215
+ name: "list_remote_agents",
216
+ description: "List agents available on a remote registry.",
217
+ visibility: "public",
218
+ inputSchema: {
219
+ type: "object",
220
+ properties: {
221
+ registryId: {
222
+ type: "string",
223
+ description: "Registry connection ID",
224
+ },
225
+ },
226
+ required: ["registryId"],
227
+ },
228
+ execute: async (input, ctx) => {
229
+ const { token, conn } = await getAuthenticatedToken(ctx.callerId, input.registryId);
230
+ const listUrl = conn.url.replace(/\/$/, "") + "/list";
231
+ const res = await globalThis.fetch(listUrl, {
232
+ headers: { Authorization: `Bearer ${token}` },
233
+ });
234
+ if (!res.ok) {
235
+ throw new Error(`Failed to list agents: ${res.status}`);
236
+ }
237
+ return res.json();
238
+ },
239
+ });
240
+ // ---- Agent Definition ----
241
+ return defineAgent({
242
+ path: "@remote-registry",
243
+ entrypoint: "You manage connections to remote agent registries. " +
244
+ "Use setup to connect a new registry, connect to register users, " +
245
+ "and call_remote to proxy authenticated MCP calls.",
246
+ config: {
247
+ name: "Remote Registry",
248
+ description: "Connect to remote agent registries (MCP over HTTP) for federated integrations",
249
+ supportedActions: ["execute_tool", "describe_tools", "load"],
250
+ integration: {
251
+ provider: "remote-registry",
252
+ displayName: "Agent Registry",
253
+ icon: "server",
254
+ category: "infrastructure",
255
+ description: "Connect to a remote agent registry to access its integrations, databases, and agents.",
256
+ },
257
+ },
258
+ visibility: "public",
259
+ integrationMethods: {
260
+ async setup(params, ctx) {
261
+ const url = params.url;
262
+ const name = params.name ?? "registry";
263
+ if (!url) {
264
+ return { success: false, error: "url is required" };
265
+ }
266
+ try {
267
+ // 1. Create tenant on remote registry
268
+ const setupUrl = url.replace(/\/$/, "") + "/setup";
269
+ const setupRes = await globalThis.fetch(setupUrl, {
270
+ method: "POST",
271
+ headers: { "Content-Type": "application/json" },
272
+ body: JSON.stringify({ tenant: name }),
273
+ });
274
+ if (!setupRes.ok) {
275
+ const body = await setupRes.text();
276
+ return {
277
+ success: false,
278
+ error: `Failed to create tenant on registry: ${setupRes.status} ${body}`,
279
+ };
280
+ }
281
+ const setupResult = (await setupRes.json());
282
+ if (!setupResult.success || !setupResult.result?.tenantId) {
283
+ return {
284
+ success: false,
285
+ error: "Registry /setup did not return a tenantId",
286
+ };
287
+ }
288
+ const remoteTenantId = setupResult.result.tenantId;
289
+ // 2. Register a client for this tenant
290
+ // Use the setup token (or root key) to create client credentials
291
+ const token = setupResult.result.token;
292
+ if (!token) {
293
+ return {
294
+ success: false,
295
+ error: "Registry /setup did not return a token for client creation",
296
+ };
297
+ }
298
+ const registerResult = await mcpCall(url, token, {
299
+ action: "execute_tool",
300
+ path: "@auth",
301
+ tool: "register",
302
+ params: {
303
+ name: `${name}-client`,
304
+ scopes: ["integrations", "secrets", "users"],
305
+ },
306
+ });
307
+ const clientId = registerResult?.clientId ?? registerResult?.result?.clientId;
308
+ const clientSecret = registerResult?.clientSecret?.value ??
309
+ registerResult?.result?.clientSecret?.value ??
310
+ registerResult?.clientSecret;
311
+ if (!clientId || !clientSecret) {
312
+ return {
313
+ success: false,
314
+ error: `Failed to register client: ${JSON.stringify(registerResult)}`,
315
+ };
316
+ }
317
+ // 3. Store connection
318
+ const conn = {
319
+ id: name,
320
+ name,
321
+ url: url.replace(/\/$/, ""),
322
+ remoteTenantId,
323
+ clientId,
324
+ createdAt: Date.now(),
325
+ };
326
+ await storeConnection(ctx.callerId, conn, clientSecret);
327
+ return {
328
+ success: true,
329
+ data: {
330
+ registryId: name,
331
+ url: conn.url,
332
+ remoteTenantId,
333
+ clientId,
334
+ },
335
+ };
336
+ }
337
+ catch (err) {
338
+ return {
339
+ success: false,
340
+ error: err instanceof Error ? err.message : String(err),
341
+ };
342
+ }
343
+ },
344
+ async connect(params, ctx) {
345
+ const registryId = params.registryId;
346
+ const userId = params.userId ?? ctx.callerId;
347
+ if (!registryId) {
348
+ return { success: false, error: "registryId is required" };
349
+ }
350
+ try {
351
+ const { token, conn } = await getAuthenticatedToken(ctx.callerId, registryId);
352
+ // Register user on the remote registry
353
+ const result = await mcpCall(conn.url, token, {
354
+ action: "execute_tool",
355
+ path: "@users",
356
+ tool: "create_user",
357
+ params: { name: userId, tenantId: conn.remoteTenantId },
358
+ });
359
+ return {
360
+ success: true,
361
+ data: {
362
+ registryId,
363
+ userId,
364
+ remoteUser: result,
365
+ },
366
+ };
367
+ }
368
+ catch (err) {
369
+ return {
370
+ success: false,
371
+ error: err instanceof Error ? err.message : String(err),
372
+ };
373
+ }
374
+ },
375
+ async list(_params, ctx) {
376
+ try {
377
+ const conns = await listConnectionsList(ctx.callerId);
378
+ return {
379
+ success: true,
380
+ data: conns.map((c) => ({
381
+ id: c.id,
382
+ name: c.name,
383
+ url: c.url,
384
+ remoteTenantId: c.remoteTenantId,
385
+ createdAt: c.createdAt,
386
+ })),
387
+ };
388
+ }
389
+ catch (err) {
390
+ return {
391
+ success: false,
392
+ error: err instanceof Error ? err.message : String(err),
393
+ };
394
+ }
395
+ },
396
+ async get(params, ctx) {
397
+ const registryId = params.registryId;
398
+ if (!registryId) {
399
+ return { success: false, error: "registryId is required" };
400
+ }
401
+ try {
402
+ const data = await loadConnection(ctx.callerId, registryId);
403
+ if (!data) {
404
+ return {
405
+ success: false,
406
+ error: `No registry connection '${registryId}'`,
407
+ };
408
+ }
409
+ return {
410
+ success: true,
411
+ data: {
412
+ id: data.conn.id,
413
+ name: data.conn.name,
414
+ url: data.conn.url,
415
+ remoteTenantId: data.conn.remoteTenantId,
416
+ clientId: data.conn.clientId,
417
+ createdAt: data.conn.createdAt,
418
+ },
419
+ };
420
+ }
421
+ catch (err) {
422
+ return {
423
+ success: false,
424
+ error: err instanceof Error ? err.message : String(err),
425
+ };
426
+ }
427
+ },
428
+ async update(params, ctx) {
429
+ const registryId = params.registryId;
430
+ if (!registryId) {
431
+ return { success: false, error: "registryId is required" };
432
+ }
433
+ try {
434
+ const data = await loadConnection(ctx.callerId, registryId);
435
+ if (!data) {
436
+ return {
437
+ success: false,
438
+ error: `No registry connection '${registryId}'`,
439
+ };
440
+ }
441
+ // Update mutable fields
442
+ if (params.name)
443
+ data.conn.name = params.name;
444
+ if (params.url)
445
+ data.conn.url = params.url.replace(/\/$/, "");
446
+ await storeConnection(ctx.callerId, data.conn, data.clientSecret);
447
+ return { success: true, data: { id: data.conn.id, updated: true } };
448
+ }
449
+ catch (err) {
450
+ return {
451
+ success: false,
452
+ error: err instanceof Error ? err.message : String(err),
453
+ };
454
+ }
455
+ },
456
+ },
457
+ tools: [callRemoteTool, listRemoteAgentsTool],
458
+ });
459
+ }
460
+ //# sourceMappingURL=remote-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-registry.js","sourceRoot":"","sources":["../../src/agent-definitions/remote-registry.ts"],"names":[],"mappings":"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"}
@@ -12,13 +12,36 @@ import type { AgentDefinition } from "../types.js";
12
12
  * Pluggable secret storage backend.
13
13
  * Stores encrypted values, resolves refs.
14
14
  */
15
+ /**
16
+ * Scope for multi-tenant secret isolation.
17
+ * When provided, secrets are partitioned by tenant/instance.
18
+ */
19
+ export interface SecretScope {
20
+ tenantId: string;
21
+ instanceKey?: string;
22
+ }
15
23
  export interface SecretStore {
16
24
  /** Store a secret. Returns the secret ID (without prefix). */
17
- store(value: string, ownerId: string): Promise<string>;
25
+ store(value: string, ownerId: string, scope?: SecretScope): Promise<string>;
18
26
  /** Resolve a secret ID to its decrypted value. */
19
- resolve(id: string, ownerId: string): Promise<string | null>;
27
+ resolve(id: string, ownerId: string, scope?: SecretScope): Promise<string | null>;
20
28
  /** Delete a secret. */
21
- delete(id: string, ownerId: string): Promise<boolean>;
29
+ delete(id: string, ownerId: string, scope?: SecretScope): Promise<boolean>;
30
+ /**
31
+ * Store multiple secrets in a single operation.
32
+ * Returns an array of secret IDs in the same order as the input values.
33
+ */
34
+ storeBatch?(values: string[], ownerId: string, scope?: SecretScope): Promise<string[]>;
35
+ /**
36
+ * Associate a secret with an entity (e.g., a provider config, a connection).
37
+ * Enables lookup of secrets by entity rather than by ID.
38
+ */
39
+ associate?(secretId: string, entityType: string, entityId: string, scope?: SecretScope): Promise<void>;
40
+ /**
41
+ * Resolve secrets associated with an entity.
42
+ * Returns all secret IDs linked to the given entity.
43
+ */
44
+ resolveByEntity?(entityType: string, entityId: string, scope?: SecretScope): Promise<string[]>;
22
45
  }
23
46
  export declare function isSecretRef(value: unknown): value is string;
24
47
  export declare function getSecretId(ref: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/agent-definitions/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAC;AAMhF;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvD,kDAAkD;IAClD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7D,uBAAuB;IACvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvD;AAQD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE3D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhD;AAcD,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAwB5E;AAMD,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,GAC3B,eAAe,CAoEjB;AAMD,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CAAE,GAAG,SAAS,EACnE,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC,CA+CD"}
1
+ {"version":3,"file":"secrets.d.ts","sourceRoot":"","sources":["../../src/agent-definitions/secrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,eAAe,EAA+B,MAAM,aAAa,CAAC;AAMhF;;;GAGG;AACH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,8DAA8D;IAC9D,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5E,kDAAkD;IAClD,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAElF,uBAAuB;IACvB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3E;;;OAGG;IACH,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAEvF;;;OAGG;IACH,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvG;;;OAGG;IACH,eAAe,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CAChG;AAQD,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAE3D;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhD;AAcD,wBAAgB,yBAAyB,CAAC,aAAa,EAAE,MAAM,GAAG,WAAW,CAkD5E;AAMD,MAAM,WAAW,mBAAmB;IAClC,2BAA2B;IAC3B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,mBAAmB,GAC3B,eAAe,CAoEjB;AAMD,UAAU,cAAc;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;CAAE,GAAG,SAAS,EACnE,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC,CAAC,CA+CD"}
@@ -34,26 +34,49 @@ function randomSecretId() {
34
34
  // ============================================
35
35
  export function createInMemorySecretStore(encryptionKey) {
36
36
  const secrets = new Map();
37
+ const associations = new Map(); // "entityType:entityId" -> secretIds
37
38
  return {
38
- async store(value, ownerId) {
39
+ async store(value, ownerId, _scope) {
39
40
  const id = randomSecretId();
40
41
  const encrypted = await encryptSecret(value, encryptionKey);
41
42
  secrets.set(id, { encrypted, ownerId });
42
43
  return id;
43
44
  },
44
- async resolve(id, ownerId) {
45
+ async resolve(id, ownerId, _scope) {
45
46
  const entry = secrets.get(id);
46
47
  if (!entry || entry.ownerId !== ownerId)
47
48
  return null;
48
49
  return decryptSecret(entry.encrypted, encryptionKey);
49
50
  },
50
- async delete(id, ownerId) {
51
+ async delete(id, ownerId, _scope) {
51
52
  const entry = secrets.get(id);
52
53
  if (!entry || entry.ownerId !== ownerId)
53
54
  return false;
54
55
  secrets.delete(id);
55
56
  return true;
56
57
  },
58
+ async storeBatch(values, ownerId, _scope) {
59
+ const ids = [];
60
+ for (const value of values) {
61
+ const id = randomSecretId();
62
+ const encrypted = await encryptSecret(value, encryptionKey);
63
+ secrets.set(id, { encrypted, ownerId });
64
+ ids.push(id);
65
+ }
66
+ return ids;
67
+ },
68
+ async associate(secretId, entityType, entityId, _scope) {
69
+ const key = `${entityType}:${entityId}`;
70
+ const existing = associations.get(key) ?? [];
71
+ if (!existing.includes(secretId)) {
72
+ existing.push(secretId);
73
+ associations.set(key, existing);
74
+ }
75
+ },
76
+ async resolveByEntity(entityType, entityId, _scope) {
77
+ const key = `${entityType}:${entityId}`;
78
+ return associations.get(key) ?? [];
79
+ },
57
80
  };
58
81
  }
59
82
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/agent-definitions/secrets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"secrets.js","sourceRoot":"","sources":["../../src/agent-definitions/secrets.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -59,12 +59,14 @@ export type { AuthClient, AuthIdentity, AuthStore, AuthToken, CreateAuthAgentOpt
59
59
  export { buildAgents } from "./build.js";
60
60
  export type { BuildAgentsOptions, BuildAgentsResult } from "./build.js";
61
61
  export { createSecretsAgent, createInMemorySecretStore, isSecretRef, processSecretParams, } from "./agent-definitions/secrets.js";
62
- export type { SecretStore, SecretsAgentOptions, } from "./agent-definitions/secrets.js";
62
+ export type { SecretScope, SecretStore, SecretsAgentOptions, } from "./agent-definitions/secrets.js";
63
63
  export { encryptSecret, decryptSecret } from "./crypto.js";
64
64
  export { signJwt, verifyJwt } from "./jwt.js";
65
65
  export type { JwtPayload } from "./jwt.js";
66
66
  export { createIntegrationsAgent, createInMemoryIntegrationStore, exchangeCodeForToken, refreshAccessToken, getDefaultTokenBodyParams, getDefaultRefreshBodyParams, } from "./agent-definitions/integrations.js";
67
- export type { IntegrationStore, IntegrationsAgentOptions, ProviderConfig, IntegrationOAuthConfig, IntegrationApiConfig, IntegrationApiAuthConfig, IntegrationCallInput, RestCallInput, GraphqlCallInput, AgentRegistryCallInput, UserConnection, ClientAuthMethod, TokenContentType, TokenExchangeResult, } from "./agent-definitions/integrations.js";
67
+ export type { IntegrationStore, IntegrationsAgentOptions, ProviderConfig, IntegrationOAuthConfig, IntegrationApiConfig, IntegrationApiAuthConfig, IntegrationCallInput, RestCallInput, GraphqlCallInput, UserConnection, ClientAuthMethod, TokenContentType, TokenExchangeResult, } from "./agent-definitions/integrations.js";
68
+ export { createRemoteRegistryAgent } from "./agent-definitions/remote-registry.js";
69
+ export type { RemoteRegistryAgentOptions } from "./agent-definitions/remote-registry.js";
68
70
  export { createUsersAgent, createInMemoryUserStore, } from "./agent-definitions/users.js";
69
71
  export type { User, UserIdentity, UserStore, UsersAgentOptions, } from "./agent-definitions/users.js";
70
72
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAGH,YAAY,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGxE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,WAAW,EACX,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK3C,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAG7C,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAGH,YAAY,EACV,WAAW,EACX,WAAW,EACX,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,6BAA6B,EAC7B,8BAA8B,EAC9B,sBAAsB,EACtB,2BAA2B,EAC3B,4BAA4B,EAC5B,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,wBAAwB,EACxB,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAGzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGnE,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGxE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AACxC,YAAY,EACV,WAAW,EACX,WAAW,EACX,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG3D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAK3C,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,qCAAqC,CAAC;AAI7C,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,YAAY,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAC;AAEzF,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,iBAAiB,GAClB,MAAM,8BAA8B,CAAC"}
package/dist/index.js CHANGED
@@ -66,6 +66,8 @@ export { signJwt, verifyJwt } from "./jwt.js";
66
66
  // Postgres Secret Store
67
67
  // Integrations
68
68
  export { createIntegrationsAgent, createInMemoryIntegrationStore, exchangeCodeForToken, refreshAccessToken, getDefaultTokenBodyParams, getDefaultRefreshBodyParams, } from "./agent-definitions/integrations.js";
69
+ // Remote Registry
70
+ export { createRemoteRegistryAgent } from "./agent-definitions/remote-registry.js";
69
71
  // Users
70
72
  export { createUsersAgent, createInMemoryUserStore, } from "./agent-definitions/users.js";
71
73
  //# sourceMappingURL=index.js.map