@dainprotocol/service-sdk 2.0.51 → 2.0.53
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/client/client.d.ts +4 -4
- package/dist/client/client.js +4 -6
- package/dist/client/client.js.map +1 -1
- package/dist/lib/schemaStructure.js +65 -2
- package/dist/lib/schemaStructure.js.map +1 -1
- package/package.json +10 -9
- package/dist/__tests__/api-sdk.test.d.ts +0 -1
- package/dist/__tests__/api-sdk.test.js +0 -102
- package/dist/__tests__/api-sdk.test.js.map +0 -1
- package/dist/__tests__/auth.test.d.ts +0 -1
- package/dist/__tests__/auth.test.js +0 -110
- package/dist/__tests__/auth.test.js.map +0 -1
- package/dist/__tests__/citations-plugin.test.d.ts +0 -1
- package/dist/__tests__/citations-plugin.test.js +0 -491
- package/dist/__tests__/citations-plugin.test.js.map +0 -1
- package/dist/__tests__/context-behavior.test.d.ts +0 -1
- package/dist/__tests__/context-behavior.test.js +0 -290
- package/dist/__tests__/context-behavior.test.js.map +0 -1
- package/dist/__tests__/convertToVercelTool.test.d.ts +0 -1
- package/dist/__tests__/convertToVercelTool.test.js +0 -527
- package/dist/__tests__/convertToVercelTool.test.js.map +0 -1
- package/dist/__tests__/core.test.d.ts +0 -1
- package/dist/__tests__/core.test.js +0 -154
- package/dist/__tests__/core.test.js.map +0 -1
- package/dist/__tests__/crypto-plugin.test.d.ts +0 -1
- package/dist/__tests__/crypto-plugin.test.js +0 -694
- package/dist/__tests__/crypto-plugin.test.js.map +0 -1
- package/dist/__tests__/humanActions.test.d.ts +0 -1
- package/dist/__tests__/humanActions.test.js +0 -221
- package/dist/__tests__/humanActions.test.js.map +0 -1
- package/dist/__tests__/integration.test.d.ts +0 -1
- package/dist/__tests__/integration.test.js +0 -1573
- package/dist/__tests__/integration.test.js.map +0 -1
- package/dist/__tests__/mealMeSchemas.test.d.ts +0 -576
- package/dist/__tests__/mealMeSchemas.test.js +0 -627
- package/dist/__tests__/mealMeSchemas.test.js.map +0 -1
- package/dist/__tests__/oauth-context-simple.test.d.ts +0 -1
- package/dist/__tests__/oauth-context-simple.test.js +0 -90
- package/dist/__tests__/oauth-context-simple.test.js.map +0 -1
- package/dist/__tests__/oauth-context.test.d.ts +0 -1
- package/dist/__tests__/oauth-context.test.js +0 -282
- package/dist/__tests__/oauth-context.test.js.map +0 -1
- package/dist/__tests__/oauth.test.d.ts +0 -1
- package/dist/__tests__/oauth.test.js +0 -378
- package/dist/__tests__/oauth.test.js.map +0 -1
- package/dist/__tests__/oauth2-client-context.test.d.ts +0 -1
- package/dist/__tests__/oauth2-client-context.test.js +0 -165
- package/dist/__tests__/oauth2-client-context.test.js.map +0 -1
- package/dist/__tests__/oauth2-client-integration.test.d.ts +0 -1
- package/dist/__tests__/oauth2-client-integration.test.js +0 -182
- package/dist/__tests__/oauth2-client-integration.test.js.map +0 -1
- package/dist/__tests__/oauth2-client-simple.test.d.ts +0 -1
- package/dist/__tests__/oauth2-client-simple.test.js +0 -144
- package/dist/__tests__/oauth2-client-simple.test.js.map +0 -1
- package/dist/__tests__/oauth2-context.test.d.ts +0 -1
- package/dist/__tests__/oauth2-context.test.js +0 -201
- package/dist/__tests__/oauth2-context.test.js.map +0 -1
- package/dist/__tests__/oauth2-datasource.test.d.ts +0 -1
- package/dist/__tests__/oauth2-datasource.test.js +0 -251
- package/dist/__tests__/oauth2-datasource.test.js.map +0 -1
- package/dist/__tests__/plugin.test.d.ts +0 -1
- package/dist/__tests__/plugin.test.js +0 -900
- package/dist/__tests__/plugin.test.js.map +0 -1
- package/dist/__tests__/processes.test.d.ts +0 -1
- package/dist/__tests__/processes.test.js +0 -239
- package/dist/__tests__/processes.test.js.map +0 -1
- package/dist/__tests__/streaming.test.d.ts +0 -1
- package/dist/__tests__/streaming.test.js +0 -592
- package/dist/__tests__/streaming.test.js.map +0 -1
- package/dist/__tests__/testEnums.d.ts +0 -1
- package/dist/__tests__/testEnums.js +0 -73
- package/dist/__tests__/testEnums.js.map +0 -1
- package/dist/__tests__/testOptionals.test.d.ts +0 -1
- package/dist/__tests__/testOptionals.test.js +0 -83
- package/dist/__tests__/testOptionals.test.js.map +0 -1
- package/dist/__tests__/types.test.d.ts +0 -1
- package/dist/__tests__/types.test.js +0 -98
- package/dist/__tests__/types.test.js.map +0 -1
- package/dist/service/zod-json-converter.d.ts +0 -14
- package/dist/service/zod-json-converter.js +0 -203
- 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 {};
|