@defai.digital/ax-cli 3.2.0 → 3.4.0
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/.ax-cli/memory.json +8 -1
- package/README.md +118 -2
- package/config/models.yaml +13 -0
- package/config/settings.yaml +6 -0
- package/dist/agent/context-manager.d.ts +5 -5
- package/dist/agent/context-manager.js +19 -9
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/dependency-resolver.js +2 -1
- package/dist/agent/dependency-resolver.js.map +1 -1
- package/dist/agent/llm-agent.d.ts +3 -2
- package/dist/agent/llm-agent.js +64 -58
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/agent/subagent.js +2 -1
- package/dist/agent/subagent.js.map +1 -1
- package/dist/analyzers/architecture/anti-pattern-detectors/god-object-detector.d.ts +29 -0
- package/dist/analyzers/architecture/anti-pattern-detectors/god-object-detector.js +103 -0
- package/dist/analyzers/architecture/anti-pattern-detectors/god-object-detector.js.map +1 -0
- package/dist/analyzers/architecture/architecture-analyzer.d.ts +58 -0
- package/dist/analyzers/architecture/architecture-analyzer.js +276 -0
- package/dist/analyzers/architecture/architecture-analyzer.js.map +1 -0
- package/dist/analyzers/architecture/index.d.ts +12 -0
- package/dist/analyzers/architecture/index.js +14 -0
- package/dist/analyzers/architecture/index.js.map +1 -0
- package/dist/analyzers/architecture/pattern-detectors/base-detector.d.ts +27 -0
- package/dist/analyzers/architecture/pattern-detectors/base-detector.js +31 -0
- package/dist/analyzers/architecture/pattern-detectors/base-detector.js.map +1 -0
- package/dist/analyzers/architecture/pattern-detectors/clean-architecture-detector.d.ts +11 -0
- package/dist/analyzers/architecture/pattern-detectors/clean-architecture-detector.js +57 -0
- package/dist/analyzers/architecture/pattern-detectors/clean-architecture-detector.js.map +1 -0
- package/dist/analyzers/architecture/pattern-detectors/mvc-detector.d.ts +11 -0
- package/dist/analyzers/architecture/pattern-detectors/mvc-detector.js +43 -0
- package/dist/analyzers/architecture/pattern-detectors/mvc-detector.js.map +1 -0
- package/dist/analyzers/architecture/pattern-detectors/repository-detector.d.ts +11 -0
- package/dist/analyzers/architecture/pattern-detectors/repository-detector.js +49 -0
- package/dist/analyzers/architecture/pattern-detectors/repository-detector.js.map +1 -0
- package/dist/analyzers/architecture/project-structure-scanner.d.ts +54 -0
- package/dist/analyzers/architecture/project-structure-scanner.js +200 -0
- package/dist/analyzers/architecture/project-structure-scanner.js.map +1 -0
- package/dist/analyzers/best-practices/base-rule.d.ts +45 -0
- package/dist/analyzers/best-practices/base-rule.js +45 -0
- package/dist/analyzers/best-practices/base-rule.js.map +1 -0
- package/dist/analyzers/best-practices/best-practice-validator.d.ts +35 -0
- package/dist/analyzers/best-practices/best-practice-validator.js +181 -0
- package/dist/analyzers/best-practices/best-practice-validator.js.map +1 -0
- package/dist/analyzers/best-practices/rules/index.d.ts +7 -0
- package/dist/analyzers/best-practices/rules/index.js +56 -0
- package/dist/analyzers/best-practices/rules/index.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/consistent-naming.d.ts +17 -0
- package/dist/analyzers/best-practices/rules/typescript/consistent-naming.js +41 -0
- package/dist/analyzers/best-practices/rules/typescript/consistent-naming.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/function-complexity.d.ts +27 -0
- package/dist/analyzers/best-practices/rules/typescript/function-complexity.js +76 -0
- package/dist/analyzers/best-practices/rules/typescript/function-complexity.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/index.d.ts +15 -0
- package/dist/analyzers/best-practices/rules/typescript/index.js +16 -0
- package/dist/analyzers/best-practices/rules/typescript/index.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/max-file-length.d.ts +18 -0
- package/dist/analyzers/best-practices/rules/typescript/max-file-length.js +25 -0
- package/dist/analyzers/best-practices/rules/typescript/max-file-length.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/no-any-type.d.ts +17 -0
- package/dist/analyzers/best-practices/rules/typescript/no-any-type.js +27 -0
- package/dist/analyzers/best-practices/rules/typescript/no-any-type.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/no-implicit-any.d.ts +18 -0
- package/dist/analyzers/best-practices/rules/typescript/no-implicit-any.js +39 -0
- package/dist/analyzers/best-practices/rules/typescript/no-implicit-any.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/no-magic-numbers.d.ts +17 -0
- package/dist/analyzers/best-practices/rules/typescript/no-magic-numbers.js +32 -0
- package/dist/analyzers/best-practices/rules/typescript/no-magic-numbers.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/no-unused-vars.d.ts +17 -0
- package/dist/analyzers/best-practices/rules/typescript/no-unused-vars.js +36 -0
- package/dist/analyzers/best-practices/rules/typescript/no-unused-vars.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/prefer-const.d.ts +17 -0
- package/dist/analyzers/best-practices/rules/typescript/prefer-const.js +33 -0
- package/dist/analyzers/best-practices/rules/typescript/prefer-const.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/prefer-readonly.d.ts +17 -0
- package/dist/analyzers/best-practices/rules/typescript/prefer-readonly.js +34 -0
- package/dist/analyzers/best-practices/rules/typescript/prefer-readonly.js.map +1 -0
- package/dist/analyzers/best-practices/rules/typescript/proper-error-handling.d.ts +17 -0
- package/dist/analyzers/best-practices/rules/typescript/proper-error-handling.js +27 -0
- package/dist/analyzers/best-practices/rules/typescript/proper-error-handling.js.map +1 -0
- package/dist/analyzers/best-practices/types.d.ts +86 -0
- package/dist/analyzers/best-practices/types.js +7 -0
- package/dist/analyzers/best-practices/types.js.map +1 -0
- package/dist/analyzers/cache/analysis-cache.d.ts +41 -0
- package/dist/analyzers/cache/analysis-cache.js +84 -0
- package/dist/analyzers/cache/analysis-cache.js.map +1 -0
- package/dist/analyzers/errors.d.ts +51 -0
- package/dist/analyzers/errors.js +79 -0
- package/dist/analyzers/errors.js.map +1 -0
- package/dist/commands/doctor.js +3 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/frontend.d.ts +9 -0
- package/dist/commands/frontend.js +645 -0
- package/dist/commands/frontend.js.map +1 -0
- package/dist/commands/mcp.js +652 -3
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/models.js +2 -2
- package/dist/commands/models.js.map +1 -1
- package/dist/commands/setup.js +100 -41
- package/dist/commands/setup.js.map +1 -1
- package/dist/constants.d.ts +4 -0
- package/dist/constants.js +4 -0
- package/dist/constants.js.map +1 -1
- package/dist/hooks/use-enhanced-input.js +16 -3
- package/dist/hooks/use-enhanced-input.js.map +1 -1
- package/dist/hooks/use-input-handler.js +9 -4
- package/dist/hooks/use-input-handler.js.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/llm/client.d.ts +1 -0
- package/dist/llm/tools.js +86 -0
- package/dist/llm/tools.js.map +1 -1
- package/dist/llm/types.d.ts +49 -22
- package/dist/llm/types.js +12 -8
- package/dist/llm/types.js.map +1 -1
- package/dist/mcp/client.d.ts +5 -0
- package/dist/mcp/client.js +55 -0
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/config.d.ts +1 -1
- package/dist/mcp/config.js +2 -2
- package/dist/mcp/config.js.map +1 -1
- package/dist/mcp/health.d.ts +120 -0
- package/dist/mcp/health.js +267 -0
- package/dist/mcp/health.js.map +1 -0
- package/dist/mcp/reconnection.d.ts +93 -0
- package/dist/mcp/reconnection.js +216 -0
- package/dist/mcp/reconnection.js.map +1 -0
- package/dist/mcp/registry.d.ts +71 -0
- package/dist/mcp/registry.js +257 -0
- package/dist/mcp/registry.js.map +1 -0
- package/dist/mcp/resources.d.ts +53 -0
- package/dist/mcp/resources.js +135 -0
- package/dist/mcp/resources.js.map +1 -0
- package/dist/mcp/templates.d.ts +52 -0
- package/dist/mcp/templates.js +624 -0
- package/dist/mcp/templates.js.map +1 -0
- package/dist/mcp/validation.d.ts +25 -0
- package/dist/mcp/validation.js +209 -0
- package/dist/mcp/validation.js.map +1 -0
- package/dist/memory/context-generator.js +1 -2
- package/dist/memory/context-generator.js.map +1 -1
- package/dist/planner/types.d.ts +2 -2
- package/dist/schemas/api-schemas.d.ts +2 -1
- package/dist/schemas/api-schemas.js +6 -4
- package/dist/schemas/api-schemas.js.map +1 -1
- package/dist/schemas/index.d.ts +4 -4
- package/dist/schemas/tool-schemas.d.ts +2 -2
- package/dist/schemas/yaml-schemas.d.ts +15 -0
- package/dist/schemas/yaml-schemas.js +3 -0
- package/dist/schemas/yaml-schemas.js.map +1 -1
- package/dist/sdk/index.d.ts +138 -0
- package/dist/sdk/index.js +173 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/sdk/types.d.ts +53 -0
- package/dist/sdk/types.js +8 -0
- package/dist/sdk/types.js.map +1 -0
- package/dist/tools/analysis-tools/architecture-tool.d.ts +46 -0
- package/dist/tools/analysis-tools/architecture-tool.js +124 -0
- package/dist/tools/analysis-tools/architecture-tool.js.map +1 -0
- package/dist/tools/analysis-tools/validation-tool.d.ts +51 -0
- package/dist/tools/analysis-tools/validation-tool.js +121 -0
- package/dist/tools/analysis-tools/validation-tool.js.map +1 -0
- package/dist/tools/bash.js +25 -10
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/web-search/cache.d.ts +62 -0
- package/dist/tools/web-search/cache.js +105 -0
- package/dist/tools/web-search/cache.js.map +1 -0
- package/dist/tools/web-search/engines/brave.d.ts +16 -0
- package/dist/tools/web-search/engines/brave.js +99 -0
- package/dist/tools/web-search/engines/brave.js.map +1 -0
- package/dist/tools/web-search/engines/crates.d.ts +19 -0
- package/dist/tools/web-search/engines/crates.js +87 -0
- package/dist/tools/web-search/engines/crates.js.map +1 -0
- package/dist/tools/web-search/engines/npm.d.ts +18 -0
- package/dist/tools/web-search/engines/npm.js +86 -0
- package/dist/tools/web-search/engines/npm.js.map +1 -0
- package/dist/tools/web-search/engines/pypi.d.ts +18 -0
- package/dist/tools/web-search/engines/pypi.js +75 -0
- package/dist/tools/web-search/engines/pypi.js.map +1 -0
- package/dist/tools/web-search/engines/tavily.d.ts +17 -0
- package/dist/tools/web-search/engines/tavily.js +73 -0
- package/dist/tools/web-search/engines/tavily.js.map +1 -0
- package/dist/tools/web-search/index.d.ts +13 -0
- package/dist/tools/web-search/index.js +13 -0
- package/dist/tools/web-search/index.js.map +1 -0
- package/dist/tools/web-search/router.d.ts +36 -0
- package/dist/tools/web-search/router.js +280 -0
- package/dist/tools/web-search/router.js.map +1 -0
- package/dist/tools/web-search/types.d.ts +45 -0
- package/dist/tools/web-search/types.js +6 -0
- package/dist/tools/web-search/types.js.map +1 -0
- package/dist/tools/web-search/web-search-tool.d.ts +51 -0
- package/dist/tools/web-search/web-search-tool.js +256 -0
- package/dist/tools/web-search/web-search-tool.js.map +1 -0
- package/dist/types/analysis.d.ts +177 -0
- package/dist/types/analysis.js +8 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/ui/components/api-key-input.js +2 -2
- package/dist/ui/components/api-key-input.js.map +1 -1
- package/dist/ui/components/chat-history.js +14 -7
- package/dist/ui/components/chat-history.js.map +1 -1
- package/dist/ui/components/chat-input.js +12 -7
- package/dist/ui/components/chat-input.js.map +1 -1
- package/dist/ui/components/chat-interface.js +75 -54
- package/dist/ui/components/chat-interface.js.map +1 -1
- package/dist/ui/components/keyboard-hints.js +5 -4
- package/dist/ui/components/keyboard-hints.js.map +1 -1
- package/dist/ui/components/quick-actions.js +1 -0
- package/dist/ui/components/quick-actions.js.map +1 -1
- package/dist/ui/components/reasoning-display.js +14 -4
- package/dist/ui/components/reasoning-display.js.map +1 -1
- package/dist/ui/components/status-bar.d.ts +1 -0
- package/dist/ui/components/status-bar.js +37 -39
- package/dist/ui/components/status-bar.js.map +1 -1
- package/dist/ui/components/toast-notification.d.ts +29 -0
- package/dist/ui/components/toast-notification.js +17 -3
- package/dist/ui/components/toast-notification.js.map +1 -1
- package/dist/ui/components/welcome-panel.d.ts +1 -0
- package/dist/ui/components/welcome-panel.js +106 -4
- package/dist/ui/components/welcome-panel.js.map +1 -1
- package/dist/utils/analysis-logger.d.ts +47 -0
- package/dist/utils/analysis-logger.js +70 -0
- package/dist/utils/analysis-logger.js.map +1 -0
- package/dist/utils/automatosx-detector.d.ts +19 -0
- package/dist/utils/automatosx-detector.js +52 -0
- package/dist/utils/automatosx-detector.js.map +1 -0
- package/dist/utils/config-loader.d.ts +4 -0
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/confirmation-service.js +1 -1
- package/dist/utils/confirmation-service.js.map +1 -1
- package/dist/utils/init-previewer.js +26 -4
- package/dist/utils/init-previewer.js.map +1 -1
- package/dist/utils/setup-validator.js +1 -0
- package/dist/utils/setup-validator.js.map +1 -1
- package/dist/utils/text-utils.d.ts +1 -0
- package/dist/utils/text-utils.js +12 -0
- package/dist/utils/text-utils.js.map +1 -1
- package/package.json +19 -4
- package/vitest.config.ts +1 -0
package/dist/llm/types.d.ts
CHANGED
|
@@ -86,7 +86,7 @@ export interface ChatOptions {
|
|
|
86
86
|
/**
|
|
87
87
|
* Model identifier
|
|
88
88
|
* @default "glm-4.6"
|
|
89
|
-
* @example "glm-4.6", "
|
|
89
|
+
* @example "glm-4.6", "glm-4-air"
|
|
90
90
|
*/
|
|
91
91
|
model?: string;
|
|
92
92
|
/**
|
|
@@ -254,6 +254,25 @@ export declare function hasReasoningContent(chunk: GLM46StreamChunk): chunk is G
|
|
|
254
254
|
};
|
|
255
255
|
}>;
|
|
256
256
|
};
|
|
257
|
+
/**
|
|
258
|
+
* Message content part for multimodal messages
|
|
259
|
+
*/
|
|
260
|
+
export type MessageContentPart = {
|
|
261
|
+
type: "text";
|
|
262
|
+
text: string;
|
|
263
|
+
} | {
|
|
264
|
+
type: "image_url";
|
|
265
|
+
image_url: {
|
|
266
|
+
url: string;
|
|
267
|
+
};
|
|
268
|
+
};
|
|
269
|
+
/**
|
|
270
|
+
* Message with multimodal content support
|
|
271
|
+
*/
|
|
272
|
+
export interface MultimodalMessage {
|
|
273
|
+
role: "user" | "assistant" | "system";
|
|
274
|
+
content: string | MessageContentPart[];
|
|
275
|
+
}
|
|
257
276
|
/**
|
|
258
277
|
* GLM-4.6 model configurations
|
|
259
278
|
*
|
|
@@ -264,6 +283,7 @@ export declare const GLM_MODELS: {
|
|
|
264
283
|
readonly contextWindow: 200000;
|
|
265
284
|
readonly maxOutputTokens: 128000;
|
|
266
285
|
readonly supportsThinking: true;
|
|
286
|
+
readonly supportsVision: false;
|
|
267
287
|
readonly defaultTemperature: 0.7;
|
|
268
288
|
readonly temperatureRange: {
|
|
269
289
|
readonly min: 0.6;
|
|
@@ -271,21 +291,11 @@ export declare const GLM_MODELS: {
|
|
|
271
291
|
};
|
|
272
292
|
readonly tokenEfficiency: 1.3;
|
|
273
293
|
};
|
|
274
|
-
readonly "grok-code-fast-1": {
|
|
275
|
-
readonly contextWindow: 128000;
|
|
276
|
-
readonly maxOutputTokens: 4096;
|
|
277
|
-
readonly supportsThinking: false;
|
|
278
|
-
readonly defaultTemperature: 0.7;
|
|
279
|
-
readonly temperatureRange: {
|
|
280
|
-
readonly min: 0;
|
|
281
|
-
readonly max: 2;
|
|
282
|
-
};
|
|
283
|
-
readonly tokenEfficiency: 1;
|
|
284
|
-
};
|
|
285
294
|
readonly "glm-4-air": {
|
|
286
295
|
readonly contextWindow: 128000;
|
|
287
296
|
readonly maxOutputTokens: 8192;
|
|
288
297
|
readonly supportsThinking: false;
|
|
298
|
+
readonly supportsVision: false;
|
|
289
299
|
readonly defaultTemperature: 0.7;
|
|
290
300
|
readonly temperatureRange: {
|
|
291
301
|
readonly min: 0.6;
|
|
@@ -297,6 +307,7 @@ export declare const GLM_MODELS: {
|
|
|
297
307
|
readonly contextWindow: 8192;
|
|
298
308
|
readonly maxOutputTokens: 8192;
|
|
299
309
|
readonly supportsThinking: false;
|
|
310
|
+
readonly supportsVision: false;
|
|
300
311
|
readonly defaultTemperature: 0.7;
|
|
301
312
|
readonly temperatureRange: {
|
|
302
313
|
readonly min: 0.6;
|
|
@@ -304,6 +315,18 @@ export declare const GLM_MODELS: {
|
|
|
304
315
|
};
|
|
305
316
|
readonly tokenEfficiency: 1.1;
|
|
306
317
|
};
|
|
318
|
+
readonly "glm-4.5v": {
|
|
319
|
+
readonly contextWindow: 64000;
|
|
320
|
+
readonly maxOutputTokens: 16000;
|
|
321
|
+
readonly supportsThinking: true;
|
|
322
|
+
readonly supportsVision: true;
|
|
323
|
+
readonly defaultTemperature: 0.7;
|
|
324
|
+
readonly temperatureRange: {
|
|
325
|
+
readonly min: 0.6;
|
|
326
|
+
readonly max: 1;
|
|
327
|
+
};
|
|
328
|
+
readonly tokenEfficiency: 1.2;
|
|
329
|
+
};
|
|
307
330
|
};
|
|
308
331
|
export type SupportedModel = keyof typeof GLM_MODELS;
|
|
309
332
|
/**
|
|
@@ -313,26 +336,18 @@ export declare function getModelConfig(model: string): {
|
|
|
313
336
|
readonly contextWindow: 200000;
|
|
314
337
|
readonly maxOutputTokens: 128000;
|
|
315
338
|
readonly supportsThinking: true;
|
|
339
|
+
readonly supportsVision: false;
|
|
316
340
|
readonly defaultTemperature: 0.7;
|
|
317
341
|
readonly temperatureRange: {
|
|
318
342
|
readonly min: 0.6;
|
|
319
343
|
readonly max: 1;
|
|
320
344
|
};
|
|
321
345
|
readonly tokenEfficiency: 1.3;
|
|
322
|
-
} | {
|
|
323
|
-
readonly contextWindow: 128000;
|
|
324
|
-
readonly maxOutputTokens: 4096;
|
|
325
|
-
readonly supportsThinking: false;
|
|
326
|
-
readonly defaultTemperature: 0.7;
|
|
327
|
-
readonly temperatureRange: {
|
|
328
|
-
readonly min: 0;
|
|
329
|
-
readonly max: 2;
|
|
330
|
-
};
|
|
331
|
-
readonly tokenEfficiency: 1;
|
|
332
346
|
} | {
|
|
333
347
|
readonly contextWindow: 128000;
|
|
334
348
|
readonly maxOutputTokens: 8192;
|
|
335
349
|
readonly supportsThinking: false;
|
|
350
|
+
readonly supportsVision: false;
|
|
336
351
|
readonly defaultTemperature: 0.7;
|
|
337
352
|
readonly temperatureRange: {
|
|
338
353
|
readonly min: 0.6;
|
|
@@ -343,12 +358,24 @@ export declare function getModelConfig(model: string): {
|
|
|
343
358
|
readonly contextWindow: 8192;
|
|
344
359
|
readonly maxOutputTokens: 8192;
|
|
345
360
|
readonly supportsThinking: false;
|
|
361
|
+
readonly supportsVision: false;
|
|
346
362
|
readonly defaultTemperature: 0.7;
|
|
347
363
|
readonly temperatureRange: {
|
|
348
364
|
readonly min: 0.6;
|
|
349
365
|
readonly max: 1;
|
|
350
366
|
};
|
|
351
367
|
readonly tokenEfficiency: 1.1;
|
|
368
|
+
} | {
|
|
369
|
+
readonly contextWindow: 64000;
|
|
370
|
+
readonly maxOutputTokens: 16000;
|
|
371
|
+
readonly supportsThinking: true;
|
|
372
|
+
readonly supportsVision: true;
|
|
373
|
+
readonly defaultTemperature: 0.7;
|
|
374
|
+
readonly temperatureRange: {
|
|
375
|
+
readonly min: 0.6;
|
|
376
|
+
readonly max: 1;
|
|
377
|
+
};
|
|
378
|
+
readonly tokenEfficiency: 1.2;
|
|
352
379
|
};
|
|
353
380
|
/**
|
|
354
381
|
* Validate temperature for a given model
|
package/dist/llm/types.js
CHANGED
|
@@ -35,22 +35,16 @@ export const GLM_MODELS = {
|
|
|
35
35
|
contextWindow: 200000, // 200K tokens
|
|
36
36
|
maxOutputTokens: 128000, // 128K max output
|
|
37
37
|
supportsThinking: true,
|
|
38
|
+
supportsVision: false,
|
|
38
39
|
defaultTemperature: 0.7,
|
|
39
40
|
temperatureRange: { min: 0.6, max: 1.0 },
|
|
40
41
|
tokenEfficiency: 1.3, // 30% more efficient
|
|
41
42
|
},
|
|
42
|
-
"grok-code-fast-1": {
|
|
43
|
-
contextWindow: 128000, // 128K tokens
|
|
44
|
-
maxOutputTokens: 4096,
|
|
45
|
-
supportsThinking: false,
|
|
46
|
-
defaultTemperature: 0.7,
|
|
47
|
-
temperatureRange: { min: 0.0, max: 2.0 },
|
|
48
|
-
tokenEfficiency: 1.0,
|
|
49
|
-
},
|
|
50
43
|
"glm-4-air": {
|
|
51
44
|
contextWindow: 128000,
|
|
52
45
|
maxOutputTokens: 8192,
|
|
53
46
|
supportsThinking: false,
|
|
47
|
+
supportsVision: false,
|
|
54
48
|
defaultTemperature: 0.7,
|
|
55
49
|
temperatureRange: { min: 0.6, max: 1.0 },
|
|
56
50
|
tokenEfficiency: 1.15,
|
|
@@ -59,10 +53,20 @@ export const GLM_MODELS = {
|
|
|
59
53
|
contextWindow: 8192,
|
|
60
54
|
maxOutputTokens: 8192,
|
|
61
55
|
supportsThinking: false,
|
|
56
|
+
supportsVision: false,
|
|
62
57
|
defaultTemperature: 0.7,
|
|
63
58
|
temperatureRange: { min: 0.6, max: 1.0 },
|
|
64
59
|
tokenEfficiency: 1.1,
|
|
65
60
|
},
|
|
61
|
+
"glm-4.5v": {
|
|
62
|
+
contextWindow: 64000, // 64K multimodal context
|
|
63
|
+
maxOutputTokens: 16000, // 16K max output
|
|
64
|
+
supportsThinking: true,
|
|
65
|
+
supportsVision: true, // Vision capabilities
|
|
66
|
+
defaultTemperature: 0.7,
|
|
67
|
+
temperatureRange: { min: 0.6, max: 1.0 },
|
|
68
|
+
tokenEfficiency: 1.2,
|
|
69
|
+
},
|
|
66
70
|
};
|
|
67
71
|
/**
|
|
68
72
|
* Get model configuration by name
|
package/dist/llm/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAyPhD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,OAAO,CACL,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,SAAS,IAAI,QAAQ;QACrB,KAAK,CAAC,OAAO,CAAE,QAAgB,CAAC,OAAO,CAAC,CACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAuB;IAIvB,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACxB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,KAAK,QAAQ;QAC9D,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CACpD,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/llm/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAyPhD;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAiB;IAC/C,OAAO,CACL,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,SAAS,IAAI,QAAQ;QACrB,KAAK,CAAC,OAAO,CAAE,QAAgB,CAAC,OAAO,CAAC,CACzC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAAuB;IAIvB,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACxB,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,iBAAiB,KAAK,QAAQ;QAC9D,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CACpD,CAAC;AACJ,CAAC;AAiBD;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,SAAS,EAAE;QACT,aAAa,EAAE,MAAM,EAAO,cAAc;QAC1C,eAAe,EAAE,MAAM,EAAK,kBAAkB;QAC9C,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,KAAK;QACrB,kBAAkB,EAAE,GAAG;QACvB,gBAAgB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QACxC,eAAe,EAAE,GAAG,EAAQ,qBAAqB;KAClD;IACD,WAAW,EAAE;QACX,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,kBAAkB,EAAE,GAAG;QACvB,gBAAgB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QACxC,eAAe,EAAE,IAAI;KACtB;IACD,YAAY,EAAE;QACZ,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAI;QACrB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,kBAAkB,EAAE,GAAG;QACvB,gBAAgB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QACxC,eAAe,EAAE,GAAG;KACrB;IACD,UAAU,EAAE;QACV,aAAa,EAAE,KAAK,EAAQ,yBAAyB;QACrD,eAAe,EAAE,KAAK,EAAM,iBAAiB;QAC7C,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI,EAAQ,sBAAsB;QAClD,kBAAkB,EAAE,GAAG;QACvB,gBAAgB,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;QACxC,eAAe,EAAE,GAAG;KACrB;CACO,CAAC;AAIX;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,wEAAwE;IACxE,OAAO,UAAU,CAAC,KAAuB,CAAC,IAAI,UAAU,CAAC,aAA+B,CAAC,CAAC;AAC5F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB,EAAE,KAAa;IACpE,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;IAE7C,IAAI,WAAW,GAAG,GAAG,IAAI,WAAW,GAAG,GAAG,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CACb,eAAe,WAAW,8BAA8B,KAAK,IAAI;YACjE,gBAAgB,GAAG,MAAM,GAAG,EAAE,CAC/B,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,KAAa;IAChE,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IAErC,IAAI,SAAS,GAAG,MAAM,CAAC,eAAe,EAAE,CAAC;QACvC,MAAM,IAAI,KAAK,CACb,cAAc,SAAS,4BAA4B,KAAK,IAAI;YAC5D,YAAY,MAAM,CAAC,eAAe,EAAE,CACrC,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,sCAAsC,SAAS,EAAE,CAAC,CAAC;IACrE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAoC,EACpC,KAAa;IAEb,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,2CAA2C,KAAK,IAAI;gBACpD,wCAAwC,CACzC,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAc;IACrD,wEAAwE;IACxE,MAAM,SAAS,GAAG,KAAK,IAAI,aAAa,CAAC;IACzC,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IAEzC,OAAO;QACL,KAAK,EAAE,SAAS;QAChB,WAAW,EAAE,MAAM,CAAC,kBAAkB;QACtC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,uBAAuB;QAC1E,MAAM,EAAE,KAAK;KACd,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAoC,EACpC,WAAoB;IAEpB,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,uBAAuB;IACvB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,SAAS,QAAQ,CAAC,IAAI,0CAA0C,CACjE,CAAC;QACJ,CAAC;QAED,gEAAgE;QAChE,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,GAAG,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,CACV,+EAA+E;gBAC/E,oDAAoD,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,4CAA4C,QAAQ,CAAC,IAAI,EAAE,CAC5D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,QAAQ,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;QAChC,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,mCAAmC;QACrC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,yEAAyE;gBACzE,8EAA8E,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAa;IACvD,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,EAAE,uCAAuC;KAC9F,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAe,GAAG;IACvD,OAAO;QACL,QAAQ,EAAE,IAAI;QACd,IAAI;KACL,CAAC;AACJ,CAAC"}
|
package/dist/mcp/client.d.ts
CHANGED
|
@@ -15,10 +15,15 @@ export declare class MCPManager extends EventEmitter {
|
|
|
15
15
|
private tools;
|
|
16
16
|
private pendingConnections;
|
|
17
17
|
private initializationPromise;
|
|
18
|
+
private tokenCounter;
|
|
18
19
|
addServer(config: MCPServerConfig): Promise<void>;
|
|
19
20
|
private _addServerInternal;
|
|
20
21
|
removeServer(serverName: string): Promise<void>;
|
|
21
22
|
callTool(toolName: string, arguments_: Record<string, unknown> | null | undefined): Promise<CallToolResult>;
|
|
23
|
+
/**
|
|
24
|
+
* Truncate text to fit within token limit
|
|
25
|
+
*/
|
|
26
|
+
private truncateToTokenLimit;
|
|
22
27
|
getTools(): MCPTool[];
|
|
23
28
|
getServers(): string[];
|
|
24
29
|
shutdown(): Promise<void>;
|
package/dist/mcp/client.js
CHANGED
|
@@ -3,12 +3,14 @@ import { EventEmitter } from "events";
|
|
|
3
3
|
import { createTransport } from "./transports.js";
|
|
4
4
|
import { MCP_CONFIG, ERROR_MESSAGES } from "../constants.js";
|
|
5
5
|
import { MCPServerConfigSchema } from "../schemas/settings-schemas.js";
|
|
6
|
+
import { TokenCounter } from "../utils/token-counter.js";
|
|
6
7
|
export class MCPManager extends EventEmitter {
|
|
7
8
|
clients = new Map();
|
|
8
9
|
transports = new Map();
|
|
9
10
|
tools = new Map();
|
|
10
11
|
pendingConnections = new Map();
|
|
11
12
|
initializationPromise = null;
|
|
13
|
+
tokenCounter = new TokenCounter();
|
|
12
14
|
async addServer(config) {
|
|
13
15
|
// Check if already connected
|
|
14
16
|
if (this.clients.has(config.name)) {
|
|
@@ -150,6 +152,59 @@ export class MCPManager extends EventEmitter {
|
|
|
150
152
|
name: originalToolName,
|
|
151
153
|
arguments: safeArgs
|
|
152
154
|
});
|
|
155
|
+
// Apply token limiting (Phase 4)
|
|
156
|
+
if (MCP_CONFIG.TRUNCATION_ENABLED) {
|
|
157
|
+
const resultText = JSON.stringify(result.content);
|
|
158
|
+
const tokenCount = this.tokenCounter.countTokens(resultText);
|
|
159
|
+
if (tokenCount > MCP_CONFIG.TOKEN_HARD_LIMIT) {
|
|
160
|
+
// Truncate output at hard limit
|
|
161
|
+
const truncatedText = this.truncateToTokenLimit(resultText, MCP_CONFIG.TOKEN_HARD_LIMIT);
|
|
162
|
+
result.content = [
|
|
163
|
+
{ type: 'text', text: truncatedText },
|
|
164
|
+
{
|
|
165
|
+
type: 'text',
|
|
166
|
+
text: `\n\n⚠️ Output truncated: ${tokenCount.toLocaleString()} tokens exceeded limit of ${MCP_CONFIG.TOKEN_HARD_LIMIT.toLocaleString()} tokens`
|
|
167
|
+
}
|
|
168
|
+
];
|
|
169
|
+
this.emit('token-limit-exceeded', {
|
|
170
|
+
toolName,
|
|
171
|
+
serverName: tool.serverName,
|
|
172
|
+
originalTokens: tokenCount,
|
|
173
|
+
truncatedTokens: MCP_CONFIG.TOKEN_HARD_LIMIT
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
else if (tokenCount > MCP_CONFIG.TOKEN_WARNING_THRESHOLD) {
|
|
177
|
+
// Emit warning but don't truncate
|
|
178
|
+
this.emit('token-warning', {
|
|
179
|
+
toolName,
|
|
180
|
+
serverName: tool.serverName,
|
|
181
|
+
tokenCount,
|
|
182
|
+
threshold: MCP_CONFIG.TOKEN_WARNING_THRESHOLD
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return result;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Truncate text to fit within token limit
|
|
190
|
+
*/
|
|
191
|
+
truncateToTokenLimit(text, maxTokens) {
|
|
192
|
+
// Binary search to find the right truncation point
|
|
193
|
+
let low = 0;
|
|
194
|
+
let high = text.length;
|
|
195
|
+
let result = text;
|
|
196
|
+
while (low <= high) {
|
|
197
|
+
const mid = Math.floor((low + high) / 2);
|
|
198
|
+
const truncated = text.substring(0, mid);
|
|
199
|
+
const tokens = this.tokenCounter.countTokens(truncated);
|
|
200
|
+
if (tokens <= maxTokens) {
|
|
201
|
+
result = truncated;
|
|
202
|
+
low = mid + 1;
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
high = mid - 1;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
153
208
|
return result;
|
|
154
209
|
}
|
|
155
210
|
getTools() {
|
package/dist/mcp/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAA+B,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/mcp/client.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/config.d.ts
CHANGED
|
@@ -10,4 +10,4 @@ export declare function saveMCPConfig(config: MCPConfig): void;
|
|
|
10
10
|
export declare function addMCPServer(config: MCPServerConfig): void;
|
|
11
11
|
export declare function removeMCPServer(serverName: string): void;
|
|
12
12
|
export declare function getMCPServer(serverName: string): MCPServerConfig | undefined;
|
|
13
|
-
export
|
|
13
|
+
export { TEMPLATES as PREDEFINED_SERVERS, getTemplate, hasTemplate, generateConfigFromTemplate } from './templates.js';
|
package/dist/mcp/config.js
CHANGED
|
@@ -61,6 +61,6 @@ export function getMCPServer(serverName) {
|
|
|
61
61
|
const projectSettings = manager.loadProjectSettings();
|
|
62
62
|
return projectSettings.mcpServers?.[serverName];
|
|
63
63
|
}
|
|
64
|
-
//
|
|
65
|
-
export
|
|
64
|
+
// Import templates
|
|
65
|
+
export { TEMPLATES as PREDEFINED_SERVERS, getTemplate, hasTemplate, generateConfigFromTemplate } from './templates.js';
|
|
66
66
|
//# sourceMappingURL=config.js.map
|
package/dist/mcp/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/mcp/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server Health Monitoring
|
|
3
|
+
*
|
|
4
|
+
* Provides health checking, status monitoring, and automatic reconnection
|
|
5
|
+
* for MCP servers.
|
|
6
|
+
*/
|
|
7
|
+
import { EventEmitter } from 'events';
|
|
8
|
+
import type { MCPManager } from './client.js';
|
|
9
|
+
import { ReconnectionManager, type ReconnectionStrategy } from './reconnection.js';
|
|
10
|
+
/**
|
|
11
|
+
* Health status for an MCP server
|
|
12
|
+
*/
|
|
13
|
+
export interface ServerHealth {
|
|
14
|
+
/** Server name */
|
|
15
|
+
serverName: string;
|
|
16
|
+
/** Connection status */
|
|
17
|
+
connected: boolean;
|
|
18
|
+
/** Number of available tools */
|
|
19
|
+
toolCount: number;
|
|
20
|
+
/** Server uptime in milliseconds */
|
|
21
|
+
uptime?: number;
|
|
22
|
+
/** Connection start time */
|
|
23
|
+
connectedAt?: number;
|
|
24
|
+
/** Last successful call timestamp */
|
|
25
|
+
lastSuccess?: number;
|
|
26
|
+
/** Last error message */
|
|
27
|
+
lastError?: string;
|
|
28
|
+
/** Last error timestamp */
|
|
29
|
+
lastErrorAt?: number;
|
|
30
|
+
/** Total number of successful tool calls */
|
|
31
|
+
successCount: number;
|
|
32
|
+
/** Total number of failed tool calls */
|
|
33
|
+
failureCount: number;
|
|
34
|
+
/** Average latency in milliseconds */
|
|
35
|
+
avgLatency?: number;
|
|
36
|
+
/** P95 latency in milliseconds */
|
|
37
|
+
p95Latency?: number;
|
|
38
|
+
/** Success rate percentage (0-100) */
|
|
39
|
+
successRate: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Health check event types
|
|
43
|
+
*/
|
|
44
|
+
export interface HealthCheckEvents {
|
|
45
|
+
'health-check': (health: ServerHealth) => void;
|
|
46
|
+
'server-disconnected': (serverName: string) => void;
|
|
47
|
+
'server-reconnected': (serverName: string) => void;
|
|
48
|
+
'health-check-error': (serverName: string, error: Error) => void;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* MCP Health Monitor
|
|
52
|
+
*
|
|
53
|
+
* Monitors the health of MCP servers and provides automatic reconnection
|
|
54
|
+
*/
|
|
55
|
+
export declare class MCPHealthMonitor extends EventEmitter {
|
|
56
|
+
private mcpManager;
|
|
57
|
+
private healthCheckInterval;
|
|
58
|
+
private reconnectionManager;
|
|
59
|
+
private serverStats;
|
|
60
|
+
constructor(mcpManager: MCPManager, reconnectionStrategy?: ReconnectionStrategy);
|
|
61
|
+
/**
|
|
62
|
+
* Start health monitoring with specified interval
|
|
63
|
+
*/
|
|
64
|
+
start(intervalMs?: number): void;
|
|
65
|
+
/**
|
|
66
|
+
* Stop health monitoring
|
|
67
|
+
*/
|
|
68
|
+
stop(): void;
|
|
69
|
+
/**
|
|
70
|
+
* Perform health checks on all servers
|
|
71
|
+
*/
|
|
72
|
+
private performHealthChecks;
|
|
73
|
+
/**
|
|
74
|
+
* Check health of a specific server
|
|
75
|
+
*/
|
|
76
|
+
checkServerHealth(serverName: string): Promise<ServerHealth>;
|
|
77
|
+
/**
|
|
78
|
+
* Record a successful tool call
|
|
79
|
+
*/
|
|
80
|
+
recordSuccess(serverName: string, latencyMs: number): void;
|
|
81
|
+
/**
|
|
82
|
+
* Record a failed tool call
|
|
83
|
+
*/
|
|
84
|
+
recordFailure(serverName: string, error: string): void;
|
|
85
|
+
/**
|
|
86
|
+
* Attempt to reconnect to a disconnected server
|
|
87
|
+
*
|
|
88
|
+
* NOTE: This method is currently not used because the health monitor
|
|
89
|
+
* doesn't have access to server configs. Reconnection should be handled
|
|
90
|
+
* externally by listening to 'server-disconnected' events.
|
|
91
|
+
*/
|
|
92
|
+
/**
|
|
93
|
+
* Get reconnection manager
|
|
94
|
+
*/
|
|
95
|
+
getReconnectionManager(): ReconnectionManager;
|
|
96
|
+
/**
|
|
97
|
+
* Calculate percentile from array of values
|
|
98
|
+
*/
|
|
99
|
+
private calculatePercentile;
|
|
100
|
+
/**
|
|
101
|
+
* Get health report for all servers
|
|
102
|
+
*/
|
|
103
|
+
getHealthReport(): Promise<ServerHealth[]>;
|
|
104
|
+
/**
|
|
105
|
+
* Get health status for a specific server
|
|
106
|
+
*/
|
|
107
|
+
getServerStatus(serverName: string): Promise<ServerHealth | null>;
|
|
108
|
+
/**
|
|
109
|
+
* Reset stats for a server
|
|
110
|
+
*/
|
|
111
|
+
resetStats(serverName: string): void;
|
|
112
|
+
/**
|
|
113
|
+
* Get formatted uptime string
|
|
114
|
+
*/
|
|
115
|
+
static formatUptime(uptimeMs: number): string;
|
|
116
|
+
/**
|
|
117
|
+
* Get formatted latency string
|
|
118
|
+
*/
|
|
119
|
+
static formatLatency(latencyMs: number): string;
|
|
120
|
+
}
|