@dainprotocol/service-sdk 1.0.56 → 1.0.58
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.
- package/dist/__tests__/api-sdk.test.js.map +1 -1
- package/dist/__tests__/oauth.test.d.ts +1 -0
- package/dist/__tests__/oauth.test.js +255 -0
- package/dist/__tests__/oauth.test.js.map +1 -0
- package/dist/__tests__/processes.test.js +3 -3
- package/dist/client/api-sdk.d.ts +26 -1
- package/dist/client/api-sdk.js +83 -3
- package/dist/client/api-sdk.js.map +1 -1
- package/dist/client/client-auth.d.ts +2 -0
- package/dist/client/client-auth.js +26 -0
- package/dist/client/client-auth.js.map +1 -1
- package/dist/client/client.d.ts +3 -1
- package/dist/client/client.js +8 -0
- package/dist/client/client.js.map +1 -1
- package/dist/client/types.d.ts +49 -0
- package/dist/client/types.js +14 -1
- package/dist/client/types.js.map +1 -1
- package/dist/service/index.d.ts +1 -0
- package/dist/service/index.js +1 -0
- package/dist/service/index.js.map +1 -1
- package/dist/service/oauth2.d.ts +9 -2
- package/dist/service/oauth2.js +32 -4
- package/dist/service/oauth2.js.map +1 -1
- package/dist/service/oauth2Store.d.ts +22 -0
- package/dist/service/oauth2Store.js +66 -0
- package/dist/service/oauth2Store.js.map +1 -0
- package/dist/service/server.js +49 -14
- package/dist/service/server.js.map +1 -1
- package/dist/service/types.d.ts +12 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-sdk.test.js","sourceRoot":"","sources":["../../src/__tests__/api-sdk.test.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,uDAAuD;AACvD,mDAAgD;AAChD,wDAAwB;AACxB,wDAAuE;AACvE,6BAAwB;
|
|
1
|
+
{"version":3,"file":"api-sdk.test.js","sourceRoot":"","sources":["../../src/__tests__/api-sdk.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
const api_sdk_1 = require("../client/api-sdk");
|
|
5
|
+
const client_auth_1 = require("../client/client-auth");
|
|
6
|
+
const ed25519_1 = require("@noble/curves/ed25519");
|
|
7
|
+
const bs58_1 = tslib_1.__importDefault(require("bs58"));
|
|
8
|
+
const nodeService_1 = require("../service/nodeService");
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
const oauth2Store_1 = require("../service/oauth2Store");
|
|
11
|
+
const hono_1 = require("hono");
|
|
12
|
+
const node_server_1 = require("@hono/node-server");
|
|
13
|
+
describe("OAuth Integration", () => {
|
|
14
|
+
const privateKey = ed25519_1.ed25519.utils.randomPrivateKey();
|
|
15
|
+
const publicKey = ed25519_1.ed25519.getPublicKey(privateKey);
|
|
16
|
+
const clientPrivateKey = ed25519_1.ed25519.utils.randomPrivateKey();
|
|
17
|
+
const clientPublicKey = ed25519_1.ed25519.getPublicKey(clientPrivateKey);
|
|
18
|
+
const agentAuth = new client_auth_1.DainClientAuth({
|
|
19
|
+
privateKeyBase58: bs58_1.default.encode(clientPrivateKey),
|
|
20
|
+
agentId: "agent-12",
|
|
21
|
+
orgId: "org-12",
|
|
22
|
+
});
|
|
23
|
+
const mockTokenStore = new oauth2Store_1.InMemoryOAuth2TokenStore();
|
|
24
|
+
let oauthServer;
|
|
25
|
+
let oauthSdk;
|
|
26
|
+
let oauth2Handler;
|
|
27
|
+
let mockOAuthProvider;
|
|
28
|
+
beforeAll(async () => {
|
|
29
|
+
// Create mock OAuth provider server
|
|
30
|
+
const mockOAuthApp = new hono_1.Hono();
|
|
31
|
+
// Add auth endpoint
|
|
32
|
+
mockOAuthApp.get('/auth', (c) => {
|
|
33
|
+
return c.redirect(c.req.query('redirect_uri') +
|
|
34
|
+
'?code=test-code&state=' + c.req.query('state'));
|
|
35
|
+
});
|
|
36
|
+
mockOAuthApp.post('/token', async (c) => {
|
|
37
|
+
const body = await c.req.parseBody();
|
|
38
|
+
// Verify the expected OAuth token request
|
|
39
|
+
if (body.grant_type === 'authorization_code' &&
|
|
40
|
+
body.client_id === 'test-client-id' &&
|
|
41
|
+
body.client_secret === 'test-client-secret' &&
|
|
42
|
+
body.code === 'test-code') {
|
|
43
|
+
return c.json({
|
|
44
|
+
access_token: 'mock_access_token',
|
|
45
|
+
token_type: 'Bearer',
|
|
46
|
+
expires_in: 3600,
|
|
47
|
+
refresh_token: 'mock_refresh_token',
|
|
48
|
+
scope: 'test_scope',
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return c.json({ error: 'invalid_request' }, 400);
|
|
52
|
+
});
|
|
53
|
+
const mockOAuthServer = (0, node_server_1.serve)({
|
|
54
|
+
fetch: mockOAuthApp.fetch,
|
|
55
|
+
port: 4455
|
|
56
|
+
});
|
|
57
|
+
// Update the OAuth service config to use mock server
|
|
58
|
+
const oauthService = (0, nodeService_1.defineDAINService)({
|
|
59
|
+
metadata: {
|
|
60
|
+
title: "Test OAuth Service",
|
|
61
|
+
description: "A test OAuth service",
|
|
62
|
+
version: "1.0.0",
|
|
63
|
+
author: "Test Author",
|
|
64
|
+
tags: ["test", "oauth"],
|
|
65
|
+
},
|
|
66
|
+
identity: {
|
|
67
|
+
publicKey: bs58_1.default.encode(publicKey),
|
|
68
|
+
agentId: "test-agent",
|
|
69
|
+
orgId: "test-org",
|
|
70
|
+
privateKey: bs58_1.default.encode(privateKey),
|
|
71
|
+
},
|
|
72
|
+
oauth2: {
|
|
73
|
+
baseUrl: "http://localhost:4422",
|
|
74
|
+
tokenStore: mockTokenStore,
|
|
75
|
+
providers: {
|
|
76
|
+
test_provider: {
|
|
77
|
+
clientId: "test-client-id",
|
|
78
|
+
clientSecret: "test-client-secret",
|
|
79
|
+
authorizationUrl: "http://localhost:4455/auth", // Point to mock server
|
|
80
|
+
tokenUrl: "http://localhost:4455/token", // Point to mock server
|
|
81
|
+
scopes: ["test_scope"],
|
|
82
|
+
reason: "Required for testing",
|
|
83
|
+
requiredTools: ["test-oauth-tool"],
|
|
84
|
+
onSuccess: async (agentId, tokens) => {
|
|
85
|
+
console.log("OAuth success", agentId, tokens);
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
tools: [
|
|
91
|
+
(0, nodeService_1.createTool)({
|
|
92
|
+
id: "test-oauth-tool",
|
|
93
|
+
name: "Test OAuth Tool",
|
|
94
|
+
description: "Tool that requires OAuth",
|
|
95
|
+
input: zod_1.z.object({}),
|
|
96
|
+
output: zod_1.z.object({ success: zod_1.z.boolean() }),
|
|
97
|
+
pricing: { pricePerUse: 0.01, currency: "USD" },
|
|
98
|
+
handler: async () => ({
|
|
99
|
+
text: "OAuth test",
|
|
100
|
+
data: { success: true },
|
|
101
|
+
ui: null,
|
|
102
|
+
}),
|
|
103
|
+
}),
|
|
104
|
+
],
|
|
105
|
+
});
|
|
106
|
+
const service = await oauthService.startService();
|
|
107
|
+
oauthServer = await oauthService.startNode({ port: 4422 });
|
|
108
|
+
oauthSdk = new api_sdk_1.DainSDK("http://localhost:4422", agentAuth);
|
|
109
|
+
await oauthSdk.initialize();
|
|
110
|
+
oauth2Handler = service.oauth2;
|
|
111
|
+
mockOAuthProvider = mockOAuthServer;
|
|
112
|
+
});
|
|
113
|
+
afterAll(async () => {
|
|
114
|
+
if (oauthServer) {
|
|
115
|
+
await oauthServer.shutdown();
|
|
116
|
+
}
|
|
117
|
+
if (mockOAuthProvider) {
|
|
118
|
+
await mockOAuthProvider.close();
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
describe("Provider Management", () => {
|
|
122
|
+
it("should list available OAuth providers", async () => {
|
|
123
|
+
const providers = await oauthSdk.getOAuthProviders();
|
|
124
|
+
expect(providers).toHaveLength(1);
|
|
125
|
+
expect(providers[0].name).toBe("test_provider");
|
|
126
|
+
expect(providers[0].config.reason).toBe("Required for testing");
|
|
127
|
+
expect(providers[0].config.scopes).toEqual(["test_scope"]);
|
|
128
|
+
expect(providers[0].config.requiredTools).toEqual(["test-oauth-tool"]);
|
|
129
|
+
});
|
|
130
|
+
it("should generate OAuth connect URL", async () => {
|
|
131
|
+
const url = await oauthSdk.getOAuthConnectUrl("test_provider");
|
|
132
|
+
expect(url).toContain("http://localhost:4455/auth");
|
|
133
|
+
expect(url).toContain("client_id=test-client-id");
|
|
134
|
+
expect(url).toContain("scope=test_scope");
|
|
135
|
+
});
|
|
136
|
+
it("should throw error for invalid provider", async () => {
|
|
137
|
+
await expect(oauthSdk.getOAuthConnectUrl("invalid_provider"))
|
|
138
|
+
.rejects
|
|
139
|
+
.toThrow();
|
|
140
|
+
});
|
|
141
|
+
});
|
|
142
|
+
describe("Tool Requirements", () => {
|
|
143
|
+
it("should identify tools requiring OAuth", async () => {
|
|
144
|
+
const requirements = await oauthSdk.getToolOAuthRequirements("test-oauth-tool");
|
|
145
|
+
expect(requirements.required).toBe(true);
|
|
146
|
+
expect(requirements.providers).toHaveLength(1);
|
|
147
|
+
expect(requirements.providers[0].name).toBe("test_provider");
|
|
148
|
+
expect(requirements.providers[0].reason).toBe("Required for testing");
|
|
149
|
+
});
|
|
150
|
+
it("should handle tools without OAuth requirements", async () => {
|
|
151
|
+
const noOAuthTool = (0, nodeService_1.createTool)({
|
|
152
|
+
id: "no-oauth-tool",
|
|
153
|
+
name: "No OAuth Tool",
|
|
154
|
+
description: "Tool that doesn't require OAuth",
|
|
155
|
+
input: zod_1.z.object({}),
|
|
156
|
+
output: zod_1.z.object({}),
|
|
157
|
+
pricing: { pricePerUse: 0.01, currency: "USD" },
|
|
158
|
+
handler: async () => ({
|
|
159
|
+
text: "No OAuth",
|
|
160
|
+
data: {},
|
|
161
|
+
ui: null,
|
|
162
|
+
}),
|
|
163
|
+
});
|
|
164
|
+
const service = (0, nodeService_1.defineDAINService)({
|
|
165
|
+
metadata: {
|
|
166
|
+
title: "Test OAuth Service",
|
|
167
|
+
description: "A test OAuth service",
|
|
168
|
+
version: "1.0.0",
|
|
169
|
+
author: "Test Author",
|
|
170
|
+
tags: ["test", "oauth"],
|
|
171
|
+
},
|
|
172
|
+
identity: {
|
|
173
|
+
publicKey: bs58_1.default.encode(publicKey),
|
|
174
|
+
agentId: "test-agent",
|
|
175
|
+
orgId: "test-org",
|
|
176
|
+
privateKey: bs58_1.default.encode(privateKey),
|
|
177
|
+
},
|
|
178
|
+
oauth2: {
|
|
179
|
+
baseUrl: "http://localhost:4423",
|
|
180
|
+
tokenStore: mockTokenStore,
|
|
181
|
+
providers: {
|
|
182
|
+
test_provider: {
|
|
183
|
+
clientId: "test-client-id",
|
|
184
|
+
clientSecret: "test-client-secret",
|
|
185
|
+
authorizationUrl: "https://test.com/auth",
|
|
186
|
+
tokenUrl: "https://test.com/token",
|
|
187
|
+
scopes: ["test_scope"],
|
|
188
|
+
reason: "Required for testing",
|
|
189
|
+
requiredTools: ["test-oauth-tool"],
|
|
190
|
+
onSuccess: async (agentId, tokens) => {
|
|
191
|
+
console.log("OAuth success", agentId, tokens);
|
|
192
|
+
},
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
tools: [(0, nodeService_1.createTool)({
|
|
197
|
+
id: "test-oauth-tool",
|
|
198
|
+
name: "Test OAuth Tool",
|
|
199
|
+
description: "Tool that requires OAuth",
|
|
200
|
+
input: zod_1.z.object({}),
|
|
201
|
+
output: zod_1.z.object({ success: zod_1.z.boolean() }),
|
|
202
|
+
pricing: { pricePerUse: 0.01, currency: "USD" },
|
|
203
|
+
handler: async () => ({
|
|
204
|
+
text: "OAuth test",
|
|
205
|
+
data: { success: true },
|
|
206
|
+
ui: null,
|
|
207
|
+
}),
|
|
208
|
+
}), noOAuthTool],
|
|
209
|
+
});
|
|
210
|
+
const newServer = await service.startNode({ port: 4423 });
|
|
211
|
+
const newSdk = new api_sdk_1.DainSDK("http://localhost:4423", agentAuth);
|
|
212
|
+
await newSdk.initialize();
|
|
213
|
+
const requirements = await newSdk.getToolOAuthRequirements("no-oauth-tool");
|
|
214
|
+
expect(requirements.required).toBe(false);
|
|
215
|
+
expect(requirements.providers).toHaveLength(0);
|
|
216
|
+
await newServer.shutdown();
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
describe("Documentation", () => {
|
|
220
|
+
it("should include OAuth requirements in documentation", async () => {
|
|
221
|
+
const docs = await oauthSdk.getDocumentation();
|
|
222
|
+
expect(docs).toContain("## OAuth Requirements");
|
|
223
|
+
expect(docs).toContain("test_provider");
|
|
224
|
+
expect(docs).toContain("Required for testing");
|
|
225
|
+
expect(docs).toContain("test_scope");
|
|
226
|
+
expect(docs).toContain("**OAuth Requirements:**");
|
|
227
|
+
expect(docs).toContain("test_provider: Required for testing");
|
|
228
|
+
});
|
|
229
|
+
});
|
|
230
|
+
describe("Token Management", () => {
|
|
231
|
+
it("should check OAuth requirements before executing tool", async () => {
|
|
232
|
+
// @ts-ignore - Accessing generated method
|
|
233
|
+
await expect(oauthSdk.testOauthTool({}))
|
|
234
|
+
.rejects
|
|
235
|
+
.toThrow(/Missing required OAuth connections/);
|
|
236
|
+
});
|
|
237
|
+
it("should store and validate tokens", async () => {
|
|
238
|
+
const code = "test-code";
|
|
239
|
+
const state = await oauth2Handler.encodeState({
|
|
240
|
+
agentId: "address_" + bs58_1.default.encode(clientPublicKey),
|
|
241
|
+
provider: "test_provider",
|
|
242
|
+
timestamp: Date.now(),
|
|
243
|
+
});
|
|
244
|
+
const response = await fetch(`http://localhost:4422/oauth2/callback/test_provider?code=${code}&state=${state}`);
|
|
245
|
+
expect(response.status).toBe(200);
|
|
246
|
+
console.log(await response.text());
|
|
247
|
+
// Add a small delay to ensure token processing is complete
|
|
248
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
249
|
+
const requirements = await oauthSdk.getToolOAuthRequirements("test-oauth-tool");
|
|
250
|
+
console.log(requirements);
|
|
251
|
+
expect(requirements.providers[0].connected).toBe(true);
|
|
252
|
+
});
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
//# sourceMappingURL=oauth.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth.test.js","sourceRoot":"","sources":["../../src/__tests__/oauth.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ describe("Process Handler", () => {
|
|
|
15
15
|
// Store webhook calls
|
|
16
16
|
let webhookCalls = [];
|
|
17
17
|
let webhookServer;
|
|
18
|
-
const WEBHOOK_PORT =
|
|
18
|
+
const WEBHOOK_PORT = 3099;
|
|
19
19
|
const agentAuth = new client_auth_1.DainClientAuth({
|
|
20
20
|
privateKeyBase58: bs58_1.default.encode(clientPrivateKey),
|
|
21
21
|
agentId: "agent-12",
|
|
@@ -151,8 +151,8 @@ describe("Process Handler", () => {
|
|
|
151
151
|
});
|
|
152
152
|
});
|
|
153
153
|
// Start DAIN service
|
|
154
|
-
server = await dainService.startNode({ port:
|
|
155
|
-
sdk = new api_sdk_1.DainSDK("http://localhost:
|
|
154
|
+
server = await dainService.startNode({ port: 3018 });
|
|
155
|
+
sdk = new api_sdk_1.DainSDK("http://localhost:3018", agentAuth);
|
|
156
156
|
await sdk.initialize();
|
|
157
157
|
});
|
|
158
158
|
afterAll(async () => {
|
package/dist/client/api-sdk.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DainClientAuth } from './client-auth';
|
|
2
|
-
import type { ServiceMetadata, ToolConfig } from './types';
|
|
2
|
+
import type { ServiceMetadata, ToolConfig, OAuth2ProviderInfo } from './types';
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
type ToolMethod<T extends z.ZodType, U extends z.ZodType> = (params: z.infer<T>) => Promise<{
|
|
5
5
|
data: z.infer<U>;
|
|
@@ -13,6 +13,7 @@ export declare class DainSDK {
|
|
|
13
13
|
private connection;
|
|
14
14
|
private toolsCache;
|
|
15
15
|
private metadata?;
|
|
16
|
+
private oauthProvidersCache;
|
|
16
17
|
constructor(baseUrl: string, auth: DainClientAuth);
|
|
17
18
|
/**
|
|
18
19
|
* Initializes the SDK by loading all tools and metadata.
|
|
@@ -46,5 +47,29 @@ export declare class DainSDK {
|
|
|
46
47
|
* Returns all available tool configurations
|
|
47
48
|
*/
|
|
48
49
|
getAvailableTools(): ToolConfig[];
|
|
50
|
+
/**
|
|
51
|
+
* Gets information about all available OAuth providers and their connection status
|
|
52
|
+
* @returns List of OAuth providers with their connection status
|
|
53
|
+
*/
|
|
54
|
+
getOAuthProviders(): Promise<OAuth2ProviderInfo[]>;
|
|
55
|
+
/**
|
|
56
|
+
* Gets an authentication URL for connecting with a specific OAuth provider
|
|
57
|
+
* @param provider The name of the OAuth provider
|
|
58
|
+
* @returns URL to initiate OAuth flow
|
|
59
|
+
*/
|
|
60
|
+
getOAuthConnectUrl(provider: string): Promise<string>;
|
|
61
|
+
/**
|
|
62
|
+
* Checks if a tool requires specific OAuth connections and returns requirements
|
|
63
|
+
* @param toolId The ID of the tool to check
|
|
64
|
+
* @returns Required OAuth connections and their status
|
|
65
|
+
*/
|
|
66
|
+
getToolOAuthRequirements(toolId: string): Promise<{
|
|
67
|
+
required: boolean;
|
|
68
|
+
providers: {
|
|
69
|
+
name: string;
|
|
70
|
+
reason?: string;
|
|
71
|
+
connected: boolean;
|
|
72
|
+
}[];
|
|
73
|
+
}>;
|
|
49
74
|
}
|
|
50
75
|
export {};
|
package/dist/client/api-sdk.js
CHANGED
|
@@ -7,6 +7,7 @@ class DainSDK {
|
|
|
7
7
|
connection;
|
|
8
8
|
toolsCache = new Map();
|
|
9
9
|
metadata;
|
|
10
|
+
oauthProvidersCache = new Map();
|
|
10
11
|
constructor(baseUrl, auth) {
|
|
11
12
|
this.connection = new client_1.DainServiceConnection(baseUrl, auth);
|
|
12
13
|
}
|
|
@@ -21,6 +22,9 @@ class DainSDK {
|
|
|
21
22
|
// Cache all tools
|
|
22
23
|
const tools = await this.connection.getTools();
|
|
23
24
|
tools.forEach(tool => this.toolsCache.set(tool.id, tool));
|
|
25
|
+
// Also cache OAuth providers
|
|
26
|
+
const providers = await this.connection.getOAuth2Providers();
|
|
27
|
+
providers.forEach(provider => this.oauthProvidersCache.set(provider.name, provider));
|
|
24
28
|
// Dynamically add methods for each tool
|
|
25
29
|
await this.generateToolMethods();
|
|
26
30
|
return this;
|
|
@@ -42,6 +46,24 @@ class DainSDK {
|
|
|
42
46
|
docs += `- ${this.metadata.tags.join('\n- ')}\n\n`;
|
|
43
47
|
// Document all available tools
|
|
44
48
|
docs += `## Available Tools\n\n`;
|
|
49
|
+
// Add OAuth section after metadata
|
|
50
|
+
const providers = await this.getOAuthProviders();
|
|
51
|
+
if (providers.length > 0) {
|
|
52
|
+
docs += `## OAuth Requirements\n\n`;
|
|
53
|
+
docs += `This service requires authentication with the following providers:\n\n`;
|
|
54
|
+
for (const provider of providers) {
|
|
55
|
+
docs += `### ${provider.name}\n`;
|
|
56
|
+
if (provider.config.reason) {
|
|
57
|
+
docs += `**Reason:** ${provider.config.reason}\n`;
|
|
58
|
+
}
|
|
59
|
+
docs += `**Scopes Required:** ${provider.config.scopes.join(', ')}\n\n`;
|
|
60
|
+
docs += `To connect with ${provider.name}, use:\n`;
|
|
61
|
+
docs += `\`\`\`typescript\n`;
|
|
62
|
+
docs += `const authUrl = await sdk.getOAuthConnectUrl("${provider.name}");\n`;
|
|
63
|
+
docs += `// Redirect user to authUrl to complete authentication\n`;
|
|
64
|
+
docs += `\`\`\`\n\n`;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
45
67
|
for (const [_, tool] of this.toolsCache) {
|
|
46
68
|
docs += `### ${tool.name}\n\n`;
|
|
47
69
|
docs += `**Method Name:** \`${this.sanitizeMethodName(tool.name)}\`\n\n`;
|
|
@@ -66,6 +88,19 @@ class DainSDK {
|
|
|
66
88
|
docs += ` ui: any\n`;
|
|
67
89
|
docs += `};\n`;
|
|
68
90
|
docs += `\`\`\`\n(Example Parameters are just placeholders for the type, they are not real values)\n\n`;
|
|
91
|
+
// Add OAuth requirements for this tool
|
|
92
|
+
const oauthReqs = await this.getToolOAuthRequirements(tool.id);
|
|
93
|
+
if (oauthReqs.required) {
|
|
94
|
+
docs += `**OAuth Requirements:**\n`;
|
|
95
|
+
for (const provider of oauthReqs.providers) {
|
|
96
|
+
docs += `- ${provider.name}${provider.reason ? `: ${provider.reason}` : ''}\n`;
|
|
97
|
+
}
|
|
98
|
+
docs += `\n**Connection Check:**\n\`\`\`typescript\n`;
|
|
99
|
+
docs += `const requirements = await sdk.getToolOAuthRequirements("${tool.id}");\n`;
|
|
100
|
+
docs += `if (!requirements.providers.every(p => p.connected)) {\n`;
|
|
101
|
+
docs += ` // Handle missing OAuth connections\n`;
|
|
102
|
+
docs += `}\n\`\`\`\n\n`;
|
|
103
|
+
}
|
|
69
104
|
}
|
|
70
105
|
return docs;
|
|
71
106
|
}
|
|
@@ -160,11 +195,18 @@ class DainSDK {
|
|
|
160
195
|
const methodName = this.sanitizeMethodName(toolConfig.name);
|
|
161
196
|
this[methodName] = async (params) => {
|
|
162
197
|
try {
|
|
198
|
+
// Check OAuth requirements before executing
|
|
199
|
+
const oauthReqs = await this.getToolOAuthRequirements(toolId);
|
|
200
|
+
if (oauthReqs.required) {
|
|
201
|
+
const missingConnections = oauthReqs.providers.filter(p => !p.connected);
|
|
202
|
+
if (missingConnections.length > 0) {
|
|
203
|
+
throw new Error(`Missing required OAuth connections for ${toolConfig.name}:\n` +
|
|
204
|
+
missingConnections.map(p => `- ${p.name}${p.reason ? ` (${p.reason})` : ''}`).join('\n'));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
163
207
|
const tool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(toolConfig);
|
|
164
|
-
// Validate input parameters
|
|
165
208
|
tool.parameters.parse(params);
|
|
166
209
|
const result = await this.connection.callTool(toolId, params);
|
|
167
|
-
// Validate output against the return schema
|
|
168
210
|
tool.returnSchema.parse(result.data);
|
|
169
211
|
return result;
|
|
170
212
|
}
|
|
@@ -173,7 +215,7 @@ class DainSDK {
|
|
|
173
215
|
throw new Error(`Invalid parameters for ${toolConfig.name}: ${error.message}`);
|
|
174
216
|
}
|
|
175
217
|
else {
|
|
176
|
-
throw new Error(`
|
|
218
|
+
throw new Error(`Error executing ${toolConfig.name}: ${error.message}`);
|
|
177
219
|
}
|
|
178
220
|
}
|
|
179
221
|
};
|
|
@@ -191,6 +233,44 @@ class DainSDK {
|
|
|
191
233
|
getAvailableTools() {
|
|
192
234
|
return Array.from(this.toolsCache.values());
|
|
193
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* Gets information about all available OAuth providers and their connection status
|
|
238
|
+
* @returns List of OAuth providers with their connection status
|
|
239
|
+
*/
|
|
240
|
+
async getOAuthProviders() {
|
|
241
|
+
return await this.connection.getOAuth2Providers();
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Gets an authentication URL for connecting with a specific OAuth provider
|
|
245
|
+
* @param provider The name of the OAuth provider
|
|
246
|
+
* @returns URL to initiate OAuth flow
|
|
247
|
+
*/
|
|
248
|
+
async getOAuthConnectUrl(provider) {
|
|
249
|
+
return await this.connection.getOAuth2ConnectUrl(provider);
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Checks if a tool requires specific OAuth connections and returns requirements
|
|
253
|
+
* @param toolId The ID of the tool to check
|
|
254
|
+
* @returns Required OAuth connections and their status
|
|
255
|
+
*/
|
|
256
|
+
async getToolOAuthRequirements(toolId) {
|
|
257
|
+
const tool = this.toolsCache.get(toolId);
|
|
258
|
+
if (!tool) {
|
|
259
|
+
throw new Error(`Tool ${toolId} not found`);
|
|
260
|
+
}
|
|
261
|
+
const providers = await this.getOAuthProviders();
|
|
262
|
+
const requiredProviders = providers.filter(p =>
|
|
263
|
+
// Check if this tool is explicitly required by the provider
|
|
264
|
+
p.config.requiredTools?.includes(toolId));
|
|
265
|
+
return {
|
|
266
|
+
required: requiredProviders.length > 0,
|
|
267
|
+
providers: requiredProviders.map(p => ({
|
|
268
|
+
name: p.name,
|
|
269
|
+
reason: p.config.reason,
|
|
270
|
+
connected: p.connected
|
|
271
|
+
}))
|
|
272
|
+
};
|
|
273
|
+
}
|
|
194
274
|
}
|
|
195
275
|
exports.DainSDK = DainSDK;
|
|
196
276
|
// Example usage with type safety:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-sdk.js","sourceRoot":"","sources":["../../src/client/api-sdk.ts"],"names":[],"mappings":";;;AAAA,qCAAiD;AAIjD,oEAA2E;AAmB3E,MAAa,OAAO;IACV,UAAU,CAAwB;IAClC,UAAU,GAA4B,IAAI,GAAG,EAAE,CAAC;IAChD,QAAQ,CAAmB;
|
|
1
|
+
{"version":3,"file":"api-sdk.js","sourceRoot":"","sources":["../../src/client/api-sdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -94,6 +94,32 @@ class DainClientAuth {
|
|
|
94
94
|
getWebhookUrl() {
|
|
95
95
|
return this.webhookUrl;
|
|
96
96
|
}
|
|
97
|
+
serialize() {
|
|
98
|
+
const data = {
|
|
99
|
+
privateKey: Array.from(this.privateKey),
|
|
100
|
+
agentId: this.agentId,
|
|
101
|
+
orgId: this.orgId,
|
|
102
|
+
publicKey: Array.from(this.publicKey),
|
|
103
|
+
smartAccountPDA: this.smartAccountPDA,
|
|
104
|
+
webhookUrl: this.webhookUrl
|
|
105
|
+
};
|
|
106
|
+
return bs58_1.default.encode(Buffer.from(JSON.stringify(data)));
|
|
107
|
+
}
|
|
108
|
+
static deserialize(serialized) {
|
|
109
|
+
try {
|
|
110
|
+
const data = JSON.parse(Buffer.from(bs58_1.default.decode(serialized)).toString());
|
|
111
|
+
return new DainClientAuth({
|
|
112
|
+
privateKeyBase58: bs58_1.default.encode(new Uint8Array(data.privateKey)),
|
|
113
|
+
agentId: data.agentId,
|
|
114
|
+
orgId: data.orgId,
|
|
115
|
+
smartAccountPDA: data.smartAccountPDA,
|
|
116
|
+
webhookUrl: data.webhookUrl
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
throw new Error('Failed to deserialize DainClientAuth: ' + error.message);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
97
123
|
}
|
|
98
124
|
exports.DainClientAuth = DainClientAuth;
|
|
99
125
|
//# sourceMappingURL=client-auth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-auth.js","sourceRoot":"","sources":["../../src/client/client-auth.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client-auth.js","sourceRoot":"","sources":["../../src/client/client-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/client/client.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CoreTool } from "ai";
|
|
2
2
|
import { DainClientAuth } from "./client-auth";
|
|
3
|
-
import { ServiceMetadata, ServiceConfig, ToolboxConfig, ToolConfig, ServiceContext, ServiceContextWithData, ToolWithJsonSchema, ServicePinnable, ServicePinnableWithWidget } from "./types";
|
|
3
|
+
import { ServiceMetadata, ServiceConfig, ToolboxConfig, ToolConfig, ServiceContext, ServiceContextWithData, ToolWithJsonSchema, ServicePinnable, ServicePinnableWithWidget, OAuth2ProviderInfo } from "./types";
|
|
4
4
|
export type { ServiceMetadata, ServiceConfig, ToolboxConfig, ToolConfig };
|
|
5
5
|
export declare class DainServiceConnection {
|
|
6
6
|
private baseUrl;
|
|
@@ -46,4 +46,6 @@ export declare class DainServiceConnection {
|
|
|
46
46
|
ui?: any;
|
|
47
47
|
}[];
|
|
48
48
|
} | null>;
|
|
49
|
+
getOAuth2Providers(): Promise<OAuth2ProviderInfo[]>;
|
|
50
|
+
getOAuth2ConnectUrl(provider: string): Promise<string>;
|
|
49
51
|
}
|
package/dist/client/client.js
CHANGED
|
@@ -214,6 +214,14 @@ class DainServiceConnection {
|
|
|
214
214
|
throw error;
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
|
+
async getOAuth2Providers() {
|
|
218
|
+
const data = await this.makeRequest("GET", "/oauth2/providers");
|
|
219
|
+
return zod_1.z.array(types_1.OAuth2ProviderInfoSchema).parse(data);
|
|
220
|
+
}
|
|
221
|
+
async getOAuth2ConnectUrl(provider) {
|
|
222
|
+
const data = await this.makeRequest("GET", `/oauth2/connect/${provider}`);
|
|
223
|
+
return zod_1.z.object({ authUrl: zod_1.z.string() }).parse(data).authUrl;
|
|
224
|
+
}
|
|
217
225
|
}
|
|
218
226
|
exports.DainServiceConnection = DainServiceConnection;
|
|
219
227
|
//# sourceMappingURL=client.js.map
|