@slashfi/agents-sdk 0.5.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 (53) hide show
  1. package/dist/agent-definitions/auth.d.ts.map +1 -1
  2. package/dist/agent-definitions/auth.js +16 -3
  3. package/dist/agent-definitions/auth.js.map +1 -1
  4. package/dist/agent-definitions/integrations.d.ts +162 -0
  5. package/dist/agent-definitions/integrations.d.ts.map +1 -0
  6. package/dist/agent-definitions/integrations.js +861 -0
  7. package/dist/agent-definitions/integrations.js.map +1 -0
  8. package/dist/agent-definitions/secrets.d.ts.map +1 -1
  9. package/dist/agent-definitions/secrets.js +8 -25
  10. package/dist/agent-definitions/secrets.js.map +1 -1
  11. package/dist/agent-definitions/users.d.ts +80 -0
  12. package/dist/agent-definitions/users.d.ts.map +1 -0
  13. package/dist/agent-definitions/users.js +397 -0
  14. package/dist/agent-definitions/users.js.map +1 -0
  15. package/dist/crypto.d.ts.map +1 -1
  16. package/dist/crypto.js.map +1 -1
  17. package/dist/define.d.ts +6 -1
  18. package/dist/define.d.ts.map +1 -1
  19. package/dist/define.js +1 -0
  20. package/dist/define.js.map +1 -1
  21. package/dist/index.d.ts +8 -4
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +6 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/jwt.d.ts.map +1 -1
  26. package/dist/jwt.js.map +1 -1
  27. package/dist/server.d.ts +28 -1
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js +477 -26
  30. package/dist/server.js.map +1 -1
  31. package/dist/slack-oauth.d.ts +27 -0
  32. package/dist/slack-oauth.d.ts.map +1 -0
  33. package/dist/slack-oauth.js +48 -0
  34. package/dist/slack-oauth.js.map +1 -0
  35. package/dist/types.d.ts +66 -0
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/web-pages.d.ts +8 -0
  38. package/dist/web-pages.d.ts.map +1 -0
  39. package/dist/web-pages.js +169 -0
  40. package/dist/web-pages.js.map +1 -0
  41. package/package.json +2 -1
  42. package/src/agent-definitions/auth.ts +37 -14
  43. package/src/agent-definitions/integrations.ts +1209 -0
  44. package/src/agent-definitions/secrets.ts +24 -30
  45. package/src/agent-definitions/users.ts +533 -0
  46. package/src/crypto.ts +3 -1
  47. package/src/define.ts +8 -0
  48. package/src/index.ts +56 -3
  49. package/src/jwt.ts +7 -5
  50. package/src/server.ts +565 -33
  51. package/src/slack-oauth.ts +66 -0
  52. package/src/types.ts +83 -0
  53. package/src/web-pages.ts +178 -0
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,7 +101,10 @@ export { createAgentServer } from "./server.js";
97
101
  export type { AgentServer, AgentServerOptions } from "./server.js";
98
102
 
99
103
  // Auth
100
- export { createAuthAgent, createMemoryAuthStore } from "./agent-definitions/auth.js";
104
+ export {
105
+ createAuthAgent,
106
+ createMemoryAuthStore,
107
+ } from "./agent-definitions/auth.js";
101
108
  export type {
102
109
  AuthClient,
103
110
  AuthIdentity,
@@ -111,8 +118,16 @@ export { buildAgents } from "./build.js";
111
118
  export type { BuildAgentsOptions, BuildAgentsResult } from "./build.js";
112
119
 
113
120
  // Secrets
114
- export { createSecretsAgent, createInMemorySecretStore, isSecretRef, processSecretParams } from "./agent-definitions/secrets.js";
115
- export type { SecretStore, SecretsAgentOptions } from "./agent-definitions/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";
116
131
 
117
132
  // Crypto
118
133
  export { encryptSecret, decryptSecret } from "./crypto.js";
@@ -122,3 +137,41 @@ export { signJwt, verifyJwt } from "./jwt.js";
122
137
  export type { JwtPayload } from "./jwt.js";
123
138
 
124
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 */