@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
package/src/index.ts CHANGED
@@ -81,6 +81,10 @@ export type {
81
81
  ToolDefinition,
82
82
  ToolSchema,
83
83
  ToolSelectionContext,
84
+ IntegrationConfig,
85
+ IntegrationMethods,
86
+ IntegrationMethodResult,
87
+ IntegrationMethodContext,
84
88
  Visibility,
85
89
  } from "./types.js";
86
90
 
@@ -97,23 +101,77 @@ export { createAgentServer } from "./server.js";
97
101
  export type { AgentServer, AgentServerOptions } from "./server.js";
98
102
 
99
103
  // Auth
100
- export { createAuthAgent, createMemoryAuthStore } from "./auth.js";
104
+ export {
105
+ createAuthAgent,
106
+ createMemoryAuthStore,
107
+ } from "./agent-definitions/auth.js";
101
108
  export type {
102
109
  AuthClient,
103
110
  AuthIdentity,
104
111
  AuthStore,
105
112
  AuthToken,
106
113
  CreateAuthAgentOptions,
107
- } from "./auth.js";
114
+ } from "./agent-definitions/auth.js";
108
115
 
109
116
  // Build
110
117
  export { buildAgents } from "./build.js";
111
118
  export type { BuildAgentsOptions, BuildAgentsResult } from "./build.js";
112
119
 
113
120
  // Secrets
114
- export { createInMemorySecretStore, isSecretRef, processSecretParams } from "./secrets.js";
115
- export type { SecretStore } from "./secrets.js";
121
+ export {
122
+ createSecretsAgent,
123
+ createInMemorySecretStore,
124
+ isSecretRef,
125
+ processSecretParams,
126
+ } from "./agent-definitions/secrets.js";
127
+ export type {
128
+ SecretStore,
129
+ SecretsAgentOptions,
130
+ } from "./agent-definitions/secrets.js";
131
+
132
+ // Crypto
133
+ export { encryptSecret, decryptSecret } from "./crypto.js";
116
134
 
117
135
  // JWT
118
136
  export { signJwt, verifyJwt } from "./jwt.js";
119
137
  export type { JwtPayload } from "./jwt.js";
138
+
139
+ // Postgres Secret Store
140
+
141
+ // Integrations
142
+ export {
143
+ createIntegrationsAgent,
144
+ createInMemoryIntegrationStore,
145
+ exchangeCodeForToken,
146
+ refreshAccessToken,
147
+ getDefaultTokenBodyParams,
148
+ getDefaultRefreshBodyParams,
149
+ } from "./agent-definitions/integrations.js";
150
+ export type {
151
+ IntegrationStore,
152
+ IntegrationsAgentOptions,
153
+ ProviderConfig,
154
+ IntegrationOAuthConfig,
155
+ IntegrationApiConfig,
156
+ IntegrationApiAuthConfig,
157
+ IntegrationCallInput,
158
+ RestCallInput,
159
+ GraphqlCallInput,
160
+ AgentRegistryCallInput,
161
+ UserConnection,
162
+ ClientAuthMethod,
163
+ TokenContentType,
164
+ TokenExchangeResult,
165
+ } from "./agent-definitions/integrations.js";
166
+
167
+ // Users
168
+ export {
169
+ createUsersAgent,
170
+ createInMemoryUserStore,
171
+ } from "./agent-definitions/users.js";
172
+ export type {
173
+ User,
174
+ UserIdentity,
175
+ UserStore,
176
+ UsersAgentOptions,
177
+ } from "./agent-definitions/users.js";
package/src/jwt.ts CHANGED
@@ -18,10 +18,7 @@ function base64UrlDecode(str: string): Uint8Array {
18
18
  return Uint8Array.from(binary, (c) => c.charCodeAt(0));
19
19
  }
20
20
 
21
- async function hmacSign(
22
- data: string,
23
- secret: string,
24
- ): Promise<Uint8Array> {
21
+ async function hmacSign(data: string, secret: string): Promise<Uint8Array> {
25
22
  const key = await crypto.subtle.importKey(
26
23
  "raw",
27
24
  encoder.encode(secret),
@@ -45,7 +42,12 @@ async function hmacVerify(
45
42
  false,
46
43
  ["verify"],
47
44
  );
48
- return crypto.subtle.verify("HMAC", key, signature.buffer as ArrayBuffer, encoder.encode(data));
45
+ return crypto.subtle.verify(
46
+ "HMAC",
47
+ key,
48
+ signature.buffer as ArrayBuffer,
49
+ encoder.encode(data),
50
+ );
49
51
  }
50
52
 
51
53
  /** JWT payload for auth tokens */
@@ -54,6 +56,8 @@ export interface JwtPayload {
54
56
  sub: string;
55
57
  /** Client name */
56
58
  name: string;
59
+ /** Tenant ID */
60
+ tenantId?: string;
57
61
  /** Scopes */
58
62
  scopes: string[];
59
63
  /** Issued at (unix seconds) */