@dainprotocol/service-sdk 1.1.48 → 1.2.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 (35) hide show
  1. package/dist/__tests__/context-behavior.test.js +290 -0
  2. package/dist/__tests__/context-behavior.test.js.map +1 -0
  3. package/dist/__tests__/oauth2-context.test.js +201 -0
  4. package/dist/__tests__/oauth2-context.test.js.map +1 -0
  5. package/dist/__tests__/oauth2-datasource.test.js +251 -0
  6. package/dist/__tests__/oauth2-datasource.test.js.map +1 -0
  7. package/dist/client/client-auth.d.ts +24 -8
  8. package/dist/client/client-auth.js +103 -16
  9. package/dist/client/client-auth.js.map +1 -1
  10. package/dist/service/auth.d.ts +38 -1
  11. package/dist/service/auth.js +77 -5
  12. package/dist/service/auth.js.map +1 -1
  13. package/dist/service/core.js.map +1 -1
  14. package/dist/service/oauth2.d.ts +3 -2
  15. package/dist/service/oauth2.js +1 -0
  16. package/dist/service/oauth2.js.map +1 -1
  17. package/dist/service/oauth2Manager.d.ts +2 -0
  18. package/dist/service/oauth2Manager.js +5 -2
  19. package/dist/service/oauth2Manager.js.map +1 -1
  20. package/dist/service/server.js +54 -11
  21. package/dist/service/server.js.map +1 -1
  22. package/dist/service/types.d.ts +9 -0
  23. package/package.json +3 -3
  24. package/dist/__tests__/oauth-context-simple.test.js +0 -90
  25. package/dist/__tests__/oauth-context-simple.test.js.map +0 -1
  26. package/dist/__tests__/oauth-context.test.js +0 -282
  27. package/dist/__tests__/oauth-context.test.js.map +0 -1
  28. package/dist/__tests__/oauth2-client-context.test.js +0 -165
  29. package/dist/__tests__/oauth2-client-context.test.js.map +0 -1
  30. package/dist/__tests__/oauth2-client-simple.test.d.ts +0 -1
  31. package/dist/__tests__/oauth2-client-simple.test.js +0 -144
  32. package/dist/__tests__/oauth2-client-simple.test.js.map +0 -1
  33. /package/dist/__tests__/{oauth-context-simple.test.d.ts → context-behavior.test.d.ts} +0 -0
  34. /package/dist/__tests__/{oauth-context.test.d.ts → oauth2-context.test.d.ts} +0 -0
  35. /package/dist/__tests__/{oauth2-client-context.test.d.ts → oauth2-datasource.test.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-context.test.js","sourceRoot":"","sources":["../../src/__tests__/oauth-context.test.ts"],"names":[],"mappings":"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"}
@@ -1,165 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const nodeService_1 = require("../service/nodeService");
5
- const zod_1 = require("zod");
6
- const oauth2_token_manager_1 = require("@dainprotocol/oauth2-token-manager");
7
- const tweetnacl_1 = tslib_1.__importDefault(require("tweetnacl"));
8
- const bs58_1 = tslib_1.__importDefault(require("bs58"));
9
- describe("OAuth2Client in Tool Context", () => {
10
- it("should have oauth2Client available in tool context when OAuth2 is configured", async () => {
11
- // Generate test keys
12
- const keyPair = tweetnacl_1.default.sign.keyPair();
13
- const privateKey = bs58_1.default.encode(new Uint8Array([...keyPair.secretKey.slice(0, 32), ...keyPair.publicKey]));
14
- let capturedContext = null;
15
- const service = (0, nodeService_1.defineDAINService)({
16
- metadata: {
17
- title: "Test Service",
18
- description: "Test service with OAuth2",
19
- version: "1.0.0",
20
- author: "Test",
21
- tags: ["test"],
22
- },
23
- identity: {
24
- privateKey: privateKey,
25
- publicKey: bs58_1.default.encode(keyPair.publicKey),
26
- agentId: "test-agent",
27
- orgId: "test-org",
28
- },
29
- oauth2: {
30
- baseUrl: "http://localhost:5555",
31
- tokenStore: new oauth2_token_manager_1.InMemoryStorageAdapter(),
32
- providers: {
33
- google: {
34
- clientId: "test-client-id",
35
- clientSecret: "test-client-secret",
36
- authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
37
- tokenUrl: "https://oauth2.googleapis.com/token",
38
- scopes: ["profile", "email"],
39
- },
40
- },
41
- },
42
- tools: [
43
- (0, nodeService_1.createTool)({
44
- id: "test-oauth-context",
45
- name: "Test OAuth Context",
46
- description: "Tool to test OAuth2 context",
47
- input: zod_1.z.object({}),
48
- output: zod_1.z.object({
49
- hasOAuth2: zod_1.z.boolean(),
50
- hasOAuth2Client: zod_1.z.boolean(),
51
- }),
52
- handler: async (input, agentInfo, context) => {
53
- capturedContext = context;
54
- return {
55
- text: "Context captured",
56
- data: {
57
- hasOAuth2: !!context.oauth2,
58
- hasOAuth2Client: !!context.oauth2Client,
59
- },
60
- ui: null,
61
- };
62
- },
63
- }),
64
- ],
65
- });
66
- const manager = await service.startNode({ port: 5555 });
67
- try {
68
- // Make a request to the tool
69
- const response = await fetch("http://localhost:5555/tools/test-oauth-context", {
70
- method: "POST",
71
- headers: {
72
- "Content-Type": "application/json",
73
- "X-Agent-Id": "test-agent",
74
- "X-Agent-Address": "test-address",
75
- },
76
- body: JSON.stringify({}),
77
- });
78
- const result = await response.json();
79
- // Verify the context has oauth2Client
80
- expect(capturedContext).toBeTruthy();
81
- expect(capturedContext.oauth2).toBeTruthy();
82
- expect(capturedContext.oauth2Client).toBeTruthy();
83
- // Verify the tool response
84
- expect(result.data.hasOAuth2).toBe(true);
85
- expect(result.data.hasOAuth2Client).toBe(true);
86
- // Verify oauth2Client has the expected methods
87
- expect(typeof capturedContext.oauth2Client.queryTokens).toBe("function");
88
- expect(typeof capturedContext.oauth2Client.getValidToken).toBe("function");
89
- expect(typeof capturedContext.oauth2Client.getAccessToken).toBe("function");
90
- }
91
- finally {
92
- await manager.shutdown();
93
- }
94
- });
95
- it("should have oauth2Client as undefined when OAuth2 is not configured", async () => {
96
- // Generate test keys
97
- const keyPair = tweetnacl_1.default.sign.keyPair();
98
- const privateKey = bs58_1.default.encode(new Uint8Array([...keyPair.secretKey.slice(0, 32), ...keyPair.publicKey]));
99
- let capturedContext = null;
100
- const service = (0, nodeService_1.defineDAINService)({
101
- metadata: {
102
- title: "Test Service No OAuth",
103
- description: "Test service without OAuth2",
104
- version: "1.0.0",
105
- author: "Test",
106
- tags: ["test"],
107
- },
108
- identity: {
109
- privateKey: privateKey,
110
- publicKey: bs58_1.default.encode(keyPair.publicKey),
111
- agentId: "test-agent",
112
- orgId: "test-org",
113
- },
114
- // No oauth2 configuration
115
- tools: [
116
- (0, nodeService_1.createTool)({
117
- id: "test-no-oauth-context",
118
- name: "Test No OAuth Context",
119
- description: "Tool to test context without OAuth2",
120
- input: zod_1.z.object({}),
121
- output: zod_1.z.object({
122
- hasOAuth2: zod_1.z.boolean(),
123
- hasOAuth2Client: zod_1.z.boolean(),
124
- }),
125
- handler: async (input, agentInfo, context) => {
126
- capturedContext = context;
127
- return {
128
- text: "Context captured",
129
- data: {
130
- hasOAuth2: !!context.oauth2,
131
- hasOAuth2Client: !!context.oauth2Client,
132
- },
133
- ui: null,
134
- };
135
- },
136
- }),
137
- ],
138
- });
139
- const manager = await service.startNode({ port: 5556 });
140
- try {
141
- // Make a request to the tool
142
- const response = await fetch("http://localhost:5556/tools/test-no-oauth-context", {
143
- method: "POST",
144
- headers: {
145
- "Content-Type": "application/json",
146
- "X-Agent-Id": "test-agent",
147
- "X-Agent-Address": "test-address",
148
- },
149
- body: JSON.stringify({}),
150
- });
151
- const result = await response.json();
152
- // Verify the context doesn't have oauth2Client
153
- expect(capturedContext).toBeTruthy();
154
- expect(capturedContext.oauth2).toBeUndefined();
155
- expect(capturedContext.oauth2Client).toBeUndefined();
156
- // Verify the tool response
157
- expect(result.data.hasOAuth2).toBe(false);
158
- expect(result.data.hasOAuth2Client).toBe(false);
159
- }
160
- finally {
161
- await manager.shutdown();
162
- }
163
- });
164
- });
165
- //# sourceMappingURL=oauth2-client-context.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth2-client-context.test.js","sourceRoot":"","sources":["../../src/__tests__/oauth2-client-context.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,144 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const server_1 = require("../service/server");
5
- const oauth2_token_manager_1 = require("@dainprotocol/oauth2-token-manager");
6
- const core_1 = require("../service/core");
7
- const zod_1 = require("zod");
8
- const tweetnacl_1 = tslib_1.__importDefault(require("tweetnacl"));
9
- describe("OAuth2Client in server.ts", () => {
10
- it("should make oauth2Client available in tool context when OAuth2 is configured", async () => {
11
- // Generate test keys
12
- const keyPair = tweetnacl_1.default.sign.keyPair();
13
- const privateKey = keyPair.secretKey.slice(0, 32);
14
- let capturedContext = null;
15
- const tool = (0, core_1.createTool)({
16
- id: "test-oauth-tool",
17
- name: "Test OAuth Tool",
18
- description: "Test tool",
19
- input: zod_1.z.object({}),
20
- output: zod_1.z.object({ success: zod_1.z.boolean() }),
21
- handler: async (input, agentInfo, context) => {
22
- capturedContext = context;
23
- return {
24
- text: "Success",
25
- data: { success: true },
26
- ui: null,
27
- };
28
- },
29
- });
30
- const config = {
31
- identity: {
32
- orgId: "test-org",
33
- agentId: "test-agent",
34
- },
35
- oauth2: {
36
- baseUrl: "http://localhost:9999",
37
- tokenStore: new oauth2_token_manager_1.InMemoryStorageAdapter(),
38
- providers: {
39
- google: {
40
- clientId: "test-client",
41
- clientSecret: "test-secret",
42
- authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
43
- tokenUrl: "https://oauth2.googleapis.com/token",
44
- scopes: ["profile", "email"],
45
- },
46
- },
47
- },
48
- };
49
- const app = (0, server_1.setupHttpServer)(config, [tool], [], [], {
50
- id: "test",
51
- orgId: "test-org",
52
- agentId: "test-agent",
53
- title: "Test",
54
- description: "Test",
55
- version: "1.0.0",
56
- author: "Test",
57
- tags: [],
58
- }, privateKey, [], [], [], []);
59
- // Verify oauth2 is set on the app
60
- expect(app.oauth2).toBeDefined();
61
- expect(app.oauth2?.client).toBeDefined();
62
- // Log for debugging
63
- console.log("app.oauth2 exists:", !!app.oauth2);
64
- console.log("app.oauth2.client exists:", !!(app.oauth2 && app.oauth2.client));
65
- // Simulate tool execution to capture context - this is what server.ts does
66
- const toolContext = {
67
- app,
68
- oauth2: app.oauth2,
69
- oauth2Client: app.oauth2 ? app.oauth2.client : undefined,
70
- extraData: {},
71
- updateUI: async () => { },
72
- addProcess: async () => { },
73
- };
74
- await tool.handler({}, { agentId: "test", address: "test", id: "test" }, toolContext);
75
- // Log captured context
76
- console.log("Captured context keys:", Object.keys(capturedContext || {}));
77
- console.log("Context oauth2:", !!capturedContext?.oauth2);
78
- console.log("Context oauth2Client:", !!capturedContext?.oauth2Client);
79
- // Verify the captured context
80
- expect(capturedContext).toBeDefined();
81
- expect(capturedContext.oauth2).toBeDefined();
82
- expect(capturedContext.oauth2Client).toBeDefined();
83
- // Verify oauth2Client has the expected methods
84
- expect(typeof capturedContext.oauth2Client.queryTokens).toBe("function");
85
- expect(typeof capturedContext.oauth2Client.getValidToken).toBe("function");
86
- expect(typeof capturedContext.oauth2Client.getAccessToken).toBe("function");
87
- expect(typeof capturedContext.oauth2Client.registerProvider).toBe("function");
88
- });
89
- it("should have oauth2Client as undefined when OAuth2 is not configured", async () => {
90
- // Generate test keys
91
- const keyPair = tweetnacl_1.default.sign.keyPair();
92
- const privateKey = keyPair.secretKey.slice(0, 32);
93
- let capturedContext = null;
94
- const tool = (0, core_1.createTool)({
95
- id: "test-no-oauth-tool",
96
- name: "Test No OAuth Tool",
97
- description: "Test tool",
98
- input: zod_1.z.object({}),
99
- output: zod_1.z.object({ success: zod_1.z.boolean() }),
100
- handler: async (input, agentInfo, context) => {
101
- capturedContext = context;
102
- return {
103
- text: "Success",
104
- data: { success: true },
105
- ui: null,
106
- };
107
- },
108
- });
109
- const config = {
110
- identity: {
111
- orgId: "test-org",
112
- agentId: "test-agent",
113
- },
114
- // No oauth2 configuration
115
- };
116
- const app = (0, server_1.setupHttpServer)(config, [tool], [], [], {
117
- id: "test",
118
- orgId: "test-org",
119
- agentId: "test-agent",
120
- title: "Test",
121
- description: "Test",
122
- version: "1.0.0",
123
- author: "Test",
124
- tags: [],
125
- }, privateKey, [], [], [], []);
126
- // Verify oauth2 is not set on the app
127
- expect(app.oauth2).toBeUndefined();
128
- // Simulate tool execution to capture context - this is what server.ts does
129
- const toolContext = {
130
- app,
131
- oauth2: app.oauth2,
132
- oauth2Client: app.oauth2 ? app.oauth2.client : undefined,
133
- extraData: {},
134
- updateUI: async () => { },
135
- addProcess: async () => { },
136
- };
137
- await tool.handler({}, { agentId: "test", address: "test", id: "test" }, toolContext);
138
- // Verify the captured context
139
- expect(capturedContext).toBeDefined();
140
- expect(capturedContext.oauth2).toBeUndefined();
141
- expect(capturedContext.oauth2Client).toBeUndefined();
142
- });
143
- });
144
- //# sourceMappingURL=oauth2-client-simple.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth2-client-simple.test.js","sourceRoot":"","sources":["../../src/__tests__/oauth2-client-simple.test.ts"],"names":[],"mappings":"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"}