@slashfi/agents-sdk 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/{auth.d.ts → agent-definitions/auth.d.ts} +36 -2
  2. package/dist/agent-definitions/auth.d.ts.map +1 -0
  3. package/dist/{auth.js → agent-definitions/auth.js} +69 -8
  4. package/dist/agent-definitions/auth.js.map +1 -0
  5. package/dist/agent-definitions/integrations.d.ts +162 -0
  6. package/dist/agent-definitions/integrations.d.ts.map +1 -0
  7. package/dist/agent-definitions/integrations.js +861 -0
  8. package/dist/agent-definitions/integrations.js.map +1 -0
  9. package/dist/agent-definitions/secrets.d.ts +51 -0
  10. package/dist/agent-definitions/secrets.d.ts.map +1 -0
  11. package/dist/agent-definitions/secrets.js +165 -0
  12. package/dist/agent-definitions/secrets.js.map +1 -0
  13. package/dist/agent-definitions/users.d.ts +80 -0
  14. package/dist/agent-definitions/users.d.ts.map +1 -0
  15. package/dist/agent-definitions/users.js +397 -0
  16. package/dist/agent-definitions/users.js.map +1 -0
  17. package/dist/crypto.d.ts +14 -0
  18. package/dist/crypto.d.ts.map +1 -0
  19. package/dist/crypto.js +40 -0
  20. package/dist/crypto.js.map +1 -0
  21. package/dist/define.d.ts +6 -1
  22. package/dist/define.d.ts.map +1 -1
  23. package/dist/define.js +1 -0
  24. package/dist/define.js.map +1 -1
  25. package/dist/index.d.ts +10 -5
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +9 -2
  28. package/dist/index.js.map +1 -1
  29. package/dist/jwt.d.ts +2 -0
  30. package/dist/jwt.d.ts.map +1 -1
  31. package/dist/jwt.js.map +1 -1
  32. package/dist/server.d.ts +28 -1
  33. package/dist/server.d.ts.map +1 -1
  34. package/dist/server.js +478 -27
  35. package/dist/server.js.map +1 -1
  36. package/dist/slack-oauth.d.ts +27 -0
  37. package/dist/slack-oauth.d.ts.map +1 -0
  38. package/dist/slack-oauth.js +48 -0
  39. package/dist/slack-oauth.js.map +1 -0
  40. package/dist/types.d.ts +66 -0
  41. package/dist/types.d.ts.map +1 -1
  42. package/dist/web-pages.d.ts +8 -0
  43. package/dist/web-pages.d.ts.map +1 -0
  44. package/dist/web-pages.js +169 -0
  45. package/dist/web-pages.js.map +1 -0
  46. package/package.json +2 -1
  47. package/src/{auth.ts → agent-definitions/auth.ts} +134 -15
  48. package/src/agent-definitions/integrations.ts +1209 -0
  49. package/src/agent-definitions/secrets.ts +241 -0
  50. package/src/agent-definitions/users.ts +533 -0
  51. package/src/crypto.ts +71 -0
  52. package/src/define.ts +8 -0
  53. package/src/index.ts +62 -4
  54. package/src/jwt.ts +9 -5
  55. package/src/server.ts +567 -35
  56. package/src/slack-oauth.ts +66 -0
  57. package/src/types.ts +83 -0
  58. package/src/web-pages.ts +178 -0
  59. package/dist/auth.d.ts.map +0 -1
  60. package/dist/auth.js.map +0 -1
  61. package/dist/secrets.d.ts +0 -44
  62. package/dist/secrets.d.ts.map +0 -1
  63. package/dist/secrets.js +0 -106
  64. package/dist/secrets.js.map +0 -1
  65. package/src/secrets.ts +0 -154
@@ -0,0 +1,397 @@
1
+ /**
2
+ * Users Agent (@users)
3
+ *
4
+ * Built-in agent for user and user identity management.
5
+ * Provides user CRUD and identity linking (OAuth providers, SSO, etc.).
6
+ *
7
+ * A User is a human entity. A UserIdentity links a user to an external
8
+ * identity provider (e.g. Google, Slack, GitHub) — one user can have
9
+ * many identities.
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { createAgentRegistry, createUsersAgent } from '@slashfi/agents-sdk';
14
+ *
15
+ * const registry = createAgentRegistry();
16
+ * registry.register(createUsersAgent({
17
+ * store: myUserStore,
18
+ * }));
19
+ * ```
20
+ */
21
+ import { defineAgent, defineTool } from "../define.js";
22
+ // ============================================
23
+ // In-Memory User Store
24
+ // ============================================
25
+ function generateId(prefix) {
26
+ const chars = "abcdefghijklmnopqrstuvwxyz0123456789";
27
+ let id = prefix;
28
+ for (let i = 0; i < 20; i++) {
29
+ id += chars[Math.floor(Math.random() * chars.length)];
30
+ }
31
+ return id;
32
+ }
33
+ export function createInMemoryUserStore() {
34
+ const users = new Map();
35
+ const identities = new Map();
36
+ return {
37
+ async createUser(input) {
38
+ const now = Date.now();
39
+ const user = { ...input, createdAt: now, updatedAt: now };
40
+ users.set(user.id, user);
41
+ return user;
42
+ },
43
+ async getUser(userId) {
44
+ return users.get(userId) ?? null;
45
+ },
46
+ async getUserByEmail(tenantId, email) {
47
+ for (const u of users.values()) {
48
+ if (u.tenantId === tenantId && u.email === email)
49
+ return u;
50
+ }
51
+ return null;
52
+ },
53
+ async listUsers(tenantId) {
54
+ return Array.from(users.values()).filter((u) => u.tenantId === tenantId);
55
+ },
56
+ async updateUser(userId, updates) {
57
+ const user = users.get(userId);
58
+ if (!user)
59
+ return null;
60
+ const updated = { ...user, ...updates, updatedAt: Date.now() };
61
+ users.set(userId, updated);
62
+ return updated;
63
+ },
64
+ async deleteUser(userId) {
65
+ // Delete identities too
66
+ for (const [id, identity] of identities) {
67
+ if (identity.userId === userId)
68
+ identities.delete(id);
69
+ }
70
+ return users.delete(userId);
71
+ },
72
+ async createIdentity(input) {
73
+ const now = Date.now();
74
+ const identity = {
75
+ ...input,
76
+ connectedAt: now,
77
+ updatedAt: now,
78
+ };
79
+ identities.set(identity.id, identity);
80
+ return identity;
81
+ },
82
+ async getIdentity(identityId) {
83
+ return identities.get(identityId) ?? null;
84
+ },
85
+ async getIdentityByProvider(userId, provider) {
86
+ for (const identity of identities.values()) {
87
+ if (identity.userId === userId && identity.provider === provider)
88
+ return identity;
89
+ }
90
+ return null;
91
+ },
92
+ async findIdentityByProviderUserId(provider, providerUserId) {
93
+ for (const identity of identities.values()) {
94
+ if (identity.provider === provider &&
95
+ identity.providerUserId === providerUserId)
96
+ return identity;
97
+ }
98
+ return null;
99
+ },
100
+ async listIdentities(userId) {
101
+ return Array.from(identities.values()).filter((i) => i.userId === userId);
102
+ },
103
+ async updateIdentity(identityId, updates) {
104
+ const identity = identities.get(identityId);
105
+ if (!identity)
106
+ return null;
107
+ const updated = { ...identity, ...updates, updatedAt: Date.now() };
108
+ identities.set(identityId, updated);
109
+ return updated;
110
+ },
111
+ async deleteIdentity(identityId) {
112
+ return identities.delete(identityId);
113
+ },
114
+ };
115
+ }
116
+ export function createUsersAgent(options) {
117
+ const { store } = options;
118
+ // ---- create_user ----
119
+ const createUserTool = defineTool({
120
+ name: "create_user",
121
+ description: "Create a new user.",
122
+ visibility: "public",
123
+ inputSchema: {
124
+ type: "object",
125
+ properties: {
126
+ id: {
127
+ type: "string",
128
+ description: "User ID (optional, auto-generated if omitted)",
129
+ },
130
+ tenantId: { type: "string", description: "Tenant ID" },
131
+ email: { type: "string", description: "Email address" },
132
+ name: { type: "string", description: "Display name" },
133
+ avatarUrl: { type: "string", description: "Avatar URL" },
134
+ metadata: { type: "object", description: "Additional metadata" },
135
+ },
136
+ required: ["tenantId"],
137
+ },
138
+ execute: async (input, __ctx) => {
139
+ const user = await store.createUser({
140
+ id: input.id ?? generateId("user_"),
141
+ tenantId: input.tenantId,
142
+ email: input.email,
143
+ name: input.name,
144
+ avatarUrl: input.avatarUrl,
145
+ metadata: input.metadata,
146
+ });
147
+ return { success: true, user };
148
+ },
149
+ });
150
+ // ---- get_user ----
151
+ const getUserTool = defineTool({
152
+ name: "get_user",
153
+ description: "Get a user by ID.",
154
+ visibility: "public",
155
+ inputSchema: {
156
+ type: "object",
157
+ properties: {
158
+ userId: { type: "string", description: "User ID" },
159
+ },
160
+ required: ["userId"],
161
+ },
162
+ execute: async (input, __ctx) => {
163
+ const user = await store.getUser(input.userId);
164
+ if (!user)
165
+ return { error: `User '${input.userId}' not found` };
166
+ return { user };
167
+ },
168
+ });
169
+ // ---- list_users ----
170
+ const listUsersTool = defineTool({
171
+ name: "list_users",
172
+ description: "List users in a tenant.",
173
+ visibility: "public",
174
+ inputSchema: {
175
+ type: "object",
176
+ properties: {
177
+ tenantId: { type: "string", description: "Tenant ID" },
178
+ },
179
+ required: ["tenantId"],
180
+ },
181
+ execute: async (input, __ctx) => {
182
+ const users = await store.listUsers(input.tenantId);
183
+ return { users };
184
+ },
185
+ });
186
+ // ---- update_user ----
187
+ const updateUserTool = defineTool({
188
+ name: "update_user",
189
+ description: "Update a user's profile.",
190
+ visibility: "public",
191
+ inputSchema: {
192
+ type: "object",
193
+ properties: {
194
+ userId: { type: "string", description: "User ID" },
195
+ email: { type: "string", description: "New email" },
196
+ name: { type: "string", description: "New name" },
197
+ avatarUrl: { type: "string", description: "New avatar URL" },
198
+ metadata: { type: "object", description: "New metadata (merged)" },
199
+ },
200
+ required: ["userId"],
201
+ },
202
+ execute: async (input, __ctx) => {
203
+ const { userId, ...updates } = input;
204
+ const user = await store.updateUser(userId, updates);
205
+ if (!user)
206
+ return { error: `User '${userId}' not found` };
207
+ return { success: true, user };
208
+ },
209
+ });
210
+ // ---- link_identity ----
211
+ const linkIdentityTool = defineTool({
212
+ name: "link_identity",
213
+ description: "Link an external identity (OAuth provider) to a user. " +
214
+ "Creates a UserIdentity record associating the user with a provider account.",
215
+ visibility: "public",
216
+ inputSchema: {
217
+ type: "object",
218
+ properties: {
219
+ userId: { type: "string", description: "User ID to link to" },
220
+ provider: {
221
+ type: "string",
222
+ description: "Provider name (e.g. 'google', 'slack', 'github')",
223
+ },
224
+ providerUserId: {
225
+ type: "string",
226
+ description: "The user's ID in the external provider",
227
+ },
228
+ email: { type: "string", description: "Email from the provider" },
229
+ name: { type: "string", description: "Name from the provider" },
230
+ avatarUrl: {
231
+ type: "string",
232
+ description: "Avatar URL from the provider",
233
+ },
234
+ accessToken: { type: "string", description: "OAuth access token" },
235
+ refreshToken: { type: "string", description: "OAuth refresh token" },
236
+ expiresAt: {
237
+ type: "number",
238
+ description: "Token expiry timestamp (ms)",
239
+ },
240
+ scopes: {
241
+ type: "array",
242
+ items: { type: "string" },
243
+ description: "Granted scopes",
244
+ },
245
+ metadata: {
246
+ type: "object",
247
+ description: "Additional provider-specific data",
248
+ },
249
+ },
250
+ required: ["userId", "provider", "providerUserId"],
251
+ },
252
+ execute: async (input, __ctx) => {
253
+ // Check if identity already exists
254
+ const existing = await store.getIdentityByProvider(input.userId, input.provider);
255
+ if (existing) {
256
+ // Update existing
257
+ const updated = await store.updateIdentity(existing.id, {
258
+ accessToken: input.accessToken,
259
+ refreshToken: input.refreshToken,
260
+ expiresAt: input.expiresAt,
261
+ email: input.email,
262
+ name: input.name,
263
+ avatarUrl: input.avatarUrl,
264
+ metadata: input.metadata,
265
+ });
266
+ return { success: true, identity: updated, updated: true };
267
+ }
268
+ const identity = await store.createIdentity({
269
+ id: generateId("ident_"),
270
+ userId: input.userId,
271
+ provider: input.provider,
272
+ providerUserId: input.providerUserId,
273
+ email: input.email,
274
+ name: input.name,
275
+ avatarUrl: input.avatarUrl,
276
+ accessToken: input.accessToken,
277
+ refreshToken: input.refreshToken,
278
+ expiresAt: input.expiresAt,
279
+ tokenType: input.tokenType,
280
+ scopes: input.scopes,
281
+ metadata: input.metadata,
282
+ });
283
+ return { success: true, identity, created: true };
284
+ },
285
+ });
286
+ // ---- list_identities ----
287
+ const listIdentitiesTool = defineTool({
288
+ name: "list_identities",
289
+ description: "List all linked identities for a user.",
290
+ visibility: "public",
291
+ inputSchema: {
292
+ type: "object",
293
+ properties: {
294
+ userId: { type: "string", description: "User ID" },
295
+ },
296
+ required: ["userId"],
297
+ },
298
+ execute: async (input, __ctx) => {
299
+ const identities = await store.listIdentities(input.userId);
300
+ return {
301
+ identities: identities.map((i) => ({
302
+ id: i.id,
303
+ provider: i.provider,
304
+ providerUserId: i.providerUserId,
305
+ email: i.email,
306
+ name: i.name,
307
+ connectedAt: i.connectedAt,
308
+ hasAccessToken: !!i.accessToken,
309
+ expiresAt: i.expiresAt,
310
+ })),
311
+ };
312
+ },
313
+ });
314
+ // ---- unlink_identity ----
315
+ const unlinkIdentityTool = defineTool({
316
+ name: "unlink_identity",
317
+ description: "Remove a linked identity from a user.",
318
+ visibility: "public",
319
+ inputSchema: {
320
+ type: "object",
321
+ properties: {
322
+ identityId: { type: "string", description: "Identity ID to unlink" },
323
+ },
324
+ required: ["identityId"],
325
+ },
326
+ execute: async (input, __ctx) => {
327
+ const deleted = await store.deleteIdentity(input.identityId);
328
+ return { success: deleted };
329
+ },
330
+ });
331
+ // ---- resolve_identity ----
332
+ const resolveIdentityTool = defineTool({
333
+ name: "resolve_identity",
334
+ description: "Find a user by their external provider identity. " +
335
+ "Useful for login flows — given a provider + providerUserId, find the linked user.",
336
+ visibility: "public",
337
+ inputSchema: {
338
+ type: "object",
339
+ properties: {
340
+ provider: {
341
+ type: "string",
342
+ description: "Provider name (e.g. 'google')",
343
+ },
344
+ providerUserId: {
345
+ type: "string",
346
+ description: "External user ID from the provider",
347
+ },
348
+ },
349
+ required: ["provider", "providerUserId"],
350
+ },
351
+ execute: async (input, __ctx) => {
352
+ const identity = await store.findIdentityByProviderUserId(input.provider, input.providerUserId);
353
+ if (!identity)
354
+ return { found: false };
355
+ const user = await store.getUser(identity.userId);
356
+ return {
357
+ found: true,
358
+ user: user
359
+ ? {
360
+ id: user.id,
361
+ email: user.email,
362
+ name: user.name,
363
+ tenantId: user.tenantId,
364
+ }
365
+ : null,
366
+ identity: {
367
+ id: identity.id,
368
+ provider: identity.provider,
369
+ providerUserId: identity.providerUserId,
370
+ email: identity.email,
371
+ },
372
+ };
373
+ },
374
+ });
375
+ return defineAgent({
376
+ path: "@users",
377
+ entrypoint: "You are the users agent. You manage user accounts and their linked external identities " +
378
+ "(OAuth providers like Google, Slack, GitHub, etc.).",
379
+ config: {
380
+ name: "Users",
381
+ description: "User and identity management",
382
+ supportedActions: ["execute_tool", "describe_tools", "load"],
383
+ },
384
+ visibility: "public",
385
+ tools: [
386
+ createUserTool,
387
+ getUserTool,
388
+ listUsersTool,
389
+ updateUserTool,
390
+ linkIdentityTool,
391
+ listIdentitiesTool,
392
+ unlinkIdentityTool,
393
+ resolveIdentityTool,
394
+ ],
395
+ });
396
+ }
397
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/agent-definitions/users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * AES-256-GCM encryption utilities for the agents SDK.
3
+ * Uses Web Crypto API - no external dependencies.
4
+ */
5
+ /**
6
+ * Encrypt a string with AES-256-GCM.
7
+ * Returns a base64-encoded string containing IV + ciphertext.
8
+ */
9
+ export declare function encryptSecret(plaintext: string, encryptionKey: string): Promise<string>;
10
+ /**
11
+ * Decrypt a string encrypted with encryptSecret.
12
+ */
13
+ export declare function decryptSecret(encrypted: string, encryptionKey: string): Promise<string>;
14
+ //# sourceMappingURL=crypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA2BH;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAWjB"}
package/dist/crypto.js ADDED
@@ -0,0 +1,40 @@
1
+ /**
2
+ * AES-256-GCM encryption utilities for the agents SDK.
3
+ * Uses Web Crypto API - no external dependencies.
4
+ */
5
+ const encoder = new TextEncoder();
6
+ const decoder = new TextDecoder();
7
+ async function deriveKey(secret) {
8
+ const keyMaterial = await crypto.subtle.importKey("raw", encoder.encode(secret), "PBKDF2", false, ["deriveKey"]);
9
+ return crypto.subtle.deriveKey({
10
+ name: "PBKDF2",
11
+ salt: encoder.encode("agents-sdk-secrets-v1"),
12
+ iterations: 100000,
13
+ hash: "SHA-256",
14
+ }, keyMaterial, { name: "AES-GCM", length: 256 }, false, ["encrypt", "decrypt"]);
15
+ }
16
+ /**
17
+ * Encrypt a string with AES-256-GCM.
18
+ * Returns a base64-encoded string containing IV + ciphertext.
19
+ */
20
+ export async function encryptSecret(plaintext, encryptionKey) {
21
+ const key = await deriveKey(encryptionKey);
22
+ const iv = crypto.getRandomValues(new Uint8Array(12));
23
+ const ciphertext = await crypto.subtle.encrypt({ name: "AES-GCM", iv }, key, encoder.encode(plaintext));
24
+ const combined = new Uint8Array(iv.length + new Uint8Array(ciphertext).length);
25
+ combined.set(iv);
26
+ combined.set(new Uint8Array(ciphertext), iv.length);
27
+ return btoa(String.fromCharCode(...combined));
28
+ }
29
+ /**
30
+ * Decrypt a string encrypted with encryptSecret.
31
+ */
32
+ export async function decryptSecret(encrypted, encryptionKey) {
33
+ const key = await deriveKey(encryptionKey);
34
+ const combined = Uint8Array.from(atob(encrypted), (c) => c.charCodeAt(0));
35
+ const iv = combined.slice(0, 12);
36
+ const ciphertext = combined.slice(12);
37
+ const plaintext = await crypto.subtle.decrypt({ name: "AES-GCM", iv }, key, ciphertext);
38
+ return decoder.decode(plaintext);
39
+ }
40
+ //# sourceMappingURL=crypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.js","sourceRoot":"","sources":["../src/crypto.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,KAAK,UAAU,SAAS,CAAC,MAAc;IACrC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAC/C,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,QAAQ,EACR,KAAK,EACL,CAAC,WAAW,CAAC,CACd,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,SAAS,CAC5B;QACE,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC;QAC7C,UAAU,EAAE,MAAM;QAClB,IAAI,EAAE,SAAS;KAChB,EACD,WAAW,EACX,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,EAChC,KAAK,EACL,CAAC,SAAS,EAAE,SAAS,CAAC,CACvB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,aAAqB;IAErB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IACtD,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAC5C,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EACvB,GAAG,EACH,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAC1B,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,UAAU,CAC7B,EAAE,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,UAAU,CAAC,CAAC,MAAM,CAC9C,CAAC;IACF,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,SAAiB,EACjB,aAAqB;IAErB,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,CAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,EACvB,GAAG,EACH,UAAU,CACX,CAAC;IACF,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC"}
package/dist/define.d.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Factory functions for creating agent and tool definitions.
5
5
  */
6
- import type { AgentConfig, AgentDefinition, AgentRuntime, JsonSchema, ToolContext, ToolDefinition, Visibility } from "./types.js";
6
+ import type { AgentConfig, AgentDefinition, AgentRuntime, IntegrationMethods, JsonSchema, ToolContext, ToolDefinition, Visibility } from "./types.js";
7
7
  export interface DefineToolOptions<TContext extends ToolContext = ToolContext, TInput = unknown, TOutput = unknown> {
8
8
  /** Tool name (unique within agent) */
9
9
  name: string;
@@ -58,6 +58,11 @@ export interface DefineAgentOptions<TContext extends ToolContext = ToolContext>
58
58
  visibility?: Visibility;
59
59
  /** Explicit allowed callers */
60
60
  allowedCallers?: string[];
61
+ /**
62
+ * Integration method callbacks.
63
+ * Implement these when this agent acts as an integration.
64
+ */
65
+ integrationMethods?: IntegrationMethods;
61
66
  }
62
67
  /**
63
68
  * Create an agent definition.
@@ -1 +1 @@
1
- {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACX,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,iBAAiB,CAChC,QAAQ,SAAS,WAAW,GAAG,WAAW,EAC1C,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO;IAEjB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IAEpB,uCAAuC;IACvC,WAAW,EAAE,UAAU,CAAC;IAExB,wCAAwC;IACxC,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B,uBAAuB;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,uBAAuB;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,QAAQ,SAAS,WAAW,GAAG,WAAW,EAC1C,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EAEjB,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,GACpD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAU3C;AAMD,MAAM,WAAW,kBAAkB,CACjC,QAAQ,SAAS,WAAW,GAAG,WAAW;IAE1C,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,mCAAmC;IACnC,KAAK,CAAC,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;IAErD;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC;IAE7B,uBAAuB;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW,EACpE,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GACpC,eAAe,CAAC,QAAQ,CAAC,CAU3B"}
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,cAAc,EACd,UAAU,EACX,MAAM,YAAY,CAAC;AAMpB,MAAM,WAAW,iBAAiB,CAChC,QAAQ,SAAS,WAAW,GAAG,WAAW,EAC1C,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO;IAEjB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IAEb,2CAA2C;IAC3C,WAAW,EAAE,MAAM,CAAC;IAEpB,uCAAuC;IACvC,WAAW,EAAE,UAAU,CAAC;IAExB,wCAAwC;IACxC,YAAY,CAAC,EAAE,UAAU,CAAC;IAE1B,uBAAuB;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B,uBAAuB;IACvB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7D;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,QAAQ,SAAS,WAAW,GAAG,WAAW,EAC1C,MAAM,GAAG,OAAO,EAChB,OAAO,GAAG,OAAO,EAEjB,OAAO,EAAE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,GACpD,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAU3C;AAMD,MAAM,WAAW,kBAAkB,CACjC,QAAQ,SAAS,WAAW,GAAG,WAAW;IAE1C,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IAEb,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IAEnB,0BAA0B;IAC1B,MAAM,CAAC,EAAE,WAAW,CAAC;IAErB,mCAAmC;IACnC,KAAK,CAAC,EAAE,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;IAErD;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,YAAY,CAAC;IAE7B,uBAAuB;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB,+BAA+B;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,QAAQ,SAAS,WAAW,GAAG,WAAW,EACpE,OAAO,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GACpC,eAAe,CAAC,QAAQ,CAAC,CAW3B"}
package/dist/define.js CHANGED
@@ -66,6 +66,7 @@ export function defineAgent(options) {
66
66
  runtime: options.runtime,
67
67
  visibility: options.visibility,
68
68
  allowedCallers: options.allowedCallers,
69
+ integrationMethods: options.integrationMethods,
69
70
  };
70
71
  }
71
72
  //# sourceMappingURL=define.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA2CH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAKxB,OAAqD;IAErD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAkCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,WAAW,CACzB,OAAqC;IAErC,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;KACvC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA4CH;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAKxB,OAAqD;IAErD,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAwCD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,WAAW,CACzB,OAAqC;IAErC,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -47,19 +47,24 @@
47
47
  *
48
48
  * @packageDocumentation
49
49
  */
50
- export type { AgentAction, AgentConfig, AgentDefinition, AgentRuntime, CallAgentAskRequest, CallAgentAskResponse, CallAgentDescribeToolsRequest, CallAgentDescribeToolsResponse, CallAgentErrorResponse, CallAgentExecuteToolRequest, CallAgentExecuteToolResponse, CallAgentInvokeRequest, CallAgentInvokeResponse, CallAgentLearnRequest, CallAgentLearnResponse, CallAgentLoadRequest, CallAgentLoadResponse, CallAgentRequest, CallAgentResponse, CallerType, CoreContext, InvokeContext, JsonSchema, LearnContext, MessageContext, StepContext, TickContext, ToolContext, ToolDefinition, ToolSchema, ToolSelectionContext, Visibility, } from "./types.js";
50
+ export type { AgentAction, AgentConfig, AgentDefinition, AgentRuntime, CallAgentAskRequest, CallAgentAskResponse, CallAgentDescribeToolsRequest, CallAgentDescribeToolsResponse, CallAgentErrorResponse, CallAgentExecuteToolRequest, CallAgentExecuteToolResponse, CallAgentInvokeRequest, CallAgentInvokeResponse, CallAgentLearnRequest, CallAgentLearnResponse, CallAgentLoadRequest, CallAgentLoadResponse, CallAgentRequest, CallAgentResponse, CallerType, CoreContext, InvokeContext, JsonSchema, LearnContext, MessageContext, StepContext, TickContext, ToolContext, ToolDefinition, ToolSchema, ToolSelectionContext, IntegrationConfig, IntegrationMethods, IntegrationMethodResult, IntegrationMethodContext, Visibility, } from "./types.js";
51
51
  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
55
  export { createAgentServer } from "./server.js";
56
56
  export type { AgentServer, AgentServerOptions } from "./server.js";
57
- export { createAuthAgent, createMemoryAuthStore } from "./auth.js";
58
- export type { AuthClient, AuthIdentity, AuthStore, AuthToken, CreateAuthAgentOptions, } from "./auth.js";
57
+ export { createAuthAgent, createMemoryAuthStore, } from "./agent-definitions/auth.js";
58
+ export type { AuthClient, AuthIdentity, AuthStore, AuthToken, CreateAuthAgentOptions, } from "./agent-definitions/auth.js";
59
59
  export { buildAgents } from "./build.js";
60
60
  export type { BuildAgentsOptions, BuildAgentsResult } from "./build.js";
61
- export { createInMemorySecretStore, isSecretRef, processSecretParams } from "./secrets.js";
62
- export type { SecretStore } from "./secrets.js";
61
+ export { createSecretsAgent, createInMemorySecretStore, isSecretRef, processSecretParams, } from "./agent-definitions/secrets.js";
62
+ export type { SecretStore, SecretsAgentOptions, } from "./agent-definitions/secrets.js";
63
+ export { encryptSecret, decryptSecret } from "./crypto.js";
63
64
  export { signJwt, verifyJwt } from "./jwt.js";
64
65
  export type { JwtPayload } from "./jwt.js";
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";
68
+ export { createUsersAgent, createInMemoryUserStore, } from "./agent-definitions/users.js";
69
+ export type { User, UserIdentity, UserStore, UsersAgentOptions, } from "./agent-definitions/users.js";
65
70
  //# 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,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,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACnE,YAAY,EACV,UAAU,EACV,YAAY,EACZ,SAAS,EACT,SAAS,EACT,sBAAsB,GACvB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGxE,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC3F,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC9C,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,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,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"}
package/dist/index.js CHANGED
@@ -54,11 +54,18 @@ export { createAgentRegistry } from "./registry.js";
54
54
  // Server
55
55
  export { createAgentServer } from "./server.js";
56
56
  // Auth
57
- export { createAuthAgent, createMemoryAuthStore } from "./auth.js";
57
+ export { createAuthAgent, createMemoryAuthStore, } from "./agent-definitions/auth.js";
58
58
  // Build
59
59
  export { buildAgents } from "./build.js";
60
60
  // Secrets
61
- export { createInMemorySecretStore, isSecretRef, processSecretParams } from "./secrets.js";
61
+ export { createSecretsAgent, createInMemorySecretStore, isSecretRef, processSecretParams, } from "./agent-definitions/secrets.js";
62
+ // Crypto
63
+ export { encryptSecret, decryptSecret } from "./crypto.js";
62
64
  // JWT
63
65
  export { signJwt, verifyJwt } from "./jwt.js";
66
+ // Postgres Secret Store
67
+ // Integrations
68
+ export { createIntegrationsAgent, createInMemoryIntegrationStore, exchangeCodeForToken, refreshAccessToken, getDefaultTokenBodyParams, getDefaultRefreshBodyParams, } from "./agent-definitions/integrations.js";
69
+ // Users
70
+ export { createUsersAgent, createInMemoryUserStore, } from "./agent-definitions/users.js";
64
71
  //# 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;AAsCH,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,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AASnE,QAAQ;AACR,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,UAAU;AACV,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAG3F,MAAM;AACN,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,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,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;AAMxC,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"}
package/dist/jwt.d.ts CHANGED
@@ -10,6 +10,8 @@ export interface JwtPayload {
10
10
  sub: string;
11
11
  /** Client name */
12
12
  name: string;
13
+ /** Tenant ID */
14
+ tenantId?: string;
13
15
  /** Scopes */
14
16
  scopes: string[];
15
17
  /** Issued at (unix seconds) */
package/dist/jwt.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA6CH,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAyB5B"}
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+CH,kCAAkC;AAClC,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;;;;GAMG;AACH,wBAAsB,OAAO,CAC3B,OAAO,EAAE,UAAU,EACnB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAyB5B"}
package/dist/jwt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,SAAS,eAAe,CAAC,IAAgB;IACvC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC/C,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CAAC,GAAW;IAClC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,QAAQ,CACrB,IAAY,EACZ,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,MAAM,CAAC,CACT,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,OAAO,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,IAAY,EACZ,SAAqB,EACrB,MAAc;IAEd,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CACvC,KAAK,EACL,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EACtB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,EACjC,KAAK,EACL,CAAC,QAAQ,CAAC,CACX,CAAC;IACF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,MAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAClG,CAAC;AAgBD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,OAAmB,EACnB,MAAc;IAEd,MAAM,MAAM,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC;IAE5C,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC1E,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;IAElD,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAEhD,OAAO,GAAG,YAAY,IAAI,YAAY,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,MAAc;IAEd,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC;IACpD,MAAM,YAAY,GAAG,GAAG,SAAS,IAAI,UAAU,EAAE,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CACxC,CAAC;QAEhB,mBAAmB;QACnB,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../src/jwt.ts"],"names":[],"mappings":"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"}