@dainprotocol/service-sdk 2.0.78 → 2.0.80
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/api-sdk.d.ts +5 -42
- package/dist/client/api-sdk.js +130 -261
- package/dist/client/api-sdk.js.map +1 -1
- package/dist/client/client-auth.d.ts +1 -69
- package/dist/client/client-auth.js +26 -105
- package/dist/client/client-auth.js.map +1 -1
- package/dist/client/client.d.ts +25 -116
- package/dist/client/client.js +157 -758
- package/dist/client/client.js.map +1 -1
- package/dist/client/index.js +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.js +9 -14
- package/dist/client/types.js.map +1 -1
- package/dist/extensions/telegram-oauth.d.ts +6 -2
- package/dist/extensions/telegram-oauth.js +31 -333
- package/dist/extensions/telegram-oauth.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +12 -26
- package/dist/index.js.map +1 -1
- package/dist/interfaces/index.d.ts +2 -0
- package/dist/lib/convertToVercelTool.d.ts +11 -3
- package/dist/lib/convertToVercelTool.js +0 -1
- package/dist/lib/convertToVercelTool.js.map +1 -1
- package/dist/lib/payments/index.d.ts +14 -23
- package/dist/lib/payments/index.js +33 -47
- package/dist/lib/payments/index.js.map +1 -1
- package/dist/lib/schemaConversion.d.ts +0 -14
- package/dist/lib/schemaConversion.js +26 -56
- package/dist/lib/schemaConversion.js.map +1 -1
- package/dist/lib/schemaStructure.d.ts +1 -7
- package/dist/lib/schemaStructure.js +26 -57
- package/dist/lib/schemaStructure.js.map +1 -1
- package/dist/plugins/base.d.ts +1 -29
- package/dist/plugins/base.js +1 -33
- package/dist/plugins/base.js.map +1 -1
- package/dist/plugins/citations-plugin.d.ts +6 -81
- package/dist/plugins/citations-plugin.js +46 -161
- package/dist/plugins/citations-plugin.js.map +1 -1
- package/dist/plugins/crypto-plugin.d.ts +18 -123
- package/dist/plugins/crypto-plugin.js +41 -248
- package/dist/plugins/crypto-plugin.js.map +1 -1
- package/dist/plugins/time-plugin.d.ts +8 -90
- package/dist/plugins/time-plugin.js +24 -131
- package/dist/plugins/time-plugin.js.map +1 -1
- package/dist/plugins/types.d.ts +5 -36
- package/dist/service/auth.d.ts +1 -49
- package/dist/service/auth.js +21 -99
- package/dist/service/auth.js.map +1 -1
- package/dist/service/cloudflareService.js +5 -6
- package/dist/service/cloudflareService.js.map +1 -1
- package/dist/service/core.js +23 -54
- package/dist/service/core.js.map +1 -1
- package/dist/service/denoService.js +14 -18
- package/dist/service/denoService.js.map +1 -1
- package/dist/service/nextService.d.ts +7 -10
- package/dist/service/nextService.js +18 -65
- package/dist/service/nextService.js.map +1 -1
- package/dist/service/nodeService.d.ts +1 -1
- package/dist/service/nodeService.js +18 -30
- package/dist/service/nodeService.js.map +1 -1
- package/dist/service/processes.d.ts +34 -36
- package/dist/service/processes.js +133 -285
- package/dist/service/processes.js.map +1 -1
- package/dist/service/server.d.ts +2 -9
- package/dist/service/server.js +164 -430
- package/dist/service/server.js.map +1 -1
- package/dist/service/webhooks.d.ts +15 -172
- package/dist/service/webhooks.js +52 -184
- package/dist/service/webhooks.js.map +1 -1
- package/package.json +1 -1
package/dist/service/auth.js
CHANGED
|
@@ -54,24 +54,22 @@ function sanitizeHeaders(headers) {
|
|
|
54
54
|
const sanitizedHeaders = {};
|
|
55
55
|
for (const [key, value] of Object.entries(headers)) {
|
|
56
56
|
const upperKey = key.toUpperCase();
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
const isAllowedHeader = upperKey === "CONTENT-TYPE" || upperKey.startsWith("X-");
|
|
58
|
+
if (!isAllowedHeader)
|
|
59
|
+
continue;
|
|
60
|
+
if (typeof value === "string") {
|
|
59
61
|
sanitizedHeaders[upperKey] = value;
|
|
60
62
|
}
|
|
61
|
-
else if ((
|
|
62
|
-
|
|
63
|
-
value.length > 0) {
|
|
64
|
-
sanitizedHeaders[upperKey] = value.join(", "); // Convert array to comma-separated string
|
|
63
|
+
else if (Array.isArray(value) && value.length > 0) {
|
|
64
|
+
sanitizedHeaders[upperKey] = value.join(", ");
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
|
-
|
|
68
|
-
const sortedSanitizedHeaders = Object.keys(sanitizedHeaders)
|
|
67
|
+
return Object.keys(sanitizedHeaders)
|
|
69
68
|
.sort()
|
|
70
69
|
.reduce((acc, key) => {
|
|
71
70
|
acc[key] = sanitizedHeaders[key];
|
|
72
71
|
return acc;
|
|
73
72
|
}, {});
|
|
74
|
-
return sortedSanitizedHeaders;
|
|
75
73
|
}
|
|
76
74
|
function signResponse(privateKey, responseBody) {
|
|
77
75
|
const timestamp = Date.now().toString();
|
|
@@ -90,17 +88,14 @@ function verifyResponse(publicKey, responseBody, signature, timestamp) {
|
|
|
90
88
|
return false;
|
|
91
89
|
}
|
|
92
90
|
}
|
|
93
|
-
function verifyRequestSignature(signature, method, path, headers, body, address,
|
|
94
|
-
//TODO smartAccountPDA check
|
|
91
|
+
function verifyRequestSignature(signature, method, path, headers, body, address, _smartAccountPDA) {
|
|
95
92
|
const timestamp = headers["X-DAIN-TIMESTAMP"];
|
|
96
93
|
if (!timestamp) {
|
|
97
94
|
return false;
|
|
98
95
|
}
|
|
99
|
-
// remove x-dain-timestamp from headers
|
|
100
96
|
delete headers["X-DAIN-TIMESTAMP"];
|
|
101
|
-
//delete the signature from headers
|
|
102
97
|
delete headers["X-DAIN-SIGNATURE"];
|
|
103
|
-
const message = `${method.toUpperCase()}:${path}:${timestamp}:${body
|
|
98
|
+
const message = `${method.toUpperCase()}:${path}:${timestamp}:${body || "{}"}`;
|
|
104
99
|
return verifySignature(signature, message, address);
|
|
105
100
|
}
|
|
106
101
|
function isValidSolanaAddress(address) {
|
|
@@ -112,9 +107,8 @@ function isValidSolanaAddress(address) {
|
|
|
112
107
|
return false;
|
|
113
108
|
}
|
|
114
109
|
}
|
|
115
|
-
// Simple JWKS cache (public key strings)
|
|
116
110
|
const jwksCache = new Map();
|
|
117
|
-
const CACHE_TTL = 3600000;
|
|
111
|
+
const CACHE_TTL = 3600000;
|
|
118
112
|
function extractBearerToken(authHeader) {
|
|
119
113
|
if (!authHeader)
|
|
120
114
|
return null;
|
|
@@ -123,28 +117,21 @@ function extractBearerToken(authHeader) {
|
|
|
123
117
|
return null;
|
|
124
118
|
return parts[1];
|
|
125
119
|
}
|
|
126
|
-
/**
|
|
127
|
-
* Fetch public key from JWKS endpoint (with caching and security validation)
|
|
128
|
-
*/
|
|
129
120
|
async function fetchPublicKey(dainIdUrl) {
|
|
130
|
-
// SECURITY: Enforce HTTPS to prevent MITM attacks
|
|
131
121
|
if (!dainIdUrl.startsWith('https://')) {
|
|
132
122
|
throw new Error(`SECURITY: JWKS endpoint must use HTTPS. Got: ${dainIdUrl}. ` +
|
|
133
123
|
`Use https://id.dain.org for production.`);
|
|
134
124
|
}
|
|
135
|
-
// Check cache
|
|
136
125
|
const cached = jwksCache.get(dainIdUrl);
|
|
137
126
|
if (cached && Date.now() - cached.timestamp < CACHE_TTL) {
|
|
138
127
|
return cached.publicKey;
|
|
139
128
|
}
|
|
140
|
-
// Fetch JWKS
|
|
141
129
|
const jwksUrl = `${dainIdUrl}/api/oauth/.well-known/jwks.json`;
|
|
142
130
|
const response = await fetch(jwksUrl);
|
|
143
131
|
if (!response.ok) {
|
|
144
132
|
throw new Error(`Failed to fetch JWKS from ${jwksUrl}: ${response.status} ${response.statusText}`);
|
|
145
133
|
}
|
|
146
134
|
const jwks = await response.json();
|
|
147
|
-
// SECURITY: Validate JWKS structure
|
|
148
135
|
if (!jwks || typeof jwks !== 'object') {
|
|
149
136
|
throw new Error('Invalid JWKS response: not an object');
|
|
150
137
|
}
|
|
@@ -152,7 +139,6 @@ async function fetchPublicKey(dainIdUrl) {
|
|
|
152
139
|
throw new Error('Invalid JWKS response: missing or empty keys array');
|
|
153
140
|
}
|
|
154
141
|
const key = jwks.keys[0];
|
|
155
|
-
// SECURITY: Validate JWK format
|
|
156
142
|
if (!key || typeof key !== 'object') {
|
|
157
143
|
throw new Error('Invalid JWK: not an object');
|
|
158
144
|
}
|
|
@@ -165,15 +151,10 @@ async function fetchPublicKey(dainIdUrl) {
|
|
|
165
151
|
if (key.alg && key.alg !== 'RS256') {
|
|
166
152
|
throw new Error(`Invalid JWK: expected alg=RS256, got ${key.alg}`);
|
|
167
153
|
}
|
|
168
|
-
// Convert JWK to PEM
|
|
169
154
|
const publicKey = jwkToPem(key);
|
|
170
|
-
// Cache it
|
|
171
155
|
jwksCache.set(dainIdUrl, { publicKey, timestamp: Date.now() });
|
|
172
156
|
return publicKey;
|
|
173
157
|
}
|
|
174
|
-
/**
|
|
175
|
-
* Convert JWK to PEM format (simple RSA only)
|
|
176
|
-
*/
|
|
177
158
|
function jwkToPem(jwk) {
|
|
178
159
|
const crypto = require("crypto");
|
|
179
160
|
const keyObject = crypto.createPublicKey({ key: jwk, format: "jwk" });
|
|
@@ -181,29 +162,20 @@ function jwkToPem(jwk) {
|
|
|
181
162
|
}
|
|
182
163
|
async function verifyJWT(token, publicKeyPEMOrUrl, options) {
|
|
183
164
|
try {
|
|
184
|
-
// Fetch public key if URL provided
|
|
185
165
|
const publicKey = publicKeyPEMOrUrl.startsWith("http")
|
|
186
166
|
? await fetchPublicKey(publicKeyPEMOrUrl)
|
|
187
167
|
: publicKeyPEMOrUrl;
|
|
188
|
-
// Normalize audience to accept both http:// and https://
|
|
189
|
-
// This handles cases where tokens are issued with one protocol but services are accessed via another
|
|
190
168
|
let normalizedAudience = options?.audience;
|
|
191
169
|
if (options?.audience) {
|
|
192
170
|
try {
|
|
193
171
|
const audienceUrl = new URL(options.audience);
|
|
194
172
|
const host = audienceUrl.host;
|
|
195
|
-
|
|
196
|
-
normalizedAudience = [
|
|
197
|
-
`http://${host}`,
|
|
198
|
-
`https://${host}`
|
|
199
|
-
];
|
|
173
|
+
normalizedAudience = [`http://${host}`, `https://${host}`];
|
|
200
174
|
}
|
|
201
|
-
catch
|
|
202
|
-
// If URL parsing fails, use original audience
|
|
175
|
+
catch {
|
|
203
176
|
normalizedAudience = options.audience;
|
|
204
177
|
}
|
|
205
178
|
}
|
|
206
|
-
// Verify JWT
|
|
207
179
|
const payload = jsonwebtoken_1.default.verify(token, publicKey, {
|
|
208
180
|
algorithms: ["RS256"],
|
|
209
181
|
issuer: options?.issuer,
|
|
@@ -223,111 +195,61 @@ async function verifyJWT(token, publicKeyPEMOrUrl, options) {
|
|
|
223
195
|
};
|
|
224
196
|
}
|
|
225
197
|
}
|
|
226
|
-
/**
|
|
227
|
-
* Parse DAIN API key and extract agentId/orgId
|
|
228
|
-
* @param apiKey API key in format sk_agent_{agentId}_{orgId}_{secret}
|
|
229
|
-
* @returns Parsed API key or null if invalid
|
|
230
|
-
*/
|
|
231
198
|
function parseAPIKey(apiKey) {
|
|
232
199
|
if (!apiKey || !apiKey.startsWith('sk_agent_')) {
|
|
233
200
|
return null;
|
|
234
201
|
}
|
|
235
202
|
const parts = apiKey.split('_');
|
|
236
|
-
// Format: ['sk', 'agent', agentId, orgId, ...rest]
|
|
237
203
|
if (parts.length < 5) {
|
|
238
204
|
return null;
|
|
239
205
|
}
|
|
240
206
|
const agentId = parts[2];
|
|
241
207
|
const orgId = parts[3];
|
|
242
|
-
const secret = parts.slice(4).join('_');
|
|
208
|
+
const secret = parts.slice(4).join('_');
|
|
243
209
|
if (!agentId || !orgId || !secret) {
|
|
244
210
|
return null;
|
|
245
211
|
}
|
|
246
|
-
return {
|
|
247
|
-
agentId,
|
|
248
|
-
orgId,
|
|
249
|
-
secret,
|
|
250
|
-
raw: apiKey
|
|
251
|
-
};
|
|
212
|
+
return { agentId, orgId, secret, raw: apiKey };
|
|
252
213
|
}
|
|
253
|
-
/**
|
|
254
|
-
* Validate API key format (does NOT verify with platform)
|
|
255
|
-
* @param apiKey API key to validate
|
|
256
|
-
* @returns true if format is valid
|
|
257
|
-
*/
|
|
258
214
|
function isValidAPIKeyFormat(apiKey) {
|
|
259
215
|
return parseAPIKey(apiKey) !== null;
|
|
260
216
|
}
|
|
261
|
-
/**
|
|
262
|
-
* Extract X-DAIN-API-KEY header
|
|
263
|
-
*/
|
|
264
217
|
function extractAPIKey(headers) {
|
|
265
|
-
|
|
266
|
-
return apiKey || null;
|
|
218
|
+
return headers['x-dain-api-key'] || headers['X-DAIN-API-KEY'] || null;
|
|
267
219
|
}
|
|
268
|
-
/**
|
|
269
|
-
* Validate API key with platform
|
|
270
|
-
* @param apiKey API key to validate
|
|
271
|
-
* @param platformBaseUrl Platform base URL (e.g., https://platform.dain.org)
|
|
272
|
-
* @returns true if valid, false otherwise
|
|
273
|
-
*/
|
|
274
220
|
async function validateAPIKeyWithPlatform(apiKey, platformBaseUrl) {
|
|
275
221
|
try {
|
|
276
|
-
const
|
|
277
|
-
|
|
278
|
-
});
|
|
222
|
+
const url = `${platformBaseUrl}/api/app/services/keys/validate?api-key=${encodeURIComponent(apiKey)}`;
|
|
223
|
+
const response = await fetch(url, { method: 'GET' });
|
|
279
224
|
if (!response.ok) {
|
|
280
225
|
return false;
|
|
281
226
|
}
|
|
282
227
|
const result = await response.json();
|
|
283
|
-
return !!result.success;
|
|
228
|
+
return !!result.success;
|
|
284
229
|
}
|
|
285
230
|
catch (error) {
|
|
286
231
|
console.error('API key validation failed:', error);
|
|
287
232
|
return false;
|
|
288
233
|
}
|
|
289
234
|
}
|
|
290
|
-
// ============================================================================
|
|
291
|
-
// Scope Validation Functions
|
|
292
|
-
// ============================================================================
|
|
293
|
-
/**
|
|
294
|
-
* Check if a scope array contains a required scope
|
|
295
|
-
* Supports wildcard matching (e.g., "wallets.*" matches "wallets.read")
|
|
296
|
-
* @param scopes User's authorized scopes
|
|
297
|
-
* @param requiredScope Scope to check for
|
|
298
|
-
* @returns true if user has the required scope
|
|
299
|
-
*/
|
|
300
235
|
function hasScope(scopes, requiredScope) {
|
|
301
236
|
if (!scopes || scopes.length === 0)
|
|
302
237
|
return false;
|
|
303
|
-
// Direct match
|
|
304
238
|
if (scopes.includes(requiredScope))
|
|
305
239
|
return true;
|
|
306
|
-
|
|
240
|
+
if (scopes.includes('*'))
|
|
241
|
+
return true;
|
|
307
242
|
const parts = requiredScope.split('.');
|
|
308
243
|
for (let i = parts.length; i > 0; i--) {
|
|
309
244
|
const wildcardScope = parts.slice(0, i).join('.') + '.*';
|
|
310
245
|
if (scopes.includes(wildcardScope))
|
|
311
246
|
return true;
|
|
312
247
|
}
|
|
313
|
-
|
|
314
|
-
return scopes.includes('*');
|
|
248
|
+
return false;
|
|
315
249
|
}
|
|
316
|
-
/**
|
|
317
|
-
* Check if user has ALL required scopes
|
|
318
|
-
* @param scopes User's authorized scopes
|
|
319
|
-
* @param requiredScopes Array of required scopes
|
|
320
|
-
* @returns true if user has all required scopes
|
|
321
|
-
*/
|
|
322
250
|
function hasAllScopes(scopes, requiredScopes) {
|
|
323
251
|
return requiredScopes.every(scope => hasScope(scopes, scope));
|
|
324
252
|
}
|
|
325
|
-
/**
|
|
326
|
-
* Check if user has ANY of the required scopes
|
|
327
|
-
* @param scopes User's authorized scopes
|
|
328
|
-
* @param requiredScopes Array of required scopes
|
|
329
|
-
* @returns true if user has at least one required scope
|
|
330
|
-
*/
|
|
331
253
|
function hasAnyScope(scopes, requiredScopes) {
|
|
332
254
|
return requiredScopes.some(scope => hasScope(scopes, scope));
|
|
333
255
|
}
|
package/dist/service/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/service/auth.ts"],"names":[],"mappings":";AAAA,4BAA4B;;AAQ5B,0DAMC;AAED,4CAKC;AAED,0CAeC;AAED,
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/service/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,14 +5,13 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const service_1 = require("./service");
|
|
6
6
|
function defineDAINService(config) {
|
|
7
7
|
const baseService = (0, service_1.createBaseDAINService)(config);
|
|
8
|
-
const startWorkers = () => {
|
|
9
|
-
const service = baseService.startService();
|
|
10
|
-
console.log(`DAIN Service exported to cloudflare workers with version ${config.metadata.version}`);
|
|
11
|
-
return service.fetch;
|
|
12
|
-
};
|
|
13
8
|
return {
|
|
14
9
|
...baseService,
|
|
15
|
-
startWorkers
|
|
10
|
+
startWorkers: () => {
|
|
11
|
+
const service = baseService.startService();
|
|
12
|
+
console.log(`DAIN Service exported to cloudflare workers with version ${config.metadata.version}`);
|
|
13
|
+
return service.fetch;
|
|
14
|
+
},
|
|
16
15
|
};
|
|
17
16
|
}
|
|
18
17
|
tslib_1.__exportStar(require("./types"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudflareService.js","sourceRoot":"","sources":["../../src/service/cloudflareService.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"cloudflareService.js","sourceRoot":"","sources":["../../src/service/cloudflareService.ts"],"names":[],"mappings":";;AAGA,8CAWC;;AAbD,uCAAkD;AAElD,SAAgB,iBAAiB,CAAC,MAAyB;IACzD,MAAM,WAAW,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,CAAC;IAElD,OAAO;QACL,GAAG,WAAW;QACd,YAAY,EAAE,GAAG,EAAE;YACjB,MAAM,OAAO,GAAG,WAAW,CAAC,YAAa,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,4DAA4D,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACnG,OAAO,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC;KACa,CAAC;AACnB,CAAC;AAED,kDAAwB"}
|
package/dist/service/core.js
CHANGED
|
@@ -20,12 +20,28 @@ exports.createToolWithInterface = createToolWithInterface;
|
|
|
20
20
|
exports.createOAuth2Tool = createOAuth2Tool;
|
|
21
21
|
exports.toSlug = toSlug;
|
|
22
22
|
const zod_1 = require("zod");
|
|
23
|
+
async function expandProcessIds(processes, context) {
|
|
24
|
+
if (!processes?.length)
|
|
25
|
+
return undefined;
|
|
26
|
+
if (typeof processes[0] === "string") {
|
|
27
|
+
return Promise.all(processes.map(async (processId) => {
|
|
28
|
+
const processInfo = await context.app.processes.getProcess(processId);
|
|
29
|
+
if (!processInfo)
|
|
30
|
+
throw new Error(`Process ${processId} not found`);
|
|
31
|
+
return {
|
|
32
|
+
id: processId,
|
|
33
|
+
name: processInfo.name,
|
|
34
|
+
description: processInfo.description,
|
|
35
|
+
type: processInfo.type,
|
|
36
|
+
};
|
|
37
|
+
}));
|
|
38
|
+
}
|
|
39
|
+
return processes;
|
|
40
|
+
}
|
|
23
41
|
function createTool(config) {
|
|
24
|
-
// Validate the config
|
|
25
42
|
if (!config.id || !config.name || !config.description) {
|
|
26
43
|
throw new Error("Tool config is missing required fields");
|
|
27
44
|
}
|
|
28
|
-
// Ensure the handler respects the input and output schemas
|
|
29
45
|
const wrappedHandler = async (input, agentInfo, context) => {
|
|
30
46
|
let parsedInput;
|
|
31
47
|
try {
|
|
@@ -33,38 +49,20 @@ function createTool(config) {
|
|
|
33
49
|
}
|
|
34
50
|
catch (error) {
|
|
35
51
|
if (error instanceof zod_1.z.ZodError) {
|
|
36
|
-
// Log validation error with input details
|
|
37
52
|
console.error(`[${config.id}] Input validation failed:`, {
|
|
38
53
|
received: input,
|
|
39
54
|
errors: error.issues
|
|
40
55
|
});
|
|
41
56
|
if (config.handleInputError) {
|
|
42
57
|
const errorResult = await config.handleInputError(error, agentInfo, context);
|
|
43
|
-
|
|
44
|
-
let expandedProcesses;
|
|
45
|
-
if (errorResult.processes?.length) {
|
|
46
|
-
expandedProcesses = await Promise.all(errorResult.processes.map(async (process) => {
|
|
47
|
-
if (typeof process === "string") {
|
|
48
|
-
const processInfo = await context.app.processes.getProcess(process);
|
|
49
|
-
return {
|
|
50
|
-
id: process,
|
|
51
|
-
name: processInfo.name,
|
|
52
|
-
description: processInfo.description,
|
|
53
|
-
type: processInfo.type,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
return process;
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
58
|
+
const expandedProcesses = await expandProcessIds(errorResult.processes, context);
|
|
59
59
|
return {
|
|
60
60
|
success: errorResult.success ?? false,
|
|
61
61
|
...errorResult,
|
|
62
62
|
processes: expandedProcesses,
|
|
63
63
|
};
|
|
64
64
|
}
|
|
65
|
-
const missingParams = error.issues
|
|
66
|
-
.map((issue) => issue.path.join("."))
|
|
67
|
-
.join(", ");
|
|
65
|
+
const missingParams = error.issues.map((issue) => issue.path.join(".")).join(", ");
|
|
68
66
|
return {
|
|
69
67
|
success: false,
|
|
70
68
|
text: `Error: Missing or invalid parameters for this tool call- '${missingParams}', Please ask the user to provide the missing values, or try again with the correct parameters.`,
|
|
@@ -77,7 +75,6 @@ function createTool(config) {
|
|
|
77
75
|
}
|
|
78
76
|
throw error;
|
|
79
77
|
}
|
|
80
|
-
// Pass through the context with proper optional handling
|
|
81
78
|
const toolContext = {
|
|
82
79
|
app: context.app,
|
|
83
80
|
oauth2Client: context?.oauth2Client,
|
|
@@ -86,27 +83,7 @@ function createTool(config) {
|
|
|
86
83
|
addProcess: context?.addProcess,
|
|
87
84
|
};
|
|
88
85
|
const result = await config.handler(parsedInput, agentInfo, toolContext);
|
|
89
|
-
|
|
90
|
-
let expandedProcesses;
|
|
91
|
-
if (Array.isArray(result.processes)) {
|
|
92
|
-
if (result.processes.length > 0 &&
|
|
93
|
-
typeof result.processes[0] === "string") {
|
|
94
|
-
expandedProcesses = await Promise.all(result.processes.map(async (processId) => {
|
|
95
|
-
const processInfo = await context.app.processes.getProcess(processId);
|
|
96
|
-
if (!processInfo)
|
|
97
|
-
throw new Error(`Process ${processId} not found`);
|
|
98
|
-
return {
|
|
99
|
-
id: processId,
|
|
100
|
-
name: processInfo.name,
|
|
101
|
-
description: processInfo.description,
|
|
102
|
-
type: processInfo.type,
|
|
103
|
-
};
|
|
104
|
-
}));
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
expandedProcesses = result.processes;
|
|
108
|
-
}
|
|
109
|
-
}
|
|
86
|
+
const expandedProcesses = await expandProcessIds(result.processes, toolContext);
|
|
110
87
|
return {
|
|
111
88
|
success: result.success ?? true,
|
|
112
89
|
text: result.text,
|
|
@@ -122,11 +99,9 @@ function createTool(config) {
|
|
|
122
99
|
};
|
|
123
100
|
}
|
|
124
101
|
function createService(config) {
|
|
125
|
-
// Validate the config
|
|
126
102
|
if (!config.id || !config.name || !config.description) {
|
|
127
103
|
throw new Error("Service config is missing required fields");
|
|
128
104
|
}
|
|
129
|
-
// Validate metadata
|
|
130
105
|
if (!config.metadata.capabilities || !config.metadata.languages) {
|
|
131
106
|
throw new Error("Service metadata is incomplete");
|
|
132
107
|
}
|
|
@@ -142,7 +117,6 @@ function createDatasource(config) {
|
|
|
142
117
|
return config;
|
|
143
118
|
}
|
|
144
119
|
function createAgent(config) {
|
|
145
|
-
// Validate the config
|
|
146
120
|
if (!config.id || !config.name || !config.prompt) {
|
|
147
121
|
throw new Error("Agent config is missing required fields");
|
|
148
122
|
}
|
|
@@ -154,18 +128,13 @@ function createAgent(config) {
|
|
|
154
128
|
function createWidget(config) {
|
|
155
129
|
return {
|
|
156
130
|
...config,
|
|
157
|
-
size: config.size || "sm",
|
|
131
|
+
size: config.size || "sm",
|
|
158
132
|
};
|
|
159
133
|
}
|
|
160
134
|
function createToolbox(config) {
|
|
161
|
-
|
|
162
|
-
if (!config.id ||
|
|
163
|
-
!config.name ||
|
|
164
|
-
!config.description ||
|
|
165
|
-
!config.tools.length) {
|
|
135
|
+
if (!config.id || !config.name || !config.description || !config.tools.length) {
|
|
166
136
|
throw new Error("Toolbox config is missing required fields");
|
|
167
137
|
}
|
|
168
|
-
// Validate metadata
|
|
169
138
|
if (!config.metadata.complexity || !config.metadata.applicableFields) {
|
|
170
139
|
throw new Error("Toolbox metadata is incomplete");
|
|
171
140
|
}
|
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;;;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/service/core.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,26 +5,22 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const service_1 = require("./service");
|
|
6
6
|
function defineDAINService(config) {
|
|
7
7
|
const baseService = (0, service_1.createBaseDAINService)(config);
|
|
8
|
-
const startDeno = async (options = {
|
|
9
|
-
port: 8787,
|
|
10
|
-
}) => {
|
|
11
|
-
const service = baseService.startService();
|
|
12
|
-
const { port } = options;
|
|
13
|
-
//@ts-ignore Deno.listen is not yet typed if not in a Deno environment
|
|
14
|
-
const server = Deno.listen({ port });
|
|
15
|
-
console.log(`Server is listening on port ${port} -- Deno Environment`);
|
|
16
|
-
console.log(`DAIN Service is running on version ${config.metadata.version}`);
|
|
17
|
-
return {
|
|
18
|
-
address: () => ({ port }),
|
|
19
|
-
shutdown: async () => {
|
|
20
|
-
console.log("Shutting down DAIN service...");
|
|
21
|
-
server.close();
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
};
|
|
25
8
|
return {
|
|
26
9
|
...baseService,
|
|
27
|
-
startDeno
|
|
10
|
+
startDeno: async (options = { port: 8787 }) => {
|
|
11
|
+
baseService.startService();
|
|
12
|
+
const port = options.port;
|
|
13
|
+
const server = Deno.listen({ port });
|
|
14
|
+
console.log(`Server is listening on port ${port} -- Deno Environment`);
|
|
15
|
+
console.log(`DAIN Service is running on version ${config.metadata.version}`);
|
|
16
|
+
return {
|
|
17
|
+
address: () => ({ port }),
|
|
18
|
+
shutdown: async () => {
|
|
19
|
+
console.log("Shutting down DAIN service...");
|
|
20
|
+
server.close();
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
},
|
|
28
24
|
};
|
|
29
25
|
}
|
|
30
26
|
tslib_1.__exportStar(require("./types"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"denoService.js","sourceRoot":"","sources":["../../src/service/denoService.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"denoService.js","sourceRoot":"","sources":["../../src/service/denoService.ts"],"names":[],"mappings":";;AAKA,8CAsBC;;AA1BD,uCAAkD;AAIlD,SAAgB,iBAAiB,CAAC,MAAyB;IACzD,MAAM,WAAW,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,CAAC;IAElD,OAAO;QACL,GAAG,WAAW;QACd,SAAS,EAAE,KAAK,EAAE,UAA6B,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE;YAC/D,WAAW,CAAC,YAAa,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAK,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YAErC,OAAO,CAAC,GAAG,CAAC,+BAA+B,IAAI,sBAAsB,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,sCAAsC,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YAE7E,OAAO;gBACL,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACzB,QAAQ,EAAE,KAAK,IAAI,EAAE;oBACnB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;oBAC7C,MAAM,CAAC,KAAK,EAAE,CAAC;gBACjB,CAAC;aACF,CAAC;QACJ,CAAC;KACa,CAAC;AACnB,CAAC;AAED,kDAAwB"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import { DAINServiceConfig, DAINService } from "./types";
|
|
2
|
-
import { createTool, createService, createToolbox, CoreUtils, createOAuth2Tool } from "./core";
|
|
3
2
|
import { ProcessHandler, RedisProcessStore, MemoryProcessStore } from "./processes";
|
|
3
|
+
import { createTool, createService, createToolbox, CoreUtils, createOAuth2Tool } from "./core";
|
|
4
4
|
type NextRequest = Request & {
|
|
5
5
|
nextUrl: URL;
|
|
6
|
-
cookies:
|
|
6
|
+
cookies: unknown;
|
|
7
7
|
headers: Headers;
|
|
8
8
|
};
|
|
9
9
|
export interface NextDAINServiceOptions {
|
|
10
10
|
basePath?: string;
|
|
11
11
|
}
|
|
12
|
+
type NextHandler = (request: NextRequest, context?: {
|
|
13
|
+
params?: Record<string, string | string[]>;
|
|
14
|
+
}) => Promise<Response>;
|
|
12
15
|
export declare function createNextDainService(config: DAINServiceConfig): DAINService & {
|
|
13
|
-
createHandler: (options?: NextDAINServiceOptions) =>
|
|
14
|
-
createHandlers: (options?: NextDAINServiceOptions) =>
|
|
15
|
-
GET: (request: NextRequest, context?: any) => Promise<Response>;
|
|
16
|
-
POST: (request: NextRequest, context?: any) => Promise<Response>;
|
|
17
|
-
PUT: (request: NextRequest, context?: any) => Promise<Response>;
|
|
18
|
-
DELETE: (request: NextRequest, context?: any) => Promise<Response>;
|
|
19
|
-
OPTIONS: (request: NextRequest, context?: any) => Promise<Response>;
|
|
20
|
-
};
|
|
16
|
+
createHandler: (options?: NextDAINServiceOptions) => NextHandler;
|
|
17
|
+
createHandlers: (options?: NextDAINServiceOptions) => Record<'GET' | 'POST' | 'PUT' | 'DELETE' | 'OPTIONS', NextHandler>;
|
|
21
18
|
};
|
|
22
19
|
export { createTool, createService, createToolbox, CoreUtils, createOAuth2Tool, ProcessHandler, RedisProcessStore, MemoryProcessStore, };
|
|
23
20
|
export * from "./types";
|