wave-agent-sdk 0.0.7 → 0.0.10
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.d.ts +105 -24
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +438 -53
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/managers/aiManager.d.ts +18 -7
- package/dist/managers/aiManager.d.ts.map +1 -1
- package/dist/managers/aiManager.js +254 -142
- package/dist/managers/backgroundBashManager.d.ts.map +1 -1
- package/dist/managers/backgroundBashManager.js +11 -9
- package/dist/managers/hookManager.d.ts +6 -6
- package/dist/managers/hookManager.d.ts.map +1 -1
- package/dist/managers/hookManager.js +81 -39
- package/dist/managers/liveConfigManager.d.ts +95 -0
- package/dist/managers/liveConfigManager.d.ts.map +1 -0
- package/dist/managers/liveConfigManager.js +442 -0
- package/dist/managers/lspManager.d.ts +43 -0
- package/dist/managers/lspManager.d.ts.map +1 -0
- package/dist/managers/lspManager.js +326 -0
- package/dist/managers/messageManager.d.ts +41 -24
- package/dist/managers/messageManager.d.ts.map +1 -1
- package/dist/managers/messageManager.js +184 -73
- package/dist/managers/permissionManager.d.ts +66 -0
- package/dist/managers/permissionManager.d.ts.map +1 -0
- package/dist/managers/permissionManager.js +208 -0
- package/dist/managers/skillManager.d.ts +1 -0
- package/dist/managers/skillManager.d.ts.map +1 -1
- package/dist/managers/skillManager.js +2 -1
- package/dist/managers/slashCommandManager.d.ts.map +1 -1
- package/dist/managers/slashCommandManager.js +4 -2
- package/dist/managers/subagentManager.d.ts +42 -6
- package/dist/managers/subagentManager.d.ts.map +1 -1
- package/dist/managers/subagentManager.js +213 -62
- package/dist/managers/toolManager.d.ts +38 -1
- package/dist/managers/toolManager.d.ts.map +1 -1
- package/dist/managers/toolManager.js +66 -2
- package/dist/services/aiService.d.ts +15 -5
- package/dist/services/aiService.d.ts.map +1 -1
- package/dist/services/aiService.js +446 -77
- package/dist/services/configurationService.d.ts +116 -0
- package/dist/services/configurationService.d.ts.map +1 -0
- package/dist/services/configurationService.js +585 -0
- package/dist/services/fileWatcher.d.ts +69 -0
- package/dist/services/fileWatcher.d.ts.map +1 -0
- package/dist/services/fileWatcher.js +212 -0
- package/dist/services/hook.d.ts +5 -40
- package/dist/services/hook.d.ts.map +1 -1
- package/dist/services/hook.js +47 -109
- package/dist/services/jsonlHandler.d.ts +71 -0
- package/dist/services/jsonlHandler.d.ts.map +1 -0
- package/dist/services/jsonlHandler.js +236 -0
- package/dist/services/memory.d.ts.map +1 -1
- package/dist/services/memory.js +33 -11
- package/dist/services/session.d.ts +116 -52
- package/dist/services/session.d.ts.map +1 -1
- package/dist/services/session.js +415 -143
- package/dist/tools/bashTool.d.ts.map +1 -1
- package/dist/tools/bashTool.js +77 -17
- package/dist/tools/deleteFileTool.d.ts.map +1 -1
- package/dist/tools/deleteFileTool.js +27 -1
- package/dist/tools/editTool.d.ts.map +1 -1
- package/dist/tools/editTool.js +33 -8
- package/dist/tools/lspTool.d.ts +6 -0
- package/dist/tools/lspTool.d.ts.map +1 -0
- package/dist/tools/lspTool.js +589 -0
- package/dist/tools/multiEditTool.d.ts.map +1 -1
- package/dist/tools/multiEditTool.js +30 -10
- package/dist/tools/readTool.d.ts.map +1 -1
- package/dist/tools/readTool.js +113 -3
- package/dist/tools/skillTool.js +2 -2
- package/dist/tools/todoWriteTool.d.ts.map +1 -1
- package/dist/tools/todoWriteTool.js +23 -0
- package/dist/tools/types.d.ts +11 -8
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/writeTool.d.ts.map +1 -1
- package/dist/tools/writeTool.js +30 -15
- package/dist/types/commands.d.ts +4 -1
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/config.d.ts +4 -0
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/configuration.d.ts +69 -0
- package/dist/types/configuration.d.ts.map +1 -0
- package/dist/types/configuration.js +8 -0
- package/dist/types/core.d.ts +45 -0
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/environment.d.ts +83 -0
- package/dist/types/environment.d.ts.map +1 -0
- package/dist/types/environment.js +21 -0
- package/dist/types/fileSearch.d.ts +5 -0
- package/dist/types/fileSearch.d.ts.map +1 -0
- package/dist/types/fileSearch.js +1 -0
- package/dist/types/hooks.d.ts +18 -3
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/hooks.js +8 -8
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +7 -0
- package/dist/types/lsp.d.ts +90 -0
- package/dist/types/lsp.d.ts.map +1 -0
- package/dist/types/lsp.js +4 -0
- package/dist/types/messaging.d.ts +19 -12
- package/dist/types/messaging.d.ts.map +1 -1
- package/dist/types/permissions.d.ts +35 -0
- package/dist/types/permissions.d.ts.map +1 -0
- package/dist/types/permissions.js +12 -0
- package/dist/types/session.d.ts +15 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +7 -0
- package/dist/types/skills.d.ts +1 -0
- package/dist/types/skills.d.ts.map +1 -1
- package/dist/types/tools.d.ts +35 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +4 -0
- package/dist/utils/abortUtils.d.ts +34 -0
- package/dist/utils/abortUtils.d.ts.map +1 -0
- package/dist/utils/abortUtils.js +92 -0
- package/dist/utils/bashHistory.d.ts +4 -0
- package/dist/utils/bashHistory.d.ts.map +1 -1
- package/dist/utils/bashHistory.js +48 -30
- package/dist/utils/builtinSubagents.d.ts +7 -0
- package/dist/utils/builtinSubagents.d.ts.map +1 -0
- package/dist/utils/builtinSubagents.js +65 -0
- package/dist/utils/cacheControlUtils.d.ts +96 -0
- package/dist/utils/cacheControlUtils.d.ts.map +1 -0
- package/dist/utils/cacheControlUtils.js +324 -0
- package/dist/utils/commandPathResolver.d.ts +52 -0
- package/dist/utils/commandPathResolver.d.ts.map +1 -0
- package/dist/utils/commandPathResolver.js +145 -0
- package/dist/utils/configPaths.d.ts +85 -0
- package/dist/utils/configPaths.d.ts.map +1 -0
- package/dist/utils/configPaths.js +121 -0
- package/dist/utils/constants.d.ts +1 -13
- package/dist/utils/constants.d.ts.map +1 -1
- package/dist/utils/constants.js +2 -14
- package/dist/utils/convertMessagesForAPI.d.ts +2 -1
- package/dist/utils/convertMessagesForAPI.d.ts.map +1 -1
- package/dist/utils/convertMessagesForAPI.js +39 -18
- package/dist/utils/customCommands.d.ts.map +1 -1
- package/dist/utils/customCommands.js +66 -21
- package/dist/utils/fileSearch.d.ts +14 -0
- package/dist/utils/fileSearch.d.ts.map +1 -0
- package/dist/utils/fileSearch.js +88 -0
- package/dist/utils/fileUtils.d.ts +27 -0
- package/dist/utils/fileUtils.d.ts.map +1 -0
- package/dist/utils/fileUtils.js +145 -0
- package/dist/utils/globalLogger.d.ts +88 -0
- package/dist/utils/globalLogger.d.ts.map +1 -0
- package/dist/utils/globalLogger.js +120 -0
- package/dist/utils/largeOutputHandler.d.ts +15 -0
- package/dist/utils/largeOutputHandler.d.ts.map +1 -0
- package/dist/utils/largeOutputHandler.js +40 -0
- package/dist/utils/markdownParser.d.ts.map +1 -1
- package/dist/utils/markdownParser.js +1 -17
- package/dist/utils/mcpUtils.d.ts.map +1 -1
- package/dist/utils/mcpUtils.js +25 -3
- package/dist/utils/messageOperations.d.ts +20 -18
- package/dist/utils/messageOperations.d.ts.map +1 -1
- package/dist/utils/messageOperations.js +30 -38
- package/dist/utils/pathEncoder.d.ts +108 -0
- package/dist/utils/pathEncoder.d.ts.map +1 -0
- package/dist/utils/pathEncoder.js +279 -0
- package/dist/utils/subagentParser.d.ts +2 -2
- package/dist/utils/subagentParser.d.ts.map +1 -1
- package/dist/utils/subagentParser.js +12 -8
- package/dist/utils/tokenCalculation.d.ts +26 -0
- package/dist/utils/tokenCalculation.d.ts.map +1 -0
- package/dist/utils/tokenCalculation.js +36 -0
- package/dist/utils/tokenEstimator.d.ts +39 -0
- package/dist/utils/tokenEstimator.d.ts.map +1 -0
- package/dist/utils/tokenEstimator.js +55 -0
- package/package.json +6 -6
- package/src/agent.ts +586 -78
- package/src/index.ts +4 -0
- package/src/managers/aiManager.ts +341 -192
- package/src/managers/backgroundBashManager.ts +11 -9
- package/src/managers/hookManager.ts +102 -54
- package/src/managers/liveConfigManager.ts +634 -0
- package/src/managers/lspManager.ts +434 -0
- package/src/managers/messageManager.ts +258 -121
- package/src/managers/permissionManager.ts +276 -0
- package/src/managers/skillManager.ts +3 -1
- package/src/managers/slashCommandManager.ts +5 -3
- package/src/managers/subagentManager.ts +295 -76
- package/src/managers/toolManager.ts +95 -3
- package/src/services/aiService.ts +656 -84
- package/src/services/configurationService.ts +762 -0
- package/src/services/fileWatcher.ts +300 -0
- package/src/services/hook.ts +54 -144
- package/src/services/jsonlHandler.ts +303 -0
- package/src/services/memory.ts +34 -11
- package/src/services/session.ts +522 -173
- package/src/tools/bashTool.ts +94 -20
- package/src/tools/deleteFileTool.ts +38 -1
- package/src/tools/editTool.ts +44 -9
- package/src/tools/lspTool.ts +760 -0
- package/src/tools/multiEditTool.ts +41 -11
- package/src/tools/readTool.ts +127 -3
- package/src/tools/skillTool.ts +2 -2
- package/src/tools/todoWriteTool.ts +33 -1
- package/src/tools/types.ts +15 -9
- package/src/tools/writeTool.ts +43 -16
- package/src/types/commands.ts +6 -1
- package/src/types/config.ts +5 -0
- package/src/types/configuration.ts +73 -0
- package/src/types/core.ts +55 -0
- package/src/types/environment.ts +104 -0
- package/src/types/fileSearch.ts +4 -0
- package/src/types/hooks.ts +32 -16
- package/src/types/index.ts +7 -0
- package/src/types/lsp.ts +96 -0
- package/src/types/messaging.ts +21 -14
- package/src/types/permissions.ts +48 -0
- package/src/types/session.ts +20 -0
- package/src/types/skills.ts +1 -0
- package/src/types/tools.ts +38 -0
- package/src/utils/abortUtils.ts +118 -0
- package/src/utils/bashHistory.ts +55 -31
- package/src/utils/builtinSubagents.ts +71 -0
- package/src/utils/cacheControlUtils.ts +475 -0
- package/src/utils/commandPathResolver.ts +189 -0
- package/src/utils/configPaths.ts +163 -0
- package/src/utils/constants.ts +2 -17
- package/src/utils/convertMessagesForAPI.ts +44 -18
- package/src/utils/customCommands.ts +90 -22
- package/src/utils/fileSearch.ts +107 -0
- package/src/utils/fileUtils.ts +160 -0
- package/src/utils/globalLogger.ts +128 -0
- package/src/utils/largeOutputHandler.ts +55 -0
- package/src/utils/markdownParser.ts +1 -19
- package/src/utils/mcpUtils.ts +34 -3
- package/src/utils/messageOperations.ts +47 -53
- package/src/utils/pathEncoder.ts +394 -0
- package/src/utils/subagentParser.ts +13 -9
- package/src/utils/tokenCalculation.ts +43 -0
- package/src/utils/tokenEstimator.ts +68 -0
- package/dist/utils/configResolver.d.ts +0 -38
- package/dist/utils/configResolver.d.ts.map +0 -1
- package/dist/utils/configResolver.js +0 -106
- package/src/utils/configResolver.ts +0 -142
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration resolver utilities for Agent Constructor Configuration
|
|
3
|
-
* Resolves configuration from constructor arguments with environment fallbacks
|
|
4
|
-
*/
|
|
5
|
-
import { ConfigurationError, CONFIG_ERRORS, } from "../types/index.js";
|
|
6
|
-
export class ConfigResolver {
|
|
7
|
-
/**
|
|
8
|
-
* Resolves gateway configuration from constructor args and environment
|
|
9
|
-
* @param apiKey - API key from constructor (optional)
|
|
10
|
-
* @param baseURL - Base URL from constructor (optional)
|
|
11
|
-
* @returns Resolved gateway configuration
|
|
12
|
-
* @throws ConfigurationError if required configuration is missing after fallbacks
|
|
13
|
-
*/
|
|
14
|
-
static resolveGatewayConfig(apiKey, baseURL) {
|
|
15
|
-
// Resolve API key: constructor > environment variable
|
|
16
|
-
// Note: Explicitly provided empty strings should be treated as invalid, not fall back to env
|
|
17
|
-
let resolvedApiKey;
|
|
18
|
-
if (apiKey !== undefined) {
|
|
19
|
-
resolvedApiKey = apiKey;
|
|
20
|
-
}
|
|
21
|
-
else {
|
|
22
|
-
resolvedApiKey = process.env.AIGW_TOKEN || "";
|
|
23
|
-
}
|
|
24
|
-
if (!resolvedApiKey && apiKey === undefined) {
|
|
25
|
-
throw new ConfigurationError(CONFIG_ERRORS.MISSING_API_KEY, "apiKey", {
|
|
26
|
-
constructor: apiKey,
|
|
27
|
-
environment: process.env.AIGW_TOKEN,
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
if (resolvedApiKey.trim() === "") {
|
|
31
|
-
throw new ConfigurationError(CONFIG_ERRORS.EMPTY_API_KEY, "apiKey", resolvedApiKey);
|
|
32
|
-
}
|
|
33
|
-
// Resolve base URL: constructor > environment variable
|
|
34
|
-
// Note: Explicitly provided empty strings should be treated as invalid, not fall back to env
|
|
35
|
-
let resolvedBaseURL;
|
|
36
|
-
if (baseURL !== undefined) {
|
|
37
|
-
resolvedBaseURL = baseURL;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
resolvedBaseURL = process.env.AIGW_URL || "";
|
|
41
|
-
}
|
|
42
|
-
if (!resolvedBaseURL && baseURL === undefined) {
|
|
43
|
-
throw new ConfigurationError(CONFIG_ERRORS.MISSING_BASE_URL, "baseURL", {
|
|
44
|
-
constructor: baseURL,
|
|
45
|
-
environment: process.env.AIGW_URL,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
if (resolvedBaseURL.trim() === "") {
|
|
49
|
-
throw new ConfigurationError(CONFIG_ERRORS.EMPTY_BASE_URL, "baseURL", resolvedBaseURL);
|
|
50
|
-
}
|
|
51
|
-
return {
|
|
52
|
-
apiKey: resolvedApiKey,
|
|
53
|
-
baseURL: resolvedBaseURL,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Resolves model configuration with fallbacks
|
|
58
|
-
* @param agentModel - Agent model from constructor (optional)
|
|
59
|
-
* @param fastModel - Fast model from constructor (optional)
|
|
60
|
-
* @returns Resolved model configuration with defaults
|
|
61
|
-
*/
|
|
62
|
-
static resolveModelConfig(agentModel, fastModel) {
|
|
63
|
-
// Default values as per data-model.md
|
|
64
|
-
const DEFAULT_AGENT_MODEL = "claude-sonnet-4-20250514";
|
|
65
|
-
const DEFAULT_FAST_MODEL = "gemini-2.5-flash";
|
|
66
|
-
// Resolve agent model: constructor > environment > default
|
|
67
|
-
const resolvedAgentModel = agentModel || process.env.AIGW_MODEL || DEFAULT_AGENT_MODEL;
|
|
68
|
-
// Resolve fast model: constructor > environment > default
|
|
69
|
-
const resolvedFastModel = fastModel || process.env.AIGW_FAST_MODEL || DEFAULT_FAST_MODEL;
|
|
70
|
-
return {
|
|
71
|
-
agentModel: resolvedAgentModel,
|
|
72
|
-
fastModel: resolvedFastModel,
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Resolves token limit with fallbacks
|
|
77
|
-
* @param constructorLimit - Token limit from constructor (optional)
|
|
78
|
-
* @returns Resolved token limit
|
|
79
|
-
*/
|
|
80
|
-
static resolveTokenLimit(constructorLimit) {
|
|
81
|
-
const DEFAULT_TOKEN_LIMIT = 64000;
|
|
82
|
-
// If constructor value provided, use it
|
|
83
|
-
if (constructorLimit !== undefined) {
|
|
84
|
-
return constructorLimit;
|
|
85
|
-
}
|
|
86
|
-
// Try environment variable
|
|
87
|
-
const envTokenLimit = process.env.TOKEN_LIMIT;
|
|
88
|
-
if (envTokenLimit) {
|
|
89
|
-
const parsed = parseInt(envTokenLimit, 10);
|
|
90
|
-
if (!isNaN(parsed)) {
|
|
91
|
-
return parsed;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
// Use default
|
|
95
|
-
return DEFAULT_TOKEN_LIMIT;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Static configuration resolver instance
|
|
100
|
-
* Implements ConfigurationResolver interface from types.ts
|
|
101
|
-
*/
|
|
102
|
-
export const configResolver = {
|
|
103
|
-
resolveGatewayConfig: ConfigResolver.resolveGatewayConfig,
|
|
104
|
-
resolveModelConfig: ConfigResolver.resolveModelConfig,
|
|
105
|
-
resolveTokenLimit: ConfigResolver.resolveTokenLimit,
|
|
106
|
-
};
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Configuration resolver utilities for Agent Constructor Configuration
|
|
3
|
-
* Resolves configuration from constructor arguments with environment fallbacks
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
GatewayConfig,
|
|
8
|
-
ModelConfig,
|
|
9
|
-
ConfigurationError,
|
|
10
|
-
CONFIG_ERRORS,
|
|
11
|
-
} from "../types/index.js";
|
|
12
|
-
|
|
13
|
-
export class ConfigResolver {
|
|
14
|
-
/**
|
|
15
|
-
* Resolves gateway configuration from constructor args and environment
|
|
16
|
-
* @param apiKey - API key from constructor (optional)
|
|
17
|
-
* @param baseURL - Base URL from constructor (optional)
|
|
18
|
-
* @returns Resolved gateway configuration
|
|
19
|
-
* @throws ConfigurationError if required configuration is missing after fallbacks
|
|
20
|
-
*/
|
|
21
|
-
static resolveGatewayConfig(
|
|
22
|
-
apiKey?: string,
|
|
23
|
-
baseURL?: string,
|
|
24
|
-
): GatewayConfig {
|
|
25
|
-
// Resolve API key: constructor > environment variable
|
|
26
|
-
// Note: Explicitly provided empty strings should be treated as invalid, not fall back to env
|
|
27
|
-
let resolvedApiKey: string;
|
|
28
|
-
if (apiKey !== undefined) {
|
|
29
|
-
resolvedApiKey = apiKey;
|
|
30
|
-
} else {
|
|
31
|
-
resolvedApiKey = process.env.AIGW_TOKEN || "";
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
if (!resolvedApiKey && apiKey === undefined) {
|
|
35
|
-
throw new ConfigurationError(CONFIG_ERRORS.MISSING_API_KEY, "apiKey", {
|
|
36
|
-
constructor: apiKey,
|
|
37
|
-
environment: process.env.AIGW_TOKEN,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (resolvedApiKey.trim() === "") {
|
|
42
|
-
throw new ConfigurationError(
|
|
43
|
-
CONFIG_ERRORS.EMPTY_API_KEY,
|
|
44
|
-
"apiKey",
|
|
45
|
-
resolvedApiKey,
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// Resolve base URL: constructor > environment variable
|
|
50
|
-
// Note: Explicitly provided empty strings should be treated as invalid, not fall back to env
|
|
51
|
-
let resolvedBaseURL: string;
|
|
52
|
-
if (baseURL !== undefined) {
|
|
53
|
-
resolvedBaseURL = baseURL;
|
|
54
|
-
} else {
|
|
55
|
-
resolvedBaseURL = process.env.AIGW_URL || "";
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
if (!resolvedBaseURL && baseURL === undefined) {
|
|
59
|
-
throw new ConfigurationError(CONFIG_ERRORS.MISSING_BASE_URL, "baseURL", {
|
|
60
|
-
constructor: baseURL,
|
|
61
|
-
environment: process.env.AIGW_URL,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
if (resolvedBaseURL.trim() === "") {
|
|
66
|
-
throw new ConfigurationError(
|
|
67
|
-
CONFIG_ERRORS.EMPTY_BASE_URL,
|
|
68
|
-
"baseURL",
|
|
69
|
-
resolvedBaseURL,
|
|
70
|
-
);
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
return {
|
|
74
|
-
apiKey: resolvedApiKey,
|
|
75
|
-
baseURL: resolvedBaseURL,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/**
|
|
80
|
-
* Resolves model configuration with fallbacks
|
|
81
|
-
* @param agentModel - Agent model from constructor (optional)
|
|
82
|
-
* @param fastModel - Fast model from constructor (optional)
|
|
83
|
-
* @returns Resolved model configuration with defaults
|
|
84
|
-
*/
|
|
85
|
-
static resolveModelConfig(
|
|
86
|
-
agentModel?: string,
|
|
87
|
-
fastModel?: string,
|
|
88
|
-
): ModelConfig {
|
|
89
|
-
// Default values as per data-model.md
|
|
90
|
-
const DEFAULT_AGENT_MODEL = "claude-sonnet-4-20250514";
|
|
91
|
-
const DEFAULT_FAST_MODEL = "gemini-2.5-flash";
|
|
92
|
-
|
|
93
|
-
// Resolve agent model: constructor > environment > default
|
|
94
|
-
const resolvedAgentModel =
|
|
95
|
-
agentModel || process.env.AIGW_MODEL || DEFAULT_AGENT_MODEL;
|
|
96
|
-
|
|
97
|
-
// Resolve fast model: constructor > environment > default
|
|
98
|
-
const resolvedFastModel =
|
|
99
|
-
fastModel || process.env.AIGW_FAST_MODEL || DEFAULT_FAST_MODEL;
|
|
100
|
-
|
|
101
|
-
return {
|
|
102
|
-
agentModel: resolvedAgentModel,
|
|
103
|
-
fastModel: resolvedFastModel,
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Resolves token limit with fallbacks
|
|
109
|
-
* @param constructorLimit - Token limit from constructor (optional)
|
|
110
|
-
* @returns Resolved token limit
|
|
111
|
-
*/
|
|
112
|
-
static resolveTokenLimit(constructorLimit?: number): number {
|
|
113
|
-
const DEFAULT_TOKEN_LIMIT = 64000;
|
|
114
|
-
|
|
115
|
-
// If constructor value provided, use it
|
|
116
|
-
if (constructorLimit !== undefined) {
|
|
117
|
-
return constructorLimit;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
// Try environment variable
|
|
121
|
-
const envTokenLimit = process.env.TOKEN_LIMIT;
|
|
122
|
-
if (envTokenLimit) {
|
|
123
|
-
const parsed = parseInt(envTokenLimit, 10);
|
|
124
|
-
if (!isNaN(parsed)) {
|
|
125
|
-
return parsed;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// Use default
|
|
130
|
-
return DEFAULT_TOKEN_LIMIT;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Static configuration resolver instance
|
|
136
|
-
* Implements ConfigurationResolver interface from types.ts
|
|
137
|
-
*/
|
|
138
|
-
export const configResolver = {
|
|
139
|
-
resolveGatewayConfig: ConfigResolver.resolveGatewayConfig,
|
|
140
|
-
resolveModelConfig: ConfigResolver.resolveModelConfig,
|
|
141
|
-
resolveTokenLimit: ConfigResolver.resolveTokenLimit,
|
|
142
|
-
};
|