@dainprotocol/service-sdk 1.0.3
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__/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__/convertToVercelTool.test.d.ts +1 -0
- package/dist/__tests__/convertToVercelTool.test.js +101 -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 +152 -0
- package/dist/__tests__/core.test.js.map +1 -0
- package/dist/__tests__/integration.test.d.ts +1 -0
- package/dist/__tests__/integration.test.js +180 -0
- package/dist/__tests__/integration.test.js.map +1 -0
- package/dist/__tests__/types.test.d.ts +1 -0
- package/dist/__tests__/types.test.js +95 -0
- package/dist/__tests__/types.test.js.map +1 -0
- package/dist/client/client-auth.d.ts +20 -0
- package/dist/client/client-auth.js +64 -0
- package/dist/client/client-auth.js.map +1 -0
- package/dist/client/client.d.ts +20 -0
- package/dist/client/client.js +122 -0
- package/dist/client/client.js.map +1 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/index.js +6 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/types.d.ts +146 -0
- package/dist/client/types.js +47 -0
- package/dist/client/types.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/convertToVercelTool.d.ts +6 -0
- package/dist/lib/convertToVercelTool.js +59 -0
- package/dist/lib/convertToVercelTool.js.map +1 -0
- package/dist/lib/schemaStructure.d.ts +3 -0
- package/dist/lib/schemaStructure.js +90 -0
- package/dist/lib/schemaStructure.js.map +1 -0
- package/dist/service/auth.d.ts +11 -0
- package/dist/service/auth.js +104 -0
- package/dist/service/auth.js.map +1 -0
- package/dist/service/core.d.ts +21 -0
- package/dist/service/core.js +116 -0
- package/dist/service/core.js.map +1 -0
- package/dist/service/index.d.ts +4 -0
- package/dist/service/index.js +15 -0
- package/dist/service/index.js.map +1 -0
- package/dist/service/server.d.ts +3 -0
- package/dist/service/server.js +166 -0
- package/dist/service/server.js.map +1 -0
- package/dist/service/service.d.ts +2 -0
- package/dist/service/service.js +118 -0
- package/dist/service/service.js.map +1 -0
- package/dist/service/types.d.ts +94 -0
- package/dist/service/types.js +4 -0
- package/dist/service/types.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// File: src/service/service.ts
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.defineDAINService = defineDAINService;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
const core_1 = require("./core");
|
|
7
|
+
const server_1 = require("./server");
|
|
8
|
+
const bs58_1 = tslib_1.__importDefault(require("bs58"));
|
|
9
|
+
function parseApiKey(apiKey) {
|
|
10
|
+
const parts = apiKey.split('_');
|
|
11
|
+
if (parts.length !== 5 || parts[0] !== 'sk' || parts[1] !== 'agent') {
|
|
12
|
+
throw new Error('Invalid API key format');
|
|
13
|
+
}
|
|
14
|
+
const orgId = parts[2].replace('org_', '');
|
|
15
|
+
const agentId = parts[3].replace('agent_', '');
|
|
16
|
+
const pk = parts[4];
|
|
17
|
+
// first 32 bytes are the private key and second 32 bytes are the public key from the imported key
|
|
18
|
+
const privateKeyBuffer = bs58_1.default.decode(pk);
|
|
19
|
+
const privateKey = privateKeyBuffer.slice(0, 32);
|
|
20
|
+
const publicKey = privateKeyBuffer.slice(32);
|
|
21
|
+
return {
|
|
22
|
+
orgId,
|
|
23
|
+
agentId,
|
|
24
|
+
privateKey: bs58_1.default.encode(privateKey),
|
|
25
|
+
publicKey: bs58_1.default.encode(publicKey), // Assuming the public key is the first 32 bytes
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
function defineDAINService(config) {
|
|
29
|
+
let identity;
|
|
30
|
+
if (config.identity.apiKey) {
|
|
31
|
+
identity = parseApiKey(config.identity.apiKey);
|
|
32
|
+
}
|
|
33
|
+
else if (config.identity.publicKey && config.identity.privateKey && config.identity.agentId && config.identity.orgId) {
|
|
34
|
+
identity = {
|
|
35
|
+
...config.identity,
|
|
36
|
+
agentId: config.identity.agentId.replace('agent_', ''),
|
|
37
|
+
orgId: config.identity.orgId.replace('org_', '')
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
throw new Error('Invalid identity configuration. Provide either an apiKey or all required identity fields.');
|
|
42
|
+
}
|
|
43
|
+
const tools = config.tools.map((toolConfig) => (0, core_1.createTool)(toolConfig));
|
|
44
|
+
const services = config.services.map((serviceConfig) => (0, core_1.createService)(serviceConfig));
|
|
45
|
+
const toolboxes = config.toolboxes.map((toolboxConfig) => (0, core_1.createToolbox)(toolboxConfig));
|
|
46
|
+
// Validate and sanitize metadata
|
|
47
|
+
config.metadata.tags = core_1.CoreUtils.sanitizeTags(config.metadata.tags);
|
|
48
|
+
let app;
|
|
49
|
+
const startWorkers = () => {
|
|
50
|
+
const service = startService();
|
|
51
|
+
console.log(`DAIN Service exported to cloudflare workers with version ${config.metadata.version}`);
|
|
52
|
+
return service.fetch;
|
|
53
|
+
};
|
|
54
|
+
const startNode = async (options = {
|
|
55
|
+
port: 3000,
|
|
56
|
+
}) => {
|
|
57
|
+
const { port } = options;
|
|
58
|
+
const { serve } = await Promise.resolve().then(() => tslib_1.__importStar(require("@hono/node-server")));
|
|
59
|
+
const service = await startService();
|
|
60
|
+
const server = serve({
|
|
61
|
+
fetch: service.fetch,
|
|
62
|
+
port
|
|
63
|
+
});
|
|
64
|
+
console.log(`Server is listening on port ${port} -- Node Environment`);
|
|
65
|
+
console.log(`DAIN Service is running on version ${config.metadata.version}`);
|
|
66
|
+
return {
|
|
67
|
+
address: () => ({ port }),
|
|
68
|
+
shutdown: async () => {
|
|
69
|
+
console.log("Shutting down DAIN service...");
|
|
70
|
+
server.close();
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
const startDeno = async (options = {
|
|
75
|
+
port: 8787,
|
|
76
|
+
}) => {
|
|
77
|
+
const service = await startService();
|
|
78
|
+
const { port } = options;
|
|
79
|
+
//@ts-ignore Deno.listen is not yet typed if not in a Deno environment
|
|
80
|
+
const server = Deno.listen({ port });
|
|
81
|
+
console.log(`Server is listening on port ${port} -- Deno Environment`);
|
|
82
|
+
console.log(`DAIN Service is running on version ${config.metadata.version}`);
|
|
83
|
+
return {
|
|
84
|
+
address: () => ({ port }),
|
|
85
|
+
shutdown: async () => {
|
|
86
|
+
console.log("Shutting down DAIN service...");
|
|
87
|
+
server.close();
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
const startService = function () {
|
|
92
|
+
const privateKey = bs58_1.default.decode(identity.privateKey);
|
|
93
|
+
app = (0, server_1.setupHttpServer)({ ...config, identity }, tools, services, toolboxes, config.metadata, privateKey);
|
|
94
|
+
return app;
|
|
95
|
+
};
|
|
96
|
+
const getMetadata = () => config.metadata;
|
|
97
|
+
const getServices = () => services;
|
|
98
|
+
const getTools = () => tools;
|
|
99
|
+
const getToolboxes = () => toolboxes;
|
|
100
|
+
const findTool = (toolId) => tools.find((tool) => tool.id === toolId);
|
|
101
|
+
const findToolbox = (toolboxId) => toolboxes.find((toolbox) => toolbox.id === toolboxId);
|
|
102
|
+
const findService = (serviceId) => services.find((service) => service.id === serviceId);
|
|
103
|
+
const dainService = {
|
|
104
|
+
getMetadata,
|
|
105
|
+
getServices,
|
|
106
|
+
getTools,
|
|
107
|
+
getToolboxes,
|
|
108
|
+
findTool,
|
|
109
|
+
findToolbox,
|
|
110
|
+
findService,
|
|
111
|
+
app,
|
|
112
|
+
startNode,
|
|
113
|
+
startDeno,
|
|
114
|
+
startWorkers,
|
|
115
|
+
};
|
|
116
|
+
return dainService;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/service/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ExecutionContext, Hono } from "hono";
|
|
3
|
+
export type AgentInfo = {
|
|
4
|
+
agentId: string;
|
|
5
|
+
address: string;
|
|
6
|
+
};
|
|
7
|
+
export type PricingInfo = {
|
|
8
|
+
pricePerUse: number;
|
|
9
|
+
currency: string;
|
|
10
|
+
};
|
|
11
|
+
export type Metadata = {
|
|
12
|
+
title: string;
|
|
13
|
+
description: string;
|
|
14
|
+
version: string;
|
|
15
|
+
author: string;
|
|
16
|
+
tags: string[];
|
|
17
|
+
};
|
|
18
|
+
export type Identity = {
|
|
19
|
+
publicKey?: string;
|
|
20
|
+
privateKey?: string;
|
|
21
|
+
agentId?: string;
|
|
22
|
+
orgId?: string;
|
|
23
|
+
apiKey?: string;
|
|
24
|
+
};
|
|
25
|
+
export type ToolConfig<TInput extends z.ZodType = z.ZodType, TOutput extends z.ZodType = z.ZodType> = {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
description: string;
|
|
29
|
+
input: TInput;
|
|
30
|
+
output: TOutput;
|
|
31
|
+
pricing: PricingInfo;
|
|
32
|
+
handler: (input: z.infer<TInput>, agentInfo: AgentInfo) => Promise<{
|
|
33
|
+
text: string;
|
|
34
|
+
data: z.infer<TOutput>;
|
|
35
|
+
ui: any | undefined;
|
|
36
|
+
}>;
|
|
37
|
+
};
|
|
38
|
+
export type ServiceConfig = {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
description: string;
|
|
42
|
+
metadata: {
|
|
43
|
+
capabilities: string[];
|
|
44
|
+
languages: string[];
|
|
45
|
+
};
|
|
46
|
+
recommendedPrompt: string;
|
|
47
|
+
recommendedTools: string[];
|
|
48
|
+
};
|
|
49
|
+
export type ToolboxConfig = {
|
|
50
|
+
id: string;
|
|
51
|
+
name: string;
|
|
52
|
+
description: string;
|
|
53
|
+
tools: string[];
|
|
54
|
+
metadata: {
|
|
55
|
+
complexity: string;
|
|
56
|
+
applicableFields: string[];
|
|
57
|
+
};
|
|
58
|
+
recommendedPrompt: string;
|
|
59
|
+
};
|
|
60
|
+
export interface DAINService {
|
|
61
|
+
startNode: (options?: {
|
|
62
|
+
port?: number;
|
|
63
|
+
}) => Promise<ServiceManager>;
|
|
64
|
+
startDeno: (options?: {
|
|
65
|
+
port?: number;
|
|
66
|
+
}) => Promise<ServiceManager>;
|
|
67
|
+
startWorkers: () => (request: Request, Env?: unknown, executionCtx?: ExecutionContext) => Response | Promise<Response>;
|
|
68
|
+
getMetadata: () => Metadata;
|
|
69
|
+
getServices: () => ServiceConfig[];
|
|
70
|
+
getTools: () => ToolConfig[];
|
|
71
|
+
getToolboxes: () => ToolboxConfig[];
|
|
72
|
+
findTool: (toolId: string) => ToolConfig | undefined;
|
|
73
|
+
findToolbox: (toolboxId: string) => ToolboxConfig | undefined;
|
|
74
|
+
findService: (serviceId: string) => ServiceConfig | undefined;
|
|
75
|
+
app: Hono;
|
|
76
|
+
}
|
|
77
|
+
export type DAINServiceConfig = {
|
|
78
|
+
metadata: Metadata;
|
|
79
|
+
identity: Identity;
|
|
80
|
+
services: ServiceConfig[];
|
|
81
|
+
tools: ToolConfig[];
|
|
82
|
+
toolboxes: ToolboxConfig[];
|
|
83
|
+
routes?: (app: Hono) => void;
|
|
84
|
+
};
|
|
85
|
+
export interface ServiceManager {
|
|
86
|
+
shutdown: () => Promise<void>;
|
|
87
|
+
address: () => {
|
|
88
|
+
port: number;
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
export interface DAINPlugin {
|
|
92
|
+
initialize: (service: DAINService) => Promise<void>;
|
|
93
|
+
}
|
|
94
|
+
export type ServerEnvironment = "node" | "deno" | "cloudflare" | "custom";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/service/types.ts"],"names":[],"mappings":";AAAA,6BAA6B"}
|
package/package.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dainprotocol/service-sdk",
|
|
3
|
+
"version": "1.0.3",
|
|
4
|
+
"description": "DAIN Service SDK",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": "./dist/index.js",
|
|
9
|
+
"./client": "./dist/client/index.js",
|
|
10
|
+
"./service": "./dist/service/index.js",
|
|
11
|
+
"./client/*": "./dist/client/*.js",
|
|
12
|
+
"./service/*": "./dist/service/*.js"
|
|
13
|
+
},
|
|
14
|
+
"typesVersions": {
|
|
15
|
+
"*": {
|
|
16
|
+
".": ["./dist/index.d.ts"],
|
|
17
|
+
"client": ["./dist/client/index.d.ts"],
|
|
18
|
+
"service": ["./dist/service/index.d.ts"],
|
|
19
|
+
"client/*": ["./dist/client/*.d.ts"],
|
|
20
|
+
"service/*": ["./dist/service/*.d.ts"]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"scripts": {
|
|
24
|
+
"build": "tsc",
|
|
25
|
+
"build:types": "tsc --emitDeclarationOnly",
|
|
26
|
+
"test": "jest",
|
|
27
|
+
"test:watch": "jest --watch",
|
|
28
|
+
"prepublishOnly": "npm run build && npm run build:types"
|
|
29
|
+
},
|
|
30
|
+
"keywords": ["dain", "sdk", "ai"],
|
|
31
|
+
"author": "Ryan",
|
|
32
|
+
"license": "ISC",
|
|
33
|
+
"devDependencies": {
|
|
34
|
+
"@types/express": "^4.17.21",
|
|
35
|
+
"@types/jest": "^29.5.12",
|
|
36
|
+
"jest": "^29.7.0",
|
|
37
|
+
"ts-jest": "^29.1.5",
|
|
38
|
+
"typescript": "^5.0.0"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@ai-sdk/anthropic": "^0.0.23",
|
|
42
|
+
"@ai-sdk/openai": "^0.0.33",
|
|
43
|
+
"@hono/node-server": "^1.12.0",
|
|
44
|
+
"@noble/curves": "^1.4.0",
|
|
45
|
+
"@noble/hashes": "^1.4.0",
|
|
46
|
+
"@types/body-parser": "^1.19.5",
|
|
47
|
+
"@types/bs58": "^4.0.4",
|
|
48
|
+
"@types/supertest": "^6.0.2",
|
|
49
|
+
"ai": "^3.2.5",
|
|
50
|
+
"axios": "^1.7.2",
|
|
51
|
+
"body-parser": "^1.20.2",
|
|
52
|
+
"bs58": "^5.0.0",
|
|
53
|
+
"express": "^4.19.2",
|
|
54
|
+
"hono": "^4.4.13",
|
|
55
|
+
"supertest": "^7.0.0",
|
|
56
|
+
"tslib": "^2.6.3",
|
|
57
|
+
"zod": "^3.23.8"
|
|
58
|
+
},
|
|
59
|
+
"files": [
|
|
60
|
+
"dist",
|
|
61
|
+
"README.md"
|
|
62
|
+
],
|
|
63
|
+
"engines": {
|
|
64
|
+
"node": "20.7.0"
|
|
65
|
+
}
|
|
66
|
+
}
|