@dexto/core 1.5.6 → 1.5.8
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/agent/DextoAgent.cjs +189 -30
- package/dist/agent/DextoAgent.d.ts +44 -9
- package/dist/agent/DextoAgent.d.ts.map +1 -1
- package/dist/agent/DextoAgent.js +190 -31
- package/dist/agent/schemas.cjs +5 -0
- package/dist/agent/schemas.d.ts +456 -66
- package/dist/agent/schemas.d.ts.map +1 -1
- package/dist/agent/schemas.js +5 -0
- package/dist/context/manager.cjs +1 -1
- package/dist/context/manager.js +1 -1
- package/dist/context/utils.cjs +90 -17
- package/dist/context/utils.d.ts.map +1 -1
- package/dist/context/utils.js +90 -17
- package/dist/errors/types.cjs +2 -1
- package/dist/errors/types.d.ts +2 -1
- package/dist/errors/types.d.ts.map +1 -1
- package/dist/errors/types.js +2 -1
- package/dist/events/index.cjs +4 -1
- package/dist/events/index.d.ts +37 -2
- package/dist/events/index.d.ts.map +1 -1
- package/dist/events/index.js +4 -1
- package/dist/image/types.d.ts +15 -0
- package/dist/image/types.d.ts.map +1 -1
- package/dist/index.browser.d.ts +1 -1
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/llm/curation-config.cjs +82 -0
- package/dist/llm/curation-config.d.ts +13 -0
- package/dist/llm/curation-config.d.ts.map +1 -0
- package/dist/llm/curation-config.js +59 -0
- package/dist/llm/curation.cjs +57 -0
- package/dist/llm/curation.d.ts +16 -0
- package/dist/llm/curation.d.ts.map +1 -0
- package/dist/llm/curation.js +34 -0
- package/dist/llm/error-codes.cjs +1 -0
- package/dist/llm/error-codes.d.ts +1 -0
- package/dist/llm/error-codes.d.ts.map +1 -1
- package/dist/llm/error-codes.js +1 -0
- package/dist/llm/errors.cjs +16 -1
- package/dist/llm/errors.d.ts +15 -8
- package/dist/llm/errors.d.ts.map +1 -1
- package/dist/llm/errors.js +16 -1
- package/dist/llm/executor/provider-options.cjs +1 -1
- package/dist/llm/executor/provider-options.js +1 -1
- package/dist/llm/executor/turn-executor.cjs +35 -2
- package/dist/llm/executor/turn-executor.d.ts.map +1 -1
- package/dist/llm/executor/turn-executor.js +35 -2
- package/dist/llm/index.cjs +14 -3
- package/dist/llm/index.d.ts +3 -1
- package/dist/llm/index.d.ts.map +1 -1
- package/dist/llm/index.js +13 -2
- package/dist/llm/registry/auto-update.cjs +263 -0
- package/dist/llm/registry/auto-update.d.ts +27 -0
- package/dist/llm/registry/auto-update.d.ts.map +1 -0
- package/dist/llm/registry/auto-update.js +227 -0
- package/dist/llm/registry/index.cjs +806 -0
- package/dist/llm/{registry.d.ts → registry/index.d.ts} +67 -13
- package/dist/llm/registry/index.d.ts.map +1 -0
- package/dist/llm/registry/index.js +756 -0
- package/dist/llm/registry/models.generated.cjs +4861 -0
- package/dist/llm/registry/models.generated.d.ts +431 -0
- package/dist/llm/registry/models.generated.d.ts.map +1 -0
- package/dist/llm/registry/models.generated.js +4838 -0
- package/dist/llm/registry/models.manual.cjs +44 -0
- package/dist/llm/registry/models.manual.d.ts +22 -0
- package/dist/llm/registry/models.manual.d.ts.map +1 -0
- package/dist/llm/registry/models.manual.js +21 -0
- package/dist/llm/registry/sync.cjs +354 -0
- package/dist/llm/registry/sync.d.ts +41 -0
- package/dist/llm/registry/sync.d.ts.map +1 -0
- package/dist/llm/registry/sync.js +328 -0
- package/dist/llm/resolver.cjs +29 -7
- package/dist/llm/resolver.d.ts +1 -1
- package/dist/llm/resolver.d.ts.map +1 -1
- package/dist/llm/resolver.js +31 -8
- package/dist/llm/schemas.cjs +13 -1
- package/dist/llm/schemas.d.ts +59 -59
- package/dist/llm/schemas.d.ts.map +1 -1
- package/dist/llm/schemas.js +14 -1
- package/dist/llm/services/factory.cjs +43 -27
- package/dist/llm/services/factory.d.ts +20 -1
- package/dist/llm/services/factory.d.ts.map +1 -1
- package/dist/llm/services/factory.js +44 -28
- package/dist/llm/services/test-utils.integration.cjs +5 -1
- package/dist/llm/services/test-utils.integration.d.ts.map +1 -1
- package/dist/llm/services/test-utils.integration.js +5 -1
- package/dist/llm/services/vercel.cjs +4 -1
- package/dist/llm/services/vercel.d.ts +1 -0
- package/dist/llm/services/vercel.d.ts.map +1 -1
- package/dist/llm/services/vercel.js +4 -1
- package/dist/llm/types.cjs +5 -2
- package/dist/llm/types.d.ts +1 -1
- package/dist/llm/types.d.ts.map +1 -1
- package/dist/llm/types.js +5 -2
- package/dist/llm/validation.cjs +1 -1
- package/dist/llm/validation.js +1 -1
- package/dist/logger/v2/dexto-logger.cjs +4 -0
- package/dist/logger/v2/dexto-logger.d.ts +3 -0
- package/dist/logger/v2/dexto-logger.d.ts.map +1 -1
- package/dist/logger/v2/dexto-logger.js +4 -0
- package/dist/logger/v2/types.d.ts +2 -0
- package/dist/logger/v2/types.d.ts.map +1 -1
- package/dist/mcp/error-codes.cjs +1 -0
- package/dist/mcp/error-codes.d.ts +1 -0
- package/dist/mcp/error-codes.d.ts.map +1 -1
- package/dist/mcp/error-codes.js +1 -0
- package/dist/mcp/errors.cjs +13 -0
- package/dist/mcp/errors.d.ts +7 -0
- package/dist/mcp/errors.d.ts.map +1 -1
- package/dist/mcp/errors.js +13 -0
- package/dist/mcp/manager.cjs +46 -4
- package/dist/mcp/manager.d.ts +10 -2
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +46 -4
- package/dist/mcp/mcp-client.cjs +89 -5
- package/dist/mcp/mcp-client.d.ts +5 -1
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +89 -5
- package/dist/mcp/schemas.cjs +6 -1
- package/dist/mcp/schemas.d.ts +1 -1
- package/dist/mcp/schemas.d.ts.map +1 -1
- package/dist/mcp/schemas.js +6 -1
- package/dist/mcp/types.d.ts +5 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/prompts/index.d.ts +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.cjs +90 -4
- package/dist/prompts/prompt-manager.d.ts +16 -6
- package/dist/prompts/prompt-manager.d.ts.map +1 -1
- package/dist/prompts/prompt-manager.js +90 -4
- package/dist/prompts/providers/config-prompt-provider.cjs +104 -10
- package/dist/prompts/providers/config-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/config-prompt-provider.js +105 -11
- package/dist/prompts/providers/custom-prompt-provider.cjs +1 -0
- package/dist/prompts/providers/custom-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/custom-prompt-provider.js +1 -0
- package/dist/prompts/providers/mcp-prompt-provider.cjs +1 -0
- package/dist/prompts/providers/mcp-prompt-provider.d.ts.map +1 -1
- package/dist/prompts/providers/mcp-prompt-provider.js +1 -0
- package/dist/prompts/schemas.cjs +28 -2
- package/dist/prompts/schemas.d.ts +130 -0
- package/dist/prompts/schemas.d.ts.map +1 -1
- package/dist/prompts/schemas.js +28 -2
- package/dist/prompts/types.d.ts +55 -3
- package/dist/prompts/types.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.cjs +25 -0
- package/dist/resources/handlers/filesystem-handler.d.ts +1 -0
- package/dist/resources/handlers/filesystem-handler.d.ts.map +1 -1
- package/dist/resources/handlers/filesystem-handler.js +25 -0
- package/dist/session/chat-session.cjs +1 -1
- package/dist/session/chat-session.d.ts +1 -1
- package/dist/session/chat-session.d.ts.map +1 -1
- package/dist/session/chat-session.js +1 -1
- package/dist/session/index.d.ts +1 -1
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/message-queue.cjs +29 -5
- package/dist/session/message-queue.d.ts +3 -1
- package/dist/session/message-queue.d.ts.map +1 -1
- package/dist/session/message-queue.js +29 -5
- package/dist/session/session-manager.cjs +84 -3
- package/dist/session/session-manager.d.ts +12 -0
- package/dist/session/session-manager.d.ts.map +1 -1
- package/dist/session/session-manager.js +74 -3
- package/dist/session/types.d.ts +1 -0
- package/dist/session/types.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.cjs +42 -0
- package/dist/systemPrompt/contributors.d.ts +13 -0
- package/dist/systemPrompt/contributors.d.ts.map +1 -1
- package/dist/systemPrompt/contributors.js +41 -0
- package/dist/tools/errors.cjs +7 -3
- package/dist/tools/errors.d.ts +5 -1
- package/dist/tools/errors.d.ts.map +1 -1
- package/dist/tools/errors.js +7 -3
- package/dist/tools/internal-tools/constants.cjs +2 -1
- package/dist/tools/internal-tools/constants.d.ts +1 -1
- package/dist/tools/internal-tools/constants.d.ts.map +1 -1
- package/dist/tools/internal-tools/constants.js +2 -1
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.cjs +140 -0
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts +24 -0
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.d.ts.map +1 -0
- package/dist/tools/internal-tools/implementations/invoke-skill-tool.js +117 -0
- package/dist/tools/internal-tools/provider.cjs +15 -0
- package/dist/tools/internal-tools/provider.d.ts +15 -1
- package/dist/tools/internal-tools/provider.d.ts.map +1 -1
- package/dist/tools/internal-tools/provider.js +15 -0
- package/dist/tools/internal-tools/registry.cjs +6 -0
- package/dist/tools/internal-tools/registry.d.ts +35 -1
- package/dist/tools/internal-tools/registry.d.ts.map +1 -1
- package/dist/tools/internal-tools/registry.js +6 -0
- package/dist/tools/schemas.d.ts +1 -1
- package/dist/tools/schemas.d.ts.map +1 -1
- package/dist/tools/tool-call-metadata.cjs +75 -0
- package/dist/tools/tool-call-metadata.d.ts +16 -0
- package/dist/tools/tool-call-metadata.d.ts.map +1 -0
- package/dist/tools/tool-call-metadata.js +51 -0
- package/dist/tools/tool-manager.cjs +481 -103
- package/dist/tools/tool-manager.d.ts +131 -9
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +482 -104
- package/dist/utils/api-key-resolver.cjs +5 -2
- package/dist/utils/api-key-resolver.d.ts.map +1 -1
- package/dist/utils/api-key-resolver.js +5 -2
- package/dist/utils/env.cjs +49 -0
- package/dist/utils/env.d.ts +4 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +24 -0
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/service-initializer.cjs +25 -7
- package/dist/utils/service-initializer.d.ts +24 -1
- package/dist/utils/service-initializer.d.ts.map +1 -1
- package/dist/utils/service-initializer.js +25 -7
- package/package.json +6 -2
- package/dist/llm/registry.cjs +0 -1631
- package/dist/llm/registry.d.ts.map +0 -1
- package/dist/llm/registry.js +0 -1586
|
@@ -11,41 +11,67 @@ import { createAmazonBedrock } from "@ai-sdk/amazon-bedrock";
|
|
|
11
11
|
import { VercelLLMService } from "./vercel.js";
|
|
12
12
|
import { createCohere } from "@ai-sdk/cohere";
|
|
13
13
|
import { createLocalLanguageModel } from "../providers/local/ai-sdk-adapter.js";
|
|
14
|
-
import { requiresApiKey } from "../registry.js";
|
|
15
|
-
import { getPrimaryApiKeyEnvVar } from "../../utils/api-key-resolver.js";
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
import { requiresApiKey } from "../registry/index.js";
|
|
15
|
+
import { getPrimaryApiKeyEnvVar, resolveApiKeyForProvider } from "../../utils/api-key-resolver.js";
|
|
16
|
+
const DEXTO_GATEWAY_HEADERS = {
|
|
17
|
+
SESSION_ID: "X-Dexto-Session-ID",
|
|
18
|
+
CLIENT_SOURCE: "X-Dexto-Source",
|
|
19
|
+
CLIENT_VERSION: "X-Dexto-Version"
|
|
20
|
+
};
|
|
21
|
+
function createVercelModel(llmConfig, context) {
|
|
22
|
+
const { provider, model, baseURL } = llmConfig;
|
|
23
|
+
const apiKey = llmConfig.apiKey || resolveApiKeyForProvider(provider);
|
|
20
24
|
if (requiresApiKey(provider) && !apiKey?.trim()) {
|
|
21
25
|
const envVar = getPrimaryApiKeyEnvVar(provider);
|
|
22
26
|
throw LLMError.apiKeyMissing(provider, envVar);
|
|
23
27
|
}
|
|
24
28
|
switch (provider.toLowerCase()) {
|
|
25
29
|
case "openai": {
|
|
26
|
-
return createOpenAI({ apiKey: apiKey ?? "" })(model);
|
|
30
|
+
return createOpenAI({ apiKey: apiKey ?? "" }).responses(model);
|
|
27
31
|
}
|
|
28
32
|
case "openai-compatible": {
|
|
29
|
-
const
|
|
30
|
-
if (!
|
|
33
|
+
const compatibleBaseURL = baseURL?.replace(/\/$/, "") || process.env.OPENAI_BASE_URL?.replace(/\/$/, "");
|
|
34
|
+
if (!compatibleBaseURL) {
|
|
31
35
|
throw LLMError.baseUrlMissing("openai-compatible");
|
|
32
36
|
}
|
|
33
|
-
return createOpenAI({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
37
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL: compatibleBaseURL }).chat(model);
|
|
34
38
|
}
|
|
35
39
|
case "openrouter": {
|
|
36
|
-
const
|
|
37
|
-
return createOpenAI({ apiKey: apiKey ?? "", baseURL }).
|
|
40
|
+
const orBaseURL = baseURL || "https://openrouter.ai/api/v1";
|
|
41
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL: orBaseURL }).responses(model);
|
|
42
|
+
}
|
|
43
|
+
case "minimax": {
|
|
44
|
+
const minimaxBaseURL = baseURL || "https://api.minimax.chat/v1";
|
|
45
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL: minimaxBaseURL }).chat(model);
|
|
46
|
+
}
|
|
47
|
+
case "glm": {
|
|
48
|
+
const glmBaseURL = baseURL || "https://open.bigmodel.cn/api/paas/v4";
|
|
49
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL: glmBaseURL }).chat(model);
|
|
38
50
|
}
|
|
39
51
|
case "litellm": {
|
|
40
|
-
const baseURL = llmConfig.baseURL;
|
|
41
52
|
if (!baseURL) {
|
|
42
53
|
throw LLMError.baseUrlMissing("litellm");
|
|
43
54
|
}
|
|
44
55
|
return createOpenAI({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
45
56
|
}
|
|
46
57
|
case "glama": {
|
|
47
|
-
const
|
|
48
|
-
return createOpenAI({ apiKey: apiKey ?? "", baseURL }).chat(model);
|
|
58
|
+
const glamaBaseURL = "https://glama.ai/api/gateway/openai/v1";
|
|
59
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL: glamaBaseURL }).chat(model);
|
|
60
|
+
}
|
|
61
|
+
case "dexto-nova": {
|
|
62
|
+
const dextoBaseURL = "https://api.dexto.ai/v1";
|
|
63
|
+
const headers = {
|
|
64
|
+
[DEXTO_GATEWAY_HEADERS.CLIENT_SOURCE]: context?.clientSource ?? "cli"
|
|
65
|
+
};
|
|
66
|
+
if (context?.sessionId) {
|
|
67
|
+
headers[DEXTO_GATEWAY_HEADERS.SESSION_ID] = context.sessionId;
|
|
68
|
+
}
|
|
69
|
+
if (process.env.DEXTO_CLI_VERSION) {
|
|
70
|
+
headers[DEXTO_GATEWAY_HEADERS.CLIENT_VERSION] = process.env.DEXTO_CLI_VERSION;
|
|
71
|
+
}
|
|
72
|
+
return createOpenAI({ apiKey: apiKey ?? "", baseURL: dextoBaseURL, headers }).chat(
|
|
73
|
+
model
|
|
74
|
+
);
|
|
49
75
|
}
|
|
50
76
|
case "vertex": {
|
|
51
77
|
const projectId = process.env.GOOGLE_VERTEX_PROJECT;
|
|
@@ -83,7 +109,6 @@ function createVercelModel(llmConfig) {
|
|
|
83
109
|
}
|
|
84
110
|
return createAmazonBedrock({ region })(modelId);
|
|
85
111
|
}
|
|
86
|
-
// TODO: Add 'dexto' case (similar to openrouter, uses https://api.dexto.ai/v1)
|
|
87
112
|
case "anthropic":
|
|
88
113
|
return createAnthropic({ apiKey: apiKey ?? "" })(model);
|
|
89
114
|
case "google":
|
|
@@ -95,8 +120,8 @@ function createVercelModel(llmConfig) {
|
|
|
95
120
|
case "cohere":
|
|
96
121
|
return createCohere({ apiKey: apiKey ?? "" })(model);
|
|
97
122
|
case "ollama": {
|
|
98
|
-
const
|
|
99
|
-
return createOpenAI({ apiKey: "ollama", baseURL }).chat(model);
|
|
123
|
+
const ollamaBaseURL = baseURL || "http://localhost:11434/v1";
|
|
124
|
+
return createOpenAI({ apiKey: "ollama", baseURL: ollamaBaseURL }).chat(model);
|
|
100
125
|
}
|
|
101
126
|
case "local": {
|
|
102
127
|
return createLocalLanguageModel({
|
|
@@ -107,17 +132,8 @@ function createVercelModel(llmConfig) {
|
|
|
107
132
|
throw LLMError.unsupportedProvider(provider);
|
|
108
133
|
}
|
|
109
134
|
}
|
|
110
|
-
function getOpenAICompatibleBaseURL(llmConfig) {
|
|
111
|
-
if (llmConfig.baseURL) {
|
|
112
|
-
return llmConfig.baseURL.replace(/\/$/, "");
|
|
113
|
-
}
|
|
114
|
-
if (process.env.OPENAI_BASE_URL) {
|
|
115
|
-
return process.env.OPENAI_BASE_URL.replace(/\/$/, "");
|
|
116
|
-
}
|
|
117
|
-
return "";
|
|
118
|
-
}
|
|
119
135
|
function createLLMService(config, toolManager, systemPromptManager, historyProvider, sessionEventBus, sessionId, resourceManager, logger, compactionStrategy, compactionConfig) {
|
|
120
|
-
const model = createVercelModel(config);
|
|
136
|
+
const model = createVercelModel(config, { sessionId });
|
|
121
137
|
return new VercelLLMService(
|
|
122
138
|
toolManager,
|
|
123
139
|
model,
|
|
@@ -159,6 +159,8 @@ const TestConfigs = {
|
|
|
159
159
|
groq: "llama-3.1-8b-instant",
|
|
160
160
|
xai: "grok-beta",
|
|
161
161
|
cohere: "command-r",
|
|
162
|
+
minimax: "MiniMax-M2.1",
|
|
163
|
+
glm: "glm-4.7",
|
|
162
164
|
"openai-compatible": "gpt-5-mini",
|
|
163
165
|
openrouter: "anthropic/claude-3.5-haiku",
|
|
164
166
|
// OpenRouter model format: provider/model
|
|
@@ -172,8 +174,10 @@ const TestConfigs = {
|
|
|
172
174
|
// Bedrock uses AWS credentials, not API keys
|
|
173
175
|
local: "llama-3.2-3b-q4",
|
|
174
176
|
// Native node-llama-cpp GGUF models
|
|
175
|
-
ollama: "llama3.2"
|
|
177
|
+
ollama: "llama3.2",
|
|
176
178
|
// Ollama server models
|
|
179
|
+
"dexto-nova": "anthropic/claude-4.5-sonnet"
|
|
180
|
+
// Dexto gateway (OpenRouter model format)
|
|
177
181
|
};
|
|
178
182
|
return {
|
|
179
183
|
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.integration.d.ts","sourceRoot":"","sources":["../../../src/llm/services/test-utils.integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,WAAW,EACnB,SAAS,GAAE,MAAuB,GACnC,OAAO,CAAC,eAAe,CAAC,CAe1B;AAKD;;GAEG;AACH,eAAO,MAAM,WAAW;IACpB;;OAEG;uCACmB,WAAW;IA4CjC;;OAEG;0CACsB,WAAW;IA4CpC;;OAEG;6CAC0B,WAAW,UAAqB,MAAM,KAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"test-utils.integration.d.ts","sourceRoot":"","sources":["../../../src/llm/services/test-utils.integration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAMvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CACvC,MAAM,EAAE,WAAW,EACnB,SAAS,GAAE,MAAuB,GACnC,OAAO,CAAC,eAAe,CAAC,CAe1B;AAKD;;GAEG;AACH,eAAO,MAAM,WAAW;IACpB;;OAEG;uCACmB,WAAW;IA4CjC;;OAEG;0CACsB,WAAW;IA4CpC;;OAEG;6CAC0B,WAAW,UAAqB,MAAM,KAAG,WAAW;CAgE3E,CAAC;AAEX;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAGrE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAE7D;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjF"}
|
|
@@ -137,6 +137,8 @@ const TestConfigs = {
|
|
|
137
137
|
groq: "llama-3.1-8b-instant",
|
|
138
138
|
xai: "grok-beta",
|
|
139
139
|
cohere: "command-r",
|
|
140
|
+
minimax: "MiniMax-M2.1",
|
|
141
|
+
glm: "glm-4.7",
|
|
140
142
|
"openai-compatible": "gpt-5-mini",
|
|
141
143
|
openrouter: "anthropic/claude-3.5-haiku",
|
|
142
144
|
// OpenRouter model format: provider/model
|
|
@@ -150,8 +152,10 @@ const TestConfigs = {
|
|
|
150
152
|
// Bedrock uses AWS credentials, not API keys
|
|
151
153
|
local: "llama-3.2-3b-q4",
|
|
152
154
|
// Native node-llama-cpp GGUF models
|
|
153
|
-
ollama: "llama3.2"
|
|
155
|
+
ollama: "llama3.2",
|
|
154
156
|
// Ollama server models
|
|
157
|
+
"dexto-nova": "anthropic/claude-4.5-sonnet"
|
|
158
|
+
// Dexto gateway (OpenRouter model format)
|
|
155
159
|
};
|
|
156
160
|
return {
|
|
157
161
|
systemPrompt: "You are a helpful assistant for testing purposes.",
|
|
@@ -68,7 +68,7 @@ __export(vercel_exports, {
|
|
|
68
68
|
module.exports = __toCommonJS(vercel_exports);
|
|
69
69
|
var import_types2 = require("../../logger/v2/types.js");
|
|
70
70
|
var import_manager = require("../../context/manager.js");
|
|
71
|
-
var import_registry = require("../registry.js");
|
|
71
|
+
var import_registry = require("../registry/index.js");
|
|
72
72
|
var import_vercel = require("../formatters/vercel.js");
|
|
73
73
|
var import_decorators = require("../../telemetry/decorators.js");
|
|
74
74
|
var import_api = require("@opentelemetry/api");
|
|
@@ -140,6 +140,9 @@ class VercelLLMService {
|
|
|
140
140
|
getAllTools() {
|
|
141
141
|
return this.toolManager.getAllTools();
|
|
142
142
|
}
|
|
143
|
+
getEnabledTools() {
|
|
144
|
+
return this.toolManager.getAllTools().then((tools) => this.toolManager.filterToolsForSession(tools, this.sessionId));
|
|
145
|
+
}
|
|
143
146
|
/**
|
|
144
147
|
* Create a TurnExecutor instance for executing the agent loop.
|
|
145
148
|
*/
|
|
@@ -45,6 +45,7 @@ export declare class VercelLLMService {
|
|
|
45
45
|
private getModelId;
|
|
46
46
|
constructor(toolManager: ToolManager, model: LanguageModel, systemPromptManager: SystemPromptManager, historyProvider: IConversationHistoryProvider, sessionEventBus: SessionEventBus, config: ValidatedLLMConfig, sessionId: string, resourceManager: ResourceManager, logger: IDextoLogger, compactionStrategy?: import('../../context/compaction/types.js').ICompactionStrategy | null, compactionConfig?: CompactionConfigInput);
|
|
47
47
|
getAllTools(): Promise<ToolSet>;
|
|
48
|
+
getEnabledTools(): Promise<ToolSet>;
|
|
48
49
|
/**
|
|
49
50
|
* Create a TurnExecutor instance for executing the agent loop.
|
|
50
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,qBAIa,gBAAgB;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,kBAAkB,CAEf;IACX,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,0BAA0B,CAAS;IAE3C;;OAEG;IACH,OAAO,CAAC,UAAU;gBAKd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,OAAO,mCAAmC,EAAE,mBAAmB,GAAG,IAAI,EAC3F,gBAAgB,CAAC,EAAE,qBAAqB;IAuD5C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAc,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7C;;;;;;;OAOG;IACG,MAAM,CACR,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAwD5B;;;OAGG;IACH,SAAS,IAAI,gBAAgB;IA+B7B;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACH,eAAe,IAAI,mBAAmB;IAItC;;OAEG;IACH,qBAAqB,IACf,OAAO,mCAAmC,EAAE,mBAAmB,GAC/D,IAAI;CAGb"}
|
|
1
|
+
{"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/services/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAqB,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAGhE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD;;;;;;;;;;;;;GAaG;AACH,qBAIa,gBAAgB;IACzB,OAAO,CAAC,KAAK,CAAgB;IAC7B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,kBAAkB,CAEf;IACX,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,0BAA0B,CAAS;IAE3C;;OAEG;IACH,OAAO,CAAC,UAAU;gBAKd,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,aAAa,EACpB,mBAAmB,EAAE,mBAAmB,EACxC,eAAe,EAAE,4BAA4B,EAC7C,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,YAAY,EACpB,kBAAkB,CAAC,EAAE,OAAO,mCAAmC,EAAE,mBAAmB,GAAG,IAAI,EAC3F,gBAAgB,CAAC,EAAE,qBAAqB;IAuD5C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAMnC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0B1B;;OAEG;IACH,OAAc,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7C;;;;;;;OAOG;IACG,MAAM,CACR,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,GACnC,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAwD5B;;;OAGG;IACH,SAAS,IAAI,gBAAgB;IA+B7B;;OAEG;IACH,iBAAiB,IAAI,cAAc,CAAC,OAAO,CAAC;IAI5C;;OAEG;IACH,eAAe,IAAI,mBAAmB;IAItC;;OAEG;IACH,qBAAqB,IACf,OAAO,mCAAmC,EAAE,mBAAmB,GAC/D,IAAI;CAGb"}
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
var _VercelLLMService_decorators, _init;
|
|
7
7
|
import { DextoLogComponent } from "../../logger/v2/types.js";
|
|
8
8
|
import { ContextManager } from "../../context/manager.js";
|
|
9
|
-
import { getEffectiveMaxInputTokens, getMaxInputTokensForModel } from "../registry.js";
|
|
9
|
+
import { getEffectiveMaxInputTokens, getMaxInputTokensForModel } from "../registry/index.js";
|
|
10
10
|
import { VercelMessageFormatter } from "../formatters/vercel.js";
|
|
11
11
|
import { InstrumentClass } from "../../telemetry/decorators.js";
|
|
12
12
|
import { trace, context, propagation } from "@opentelemetry/api";
|
|
@@ -77,6 +77,9 @@ class VercelLLMService {
|
|
|
77
77
|
getAllTools() {
|
|
78
78
|
return this.toolManager.getAllTools();
|
|
79
79
|
}
|
|
80
|
+
getEnabledTools() {
|
|
81
|
+
return this.toolManager.getAllTools().then((tools) => this.toolManager.filterToolsForSession(tools, this.sessionId));
|
|
82
|
+
}
|
|
80
83
|
/**
|
|
81
84
|
* Create a TurnExecutor instance for executing the agent loop.
|
|
82
85
|
*/
|
package/dist/llm/types.cjs
CHANGED
|
@@ -30,6 +30,8 @@ const LLM_PROVIDERS = [
|
|
|
30
30
|
"groq",
|
|
31
31
|
"xai",
|
|
32
32
|
"cohere",
|
|
33
|
+
"minimax",
|
|
34
|
+
"glm",
|
|
33
35
|
"openrouter",
|
|
34
36
|
"litellm",
|
|
35
37
|
"glama",
|
|
@@ -37,9 +39,10 @@ const LLM_PROVIDERS = [
|
|
|
37
39
|
"bedrock",
|
|
38
40
|
"local",
|
|
39
41
|
// Native node-llama-cpp execution (GGUF models)
|
|
40
|
-
"ollama"
|
|
42
|
+
"ollama",
|
|
41
43
|
// Ollama server integration
|
|
42
|
-
|
|
44
|
+
"dexto-nova"
|
|
45
|
+
// Dexto gateway - routes through api.dexto.ai/v1 with billing
|
|
43
46
|
];
|
|
44
47
|
const SUPPORTED_FILE_TYPES = ["pdf", "image", "audio"];
|
|
45
48
|
// Annotate the CommonJS export names for ESM import in node:
|
package/dist/llm/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const LLM_PROVIDERS: readonly ["openai", "openai-compatible", "anthropic", "google", "groq", "xai", "cohere", "openrouter", "litellm", "glama", "vertex", "bedrock", "local", "ollama"];
|
|
1
|
+
export declare const LLM_PROVIDERS: readonly ["openai", "openai-compatible", "anthropic", "google", "groq", "xai", "cohere", "minimax", "glm", "openrouter", "litellm", "glama", "vertex", "bedrock", "local", "ollama", "dexto-nova"];
|
|
2
2
|
export type LLMProvider = (typeof LLM_PROVIDERS)[number];
|
|
3
3
|
export declare const SUPPORTED_FILE_TYPES: readonly ["pdf", "image", "audio"];
|
|
4
4
|
export type SupportedFileType = (typeof SUPPORTED_FILE_TYPES)[number];
|
package/dist/llm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,aAAa,oMAkBhB,CAAC;AACX,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,oBAAoB,oCAAqC,CAAC;AACvE,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE;;;GAGG;AAEH,MAAM,WAAW,UAAU;IACvB,mDAAmD;IACnD,QAAQ,EAAE,WAAW,CAAC;IAEtB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,UAAU;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
package/dist/llm/types.js
CHANGED
|
@@ -7,6 +7,8 @@ const LLM_PROVIDERS = [
|
|
|
7
7
|
"groq",
|
|
8
8
|
"xai",
|
|
9
9
|
"cohere",
|
|
10
|
+
"minimax",
|
|
11
|
+
"glm",
|
|
10
12
|
"openrouter",
|
|
11
13
|
"litellm",
|
|
12
14
|
"glama",
|
|
@@ -14,9 +16,10 @@ const LLM_PROVIDERS = [
|
|
|
14
16
|
"bedrock",
|
|
15
17
|
"local",
|
|
16
18
|
// Native node-llama-cpp execution (GGUF models)
|
|
17
|
-
"ollama"
|
|
19
|
+
"ollama",
|
|
18
20
|
// Ollama server integration
|
|
19
|
-
|
|
21
|
+
"dexto-nova"
|
|
22
|
+
// Dexto gateway - routes through api.dexto.ai/v1 with billing
|
|
20
23
|
];
|
|
21
24
|
const SUPPORTED_FILE_TYPES = ["pdf", "image", "audio"];
|
|
22
25
|
export {
|
package/dist/llm/validation.cjs
CHANGED
|
@@ -21,7 +21,7 @@ __export(validation_exports, {
|
|
|
21
21
|
validateInputForLLM: () => validateInputForLLM
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(validation_exports);
|
|
24
|
-
var import_registry = require("./registry.js");
|
|
24
|
+
var import_registry = require("./registry/index.js");
|
|
25
25
|
var import_result = require("../utils/result.js");
|
|
26
26
|
var import_types = require("../errors/types.cjs");
|
|
27
27
|
var import_error_codes = require("./error-codes.js");
|
package/dist/llm/validation.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "../chunk-PTJYTZNU.js";
|
|
2
|
-
import { validateModelFileSupport, getAllowedMimeTypes } from "./registry.js";
|
|
2
|
+
import { validateModelFileSupport, getAllowedMimeTypes } from "./registry/index.js";
|
|
3
3
|
import { ok, fail } from "../utils/result.js";
|
|
4
4
|
import { ErrorScope, ErrorType } from "../errors/types.js";
|
|
5
5
|
import { LLMErrorCode } from "./error-codes.js";
|
|
@@ -26,6 +26,7 @@ class DextoLogger {
|
|
|
26
26
|
levelRef;
|
|
27
27
|
component;
|
|
28
28
|
agentId;
|
|
29
|
+
sessionId;
|
|
29
30
|
transports;
|
|
30
31
|
// Log level hierarchy for filtering
|
|
31
32
|
// Following Winston convention: lower number = more severe
|
|
@@ -41,6 +42,7 @@ class DextoLogger {
|
|
|
41
42
|
this.levelRef = config._levelRef ?? { value: config.level };
|
|
42
43
|
this.component = config.component;
|
|
43
44
|
this.agentId = config.agentId;
|
|
45
|
+
this.sessionId = config.sessionId;
|
|
44
46
|
this.transports = config.transports;
|
|
45
47
|
}
|
|
46
48
|
debug(message, context) {
|
|
@@ -86,6 +88,7 @@ class DextoLogger {
|
|
|
86
88
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
87
89
|
component: this.component,
|
|
88
90
|
agentId: this.agentId,
|
|
91
|
+
...this.sessionId !== void 0 && { sessionId: this.sessionId },
|
|
89
92
|
context
|
|
90
93
|
};
|
|
91
94
|
for (const transport of this.transports) {
|
|
@@ -143,6 +146,7 @@ class DextoLogger {
|
|
|
143
146
|
// Initial value (will be overridden by _levelRef)
|
|
144
147
|
component,
|
|
145
148
|
agentId: this.agentId,
|
|
149
|
+
...this.sessionId !== void 0 && { sessionId: this.sessionId },
|
|
146
150
|
transports: this.transports,
|
|
147
151
|
_levelRef: this.levelRef
|
|
148
152
|
// Share the same level reference
|
|
@@ -12,6 +12,8 @@ export interface DextoLoggerConfig {
|
|
|
12
12
|
component: DextoLogComponent;
|
|
13
13
|
/** Agent ID for multi-agent isolation */
|
|
14
14
|
agentId: string;
|
|
15
|
+
/** Optional session ID for associating logs with a session */
|
|
16
|
+
sessionId?: string;
|
|
15
17
|
/** Transport instances */
|
|
16
18
|
transports: ILoggerTransport[];
|
|
17
19
|
/** Shared level reference (internal - for child loggers to share parent's level) */
|
|
@@ -27,6 +29,7 @@ export declare class DextoLogger implements IDextoLogger {
|
|
|
27
29
|
private levelRef;
|
|
28
30
|
private component;
|
|
29
31
|
private agentId;
|
|
32
|
+
private sessionId;
|
|
30
33
|
private transports;
|
|
31
34
|
private static readonly LEVELS;
|
|
32
35
|
constructor(config: DextoLoggerConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dexto-logger.d.ts","sourceRoot":"","sources":["../../../src/logger/v2/dexto-logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACR,YAAY,EACZ,gBAAgB,EAEhB,QAAQ,EACR,iBAAiB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iBAAiB;IAC9B,kCAAkC;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,2BAA2B;IAC3B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,oFAAoF;IACpF,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC5C,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAqB;IAKvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAM5B;gBAEU,MAAM,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"dexto-logger.d.ts","sourceRoot":"","sources":["../../../src/logger/v2/dexto-logger.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACR,YAAY,EACZ,gBAAgB,EAEhB,QAAQ,EACR,iBAAiB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,iBAAiB;IAC9B,kCAAkC;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,2BAA2B;IAC3B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,oFAAoF;IACpF,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,QAAQ,CAAA;KAAE,CAAC;CACnC;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,YAAY;IAC5C,sFAAsF;IACtF,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,UAAU,CAAqB;IAKvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAM5B;gBAEU,MAAM,EAAE,iBAAiB;IASrC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM/D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAM/D,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASrE;;OAEG;IACH,OAAO,CAAC,GAAG;IA4BX;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAI/B;;OAEG;IACH,QAAQ,IAAI,QAAQ;IAIpB;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAU/B;;;OAGG;IACH,WAAW,CAAC,SAAS,EAAE,iBAAiB,GAAG,WAAW;IAWtD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAWjC"}
|
|
@@ -4,6 +4,7 @@ class DextoLogger {
|
|
|
4
4
|
levelRef;
|
|
5
5
|
component;
|
|
6
6
|
agentId;
|
|
7
|
+
sessionId;
|
|
7
8
|
transports;
|
|
8
9
|
// Log level hierarchy for filtering
|
|
9
10
|
// Following Winston convention: lower number = more severe
|
|
@@ -19,6 +20,7 @@ class DextoLogger {
|
|
|
19
20
|
this.levelRef = config._levelRef ?? { value: config.level };
|
|
20
21
|
this.component = config.component;
|
|
21
22
|
this.agentId = config.agentId;
|
|
23
|
+
this.sessionId = config.sessionId;
|
|
22
24
|
this.transports = config.transports;
|
|
23
25
|
}
|
|
24
26
|
debug(message, context) {
|
|
@@ -64,6 +66,7 @@ class DextoLogger {
|
|
|
64
66
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
65
67
|
component: this.component,
|
|
66
68
|
agentId: this.agentId,
|
|
69
|
+
...this.sessionId !== void 0 && { sessionId: this.sessionId },
|
|
67
70
|
context
|
|
68
71
|
};
|
|
69
72
|
for (const transport of this.transports) {
|
|
@@ -121,6 +124,7 @@ class DextoLogger {
|
|
|
121
124
|
// Initial value (will be overridden by _levelRef)
|
|
122
125
|
component,
|
|
123
126
|
agentId: this.agentId,
|
|
127
|
+
...this.sessionId !== void 0 && { sessionId: this.sessionId },
|
|
124
128
|
transports: this.transports,
|
|
125
129
|
_levelRef: this.levelRef
|
|
126
130
|
// Share the same level reference
|
|
@@ -49,6 +49,8 @@ export interface LogEntry {
|
|
|
49
49
|
component: DextoLogComponent;
|
|
50
50
|
/** Agent ID for multi-agent isolation */
|
|
51
51
|
agentId: string;
|
|
52
|
+
/** Optional session ID for multi-session isolation */
|
|
53
|
+
sessionId?: string;
|
|
52
54
|
/** Optional structured context data */
|
|
53
55
|
context?: Record<string, unknown> | undefined;
|
|
54
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/logger/v2/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAErE;;;GAGG;AACH,oBAAY,iBAAiB;IAEzB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,QAAQ,aAAa;IAGrB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,QAAQ,aAAa;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,gBAAgB;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEhE;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEhE;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE/D;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE/D;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEhE;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtE;;;;;OAKG;IACH,WAAW,CAAC,SAAS,EAAE,iBAAiB,GAAG,YAAY,CAAC;IAExD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,QAAQ,IAAI,QAAQ,CAAC;IAErB;;;OAGG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/logger/v2/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAErE;;;GAGG;AACH,oBAAY,iBAAiB;IAEzB,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,aAAa,kBAAkB;IAC/B,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,OAAO,YAAY;IACnB,QAAQ,aAAa;IAGrB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,SAAS,cAAc;IACvB,QAAQ,aAAa;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACrB,gBAAgB;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,iBAAiB,CAAC;IAC7B,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,sDAAsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEhE;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEhE;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE/D;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAE/D;;;;OAIG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEhE;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAEtE;;;;;OAKG;IACH,WAAW,CAAC,SAAS,EAAE,iBAAiB,GAAG,YAAY,CAAC;IAExD;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEhC;;;OAGG;IACH,QAAQ,IAAI,QAAQ,CAAC;IAErB;;;OAGG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC7B;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C;;OAEG;IACH,OAAO,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC"}
|
package/dist/mcp/error-codes.cjs
CHANGED
|
@@ -27,6 +27,7 @@ var MCPErrorCode = /* @__PURE__ */ ((MCPErrorCode2) => {
|
|
|
27
27
|
MCPErrorCode2["DUPLICATE_NAME"] = "mcp_duplicate_name";
|
|
28
28
|
MCPErrorCode2["CONNECTION_FAILED"] = "mcp_connection_failed";
|
|
29
29
|
MCPErrorCode2["DISCONNECTION_FAILED"] = "mcp_disconnection_failed";
|
|
30
|
+
MCPErrorCode2["AUTH_REQUIRED"] = "mcp_auth_required";
|
|
30
31
|
MCPErrorCode2["PROTOCOL_ERROR"] = "mcp_protocol_error";
|
|
31
32
|
MCPErrorCode2["SERVER_NOT_FOUND"] = "mcp_server_not_found";
|
|
32
33
|
MCPErrorCode2["TOOL_NOT_FOUND"] = "mcp_tool_not_found";
|
|
@@ -8,6 +8,7 @@ export declare enum MCPErrorCode {
|
|
|
8
8
|
DUPLICATE_NAME = "mcp_duplicate_name",
|
|
9
9
|
CONNECTION_FAILED = "mcp_connection_failed",
|
|
10
10
|
DISCONNECTION_FAILED = "mcp_disconnection_failed",
|
|
11
|
+
AUTH_REQUIRED = "mcp_auth_required",
|
|
11
12
|
PROTOCOL_ERROR = "mcp_protocol_error",
|
|
12
13
|
SERVER_NOT_FOUND = "mcp_server_not_found",
|
|
13
14
|
TOOL_NOT_FOUND = "mcp_tool_not_found",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/mcp/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,YAAY;IAEpB,iBAAiB,0BAA0B;IAC3C,eAAe,wBAAwB;IACvC,cAAc,uBAAuB;IAGrC,iBAAiB,0BAA0B;IAC3C,oBAAoB,6BAA6B;
|
|
1
|
+
{"version":3,"file":"error-codes.d.ts","sourceRoot":"","sources":["../../src/mcp/error-codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,YAAY;IAEpB,iBAAiB,0BAA0B;IAC3C,eAAe,wBAAwB;IACvC,cAAc,uBAAuB;IAGrC,iBAAiB,0BAA0B;IAC3C,oBAAoB,6BAA6B;IACjD,aAAa,sBAAsB;IAGnC,cAAc,uBAAuB;IAGrC,gBAAgB,yBAAyB;IACzC,cAAc,uBAAuB;IACrC,gBAAgB,yBAAyB;IACzC,kBAAkB,2BAA2B;CAChD"}
|
package/dist/mcp/error-codes.js
CHANGED
|
@@ -5,6 +5,7 @@ var MCPErrorCode = /* @__PURE__ */ ((MCPErrorCode2) => {
|
|
|
5
5
|
MCPErrorCode2["DUPLICATE_NAME"] = "mcp_duplicate_name";
|
|
6
6
|
MCPErrorCode2["CONNECTION_FAILED"] = "mcp_connection_failed";
|
|
7
7
|
MCPErrorCode2["DISCONNECTION_FAILED"] = "mcp_disconnection_failed";
|
|
8
|
+
MCPErrorCode2["AUTH_REQUIRED"] = "mcp_auth_required";
|
|
8
9
|
MCPErrorCode2["PROTOCOL_ERROR"] = "mcp_protocol_error";
|
|
9
10
|
MCPErrorCode2["SERVER_NOT_FOUND"] = "mcp_server_not_found";
|
|
10
11
|
MCPErrorCode2["TOOL_NOT_FOUND"] = "mcp_tool_not_found";
|
package/dist/mcp/errors.cjs
CHANGED
|
@@ -64,6 +64,19 @@ class MCPError {
|
|
|
64
64
|
"Check MCP server compatibility and protocol version"
|
|
65
65
|
);
|
|
66
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* MCP authentication required
|
|
69
|
+
*/
|
|
70
|
+
static authenticationRequired(serverName, reason) {
|
|
71
|
+
return new import_DextoRuntimeError.DextoRuntimeError(
|
|
72
|
+
import_error_codes.MCPErrorCode.AUTH_REQUIRED,
|
|
73
|
+
import_types.ErrorScope.MCP,
|
|
74
|
+
import_types.ErrorType.THIRD_PARTY,
|
|
75
|
+
`Authentication required for MCP server '${serverName}'${reason ? `: ${reason}` : ""}`,
|
|
76
|
+
{ serverName, reason },
|
|
77
|
+
"Authenticate with the MCP server using the CLI /mcp flow"
|
|
78
|
+
);
|
|
79
|
+
}
|
|
67
80
|
/**
|
|
68
81
|
* MCP duplicate server name
|
|
69
82
|
*/
|
package/dist/mcp/errors.d.ts
CHANGED
|
@@ -22,6 +22,13 @@ export declare class MCPError {
|
|
|
22
22
|
* MCP protocol error
|
|
23
23
|
*/
|
|
24
24
|
static protocolError(message: string, details?: unknown): DextoRuntimeError<unknown>;
|
|
25
|
+
/**
|
|
26
|
+
* MCP authentication required
|
|
27
|
+
*/
|
|
28
|
+
static authenticationRequired(serverName: string, reason?: string): DextoRuntimeError<{
|
|
29
|
+
serverName: string;
|
|
30
|
+
reason: string | undefined;
|
|
31
|
+
}>;
|
|
25
32
|
/**
|
|
26
33
|
* MCP duplicate server name
|
|
27
34
|
*/
|
package/dist/mcp/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAItE;;;GAGG;AACH,qBAAa,QAAQ;IACjB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAW1D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAW7D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAWvD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;IAWvD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;IAUzD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM;;;IAUpC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM;;;IAUxC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM;;;IAU3C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;;;IAU1C;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;CAS5D"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/mcp/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAItE;;;GAGG;AACH,qBAAa,QAAQ;IACjB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAW1D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;IAW7D;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO;IAWvD;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;IAWjE;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;;;;IAWvD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;;;;IAUzD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM;;;IAUpC;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM;;;IAUxC;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM;;;IAU3C;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,MAAM;;;IAU1C;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;CAS5D"}
|
package/dist/mcp/errors.js
CHANGED
|
@@ -42,6 +42,19 @@ class MCPError {
|
|
|
42
42
|
"Check MCP server compatibility and protocol version"
|
|
43
43
|
);
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* MCP authentication required
|
|
47
|
+
*/
|
|
48
|
+
static authenticationRequired(serverName, reason) {
|
|
49
|
+
return new DextoRuntimeError(
|
|
50
|
+
MCPErrorCode.AUTH_REQUIRED,
|
|
51
|
+
ErrorScope.MCP,
|
|
52
|
+
ErrorType.THIRD_PARTY,
|
|
53
|
+
`Authentication required for MCP server '${serverName}'${reason ? `: ${reason}` : ""}`,
|
|
54
|
+
{ serverName, reason },
|
|
55
|
+
"Authenticate with the MCP server using the CLI /mcp flow"
|
|
56
|
+
);
|
|
57
|
+
}
|
|
45
58
|
/**
|
|
46
59
|
* MCP duplicate server name
|
|
47
60
|
*/
|
package/dist/mcp/manager.cjs
CHANGED
|
@@ -38,6 +38,7 @@ class MCPManager {
|
|
|
38
38
|
sanitizedNameToServerMap = /* @__PURE__ */ new Map();
|
|
39
39
|
approvalManager = null;
|
|
40
40
|
// Will be set by service initializer
|
|
41
|
+
authProviderFactory = null;
|
|
41
42
|
logger;
|
|
42
43
|
// Use a distinctive delimiter that won't appear in normal server/tool names
|
|
43
44
|
// Using double hyphen as it's allowed in LLM tool name patterns (^[a-zA-Z0-9_-]+$)
|
|
@@ -45,6 +46,14 @@ class MCPManager {
|
|
|
45
46
|
constructor(logger) {
|
|
46
47
|
this.logger = logger.createChild(import_types.DextoLogComponent.MCP);
|
|
47
48
|
}
|
|
49
|
+
setAuthProviderFactory(factory) {
|
|
50
|
+
this.authProviderFactory = factory;
|
|
51
|
+
for (const [_name, client] of this.clients.entries()) {
|
|
52
|
+
if (client instanceof import_mcp_client.MCPClient) {
|
|
53
|
+
client.setAuthProviderFactory(factory);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
48
57
|
/**
|
|
49
58
|
* Set the approval manager for handling elicitation requests from MCP servers
|
|
50
59
|
*
|
|
@@ -520,8 +529,16 @@ class MCPManager {
|
|
|
520
529
|
const connectPromise = this.connectServer(name, config).then(() => {
|
|
521
530
|
successfulConnections.push(name);
|
|
522
531
|
}).catch((error) => {
|
|
532
|
+
if (!this.connectionErrors[name]) {
|
|
533
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
534
|
+
const errorCode = error && typeof error === "object" && "code" in error ? String(error.code) : void 0;
|
|
535
|
+
this.connectionErrors[name] = {
|
|
536
|
+
message: errorMessage,
|
|
537
|
+
...errorCode ? { code: errorCode } : {}
|
|
538
|
+
};
|
|
539
|
+
}
|
|
523
540
|
this.logger.debug(
|
|
524
|
-
`Handled connection error for '${name}' during initialization: ${error.message}`
|
|
541
|
+
`Handled connection error for '${name}' during initialization: ${error instanceof Error ? error.message : String(error)}`
|
|
525
542
|
);
|
|
526
543
|
});
|
|
527
544
|
connectionPromises.push(connectPromise);
|
|
@@ -531,7 +548,9 @@ class MCPManager {
|
|
|
531
548
|
(name) => !successfulConnections.includes(name)
|
|
532
549
|
);
|
|
533
550
|
if (failedStrictServers.length > 0) {
|
|
534
|
-
const strictErrors = failedStrictServers.map(
|
|
551
|
+
const strictErrors = failedStrictServers.map(
|
|
552
|
+
(name) => `${name}: ${this.connectionErrors[name]?.message ?? "Unknown error"}`
|
|
553
|
+
).join("; ");
|
|
535
554
|
throw import_errors.MCPError.connectionFailed("strict servers", strictErrors);
|
|
536
555
|
}
|
|
537
556
|
}
|
|
@@ -548,6 +567,7 @@ class MCPManager {
|
|
|
548
567
|
return;
|
|
549
568
|
}
|
|
550
569
|
const client = new import_mcp_client.MCPClient(this.logger);
|
|
570
|
+
client.setAuthProviderFactory(this.authProviderFactory);
|
|
551
571
|
try {
|
|
552
572
|
this.logger.info(`Attempting to connect to new server '${name}'...`);
|
|
553
573
|
await client.connect(config, name);
|
|
@@ -560,7 +580,11 @@ class MCPManager {
|
|
|
560
580
|
this.logger.info(`Successfully connected and cached new server '${name}'`);
|
|
561
581
|
} catch (error) {
|
|
562
582
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
563
|
-
|
|
583
|
+
const errorCode = error && typeof error === "object" && "code" in error ? String(error.code) : void 0;
|
|
584
|
+
this.connectionErrors[name] = {
|
|
585
|
+
message: errorMsg,
|
|
586
|
+
...errorCode ? { code: errorCode } : {}
|
|
587
|
+
};
|
|
564
588
|
this.logger.error(`Failed to connect to new server '${name}': ${errorMsg}`);
|
|
565
589
|
this.clients.delete(name);
|
|
566
590
|
throw import_errors.MCPError.connectionFailed(name, errorMsg);
|
|
@@ -580,6 +604,19 @@ class MCPManager {
|
|
|
580
604
|
getFailedConnections() {
|
|
581
605
|
return this.connectionErrors;
|
|
582
606
|
}
|
|
607
|
+
getFailedConnectionError(name) {
|
|
608
|
+
return this.connectionErrors[name]?.message;
|
|
609
|
+
}
|
|
610
|
+
getFailedConnectionErrorCode(name) {
|
|
611
|
+
return this.connectionErrors[name]?.code;
|
|
612
|
+
}
|
|
613
|
+
getAuthProvider(name) {
|
|
614
|
+
const client = this.clients.get(name);
|
|
615
|
+
if (client instanceof import_mcp_client.MCPClient) {
|
|
616
|
+
return client.getCurrentAuthProvider();
|
|
617
|
+
}
|
|
618
|
+
return null;
|
|
619
|
+
}
|
|
583
620
|
/**
|
|
584
621
|
* Refresh all client caches by re-fetching capabilities from servers
|
|
585
622
|
* Useful when you want to force a full refresh of tools, prompts, and resources
|
|
@@ -655,6 +692,7 @@ class MCPManager {
|
|
|
655
692
|
delete this.connectionErrors[name];
|
|
656
693
|
try {
|
|
657
694
|
const newClient = new import_mcp_client.MCPClient(this.logger);
|
|
695
|
+
newClient.setAuthProviderFactory(this.authProviderFactory);
|
|
658
696
|
await newClient.connect(config, name);
|
|
659
697
|
if (this.approvalManager) {
|
|
660
698
|
newClient.setApprovalManager(this.approvalManager);
|
|
@@ -665,7 +703,11 @@ class MCPManager {
|
|
|
665
703
|
import_events.eventBus.emit("mcp:server-restarted", { serverName: name });
|
|
666
704
|
} catch (error) {
|
|
667
705
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
668
|
-
|
|
706
|
+
const errorCode = error && typeof error === "object" && "code" in error ? String(error.code) : void 0;
|
|
707
|
+
this.connectionErrors[name] = {
|
|
708
|
+
message: errorMsg,
|
|
709
|
+
...errorCode ? { code: errorCode } : {}
|
|
710
|
+
};
|
|
669
711
|
this.logger.error(`Failed to restart server '${name}': ${errorMsg}`);
|
|
670
712
|
throw import_errors.MCPError.connectionFailed(name, errorMsg);
|
|
671
713
|
}
|