deepseek-coder-agent-cli 1.0.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.
Potentially problematic release.
This version of deepseek-coder-agent-cli might be problematic. Click here for more details.
- package/README.md +58 -0
- package/dist/bin/cliMode.d.ts +8 -0
- package/dist/bin/cliMode.d.ts.map +1 -0
- package/dist/bin/cliMode.js +20 -0
- package/dist/bin/cliMode.js.map +1 -0
- package/dist/bin/deepseek.d.ts +6 -0
- package/dist/bin/deepseek.d.ts.map +1 -0
- package/dist/bin/deepseek.js +136 -0
- package/dist/bin/deepseek.js.map +1 -0
- package/dist/config.d.ts +25 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +155 -0
- package/dist/config.js.map +1 -0
- package/dist/contracts/agent-profiles.schema.json +43 -0
- package/dist/contracts/agent-schemas.json +460 -0
- package/dist/contracts/models.schema.json +9 -0
- package/dist/contracts/module-schema.json +419 -0
- package/dist/contracts/schemas/agent-profile.schema.json +157 -0
- package/dist/contracts/schemas/agent-rules.schema.json +238 -0
- package/dist/contracts/schemas/agent-schemas.schema.json +528 -0
- package/dist/contracts/schemas/agent.schema.json +90 -0
- package/dist/contracts/schemas/tool-selection.schema.json +174 -0
- package/dist/contracts/tools.schema.json +82 -0
- package/dist/contracts/unified-schema.json +750 -0
- package/dist/contracts/v1/agent.d.ts +179 -0
- package/dist/contracts/v1/agent.d.ts.map +1 -0
- package/dist/contracts/v1/agent.js +8 -0
- package/dist/contracts/v1/agent.js.map +1 -0
- package/dist/contracts/v1/agentProfileManifest.d.ts +60 -0
- package/dist/contracts/v1/agentProfileManifest.d.ts.map +1 -0
- package/dist/contracts/v1/agentProfileManifest.js +9 -0
- package/dist/contracts/v1/agentProfileManifest.js.map +1 -0
- package/dist/contracts/v1/agentRules.d.ts +60 -0
- package/dist/contracts/v1/agentRules.d.ts.map +1 -0
- package/dist/contracts/v1/agentRules.js +10 -0
- package/dist/contracts/v1/agentRules.js.map +1 -0
- package/dist/contracts/v1/provider.d.ts +149 -0
- package/dist/contracts/v1/provider.d.ts.map +1 -0
- package/dist/contracts/v1/provider.js +7 -0
- package/dist/contracts/v1/provider.js.map +1 -0
- package/dist/contracts/v1/tool.d.ts +136 -0
- package/dist/contracts/v1/tool.d.ts.map +1 -0
- package/dist/contracts/v1/tool.js +7 -0
- package/dist/contracts/v1/tool.js.map +1 -0
- package/dist/contracts/v1/toolAccess.d.ts +43 -0
- package/dist/contracts/v1/toolAccess.d.ts.map +1 -0
- package/dist/contracts/v1/toolAccess.js +9 -0
- package/dist/contracts/v1/toolAccess.js.map +1 -0
- package/dist/core/agent.d.ts +287 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +1563 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/agentProfileManifest.d.ts +3 -0
- package/dist/core/agentProfileManifest.d.ts.map +1 -0
- package/dist/core/agentProfileManifest.js +188 -0
- package/dist/core/agentProfileManifest.js.map +1 -0
- package/dist/core/agentProfiles.d.ts +22 -0
- package/dist/core/agentProfiles.d.ts.map +1 -0
- package/dist/core/agentProfiles.js +35 -0
- package/dist/core/agentProfiles.js.map +1 -0
- package/dist/core/agentRulebook.d.ts +11 -0
- package/dist/core/agentRulebook.d.ts.map +1 -0
- package/dist/core/agentRulebook.js +136 -0
- package/dist/core/agentRulebook.js.map +1 -0
- package/dist/core/agentSchemaLoader.d.ts +131 -0
- package/dist/core/agentSchemaLoader.d.ts.map +1 -0
- package/dist/core/agentSchemaLoader.js +235 -0
- package/dist/core/agentSchemaLoader.js.map +1 -0
- package/dist/core/agiCore.d.ts +290 -0
- package/dist/core/agiCore.d.ts.map +1 -0
- package/dist/core/agiCore.js +1348 -0
- package/dist/core/agiCore.js.map +1 -0
- package/dist/core/aiErrorFixer.d.ts +57 -0
- package/dist/core/aiErrorFixer.d.ts.map +1 -0
- package/dist/core/aiErrorFixer.js +214 -0
- package/dist/core/aiErrorFixer.js.map +1 -0
- package/dist/core/antiTermination.d.ts +226 -0
- package/dist/core/antiTermination.d.ts.map +1 -0
- package/dist/core/antiTermination.js +713 -0
- package/dist/core/antiTermination.js.map +1 -0
- package/dist/core/bashCommandGuidance.d.ts +16 -0
- package/dist/core/bashCommandGuidance.d.ts.map +1 -0
- package/dist/core/bashCommandGuidance.js +40 -0
- package/dist/core/bashCommandGuidance.js.map +1 -0
- package/dist/core/constants.d.ts +31 -0
- package/dist/core/constants.d.ts.map +1 -0
- package/dist/core/constants.js +62 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/contextManager.d.ts +271 -0
- package/dist/core/contextManager.d.ts.map +1 -0
- package/dist/core/contextManager.js +1073 -0
- package/dist/core/contextManager.js.map +1 -0
- package/dist/core/contextWindow.d.ts +42 -0
- package/dist/core/contextWindow.d.ts.map +1 -0
- package/dist/core/contextWindow.js +123 -0
- package/dist/core/contextWindow.js.map +1 -0
- package/dist/core/customCommands.d.ts +19 -0
- package/dist/core/customCommands.d.ts.map +1 -0
- package/dist/core/customCommands.js +85 -0
- package/dist/core/customCommands.js.map +1 -0
- package/dist/core/deepBugAnalyzer.d.ts +25 -0
- package/dist/core/deepBugAnalyzer.d.ts.map +1 -0
- package/dist/core/deepBugAnalyzer.js +44 -0
- package/dist/core/deepBugAnalyzer.js.map +1 -0
- package/dist/core/dualTournament.d.ts +110 -0
- package/dist/core/dualTournament.d.ts.map +1 -0
- package/dist/core/dualTournament.js +270 -0
- package/dist/core/dualTournament.js.map +1 -0
- package/dist/core/dynamicGuardrails.d.ts +207 -0
- package/dist/core/dynamicGuardrails.d.ts.map +1 -0
- package/dist/core/dynamicGuardrails.js +516 -0
- package/dist/core/dynamicGuardrails.js.map +1 -0
- package/dist/core/embeddingProviders.d.ts +80 -0
- package/dist/core/embeddingProviders.d.ts.map +1 -0
- package/dist/core/embeddingProviders.js +241 -0
- package/dist/core/embeddingProviders.js.map +1 -0
- package/dist/core/episodicMemory.d.ts +259 -0
- package/dist/core/episodicMemory.d.ts.map +1 -0
- package/dist/core/episodicMemory.js +833 -0
- package/dist/core/episodicMemory.js.map +1 -0
- package/dist/core/errors/apiKeyErrors.d.ts +11 -0
- package/dist/core/errors/apiKeyErrors.d.ts.map +1 -0
- package/dist/core/errors/apiKeyErrors.js +159 -0
- package/dist/core/errors/apiKeyErrors.js.map +1 -0
- package/dist/core/errors/errorTypes.d.ts +111 -0
- package/dist/core/errors/errorTypes.d.ts.map +1 -0
- package/dist/core/errors/errorTypes.js +345 -0
- package/dist/core/errors/errorTypes.js.map +1 -0
- package/dist/core/errors/index.d.ts +50 -0
- package/dist/core/errors/index.d.ts.map +1 -0
- package/dist/core/errors/index.js +156 -0
- package/dist/core/errors/index.js.map +1 -0
- package/dist/core/errors/networkErrors.d.ts +14 -0
- package/dist/core/errors/networkErrors.d.ts.map +1 -0
- package/dist/core/errors/networkErrors.js +53 -0
- package/dist/core/errors/networkErrors.js.map +1 -0
- package/dist/core/errors/safetyValidator.d.ts +115 -0
- package/dist/core/errors/safetyValidator.d.ts.map +1 -0
- package/dist/core/errors/safetyValidator.js +302 -0
- package/dist/core/errors/safetyValidator.js.map +1 -0
- package/dist/core/errors.d.ts +4 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +33 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/finalResponseFormatter.d.ts +10 -0
- package/dist/core/finalResponseFormatter.d.ts.map +1 -0
- package/dist/core/finalResponseFormatter.js +14 -0
- package/dist/core/finalResponseFormatter.js.map +1 -0
- package/dist/core/flowProtection.d.ts +154 -0
- package/dist/core/flowProtection.d.ts.map +1 -0
- package/dist/core/flowProtection.js +436 -0
- package/dist/core/flowProtection.js.map +1 -0
- package/dist/core/gitWorktreeManager.d.ts +126 -0
- package/dist/core/gitWorktreeManager.d.ts.map +1 -0
- package/dist/core/gitWorktreeManager.js +403 -0
- package/dist/core/gitWorktreeManager.js.map +1 -0
- package/dist/core/guardrails.d.ts +150 -0
- package/dist/core/guardrails.d.ts.map +1 -0
- package/dist/core/guardrails.js +360 -0
- package/dist/core/guardrails.js.map +1 -0
- package/dist/core/hallucinationGuard.d.ts +57 -0
- package/dist/core/hallucinationGuard.d.ts.map +1 -0
- package/dist/core/hallucinationGuard.js +237 -0
- package/dist/core/hallucinationGuard.js.map +1 -0
- package/dist/core/hitlEnforcement.d.ts +143 -0
- package/dist/core/hitlEnforcement.d.ts.map +1 -0
- package/dist/core/hitlEnforcement.js +583 -0
- package/dist/core/hitlEnforcement.js.map +1 -0
- package/dist/core/hooks.d.ts +113 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +364 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/hotReload.d.ts +154 -0
- package/dist/core/hotReload.d.ts.map +1 -0
- package/dist/core/hotReload.js +451 -0
- package/dist/core/hotReload.js.map +1 -0
- package/dist/core/hypothesisEngine.d.ts +27 -0
- package/dist/core/hypothesisEngine.d.ts.map +1 -0
- package/dist/core/hypothesisEngine.js +58 -0
- package/dist/core/hypothesisEngine.js.map +1 -0
- package/dist/core/index.d.ts +26 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +54 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/inputProtection.d.ts +122 -0
- package/dist/core/inputProtection.d.ts.map +1 -0
- package/dist/core/inputProtection.js +421 -0
- package/dist/core/inputProtection.js.map +1 -0
- package/dist/core/liveGCPVerification.d.ts +41 -0
- package/dist/core/liveGCPVerification.d.ts.map +1 -0
- package/dist/core/liveGCPVerification.js +745 -0
- package/dist/core/liveGCPVerification.js.map +1 -0
- package/dist/core/modelDiscovery.d.ts +105 -0
- package/dist/core/modelDiscovery.d.ts.map +1 -0
- package/dist/core/modelDiscovery.js +740 -0
- package/dist/core/modelDiscovery.js.map +1 -0
- package/dist/core/multilinePasteHandler.d.ts +35 -0
- package/dist/core/multilinePasteHandler.d.ts.map +1 -0
- package/dist/core/multilinePasteHandler.js +80 -0
- package/dist/core/multilinePasteHandler.js.map +1 -0
- package/dist/core/parallel.d.ts +85 -0
- package/dist/core/parallel.d.ts.map +1 -0
- package/dist/core/parallel.js +150 -0
- package/dist/core/parallel.js.map +1 -0
- package/dist/core/parallelCoordinator.d.ts +21 -0
- package/dist/core/parallelCoordinator.d.ts.map +1 -0
- package/dist/core/parallelCoordinator.js +42 -0
- package/dist/core/parallelCoordinator.js.map +1 -0
- package/dist/core/parallelExecutor.d.ts +215 -0
- package/dist/core/parallelExecutor.d.ts.map +1 -0
- package/dist/core/parallelExecutor.js +584 -0
- package/dist/core/parallelExecutor.js.map +1 -0
- package/dist/core/platformSecurityIntegration.d.ts +133 -0
- package/dist/core/platformSecurityIntegration.d.ts.map +1 -0
- package/dist/core/platformSecurityIntegration.js +419 -0
- package/dist/core/platformSecurityIntegration.js.map +1 -0
- package/dist/core/preferences.d.ts +71 -0
- package/dist/core/preferences.d.ts.map +1 -0
- package/dist/core/preferences.js +341 -0
- package/dist/core/preferences.js.map +1 -0
- package/dist/core/productTestHarness.d.ts +46 -0
- package/dist/core/productTestHarness.d.ts.map +1 -0
- package/dist/core/productTestHarness.js +128 -0
- package/dist/core/productTestHarness.js.map +1 -0
- package/dist/core/providerKeys.d.ts +20 -0
- package/dist/core/providerKeys.d.ts.map +1 -0
- package/dist/core/providerKeys.js +40 -0
- package/dist/core/providerKeys.js.map +1 -0
- package/dist/core/realityScore.d.ts +159 -0
- package/dist/core/realityScore.d.ts.map +1 -0
- package/dist/core/realityScore.js +734 -0
- package/dist/core/realityScore.js.map +1 -0
- package/dist/core/repoUpgradeOrchestrator.d.ts +223 -0
- package/dist/core/repoUpgradeOrchestrator.d.ts.map +1 -0
- package/dist/core/repoUpgradeOrchestrator.js +1003 -0
- package/dist/core/repoUpgradeOrchestrator.js.map +1 -0
- package/dist/core/resultVerification.d.ts +47 -0
- package/dist/core/resultVerification.d.ts.map +1 -0
- package/dist/core/resultVerification.js +126 -0
- package/dist/core/resultVerification.js.map +1 -0
- package/dist/core/revenueEnvValidator.d.ts +30 -0
- package/dist/core/revenueEnvValidator.d.ts.map +1 -0
- package/dist/core/revenueEnvValidator.js +241 -0
- package/dist/core/revenueEnvValidator.js.map +1 -0
- package/dist/core/schemaValidator.d.ts +49 -0
- package/dist/core/schemaValidator.d.ts.map +1 -0
- package/dist/core/schemaValidator.js +234 -0
- package/dist/core/schemaValidator.js.map +1 -0
- package/dist/core/secretStore.d.ts +48 -0
- package/dist/core/secretStore.d.ts.map +1 -0
- package/dist/core/secretStore.js +295 -0
- package/dist/core/secretStore.js.map +1 -0
- package/dist/core/securityTournament.d.ts +83 -0
- package/dist/core/securityTournament.d.ts.map +1 -0
- package/dist/core/securityTournament.js +357 -0
- package/dist/core/securityTournament.js.map +1 -0
- package/dist/core/selfUpgrade.d.ts +253 -0
- package/dist/core/selfUpgrade.d.ts.map +1 -0
- package/dist/core/selfUpgrade.js +669 -0
- package/dist/core/selfUpgrade.js.map +1 -0
- package/dist/core/sessionStorage.d.ts +10 -0
- package/dist/core/sessionStorage.d.ts.map +1 -0
- package/dist/core/sessionStorage.js +46 -0
- package/dist/core/sessionStorage.js.map +1 -0
- package/dist/core/sessionStore.d.ts +35 -0
- package/dist/core/sessionStore.d.ts.map +1 -0
- package/dist/core/sessionStore.js +191 -0
- package/dist/core/sessionStore.js.map +1 -0
- package/dist/core/taskCompletionDetector.d.ts +112 -0
- package/dist/core/taskCompletionDetector.d.ts.map +1 -0
- package/dist/core/taskCompletionDetector.js +469 -0
- package/dist/core/taskCompletionDetector.js.map +1 -0
- package/dist/core/toolPreconditions.d.ts +34 -0
- package/dist/core/toolPreconditions.d.ts.map +1 -0
- package/dist/core/toolPreconditions.js +242 -0
- package/dist/core/toolPreconditions.js.map +1 -0
- package/dist/core/toolRuntime.d.ts +185 -0
- package/dist/core/toolRuntime.d.ts.map +1 -0
- package/dist/core/toolRuntime.js +412 -0
- package/dist/core/toolRuntime.js.map +1 -0
- package/dist/core/tournamentStrategy.d.ts +12 -0
- package/dist/core/tournamentStrategy.d.ts.map +1 -0
- package/dist/core/tournamentStrategy.js +41 -0
- package/dist/core/tournamentStrategy.js.map +1 -0
- package/dist/core/types/utilityTypes.d.ts +192 -0
- package/dist/core/types/utilityTypes.d.ts.map +1 -0
- package/dist/core/types/utilityTypes.js +272 -0
- package/dist/core/types/utilityTypes.js.map +1 -0
- package/dist/core/types.d.ts +334 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +76 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/unifiedOrchestrator.d.ts +47 -0
- package/dist/core/unifiedOrchestrator.d.ts.map +1 -0
- package/dist/core/unifiedOrchestrator.js +103 -0
- package/dist/core/unifiedOrchestrator.js.map +1 -0
- package/dist/core/universalSecurityAudit.d.ts +104 -0
- package/dist/core/universalSecurityAudit.d.ts.map +1 -0
- package/dist/core/universalSecurityAudit.js +2190 -0
- package/dist/core/universalSecurityAudit.js.map +1 -0
- package/dist/core/updateChecker.d.ts +148 -0
- package/dist/core/updateChecker.d.ts.map +1 -0
- package/dist/core/updateChecker.js +593 -0
- package/dist/core/updateChecker.js.map +1 -0
- package/dist/core/variantExecution.d.ts +23 -0
- package/dist/core/variantExecution.d.ts.map +1 -0
- package/dist/core/variantExecution.js +58 -0
- package/dist/core/variantExecution.js.map +1 -0
- package/dist/core/verificationFirst.d.ts +110 -0
- package/dist/core/verificationFirst.d.ts.map +1 -0
- package/dist/core/verificationFirst.js +312 -0
- package/dist/core/verificationFirst.js.map +1 -0
- package/dist/core/winnerStrategy.d.ts +15 -0
- package/dist/core/winnerStrategy.d.ts.map +1 -0
- package/dist/core/winnerStrategy.js +18 -0
- package/dist/core/winnerStrategy.js.map +1 -0
- package/dist/core/zeroDayDiscovery.d.ts +96 -0
- package/dist/core/zeroDayDiscovery.d.ts.map +1 -0
- package/dist/core/zeroDayDiscovery.js +358 -0
- package/dist/core/zeroDayDiscovery.js.map +1 -0
- package/dist/headless/interactiveShell.d.ts +22 -0
- package/dist/headless/interactiveShell.d.ts.map +1 -0
- package/dist/headless/interactiveShell.js +3832 -0
- package/dist/headless/interactiveShell.js.map +1 -0
- package/dist/headless/quickMode.d.ts +26 -0
- package/dist/headless/quickMode.d.ts.map +1 -0
- package/dist/headless/quickMode.js +226 -0
- package/dist/headless/quickMode.js.map +1 -0
- package/dist/providers/baseProvider.d.ts +148 -0
- package/dist/providers/baseProvider.d.ts.map +1 -0
- package/dist/providers/baseProvider.js +284 -0
- package/dist/providers/baseProvider.js.map +1 -0
- package/dist/providers/deepseekReasonerProvider.d.ts +57 -0
- package/dist/providers/deepseekReasonerProvider.d.ts.map +1 -0
- package/dist/providers/deepseekReasonerProvider.js +87 -0
- package/dist/providers/deepseekReasonerProvider.js.map +1 -0
- package/dist/providers/openaiChatCompletionsProvider.d.ts +64 -0
- package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
- package/dist/providers/openaiChatCompletionsProvider.js +1000 -0
- package/dist/providers/openaiChatCompletionsProvider.js.map +1 -0
- package/dist/providers/providerFactory.d.ts +24 -0
- package/dist/providers/providerFactory.d.ts.map +1 -0
- package/dist/providers/providerFactory.js +27 -0
- package/dist/providers/providerFactory.js.map +1 -0
- package/dist/providers/resilientProvider.d.ts +103 -0
- package/dist/providers/resilientProvider.d.ts.map +1 -0
- package/dist/providers/resilientProvider.js +462 -0
- package/dist/providers/resilientProvider.js.map +1 -0
- package/dist/runtime/agentController.d.ts +114 -0
- package/dist/runtime/agentController.d.ts.map +1 -0
- package/dist/runtime/agentController.js +693 -0
- package/dist/runtime/agentController.js.map +1 -0
- package/dist/runtime/agentHost.d.ts +61 -0
- package/dist/runtime/agentHost.d.ts.map +1 -0
- package/dist/runtime/agentHost.js +157 -0
- package/dist/runtime/agentHost.js.map +1 -0
- package/dist/runtime/agentSession.d.ts +45 -0
- package/dist/runtime/agentSession.d.ts.map +1 -0
- package/dist/runtime/agentSession.js +214 -0
- package/dist/runtime/agentSession.js.map +1 -0
- package/dist/runtime/agentWorkerPool.d.ts +167 -0
- package/dist/runtime/agentWorkerPool.d.ts.map +1 -0
- package/dist/runtime/agentWorkerPool.js +435 -0
- package/dist/runtime/agentWorkerPool.js.map +1 -0
- package/dist/runtime/node.d.ts +7 -0
- package/dist/runtime/node.d.ts.map +1 -0
- package/dist/runtime/node.js +18 -0
- package/dist/runtime/node.js.map +1 -0
- package/dist/runtime/universal.d.ts +18 -0
- package/dist/runtime/universal.d.ts.map +1 -0
- package/dist/runtime/universal.js +21 -0
- package/dist/runtime/universal.js.map +1 -0
- package/dist/ui/PromptController.d.ts +174 -0
- package/dist/ui/PromptController.d.ts.map +1 -0
- package/dist/ui/PromptController.js +351 -0
- package/dist/ui/PromptController.js.map +1 -0
- package/dist/ui/UnifiedUIRenderer.d.ts +779 -0
- package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -0
- package/dist/ui/UnifiedUIRenderer.js +5458 -0
- package/dist/ui/UnifiedUIRenderer.js.map +1 -0
- package/dist/ui/animatedStatus.d.ts +140 -0
- package/dist/ui/animatedStatus.d.ts.map +1 -0
- package/dist/ui/animatedStatus.js +480 -0
- package/dist/ui/animatedStatus.js.map +1 -0
- package/dist/ui/animation/AnimationScheduler.d.ts +197 -0
- package/dist/ui/animation/AnimationScheduler.d.ts.map +1 -0
- package/dist/ui/animation/AnimationScheduler.js +440 -0
- package/dist/ui/animation/AnimationScheduler.js.map +1 -0
- package/dist/ui/codeHighlighter.d.ts +6 -0
- package/dist/ui/codeHighlighter.d.ts.map +1 -0
- package/dist/ui/codeHighlighter.js +855 -0
- package/dist/ui/codeHighlighter.js.map +1 -0
- package/dist/ui/designSystem.d.ts +26 -0
- package/dist/ui/designSystem.d.ts.map +1 -0
- package/dist/ui/designSystem.js +114 -0
- package/dist/ui/designSystem.js.map +1 -0
- package/dist/ui/errorFormatter.d.ts +64 -0
- package/dist/ui/errorFormatter.d.ts.map +1 -0
- package/dist/ui/errorFormatter.js +316 -0
- package/dist/ui/errorFormatter.js.map +1 -0
- package/dist/ui/globalWriteLock.d.ts +63 -0
- package/dist/ui/globalWriteLock.d.ts.map +1 -0
- package/dist/ui/globalWriteLock.js +173 -0
- package/dist/ui/globalWriteLock.js.map +1 -0
- package/dist/ui/index.d.ts +32 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +54 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/interrupts/InterruptManager.d.ts +157 -0
- package/dist/ui/interrupts/InterruptManager.d.ts.map +1 -0
- package/dist/ui/interrupts/InterruptManager.js +501 -0
- package/dist/ui/interrupts/InterruptManager.js.map +1 -0
- package/dist/ui/layout.d.ts +27 -0
- package/dist/ui/layout.d.ts.map +1 -0
- package/dist/ui/layout.js +184 -0
- package/dist/ui/layout.js.map +1 -0
- package/dist/ui/maxOffensiveUkraineUI.d.ts +94 -0
- package/dist/ui/maxOffensiveUkraineUI.d.ts.map +1 -0
- package/dist/ui/maxOffensiveUkraineUI.js +316 -0
- package/dist/ui/maxOffensiveUkraineUI.js.map +1 -0
- package/dist/ui/outputMode.d.ts +44 -0
- package/dist/ui/outputMode.d.ts.map +1 -0
- package/dist/ui/outputMode.js +123 -0
- package/dist/ui/outputMode.js.map +1 -0
- package/dist/ui/overlay/OverlayManager.d.ts +105 -0
- package/dist/ui/overlay/OverlayManager.d.ts.map +1 -0
- package/dist/ui/overlay/OverlayManager.js +291 -0
- package/dist/ui/overlay/OverlayManager.js.map +1 -0
- package/dist/ui/premiumComponents.d.ts +54 -0
- package/dist/ui/premiumComponents.d.ts.map +1 -0
- package/dist/ui/premiumComponents.js +241 -0
- package/dist/ui/premiumComponents.js.map +1 -0
- package/dist/ui/richText.d.ts +13 -0
- package/dist/ui/richText.d.ts.map +1 -0
- package/dist/ui/richText.js +444 -0
- package/dist/ui/richText.js.map +1 -0
- package/dist/ui/telemetry/ResponseTracker.d.ts +22 -0
- package/dist/ui/telemetry/ResponseTracker.d.ts.map +1 -0
- package/dist/ui/telemetry/ResponseTracker.js +60 -0
- package/dist/ui/telemetry/ResponseTracker.js.map +1 -0
- package/dist/ui/telemetry/UITelemetry.d.ts +181 -0
- package/dist/ui/telemetry/UITelemetry.d.ts.map +1 -0
- package/dist/ui/telemetry/UITelemetry.js +446 -0
- package/dist/ui/telemetry/UITelemetry.js.map +1 -0
- package/dist/ui/textHighlighter.d.ts +83 -0
- package/dist/ui/textHighlighter.d.ts.map +1 -0
- package/dist/ui/textHighlighter.js +267 -0
- package/dist/ui/textHighlighter.js.map +1 -0
- package/dist/ui/theme.d.ts +364 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +471 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/ui/toolDisplay.d.ts +221 -0
- package/dist/ui/toolDisplay.d.ts.map +1 -0
- package/dist/ui/toolDisplay.js +1654 -0
- package/dist/ui/toolDisplay.js.map +1 -0
- package/dist/ui/uiConstants.d.ts +288 -0
- package/dist/ui/uiConstants.d.ts.map +1 -0
- package/dist/ui/uiConstants.js +472 -0
- package/dist/ui/uiConstants.js.map +1 -0
- package/dist/utils/askUserPrompt.d.ts +21 -0
- package/dist/utils/askUserPrompt.d.ts.map +1 -0
- package/dist/utils/askUserPrompt.js +87 -0
- package/dist/utils/askUserPrompt.js.map +1 -0
- package/dist/utils/asyncUtils.d.ts +95 -0
- package/dist/utils/asyncUtils.d.ts.map +1 -0
- package/dist/utils/asyncUtils.js +286 -0
- package/dist/utils/asyncUtils.js.map +1 -0
- package/dist/utils/debugLogger.d.ts +6 -0
- package/dist/utils/debugLogger.d.ts.map +1 -0
- package/dist/utils/debugLogger.js +39 -0
- package/dist/utils/debugLogger.js.map +1 -0
- package/dist/utils/errorUtils.d.ts +12 -0
- package/dist/utils/errorUtils.d.ts.map +1 -0
- package/dist/utils/errorUtils.js +83 -0
- package/dist/utils/errorUtils.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +10 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +78 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/packageInfo.d.ts +14 -0
- package/dist/utils/packageInfo.d.ts.map +1 -0
- package/dist/utils/packageInfo.js +45 -0
- package/dist/utils/packageInfo.js.map +1 -0
- package/dist/utils/planFormatter.d.ts +34 -0
- package/dist/utils/planFormatter.d.ts.map +1 -0
- package/dist/utils/planFormatter.js +141 -0
- package/dist/utils/planFormatter.js.map +1 -0
- package/dist/utils/securityUtils.d.ts +132 -0
- package/dist/utils/securityUtils.d.ts.map +1 -0
- package/dist/utils/securityUtils.js +324 -0
- package/dist/utils/securityUtils.js.map +1 -0
- package/dist/workspace.d.ts +8 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +134 -0
- package/dist/workspace.js.map +1 -0
- package/dist/workspace.validator.d.ts +49 -0
- package/dist/workspace.validator.d.ts.map +1 -0
- package/dist/workspace.validator.js +215 -0
- package/dist/workspace.validator.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,345 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Comprehensive Error Classification System
|
|
3
|
+
*
|
|
4
|
+
* Provides structured error handling with:
|
|
5
|
+
* - Error categorization (dangerous, blocked, invalid, etc.)
|
|
6
|
+
* - Severity levels (critical, error, warning, info)
|
|
7
|
+
* - Auto-fixing suggestions
|
|
8
|
+
* - Recovery strategies
|
|
9
|
+
*/
|
|
10
|
+
export var ErrorSeverity;
|
|
11
|
+
(function (ErrorSeverity) {
|
|
12
|
+
ErrorSeverity["CRITICAL"] = "critical";
|
|
13
|
+
ErrorSeverity["ERROR"] = "error";
|
|
14
|
+
ErrorSeverity["WARNING"] = "warning";
|
|
15
|
+
ErrorSeverity["INFO"] = "info";
|
|
16
|
+
})(ErrorSeverity || (ErrorSeverity = {}));
|
|
17
|
+
export var ErrorCategory;
|
|
18
|
+
(function (ErrorCategory) {
|
|
19
|
+
ErrorCategory["DANGEROUS"] = "dangerous";
|
|
20
|
+
ErrorCategory["BLOCKED"] = "blocked";
|
|
21
|
+
ErrorCategory["INVALID"] = "invalid";
|
|
22
|
+
ErrorCategory["PERMISSION"] = "permission";
|
|
23
|
+
ErrorCategory["RESOURCE"] = "resource";
|
|
24
|
+
ErrorCategory["NETWORK"] = "network";
|
|
25
|
+
ErrorCategory["TIMEOUT"] = "timeout";
|
|
26
|
+
ErrorCategory["VALIDATION"] = "validation";
|
|
27
|
+
ErrorCategory["CONTEXT_OVERFLOW"] = "context_overflow";
|
|
28
|
+
ErrorCategory["NOT_FOUND"] = "not_found";
|
|
29
|
+
ErrorCategory["UNKNOWN"] = "unknown";
|
|
30
|
+
})(ErrorCategory || (ErrorCategory = {}));
|
|
31
|
+
/**
|
|
32
|
+
* Base class for all structured errors
|
|
33
|
+
*/
|
|
34
|
+
export class StructuredError extends Error {
|
|
35
|
+
severity;
|
|
36
|
+
category;
|
|
37
|
+
suggestions;
|
|
38
|
+
originalInput;
|
|
39
|
+
metadata;
|
|
40
|
+
timestamp;
|
|
41
|
+
recoverable;
|
|
42
|
+
constructor(details) {
|
|
43
|
+
super(details.message);
|
|
44
|
+
this.name = this.constructor.name;
|
|
45
|
+
this.severity = details.severity;
|
|
46
|
+
this.category = details.category;
|
|
47
|
+
this.suggestions = [...details.suggestions]; // Copy to mutable array
|
|
48
|
+
this.originalInput = details.originalInput;
|
|
49
|
+
this.metadata = details.metadata;
|
|
50
|
+
this.timestamp = details.timestamp;
|
|
51
|
+
this.recoverable = details.recoverable;
|
|
52
|
+
// Maintain proper stack trace
|
|
53
|
+
Error.captureStackTrace(this, this.constructor);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Format error for display with suggestions
|
|
57
|
+
*/
|
|
58
|
+
toDisplayString() {
|
|
59
|
+
const parts = [
|
|
60
|
+
`[${this.severity.toUpperCase()}] ${this.message}`,
|
|
61
|
+
];
|
|
62
|
+
if (this.originalInput) {
|
|
63
|
+
parts.push(` Input: ${this.originalInput}`);
|
|
64
|
+
}
|
|
65
|
+
if (this.suggestions.length > 0) {
|
|
66
|
+
parts.push('\nSuggestions:');
|
|
67
|
+
for (const suggestion of this.suggestions) {
|
|
68
|
+
parts.push(` • ${suggestion.action}`);
|
|
69
|
+
if (suggestion.example) {
|
|
70
|
+
parts.push(` Example: ${suggestion.example}`);
|
|
71
|
+
}
|
|
72
|
+
if (suggestion.autoFixable) {
|
|
73
|
+
parts.push(` [Auto-fixable]`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return parts.join('\n');
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Convert to JSON for logging/telemetry
|
|
81
|
+
*/
|
|
82
|
+
toJSON() {
|
|
83
|
+
return {
|
|
84
|
+
name: this.name,
|
|
85
|
+
severity: this.severity,
|
|
86
|
+
category: this.category,
|
|
87
|
+
message: this.message,
|
|
88
|
+
originalInput: this.originalInput,
|
|
89
|
+
suggestions: this.suggestions.map(s => ({
|
|
90
|
+
action: s.action,
|
|
91
|
+
example: s.example,
|
|
92
|
+
autoFixable: s.autoFixable,
|
|
93
|
+
})),
|
|
94
|
+
metadata: this.metadata,
|
|
95
|
+
timestamp: this.timestamp,
|
|
96
|
+
recoverable: this.recoverable,
|
|
97
|
+
stack: this.stack,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Try to auto-fix the error if possible
|
|
102
|
+
*/
|
|
103
|
+
tryAutoFix() {
|
|
104
|
+
for (const suggestion of this.suggestions) {
|
|
105
|
+
if (suggestion.autoFixable && suggestion.autoFix) {
|
|
106
|
+
try {
|
|
107
|
+
const result = suggestion.autoFix();
|
|
108
|
+
return { fixed: true, result };
|
|
109
|
+
}
|
|
110
|
+
catch {
|
|
111
|
+
// Continue to next suggestion
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return { fixed: false };
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Dangerous operation error - operation could harm the system
|
|
120
|
+
*/
|
|
121
|
+
export class DangerousOperationError extends StructuredError {
|
|
122
|
+
constructor(operation, reason, safeAlternative) {
|
|
123
|
+
const suggestions = [];
|
|
124
|
+
if (safeAlternative) {
|
|
125
|
+
suggestions.push({
|
|
126
|
+
action: `Use safer alternative: ${safeAlternative}`,
|
|
127
|
+
example: safeAlternative,
|
|
128
|
+
autoFixable: true,
|
|
129
|
+
autoFix: () => safeAlternative,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
suggestions.push({
|
|
134
|
+
action: 'Review operation for safety before retrying',
|
|
135
|
+
autoFixable: false,
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
super({
|
|
139
|
+
severity: ErrorSeverity.CRITICAL,
|
|
140
|
+
category: ErrorCategory.DANGEROUS,
|
|
141
|
+
message: `Dangerous operation blocked: ${operation}. Reason: ${reason}`,
|
|
142
|
+
originalInput: operation,
|
|
143
|
+
suggestions,
|
|
144
|
+
recoverable: safeAlternative !== undefined,
|
|
145
|
+
timestamp: new Date().toISOString(),
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Blocked operation error - explicitly forbidden by policy
|
|
151
|
+
*/
|
|
152
|
+
export class BlockedOperationError extends StructuredError {
|
|
153
|
+
constructor(operation, policy, allowedAlternatives) {
|
|
154
|
+
const suggestions = [];
|
|
155
|
+
if (allowedAlternatives && allowedAlternatives.length > 0) {
|
|
156
|
+
for (const alt of allowedAlternatives) {
|
|
157
|
+
suggestions.push({
|
|
158
|
+
action: `Try allowed alternative: ${alt}`,
|
|
159
|
+
example: alt,
|
|
160
|
+
autoFixable: true,
|
|
161
|
+
autoFix: () => alt,
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
suggestions.push({
|
|
167
|
+
action: 'This operation is not permitted by policy',
|
|
168
|
+
autoFixable: false,
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
super({
|
|
172
|
+
severity: ErrorSeverity.ERROR,
|
|
173
|
+
category: ErrorCategory.BLOCKED,
|
|
174
|
+
message: `Operation blocked by policy "${policy}": ${operation}`,
|
|
175
|
+
originalInput: operation,
|
|
176
|
+
suggestions,
|
|
177
|
+
recoverable: allowedAlternatives !== undefined && allowedAlternatives.length > 0,
|
|
178
|
+
timestamp: new Date().toISOString(),
|
|
179
|
+
metadata: { policy, allowedAlternatives },
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Context overflow error - token/character limits exceeded
|
|
185
|
+
*/
|
|
186
|
+
export class ContextOverflowError extends StructuredError {
|
|
187
|
+
constructor(actual, limit, unit = 'tokens', truncatable = true) {
|
|
188
|
+
const percentage = limit > 0 ? Math.round((actual / limit) * 100) : 0;
|
|
189
|
+
const suggestions = [];
|
|
190
|
+
if (truncatable) {
|
|
191
|
+
suggestions.push({
|
|
192
|
+
action: `Auto-truncate to ${limit} ${unit}`,
|
|
193
|
+
example: `Content will be reduced from ${actual} to ${limit} ${unit}`,
|
|
194
|
+
autoFixable: true,
|
|
195
|
+
autoFix: () => ({ truncate: true, limit }),
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
suggestions.push({
|
|
199
|
+
action: `Reduce scope to use less than ${limit} ${unit}`,
|
|
200
|
+
autoFixable: false,
|
|
201
|
+
});
|
|
202
|
+
super({
|
|
203
|
+
severity: ErrorSeverity.CRITICAL,
|
|
204
|
+
category: ErrorCategory.CONTEXT_OVERFLOW,
|
|
205
|
+
message: `Context overflow: ${actual} ${unit} exceeds limit of ${limit} ${unit} (${percentage}%)`,
|
|
206
|
+
suggestions,
|
|
207
|
+
recoverable: truncatable,
|
|
208
|
+
timestamp: new Date().toISOString(),
|
|
209
|
+
metadata: { actual, limit, unit, percentage },
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Resource error - limits exceeded
|
|
215
|
+
*/
|
|
216
|
+
export class ResourceLimitError extends StructuredError {
|
|
217
|
+
constructor(resource, actual, limit, reducible = true) {
|
|
218
|
+
const suggestions = [];
|
|
219
|
+
if (reducible) {
|
|
220
|
+
const safeValue = Math.floor(limit * 0.8); // 80% of limit
|
|
221
|
+
suggestions.push({
|
|
222
|
+
action: `Reduce ${resource} to ${safeValue} (80% of limit)`,
|
|
223
|
+
example: `Set ${resource}=${safeValue}`,
|
|
224
|
+
autoFixable: true,
|
|
225
|
+
autoFix: () => safeValue,
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
super({
|
|
229
|
+
severity: ErrorSeverity.ERROR,
|
|
230
|
+
category: ErrorCategory.RESOURCE,
|
|
231
|
+
message: `Resource limit exceeded: ${resource} is ${actual}, maximum is ${limit}`,
|
|
232
|
+
suggestions,
|
|
233
|
+
recoverable: reducible,
|
|
234
|
+
timestamp: new Date().toISOString(),
|
|
235
|
+
metadata: { resource, actual, limit },
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Validation error - input/schema validation failed
|
|
241
|
+
*/
|
|
242
|
+
export class ValidationError extends StructuredError {
|
|
243
|
+
constructor(field, code, message) {
|
|
244
|
+
super({
|
|
245
|
+
severity: ErrorSeverity.ERROR,
|
|
246
|
+
category: ErrorCategory.VALIDATION,
|
|
247
|
+
message: `Validation failed for ${field}: ${code}. ${message}`,
|
|
248
|
+
originalInput: code,
|
|
249
|
+
suggestions: [
|
|
250
|
+
{
|
|
251
|
+
action: `Fix the field "${field}" to satisfy validation`,
|
|
252
|
+
example: `${field}: <provide valid value>`,
|
|
253
|
+
autoFixable: false,
|
|
254
|
+
},
|
|
255
|
+
],
|
|
256
|
+
recoverable: false,
|
|
257
|
+
timestamp: new Date().toISOString(),
|
|
258
|
+
metadata: { field, code },
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Format any error as a structured error
|
|
264
|
+
*/
|
|
265
|
+
export function toStructuredError(error) {
|
|
266
|
+
// Already structured
|
|
267
|
+
if (error instanceof StructuredError) {
|
|
268
|
+
return error;
|
|
269
|
+
}
|
|
270
|
+
// Convert standard errors
|
|
271
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
272
|
+
// Detect error category from message
|
|
273
|
+
const category = detectErrorCategory(message);
|
|
274
|
+
const severity = detectErrorSeverity(category);
|
|
275
|
+
class GenericStructuredError extends StructuredError {
|
|
276
|
+
}
|
|
277
|
+
return new GenericStructuredError({
|
|
278
|
+
severity,
|
|
279
|
+
category,
|
|
280
|
+
message,
|
|
281
|
+
suggestions: [],
|
|
282
|
+
recoverable: false,
|
|
283
|
+
timestamp: new Date().toISOString(),
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Detect error category from error message
|
|
288
|
+
*/
|
|
289
|
+
function detectErrorCategory(message) {
|
|
290
|
+
const lower = message.toLowerCase();
|
|
291
|
+
if (lower.includes('dangerous') || lower.includes('unsafe') || lower.includes('harmful')) {
|
|
292
|
+
return ErrorCategory.DANGEROUS;
|
|
293
|
+
}
|
|
294
|
+
if (lower.includes('blocked') || lower.includes('forbidden') || lower.includes('not allowed')) {
|
|
295
|
+
return ErrorCategory.BLOCKED;
|
|
296
|
+
}
|
|
297
|
+
if (lower.includes('invalid') || lower.includes('malformed')) {
|
|
298
|
+
return ErrorCategory.INVALID;
|
|
299
|
+
}
|
|
300
|
+
if (lower.includes('permission') || lower.includes('unauthorized') || lower.includes('access denied')) {
|
|
301
|
+
return ErrorCategory.PERMISSION;
|
|
302
|
+
}
|
|
303
|
+
if (lower.includes('limit') || lower.includes('exceeded') || lower.includes('too large')) {
|
|
304
|
+
return ErrorCategory.RESOURCE;
|
|
305
|
+
}
|
|
306
|
+
if (lower.includes('timeout') || lower.includes('timed out')) {
|
|
307
|
+
return ErrorCategory.TIMEOUT;
|
|
308
|
+
}
|
|
309
|
+
if (lower.includes('network') || lower.includes('connection')) {
|
|
310
|
+
return ErrorCategory.NETWORK;
|
|
311
|
+
}
|
|
312
|
+
if (lower.includes('validation') || lower.includes('schema')) {
|
|
313
|
+
return ErrorCategory.VALIDATION;
|
|
314
|
+
}
|
|
315
|
+
if (lower.includes('context') || lower.includes('token') || lower.includes('overflow')) {
|
|
316
|
+
return ErrorCategory.CONTEXT_OVERFLOW;
|
|
317
|
+
}
|
|
318
|
+
if (lower.includes('not found') || lower.includes('does not exist')) {
|
|
319
|
+
return ErrorCategory.NOT_FOUND;
|
|
320
|
+
}
|
|
321
|
+
return ErrorCategory.UNKNOWN;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Determine severity from category
|
|
325
|
+
*/
|
|
326
|
+
function detectErrorSeverity(category) {
|
|
327
|
+
switch (category) {
|
|
328
|
+
case ErrorCategory.DANGEROUS:
|
|
329
|
+
case ErrorCategory.CONTEXT_OVERFLOW:
|
|
330
|
+
return ErrorSeverity.CRITICAL;
|
|
331
|
+
case ErrorCategory.BLOCKED:
|
|
332
|
+
case ErrorCategory.PERMISSION:
|
|
333
|
+
case ErrorCategory.VALIDATION:
|
|
334
|
+
case ErrorCategory.INVALID:
|
|
335
|
+
case ErrorCategory.RESOURCE:
|
|
336
|
+
return ErrorSeverity.ERROR;
|
|
337
|
+
case ErrorCategory.TIMEOUT:
|
|
338
|
+
case ErrorCategory.NETWORK:
|
|
339
|
+
case ErrorCategory.NOT_FOUND:
|
|
340
|
+
return ErrorSeverity.WARNING;
|
|
341
|
+
default:
|
|
342
|
+
return ErrorSeverity.ERROR;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
//# sourceMappingURL=errorTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorTypes.js","sourceRoot":"","sources":["../../../src/core/errors/errorTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Error Handling System
|
|
3
|
+
*
|
|
4
|
+
* This module consolidates all error-related exports into a single entry point.
|
|
5
|
+
* Use this module for all error handling needs instead of importing from
|
|
6
|
+
* individual files.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* - errorTypes.ts: Base classes and structured error types
|
|
10
|
+
* - apiKeyErrors.ts: API key and authentication errors
|
|
11
|
+
* - networkErrors.ts: Network connectivity errors
|
|
12
|
+
* - safetyValidator.ts: Input validation and safety checks
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import {
|
|
17
|
+
* StructuredError,
|
|
18
|
+
* ErrorSeverity,
|
|
19
|
+
* ErrorCategory,
|
|
20
|
+
* DangerousOperationError,
|
|
21
|
+
* detectApiKeyError,
|
|
22
|
+
* detectNetworkError,
|
|
23
|
+
* } from '../core/errors/index.js';
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export { ErrorSeverity, ErrorCategory, type ErrorSuggestion, type StructuredErrorDetails, StructuredError, DangerousOperationError, BlockedOperationError, ContextOverflowError, ResourceLimitError, ValidationError, toStructuredError, } from './errorTypes.js';
|
|
27
|
+
export { type ApiKeyErrorType, type ApiKeyErrorInfo, detectApiKeyError, } from './apiKeyErrors.js';
|
|
28
|
+
export { type NetworkErrorInfo, detectNetworkError, } from './networkErrors.js';
|
|
29
|
+
export * from './safetyValidator.js';
|
|
30
|
+
export { type ErrorContextValue, type ErrorContext, buildError, } from '../errors.js';
|
|
31
|
+
/**
|
|
32
|
+
* Detect and classify any error into a structured format
|
|
33
|
+
*/
|
|
34
|
+
export declare function detectError(error: unknown, provider?: string): {
|
|
35
|
+
type: 'api_key' | 'network' | 'structured' | 'unknown';
|
|
36
|
+
info: unknown;
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Check if an error is recoverable
|
|
40
|
+
*/
|
|
41
|
+
export declare function isRecoverableError(error: unknown): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Get a user-friendly error message
|
|
44
|
+
*/
|
|
45
|
+
export declare function getUserFriendlyMessage(error: unknown): string;
|
|
46
|
+
/**
|
|
47
|
+
* Format error for logging (includes full details)
|
|
48
|
+
*/
|
|
49
|
+
export declare function formatForLogging(error: unknown, context?: Record<string, unknown>): string;
|
|
50
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,EAEL,aAAa,EACb,aAAa,EAGb,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAG3B,eAAe,EAGf,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EAGf,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAM3B,OAAO,EACL,KAAK,gBAAgB,EACrB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAM5B,cAAc,sBAAsB,CAAC;AAMrC,OAAO,EACL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,UAAU,GACX,MAAM,cAAc,CAAC;AAatB;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG;IAC9D,IAAI,EAAE,SAAS,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;IACvD,IAAI,EAAE,OAAO,CAAC;CACf,CA0BA;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAa1D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAuB7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CA2B1F"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Error Handling System
|
|
3
|
+
*
|
|
4
|
+
* This module consolidates all error-related exports into a single entry point.
|
|
5
|
+
* Use this module for all error handling needs instead of importing from
|
|
6
|
+
* individual files.
|
|
7
|
+
*
|
|
8
|
+
* Architecture:
|
|
9
|
+
* - errorTypes.ts: Base classes and structured error types
|
|
10
|
+
* - apiKeyErrors.ts: API key and authentication errors
|
|
11
|
+
* - networkErrors.ts: Network connectivity errors
|
|
12
|
+
* - safetyValidator.ts: Input validation and safety checks
|
|
13
|
+
*
|
|
14
|
+
* Usage:
|
|
15
|
+
* ```typescript
|
|
16
|
+
* import {
|
|
17
|
+
* StructuredError,
|
|
18
|
+
* ErrorSeverity,
|
|
19
|
+
* ErrorCategory,
|
|
20
|
+
* DangerousOperationError,
|
|
21
|
+
* detectApiKeyError,
|
|
22
|
+
* detectNetworkError,
|
|
23
|
+
* } from '../core/errors/index.js';
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
27
|
+
// Error Types and Base Classes
|
|
28
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
29
|
+
export {
|
|
30
|
+
// Enums
|
|
31
|
+
ErrorSeverity, ErrorCategory,
|
|
32
|
+
// Base class
|
|
33
|
+
StructuredError,
|
|
34
|
+
// Specific error classes
|
|
35
|
+
DangerousOperationError, BlockedOperationError, ContextOverflowError, ResourceLimitError, ValidationError,
|
|
36
|
+
// Factory functions
|
|
37
|
+
toStructuredError, } from './errorTypes.js';
|
|
38
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
39
|
+
// API Key Errors
|
|
40
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
41
|
+
export { detectApiKeyError, } from './apiKeyErrors.js';
|
|
42
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
43
|
+
// Network Errors
|
|
44
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
45
|
+
export { detectNetworkError, } from './networkErrors.js';
|
|
46
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
47
|
+
// Safety Validator
|
|
48
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
49
|
+
export * from './safetyValidator.js';
|
|
50
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
51
|
+
// Legacy Re-exports (from ../errors.ts)
|
|
52
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
53
|
+
export { buildError, } from '../errors.js';
|
|
54
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
55
|
+
// Utility Functions
|
|
56
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
57
|
+
import { StructuredError as StructuredErrorClass, } from './errorTypes.js';
|
|
58
|
+
import { detectApiKeyError as detectApiKeyErrorFn } from './apiKeyErrors.js';
|
|
59
|
+
import { detectNetworkError as detectNetworkErrorFn } from './networkErrors.js';
|
|
60
|
+
/**
|
|
61
|
+
* Detect and classify any error into a structured format
|
|
62
|
+
*/
|
|
63
|
+
export function detectError(error, provider) {
|
|
64
|
+
// Check for API key errors first
|
|
65
|
+
const apiKeyError = detectApiKeyErrorFn(error, provider);
|
|
66
|
+
if (apiKeyError) {
|
|
67
|
+
return { type: 'api_key', info: apiKeyError };
|
|
68
|
+
}
|
|
69
|
+
// Check for network errors
|
|
70
|
+
const networkError = detectNetworkErrorFn(error);
|
|
71
|
+
if (networkError) {
|
|
72
|
+
return { type: 'network', info: networkError };
|
|
73
|
+
}
|
|
74
|
+
// Check if it's already a structured error
|
|
75
|
+
if (error instanceof StructuredErrorClass) {
|
|
76
|
+
return { type: 'structured', info: error };
|
|
77
|
+
}
|
|
78
|
+
// Unknown error
|
|
79
|
+
return {
|
|
80
|
+
type: 'unknown',
|
|
81
|
+
info: {
|
|
82
|
+
message: error instanceof Error ? error.message : String(error),
|
|
83
|
+
stack: error instanceof Error ? error.stack : undefined,
|
|
84
|
+
},
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Check if an error is recoverable
|
|
89
|
+
*/
|
|
90
|
+
export function isRecoverableError(error) {
|
|
91
|
+
// Structured errors have a recoverable flag
|
|
92
|
+
if (error instanceof StructuredErrorClass) {
|
|
93
|
+
return error.recoverable;
|
|
94
|
+
}
|
|
95
|
+
// Network errors are generally retryable
|
|
96
|
+
const networkError = detectNetworkErrorFn(error);
|
|
97
|
+
if (networkError) {
|
|
98
|
+
return networkError.retryable;
|
|
99
|
+
}
|
|
100
|
+
return false;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get a user-friendly error message
|
|
104
|
+
*/
|
|
105
|
+
export function getUserFriendlyMessage(error) {
|
|
106
|
+
// Structured errors have their own display format
|
|
107
|
+
if (error instanceof StructuredErrorClass) {
|
|
108
|
+
return error.toDisplayString();
|
|
109
|
+
}
|
|
110
|
+
// API key errors
|
|
111
|
+
const apiKeyError = detectApiKeyErrorFn(error);
|
|
112
|
+
if (apiKeyError) {
|
|
113
|
+
if (apiKeyError.type === 'missing') {
|
|
114
|
+
return `Missing API key for ${apiKeyError.provider || 'provider'}. Please configure your API key.`;
|
|
115
|
+
}
|
|
116
|
+
return `Invalid API key for ${apiKeyError.provider || 'provider'}. Please check your API key configuration.`;
|
|
117
|
+
}
|
|
118
|
+
// Network errors
|
|
119
|
+
const networkError = detectNetworkErrorFn(error);
|
|
120
|
+
if (networkError) {
|
|
121
|
+
return `Network error: ${networkError.message}. Please check your internet connection and try again.`;
|
|
122
|
+
}
|
|
123
|
+
// Default
|
|
124
|
+
return error instanceof Error ? error.message : String(error);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Format error for logging (includes full details)
|
|
128
|
+
*/
|
|
129
|
+
export function formatForLogging(error, context) {
|
|
130
|
+
const timestamp = new Date().toISOString();
|
|
131
|
+
const parts = [`[${timestamp}]`];
|
|
132
|
+
if (error instanceof StructuredErrorClass) {
|
|
133
|
+
parts.push(`[${error.severity.toUpperCase()}]`);
|
|
134
|
+
parts.push(`[${error.category}]`);
|
|
135
|
+
parts.push(error.message);
|
|
136
|
+
if (error.metadata) {
|
|
137
|
+
parts.push(`Metadata: ${JSON.stringify(error.metadata)}`);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
else if (error instanceof Error) {
|
|
141
|
+
parts.push(`[ERROR]`);
|
|
142
|
+
parts.push(error.message);
|
|
143
|
+
if (error.stack) {
|
|
144
|
+
parts.push(`Stack: ${error.stack}`);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
parts.push(`[ERROR]`);
|
|
149
|
+
parts.push(String(error));
|
|
150
|
+
}
|
|
151
|
+
if (context) {
|
|
152
|
+
parts.push(`Context: ${JSON.stringify(context)}`);
|
|
153
|
+
}
|
|
154
|
+
return parts.join(' ');
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ProviderId } from '../types.js';
|
|
2
|
+
export interface NetworkErrorInfo {
|
|
3
|
+
type: 'network';
|
|
4
|
+
message: string;
|
|
5
|
+
code?: string;
|
|
6
|
+
provider?: ProviderId | string;
|
|
7
|
+
retryable: boolean;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Heuristically detect network connectivity errors from provider/client failures.
|
|
11
|
+
* Covers DNS, TLS, socket, fetch, and generic "connection error" cases.
|
|
12
|
+
*/
|
|
13
|
+
export declare function detectNetworkError(error: unknown): NetworkErrorInfo | null;
|
|
14
|
+
//# sourceMappingURL=networkErrors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkErrors.d.ts","sourceRoot":"","sources":["../../../src/core/errors/networkErrors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IAC/B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,GAAG,IAAI,CAwD1E"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Heuristically detect network connectivity errors from provider/client failures.
|
|
3
|
+
* Covers DNS, TLS, socket, fetch, and generic "connection error" cases.
|
|
4
|
+
*/
|
|
5
|
+
export function detectNetworkError(error) {
|
|
6
|
+
const toStringValue = (value) => typeof value === 'string' ? value : value instanceof Error ? value.message : '';
|
|
7
|
+
const code = typeof error?.code === 'string'
|
|
8
|
+
? (error.code || '').toUpperCase()
|
|
9
|
+
: undefined;
|
|
10
|
+
const message = toStringValue(error).toLowerCase();
|
|
11
|
+
const causeCode = typeof error?.cause?.code === 'string'
|
|
12
|
+
? error.cause.code.toUpperCase()
|
|
13
|
+
: undefined;
|
|
14
|
+
const text = `${code ?? ''} ${causeCode ?? ''} ${message}`;
|
|
15
|
+
const NETWORK_CODES = new Set([
|
|
16
|
+
'ECONNREFUSED',
|
|
17
|
+
'ECONNRESET',
|
|
18
|
+
'EAI_AGAIN',
|
|
19
|
+
'ENOTFOUND',
|
|
20
|
+
'EHOSTUNREACH',
|
|
21
|
+
'ENETUNREACH',
|
|
22
|
+
'ETIMEDOUT',
|
|
23
|
+
'EPIPE',
|
|
24
|
+
]);
|
|
25
|
+
const NETWORK_PHRASES = [
|
|
26
|
+
'network error',
|
|
27
|
+
'connection error',
|
|
28
|
+
'failed to fetch',
|
|
29
|
+
'fetch failed',
|
|
30
|
+
'socket hang up',
|
|
31
|
+
'connect ECONNREFUSED',
|
|
32
|
+
'getaddrinfo ENOTFOUND',
|
|
33
|
+
'getaddrinfo EAI_AGAIN',
|
|
34
|
+
'tls handshake timeout',
|
|
35
|
+
'client network socket disconnected',
|
|
36
|
+
'self signed certificate',
|
|
37
|
+
'unexpected end of file',
|
|
38
|
+
'unable to verify the first certificate',
|
|
39
|
+
'network is unreachable',
|
|
40
|
+
];
|
|
41
|
+
const isNetworkCode = (value) => Boolean(value && NETWORK_CODES.has(value));
|
|
42
|
+
const matchesPhrase = NETWORK_PHRASES.some((phrase) => text.includes(phrase));
|
|
43
|
+
if (!isNetworkCode(code) && !isNetworkCode(causeCode) && !matchesPhrase) {
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
type: 'network',
|
|
48
|
+
message: toStringValue(error) || 'Network connectivity issue detected.',
|
|
49
|
+
code: code ?? causeCode,
|
|
50
|
+
retryable: true,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=networkErrors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networkErrors.js","sourceRoot":"","sources":["../../../src/core/errors/networkErrors.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,aAAa,GAAG,CAAC,KAAc,EAAU,EAAE,CAC/C,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAElF,MAAM,IAAI,GAAG,OAAQ,KAA4B,EAAE,IAAI,KAAK,QAAQ;QAClE,CAAC,CAAC,CAAE,KAA0B,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;QACxD,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,SAAS,GAAG,OAAQ,KAAuC,EAAE,KAAK,EAAE,IAAI,KAAK,QAAQ;QACzF,CAAC,CAAE,KAAqC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE;QACjE,CAAC,CAAC,SAAS,CAAC;IAEd,MAAM,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,IAAI,SAAS,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC;IAE3D,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;QAC5B,cAAc;QACd,YAAY;QACZ,WAAW;QACX,WAAW;QACX,cAAc;QACd,aAAa;QACb,WAAW;QACX,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG;QACtB,eAAe;QACf,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,gBAAgB;QAChB,sBAAsB;QACtB,uBAAuB;QACvB,uBAAuB;QACvB,uBAAuB;QACvB,oCAAoC;QACpC,yBAAyB;QACzB,wBAAwB;QACxB,wCAAwC;QACxC,wBAAwB;KACzB,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9F,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAE9E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACxE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,IAAI,sCAAsC;QACvE,IAAI,EAAE,IAAI,IAAI,SAAS;QACvB,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
|