@pcircle/memesh 2.6.6 → 2.6.7
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/README.md +92 -31
- package/README.zh-TW.md +89 -28
- package/dist/a2a/client/A2AClient.d.ts +5 -1
- package/dist/a2a/client/A2AClient.d.ts.map +1 -1
- package/dist/a2a/client/A2AClient.js +161 -61
- package/dist/a2a/client/A2AClient.js.map +1 -1
- package/dist/a2a/constants.d.ts +34 -0
- package/dist/a2a/constants.d.ts.map +1 -0
- package/dist/a2a/constants.js +34 -0
- package/dist/a2a/constants.js.map +1 -0
- package/dist/a2a/delegator/MCPTaskDelegator.d.ts +19 -0
- package/dist/a2a/delegator/MCPTaskDelegator.d.ts.map +1 -0
- package/dist/a2a/delegator/MCPTaskDelegator.js +184 -0
- package/dist/a2a/delegator/MCPTaskDelegator.js.map +1 -0
- package/dist/a2a/delegator/index.d.ts +3 -0
- package/dist/a2a/delegator/index.d.ts.map +1 -0
- package/dist/a2a/delegator/index.js +2 -0
- package/dist/a2a/delegator/index.js.map +1 -0
- package/dist/a2a/delegator/types.d.ts +9 -0
- package/dist/a2a/delegator/types.d.ts.map +1 -0
- package/dist/a2a/delegator/types.js +2 -0
- package/dist/a2a/delegator/types.js.map +1 -0
- package/dist/a2a/errors/ErrorCodes.d.ts +24 -0
- package/dist/a2a/errors/ErrorCodes.d.ts.map +1 -0
- package/dist/a2a/errors/ErrorCodes.js +23 -0
- package/dist/a2a/errors/ErrorCodes.js.map +1 -0
- package/dist/a2a/errors/ErrorMessages.d.ts +26 -0
- package/dist/a2a/errors/ErrorMessages.d.ts.map +1 -0
- package/dist/a2a/errors/ErrorMessages.js +49 -0
- package/dist/a2a/errors/ErrorMessages.js.map +1 -0
- package/dist/a2a/errors/index.d.ts +3 -0
- package/dist/a2a/errors/index.d.ts.map +1 -0
- package/dist/a2a/errors/index.js +3 -0
- package/dist/a2a/errors/index.js.map +1 -0
- package/dist/a2a/executor/TaskExecutor.d.ts +6 -4
- package/dist/a2a/executor/TaskExecutor.d.ts.map +1 -1
- package/dist/a2a/executor/TaskExecutor.js +8 -47
- package/dist/a2a/executor/TaskExecutor.js.map +1 -1
- package/dist/a2a/jobs/TimeoutChecker.d.ts +49 -0
- package/dist/a2a/jobs/TimeoutChecker.d.ts.map +1 -0
- package/dist/a2a/jobs/TimeoutChecker.js +162 -0
- package/dist/a2a/jobs/TimeoutChecker.js.map +1 -0
- package/dist/a2a/metrics/A2AMetrics.d.ts +38 -0
- package/dist/a2a/metrics/A2AMetrics.d.ts.map +1 -0
- package/dist/a2a/metrics/A2AMetrics.js +142 -0
- package/dist/a2a/metrics/A2AMetrics.js.map +1 -0
- package/dist/a2a/metrics/index.d.ts +3 -0
- package/dist/a2a/metrics/index.d.ts.map +1 -0
- package/dist/a2a/metrics/index.js +2 -0
- package/dist/a2a/metrics/index.js.map +1 -0
- package/dist/a2a/server/A2AServer.d.ts +2 -0
- package/dist/a2a/server/A2AServer.d.ts.map +1 -1
- package/dist/a2a/server/A2AServer.js +44 -7
- package/dist/a2a/server/A2AServer.js.map +1 -1
- package/dist/a2a/server/middleware/auth.d.ts +6 -0
- package/dist/a2a/server/middleware/auth.d.ts.map +1 -0
- package/dist/a2a/server/middleware/auth.js +64 -0
- package/dist/a2a/server/middleware/auth.js.map +1 -0
- package/dist/a2a/server/middleware/csrf.d.ts +7 -0
- package/dist/a2a/server/middleware/csrf.d.ts.map +1 -0
- package/dist/a2a/server/middleware/csrf.js +143 -0
- package/dist/a2a/server/middleware/csrf.js.map +1 -0
- package/dist/a2a/server/middleware/rateLimit.d.ts +9 -0
- package/dist/a2a/server/middleware/rateLimit.d.ts.map +1 -0
- package/dist/a2a/server/middleware/rateLimit.js +192 -0
- package/dist/a2a/server/middleware/rateLimit.js.map +1 -0
- package/dist/a2a/server/middleware/resourceProtection.d.ts +17 -0
- package/dist/a2a/server/middleware/resourceProtection.d.ts.map +1 -0
- package/dist/a2a/server/middleware/resourceProtection.js +240 -0
- package/dist/a2a/server/middleware/resourceProtection.js.map +1 -0
- package/dist/a2a/server/middleware/timeout.d.ts +4 -0
- package/dist/a2a/server/middleware/timeout.d.ts.map +1 -0
- package/dist/a2a/server/middleware/timeout.js +36 -0
- package/dist/a2a/server/middleware/timeout.js.map +1 -0
- package/dist/a2a/storage/TaskQueue.d.ts +3 -0
- package/dist/a2a/storage/TaskQueue.d.ts.map +1 -1
- package/dist/a2a/storage/TaskQueue.js +80 -18
- package/dist/a2a/storage/TaskQueue.js.map +1 -1
- package/dist/a2a/storage/inputValidation.d.ts +7 -0
- package/dist/a2a/storage/inputValidation.d.ts.map +1 -0
- package/dist/a2a/storage/inputValidation.js +91 -0
- package/dist/a2a/storage/inputValidation.js.map +1 -0
- package/dist/a2a/storage/schemas.sql +11 -1
- package/dist/a2a/types/index.d.ts +1 -0
- package/dist/a2a/types/index.d.ts.map +1 -1
- package/dist/a2a/types/rateLimit.d.ts +26 -0
- package/dist/a2a/types/rateLimit.d.ts.map +1 -0
- package/dist/a2a/types/rateLimit.js +2 -0
- package/dist/a2a/types/rateLimit.js.map +1 -0
- package/dist/a2a/types/task.d.ts +1 -1
- package/dist/a2a/types/task.d.ts.map +1 -1
- package/dist/cli/config.d.ts +36 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +398 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/daemon.d.ts +3 -0
- package/dist/cli/daemon.d.ts.map +1 -0
- package/dist/cli/daemon.js +413 -0
- package/dist/cli/daemon.js.map +1 -0
- package/dist/cli/dashboard.d.ts +2 -0
- package/dist/cli/dashboard.d.ts.map +1 -0
- package/dist/cli/dashboard.js +300 -0
- package/dist/cli/dashboard.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +182 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/setup-wizard.d.ts +18 -0
- package/dist/cli/setup-wizard.d.ts.map +1 -0
- package/dist/cli/setup-wizard.js +308 -0
- package/dist/cli/setup-wizard.js.map +1 -0
- package/dist/cli/stats.d.ts +34 -0
- package/dist/cli/stats.d.ts.map +1 -0
- package/dist/cli/stats.js +480 -0
- package/dist/cli/stats.js.map +1 -0
- package/dist/cli/tutorial.d.ts +27 -0
- package/dist/cli/tutorial.d.ts.map +1 -0
- package/dist/cli/tutorial.js +430 -0
- package/dist/cli/tutorial.js.map +1 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +8 -7
- package/dist/config/index.js.map +1 -1
- package/dist/core/BackgroundExecutor.d.ts +6 -0
- package/dist/core/BackgroundExecutor.d.ts.map +1 -1
- package/dist/core/BackgroundExecutor.js +152 -44
- package/dist/core/BackgroundExecutor.js.map +1 -1
- package/dist/core/ClaudeMdRuleExtractor.d.ts.map +1 -1
- package/dist/core/ClaudeMdRuleExtractor.js +9 -14
- package/dist/core/ClaudeMdRuleExtractor.js.map +1 -1
- package/dist/core/MistakePatternManager.d.ts.map +1 -1
- package/dist/core/MistakePatternManager.js +29 -3
- package/dist/core/MistakePatternManager.js.map +1 -1
- package/dist/core/ResourceMonitor.d.ts.map +1 -1
- package/dist/core/ResourceMonitor.js +64 -2
- package/dist/core/ResourceMonitor.js.map +1 -1
- package/dist/core/ResultHandler.d.ts.map +1 -1
- package/dist/core/ResultHandler.js +12 -0
- package/dist/core/ResultHandler.js.map +1 -1
- package/dist/core/SessionContextMonitor.d.ts.map +1 -1
- package/dist/core/SessionContextMonitor.js +4 -1
- package/dist/core/SessionContextMonitor.js.map +1 -1
- package/dist/core/SessionTokenTracker.d.ts.map +1 -1
- package/dist/core/SessionTokenTracker.js +58 -2
- package/dist/core/SessionTokenTracker.js.map +1 -1
- package/dist/db/ConnectionPool.d.ts.map +1 -1
- package/dist/db/ConnectionPool.js +111 -37
- package/dist/db/ConnectionPool.js.map +1 -1
- package/dist/db/QueryCache.d.ts.map +1 -1
- package/dist/db/QueryCache.js +8 -5
- package/dist/db/QueryCache.js.map +1 -1
- package/dist/errors/ErrorClassifier.d.ts +60 -0
- package/dist/errors/ErrorClassifier.d.ts.map +1 -0
- package/dist/errors/ErrorClassifier.js +443 -0
- package/dist/errors/ErrorClassifier.js.map +1 -0
- package/dist/errors/index.d.ts +1 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/errors/index.js +3 -0
- package/dist/errors/index.js.map +1 -1
- package/dist/evolution/ABTestManager.d.ts.map +1 -1
- package/dist/evolution/ABTestManager.js +80 -1
- package/dist/evolution/ABTestManager.js.map +1 -1
- package/dist/evolution/FeedbackCollector.d.ts.map +1 -1
- package/dist/evolution/FeedbackCollector.js +6 -0
- package/dist/evolution/FeedbackCollector.js.map +1 -1
- package/dist/evolution/LearningManager.d.ts.map +1 -1
- package/dist/evolution/LearningManager.js +16 -0
- package/dist/evolution/LearningManager.js.map +1 -1
- package/dist/evolution/MultiObjectiveOptimizer.d.ts.map +1 -1
- package/dist/evolution/MultiObjectiveOptimizer.js +18 -3
- package/dist/evolution/MultiObjectiveOptimizer.js.map +1 -1
- package/dist/evolution/PerformanceTracker.d.ts.map +1 -1
- package/dist/evolution/PerformanceTracker.js +83 -13
- package/dist/evolution/PerformanceTracker.js.map +1 -1
- package/dist/evolution/StatisticalAnalyzer.d.ts +1 -0
- package/dist/evolution/StatisticalAnalyzer.d.ts.map +1 -1
- package/dist/evolution/StatisticalAnalyzer.js +126 -9
- package/dist/evolution/StatisticalAnalyzer.js.map +1 -1
- package/dist/evolution/storage/SQLiteStore.d.ts +1 -0
- package/dist/evolution/storage/SQLiteStore.d.ts.map +1 -1
- package/dist/evolution/storage/SQLiteStore.js +59 -12
- package/dist/evolution/storage/SQLiteStore.js.map +1 -1
- package/dist/evolution/storage/validation.d.ts +2 -3
- package/dist/evolution/storage/validation.d.ts.map +1 -1
- package/dist/evolution/storage/validation.js +2 -6
- package/dist/evolution/storage/validation.js.map +1 -1
- package/dist/knowledge-graph/index.d.ts +5 -1
- package/dist/knowledge-graph/index.d.ts.map +1 -1
- package/dist/knowledge-graph/index.js +167 -43
- package/dist/knowledge-graph/index.js.map +1 -1
- package/dist/knowledge-graph/types.d.ts +1 -0
- package/dist/knowledge-graph/types.d.ts.map +1 -1
- package/dist/mcp/BuddyCommands.d.ts +11 -2
- package/dist/mcp/BuddyCommands.d.ts.map +1 -1
- package/dist/mcp/BuddyCommands.js +200 -50
- package/dist/mcp/BuddyCommands.js.map +1 -1
- package/dist/mcp/ServerInitializer.d.ts +7 -1
- package/dist/mcp/ServerInitializer.d.ts.map +1 -1
- package/dist/mcp/ServerInitializer.js +121 -69
- package/dist/mcp/ServerInitializer.js.map +1 -1
- package/dist/mcp/ToolDefinitions.d.ts.map +1 -1
- package/dist/mcp/ToolDefinitions.js +57 -11
- package/dist/mcp/ToolDefinitions.js.map +1 -1
- package/dist/mcp/ToolRouter.d.ts +6 -0
- package/dist/mcp/ToolRouter.d.ts.map +1 -1
- package/dist/mcp/ToolRouter.js +90 -2
- package/dist/mcp/ToolRouter.js.map +1 -1
- package/dist/mcp/daemon/DaemonBootstrap.d.ts +33 -0
- package/dist/mcp/daemon/DaemonBootstrap.d.ts.map +1 -0
- package/dist/mcp/daemon/DaemonBootstrap.js +155 -0
- package/dist/mcp/daemon/DaemonBootstrap.js.map +1 -0
- package/dist/mcp/daemon/DaemonLockManager.d.ts +47 -0
- package/dist/mcp/daemon/DaemonLockManager.d.ts.map +1 -0
- package/dist/mcp/daemon/DaemonLockManager.js +417 -0
- package/dist/mcp/daemon/DaemonLockManager.js.map +1 -0
- package/dist/mcp/daemon/DaemonProtocol.d.ts +127 -0
- package/dist/mcp/daemon/DaemonProtocol.d.ts.map +1 -0
- package/dist/mcp/daemon/DaemonProtocol.js +452 -0
- package/dist/mcp/daemon/DaemonProtocol.js.map +1 -0
- package/dist/mcp/daemon/DaemonSocketServer.d.ts +71 -0
- package/dist/mcp/daemon/DaemonSocketServer.d.ts.map +1 -0
- package/dist/mcp/daemon/DaemonSocketServer.js +384 -0
- package/dist/mcp/daemon/DaemonSocketServer.js.map +1 -0
- package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts +67 -0
- package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts.map +1 -0
- package/dist/mcp/daemon/GracefulShutdownCoordinator.js +206 -0
- package/dist/mcp/daemon/GracefulShutdownCoordinator.js.map +1 -0
- package/dist/mcp/daemon/IpcTransport.d.ts +42 -0
- package/dist/mcp/daemon/IpcTransport.d.ts.map +1 -0
- package/dist/mcp/daemon/IpcTransport.js +231 -0
- package/dist/mcp/daemon/IpcTransport.js.map +1 -0
- package/dist/mcp/daemon/StdioProxyClient.d.ts +84 -0
- package/dist/mcp/daemon/StdioProxyClient.d.ts.map +1 -0
- package/dist/mcp/daemon/StdioProxyClient.js +560 -0
- package/dist/mcp/daemon/StdioProxyClient.js.map +1 -0
- package/dist/mcp/daemon/VersionManager.d.ts +35 -0
- package/dist/mcp/daemon/VersionManager.d.ts.map +1 -0
- package/dist/mcp/daemon/VersionManager.js +169 -0
- package/dist/mcp/daemon/VersionManager.js.map +1 -0
- package/dist/mcp/daemon/index.d.ts +9 -0
- package/dist/mcp/daemon/index.d.ts.map +1 -0
- package/dist/mcp/daemon/index.js +9 -0
- package/dist/mcp/daemon/index.js.map +1 -0
- package/dist/mcp/handlers/A2AToolHandlers.d.ts.map +1 -1
- package/dist/mcp/handlers/A2AToolHandlers.js +24 -4
- package/dist/mcp/handlers/A2AToolHandlers.js.map +1 -1
- package/dist/mcp/resources/buddy-do-skill.md +1 -1
- package/dist/mcp/schemas/OutputSchemas.d.ts +16 -0
- package/dist/mcp/schemas/OutputSchemas.d.ts.map +1 -1
- package/dist/mcp/schemas/OutputSchemas.js +12 -0
- package/dist/mcp/schemas/OutputSchemas.js.map +1 -1
- package/dist/mcp/server-bootstrap.js +178 -27
- package/dist/mcp/server-bootstrap.js.map +1 -1
- package/dist/mcp/server.d.ts +10 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +108 -9
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools/a2a-list-tasks.d.ts +13 -0
- package/dist/mcp/tools/a2a-list-tasks.d.ts.map +1 -0
- package/dist/mcp/tools/a2a-list-tasks.js +24 -0
- package/dist/mcp/tools/a2a-list-tasks.js.map +1 -0
- package/dist/mcp/tools/a2a-report-result.d.ts +35 -0
- package/dist/mcp/tools/a2a-report-result.d.ts.map +1 -0
- package/dist/mcp/tools/a2a-report-result.js +73 -0
- package/dist/mcp/tools/a2a-report-result.js.map +1 -0
- package/dist/mcp/tools/buddy-do.d.ts.map +1 -1
- package/dist/mcp/tools/buddy-do.js.map +1 -1
- package/dist/mcp/tools/buddy-help.d.ts.map +1 -1
- package/dist/mcp/tools/buddy-help.js +6 -14
- package/dist/mcp/tools/buddy-help.js.map +1 -1
- package/dist/mcp/validation.d.ts +1 -1
- package/dist/memory/AutoMemoryRecorder.d.ts +35 -0
- package/dist/memory/AutoMemoryRecorder.d.ts.map +1 -0
- package/dist/memory/AutoMemoryRecorder.js +164 -0
- package/dist/memory/AutoMemoryRecorder.js.map +1 -0
- package/dist/memory/AutoTagger.d.ts +9 -0
- package/dist/memory/AutoTagger.d.ts.map +1 -0
- package/dist/memory/AutoTagger.js +148 -0
- package/dist/memory/AutoTagger.js.map +1 -0
- package/dist/memory/SecretManager.d.ts.map +1 -1
- package/dist/memory/SecretManager.js +47 -14
- package/dist/memory/SecretManager.js.map +1 -1
- package/dist/memory/SmartMemoryQuery.d.ts +9 -0
- package/dist/memory/SmartMemoryQuery.d.ts.map +1 -0
- package/dist/memory/SmartMemoryQuery.js +65 -0
- package/dist/memory/SmartMemoryQuery.js.map +1 -0
- package/dist/memory/UnifiedMemoryStore.d.ts +1 -0
- package/dist/memory/UnifiedMemoryStore.d.ts.map +1 -1
- package/dist/memory/UnifiedMemoryStore.js +211 -38
- package/dist/memory/UnifiedMemoryStore.js.map +1 -1
- package/dist/memory/UserPreferenceEngine.d.ts.map +1 -1
- package/dist/memory/UserPreferenceEngine.js +5 -4
- package/dist/memory/UserPreferenceEngine.js.map +1 -1
- package/dist/memory/types/unified-memory.d.ts +2 -0
- package/dist/memory/types/unified-memory.d.ts.map +1 -1
- package/dist/memory/types/unified-memory.js +2 -0
- package/dist/memory/types/unified-memory.js.map +1 -1
- package/dist/orchestrator/AgentRouter.d.ts.map +1 -1
- package/dist/orchestrator/AgentRouter.js +5 -4
- package/dist/orchestrator/AgentRouter.js.map +1 -1
- package/dist/orchestrator/GlobalResourcePool.d.ts.map +1 -1
- package/dist/orchestrator/GlobalResourcePool.js +70 -0
- package/dist/orchestrator/GlobalResourcePool.js.map +1 -1
- package/dist/ui/AttributionManager.js +2 -2
- package/dist/ui/AttributionManager.js.map +1 -1
- package/dist/ui/ProgressIndicator.d.ts +35 -0
- package/dist/ui/ProgressIndicator.d.ts.map +1 -0
- package/dist/ui/ProgressIndicator.js +177 -0
- package/dist/ui/ProgressIndicator.js.map +1 -0
- package/dist/ui/ResponseFormatter.d.ts +8 -0
- package/dist/ui/ResponseFormatter.d.ts.map +1 -1
- package/dist/ui/ResponseFormatter.js +220 -35
- package/dist/ui/ResponseFormatter.js.map +1 -1
- package/dist/ui/design-tokens.d.ts +37 -0
- package/dist/ui/design-tokens.d.ts.map +1 -0
- package/dist/ui/design-tokens.js +105 -0
- package/dist/ui/design-tokens.js.map +1 -0
- package/dist/ui/theme.d.ts +14 -4
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +7 -2
- package/dist/ui/theme.js.map +1 -1
- package/dist/utils/PathResolver.d.ts.map +1 -1
- package/dist/utils/PathResolver.js +3 -2
- package/dist/utils/PathResolver.js.map +1 -1
- package/dist/utils/SystemResources.d.ts.map +1 -1
- package/dist/utils/SystemResources.js +9 -11
- package/dist/utils/SystemResources.js.map +1 -1
- package/dist/utils/errorHandler.d.ts +6 -0
- package/dist/utils/errorHandler.d.ts.map +1 -1
- package/dist/utils/errorHandler.js +50 -1
- package/dist/utils/errorHandler.js.map +1 -1
- package/dist/utils/index.d.ts +19 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +17 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/json.d.ts.map +1 -1
- package/dist/utils/json.js +11 -1
- package/dist/utils/json.js.map +1 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +65 -3
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/lru-cache.d.ts +7 -0
- package/dist/utils/lru-cache.d.ts.map +1 -1
- package/dist/utils/lru-cache.js +37 -7
- package/dist/utils/lru-cache.js.map +1 -1
- package/dist/utils/safeMath.d.ts +11 -0
- package/dist/utils/safeMath.d.ts.map +1 -0
- package/dist/utils/safeMath.js +92 -0
- package/dist/utils/safeMath.js.map +1 -0
- package/dist/utils/tracing/TraceContext.d.ts +23 -0
- package/dist/utils/tracing/TraceContext.d.ts.map +1 -0
- package/dist/utils/tracing/TraceContext.js +127 -0
- package/dist/utils/tracing/TraceContext.js.map +1 -0
- package/dist/utils/tracing/index.d.ts +3 -0
- package/dist/utils/tracing/index.d.ts.map +1 -0
- package/dist/utils/tracing/index.js +3 -0
- package/dist/utils/tracing/index.js.map +1 -0
- package/dist/utils/tracing/middleware.d.ts +15 -0
- package/dist/utils/tracing/middleware.d.ts.map +1 -0
- package/dist/utils/tracing/middleware.js +49 -0
- package/dist/utils/tracing/middleware.js.map +1 -0
- package/dist/utils/validation.d.ts +12 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +87 -0
- package/dist/utils/validation.js.map +1 -0
- package/mcp.json +9 -0
- package/package.json +10 -2
- package/plugin.json +2 -12
- package/scripts/postinstall.js +191 -21
- package/README.md.backup +0 -536
- package/README.zh-TW.md.backup +0 -446
|
@@ -8,10 +8,51 @@ export class ResourceMonitor {
|
|
|
8
8
|
activeIntervals = new Set();
|
|
9
9
|
disposed = false;
|
|
10
10
|
constructor(maxBackgroundAgents = 6, thresholds) {
|
|
11
|
+
if (!Number.isFinite(maxBackgroundAgents)) {
|
|
12
|
+
throw new ValidationError('Max background agents must be finite', {
|
|
13
|
+
providedValue: maxBackgroundAgents,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
if (!Number.isSafeInteger(maxBackgroundAgents)) {
|
|
17
|
+
throw new ValidationError('Max background agents must be safe integer', {
|
|
18
|
+
providedValue: maxBackgroundAgents,
|
|
19
|
+
max: Number.MAX_SAFE_INTEGER,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
if (maxBackgroundAgents < 1) {
|
|
23
|
+
throw new ValidationError('Max background agents must be >= 1', {
|
|
24
|
+
providedValue: maxBackgroundAgents,
|
|
25
|
+
min: 1,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
const maxCPU = thresholds?.maxCPU ?? 70;
|
|
29
|
+
if (!Number.isFinite(maxCPU)) {
|
|
30
|
+
throw new ValidationError('Max CPU must be finite', {
|
|
31
|
+
providedValue: maxCPU,
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
if (maxCPU < 0 || maxCPU > 100) {
|
|
35
|
+
throw new ValidationError('Max CPU must be 0-100', {
|
|
36
|
+
providedValue: maxCPU,
|
|
37
|
+
range: [0, 100],
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
const maxMemory = thresholds?.maxMemory ?? 8192;
|
|
41
|
+
if (!Number.isFinite(maxMemory)) {
|
|
42
|
+
throw new ValidationError('Max memory must be finite', {
|
|
43
|
+
providedValue: maxMemory,
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (maxMemory < 0) {
|
|
47
|
+
throw new ValidationError('Max memory must be non-negative', {
|
|
48
|
+
providedValue: maxMemory,
|
|
49
|
+
min: 0,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
11
52
|
this.maxBackgroundAgents = maxBackgroundAgents;
|
|
12
53
|
this.thresholds = {
|
|
13
|
-
maxCPU
|
|
14
|
-
maxMemory
|
|
54
|
+
maxCPU,
|
|
55
|
+
maxMemory,
|
|
15
56
|
};
|
|
16
57
|
}
|
|
17
58
|
getCurrentResources() {
|
|
@@ -106,6 +147,11 @@ export class ResourceMonitor {
|
|
|
106
147
|
return this.activeBackgroundCount;
|
|
107
148
|
}
|
|
108
149
|
setMaxCPU(percentage) {
|
|
150
|
+
if (!Number.isFinite(percentage)) {
|
|
151
|
+
throw new ValidationError('CPU percentage must be finite', {
|
|
152
|
+
value: percentage,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
109
155
|
if (percentage < 0 || percentage > 100) {
|
|
110
156
|
throw new ValidationError('CPU percentage must be between 0 and 100', {
|
|
111
157
|
value: percentage,
|
|
@@ -116,6 +162,11 @@ export class ResourceMonitor {
|
|
|
116
162
|
this.thresholds.maxCPU = percentage;
|
|
117
163
|
}
|
|
118
164
|
setMaxMemory(megabytes) {
|
|
165
|
+
if (!Number.isFinite(megabytes)) {
|
|
166
|
+
throw new ValidationError('Memory must be finite', {
|
|
167
|
+
value: megabytes,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
119
170
|
if (megabytes < 0) {
|
|
120
171
|
throw new ValidationError('Memory must be positive', {
|
|
121
172
|
value: megabytes,
|
|
@@ -125,6 +176,17 @@ export class ResourceMonitor {
|
|
|
125
176
|
this.thresholds.maxMemory = megabytes;
|
|
126
177
|
}
|
|
127
178
|
setMaxBackgroundAgents(count) {
|
|
179
|
+
if (!Number.isFinite(count)) {
|
|
180
|
+
throw new ValidationError('Max agents must be finite', {
|
|
181
|
+
value: count,
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
if (!Number.isSafeInteger(count)) {
|
|
185
|
+
throw new ValidationError('Max agents must be safe integer', {
|
|
186
|
+
value: count,
|
|
187
|
+
max: Number.MAX_SAFE_INTEGER,
|
|
188
|
+
});
|
|
189
|
+
}
|
|
128
190
|
if (count < 1) {
|
|
129
191
|
throw new ValidationError('Max background agents must be at least 1', {
|
|
130
192
|
value: count,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourceMonitor.js","sourceRoot":"","sources":["../../src/core/ResourceMonitor.ts"],"names":[],"mappings":"AA4CA,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAc5C,MAAM,OAAO,eAAe;IAClB,qBAAqB,GAAW,CAAC,CAAC;IAClC,mBAAmB,CAAS;IAC5B,UAAU,CAGhB;IAMM,eAAe,GAAwB,IAAI,GAAG,EAAE,CAAC;IAKjD,QAAQ,GAAY,KAAK,CAAC;IA+BlC,YACE,sBAA8B,CAAC,EAC/B,UAGC;
|
|
1
|
+
{"version":3,"file":"ResourceMonitor.js","sourceRoot":"","sources":["../../src/core/ResourceMonitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultHandler.d.ts","sourceRoot":"","sources":["../../src/core/ResultHandler.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsB5C,qBAAa,aAAa;IA8BxB,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ResultHandler.d.ts","sourceRoot":"","sources":["../../src/core/ResultHandler.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsB5C,qBAAa,aAAa;IA8BxB,eAAe,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IA2D5D,YAAY,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IA6CtD,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IA4B3C,OAAO,CAAC,eAAe;IAuBvB,OAAO,CAAC,qBAAqB;CAyB9B"}
|
|
@@ -2,6 +2,10 @@ import { logger } from '../utils/logger.js';
|
|
|
2
2
|
import { looksLikeSensitive, hashValue } from '../telemetry/sanitization.js';
|
|
3
3
|
export class ResultHandler {
|
|
4
4
|
handleCompleted(task, result) {
|
|
5
|
+
if (task.status === 'completed' || task.status === 'failed' || task.status === 'cancelled') {
|
|
6
|
+
logger.debug(`BackgroundExecutor: Task ${task.taskId} already in terminal state '${task.status}', skipping completion update`);
|
|
7
|
+
return;
|
|
8
|
+
}
|
|
5
9
|
task.status = 'completed';
|
|
6
10
|
task.endTime = new Date();
|
|
7
11
|
task.result = result;
|
|
@@ -15,6 +19,10 @@ export class ResultHandler {
|
|
|
15
19
|
}, task.taskId, 'onComplete');
|
|
16
20
|
}
|
|
17
21
|
handleFailed(task, error) {
|
|
22
|
+
if (task.status === 'completed' || task.status === 'failed' || task.status === 'cancelled') {
|
|
23
|
+
logger.debug(`BackgroundExecutor: Task ${task.taskId} already in terminal state '${task.status}', skipping failure update`);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
18
26
|
task.status = 'failed';
|
|
19
27
|
task.endTime = new Date();
|
|
20
28
|
task.error = error;
|
|
@@ -24,6 +32,10 @@ export class ResultHandler {
|
|
|
24
32
|
}, task.taskId, 'onError');
|
|
25
33
|
}
|
|
26
34
|
handleCancelled(task) {
|
|
35
|
+
if (task.status === 'completed' || task.status === 'failed' || task.status === 'cancelled') {
|
|
36
|
+
logger.debug(`BackgroundExecutor: Task ${task.taskId} already in terminal state '${task.status}', skipping cancellation update`);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
27
39
|
task.status = 'cancelled';
|
|
28
40
|
task.endTime = new Date();
|
|
29
41
|
logger.info(`BackgroundExecutor: Task ${task.taskId} cancelled`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResultHandler.js","sourceRoot":"","sources":["../../src/core/ResultHandler.ts"],"names":[],"mappings":"AAgCA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAoB7E,MAAM,OAAO,aAAa;IA8BxB,eAAe,CAAC,IAAoB,EAAE,MAAe;
|
|
1
|
+
{"version":3,"file":"ResultHandler.js","sourceRoot":"","sources":["../../src/core/ResultHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContextMonitor.d.ts","sourceRoot":"","sources":["../../src/core/SessionContextMonitor.ts"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AA0BpE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AA6BrE,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,cAAc,CAAC;AAmCnB,MAAM,WAAW,cAAc;IAE7B,IAAI,EAAE,WAAW,CAAC;IAElB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAEvC,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAmCD,MAAM,WAAW,qBAAqB;IAEpC,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAEjD,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAqDD,MAAM,WAAW,aAAa;IAE5B,MAAM,EAAE,mBAAmB,CAAC;IAE5B,oBAAoB,EAAE,MAAM,CAAC;IAE7B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAE3B,eAAe,EAAE,qBAAqB,EAAE,CAAC;IAEzC,SAAS,EAAE,IAAI,CAAC;CACjB;AAwDD,qBAAa,qBAAqB;IA4CpB,OAAO,CAAC,YAAY;IA1ChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAGrD,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,eAAe,CAAqB;gBAiCxB,YAAY,EAAE,mBAAmB;IAkErD,kBAAkB,IAAI,aAAa;IAiJnC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAoEvC,OAAO,CAAC,uBAAuB;
|
|
1
|
+
{"version":3,"file":"SessionContextMonitor.d.ts","sourceRoot":"","sources":["../../src/core/SessionContextMonitor.ts"],"names":[],"mappings":"AA8DA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AA0BpE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AA6BrE,MAAM,MAAM,WAAW,GACnB,iBAAiB,GACjB,qBAAqB,GACrB,mBAAmB,GACnB,cAAc,CAAC;AAmCnB,MAAM,WAAW,cAAc;IAE7B,IAAI,EAAE,WAAW,CAAC;IAElB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAEvC,OAAO,EAAE,MAAM,CAAC;IAEhB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAmCD,MAAM,WAAW,qBAAqB;IAEpC,MAAM,EAAE,MAAM,CAAC;IAEf,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAEjD,WAAW,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAqDD,MAAM,WAAW,aAAa;IAE5B,MAAM,EAAE,mBAAmB,CAAC;IAE5B,oBAAoB,EAAE,MAAM,CAAC;IAE7B,QAAQ,EAAE,cAAc,EAAE,CAAC;IAE3B,eAAe,EAAE,qBAAqB,EAAE,CAAC;IAEzC,SAAS,EAAE,IAAI,CAAC;CACjB;AAwDD,qBAAa,qBAAqB;IA4CpB,OAAO,CAAC,YAAY;IA1ChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAM;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IAEjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAQ;IAGrD,OAAO,CAAC,cAAc,CAAgB;IAEtC,OAAO,CAAC,eAAe,CAAqB;gBAiCxB,YAAY,EAAE,mBAAmB;IAkErD,kBAAkB,IAAI,aAAa;IAiJnC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAoEvC,OAAO,CAAC,uBAAuB;IAoG/B,OAAO,CAAC,eAAe;IAgEvB,QAAQ;;;;;CAOT"}
|
|
@@ -113,11 +113,14 @@ export class SessionContextMonitor {
|
|
|
113
113
|
}
|
|
114
114
|
const recent = this.qualityHistory.slice(-3);
|
|
115
115
|
const previous = this.qualityHistory.slice(-6, -3);
|
|
116
|
-
if (previous.length === 0) {
|
|
116
|
+
if (previous.length === 0 || recent.length === 0) {
|
|
117
117
|
return null;
|
|
118
118
|
}
|
|
119
119
|
const recentAvg = recent.reduce((a, b) => a + b, 0) / recent.length;
|
|
120
120
|
const previousAvg = previous.reduce((a, b) => a + b, 0) / previous.length;
|
|
121
|
+
if (!Number.isFinite(recentAvg) || !Number.isFinite(previousAvg)) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
121
124
|
if (previousAvg === 0) {
|
|
122
125
|
return null;
|
|
123
126
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionContextMonitor.js","sourceRoot":"","sources":["../../src/core/SessionContextMonitor.ts"],"names":[],"mappings":"AA+DA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA0QjE,MAAM,OAAO,qBAAqB;IA4CZ;IA1CZ,MAAM,CAAU,mBAAmB,GAAG,EAAE,CAAC;IAEzC,MAAM,CAAU,oBAAoB,GAAG,CAAC,CAAC;IAEzC,MAAM,CAAU,qBAAqB,GAAG,IAAI,CAAC;IAG7C,cAAc,GAAa,EAAE,CAAC;IAE9B,eAAe,GAAgB,IAAI,CAAC;IAiC5C,YAAoB,YAAiC;QAAjC,iBAAY,GAAZ,YAAY,CAAqB;QACnD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,UAAU,CAAC,iCAAiC,EAAE;gBACtD,SAAS,EAAE,uBAAuB;gBAClC,kBAAkB,EAAE,qBAAqB;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IA2DD,kBAAkB;QAChB,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,MAAM,eAAe,GAA4B,EAAE,CAAC;QACpD,IAAI,iBAAiB,CAAC;QACtB,IAAI,eAAe,CAAC;QAEpB,IAAI,CAAC;YACH,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;YACxD,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YAEjC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK;gBACzC,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,oBAAoB,EAAE,CAAC;gBACvB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,wBAAwB,YAAY,EAAE;wBAC/C,IAAI,EAAE,EAAE;qBACT;iBACF;gBACD,eAAe,EAAE,EAAE;gBACnB,SAAS;aACV,CAAC;QACJ,CAAC;QAGD,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,IAAI,EAAE;oBACJ,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,eAAe,EAAE,EAAE,CAAC,eAAe;iBACpC;aACF,CAAC,CAAC;YAGH,IAAI,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,kBAAkB;oBAC1B,QAAQ,EAAE,UAAU;oBACpB,WAAW,EAAE,qCAAqC;oBAClD,SAAS,EAAE,oCAAoC,EAAE,CAAC,SAAS,SAAS;iBACrE,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAClC,eAAe,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,gBAAgB;oBACxB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,mCAAmC;oBAChD,SAAS,EAAE,gCAAgC,EAAE,CAAC,SAAS,SAAS;iBACjE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACtD,IAAI,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9B,eAAe,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,iBAAiB;gBACzB,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,oCAAoC;gBACjD,SAAS,EAAE,0CAA0C;aACtD,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEjC,OAAO;YACL,MAAM;YACN,oBAAoB,EAAE,eAAe;YACrC,QAAQ;YACR,eAAe;YACf,SAAS;SACV,CAAC;IACJ,CAAC;IAwDD,kBAAkB,CAAC,KAAa;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,eAAe,CAAC,uDAAuD,EAAE;gBACjF,aAAa,EAAE,KAAK;gBACpB,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;gBAC9B,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhC,OACE,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,qBAAqB,CAAC,mBAAmB,EACtE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAoDO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,qBAAqB,CAAC,oBAAoB,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SessionContextMonitor.js","sourceRoot":"","sources":["../../src/core/SessionContextMonitor.ts"],"names":[],"mappings":"AA+DA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AA0QjE,MAAM,OAAO,qBAAqB;IA4CZ;IA1CZ,MAAM,CAAU,mBAAmB,GAAG,EAAE,CAAC;IAEzC,MAAM,CAAU,oBAAoB,GAAG,CAAC,CAAC;IAEzC,MAAM,CAAU,qBAAqB,GAAG,IAAI,CAAC;IAG7C,cAAc,GAAa,EAAE,CAAC;IAE9B,eAAe,GAAgB,IAAI,CAAC;IAiC5C,YAAoB,YAAiC;QAAjC,iBAAY,GAAZ,YAAY,CAAqB;QACnD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,MAAM,IAAI,UAAU,CAAC,iCAAiC,EAAE;gBACtD,SAAS,EAAE,uBAAuB;gBAClC,kBAAkB,EAAE,qBAAqB;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IA2DD,kBAAkB;QAChB,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,MAAM,eAAe,GAA4B,EAAE,CAAC;QACpD,IAAI,iBAAiB,CAAC;QACtB,IAAI,eAAe,CAAC;QAEpB,IAAI,CAAC;YACH,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;YACxD,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEf,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YAEjC,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK;gBACzC,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;gBACL,MAAM,EAAE,UAAU;gBAClB,oBAAoB,EAAE,CAAC;gBACvB,QAAQ,EAAE;oBACR;wBACE,IAAI,EAAE,cAAc;wBACpB,KAAK,EAAE,UAAU;wBACjB,OAAO,EAAE,wBAAwB,YAAY,EAAE;wBAC/C,IAAI,EAAE,EAAE;qBACT;iBACF;gBACD,eAAe,EAAE,EAAE;gBACnB,SAAS;aACV,CAAC;QACJ,CAAC;QAGD,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACnC,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,OAAO,EAAE,EAAE,CAAC,OAAO;gBACnB,IAAI,EAAE;oBACJ,SAAS,EAAE,EAAE,CAAC,SAAS;oBACvB,UAAU,EAAE,EAAE,CAAC,UAAU;oBACzB,eAAe,EAAE,EAAE,CAAC,eAAe;iBACpC;aACF,CAAC,CAAC;YAGH,IAAI,EAAE,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBAC5B,eAAe,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,kBAAkB;oBAC1B,QAAQ,EAAE,UAAU;oBACpB,WAAW,EAAE,qCAAqC;oBAClD,SAAS,EAAE,oCAAoC,EAAE,CAAC,SAAS,SAAS;iBACrE,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAClC,eAAe,CAAC,IAAI,CAAC;oBACnB,MAAM,EAAE,gBAAgB;oBACxB,QAAQ,EAAE,QAAQ;oBAClB,WAAW,EAAE,mCAAmC;oBAChD,SAAS,EAAE,gCAAgC,EAAE,CAAC,SAAS,SAAS;iBACjE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAGD,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACtD,IAAI,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC9B,eAAe,CAAC,IAAI,CAAC;gBACnB,MAAM,EAAE,iBAAiB;gBACzB,QAAQ,EAAE,MAAM;gBAChB,WAAW,EAAE,oCAAoC;gBACjD,SAAS,EAAE,0CAA0C;aACtD,CAAC,CAAC;QACL,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAE9C,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QAEjC,OAAO;YACL,MAAM;YACN,oBAAoB,EAAE,eAAe;YACrC,QAAQ;YACR,eAAe;YACf,SAAS;SACV,CAAC;IACJ,CAAC;IAwDD,kBAAkB,CAAC,KAAa;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,eAAe,CAAC,uDAAuD,EAAE;gBACjF,aAAa,EAAE,KAAK;gBACpB,UAAU,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;gBAC9B,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhC,OACE,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,qBAAqB,CAAC,mBAAmB,EACtE,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAoDO,uBAAuB;QAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,qBAAqB,CAAC,oBAAoB,EAAE,CAAC;YAC5E,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAGnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QACpE,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC;QAGxD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAGD,IACE,SAAS;YACT,WAAW,GAAG,CAAC,CAAC,GAAG,qBAAqB,CAAC,qBAAqB,CAAC,EAC/D,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,6BAA6B,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;gBACzF,IAAI,EAAE;oBACJ,SAAS;oBACT,WAAW;oBACX,cAAc,EAAE,CAAC,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,WAAW,CAAC,GAAG,GAAG;iBAChE;aACF,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAsDO,eAAe,CAAC,QAA0B;QAChD,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;QAE/D,IAAI,WAAW;YAAE,OAAO,UAAU,CAAC;QACnC,IAAI,UAAU;YAAE,OAAO,SAAS,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IAyDD,QAAQ;QACN,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YACxC,cAAc,EAAE,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;YACxC,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC;IACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionTokenTracker.d.ts","sourceRoot":"","sources":["../../src/core/SessionTokenTracker.ts"],"names":[],"mappings":"AA+DA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAKD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;CACxC;AAKD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAKD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAwCD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,mBAAmB,CAA0B;gBAEzC,MAAM,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"SessionTokenTracker.d.ts","sourceRoot":"","sources":["../../src/core/SessionTokenTracker.ts"],"names":[],"mappings":"AA+DA,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAKD,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;CACxC;AAKD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAKD,MAAM,WAAW,yBAAyB;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;CAChC;AAwCD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,mBAAmB,CAA0B;gBAEzC,MAAM,EAAE,yBAAyB;IA8E7C,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAqEpC,cAAc,IAAI,MAAM;IAuBxB,kBAAkB,IAAI,MAAM;IAW5B,eAAe,IAAI,gBAAgB,EAAE;IA0BrC,QAAQ,IAAI,YAAY;IAcxB,KAAK,IAAI,IAAI;CAKd"}
|
|
@@ -6,12 +6,38 @@ export class SessionTokenTracker {
|
|
|
6
6
|
usageHistory = [];
|
|
7
7
|
triggeredThresholds = new Set();
|
|
8
8
|
constructor(config) {
|
|
9
|
+
if (!Number.isFinite(config.tokenLimit)) {
|
|
10
|
+
throw new ValidationError('Token limit must be finite number', {
|
|
11
|
+
providedValue: config.tokenLimit,
|
|
12
|
+
});
|
|
13
|
+
}
|
|
9
14
|
if (config.tokenLimit <= 0) {
|
|
10
15
|
throw new ValidationError('Token limit must be positive', {
|
|
11
16
|
providedValue: config.tokenLimit,
|
|
12
17
|
expectedCondition: 'positive number (> 0)',
|
|
13
18
|
});
|
|
14
19
|
}
|
|
20
|
+
if (config.tokenLimit > Number.MAX_SAFE_INTEGER) {
|
|
21
|
+
throw new ValidationError('Token limit exceeds safe integer', {
|
|
22
|
+
providedValue: config.tokenLimit,
|
|
23
|
+
max: Number.MAX_SAFE_INTEGER,
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
if (config.thresholds) {
|
|
27
|
+
for (const threshold of config.thresholds) {
|
|
28
|
+
if (!Number.isFinite(threshold.percentage)) {
|
|
29
|
+
throw new ValidationError('Threshold percentage must be finite', {
|
|
30
|
+
providedValue: threshold.percentage,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
if (threshold.percentage < 0 || threshold.percentage > 100) {
|
|
34
|
+
throw new ValidationError('Threshold percentage must be 0-100', {
|
|
35
|
+
providedValue: threshold.percentage,
|
|
36
|
+
range: [0, 100],
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
15
41
|
this.tokenLimit = config.tokenLimit;
|
|
16
42
|
this.thresholds = config.thresholds || [
|
|
17
43
|
{ percentage: 80, level: 'warning' },
|
|
@@ -19,6 +45,16 @@ export class SessionTokenTracker {
|
|
|
19
45
|
];
|
|
20
46
|
}
|
|
21
47
|
recordUsage(usage) {
|
|
48
|
+
if (!Number.isFinite(usage.inputTokens)) {
|
|
49
|
+
throw new ValidationError('Input tokens must be finite', {
|
|
50
|
+
providedValue: usage.inputTokens,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
if (!Number.isFinite(usage.outputTokens)) {
|
|
54
|
+
throw new ValidationError('Output tokens must be finite', {
|
|
55
|
+
providedValue: usage.outputTokens,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
22
58
|
if (usage.inputTokens < 0 || usage.outputTokens < 0) {
|
|
23
59
|
throw new ValidationError('Token counts must be non-negative', {
|
|
24
60
|
inputTokens: usage.inputTokens,
|
|
@@ -27,7 +63,24 @@ export class SessionTokenTracker {
|
|
|
27
63
|
});
|
|
28
64
|
}
|
|
29
65
|
const total = usage.inputTokens + usage.outputTokens;
|
|
30
|
-
|
|
66
|
+
if (!Number.isSafeInteger(total)) {
|
|
67
|
+
throw new ValidationError('Token sum exceeds safe integer', {
|
|
68
|
+
inputTokens: usage.inputTokens,
|
|
69
|
+
outputTokens: usage.outputTokens,
|
|
70
|
+
total,
|
|
71
|
+
max: Number.MAX_SAFE_INTEGER,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
const newTotal = this.totalTokens + total;
|
|
75
|
+
if (!Number.isSafeInteger(newTotal)) {
|
|
76
|
+
throw new ValidationError('Total tokens would exceed safe integer', {
|
|
77
|
+
currentTotal: this.totalTokens,
|
|
78
|
+
addingTokens: total,
|
|
79
|
+
newTotal,
|
|
80
|
+
max: Number.MAX_SAFE_INTEGER,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
this.totalTokens = newTotal;
|
|
31
84
|
this.usageHistory.push({
|
|
32
85
|
...usage,
|
|
33
86
|
timestamp: usage.timestamp || new Date(),
|
|
@@ -37,7 +90,10 @@ export class SessionTokenTracker {
|
|
|
37
90
|
return this.totalTokens;
|
|
38
91
|
}
|
|
39
92
|
getUsagePercentage() {
|
|
40
|
-
|
|
93
|
+
if (this.tokenLimit <= 0)
|
|
94
|
+
return 0;
|
|
95
|
+
const percentage = (this.totalTokens / this.tokenLimit) * 100;
|
|
96
|
+
return Number.isFinite(percentage) ? percentage : 0;
|
|
41
97
|
}
|
|
42
98
|
checkThresholds() {
|
|
43
99
|
const percentage = this.getUsagePercentage();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionTokenTracker.js","sourceRoot":"","sources":["../../src/core/SessionTokenTracker.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAoGrD,MAAM,OAAO,mBAAmB;IACtB,WAAW,GAAW,CAAC,CAAC;IACxB,UAAU,CAAS;IACnB,UAAU,CAAoB;IAC9B,YAAY,GAAiB,EAAE,CAAC;IAChC,mBAAmB,GAAgB,IAAI,GAAG,EAAE,CAAC;IAErD,YAAY,MAAiC;
|
|
1
|
+
{"version":3,"file":"SessionTokenTracker.js","sourceRoot":"","sources":["../../src/core/SessionTokenTracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionPool.d.ts","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"AAkDA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQnD,MAAM,WAAW,qBAAqB;IAcpC,cAAc,EAAE,MAAM,CAAC;IAUvB,iBAAiB,EAAE,MAAM,CAAC;IAU1B,WAAW,EAAE,MAAM,CAAC;IASpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAQD,MAAM,WAAW,SAAS;IAMxB,KAAK,EAAE,MAAM,CAAC;IAOd,MAAM,EAAE,MAAM,CAAC;IAOf,IAAI,EAAE,MAAM,CAAC;IAQb,OAAO,EAAE,MAAM,CAAC;IAOhB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;CACvB;
|
|
1
|
+
{"version":3,"file":"ConnectionPool.d.ts","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"AAkDA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAQnD,MAAM,WAAW,qBAAqB;IAcpC,cAAc,EAAE,MAAM,CAAC;IAUvB,iBAAiB,EAAE,MAAM,CAAC;IAU1B,WAAW,EAAE,MAAM,CAAC;IASpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAQD,MAAM,WAAW,SAAS;IAMxB,KAAK,EAAE,MAAM,CAAC;IAOd,MAAM,EAAE,MAAM,CAAC;IAOf,IAAI,EAAE,MAAM,CAAC;IAQb,OAAO,EAAE,MAAM,CAAC;IAOhB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;IAOtB,aAAa,EAAE,MAAM,CAAC;CACvB;AAgFD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAU;IACzC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAA4B;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4B;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAIhB;IAGR,OAAO,CAAC,KAAK,CAKX;IAEF,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,cAAc,CAAS;IAG/B,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,QAAQ,CAAC,mCAAmC,CAAK;gBA+BvD,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAO,CAAC,qBAAqB,CAAM,EAC5C,aAAa,CAAC,EAAE,OAAO;IA0HzB,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,gBAAgB;YAwDV,yBAAyB;IAkDvC,OAAO,CAAC,iBAAiB;YAgBX,kBAAkB;IAuE1B,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAsC7B,gBAAgB;IA8D9B,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI;IAmEpC,QAAQ,IAAI,SAAS;IAqBrB,OAAO,CAAC,gBAAgB;YA8DV,kBAAkB;YAgHlB,eAAe;IAyEvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAwD/B,SAAS,IAAI,OAAO;CAGrB"}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
import Database from 'better-sqlite3';
|
|
2
2
|
import { logger } from '../utils/logger.js';
|
|
3
|
+
const MAX_SAFE_CONNECTIONS = 100;
|
|
4
|
+
const MAX_SAFE_TIMEOUT_MS = 10 * 60 * 1000;
|
|
5
|
+
const MIN_CONNECTION_TIMEOUT_MS = 1000;
|
|
6
|
+
const MIN_IDLE_TIMEOUT_MS = 5000;
|
|
7
|
+
const MIN_HEALTH_CHECK_INTERVAL_MS = 5000;
|
|
8
|
+
const MAX_HEALTH_CHECK_INTERVAL_MS = 10 * 60 * 1000;
|
|
3
9
|
export class ConnectionPool {
|
|
4
10
|
dbPath;
|
|
5
11
|
options;
|
|
@@ -29,6 +35,62 @@ export class ConnectionPool {
|
|
|
29
35
|
if (this.options.maxConnections < 1) {
|
|
30
36
|
throw new Error('maxConnections must be at least 1');
|
|
31
37
|
}
|
|
38
|
+
if (this.options.maxConnections > MAX_SAFE_CONNECTIONS) {
|
|
39
|
+
logger.warn(`[ConnectionPool] maxConnections (${this.options.maxConnections}) exceeds safe limit (${MAX_SAFE_CONNECTIONS}). ` +
|
|
40
|
+
`Clamping to ${MAX_SAFE_CONNECTIONS} to prevent file descriptor exhaustion.`, {
|
|
41
|
+
requested: this.options.maxConnections,
|
|
42
|
+
clamped: MAX_SAFE_CONNECTIONS,
|
|
43
|
+
});
|
|
44
|
+
this.options.maxConnections = MAX_SAFE_CONNECTIONS;
|
|
45
|
+
}
|
|
46
|
+
if (this.options.connectionTimeout < MIN_CONNECTION_TIMEOUT_MS) {
|
|
47
|
+
logger.warn(`[ConnectionPool] connectionTimeout (${this.options.connectionTimeout}ms) below safe minimum (${MIN_CONNECTION_TIMEOUT_MS}ms). ` +
|
|
48
|
+
`Clamping to ${MIN_CONNECTION_TIMEOUT_MS}ms.`, {
|
|
49
|
+
requested: this.options.connectionTimeout,
|
|
50
|
+
clamped: MIN_CONNECTION_TIMEOUT_MS,
|
|
51
|
+
});
|
|
52
|
+
this.options.connectionTimeout = MIN_CONNECTION_TIMEOUT_MS;
|
|
53
|
+
}
|
|
54
|
+
if (this.options.connectionTimeout > MAX_SAFE_TIMEOUT_MS) {
|
|
55
|
+
logger.warn(`[ConnectionPool] connectionTimeout (${this.options.connectionTimeout}ms) exceeds safe limit (${MAX_SAFE_TIMEOUT_MS}ms). ` +
|
|
56
|
+
`Clamping to ${MAX_SAFE_TIMEOUT_MS}ms.`, {
|
|
57
|
+
requested: this.options.connectionTimeout,
|
|
58
|
+
clamped: MAX_SAFE_TIMEOUT_MS,
|
|
59
|
+
});
|
|
60
|
+
this.options.connectionTimeout = MAX_SAFE_TIMEOUT_MS;
|
|
61
|
+
}
|
|
62
|
+
if (this.options.idleTimeout < MIN_IDLE_TIMEOUT_MS) {
|
|
63
|
+
logger.warn(`[ConnectionPool] idleTimeout (${this.options.idleTimeout}ms) below safe minimum (${MIN_IDLE_TIMEOUT_MS}ms). ` +
|
|
64
|
+
`Clamping to ${MIN_IDLE_TIMEOUT_MS}ms.`, {
|
|
65
|
+
requested: this.options.idleTimeout,
|
|
66
|
+
clamped: MIN_IDLE_TIMEOUT_MS,
|
|
67
|
+
});
|
|
68
|
+
this.options.idleTimeout = MIN_IDLE_TIMEOUT_MS;
|
|
69
|
+
}
|
|
70
|
+
if (this.options.idleTimeout > MAX_SAFE_TIMEOUT_MS) {
|
|
71
|
+
logger.warn(`[ConnectionPool] idleTimeout (${this.options.idleTimeout}ms) exceeds safe limit (${MAX_SAFE_TIMEOUT_MS}ms). ` +
|
|
72
|
+
`Clamping to ${MAX_SAFE_TIMEOUT_MS}ms.`, {
|
|
73
|
+
requested: this.options.idleTimeout,
|
|
74
|
+
clamped: MAX_SAFE_TIMEOUT_MS,
|
|
75
|
+
});
|
|
76
|
+
this.options.idleTimeout = MAX_SAFE_TIMEOUT_MS;
|
|
77
|
+
}
|
|
78
|
+
if (this.options.healthCheckInterval < MIN_HEALTH_CHECK_INTERVAL_MS) {
|
|
79
|
+
logger.warn(`[ConnectionPool] healthCheckInterval (${this.options.healthCheckInterval}ms) below safe minimum (${MIN_HEALTH_CHECK_INTERVAL_MS}ms). ` +
|
|
80
|
+
`Clamping to ${MIN_HEALTH_CHECK_INTERVAL_MS}ms to prevent tight polling loop.`, {
|
|
81
|
+
requested: this.options.healthCheckInterval,
|
|
82
|
+
clamped: MIN_HEALTH_CHECK_INTERVAL_MS,
|
|
83
|
+
});
|
|
84
|
+
this.options.healthCheckInterval = MIN_HEALTH_CHECK_INTERVAL_MS;
|
|
85
|
+
}
|
|
86
|
+
if (this.options.healthCheckInterval > MAX_HEALTH_CHECK_INTERVAL_MS) {
|
|
87
|
+
logger.warn(`[ConnectionPool] healthCheckInterval (${this.options.healthCheckInterval}ms) exceeds safe limit (${MAX_HEALTH_CHECK_INTERVAL_MS}ms). ` +
|
|
88
|
+
`Clamping to ${MAX_HEALTH_CHECK_INTERVAL_MS}ms to ensure stale connections are detected.`, {
|
|
89
|
+
requested: this.options.healthCheckInterval,
|
|
90
|
+
clamped: MAX_HEALTH_CHECK_INTERVAL_MS,
|
|
91
|
+
});
|
|
92
|
+
this.options.healthCheckInterval = MAX_HEALTH_CHECK_INTERVAL_MS;
|
|
93
|
+
}
|
|
32
94
|
logger.info('Initializing connection pool', {
|
|
33
95
|
dbPath: this.dbPath,
|
|
34
96
|
maxConnections: this.options.maxConnections,
|
|
@@ -229,13 +291,13 @@ export class ConnectionPool {
|
|
|
229
291
|
logger.error('Attempted to release unknown connection - ignoring');
|
|
230
292
|
return;
|
|
231
293
|
}
|
|
232
|
-
metadata.lastReleased = Date.now();
|
|
233
|
-
this.stats.totalReleased++;
|
|
234
294
|
const availableIndex = this.available.indexOf(metadata);
|
|
235
295
|
if (availableIndex !== -1) {
|
|
236
296
|
logger.warn('Connection already released - ignoring duplicate release');
|
|
237
297
|
return;
|
|
238
298
|
}
|
|
299
|
+
metadata.lastReleased = Date.now();
|
|
300
|
+
this.stats.totalReleased++;
|
|
239
301
|
const waiting = this.waiting.shift();
|
|
240
302
|
if (waiting) {
|
|
241
303
|
clearTimeout(waiting.timeoutId);
|
|
@@ -306,48 +368,60 @@ export class ConnectionPool {
|
|
|
306
368
|
}
|
|
307
369
|
const now = Date.now();
|
|
308
370
|
let recycledCount = 0;
|
|
371
|
+
const staleConnections = [];
|
|
309
372
|
for (let i = this.available.length - 1; i >= 0; i--) {
|
|
310
373
|
const metadata = this.available[i];
|
|
311
374
|
const idleTime = now - metadata.lastReleased;
|
|
312
375
|
if (idleTime > this.options.idleTimeout) {
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
376
|
+
staleConnections.push({ metadata, availableIndex: i, idleTime });
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
for (const { metadata, idleTime } of staleConnections) {
|
|
380
|
+
logger.debug('Recycling idle connection', {
|
|
381
|
+
idleTime,
|
|
382
|
+
usageCount: metadata.usageCount,
|
|
383
|
+
});
|
|
384
|
+
const currentAvailableIndex = this.available.indexOf(metadata);
|
|
385
|
+
if (currentAvailableIndex !== -1) {
|
|
386
|
+
this.available.splice(currentAvailableIndex, 1);
|
|
387
|
+
}
|
|
388
|
+
let removedFromPool = false;
|
|
389
|
+
let poolIndex = this.pool.indexOf(metadata);
|
|
390
|
+
try {
|
|
391
|
+
metadata.db.close();
|
|
392
|
+
}
|
|
393
|
+
catch (error) {
|
|
394
|
+
logger.error('Error closing stale connection:', error);
|
|
395
|
+
if (poolIndex !== -1) {
|
|
396
|
+
this.pool.splice(poolIndex, 1);
|
|
397
|
+
removedFromPool = true;
|
|
398
|
+
logger.warn('[ConnectionPool] Removed zombie connection from pool', {
|
|
399
|
+
poolSize: this.pool.length,
|
|
400
|
+
targetSize: this.options.maxConnections,
|
|
401
|
+
});
|
|
331
402
|
}
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
this.available.push(newMetadata);
|
|
345
|
-
recycledCount++;
|
|
346
|
-
this.stats.totalRecycled++;
|
|
403
|
+
}
|
|
404
|
+
try {
|
|
405
|
+
const newDb = await this.createConnectionWithRetry('health check');
|
|
406
|
+
const newMetadata = {
|
|
407
|
+
db: newDb,
|
|
408
|
+
lastAcquired: 0,
|
|
409
|
+
lastReleased: now,
|
|
410
|
+
usageCount: 0,
|
|
411
|
+
};
|
|
412
|
+
poolIndex = this.pool.indexOf(metadata);
|
|
413
|
+
if (poolIndex !== -1) {
|
|
414
|
+
this.pool[poolIndex] = newMetadata;
|
|
347
415
|
}
|
|
348
|
-
|
|
349
|
-
|
|
416
|
+
else if (removedFromPool || this.pool.length < this.options.maxConnections) {
|
|
417
|
+
this.pool.push(newMetadata);
|
|
350
418
|
}
|
|
419
|
+
this.available.push(newMetadata);
|
|
420
|
+
recycledCount++;
|
|
421
|
+
this.stats.totalRecycled++;
|
|
422
|
+
}
|
|
423
|
+
catch (error) {
|
|
424
|
+
logger.error('Failed to create replacement connection:', error);
|
|
351
425
|
}
|
|
352
426
|
}
|
|
353
427
|
if (recycledCount > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectionPool.js","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConnectionPool.js","sourceRoot":"","sources":["../../src/db/ConnectionPool.ts"],"names":[],"mappings":"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"}
|