@slashfi/agents-sdk 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/agent-definitions/auth.d.ts +17 -0
  2. package/dist/agent-definitions/auth.d.ts.map +1 -1
  3. package/dist/agent-definitions/auth.js +135 -1
  4. package/dist/agent-definitions/auth.js.map +1 -1
  5. package/dist/agent-definitions/integrations.d.ts +28 -12
  6. package/dist/agent-definitions/integrations.d.ts.map +1 -1
  7. package/dist/agent-definitions/integrations.js +239 -41
  8. package/dist/agent-definitions/integrations.js.map +1 -1
  9. package/dist/agent-definitions/remote-registry.d.ts +32 -0
  10. package/dist/agent-definitions/remote-registry.d.ts.map +1 -0
  11. package/dist/agent-definitions/remote-registry.js +460 -0
  12. package/dist/agent-definitions/remote-registry.js.map +1 -0
  13. package/dist/index.d.ts +12 -5
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +8 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/integration-interface.d.ts +37 -0
  18. package/dist/integration-interface.d.ts.map +1 -0
  19. package/dist/integration-interface.js +94 -0
  20. package/dist/integration-interface.js.map +1 -0
  21. package/dist/integrations-store.d.ts +33 -0
  22. package/dist/integrations-store.d.ts.map +1 -0
  23. package/dist/integrations-store.js +50 -0
  24. package/dist/integrations-store.js.map +1 -0
  25. package/dist/jwt.d.ts +86 -17
  26. package/dist/jwt.d.ts.map +1 -1
  27. package/dist/jwt.js +140 -17
  28. package/dist/jwt.js.map +1 -1
  29. package/dist/registry.d.ts +7 -0
  30. package/dist/registry.d.ts.map +1 -1
  31. package/dist/registry.js +14 -21
  32. package/dist/registry.js.map +1 -1
  33. package/dist/secret-collection.d.ts +37 -0
  34. package/dist/secret-collection.d.ts.map +1 -0
  35. package/dist/secret-collection.js +37 -0
  36. package/dist/secret-collection.js.map +1 -0
  37. package/dist/server.d.ts +41 -42
  38. package/dist/server.d.ts.map +1 -1
  39. package/dist/server.js +232 -555
  40. package/dist/server.js.map +1 -1
  41. package/dist/types.d.ts +24 -2
  42. package/dist/types.d.ts.map +1 -1
  43. package/package.json +5 -2
  44. package/src/agent-definitions/auth.ts +187 -1
  45. package/src/agent-definitions/integrations.ts +287 -55
  46. package/src/agent-definitions/remote-registry.ts +621 -0
  47. package/src/index.ts +22 -5
  48. package/src/integration-interface.ts +118 -0
  49. package/src/integrations-store.ts +84 -0
  50. package/src/jwt.ts +233 -65
  51. package/src/registry.ts +23 -2
  52. package/src/secret-collection.ts +66 -0
  53. package/src/server.ts +268 -647
  54. package/src/types.ts +28 -2
  55. package/dist/slack-oauth.d.ts +0 -27
  56. package/dist/slack-oauth.d.ts.map +0 -1
  57. package/dist/slack-oauth.js +0 -48
  58. package/dist/slack-oauth.js.map +0 -1
  59. package/dist/web-pages.d.ts +0 -8
  60. package/dist/web-pages.d.ts.map +0 -1
  61. package/dist/web-pages.js +0 -169
  62. package/dist/web-pages.js.map +0 -1
  63. package/src/slack-oauth.ts +0 -66
  64. package/src/web-pages.ts +0 -178
@@ -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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"}
package/dist/index.d.ts CHANGED
@@ -52,8 +52,10 @@ export { defineAgent, defineTool } from "./define.js";
52
52
  export type { DefineAgentOptions, DefineToolOptions } from "./define.js";
53
53
  export { createAgentRegistry } from "./registry.js";
54
54
  export type { AgentRegistry, AgentRegistryOptions } from "./registry.js";
55
- export { createAgentServer } from "./server.js";
56
- export type { AgentServer, AgentServerOptions } from "./server.js";
55
+ export { createAgentServer, detectAuth, resolveAuth, canSeeAgent } from "./server.js";
56
+ export type { AgentServer, AgentServerOptions, AuthConfig, ResolvedAuth } from "./server.js";
57
+ export { pendingCollections, generateCollectionToken, cleanupExpiredCollections, } from "./secret-collection.js";
58
+ export type { PendingCollection, PendingCollectionField, } from "./secret-collection.js";
57
59
  export { createAuthAgent, createMemoryAuthStore, } from "./agent-definitions/auth.js";
58
60
  export type { AuthClient, AuthIdentity, AuthStore, AuthToken, CreateAuthAgentOptions, } from "./agent-definitions/auth.js";
59
61
  export { buildAgents } from "./build.js";
@@ -61,10 +63,15 @@ export type { BuildAgentsOptions, BuildAgentsResult } from "./build.js";
61
63
  export { createSecretsAgent, createInMemorySecretStore, isSecretRef, processSecretParams, } from "./agent-definitions/secrets.js";
62
64
  export type { SecretScope, SecretStore, SecretsAgentOptions, } from "./agent-definitions/secrets.js";
63
65
  export { encryptSecret, decryptSecret } from "./crypto.js";
64
- export { signJwt, verifyJwt } from "./jwt.js";
65
- export type { JwtPayload } from "./jwt.js";
66
+ export { signJwt, verifyJwt, signJwtES256, verifyJwtLocal, verifyJwtFromIssuer, generateSigningKey, exportSigningKey, importSigningKey, buildJwks } from "./jwt.js";
67
+ export type { JwtPayload, AgentJwtPayload, SigningKey, ExportedKeyPair } from "./jwt.js";
66
68
  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";
69
+ export type { IntegrationStore, IntegrationsAgentOptions, ProviderConfig, IntegrationOAuthConfig, IntegrationApiConfig, IntegrationApiAuthConfig, IntegrationCallInput, RestCallInput, GraphqlCallInput, UserConnection, ClientAuthMethod, TokenContentType, TokenExchangeResult, } from "./agent-definitions/integrations.js";
70
+ export { createRemoteRegistryAgent } from "./agent-definitions/remote-registry.js";
71
+ export type { RemoteRegistryAgentOptions } from "./agent-definitions/remote-registry.js";
68
72
  export { createUsersAgent, createInMemoryUserStore, } from "./agent-definitions/users.js";
69
73
  export type { User, UserIdentity, UserStore, UsersAgentOptions, } from "./agent-definitions/users.js";
74
+ export * from "./integrations-store.js";
75
+ export * from "./integration-interface.js";
76
+ export type { ContextFactory } from "./registry.js";
70
77
  //# 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,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":"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"}
package/dist/index.js CHANGED
@@ -52,7 +52,9 @@ export { defineAgent, defineTool } from "./define.js";
52
52
  // Registry
53
53
  export { createAgentRegistry } from "./registry.js";
54
54
  // Server
55
- export { createAgentServer } from "./server.js";
55
+ export { createAgentServer, detectAuth, resolveAuth, canSeeAgent } from "./server.js";
56
+ // Secret Collection
57
+ export { pendingCollections, generateCollectionToken, cleanupExpiredCollections, } from "./secret-collection.js";
56
58
  // Auth
57
59
  export { createAuthAgent, createMemoryAuthStore, } from "./agent-definitions/auth.js";
58
60
  // Build
@@ -62,10 +64,14 @@ export { createSecretsAgent, createInMemorySecretStore, isSecretRef, processSecr
62
64
  // Crypto
63
65
  export { encryptSecret, decryptSecret } from "./crypto.js";
64
66
  // JWT
65
- export { signJwt, verifyJwt } from "./jwt.js";
67
+ export { signJwt, verifyJwt, signJwtES256, verifyJwtLocal, verifyJwtFromIssuer, generateSigningKey, exportSigningKey, importSigningKey, buildJwks } from "./jwt.js";
66
68
  // Postgres Secret Store
67
69
  // Integrations
68
70
  export { createIntegrationsAgent, createInMemoryIntegrationStore, exchangeCodeForToken, refreshAccessToken, getDefaultTokenBodyParams, getDefaultRefreshBodyParams, } from "./agent-definitions/integrations.js";
71
+ // Remote Registry
72
+ export { createRemoteRegistryAgent } from "./agent-definitions/remote-registry.js";
69
73
  // Users
70
74
  export { createUsersAgent, createInMemoryUserStore, } from "./agent-definitions/users.js";
75
+ export * from "./integrations-store.js";
76
+ export * from "./integration-interface.js";
71
77
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AA0CH,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGtD,WAAW;AACX,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO;AACP,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AASrC,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAOxC,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM;AACN,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG9C,wBAAwB;AAExB,eAAe;AACf,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAkB7C,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AA0CH,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGtD,WAAW;AACX,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAGpD,SAAS;AACT,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAGtF,oBAAoB;AACpB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAMhC,OAAO;AACP,OAAO,EACL,eAAe,EACf,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AASrC,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,UAAU;AACV,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,mBAAmB,GACpB,MAAM,gCAAgC,CAAC;AAOxC,SAAS;AACT,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE3D,MAAM;AACN,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAGpK,wBAAwB;AAExB,eAAe;AACf,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,qCAAqC,CAAC;AAkB7C,kBAAkB;AAClB,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF,QAAQ;AACR,OAAO,EACL,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAOtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Integration interface — standard tools that integration agents implement.
3
+ *
4
+ * Any agent that acts as an integration source should implement these tools.
5
+ * They are all internal visibility and only callable by @integrations.
6
+ */
7
+ import type { IntegrationsStore } from './integrations-store.js';
8
+ import type { ToolDefinition, ToolContext } from './types.js';
9
+ export interface IntegrationDefinition {
10
+ id: string;
11
+ agentPath: string;
12
+ name: string;
13
+ description: string;
14
+ type: 'oauth' | 'credentials' | 'config';
15
+ configSchema?: Record<string, unknown>;
16
+ }
17
+ export interface IntegrationInterfaceConfig {
18
+ agentPath: string;
19
+ store: IntegrationsStore;
20
+ discover: () => Promise<IntegrationDefinition[]>;
21
+ setup: (config: Record<string, unknown>, ctx: ToolContext) => Promise<{
22
+ success: boolean;
23
+ integrationId?: string;
24
+ oauthUrl?: string;
25
+ error?: string;
26
+ }>;
27
+ connect?: (integrationId: string, ctx: ToolContext) => Promise<{
28
+ success: boolean;
29
+ error?: string;
30
+ }>;
31
+ }
32
+ /**
33
+ * Create the standard _integration tools for an agent.
34
+ * Returns an array of ToolDefinitions to include in the agent's tools.
35
+ */
36
+ export declare function createIntegrationTools(config: IntegrationInterfaceConfig): ToolDefinition<ToolContext>[];
37
+ //# sourceMappingURL=integration-interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration-interface.d.ts","sourceRoot":"","sources":["../src/integration-interface.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,0BAA0B;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,MAAM,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACjD,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvJ,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACtG;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,0BAA0B,GAAG,cAAc,CAAC,WAAW,CAAC,EAAE,CAqFxG"}