@dainprotocol/service-sdk 2.0.43 → 2.0.45
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.d.ts +1 -0
- package/dist/__tests__/api-sdk.test.js +102 -0
- package/dist/__tests__/api-sdk.test.js.map +1 -0
- package/dist/__tests__/auth.test.d.ts +1 -0
- package/dist/__tests__/auth.test.js +110 -0
- package/dist/__tests__/auth.test.js.map +1 -0
- package/dist/__tests__/citations-plugin.test.d.ts +1 -0
- package/dist/__tests__/citations-plugin.test.js +491 -0
- package/dist/__tests__/citations-plugin.test.js.map +1 -0
- package/dist/__tests__/context-behavior.test.d.ts +1 -0
- package/dist/__tests__/context-behavior.test.js +290 -0
- package/dist/__tests__/context-behavior.test.js.map +1 -0
- package/dist/__tests__/convertToVercelTool.test.d.ts +1 -0
- package/dist/__tests__/convertToVercelTool.test.js +527 -0
- package/dist/__tests__/convertToVercelTool.test.js.map +1 -0
- package/dist/__tests__/core.test.d.ts +1 -0
- package/dist/__tests__/core.test.js +154 -0
- package/dist/__tests__/core.test.js.map +1 -0
- package/dist/__tests__/crypto-plugin.test.d.ts +1 -0
- package/dist/__tests__/crypto-plugin.test.js +694 -0
- package/dist/__tests__/crypto-plugin.test.js.map +1 -0
- package/dist/__tests__/humanActions.test.d.ts +1 -0
- package/dist/__tests__/humanActions.test.js +221 -0
- package/dist/__tests__/humanActions.test.js.map +1 -0
- package/dist/__tests__/integration.test.d.ts +1 -0
- package/dist/__tests__/integration.test.js +1573 -0
- package/dist/__tests__/integration.test.js.map +1 -0
- package/dist/__tests__/mealMeSchemas.test.d.ts +576 -0
- package/dist/__tests__/mealMeSchemas.test.js +627 -0
- package/dist/__tests__/mealMeSchemas.test.js.map +1 -0
- package/dist/__tests__/oauth-context-simple.test.d.ts +1 -0
- package/dist/__tests__/oauth-context-simple.test.js +90 -0
- package/dist/__tests__/oauth-context-simple.test.js.map +1 -0
- package/dist/__tests__/oauth-context.test.d.ts +1 -0
- package/dist/__tests__/oauth-context.test.js +282 -0
- package/dist/__tests__/oauth-context.test.js.map +1 -0
- package/dist/__tests__/oauth.test.d.ts +1 -0
- package/dist/__tests__/oauth.test.js +378 -0
- package/dist/__tests__/oauth.test.js.map +1 -0
- package/dist/__tests__/oauth2-client-context.test.d.ts +1 -0
- package/dist/__tests__/oauth2-client-context.test.js +165 -0
- package/dist/__tests__/oauth2-client-context.test.js.map +1 -0
- package/dist/__tests__/oauth2-client-integration.test.d.ts +1 -0
- package/dist/__tests__/oauth2-client-integration.test.js +182 -0
- package/dist/__tests__/oauth2-client-integration.test.js.map +1 -0
- package/dist/__tests__/oauth2-client-simple.test.d.ts +1 -0
- package/dist/__tests__/oauth2-client-simple.test.js +144 -0
- package/dist/__tests__/oauth2-client-simple.test.js.map +1 -0
- package/dist/__tests__/oauth2-context.test.d.ts +1 -0
- package/dist/__tests__/oauth2-context.test.js +201 -0
- package/dist/__tests__/oauth2-context.test.js.map +1 -0
- package/dist/__tests__/oauth2-datasource.test.d.ts +1 -0
- package/dist/__tests__/oauth2-datasource.test.js +251 -0
- package/dist/__tests__/oauth2-datasource.test.js.map +1 -0
- package/dist/__tests__/plugin.test.d.ts +1 -0
- package/dist/__tests__/plugin.test.js +900 -0
- package/dist/__tests__/plugin.test.js.map +1 -0
- package/dist/__tests__/processes.test.d.ts +1 -0
- package/dist/__tests__/processes.test.js +239 -0
- package/dist/__tests__/processes.test.js.map +1 -0
- package/dist/__tests__/streaming.test.d.ts +1 -0
- package/dist/__tests__/streaming.test.js +592 -0
- package/dist/__tests__/streaming.test.js.map +1 -0
- package/dist/__tests__/testEnums.d.ts +1 -0
- package/dist/__tests__/testEnums.js +73 -0
- package/dist/__tests__/testEnums.js.map +1 -0
- package/dist/__tests__/testOptionals.test.d.ts +1 -0
- package/dist/__tests__/testOptionals.test.js +83 -0
- package/dist/__tests__/testOptionals.test.js.map +1 -0
- package/dist/__tests__/types.test.d.ts +1 -0
- package/dist/__tests__/types.test.js +98 -0
- package/dist/__tests__/types.test.js.map +1 -0
- package/dist/service/core.js +1 -0
- package/dist/service/core.js.map +1 -1
- package/dist/service/oauth2Manager.js +1 -0
- package/dist/service/oauth2Manager.js.map +1 -1
- package/dist/service/server.js +87 -10
- package/dist/service/server.js.map +1 -1
- package/package.json +10 -11
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const zod_1 = require("zod");
|
|
4
|
+
const schemaStructure_1 = require("../lib/schemaStructure");
|
|
5
|
+
const convertToVercelTool_1 = require("../lib/convertToVercelTool");
|
|
6
|
+
describe('Enum types conversion', () => {
|
|
7
|
+
it('should correctly convert enum types to Vercel AI Tool parameters', () => {
|
|
8
|
+
// Define a schema with enum fields
|
|
9
|
+
const testSchema = zod_1.z.object({
|
|
10
|
+
simpleEnum: zod_1.z.enum(['A', 'B', 'C']),
|
|
11
|
+
optionalEnum: zod_1.z.enum(['X', 'Y', 'Z']).optional(),
|
|
12
|
+
nestedEnum: zod_1.z.object({
|
|
13
|
+
innerEnum: zod_1.z.enum(['inner1', 'inner2', 'inner3'])
|
|
14
|
+
})
|
|
15
|
+
});
|
|
16
|
+
// Create a mock HTTP tool
|
|
17
|
+
const httpTool = {
|
|
18
|
+
id: 'test-enum-tool',
|
|
19
|
+
name: 'Test Enum Tool',
|
|
20
|
+
description: 'A tool to test enum field conversion',
|
|
21
|
+
inputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(testSchema),
|
|
22
|
+
outputSchema: { type: 'ZodAny' }
|
|
23
|
+
};
|
|
24
|
+
// Convert the HTTP tool to a Vercel AI Tool
|
|
25
|
+
const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpTool);
|
|
26
|
+
// Check if the conversion was successful
|
|
27
|
+
expect(vercelAITool.name).toBe('test-enum-tool');
|
|
28
|
+
expect(vercelAITool.description).toBe('A tool to test enum field conversion');
|
|
29
|
+
expect(vercelAITool.parameters).toBeInstanceOf(zod_1.z.ZodObject);
|
|
30
|
+
// Check if the fields are correctly converted
|
|
31
|
+
const schemaShape = vercelAITool.parameters._def.shape();
|
|
32
|
+
expect(schemaShape.simpleEnum).toBeInstanceOf(zod_1.z.ZodEnum);
|
|
33
|
+
expect(schemaShape.optionalEnum).toBeInstanceOf(zod_1.z.ZodOptional);
|
|
34
|
+
expect(schemaShape.optionalEnum._def.innerType).toBeInstanceOf(zod_1.z.ZodEnum);
|
|
35
|
+
expect(schemaShape.nestedEnum).toBeInstanceOf(zod_1.z.ZodObject);
|
|
36
|
+
expect(schemaShape.nestedEnum._def.shape().innerEnum).toBeInstanceOf(zod_1.z.ZodEnum);
|
|
37
|
+
// Test parsing with the converted schema
|
|
38
|
+
const validInput = {
|
|
39
|
+
simpleEnum: 'B',
|
|
40
|
+
optionalEnum: 'Y',
|
|
41
|
+
numberEnum: 2,
|
|
42
|
+
mixedEnum: 'one',
|
|
43
|
+
nestedEnum: {
|
|
44
|
+
innerEnum: 'inner2'
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const parseResult = vercelAITool.parameters.safeParse(validInput);
|
|
48
|
+
expect(parseResult.success).toBe(true);
|
|
49
|
+
// Test parsing with invalid enum values
|
|
50
|
+
const invalidInput = {
|
|
51
|
+
simpleEnum: 'D',
|
|
52
|
+
numberEnum: 4,
|
|
53
|
+
mixedEnum: false,
|
|
54
|
+
nestedEnum: {
|
|
55
|
+
innerEnum: 'inner4'
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
const invalidParseResult = vercelAITool.parameters.safeParse(invalidInput);
|
|
59
|
+
expect(invalidParseResult.success).toBe(false);
|
|
60
|
+
// Test parsing with missing optional enum
|
|
61
|
+
const minimalInput = {
|
|
62
|
+
simpleEnum: 'A',
|
|
63
|
+
numberEnum: 1,
|
|
64
|
+
mixedEnum: true,
|
|
65
|
+
nestedEnum: {
|
|
66
|
+
innerEnum: 'inner1'
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const minimalParseResult = vercelAITool.parameters.safeParse(minimalInput);
|
|
70
|
+
expect(minimalParseResult.success).toBe(true);
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
//# sourceMappingURL=testEnums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testEnums.js","sourceRoot":"","sources":["../../src/__tests__/testEnums.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const zod_1 = require("zod");
|
|
4
|
+
const schemaStructure_1 = require("../lib/schemaStructure");
|
|
5
|
+
const convertToVercelTool_1 = require("../lib/convertToVercelTool");
|
|
6
|
+
describe('Optional and default types conversion', () => {
|
|
7
|
+
it('should correctly convert optional and default types to Vercel AI Tool parameters', () => {
|
|
8
|
+
// Define a schema with optional fields and default values
|
|
9
|
+
const testSchema = zod_1.z.object({
|
|
10
|
+
requiredField: zod_1.z.string(),
|
|
11
|
+
optionalString: zod_1.z.string().optional(),
|
|
12
|
+
optionalNumberWithDefault: zod_1.z.number().optional().default(42),
|
|
13
|
+
optionalBoolean: zod_1.z.boolean().optional(),
|
|
14
|
+
defaultString: zod_1.z.string().default('default value'),
|
|
15
|
+
nestedOptional: zod_1.z.object({
|
|
16
|
+
innerOptional: zod_1.z.string().optional(),
|
|
17
|
+
innerDefault: zod_1.z.number().default(10)
|
|
18
|
+
}).optional()
|
|
19
|
+
});
|
|
20
|
+
// Create a mock HTTP tool
|
|
21
|
+
const httpTool = {
|
|
22
|
+
id: 'test-optional-default-tool',
|
|
23
|
+
name: 'Test Optional and Default Tool',
|
|
24
|
+
description: 'A tool to test optional and default field conversion',
|
|
25
|
+
inputSchema: (0, schemaStructure_1.getDetailedSchemaStructure)(testSchema),
|
|
26
|
+
outputSchema: { type: 'ZodAny' }
|
|
27
|
+
};
|
|
28
|
+
// Convert the HTTP tool to a Vercel AI Tool
|
|
29
|
+
const vercelAITool = (0, convertToVercelTool_1.convertHttpToolToVercelAITool)(httpTool);
|
|
30
|
+
// Check if the conversion was successful
|
|
31
|
+
expect(vercelAITool.name).toBe('test-optional-default-tool');
|
|
32
|
+
expect(vercelAITool.description).toBe('A tool to test optional and default field conversion');
|
|
33
|
+
expect(vercelAITool.parameters).toBeInstanceOf(zod_1.z.ZodObject);
|
|
34
|
+
// Check if the fields are correctly converted
|
|
35
|
+
const schemaShape = vercelAITool.parameters._def.shape();
|
|
36
|
+
expect(schemaShape.requiredField).toBeInstanceOf(zod_1.z.ZodString);
|
|
37
|
+
expect(schemaShape.optionalString).toBeInstanceOf(zod_1.z.ZodOptional);
|
|
38
|
+
expect(schemaShape.optionalBoolean).toBeInstanceOf(zod_1.z.ZodOptional);
|
|
39
|
+
// Update for fields with default values
|
|
40
|
+
expect(schemaShape.optionalNumberWithDefault).toBeInstanceOf(zod_1.z.ZodDefault);
|
|
41
|
+
expect(schemaShape.optionalNumberWithDefault._def.innerType).toBeInstanceOf(zod_1.z.ZodOptional);
|
|
42
|
+
expect(schemaShape.optionalNumberWithDefault._def.innerType._def.innerType).toBeInstanceOf(zod_1.z.ZodNumber);
|
|
43
|
+
expect(schemaShape.defaultString).toBeInstanceOf(zod_1.z.ZodDefault);
|
|
44
|
+
expect(schemaShape.defaultString._def.innerType).toBeInstanceOf(zod_1.z.ZodString);
|
|
45
|
+
expect(schemaShape.nestedOptional).toBeInstanceOf(zod_1.z.ZodOptional);
|
|
46
|
+
// Check nested fields
|
|
47
|
+
const nestedShape = schemaShape.nestedOptional._def.innerType._def.shape();
|
|
48
|
+
expect(nestedShape.innerOptional).toBeInstanceOf(zod_1.z.ZodOptional);
|
|
49
|
+
expect(nestedShape.innerDefault).toBeInstanceOf(zod_1.z.ZodDefault);
|
|
50
|
+
expect(nestedShape.innerDefault._def.innerType).toBeInstanceOf(zod_1.z.ZodNumber);
|
|
51
|
+
// Test parsing with the converted schema
|
|
52
|
+
const validInput = {
|
|
53
|
+
requiredField: 'test',
|
|
54
|
+
optionalString: 'optional',
|
|
55
|
+
nestedOptional: {
|
|
56
|
+
innerOptional: 'nested'
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const parseResult = vercelAITool.parameters.safeParse(validInput);
|
|
60
|
+
expect(parseResult.success).toBe(true);
|
|
61
|
+
// Test parsing with missing optional fields and check default values
|
|
62
|
+
const minimalInput = {
|
|
63
|
+
requiredField: 'test'
|
|
64
|
+
};
|
|
65
|
+
const minimalParseResult = vercelAITool.parameters.safeParse(minimalInput);
|
|
66
|
+
expect(minimalParseResult.success).toBe(true);
|
|
67
|
+
if (minimalParseResult.success) {
|
|
68
|
+
expect(minimalParseResult.data.optionalNumberWithDefault).toBe(42);
|
|
69
|
+
expect(minimalParseResult.data.defaultString).toBe('default value');
|
|
70
|
+
}
|
|
71
|
+
// Test nested default values
|
|
72
|
+
const nestedInput = {
|
|
73
|
+
requiredField: 'test',
|
|
74
|
+
nestedOptional: {}
|
|
75
|
+
};
|
|
76
|
+
const nestedParseResult = vercelAITool.parameters.safeParse(nestedInput);
|
|
77
|
+
expect(nestedParseResult.success).toBe(true);
|
|
78
|
+
if (nestedParseResult.success) {
|
|
79
|
+
expect(nestedParseResult.data.nestedOptional?.innerDefault).toBe(10);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
//# sourceMappingURL=testOptionals.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testOptionals.test.js","sourceRoot":"","sources":["../../src/__tests__/testOptionals.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// File: src/__tests__/types.test.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
describe("DAIN Framework Types", () => {
|
|
6
|
+
test("AgentInfo type is correctly defined", () => {
|
|
7
|
+
const agentInfo = {
|
|
8
|
+
agentId: "test-agent",
|
|
9
|
+
address: "0x1234567890123456789012345678901234567890",
|
|
10
|
+
smartAccountPDA: "1234567890123456789012345678901234567890",
|
|
11
|
+
id: "dain_id_1234567890123456789012345678901234567890",
|
|
12
|
+
};
|
|
13
|
+
expect(agentInfo.agentId).toBe("test-agent");
|
|
14
|
+
expect(agentInfo.address).toBe("0x1234567890123456789012345678901234567890");
|
|
15
|
+
});
|
|
16
|
+
test("PricingInfo type is correctly defined", () => {
|
|
17
|
+
const pricingInfo = {
|
|
18
|
+
pricePerUse: 0.01,
|
|
19
|
+
currency: "USD",
|
|
20
|
+
};
|
|
21
|
+
expect(pricingInfo.pricePerUse).toBe(0.01);
|
|
22
|
+
expect(pricingInfo.currency).toBe("USD");
|
|
23
|
+
});
|
|
24
|
+
test("ToolConfig type is correctly defined", () => {
|
|
25
|
+
const toolConfig = {
|
|
26
|
+
id: "get-weather",
|
|
27
|
+
name: "Get Weather",
|
|
28
|
+
description: "Fetches weather for a city",
|
|
29
|
+
input: zod_1.z.object({ city: zod_1.z.string() }),
|
|
30
|
+
output: zod_1.z.object({ temperature: zod_1.z.number() }),
|
|
31
|
+
pricing: { pricePerUse: 0.01, currency: "USD" },
|
|
32
|
+
handler: async (input, agentInfo) => ({
|
|
33
|
+
text: `The temperature is 25°C`,
|
|
34
|
+
data: { temperature: 25 },
|
|
35
|
+
ui: null
|
|
36
|
+
}),
|
|
37
|
+
};
|
|
38
|
+
expect(toolConfig.id).toBe("get-weather");
|
|
39
|
+
expect(toolConfig.input.shape.city).toBeInstanceOf(zod_1.z.ZodString);
|
|
40
|
+
expect(toolConfig.output.shape.temperature).toBeInstanceOf(zod_1.z.ZodNumber);
|
|
41
|
+
});
|
|
42
|
+
test("ServiceConfig type is correctly defined", () => {
|
|
43
|
+
const serviceConfig = {
|
|
44
|
+
id: "weather-service",
|
|
45
|
+
name: "Weather Service",
|
|
46
|
+
description: "Provides weather information",
|
|
47
|
+
metadata: {
|
|
48
|
+
capabilities: ["current-weather", "forecast"],
|
|
49
|
+
languages: ["en", "es"],
|
|
50
|
+
},
|
|
51
|
+
recommendedPrompt: "Ask about the weather",
|
|
52
|
+
recommendedTools: ["get-weather", "get-forecast"],
|
|
53
|
+
};
|
|
54
|
+
expect(serviceConfig.id).toBe("weather-service");
|
|
55
|
+
expect(serviceConfig.metadata.capabilities).toContain("current-weather");
|
|
56
|
+
expect(serviceConfig.recommendedTools).toContain("get-weather");
|
|
57
|
+
});
|
|
58
|
+
test("ToolboxConfig type is correctly defined", () => {
|
|
59
|
+
const toolboxConfig = {
|
|
60
|
+
id: "weather-toolbox",
|
|
61
|
+
name: "Weather Toolbox",
|
|
62
|
+
description: "Collection of weather tools",
|
|
63
|
+
tools: ["get-weather", "get-forecast"],
|
|
64
|
+
metadata: {
|
|
65
|
+
complexity: "Low",
|
|
66
|
+
applicableFields: ["Meteorology", "Travel"],
|
|
67
|
+
},
|
|
68
|
+
recommendedPrompt: "Use these tools for weather-related tasks",
|
|
69
|
+
};
|
|
70
|
+
expect(toolboxConfig.id).toBe("weather-toolbox");
|
|
71
|
+
expect(toolboxConfig.tools).toContain("get-weather");
|
|
72
|
+
expect(toolboxConfig.metadata.applicableFields).toContain("Meteorology");
|
|
73
|
+
});
|
|
74
|
+
test("DAINServiceConfig type is correctly defined", () => {
|
|
75
|
+
const serviceConfig = {
|
|
76
|
+
metadata: {
|
|
77
|
+
title: "Weather Service",
|
|
78
|
+
description: "Provides weather information",
|
|
79
|
+
version: "1.0.0",
|
|
80
|
+
author: "DAIN Developer",
|
|
81
|
+
tags: ["weather", "forecast"],
|
|
82
|
+
},
|
|
83
|
+
identity: {
|
|
84
|
+
publicKey: "test-public-key",
|
|
85
|
+
agentId: "weather-agent",
|
|
86
|
+
orgId: "weather-org",
|
|
87
|
+
privateKey: "test-private",
|
|
88
|
+
},
|
|
89
|
+
services: [],
|
|
90
|
+
tools: [],
|
|
91
|
+
toolboxes: [],
|
|
92
|
+
contexts: [],
|
|
93
|
+
};
|
|
94
|
+
expect(serviceConfig.metadata.title).toBe("Weather Service");
|
|
95
|
+
expect(serviceConfig.identity.agentId).toBe("weather-agent");
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
//# sourceMappingURL=types.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.test.js","sourceRoot":"","sources":["../../src/__tests__/types.test.ts"],"names":[],"mappings":"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"}
|
package/dist/service/core.js
CHANGED
|
@@ -252,6 +252,7 @@ function createOAuth2Tool(provider, prefix = "") {
|
|
|
252
252
|
if (!oauth2Handler) {
|
|
253
253
|
throw new Error("OAuth2 not configured for this service");
|
|
254
254
|
}
|
|
255
|
+
console.log("Generating auth URL for provider:", provider, "for agent:", agentInfo, '<- Core ->');
|
|
255
256
|
const authUrl = await oauth2Handler.generateAuthUrl(provider, agentInfo.id);
|
|
256
257
|
return {
|
|
257
258
|
text: `Please authenticate with ${provider} using this URL: ${authUrl}`,
|
package/dist/service/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/service/core.ts"],"names":[],"mappings":";AAAA,4BAA4B;;;AAkB5B,gCA4IC;AAED,sCAeC;AAED,sCAEC;AAED,4CAEC;AAED,kCAcC;AAED,oCAKC;AAED,sCAiBC;AAGD,8CAEC;AAGD,wCAKC;AAGD,gCAEC;AAGD,oCAEC;AAGD,wCA2BC;AAGD,0CAEC;AAGD,0CAKC;AAYD,0DASC;AAED,
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/service/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -60,6 +60,7 @@ class OAuth2Manager {
|
|
|
60
60
|
* Generate authorization URL
|
|
61
61
|
*/
|
|
62
62
|
async generateAuthUrl(provider, agentId) {
|
|
63
|
+
console.log("Generating auth URL for provider:", provider, "for agent:", agentId, '<- Internal ->');
|
|
63
64
|
const result = await this.client.authorize({
|
|
64
65
|
provider,
|
|
65
66
|
userId: agentId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2Manager.js","sourceRoot":"","sources":["../../src/service/oauth2Manager.ts"],"names":[],"mappings":";;;AAAA,6EAQ4C;AAI5C;;GAEG;AACH,MAAa,aAAa;IACR,MAAM,CAAe;IAC7B,OAAO,CAAS;IAChB,eAAe,GAAyC,EAAE,CAAC;IAEnE,YAAY,OAAe,EAAE,OAAwB;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,mCAAY,CAAC;YAC7B,OAAO,EAAE,OAAO,IAAI,IAAI,6CAAsB,EAAE;YAChD,2DAA2D;YAC3D,WAAW,EAAE;gBACX,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,EAAE,EAAE,2BAA2B;gBAC9C,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;oBAC/B,OAAO,CAAC,KAAK,CAAC,+BAA+B,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAChG,CAAC;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,IAAY,EAAE,MAA4B;QACzD,0CAA0C;QAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QAEpC,yDAAyD;QACzD,MAAM,YAAY,GAAiB;YACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,oBAAoB,IAAI,EAAE;YACtD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,eAAe,EAAE,MAAM,CAAC,eAAe;YACvC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,6CAA6C;YAC5E,kFAAkF;YAClF,UAAU,EAAE,iCAAiC;YAC7C,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC3B,KAAK,EAAE,MAAc,EAAE,MAAmB,EAAE,EAAE;oBAC5C,MAAM,UAAU,GAAiB;wBAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;wBAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;wBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;qBAC1C,CAAC;oBACF,MAAM,MAAM,CAAC,SAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBAC9C,CAAC,CAAC,CAAC,CAAC,SAAS;SAChB,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,OAAe;
|
|
1
|
+
{"version":3,"file":"oauth2Manager.js","sourceRoot":"","sources":["../../src/service/oauth2Manager.ts"],"names":[],"mappings":"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"}
|
package/dist/service/server.js
CHANGED
|
@@ -20,6 +20,7 @@ const ed25519_1 = require("@noble/curves/ed25519");
|
|
|
20
20
|
const sha256_1 = require("@noble/hashes/sha256");
|
|
21
21
|
const utils_1 = require("@noble/hashes/utils");
|
|
22
22
|
const auth_2 = require("./auth");
|
|
23
|
+
console.log("OAuth2 package version:", package_json_1.default.dependencies["@dainprotocol/oauth2-token-manager"]);
|
|
23
24
|
/**
|
|
24
25
|
* Middleware factory to require specific OAuth scopes
|
|
25
26
|
* Defense-in-depth: Validates scopes even though JWT middleware already checked them
|
|
@@ -175,16 +176,19 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
175
176
|
});
|
|
176
177
|
// Dual Authentication: JWT (users) or API Key (services)
|
|
177
178
|
app.use("*", async (c, next) => {
|
|
179
|
+
console.log(`[Auth Middleware] Path: ${c.req.path}, Method: ${c.req.method}`);
|
|
178
180
|
if (c.req.path.startsWith("/oauth2/callback/") ||
|
|
179
181
|
c.req.path.startsWith("/addons") ||
|
|
180
182
|
c.req.path.startsWith("/metadata") ||
|
|
181
|
-
c.req.path.startsWith("/tools") ||
|
|
182
183
|
c.req.path.startsWith("/ping")) {
|
|
184
|
+
console.log(`[Auth Middleware] Path ${c.req.path} - SKIPPING auth`);
|
|
183
185
|
await next();
|
|
184
186
|
return;
|
|
185
187
|
}
|
|
188
|
+
console.log(`[Auth Middleware] Path ${c.req.path} - REQUIRES auth`);
|
|
186
189
|
const jwtToken = (0, auth_1.extractBearerToken)(c.req.header("Authorization"));
|
|
187
190
|
const apiKey = c.req.header("X-DAIN-API-KEY");
|
|
191
|
+
console.log(`[Auth Middleware] JWT present: ${!!jwtToken}, API Key present: ${!!apiKey}`);
|
|
188
192
|
if (jwtToken) {
|
|
189
193
|
// JWT Authentication (Users)
|
|
190
194
|
// Auto-detect JWT audience from Host header (works with localhost, tunnels, production)
|
|
@@ -220,17 +224,20 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
220
224
|
c.set('scope', result.scope);
|
|
221
225
|
c.set('jwtPayload', result.payload);
|
|
222
226
|
c.set('smartAccountPDA', c.req.header("X-DAIN-SMART-ACCOUNT-PDA"));
|
|
227
|
+
console.log(`[Auth Middleware] JWT auth SUCCESS - smartAccountId: ${result.smartAccountId}`);
|
|
223
228
|
}
|
|
224
229
|
else if (apiKey) {
|
|
225
230
|
// API Key Authentication (Services/Agents)
|
|
226
231
|
const parsed = (0, auth_1.parseAPIKey)(apiKey);
|
|
227
232
|
if (!parsed) {
|
|
233
|
+
console.log(`[Auth Middleware] API Key auth FAILED - invalid format`);
|
|
228
234
|
throw new http_exception_1.HTTPException(401, { message: "Invalid API key format" });
|
|
229
235
|
}
|
|
230
236
|
// Validate API key with platform (skip in dev mode if no platform URL)
|
|
231
237
|
if (config.platformBaseUrl) {
|
|
232
238
|
const isValid = await (0, auth_1.validateAPIKeyWithPlatform)(apiKey, config.platformBaseUrl);
|
|
233
239
|
if (!isValid) {
|
|
240
|
+
console.log(`[Auth Middleware] API Key auth FAILED - invalid with platform`);
|
|
234
241
|
throw new http_exception_1.HTTPException(401, { message: "Invalid API key" });
|
|
235
242
|
}
|
|
236
243
|
}
|
|
@@ -239,34 +246,46 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
239
246
|
c.set('orgId', parsed.orgId);
|
|
240
247
|
c.set('address', parsed.agentId); // Use agentId as address for API key auth
|
|
241
248
|
c.set('smartAccountPDA', c.req.header("X-DAIN-SMART-ACCOUNT-PDA"));
|
|
249
|
+
console.log(`[Auth Middleware] API Key auth SUCCESS - agentId: ${parsed.agentId}, orgId: ${parsed.orgId}`);
|
|
242
250
|
}
|
|
243
251
|
else {
|
|
252
|
+
console.log(`[Auth Middleware] Auth FAILED - no JWT or API key provided`);
|
|
244
253
|
throw new http_exception_1.HTTPException(401, { message: "No authentication provided" });
|
|
245
254
|
}
|
|
246
255
|
await next();
|
|
247
256
|
});
|
|
248
257
|
async function getAgentInfo(c) {
|
|
258
|
+
console.log("[getAgentInfo] START");
|
|
259
|
+
console.log("[getAgentInfo] Auth method:", c.get('authMethod'));
|
|
249
260
|
const smartAccountPDA = c.get('smartAccountPDA') || c.req.header("X-DAIN-SMART-ACCOUNT-PDA");
|
|
250
261
|
const webhookUrl = c.req.header("X-DAIN-WEBHOOK-URL");
|
|
262
|
+
console.log("[getAgentInfo] smartAccountPDA:", smartAccountPDA);
|
|
263
|
+
console.log("[getAgentInfo] webhookUrl:", webhookUrl);
|
|
251
264
|
if (c.get('authMethod') === 'jwt') {
|
|
252
265
|
const smartAccountId = c.get('smartAccountId');
|
|
253
|
-
|
|
266
|
+
console.log("[getAgentInfo] JWT auth - smartAccountId:", smartAccountId);
|
|
267
|
+
const agentInfo = {
|
|
254
268
|
agentId: smartAccountId,
|
|
255
269
|
address: smartAccountId,
|
|
256
270
|
smartAccountPDA,
|
|
257
271
|
id: smartAccountPDA ? `dain_id_${smartAccountPDA}` : `smart_account_${smartAccountId}`,
|
|
258
272
|
webhookUrl,
|
|
259
273
|
};
|
|
274
|
+
console.log("[getAgentInfo] JWT - Returning agent info:", agentInfo);
|
|
275
|
+
return agentInfo;
|
|
260
276
|
}
|
|
261
277
|
const agentId = c.get('agentId');
|
|
262
278
|
const address = c.get('address');
|
|
263
|
-
|
|
279
|
+
console.log("[getAgentInfo] API Key auth - agentId:", agentId, "address:", address);
|
|
280
|
+
const agentInfo = {
|
|
264
281
|
agentId,
|
|
265
282
|
address,
|
|
266
283
|
smartAccountPDA,
|
|
267
284
|
id: smartAccountPDA ? `dain_id_${smartAccountPDA}` : `address_${address}`,
|
|
268
285
|
webhookUrl,
|
|
269
286
|
};
|
|
287
|
+
console.log("[getAgentInfo] API Key - Returning agent info:", agentInfo);
|
|
288
|
+
return agentInfo;
|
|
270
289
|
}
|
|
271
290
|
// Setup default ping route
|
|
272
291
|
app.get("/ping", (c) => c.json({ message: "pong", platform: "DAIN", service_version: metadata.version, dain_sdk_version: package_json_1.default.version }));
|
|
@@ -950,16 +969,38 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
950
969
|
});
|
|
951
970
|
// Get auth URL for specific provider
|
|
952
971
|
app.get("/oauth2/connect/:provider", async (c) => {
|
|
972
|
+
console.log("[OAuth2 Connect] Route hit - START");
|
|
973
|
+
console.log("[OAuth2 Connect] Provider param:", c.req.param("provider"));
|
|
974
|
+
console.log("[OAuth2 Connect] Auth method:", c.get('authMethod'));
|
|
975
|
+
console.log("[OAuth2 Connect] Headers:", {
|
|
976
|
+
authorization: c.req.header("Authorization"),
|
|
977
|
+
apiKey: c.req.header("X-DAIN-API-KEY"),
|
|
978
|
+
host: c.req.header("host"),
|
|
979
|
+
});
|
|
953
980
|
if (!app.oauth2) {
|
|
981
|
+
console.log("[OAuth2 Connect] ERROR: OAuth2 not configured");
|
|
954
982
|
throw new http_exception_1.HTTPException(404, { message: "OAuth2 not configured" });
|
|
955
983
|
}
|
|
956
984
|
const provider = c.req.param("provider");
|
|
957
|
-
|
|
985
|
+
console.log("[OAuth2 Connect] Getting agent info...");
|
|
986
|
+
let agentInfo;
|
|
987
|
+
try {
|
|
988
|
+
agentInfo = await getAgentInfo(c);
|
|
989
|
+
console.log("[OAuth2 Connect] Agent info retrieved:", agentInfo);
|
|
990
|
+
}
|
|
991
|
+
catch (error) {
|
|
992
|
+
console.log("[OAuth2 Connect] ERROR getting agent info:", error);
|
|
993
|
+
throw error;
|
|
994
|
+
}
|
|
958
995
|
try {
|
|
996
|
+
console.log("[OAuth2 Connect] Generating auth URL for provider:", provider, "for agent:", agentInfo.id);
|
|
997
|
+
console.log("[OAuth2 Connect] OAuth2 configured:", !!app.oauth2);
|
|
959
998
|
const authUrl = await app.oauth2.generateAuthUrl(provider, agentInfo.id);
|
|
999
|
+
console.log("[OAuth2 Connect] Auth URL generated successfully:", authUrl);
|
|
960
1000
|
return c.json({ authUrl });
|
|
961
1001
|
}
|
|
962
1002
|
catch (error) {
|
|
1003
|
+
console.log("[OAuth2 Connect] ERROR generating auth URL:", error);
|
|
963
1004
|
throw new http_exception_1.HTTPException(400, {
|
|
964
1005
|
message: `Invalid provider: ${provider}`
|
|
965
1006
|
});
|
|
@@ -1388,39 +1429,75 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
|
|
|
1388
1429
|
};
|
|
1389
1430
|
// Standard tool execution endpoint
|
|
1390
1431
|
app.post(`/tools/${tool.id}`, async (c) => {
|
|
1432
|
+
console.log(`[Tool ${tool.id}] ========== TOOL EXECUTION START ==========`);
|
|
1433
|
+
console.log(`[Tool ${tool.id}] Path: ${c.req.path}`);
|
|
1434
|
+
console.log(`[Tool ${tool.id}] Method: ${c.req.method}`);
|
|
1435
|
+
console.log(`[Tool ${tool.id}] Auth Method: ${c.get('authMethod')}`);
|
|
1436
|
+
console.log(`[Tool ${tool.id}] Headers:`, {
|
|
1437
|
+
authorization: c.req.header("Authorization") ? "Bearer ***" : undefined,
|
|
1438
|
+
apiKey: c.req.header("X-DAIN-API-KEY") ? "***" : undefined,
|
|
1439
|
+
smartAccountPDA: c.req.header("X-DAIN-SMART-ACCOUNT-PDA"),
|
|
1440
|
+
webhookUrl: c.req.header("X-DAIN-WEBHOOK-URL"),
|
|
1441
|
+
});
|
|
1391
1442
|
try {
|
|
1443
|
+
console.log(`[Tool ${tool.id}] Getting agent info...`);
|
|
1392
1444
|
const agentInfo = await getAgentInfo(c);
|
|
1445
|
+
console.log(`[Tool ${tool.id}] Agent info:`, agentInfo);
|
|
1446
|
+
console.log(`[Tool ${tool.id}] Parsing request body...`);
|
|
1393
1447
|
let body = await c.req.json();
|
|
1394
|
-
|
|
1395
|
-
console.log(`[${tool.id}] Request:`,
|
|
1448
|
+
console.log(`[Tool ${tool.id}] Request body keys:`, Object.keys(body));
|
|
1449
|
+
console.log(`[Tool ${tool.id}] Request body:`, JSON.stringify(body, null, 2));
|
|
1396
1450
|
// Process plugins for the request
|
|
1451
|
+
console.log(`[Tool ${tool.id}] Processing plugins...`);
|
|
1397
1452
|
body = await processPluginsForRequest(body, agentInfo);
|
|
1398
1453
|
// Extract plugins data for the tool context
|
|
1399
1454
|
const pluginsData = body.plugins || {};
|
|
1400
1455
|
delete body.plugins;
|
|
1456
|
+
console.log(`[Tool ${tool.id}] Plugins data:`, pluginsData);
|
|
1457
|
+
console.log(`[Tool ${tool.id}] Executing tool handler...`);
|
|
1401
1458
|
return executeToolWithStreaming(c, tool, body, agentInfo, pluginsData, false);
|
|
1402
1459
|
}
|
|
1403
1460
|
catch (error) {
|
|
1404
|
-
console.error(`[${tool.id}]
|
|
1461
|
+
console.error(`[Tool ${tool.id}] ========== ERROR ==========`);
|
|
1462
|
+
console.error(`[Tool ${tool.id}] Error:`, error);
|
|
1463
|
+
console.error(`[Tool ${tool.id}] Stack:`, error.stack);
|
|
1405
1464
|
throw new http_exception_1.HTTPException(500, { message: "Internal server error" });
|
|
1406
1465
|
}
|
|
1407
1466
|
});
|
|
1408
1467
|
// Tool execution with context endpoint
|
|
1409
1468
|
app.post(`/tools/${tool.id}/executeAndGetNewContext`, async (c) => {
|
|
1469
|
+
console.log(`[Tool ${tool.id} +Context] ========== TOOL EXECUTION START (WITH CONTEXT) ==========`);
|
|
1470
|
+
console.log(`[Tool ${tool.id} +Context] Path: ${c.req.path}`);
|
|
1471
|
+
console.log(`[Tool ${tool.id} +Context] Method: ${c.req.method}`);
|
|
1472
|
+
console.log(`[Tool ${tool.id} +Context] Auth Method: ${c.get('authMethod')}`);
|
|
1473
|
+
console.log(`[Tool ${tool.id} +Context] Headers:`, {
|
|
1474
|
+
authorization: c.req.header("Authorization") ? "Bearer ***" : undefined,
|
|
1475
|
+
apiKey: c.req.header("X-DAIN-API-KEY") ? "***" : undefined,
|
|
1476
|
+
smartAccountPDA: c.req.header("X-DAIN-SMART-ACCOUNT-PDA"),
|
|
1477
|
+
webhookUrl: c.req.header("X-DAIN-WEBHOOK-URL"),
|
|
1478
|
+
});
|
|
1410
1479
|
try {
|
|
1480
|
+
console.log(`[Tool ${tool.id} +Context] Getting agent info...`);
|
|
1411
1481
|
const agentInfo = await getAgentInfo(c);
|
|
1482
|
+
console.log(`[Tool ${tool.id} +Context] Agent info:`, agentInfo);
|
|
1483
|
+
console.log(`[Tool ${tool.id} +Context] Parsing request body...`);
|
|
1412
1484
|
let body = await c.req.json();
|
|
1413
|
-
|
|
1414
|
-
console.log(`[${tool.id}] Request
|
|
1485
|
+
console.log(`[Tool ${tool.id} +Context] Request body keys:`, Object.keys(body));
|
|
1486
|
+
console.log(`[Tool ${tool.id} +Context] Request body:`, JSON.stringify(body, null, 2));
|
|
1415
1487
|
// Process plugins for the request
|
|
1488
|
+
console.log(`[Tool ${tool.id} +Context] Processing plugins...`);
|
|
1416
1489
|
body = await processPluginsForRequest(body, agentInfo);
|
|
1417
1490
|
// Extract plugins data for the tool context
|
|
1418
1491
|
const pluginsData = body.plugins || {};
|
|
1419
1492
|
delete body.plugins;
|
|
1493
|
+
console.log(`[Tool ${tool.id} +Context] Plugins data:`, pluginsData);
|
|
1494
|
+
console.log(`[Tool ${tool.id} +Context] Executing tool handler with context...`);
|
|
1420
1495
|
return executeToolWithStreaming(c, tool, body, agentInfo, pluginsData, true);
|
|
1421
1496
|
}
|
|
1422
1497
|
catch (error) {
|
|
1423
|
-
console.error(`[${tool.id}]
|
|
1498
|
+
console.error(`[Tool ${tool.id} +Context] ========== ERROR ==========`);
|
|
1499
|
+
console.error(`[Tool ${tool.id} +Context] Error:`, error);
|
|
1500
|
+
console.error(`[Tool ${tool.id} +Context] Stack:`, error.stack);
|
|
1424
1501
|
throw new http_exception_1.HTTPException(500, { message: "Internal server error" });
|
|
1425
1502
|
}
|
|
1426
1503
|
});
|