@mcoda/mswarm 0.1.60 → 0.1.61
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/codali-executor.d.ts +12 -0
- package/dist/codali-executor.d.ts.map +1 -1
- package/dist/codali-executor.js +18 -2
- package/dist/codali-executor.js.map +1 -1
- package/dist/runtime.d.ts +10 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +87 -8
- package/dist/runtime.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +13 -2
- package/dist/server.js.map +1 -1
- package/dist/vendor/codali/docdex/DocdexClient.d.ts +45 -0
- package/dist/vendor/codali/docdex/DocdexClient.d.ts.map +1 -1
- package/dist/vendor/codali/docdex/DocdexClient.js +290 -29
- package/dist/vendor/codali/runtime/CodaliRuntime.d.ts +6 -0
- package/dist/vendor/codali/runtime/CodaliRuntime.d.ts.map +1 -1
- package/dist/vendor/codali/runtime/CodaliRuntime.js +73 -1
- package/dist/vendor/codali/tools/ToolRegistry.d.ts.map +1 -1
- package/dist/vendor/codali/tools/ToolRegistry.js +30 -0
- package/dist/vendor/codali/tools/ToolTypes.d.ts +1 -1
- package/dist/vendor/codali/tools/ToolTypes.d.ts.map +1 -1
- package/dist/vendor/codali/tools/ToolTypes.js +8 -0
- package/dist/vendor/codali/tools/docdex/DocdexTools.d.ts.map +1 -1
- package/dist/vendor/codali/tools/docdex/DocdexTools.js +37 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../src/tools/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EAGzB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../src/tools/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,cAAc,EAGnB,KAAK,mBAAmB,EAGzB,MAAM,gBAAgB,CAAC;AAwQxB,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAqC;IAElD,QAAQ,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAOpC,IAAI,IAAI,cAAc,EAAE;IAIxB,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC,CAAC;IAQzE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAkC/F"}
|
|
@@ -194,11 +194,41 @@ const PERMISSION_DENIED_PATTERNS = [
|
|
|
194
194
|
"eacces",
|
|
195
195
|
"eperm",
|
|
196
196
|
];
|
|
197
|
+
const PRESERVED_ERROR_CODES = new Set([
|
|
198
|
+
"tool_unknown",
|
|
199
|
+
"tool_schema_invalid",
|
|
200
|
+
"tool_invalid_args",
|
|
201
|
+
"tool_permission_denied",
|
|
202
|
+
"tool_timeout",
|
|
203
|
+
"tool_execution_failed",
|
|
204
|
+
"docdex_context_missing",
|
|
205
|
+
"docdex_api_key_missing",
|
|
206
|
+
"docdex_operation_not_allowed",
|
|
207
|
+
"docdex_auth_failed",
|
|
208
|
+
"docdex_repo_access_denied",
|
|
209
|
+
"docdex_unavailable",
|
|
210
|
+
]);
|
|
211
|
+
const preservedErrorCode = (error) => {
|
|
212
|
+
if (!isObject(error))
|
|
213
|
+
return undefined;
|
|
214
|
+
const code = error.code;
|
|
215
|
+
return typeof code === "string" && PRESERVED_ERROR_CODES.has(code)
|
|
216
|
+
? code
|
|
217
|
+
: undefined;
|
|
218
|
+
};
|
|
197
219
|
const normalizeExecutionError = (error) => {
|
|
198
220
|
if (error instanceof ToolExecutionError) {
|
|
199
221
|
return error.toToolError();
|
|
200
222
|
}
|
|
223
|
+
const explicitCode = preservedErrorCode(error);
|
|
201
224
|
const message = error instanceof Error ? error.message : String(error);
|
|
225
|
+
if (explicitCode) {
|
|
226
|
+
const retryable = isObject(error) && typeof error.retryable === "boolean"
|
|
227
|
+
? error.retryable
|
|
228
|
+
: explicitCode === "tool_timeout" || explicitCode === "docdex_unavailable";
|
|
229
|
+
const details = isObject(error) && isObject(error.details) ? error.details : undefined;
|
|
230
|
+
return buildToolError(explicitCode, message, { retryable, details });
|
|
231
|
+
}
|
|
202
232
|
const normalized = message.toLowerCase();
|
|
203
233
|
if (normalized.includes("timeout") || normalized.includes("timed out") || normalized.includes("etimedout")) {
|
|
204
234
|
return buildToolError("tool_timeout", message, { retryable: true });
|
|
@@ -27,7 +27,7 @@ export interface ToolInputSchema extends ToolSchemaDefinition {
|
|
|
27
27
|
properties?: Record<string, ToolSchemaDefinition>;
|
|
28
28
|
required?: string[];
|
|
29
29
|
}
|
|
30
|
-
export type ToolErrorCode = "tool_unknown" | "tool_schema_invalid" | "tool_invalid_args" | "tool_permission_denied" | "tool_timeout" | "tool_execution_failed";
|
|
30
|
+
export type ToolErrorCode = "tool_unknown" | "tool_schema_invalid" | "tool_invalid_args" | "tool_permission_denied" | "tool_timeout" | "tool_execution_failed" | "docdex_context_missing" | "docdex_api_key_missing" | "docdex_operation_not_allowed" | "docdex_auth_failed" | "docdex_repo_access_denied" | "docdex_unavailable";
|
|
31
31
|
export type ToolErrorCategory = "lookup" | "schema" | "validation" | "permission" | "timeout" | "execution";
|
|
32
32
|
export interface ToolError {
|
|
33
33
|
code: ToolErrorCode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolTypes.d.ts","sourceRoot":"","sources":["../../src/tools/ToolTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,uBAAuB,GAC/B,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,QAAQ,GACR,OAAO,GACP,MAAM,CAAC;AAEX,MAAM,WAAW,oBAAqB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnE,IAAI,CAAC,EAAE,uBAAuB,GAAG,uBAAuB,EAAE,CAAC;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,oBAAoB,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAgB,SAAQ,oBAAoB;IAC3D,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,qBAAqB,GACrB,mBAAmB,GACnB,wBAAwB,GACxB,cAAc,GACd,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ToolTypes.d.ts","sourceRoot":"","sources":["../../src/tools/ToolTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,5 +28,13 @@ export const toolErrorCategoryForCode = (code) => {
|
|
|
28
28
|
return "permission";
|
|
29
29
|
if (code === "tool_timeout")
|
|
30
30
|
return "timeout";
|
|
31
|
+
if (code === "docdex_context_missing")
|
|
32
|
+
return "validation";
|
|
33
|
+
if (code === "docdex_api_key_missing" ||
|
|
34
|
+
code === "docdex_operation_not_allowed" ||
|
|
35
|
+
code === "docdex_auth_failed" ||
|
|
36
|
+
code === "docdex_repo_access_denied") {
|
|
37
|
+
return "permission";
|
|
38
|
+
}
|
|
31
39
|
return "execution";
|
|
32
40
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DocdexTools.d.ts","sourceRoot":"","sources":["../../../src/tools/docdex/DocdexTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAOjE,eAAO,MAAM,iBAAiB,GAAI,QAAQ,YAAY,KAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"DocdexTools.d.ts","sourceRoot":"","sources":["../../../src/tools/docdex/DocdexTools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAOjE,eAAO,MAAM,iBAAiB,GAAI,QAAQ,YAAY,KAAG,cAAc,EA8iBtE,CAAC"}
|
|
@@ -286,6 +286,43 @@ export const createDocdexTools = (client) => [
|
|
|
286
286
|
return toOutput(result);
|
|
287
287
|
},
|
|
288
288
|
},
|
|
289
|
+
{
|
|
290
|
+
name: "docdex_chat_context",
|
|
291
|
+
description: "Ask docdex OpenAI-compatible chat with repo/profile/wake-up context.",
|
|
292
|
+
inputSchema: {
|
|
293
|
+
type: "object",
|
|
294
|
+
required: ["messages"],
|
|
295
|
+
properties: {
|
|
296
|
+
messages: {
|
|
297
|
+
type: "array",
|
|
298
|
+
items: {
|
|
299
|
+
type: "object",
|
|
300
|
+
required: ["role", "content"],
|
|
301
|
+
properties: {
|
|
302
|
+
role: { type: "string" },
|
|
303
|
+
content: {
|
|
304
|
+
anyOf: [
|
|
305
|
+
{ type: "string" },
|
|
306
|
+
{ type: "array", items: { type: "object" } },
|
|
307
|
+
],
|
|
308
|
+
},
|
|
309
|
+
name: { type: "string" },
|
|
310
|
+
tool_call_id: { type: "string" },
|
|
311
|
+
},
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
model: { type: "string" },
|
|
315
|
+
maxTokens: { type: "number" },
|
|
316
|
+
temperature: { type: "number" },
|
|
317
|
+
docdex: { type: "object" },
|
|
318
|
+
},
|
|
319
|
+
},
|
|
320
|
+
handler: async (args) => {
|
|
321
|
+
const { messages, model, maxTokens, temperature, docdex } = args;
|
|
322
|
+
const result = await client.chatContext(messages, { model, maxTokens, temperature, docdex });
|
|
323
|
+
return toOutput(result);
|
|
324
|
+
},
|
|
325
|
+
},
|
|
289
326
|
{
|
|
290
327
|
name: "docdex_rerank",
|
|
291
328
|
description: "Rerank candidate hits using docdex optional rerank flow.",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcoda/mswarm",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.61",
|
|
4
4
|
"description": "Owner-run mswarm node for exposing local mcoda agents through the mswarm self-hosted gateway.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/server.js",
|
|
@@ -44,8 +44,8 @@
|
|
|
44
44
|
},
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"fastify": "^5.7.4",
|
|
47
|
-
"@mcoda/
|
|
48
|
-
"@mcoda/
|
|
47
|
+
"@mcoda/shared": "0.1.61",
|
|
48
|
+
"@mcoda/db": "0.1.61"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"build": "pnpm --filter @mcoda/codali run build && tsc -p tsconfig.json && node ../../scripts/copy-mswarm-codali-vendor.js",
|