@dainprotocol/service-sdk 2.0.66 → 2.0.68

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 (101) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +8 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/service/index.d.ts +4 -2
  5. package/dist/service/index.js +8 -1
  6. package/dist/service/index.js.map +1 -1
  7. package/dist/service/nodeService.d.ts +4 -2
  8. package/dist/service/nodeService.js +8 -1
  9. package/dist/service/nodeService.js.map +1 -1
  10. package/dist/service/oauth2Manager.js +3 -2
  11. package/dist/service/oauth2Manager.js.map +1 -1
  12. package/dist/service/server.js +84 -9
  13. package/dist/service/server.js.map +1 -1
  14. package/dist/service/service.js +15 -2
  15. package/dist/service/service.js.map +1 -1
  16. package/dist/service/skills.d.ts +106 -0
  17. package/dist/service/skills.js +156 -0
  18. package/dist/service/skills.js.map +1 -0
  19. package/dist/service/trigger-forwarder.d.ts +47 -0
  20. package/dist/service/trigger-forwarder.js +91 -0
  21. package/dist/service/trigger-forwarder.js.map +1 -0
  22. package/dist/service/types.d.ts +4 -0
  23. package/dist/service/webhooks.d.ts +109 -10
  24. package/dist/service/webhooks.js +184 -30
  25. package/dist/service/webhooks.js.map +1 -1
  26. package/package.json +1 -1
  27. package/dist/__tests__/api-sdk.test.d.ts +0 -1
  28. package/dist/__tests__/api-sdk.test.js +0 -102
  29. package/dist/__tests__/api-sdk.test.js.map +0 -1
  30. package/dist/__tests__/auth.test.d.ts +0 -1
  31. package/dist/__tests__/auth.test.js +0 -110
  32. package/dist/__tests__/auth.test.js.map +0 -1
  33. package/dist/__tests__/citations-plugin.test.d.ts +0 -1
  34. package/dist/__tests__/citations-plugin.test.js +0 -491
  35. package/dist/__tests__/citations-plugin.test.js.map +0 -1
  36. package/dist/__tests__/context-behavior.test.d.ts +0 -1
  37. package/dist/__tests__/context-behavior.test.js +0 -290
  38. package/dist/__tests__/context-behavior.test.js.map +0 -1
  39. package/dist/__tests__/convertToVercelTool.test.d.ts +0 -1
  40. package/dist/__tests__/convertToVercelTool.test.js +0 -527
  41. package/dist/__tests__/convertToVercelTool.test.js.map +0 -1
  42. package/dist/__tests__/core.test.d.ts +0 -1
  43. package/dist/__tests__/core.test.js +0 -154
  44. package/dist/__tests__/core.test.js.map +0 -1
  45. package/dist/__tests__/crypto-plugin.test.d.ts +0 -1
  46. package/dist/__tests__/crypto-plugin.test.js +0 -694
  47. package/dist/__tests__/crypto-plugin.test.js.map +0 -1
  48. package/dist/__tests__/humanActions.test.d.ts +0 -1
  49. package/dist/__tests__/humanActions.test.js +0 -221
  50. package/dist/__tests__/humanActions.test.js.map +0 -1
  51. package/dist/__tests__/integration.test.d.ts +0 -1
  52. package/dist/__tests__/integration.test.js +0 -1573
  53. package/dist/__tests__/integration.test.js.map +0 -1
  54. package/dist/__tests__/mealMeSchemas.test.d.ts +0 -576
  55. package/dist/__tests__/mealMeSchemas.test.js +0 -627
  56. package/dist/__tests__/mealMeSchemas.test.js.map +0 -1
  57. package/dist/__tests__/oauth-context-simple.test.d.ts +0 -1
  58. package/dist/__tests__/oauth-context-simple.test.js +0 -90
  59. package/dist/__tests__/oauth-context-simple.test.js.map +0 -1
  60. package/dist/__tests__/oauth-context.test.d.ts +0 -1
  61. package/dist/__tests__/oauth-context.test.js +0 -282
  62. package/dist/__tests__/oauth-context.test.js.map +0 -1
  63. package/dist/__tests__/oauth.test.d.ts +0 -1
  64. package/dist/__tests__/oauth.test.js +0 -378
  65. package/dist/__tests__/oauth.test.js.map +0 -1
  66. package/dist/__tests__/oauth2-client-context.test.d.ts +0 -1
  67. package/dist/__tests__/oauth2-client-context.test.js +0 -165
  68. package/dist/__tests__/oauth2-client-context.test.js.map +0 -1
  69. package/dist/__tests__/oauth2-client-integration.test.d.ts +0 -1
  70. package/dist/__tests__/oauth2-client-integration.test.js +0 -182
  71. package/dist/__tests__/oauth2-client-integration.test.js.map +0 -1
  72. package/dist/__tests__/oauth2-client-simple.test.d.ts +0 -1
  73. package/dist/__tests__/oauth2-client-simple.test.js +0 -144
  74. package/dist/__tests__/oauth2-client-simple.test.js.map +0 -1
  75. package/dist/__tests__/oauth2-context.test.d.ts +0 -1
  76. package/dist/__tests__/oauth2-context.test.js +0 -201
  77. package/dist/__tests__/oauth2-context.test.js.map +0 -1
  78. package/dist/__tests__/oauth2-datasource.test.d.ts +0 -1
  79. package/dist/__tests__/oauth2-datasource.test.js +0 -251
  80. package/dist/__tests__/oauth2-datasource.test.js.map +0 -1
  81. package/dist/__tests__/plugin.test.d.ts +0 -1
  82. package/dist/__tests__/plugin.test.js +0 -900
  83. package/dist/__tests__/plugin.test.js.map +0 -1
  84. package/dist/__tests__/processes.test.d.ts +0 -1
  85. package/dist/__tests__/processes.test.js +0 -239
  86. package/dist/__tests__/processes.test.js.map +0 -1
  87. package/dist/__tests__/streaming.test.d.ts +0 -1
  88. package/dist/__tests__/streaming.test.js +0 -592
  89. package/dist/__tests__/streaming.test.js.map +0 -1
  90. package/dist/__tests__/testEnums.d.ts +0 -1
  91. package/dist/__tests__/testEnums.js +0 -73
  92. package/dist/__tests__/testEnums.js.map +0 -1
  93. package/dist/__tests__/testOptionals.test.d.ts +0 -1
  94. package/dist/__tests__/testOptionals.test.js +0 -83
  95. package/dist/__tests__/testOptionals.test.js.map +0 -1
  96. package/dist/__tests__/types.test.d.ts +0 -1
  97. package/dist/__tests__/types.test.js +0 -98
  98. package/dist/__tests__/types.test.js.map +0 -1
  99. package/dist/service/zod-json-converter.d.ts +0 -14
  100. package/dist/service/zod-json-converter.js +0 -203
  101. package/dist/service/zod-json-converter.js.map +0 -1
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const core_1 = require("../service/core");
4
- describe("OAuth2Client in ServiceContext type definitions", () => {
5
- it("should allow OAuth2Client in extraData parameter", () => {
6
- const mockOAuth2Client = {
7
- getAccessToken: jest.fn().mockResolvedValue("test-token"),
8
- getValidToken: jest.fn().mockResolvedValue({ access_token: "test-token" }),
9
- getTokensByUserId: jest.fn().mockResolvedValue([]),
10
- getTokensByEmail: jest.fn().mockResolvedValue([]),
11
- deleteToken: jest.fn().mockResolvedValue(true)
12
- };
13
- const testContext = (0, core_1.createContext)({
14
- id: "test-context",
15
- name: "Test Context",
16
- description: "Context for testing OAuth2Client",
17
- getContextData: async (agentInfo, extraData) => {
18
- // This should compile without TypeScript errors
19
- const oauth2Client = extraData?.oauth2Client;
20
- // Test that we can access OAuth2Client methods
21
- if (oauth2Client) {
22
- expect(typeof oauth2Client.getAccessToken).toBe("function");
23
- expect(typeof oauth2Client.getValidToken).toBe("function");
24
- expect(typeof oauth2Client.getTokensByEmail).toBe("function");
25
- }
26
- return {
27
- hasOAuth2Client: !!oauth2Client,
28
- canCallMethods: !!(oauth2Client?.getAccessToken &&
29
- oauth2Client?.getValidToken)
30
- };
31
- }
32
- });
33
- // Call the context with mock OAuth2Client
34
- return testContext.getContextData({ agentId: "test", address: "test", id: "test" }, {
35
- oauth2Client: mockOAuth2Client,
36
- plugins: {}
37
- }).then(result => {
38
- expect(result.hasOAuth2Client).toBe(true);
39
- expect(result.canCallMethods).toBe(true);
40
- });
41
- });
42
- it("should work without OAuth2Client in extraData", () => {
43
- const testContext = (0, core_1.createContext)({
44
- id: "test-context-no-oauth",
45
- name: "Test Context Without OAuth",
46
- description: "Context without OAuth2Client",
47
- getContextData: async (agentInfo, extraData) => {
48
- return {
49
- hasOAuth2Client: !!extraData?.oauth2Client,
50
- extraDataKeys: Object.keys(extraData || {})
51
- };
52
- }
53
- });
54
- // Call the context without OAuth2Client
55
- return testContext.getContextData({ agentId: "test", address: "test", id: "test" }, { plugins: {} }).then(result => {
56
- expect(result.hasOAuth2Client).toBe(false);
57
- expect(result.extraDataKeys).toEqual(["plugins"]);
58
- });
59
- });
60
- it("should type-check OAuth2Client methods correctly", () => {
61
- // This test verifies that TypeScript recognizes oauth2Client in extraData
62
- const contextHandler = async (agentInfo, extraData) => {
63
- // These should all compile without TypeScript errors
64
- const hasClient = !!extraData?.oauth2Client;
65
- const canGetToken = !!extraData?.oauth2Client?.getAccessToken;
66
- const canGetValidToken = !!extraData?.oauth2Client?.getValidToken;
67
- const canGetByEmail = !!extraData?.oauth2Client?.getTokensByEmail;
68
- const canGetByUserId = !!extraData?.oauth2Client?.getTokensByUserId;
69
- const canDelete = !!extraData?.oauth2Client?.deleteToken;
70
- return {
71
- hasClient,
72
- canGetToken,
73
- canGetValidToken,
74
- canGetByEmail,
75
- canGetByUserId,
76
- canDelete
77
- };
78
- };
79
- // Create a context with the handler
80
- const typedContext = (0, core_1.createContext)({
81
- id: "typed-context",
82
- name: "Typed Context",
83
- description: "Context with typed OAuth2Client",
84
- getContextData: contextHandler
85
- });
86
- expect(typedContext).toBeDefined();
87
- expect(typedContext.id).toBe("typed-context");
88
- });
89
- });
90
- //# sourceMappingURL=oauth-context-simple.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"oauth-context-simple.test.js","sourceRoot":"","sources":["../../src/__tests__/oauth-context-simple.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,282 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- const zod_1 = require("zod");
5
- const supertest_1 = tslib_1.__importDefault(require("supertest"));
6
- const nodeService_1 = require("../service/nodeService");
7
- const core_1 = require("../service/core");
8
- const ed25519_1 = require("@noble/curves/ed25519");
9
- const bs58_1 = tslib_1.__importDefault(require("bs58"));
10
- describe("OAuth2Client in ServiceContext", () => {
11
- let server;
12
- const port = 4567;
13
- // Generate keys for authentication
14
- const privateKey = ed25519_1.ed25519.utils.randomPrivateKey();
15
- const publicKey = ed25519_1.ed25519.getPublicKey(privateKey);
16
- // Create a context that uses OAuth2Client
17
- const userContext = (0, core_1.createContext)({
18
- id: "oauth-test-context",
19
- name: "OAuth Test Context",
20
- description: "Context that uses OAuth2Client",
21
- getContextData: async (agentInfo, extraData) => {
22
- const oauth2Client = extraData?.oauth2Client;
23
- return {
24
- hasOAuth2Client: !!oauth2Client,
25
- canAccessTokenMethods: !!(oauth2Client?.getAccessToken && oauth2Client?.getValidToken),
26
- methods: oauth2Client ? Object.keys(oauth2Client).filter(key => typeof oauth2Client[key] === 'function') : []
27
- };
28
- }
29
- });
30
- // Create a tool that verifies OAuth2Client is in context
31
- const oauthContextTool = (0, core_1.createTool)({
32
- id: "verify-oauth-context",
33
- name: "Verify OAuth Context",
34
- description: "Verifies OAuth2Client is available in tool context",
35
- input: zod_1.z.object({
36
- test: zod_1.z.string().optional()
37
- }),
38
- output: zod_1.z.object({
39
- hasOAuth2Client: zod_1.z.boolean(),
40
- canCallMethods: zod_1.z.boolean()
41
- }),
42
- handler: async (input, agentInfo, context) => {
43
- const hasOAuth2Client = !!context?.oauth2Client;
44
- const canCallMethods = !!(context?.oauth2Client?.getAccessToken &&
45
- context?.oauth2Client?.getValidToken &&
46
- context?.oauth2Client?.getTokensByEmail);
47
- return {
48
- text: hasOAuth2Client
49
- ? "OAuth2Client is available in tool context"
50
- : "OAuth2Client is not available",
51
- data: {
52
- hasOAuth2Client,
53
- canCallMethods
54
- },
55
- ui: undefined
56
- };
57
- }
58
- });
59
- const dainService = (0, nodeService_1.defineDAINService)({
60
- metadata: {
61
- title: "Test OAuth Context",
62
- description: "Testing OAuth2Client in ServiceContext",
63
- version: "1.0.0",
64
- author: "Test",
65
- tags: ["test", "oauth"]
66
- },
67
- identity: {
68
- publicKey: bs58_1.default.encode(publicKey),
69
- privateKey: bs58_1.default.encode(privateKey),
70
- agentId: "oauth-test-agent",
71
- orgId: "oauth-test-org"
72
- },
73
- tools: [oauthContextTool],
74
- contexts: [userContext],
75
- oauth2: {
76
- baseUrl: `http://localhost:${port}`,
77
- providers: {
78
- google: {
79
- clientId: "test-google-client",
80
- clientSecret: "test-google-secret",
81
- authorizationUrl: "https://accounts.google.com/o/oauth2/v2/auth",
82
- tokenUrl: "https://oauth2.googleapis.com/token",
83
- scopes: ["email", "profile"]
84
- }
85
- },
86
- tokenStore: new (require('@dainprotocol/oauth2-token-manager').InMemoryStorageAdapter)()
87
- }
88
- });
89
- beforeAll(async () => {
90
- server = await dainService.startNode({ port });
91
- });
92
- afterAll(async () => {
93
- if (server) {
94
- server.close();
95
- }
96
- });
97
- describe("Context endpoints", () => {
98
- it("should include OAuth2Client when getting single context", async () => {
99
- const response = await (0, supertest_1.default)(`http://localhost:${port}`)
100
- .get("/contexts/oauth-test-context")
101
- .set("x-agent-id", "test-agent")
102
- .set("x-org-id", "test-org")
103
- .set("x-agent-signature", "test-signature")
104
- .set("x-agent-public-key", bs58_1.default.encode(publicKey))
105
- .expect(200);
106
- expect(response.body).toMatchObject({
107
- id: "oauth-test-context",
108
- name: "OAuth Test Context",
109
- description: "Context that uses OAuth2Client",
110
- data: {
111
- hasOAuth2Client: true,
112
- canAccessTokenMethods: true,
113
- methods: expect.arrayContaining([
114
- "getAccessToken",
115
- "getValidToken",
116
- "getTokensByUserId",
117
- "getTokensByEmail",
118
- "deleteToken"
119
- ])
120
- }
121
- });
122
- });
123
- it("should include OAuth2Client when getting all contexts", async () => {
124
- const response = await (0, supertest_1.default)(`http://localhost:${port}`)
125
- .post("/contexts")
126
- .set("x-agent-id", "test-agent")
127
- .set("x-org-id", "test-org")
128
- .set("x-agent-signature", "test-signature")
129
- .set("x-agent-public-key", bs58_1.default.encode(publicKey))
130
- .send({})
131
- .expect(200);
132
- expect(Array.isArray(response.body)).toBe(true);
133
- expect(response.body.length).toBeGreaterThan(0);
134
- const oauthContext = response.body.find((ctx) => ctx.id === "oauth-test-context");
135
- expect(oauthContext).toBeDefined();
136
- expect(oauthContext.data).toMatchObject({
137
- hasOAuth2Client: true,
138
- canAccessTokenMethods: true,
139
- methods: expect.arrayContaining(["getAccessToken", "getValidToken"])
140
- });
141
- });
142
- it("should provide OAuth2Client to tools via context", async () => {
143
- const response = await (0, supertest_1.default)(`http://localhost:${port}`)
144
- .post("/tools/verify-oauth-context")
145
- .set("x-agent-id", "test-agent")
146
- .set("x-org-id", "test-org")
147
- .set("x-agent-signature", "test-signature")
148
- .set("x-agent-public-key", bs58_1.default.encode(publicKey))
149
- .send({ test: "value" })
150
- .expect(200);
151
- expect(response.body).toMatchObject({
152
- text: "OAuth2Client is available in tool context",
153
- data: {
154
- hasOAuth2Client: true,
155
- canCallMethods: true
156
- }
157
- });
158
- });
159
- });
160
- describe("OAuth2Client in streaming context", () => {
161
- it("should include OAuth2Client in SSE streaming context", (done) => {
162
- const req = (0, supertest_1.default)(`http://localhost:${port}`)
163
- .post("/stream")
164
- .set("x-agent-id", "test-agent")
165
- .set("x-org-id", "test-org")
166
- .set("x-agent-signature", "test-signature")
167
- .set("x-agent-public-key", bs58_1.default.encode(publicKey))
168
- .set("Accept", "text/event-stream")
169
- .send({
170
- messages: [
171
- {
172
- role: "user",
173
- content: "Test OAuth context"
174
- }
175
- ],
176
- withContext: true
177
- });
178
- let contextFound = false;
179
- let buffer = "";
180
- req.on("data", (chunk) => {
181
- buffer += chunk.toString();
182
- const lines = buffer.split("\n");
183
- for (let i = 0; i < lines.length - 1; i++) {
184
- const line = lines[i].trim();
185
- if (line.startsWith("data: ")) {
186
- try {
187
- const data = JSON.parse(line.slice(6));
188
- if (data.type === "context" && data.contexts) {
189
- const oauthContext = data.contexts.find((ctx) => ctx.id === "oauth-test-context");
190
- if (oauthContext) {
191
- expect(oauthContext.data).toMatchObject({
192
- hasOAuth2Client: true,
193
- canAccessTokenMethods: true
194
- });
195
- contextFound = true;
196
- }
197
- }
198
- if (data.type === "done" && contextFound) {
199
- done();
200
- return;
201
- }
202
- }
203
- catch (e) {
204
- // Ignore parsing errors for incomplete JSON
205
- }
206
- }
207
- }
208
- buffer = lines[lines.length - 1];
209
- });
210
- req.on("error", done);
211
- req.on("end", () => {
212
- if (!contextFound) {
213
- done(new Error("OAuth context not found in stream"));
214
- }
215
- });
216
- });
217
- });
218
- describe("OAuth2Client availability without OAuth config", () => {
219
- let noOAuthServer;
220
- const noOAuthPort = 4568;
221
- // Generate new keys for second service
222
- const privateKey2 = ed25519_1.ed25519.utils.randomPrivateKey();
223
- const publicKey2 = ed25519_1.ed25519.getPublicKey(privateKey2);
224
- const noOAuthService = (0, nodeService_1.defineDAINService)({
225
- metadata: {
226
- title: "Test No OAuth",
227
- description: "Testing context without OAuth2",
228
- version: "1.0.0",
229
- author: "Test",
230
- tags: ["test"]
231
- },
232
- identity: {
233
- publicKey: bs58_1.default.encode(publicKey2),
234
- privateKey: bs58_1.default.encode(privateKey2),
235
- agentId: "no-oauth-agent",
236
- orgId: "no-oauth-org"
237
- },
238
- tools: [(0, core_1.createTool)({
239
- id: "dummy-tool",
240
- name: "Dummy Tool",
241
- description: "A dummy tool for testing",
242
- input: zod_1.z.object({}),
243
- output: zod_1.z.object({}),
244
- handler: async () => ({ text: "dummy", data: {}, ui: undefined })
245
- })],
246
- contexts: [{
247
- id: "no-oauth-context",
248
- name: "No OAuth Context",
249
- description: "Context without OAuth2Client",
250
- getContextData: async (agentInfo, extraData) => {
251
- return {
252
- hasOAuth2Client: !!extraData?.oauth2Client,
253
- extraDataKeys: Object.keys(extraData || {})
254
- };
255
- }
256
- }]
257
- });
258
- beforeAll(async () => {
259
- noOAuthServer = await noOAuthService.startNode({ port: noOAuthPort });
260
- });
261
- afterAll(async () => {
262
- if (noOAuthServer) {
263
- noOAuthServer.close();
264
- }
265
- });
266
- it("should not have OAuth2Client when OAuth is not configured", async () => {
267
- const response = await (0, supertest_1.default)(`http://localhost:${noOAuthPort}`)
268
- .get("/contexts/no-oauth-context")
269
- .set("x-agent-id", "test-agent")
270
- .set("x-org-id", "test-org")
271
- .set("x-agent-signature", "test-signature")
272
- .set("x-agent-public-key", bs58_1.default.encode(publicKey2))
273
- .expect(200);
274
- expect(response.body.data).toMatchObject({
275
- hasOAuth2Client: false,
276
- extraDataKeys: expect.arrayContaining(["plugins"])
277
- });
278
- expect(response.body.data.extraDataKeys).not.toContain("oauth2Client");
279
- });
280
- });
281
- });
282
- //# sourceMappingURL=oauth-context.test.js.map
@@ -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 +0,0 @@
1
- export {};