deepseek-coder-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.
- package/LICENSE +21 -0
- package/README.md +422 -0
- package/agents/agi-code.rules.json +87 -0
- package/agents/general.rules.json +171 -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 +16 -0
- package/dist/bin/deepseek.d.ts.map +1 -0
- package/dist/bin/deepseek.js +737 -0
- package/dist/bin/deepseek.js.map +1 -0
- package/dist/bin/erosolar.d.ts +7 -0
- package/dist/bin/erosolar.d.ts.map +1 -0
- package/dist/bin/erosolar.js +7 -0
- package/dist/bin/erosolar.js.map +1 -0
- package/dist/bin/selfTest.d.ts +14 -0
- package/dist/bin/selfTest.d.ts.map +1 -0
- package/dist/bin/selfTest.js +304 -0
- package/dist/bin/selfTest.js.map +1 -0
- package/dist/capabilities/appleSecurityCapability.d.ts +57 -0
- package/dist/capabilities/appleSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/appleSecurityCapability.js +197 -0
- package/dist/capabilities/appleSecurityCapability.js.map +1 -0
- package/dist/capabilities/authorizedSecurityCapability.d.ts +17 -0
- package/dist/capabilities/authorizedSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/authorizedSecurityCapability.js +333 -0
- package/dist/capabilities/authorizedSecurityCapability.js.map +1 -0
- package/dist/capabilities/autoEnhancementCapability.d.ts +98 -0
- package/dist/capabilities/autoEnhancementCapability.d.ts.map +1 -0
- package/dist/capabilities/autoEnhancementCapability.js +455 -0
- package/dist/capabilities/autoEnhancementCapability.js.map +1 -0
- package/dist/capabilities/baseCapability.d.ts +72 -0
- package/dist/capabilities/baseCapability.d.ts.map +1 -0
- package/dist/capabilities/baseCapability.js +183 -0
- package/dist/capabilities/baseCapability.js.map +1 -0
- package/dist/capabilities/bashCapability.d.ts +13 -0
- package/dist/capabilities/bashCapability.d.ts.map +1 -0
- package/dist/capabilities/bashCapability.js +24 -0
- package/dist/capabilities/bashCapability.js.map +1 -0
- package/dist/capabilities/biocognitiveWarfare.d.ts +136 -0
- package/dist/capabilities/biocognitiveWarfare.d.ts.map +1 -0
- package/dist/capabilities/biocognitiveWarfare.js +603 -0
- package/dist/capabilities/biocognitiveWarfare.js.map +1 -0
- package/dist/capabilities/chineseCnoIntegration.d.ts +60 -0
- package/dist/capabilities/chineseCnoIntegration.d.ts.map +1 -0
- package/dist/capabilities/chineseCnoIntegration.js +253 -0
- package/dist/capabilities/chineseCnoIntegration.js.map +1 -0
- package/dist/capabilities/cnoCapability.d.ts +110 -0
- package/dist/capabilities/cnoCapability.d.ts.map +1 -0
- package/dist/capabilities/cnoCapability.js +785 -0
- package/dist/capabilities/cnoCapability.js.map +1 -0
- package/dist/capabilities/editCapability.d.ts +17 -0
- package/dist/capabilities/editCapability.d.ts.map +1 -0
- package/dist/capabilities/editCapability.js +27 -0
- package/dist/capabilities/editCapability.js.map +1 -0
- package/dist/capabilities/eliteCryptoMilitaryCapability.d.ts +99 -0
- package/dist/capabilities/eliteCryptoMilitaryCapability.d.ts.map +1 -0
- package/dist/capabilities/eliteCryptoMilitaryCapability.js +618 -0
- package/dist/capabilities/eliteCryptoMilitaryCapability.js.map +1 -0
- package/dist/capabilities/enhancedGitCapability.d.ts +7 -0
- package/dist/capabilities/enhancedGitCapability.d.ts.map +1 -0
- package/dist/capabilities/enhancedGitCapability.js +220 -0
- package/dist/capabilities/enhancedGitCapability.js.map +1 -0
- package/dist/capabilities/filesystemCapability.d.ts +13 -0
- package/dist/capabilities/filesystemCapability.d.ts.map +1 -0
- package/dist/capabilities/filesystemCapability.js +24 -0
- package/dist/capabilities/filesystemCapability.js.map +1 -0
- package/dist/capabilities/gitHistoryCapability.d.ts +6 -0
- package/dist/capabilities/gitHistoryCapability.d.ts.map +1 -0
- package/dist/capabilities/gitHistoryCapability.js +160 -0
- package/dist/capabilities/gitHistoryCapability.js.map +1 -0
- package/dist/capabilities/index.d.ts +26 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +26 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/integratedUnifiedCapability.d.ts +105 -0
- package/dist/capabilities/integratedUnifiedCapability.d.ts.map +1 -0
- package/dist/capabilities/integratedUnifiedCapability.js +422 -0
- package/dist/capabilities/integratedUnifiedCapability.js.map +1 -0
- package/dist/capabilities/maxOffensiveUkraineCapability.d.ts +46 -0
- package/dist/capabilities/maxOffensiveUkraineCapability.d.ts.map +1 -0
- package/dist/capabilities/maxOffensiveUkraineCapability.js +725 -0
- package/dist/capabilities/maxOffensiveUkraineCapability.js.map +1 -0
- package/dist/capabilities/migrationUtilities.d.ts +128 -0
- package/dist/capabilities/migrationUtilities.d.ts.map +1 -0
- package/dist/capabilities/migrationUtilities.js +658 -0
- package/dist/capabilities/migrationUtilities.js.map +1 -0
- package/dist/capabilities/offensiveDestructionCapability.d.ts +98 -0
- package/dist/capabilities/offensiveDestructionCapability.d.ts.map +1 -0
- package/dist/capabilities/offensiveDestructionCapability.js +848 -0
- package/dist/capabilities/offensiveDestructionCapability.js.map +1 -0
- package/dist/capabilities/quantumSpaceWarfare.d.ts +108 -0
- package/dist/capabilities/quantumSpaceWarfare.d.ts.map +1 -0
- package/dist/capabilities/quantumSpaceWarfare.js +342 -0
- package/dist/capabilities/quantumSpaceWarfare.js.map +1 -0
- package/dist/capabilities/readmeIntegration.d.ts +161 -0
- package/dist/capabilities/readmeIntegration.d.ts.map +1 -0
- package/dist/capabilities/readmeIntegration.js +1034 -0
- package/dist/capabilities/readmeIntegration.js.map +1 -0
- package/dist/capabilities/searchCapability.d.ts +19 -0
- package/dist/capabilities/searchCapability.d.ts.map +1 -0
- package/dist/capabilities/searchCapability.js +29 -0
- package/dist/capabilities/searchCapability.js.map +1 -0
- package/dist/capabilities/selfUpdateSystem.d.ts +122 -0
- package/dist/capabilities/selfUpdateSystem.d.ts.map +1 -0
- package/dist/capabilities/selfUpdateSystem.js +725 -0
- package/dist/capabilities/selfUpdateSystem.js.map +1 -0
- package/dist/capabilities/sharedMilitaryInfrastructure.d.ts +89 -0
- package/dist/capabilities/sharedMilitaryInfrastructure.d.ts.map +1 -0
- package/dist/capabilities/sharedMilitaryInfrastructure.js +233 -0
- package/dist/capabilities/sharedMilitaryInfrastructure.js.map +1 -0
- package/dist/capabilities/simpleSecurityCapability.d.ts +36 -0
- package/dist/capabilities/simpleSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/simpleSecurityCapability.js +271 -0
- package/dist/capabilities/simpleSecurityCapability.js.map +1 -0
- package/dist/capabilities/toolManifest.d.ts +3 -0
- package/dist/capabilities/toolManifest.d.ts.map +1 -0
- package/dist/capabilities/toolManifest.js +163 -0
- package/dist/capabilities/toolManifest.js.map +1 -0
- package/dist/capabilities/toolRegistry.d.ts +25 -0
- package/dist/capabilities/toolRegistry.d.ts.map +1 -0
- package/dist/capabilities/toolRegistry.js +150 -0
- package/dist/capabilities/toolRegistry.js.map +1 -0
- package/dist/capabilities/ultimateChineseCno.d.ts +115 -0
- package/dist/capabilities/ultimateChineseCno.d.ts.map +1 -0
- package/dist/capabilities/ultimateChineseCno.js +516 -0
- package/dist/capabilities/ultimateChineseCno.js.map +1 -0
- package/dist/capabilities/ultimateIntegrationDemo.d.ts +54 -0
- package/dist/capabilities/ultimateIntegrationDemo.d.ts.map +1 -0
- package/dist/capabilities/ultimateIntegrationDemo.js +423 -0
- package/dist/capabilities/ultimateIntegrationDemo.js.map +1 -0
- package/dist/capabilities/unifiedMilitaryCapability.d.ts +63 -0
- package/dist/capabilities/unifiedMilitaryCapability.d.ts.map +1 -0
- package/dist/capabilities/unifiedMilitaryCapability.js +384 -0
- package/dist/capabilities/unifiedMilitaryCapability.js.map +1 -0
- package/dist/capabilities/universalCapabilityFramework.d.ts +352 -0
- package/dist/capabilities/universalCapabilityFramework.d.ts.map +1 -0
- package/dist/capabilities/universalCapabilityFramework.js +1056 -0
- package/dist/capabilities/universalCapabilityFramework.js.map +1 -0
- package/dist/capabilities/universalSecurityCapability.d.ts +46 -0
- package/dist/capabilities/universalSecurityCapability.d.ts.map +1 -0
- package/dist/capabilities/universalSecurityCapability.js +580 -0
- package/dist/capabilities/universalSecurityCapability.js.map +1 -0
- package/dist/capabilities/webCapability.d.ts +23 -0
- package/dist/capabilities/webCapability.d.ts.map +1 -0
- package/dist/capabilities/webCapability.js +33 -0
- package/dist/capabilities/webCapability.js.map +1 -0
- package/dist/capabilities/zeroDayDiscoveryCapability.d.ts +31 -0
- package/dist/capabilities/zeroDayDiscoveryCapability.d.ts.map +1 -0
- package/dist/capabilities/zeroDayDiscoveryCapability.js +183 -0
- package/dist/capabilities/zeroDayDiscoveryCapability.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 +466 -0
- package/dist/contracts/models.schema.json +9 -0
- package/dist/contracts/module-schema.json +430 -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 +757 -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/appleSecurityAudit.d.ts +98 -0
- package/dist/core/appleSecurityAudit.d.ts.map +1 -0
- package/dist/core/appleSecurityAudit.js +505 -0
- package/dist/core/appleSecurityAudit.js.map +1 -0
- package/dist/core/appleSecurityIntegration.d.ts +130 -0
- package/dist/core/appleSecurityIntegration.d.ts.map +1 -0
- package/dist/core/appleSecurityIntegration.js +697 -0
- package/dist/core/appleSecurityIntegration.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/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/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/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 +3799 -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/orchestration/index.d.ts +10 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +13 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/repoUpgradeRunner.d.ts +44 -0
- package/dist/orchestration/repoUpgradeRunner.d.ts.map +1 -0
- package/dist/orchestration/repoUpgradeRunner.js +375 -0
- package/dist/orchestration/repoUpgradeRunner.js.map +1 -0
- package/dist/orchestration/securityAuditRunner.d.ts +144 -0
- package/dist/orchestration/securityAuditRunner.d.ts.map +1 -0
- package/dist/orchestration/securityAuditRunner.js +526 -0
- package/dist/orchestration/securityAuditRunner.js.map +1 -0
- package/dist/plugins/index.d.ts +49 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +105 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/providers/deepseek/index.d.ts +11 -0
- package/dist/plugins/providers/deepseek/index.d.ts.map +1 -0
- package/dist/plugins/providers/deepseek/index.js +54 -0
- package/dist/plugins/providers/deepseek/index.js.map +1 -0
- package/dist/plugins/providers/index.d.ts +2 -0
- package/dist/plugins/providers/index.d.ts.map +1 -0
- package/dist/plugins/providers/index.js +11 -0
- package/dist/plugins/providers/index.js.map +1 -0
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +3 -0
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +27 -0
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +1 -0
- package/dist/plugins/tools/apple/secureApplePlugin.d.ts +3 -0
- package/dist/plugins/tools/apple/secureApplePlugin.d.ts.map +1 -0
- package/dist/plugins/tools/apple/secureApplePlugin.js +26 -0
- package/dist/plugins/tools/apple/secureApplePlugin.js.map +1 -0
- package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.d.ts +3 -0
- package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.js +9 -0
- package/dist/plugins/tools/authorizedSecurity/authorizedSecurityPlugin.js.map +1 -0
- package/dist/plugins/tools/bash/localBashPlugin.d.ts +3 -0
- package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/bash/localBashPlugin.js +14 -0
- package/dist/plugins/tools/bash/localBashPlugin.js.map +1 -0
- package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.d.ts +3 -0
- package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.js +27 -0
- package/dist/plugins/tools/bidirectionalAudit/bidirectionalAuditPlugin.js.map +1 -0
- package/dist/plugins/tools/edit/editPlugin.d.ts +9 -0
- package/dist/plugins/tools/edit/editPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/edit/editPlugin.js +15 -0
- package/dist/plugins/tools/edit/editPlugin.js.map +1 -0
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +3 -0
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +9 -0
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +1 -0
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +3 -0
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +14 -0
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +1 -0
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts +3 -0
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js +9 -0
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js.map +1 -0
- package/dist/plugins/tools/index.d.ts +3 -0
- package/dist/plugins/tools/index.d.ts.map +1 -0
- package/dist/plugins/tools/index.js +3 -0
- package/dist/plugins/tools/index.js.map +1 -0
- package/dist/plugins/tools/integrity/integrityPlugin.d.ts +3 -0
- package/dist/plugins/tools/integrity/integrityPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/integrity/integrityPlugin.js +31 -0
- package/dist/plugins/tools/integrity/integrityPlugin.js.map +1 -0
- package/dist/plugins/tools/mcp/mcpPlugin.d.ts +3 -0
- package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/mcp/mcpPlugin.js +27 -0
- package/dist/plugins/tools/mcp/mcpPlugin.js.map +1 -0
- package/dist/plugins/tools/nodeDefaults.d.ts +15 -0
- package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -0
- package/dist/plugins/tools/nodeDefaults.js +37 -0
- package/dist/plugins/tools/nodeDefaults.js.map +1 -0
- package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.d.ts +3 -0
- package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.js +9 -0
- package/dist/plugins/tools/offensiveDestruction/offensiveDestructionPlugin.js.map +1 -0
- package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts +3 -0
- package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/orchestration/orchestrationPlugin.js +340 -0
- package/dist/plugins/tools/orchestration/orchestrationPlugin.js.map +1 -0
- package/dist/plugins/tools/registry.d.ts +22 -0
- package/dist/plugins/tools/registry.d.ts.map +1 -0
- package/dist/plugins/tools/registry.js +58 -0
- package/dist/plugins/tools/registry.js.map +1 -0
- package/dist/plugins/tools/search/localSearchPlugin.d.ts +3 -0
- package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/search/localSearchPlugin.js +14 -0
- package/dist/plugins/tools/search/localSearchPlugin.js.map +1 -0
- package/dist/plugins/tools/skills/skillPlugin.d.ts +3 -0
- package/dist/plugins/tools/skills/skillPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/skills/skillPlugin.js +27 -0
- package/dist/plugins/tools/skills/skillPlugin.js.map +1 -0
- package/dist/plugins/tools/tao/secureTaoPlugin.d.ts +3 -0
- package/dist/plugins/tools/tao/secureTaoPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/tao/secureTaoPlugin.js +37 -0
- package/dist/plugins/tools/tao/secureTaoPlugin.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/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 +22 -0
- package/dist/providers/providerFactory.d.ts.map +1 -0
- package/dist/providers/providerFactory.js +25 -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 +210 -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 +24 -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/shell/autoExecutor.d.ts +70 -0
- package/dist/shell/autoExecutor.d.ts.map +1 -0
- package/dist/shell/autoExecutor.js +320 -0
- package/dist/shell/autoExecutor.js.map +1 -0
- package/dist/shell/commandRegistry.d.ts +122 -0
- package/dist/shell/commandRegistry.d.ts.map +1 -0
- package/dist/shell/commandRegistry.js +386 -0
- package/dist/shell/commandRegistry.js.map +1 -0
- package/dist/shell/composableMessage.d.ts +183 -0
- package/dist/shell/composableMessage.d.ts.map +1 -0
- package/dist/shell/composableMessage.js +420 -0
- package/dist/shell/composableMessage.js.map +1 -0
- package/dist/shell/liveStatus.d.ts +27 -0
- package/dist/shell/liveStatus.d.ts.map +1 -0
- package/dist/shell/liveStatus.js +53 -0
- package/dist/shell/liveStatus.js.map +1 -0
- package/dist/shell/systemPrompt.d.ts +12 -0
- package/dist/shell/systemPrompt.d.ts.map +1 -0
- package/dist/shell/systemPrompt.js +16 -0
- package/dist/shell/systemPrompt.js.map +1 -0
- package/dist/shell/vimMode.d.ts +66 -0
- package/dist/shell/vimMode.d.ts.map +1 -0
- package/dist/shell/vimMode.js +435 -0
- package/dist/shell/vimMode.js.map +1 -0
- package/dist/tools/bashTools.d.ts +6 -0
- package/dist/tools/bashTools.d.ts.map +1 -0
- package/dist/tools/bashTools.js +485 -0
- package/dist/tools/bashTools.js.map +1 -0
- package/dist/tools/diffUtils.d.ts +43 -0
- package/dist/tools/diffUtils.d.ts.map +1 -0
- package/dist/tools/diffUtils.js +607 -0
- package/dist/tools/diffUtils.js.map +1 -0
- package/dist/tools/editTools.d.ts +29 -0
- package/dist/tools/editTools.d.ts.map +1 -0
- package/dist/tools/editTools.js +702 -0
- package/dist/tools/editTools.js.map +1 -0
- package/dist/tools/emailTools.d.ts +140 -0
- package/dist/tools/emailTools.d.ts.map +1 -0
- package/dist/tools/emailTools.js +792 -0
- package/dist/tools/emailTools.js.map +1 -0
- package/dist/tools/fileReadTracker.d.ts +69 -0
- package/dist/tools/fileReadTracker.d.ts.map +1 -0
- package/dist/tools/fileReadTracker.js +213 -0
- package/dist/tools/fileReadTracker.js.map +1 -0
- package/dist/tools/fileTools.d.ts +3 -0
- package/dist/tools/fileTools.d.ts.map +1 -0
- package/dist/tools/fileTools.js +342 -0
- package/dist/tools/fileTools.js.map +1 -0
- package/dist/tools/grepTools.d.ts +3 -0
- package/dist/tools/grepTools.d.ts.map +1 -0
- package/dist/tools/grepTools.js +129 -0
- package/dist/tools/grepTools.js.map +1 -0
- package/dist/tools/humanOpsTools.d.ts +3 -0
- package/dist/tools/humanOpsTools.d.ts.map +1 -0
- package/dist/tools/humanOpsTools.js +86 -0
- package/dist/tools/humanOpsTools.js.map +1 -0
- package/dist/tools/localExplore.d.ts +38 -0
- package/dist/tools/localExplore.d.ts.map +1 -0
- package/dist/tools/localExplore.js +30 -0
- package/dist/tools/localExplore.js.map +1 -0
- package/dist/tools/metaTools.d.ts +3 -0
- package/dist/tools/metaTools.d.ts.map +1 -0
- package/dist/tools/metaTools.js +148 -0
- package/dist/tools/metaTools.js.map +1 -0
- package/dist/tools/planningTools.d.ts +12 -0
- package/dist/tools/planningTools.d.ts.map +1 -0
- package/dist/tools/planningTools.js +75 -0
- package/dist/tools/planningTools.js.map +1 -0
- package/dist/tools/searchTools.d.ts +12 -0
- package/dist/tools/searchTools.d.ts.map +1 -0
- package/dist/tools/searchTools.js +370 -0
- package/dist/tools/searchTools.js.map +1 -0
- package/dist/tools/secureAppleExploitation.d.ts +29 -0
- package/dist/tools/secureAppleExploitation.d.ts.map +1 -0
- package/dist/tools/secureAppleExploitation.js +518 -0
- package/dist/tools/secureAppleExploitation.js.map +1 -0
- package/dist/tools/telemetryTools.d.ts +5 -0
- package/dist/tools/telemetryTools.d.ts.map +1 -0
- package/dist/tools/telemetryTools.js +9 -0
- package/dist/tools/telemetryTools.js.map +1 -0
- package/dist/tools/unifiedOps.d.ts +3 -0
- package/dist/tools/unifiedOps.d.ts.map +1 -0
- package/dist/tools/unifiedOps.js +57 -0
- package/dist/tools/unifiedOps.js.map +1 -0
- package/dist/tools/webTools.d.ts +26 -0
- package/dist/tools/webTools.d.ts.map +1 -0
- package/dist/tools/webTools.js +227 -0
- package/dist/tools/webTools.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 +443 -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 +108 -0
|
@@ -0,0 +1,713 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Anti-Termination Protection System
|
|
3
|
+
*
|
|
4
|
+
* Comprehensive protection against unconventional remote attacks that could
|
|
5
|
+
* terminate the AI runtime or CLI. Implements multiple layers of defense:
|
|
6
|
+
*
|
|
7
|
+
* 1. Signal Protection - Intercept and neutralize termination signals
|
|
8
|
+
* 2. Resource Protection - Prevent OOM killer and resource exhaustion
|
|
9
|
+
* 3. Exception Armor - Catch all unhandled errors without crashing
|
|
10
|
+
* 4. Process Integrity - Detect manipulation attempts
|
|
11
|
+
* 5. Watchdog System - Self-monitoring heartbeat
|
|
12
|
+
* 6. Input Sanitization - Prevent malformed input crashes
|
|
13
|
+
* 7. Network Protection - Defend against network-based termination
|
|
14
|
+
* 8. Parent Process Protection - Handle orphan scenarios
|
|
15
|
+
* 9. File Descriptor Protection - Prevent fd exhaustion
|
|
16
|
+
* 10. Memory Protection - Detect corruption attempts
|
|
17
|
+
*
|
|
18
|
+
* @module antiTermination
|
|
19
|
+
*/
|
|
20
|
+
import { EventEmitter } from 'events';
|
|
21
|
+
import { createRequire } from 'module';
|
|
22
|
+
// Create require for dynamic imports in ESM context
|
|
23
|
+
const require = createRequire(import.meta.url);
|
|
24
|
+
// Increase max listeners to prevent warnings from protection handlers
|
|
25
|
+
EventEmitter.defaultMaxListeners = 50;
|
|
26
|
+
/** Singleton protection instance */
|
|
27
|
+
let protectionInstance = null;
|
|
28
|
+
/**
|
|
29
|
+
* Anti-Termination Protection System
|
|
30
|
+
*/
|
|
31
|
+
export class AntiTerminationProtection {
|
|
32
|
+
config;
|
|
33
|
+
startTime;
|
|
34
|
+
blockedSignals = 0;
|
|
35
|
+
blockedExceptions = 0;
|
|
36
|
+
blockedAttacks = 0;
|
|
37
|
+
attackLog = [];
|
|
38
|
+
watchdogTimer = null;
|
|
39
|
+
resourceMonitorTimer = null;
|
|
40
|
+
lastHeartbeat;
|
|
41
|
+
signalHandlers = new Map();
|
|
42
|
+
originalProcessExit;
|
|
43
|
+
isShuttingDown = false;
|
|
44
|
+
shutdownCallbacks = [];
|
|
45
|
+
criticalSection = false;
|
|
46
|
+
criticalSectionDepth = 0;
|
|
47
|
+
constructor(config = {}) {
|
|
48
|
+
this.config = {
|
|
49
|
+
interceptSignals: config.interceptSignals ?? true,
|
|
50
|
+
monitorResources: config.monitorResources ?? true,
|
|
51
|
+
armorExceptions: config.armorExceptions ?? true,
|
|
52
|
+
enableWatchdog: config.enableWatchdog ?? true,
|
|
53
|
+
watchdogIntervalMs: config.watchdogIntervalMs ?? 5000,
|
|
54
|
+
memoryThresholdPercent: config.memoryThresholdPercent ?? 85,
|
|
55
|
+
maxBlockedSignalsAlert: config.maxBlockedSignalsAlert ?? 10,
|
|
56
|
+
verbose: config.verbose ?? false,
|
|
57
|
+
onAttackDetected: config.onAttackDetected ?? (() => { }),
|
|
58
|
+
};
|
|
59
|
+
this.startTime = Date.now();
|
|
60
|
+
this.lastHeartbeat = Date.now();
|
|
61
|
+
this.originalProcessExit = process.exit.bind(process);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Initialize all protection mechanisms
|
|
65
|
+
*/
|
|
66
|
+
initialize() {
|
|
67
|
+
this.log('Initializing anti-termination protection...');
|
|
68
|
+
if (this.config.interceptSignals) {
|
|
69
|
+
this.installSignalProtection();
|
|
70
|
+
}
|
|
71
|
+
if (this.config.armorExceptions) {
|
|
72
|
+
this.installExceptionArmor();
|
|
73
|
+
}
|
|
74
|
+
if (this.config.monitorResources) {
|
|
75
|
+
this.startResourceMonitoring();
|
|
76
|
+
}
|
|
77
|
+
if (this.config.enableWatchdog) {
|
|
78
|
+
this.startWatchdog();
|
|
79
|
+
}
|
|
80
|
+
this.installProcessExitGuard();
|
|
81
|
+
this.installInputSanitization();
|
|
82
|
+
this.installNetworkProtection();
|
|
83
|
+
this.installParentProcessProtection();
|
|
84
|
+
this.installFileDescriptorProtection();
|
|
85
|
+
this.installMemoryProtection();
|
|
86
|
+
this.log('Anti-termination protection initialized');
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Install signal interception for all termination signals
|
|
90
|
+
*/
|
|
91
|
+
installSignalProtection() {
|
|
92
|
+
const signals = [
|
|
93
|
+
'SIGTERM',
|
|
94
|
+
'SIGINT',
|
|
95
|
+
'SIGHUP',
|
|
96
|
+
'SIGQUIT',
|
|
97
|
+
'SIGUSR1',
|
|
98
|
+
'SIGUSR2',
|
|
99
|
+
'SIGPIPE',
|
|
100
|
+
'SIGALRM',
|
|
101
|
+
'SIGXCPU',
|
|
102
|
+
'SIGXFSZ',
|
|
103
|
+
];
|
|
104
|
+
for (const signal of signals) {
|
|
105
|
+
const handler = () => {
|
|
106
|
+
this.handleSignal(signal);
|
|
107
|
+
};
|
|
108
|
+
try {
|
|
109
|
+
process.on(signal, handler);
|
|
110
|
+
this.signalHandlers.set(signal, handler);
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
// Some signals may not be available on all platforms
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
// Special handling for SIGKILL (cannot be caught, but we can detect attempts)
|
|
117
|
+
// Monitor /proc/self/status on Linux for pending signals
|
|
118
|
+
this.monitorPendingSignals();
|
|
119
|
+
this.log('Signal protection installed');
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Handle incoming termination signal
|
|
123
|
+
*/
|
|
124
|
+
handleSignal(signal) {
|
|
125
|
+
this.blockedSignals++;
|
|
126
|
+
const event = {
|
|
127
|
+
type: 'signal',
|
|
128
|
+
timestamp: Date.now(),
|
|
129
|
+
details: `Blocked ${signal} termination signal`,
|
|
130
|
+
blocked: true,
|
|
131
|
+
source: this.detectSignalSource(),
|
|
132
|
+
};
|
|
133
|
+
this.logAttack(event);
|
|
134
|
+
// Allow graceful shutdown only if explicitly requested via authorized method
|
|
135
|
+
if (this.isShuttingDown && (signal === 'SIGTERM' || signal === 'SIGINT')) {
|
|
136
|
+
this.log(`Allowing graceful shutdown for ${signal}`);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
// Critical section protection - never terminate during critical operations
|
|
140
|
+
if (this.criticalSection) {
|
|
141
|
+
this.log(`Blocked ${signal} during critical section`);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
// Check for rapid signal attacks (DoS attempt)
|
|
145
|
+
if (this.blockedSignals > this.config.maxBlockedSignalsAlert) {
|
|
146
|
+
this.log(`WARNING: Signal flood detected (${this.blockedSignals} blocked)`);
|
|
147
|
+
this.config.onAttackDetected?.(event);
|
|
148
|
+
}
|
|
149
|
+
// Neutralize the signal - don't exit
|
|
150
|
+
this.log(`Neutralized ${signal} signal (count: ${this.blockedSignals})`);
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Attempt to detect the source of a signal
|
|
154
|
+
*/
|
|
155
|
+
detectSignalSource() {
|
|
156
|
+
try {
|
|
157
|
+
// On Linux, we can check /proc to find who sent the signal
|
|
158
|
+
if (process.platform === 'linux') {
|
|
159
|
+
const { execSync } = require('child_process');
|
|
160
|
+
const result = execSync('cat /proc/self/status | grep -E "SigPnd|SigBlk|SigIgn"', {
|
|
161
|
+
encoding: 'utf-8',
|
|
162
|
+
timeout: 100,
|
|
163
|
+
});
|
|
164
|
+
return result.trim() || 'unknown';
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch {
|
|
168
|
+
// Ignore errors
|
|
169
|
+
}
|
|
170
|
+
return 'unknown';
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Monitor for pending signals (including SIGKILL attempts)
|
|
174
|
+
*/
|
|
175
|
+
monitorPendingSignals() {
|
|
176
|
+
if (process.platform !== 'linux')
|
|
177
|
+
return;
|
|
178
|
+
setInterval(() => {
|
|
179
|
+
try {
|
|
180
|
+
const fs = require('fs');
|
|
181
|
+
const status = fs.readFileSync('/proc/self/status', 'utf-8');
|
|
182
|
+
const sigPndMatch = status.match(/SigPnd:\s*([0-9a-f]+)/i);
|
|
183
|
+
if (sigPndMatch) {
|
|
184
|
+
const pending = parseInt(sigPndMatch[1], 16);
|
|
185
|
+
if (pending > 0) {
|
|
186
|
+
this.log(`Pending signals detected: 0x${pending.toString(16)}`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
// Not on Linux or no access
|
|
192
|
+
}
|
|
193
|
+
}, 1000);
|
|
194
|
+
}
|
|
195
|
+
/**
|
|
196
|
+
* Install exception armor to catch all unhandled errors
|
|
197
|
+
*/
|
|
198
|
+
installExceptionArmor() {
|
|
199
|
+
// Uncaught exceptions
|
|
200
|
+
process.on('uncaughtException', (error, origin) => {
|
|
201
|
+
this.handleException(error, origin);
|
|
202
|
+
});
|
|
203
|
+
// Unhandled promise rejections
|
|
204
|
+
process.on('unhandledRejection', (reason, promise) => {
|
|
205
|
+
this.handleRejection(reason, promise);
|
|
206
|
+
});
|
|
207
|
+
// Warning events (can indicate attack attempts)
|
|
208
|
+
process.on('warning', (warning) => {
|
|
209
|
+
this.handleWarning(warning);
|
|
210
|
+
});
|
|
211
|
+
this.log('Exception armor installed');
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Handle uncaught exception without crashing
|
|
215
|
+
*/
|
|
216
|
+
handleException(error, origin) {
|
|
217
|
+
this.blockedExceptions++;
|
|
218
|
+
const event = {
|
|
219
|
+
type: 'exception',
|
|
220
|
+
timestamp: Date.now(),
|
|
221
|
+
details: `Caught ${origin}: ${error.message}`,
|
|
222
|
+
blocked: true,
|
|
223
|
+
source: error.stack?.split('\n')[1] || 'unknown',
|
|
224
|
+
};
|
|
225
|
+
this.logAttack(event);
|
|
226
|
+
// Check for potential attack patterns
|
|
227
|
+
if (this.isAttackPattern(error)) {
|
|
228
|
+
this.blockedAttacks++;
|
|
229
|
+
this.config.onAttackDetected?.(event);
|
|
230
|
+
}
|
|
231
|
+
// Don't crash - continue execution
|
|
232
|
+
this.log(`Exception armored (${origin}): ${error.message}`);
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Handle unhandled promise rejection without crashing
|
|
236
|
+
*/
|
|
237
|
+
handleRejection(reason, _promise) {
|
|
238
|
+
this.blockedExceptions++;
|
|
239
|
+
const message = reason instanceof Error ? reason.message : String(reason);
|
|
240
|
+
const event = {
|
|
241
|
+
type: 'rejection',
|
|
242
|
+
timestamp: Date.now(),
|
|
243
|
+
details: `Caught unhandled rejection: ${message}`,
|
|
244
|
+
blocked: true,
|
|
245
|
+
};
|
|
246
|
+
this.logAttack(event);
|
|
247
|
+
this.log(`Rejection armored: ${message}`);
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Handle process warnings
|
|
251
|
+
*/
|
|
252
|
+
handleWarning(warning) {
|
|
253
|
+
// Check for resource exhaustion warnings
|
|
254
|
+
if (warning.name === 'MaxListenersExceededWarning') {
|
|
255
|
+
this.log(`WARNING: Event listener limit exceeded - possible attack`);
|
|
256
|
+
this.blockedAttacks++;
|
|
257
|
+
}
|
|
258
|
+
if (warning.message.includes('memory') || warning.message.includes('heap')) {
|
|
259
|
+
this.log(`WARNING: Memory warning - ${warning.message}`);
|
|
260
|
+
this.triggerGC();
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Check if an error matches known attack patterns
|
|
265
|
+
*/
|
|
266
|
+
isAttackPattern(error) {
|
|
267
|
+
const attackPatterns = [
|
|
268
|
+
/stack overflow/i,
|
|
269
|
+
/heap out of memory/i,
|
|
270
|
+
/allocation failed/i,
|
|
271
|
+
/too many open files/i,
|
|
272
|
+
/ENFILE/i,
|
|
273
|
+
/EMFILE/i,
|
|
274
|
+
/segmentation fault/i,
|
|
275
|
+
/invalid opcode/i,
|
|
276
|
+
/bus error/i,
|
|
277
|
+
/illegal instruction/i,
|
|
278
|
+
/RangeError.*Maximum call stack/i,
|
|
279
|
+
/process\.kill/i,
|
|
280
|
+
/child_process/i,
|
|
281
|
+
];
|
|
282
|
+
return attackPatterns.some(pattern => pattern.test(error.message) || pattern.test(error.stack || ''));
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Install guard on process.exit to prevent unauthorized termination
|
|
286
|
+
*/
|
|
287
|
+
installProcessExitGuard() {
|
|
288
|
+
const self = this;
|
|
289
|
+
// Override process.exit
|
|
290
|
+
process.exit = function guardedExit(code) {
|
|
291
|
+
if (self.isShuttingDown) {
|
|
292
|
+
// Authorized shutdown
|
|
293
|
+
return self.originalProcessExit(code);
|
|
294
|
+
}
|
|
295
|
+
if (self.criticalSection) {
|
|
296
|
+
// Block exit during critical section
|
|
297
|
+
self.log(`Blocked process.exit(${code}) during critical section`);
|
|
298
|
+
self.blockedAttacks++;
|
|
299
|
+
// Return without exiting - this is intentionally non-compliant with the never return type
|
|
300
|
+
// to prevent termination attacks
|
|
301
|
+
throw new Error('Exit blocked during critical section');
|
|
302
|
+
}
|
|
303
|
+
// Log the exit attempt
|
|
304
|
+
const stack = new Error().stack;
|
|
305
|
+
const event = {
|
|
306
|
+
type: 'exit_attempt',
|
|
307
|
+
timestamp: Date.now(),
|
|
308
|
+
details: `Intercepted process.exit(${code})`,
|
|
309
|
+
blocked: true,
|
|
310
|
+
source: stack?.split('\n')[2] || 'unknown',
|
|
311
|
+
};
|
|
312
|
+
self.logAttack(event);
|
|
313
|
+
// Allow exit for legitimate shutdown scenarios
|
|
314
|
+
if (code === 0) {
|
|
315
|
+
self.log('Allowing clean exit (code 0)');
|
|
316
|
+
return self.originalProcessExit(0);
|
|
317
|
+
}
|
|
318
|
+
// Block unexpected exits
|
|
319
|
+
self.log(`Blocked unexpected exit with code ${code}`);
|
|
320
|
+
self.blockedAttacks++;
|
|
321
|
+
throw new Error(`Exit blocked: code ${code}`);
|
|
322
|
+
};
|
|
323
|
+
this.log('Process exit guard installed');
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Install input sanitization to prevent malformed input crashes
|
|
327
|
+
*/
|
|
328
|
+
installInputSanitization() {
|
|
329
|
+
const originalStdinOn = process.stdin.on.bind(process.stdin);
|
|
330
|
+
process.stdin.on = function (event, listener) {
|
|
331
|
+
if (event === 'data') {
|
|
332
|
+
const wrappedListener = (data) => {
|
|
333
|
+
try {
|
|
334
|
+
// Check for oversized input (potential buffer overflow attempt)
|
|
335
|
+
const size = Buffer.isBuffer(data) ? data.length : Buffer.byteLength(data);
|
|
336
|
+
if (size > 10 * 1024 * 1024) { // 10MB limit
|
|
337
|
+
protectionInstance?.log(`Blocked oversized input: ${size} bytes`);
|
|
338
|
+
if (protectionInstance)
|
|
339
|
+
protectionInstance.blockedAttacks++;
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
// Check for null bytes (potential injection)
|
|
343
|
+
const str = data.toString();
|
|
344
|
+
if (str.includes('\x00')) {
|
|
345
|
+
protectionInstance?.log('Blocked input with null bytes');
|
|
346
|
+
if (protectionInstance)
|
|
347
|
+
protectionInstance.blockedAttacks++;
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
listener(data);
|
|
351
|
+
}
|
|
352
|
+
catch (error) {
|
|
353
|
+
protectionInstance?.log(`Input sanitization caught error: ${error}`);
|
|
354
|
+
}
|
|
355
|
+
};
|
|
356
|
+
return originalStdinOn(event, wrappedListener);
|
|
357
|
+
}
|
|
358
|
+
return originalStdinOn(event, listener);
|
|
359
|
+
};
|
|
360
|
+
this.log('Input sanitization installed');
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Install network protection against remote termination attacks
|
|
364
|
+
*/
|
|
365
|
+
installNetworkProtection() {
|
|
366
|
+
// Monitor for unexpected network activity that could indicate C2 termination commands
|
|
367
|
+
try {
|
|
368
|
+
const net = require('net');
|
|
369
|
+
const originalConnect = net.Socket.prototype.connect;
|
|
370
|
+
net.Socket.prototype.connect = function (...args) {
|
|
371
|
+
const options = args[0];
|
|
372
|
+
// Check for suspicious connections
|
|
373
|
+
if (typeof options === 'object') {
|
|
374
|
+
const host = options.host || options.path;
|
|
375
|
+
const port = options.port;
|
|
376
|
+
// Block connections to known malicious ports
|
|
377
|
+
const suspiciousPorts = [4444, 5555, 6666, 7777, 8888, 9999, 1337, 31337];
|
|
378
|
+
if (suspiciousPorts.includes(port)) {
|
|
379
|
+
protectionInstance?.log(`Blocked suspicious connection to port ${port}`);
|
|
380
|
+
if (protectionInstance)
|
|
381
|
+
protectionInstance.blockedAttacks++;
|
|
382
|
+
const err = new Error('Connection blocked by security policy');
|
|
383
|
+
this.emit('error', err);
|
|
384
|
+
return this;
|
|
385
|
+
}
|
|
386
|
+
}
|
|
387
|
+
return originalConnect.apply(this, args);
|
|
388
|
+
};
|
|
389
|
+
}
|
|
390
|
+
catch {
|
|
391
|
+
// Network module not available
|
|
392
|
+
}
|
|
393
|
+
this.log('Network protection installed');
|
|
394
|
+
}
|
|
395
|
+
/**
|
|
396
|
+
* Install parent process protection
|
|
397
|
+
*/
|
|
398
|
+
installParentProcessProtection() {
|
|
399
|
+
// Monitor parent process - if it dies, we become an orphan but keep running
|
|
400
|
+
const checkParent = () => {
|
|
401
|
+
try {
|
|
402
|
+
// On Unix, PPID 1 means we're orphaned (adopted by init)
|
|
403
|
+
if (process.platform !== 'win32') {
|
|
404
|
+
const ppid = process.ppid;
|
|
405
|
+
if (ppid === 1) {
|
|
406
|
+
this.log('Parent process died - continuing as orphan');
|
|
407
|
+
// Continue running - don't terminate
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
catch {
|
|
412
|
+
// Ignore
|
|
413
|
+
}
|
|
414
|
+
};
|
|
415
|
+
setInterval(checkParent, 5000);
|
|
416
|
+
// Handle SIGHUP (sent when parent terminal closes)
|
|
417
|
+
process.on('SIGHUP', () => {
|
|
418
|
+
this.log('SIGHUP received (terminal closed) - continuing execution');
|
|
419
|
+
// Don't exit - keep running
|
|
420
|
+
});
|
|
421
|
+
this.log('Parent process protection installed');
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Install file descriptor protection
|
|
425
|
+
*/
|
|
426
|
+
installFileDescriptorProtection() {
|
|
427
|
+
// Track open file descriptors
|
|
428
|
+
let fdCount = 0;
|
|
429
|
+
const maxFDs = 10000; // Reasonable limit
|
|
430
|
+
const fs = require('fs');
|
|
431
|
+
const originalOpen = fs.open;
|
|
432
|
+
const originalClose = fs.close;
|
|
433
|
+
fs.open = function (...args) {
|
|
434
|
+
if (fdCount >= maxFDs) {
|
|
435
|
+
protectionInstance?.log(`FD exhaustion attack blocked (${fdCount} open)`);
|
|
436
|
+
if (protectionInstance)
|
|
437
|
+
protectionInstance.blockedAttacks++;
|
|
438
|
+
const callback = args[args.length - 1];
|
|
439
|
+
if (typeof callback === 'function') {
|
|
440
|
+
callback(new Error('Too many open files - security limit'));
|
|
441
|
+
}
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
fdCount++;
|
|
445
|
+
return originalOpen.apply(this, args);
|
|
446
|
+
};
|
|
447
|
+
fs.close = function (...args) {
|
|
448
|
+
fdCount = Math.max(0, fdCount - 1);
|
|
449
|
+
return originalClose.apply(this, args);
|
|
450
|
+
};
|
|
451
|
+
this.log('File descriptor protection installed');
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Install memory protection
|
|
455
|
+
*/
|
|
456
|
+
installMemoryProtection() {
|
|
457
|
+
// Set up memory monitoring
|
|
458
|
+
const checkMemory = () => {
|
|
459
|
+
const usage = process.memoryUsage();
|
|
460
|
+
const heapUsedMB = usage.heapUsed / 1024 / 1024;
|
|
461
|
+
const heapTotalMB = usage.heapTotal / 1024 / 1024;
|
|
462
|
+
const usagePercent = (heapUsedMB / heapTotalMB) * 100;
|
|
463
|
+
if (usagePercent > this.config.memoryThresholdPercent) {
|
|
464
|
+
this.log(`Memory usage high (${usagePercent.toFixed(1)}%) - triggering GC`);
|
|
465
|
+
this.triggerGC();
|
|
466
|
+
}
|
|
467
|
+
// Detect rapid memory growth (potential DoS)
|
|
468
|
+
if (usage.heapUsed > usage.heapTotal * 0.95) {
|
|
469
|
+
this.log('WARNING: Heap nearly exhausted - possible memory attack');
|
|
470
|
+
this.blockedAttacks++;
|
|
471
|
+
this.triggerGC();
|
|
472
|
+
}
|
|
473
|
+
};
|
|
474
|
+
setInterval(checkMemory, 10000);
|
|
475
|
+
this.log('Memory protection installed');
|
|
476
|
+
}
|
|
477
|
+
/**
|
|
478
|
+
* Start resource monitoring
|
|
479
|
+
*/
|
|
480
|
+
startResourceMonitoring() {
|
|
481
|
+
this.resourceMonitorTimer = setInterval(() => {
|
|
482
|
+
const usage = process.memoryUsage();
|
|
483
|
+
const cpuUsage = process.cpuUsage();
|
|
484
|
+
// Check for resource exhaustion attacks
|
|
485
|
+
if (usage.heapUsed > 1024 * 1024 * 1024) { // 1GB
|
|
486
|
+
this.log('WARNING: High memory usage detected');
|
|
487
|
+
this.triggerGC();
|
|
488
|
+
}
|
|
489
|
+
// Log metrics periodically
|
|
490
|
+
if (this.config.verbose) {
|
|
491
|
+
this.log(`Resources: heap=${(usage.heapUsed / 1024 / 1024).toFixed(1)}MB, cpu=${cpuUsage.user}us`);
|
|
492
|
+
}
|
|
493
|
+
}, this.config.watchdogIntervalMs);
|
|
494
|
+
this.log('Resource monitoring started');
|
|
495
|
+
}
|
|
496
|
+
/**
|
|
497
|
+
* Start watchdog heartbeat
|
|
498
|
+
*/
|
|
499
|
+
startWatchdog() {
|
|
500
|
+
this.watchdogTimer = setInterval(() => {
|
|
501
|
+
this.lastHeartbeat = Date.now();
|
|
502
|
+
// Self-integrity check
|
|
503
|
+
if (!this.verifySelfIntegrity()) {
|
|
504
|
+
this.log('WARNING: Self-integrity check failed');
|
|
505
|
+
this.blockedAttacks++;
|
|
506
|
+
}
|
|
507
|
+
}, this.config.watchdogIntervalMs);
|
|
508
|
+
this.log('Watchdog started');
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Verify runtime self-integrity
|
|
512
|
+
*/
|
|
513
|
+
verifySelfIntegrity() {
|
|
514
|
+
try {
|
|
515
|
+
// Check that our protection is still active
|
|
516
|
+
if (!this.signalHandlers.size && this.config.interceptSignals) {
|
|
517
|
+
return false;
|
|
518
|
+
}
|
|
519
|
+
// Check process.exit is still guarded
|
|
520
|
+
if (process.exit === this.originalProcessExit) {
|
|
521
|
+
return false;
|
|
522
|
+
}
|
|
523
|
+
// Check timers are still running
|
|
524
|
+
if (!this.watchdogTimer && this.config.enableWatchdog) {
|
|
525
|
+
return false;
|
|
526
|
+
}
|
|
527
|
+
return true;
|
|
528
|
+
}
|
|
529
|
+
catch {
|
|
530
|
+
return false;
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
/**
|
|
534
|
+
* Trigger garbage collection if available
|
|
535
|
+
*/
|
|
536
|
+
triggerGC() {
|
|
537
|
+
try {
|
|
538
|
+
if (global.gc) {
|
|
539
|
+
global.gc();
|
|
540
|
+
this.log('Garbage collection triggered');
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
catch {
|
|
544
|
+
// GC not exposed
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* Enter critical section - blocks all termination
|
|
549
|
+
*/
|
|
550
|
+
enterCriticalSection() {
|
|
551
|
+
this.criticalSectionDepth++;
|
|
552
|
+
this.criticalSection = true;
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Exit critical section
|
|
556
|
+
*/
|
|
557
|
+
exitCriticalSection() {
|
|
558
|
+
this.criticalSectionDepth = Math.max(0, this.criticalSectionDepth - 1);
|
|
559
|
+
if (this.criticalSectionDepth === 0) {
|
|
560
|
+
this.criticalSection = false;
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Register a shutdown callback
|
|
565
|
+
*/
|
|
566
|
+
onShutdown(callback) {
|
|
567
|
+
this.shutdownCallbacks.push(callback);
|
|
568
|
+
}
|
|
569
|
+
/**
|
|
570
|
+
* Initiate authorized graceful shutdown
|
|
571
|
+
*/
|
|
572
|
+
async shutdown(code = 0) {
|
|
573
|
+
if (this.isShuttingDown)
|
|
574
|
+
return;
|
|
575
|
+
this.isShuttingDown = true;
|
|
576
|
+
this.log(`Initiating authorized shutdown (code: ${code})`);
|
|
577
|
+
// Run shutdown callbacks
|
|
578
|
+
for (const callback of this.shutdownCallbacks) {
|
|
579
|
+
try {
|
|
580
|
+
await callback();
|
|
581
|
+
}
|
|
582
|
+
catch (error) {
|
|
583
|
+
this.log(`Shutdown callback error: ${error}`);
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
// Cleanup
|
|
587
|
+
this.cleanup();
|
|
588
|
+
// Actual exit
|
|
589
|
+
this.originalProcessExit(code);
|
|
590
|
+
}
|
|
591
|
+
/**
|
|
592
|
+
* Cleanup protection resources
|
|
593
|
+
*/
|
|
594
|
+
cleanup() {
|
|
595
|
+
if (this.watchdogTimer) {
|
|
596
|
+
clearInterval(this.watchdogTimer);
|
|
597
|
+
this.watchdogTimer = null;
|
|
598
|
+
}
|
|
599
|
+
if (this.resourceMonitorTimer) {
|
|
600
|
+
clearInterval(this.resourceMonitorTimer);
|
|
601
|
+
this.resourceMonitorTimer = null;
|
|
602
|
+
}
|
|
603
|
+
// Remove signal handlers
|
|
604
|
+
for (const [signal, handler] of this.signalHandlers) {
|
|
605
|
+
try {
|
|
606
|
+
process.removeListener(signal, handler);
|
|
607
|
+
}
|
|
608
|
+
catch {
|
|
609
|
+
// Ignore
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
this.signalHandlers.clear();
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Log an attack event
|
|
616
|
+
*/
|
|
617
|
+
logAttack(event) {
|
|
618
|
+
this.attackLog.push(event);
|
|
619
|
+
// Keep only last 1000 events
|
|
620
|
+
if (this.attackLog.length > 1000) {
|
|
621
|
+
this.attackLog = this.attackLog.slice(-1000);
|
|
622
|
+
}
|
|
623
|
+
if (this.config.verbose) {
|
|
624
|
+
this.log(`ATTACK: ${event.type} - ${event.details}`);
|
|
625
|
+
}
|
|
626
|
+
this.config.onAttackDetected?.(event);
|
|
627
|
+
}
|
|
628
|
+
/**
|
|
629
|
+
* Internal logging
|
|
630
|
+
*/
|
|
631
|
+
log(message) {
|
|
632
|
+
if (this.config.verbose || process.env['AGI_DEBUG']) {
|
|
633
|
+
console.error(`[AntiTermination] ${message}`);
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
/**
|
|
637
|
+
* Get current protection status
|
|
638
|
+
*/
|
|
639
|
+
getStatus() {
|
|
640
|
+
const usage = process.memoryUsage();
|
|
641
|
+
const cpuUsage = process.cpuUsage();
|
|
642
|
+
return {
|
|
643
|
+
enabled: true,
|
|
644
|
+
signalProtection: this.signalHandlers.size > 0,
|
|
645
|
+
resourceProtection: this.resourceMonitorTimer !== null,
|
|
646
|
+
exceptionArmor: true,
|
|
647
|
+
watchdogActive: this.watchdogTimer !== null,
|
|
648
|
+
blockedSignals: this.blockedSignals,
|
|
649
|
+
blockedExceptions: this.blockedExceptions,
|
|
650
|
+
blockedAttacks: this.blockedAttacks,
|
|
651
|
+
uptimeMs: Date.now() - this.startTime,
|
|
652
|
+
memoryUsageMB: usage.heapUsed / 1024 / 1024,
|
|
653
|
+
cpuUsagePercent: cpuUsage.user / 1000000, // Convert to seconds
|
|
654
|
+
lastHeartbeat: this.lastHeartbeat,
|
|
655
|
+
};
|
|
656
|
+
}
|
|
657
|
+
/**
|
|
658
|
+
* Get attack log
|
|
659
|
+
*/
|
|
660
|
+
getAttackLog() {
|
|
661
|
+
return [...this.attackLog];
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
/**
|
|
665
|
+
* Initialize global protection (singleton)
|
|
666
|
+
*/
|
|
667
|
+
export function initializeProtection(config) {
|
|
668
|
+
if (!protectionInstance) {
|
|
669
|
+
protectionInstance = new AntiTerminationProtection(config);
|
|
670
|
+
protectionInstance.initialize();
|
|
671
|
+
}
|
|
672
|
+
return protectionInstance;
|
|
673
|
+
}
|
|
674
|
+
/**
|
|
675
|
+
* Get protection instance
|
|
676
|
+
*/
|
|
677
|
+
export function getProtection() {
|
|
678
|
+
return protectionInstance;
|
|
679
|
+
}
|
|
680
|
+
/**
|
|
681
|
+
* Enter critical section - blocks all termination attempts
|
|
682
|
+
*/
|
|
683
|
+
export function enterCriticalSection() {
|
|
684
|
+
protectionInstance?.enterCriticalSection();
|
|
685
|
+
}
|
|
686
|
+
/**
|
|
687
|
+
* Exit critical section
|
|
688
|
+
*/
|
|
689
|
+
export function exitCriticalSection() {
|
|
690
|
+
protectionInstance?.exitCriticalSection();
|
|
691
|
+
}
|
|
692
|
+
/**
|
|
693
|
+
* Initiate authorized shutdown
|
|
694
|
+
*/
|
|
695
|
+
export async function authorizedShutdown(code = 0) {
|
|
696
|
+
if (protectionInstance) {
|
|
697
|
+
await protectionInstance.shutdown(code);
|
|
698
|
+
}
|
|
699
|
+
else {
|
|
700
|
+
process.exit(code);
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* Get protection status
|
|
705
|
+
*/
|
|
706
|
+
export function getProtectionStatus() {
|
|
707
|
+
return protectionInstance?.getStatus() ?? null;
|
|
708
|
+
}
|
|
709
|
+
// Auto-initialize if AGI_ANTI_TERMINATION env var is set
|
|
710
|
+
if (process.env['AGI_ANTI_TERMINATION'] === '1' || process.env['AGI_PROTECTED_MODE'] === '1') {
|
|
711
|
+
initializeProtection({ verbose: process.env['AGI_DEBUG'] === '1' });
|
|
712
|
+
}
|
|
713
|
+
//# sourceMappingURL=antiTermination.js.map
|