@trenchwork/erosolar 1.1.16
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 +232 -0
- package/agents/erosolar-code.rules.json +199 -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 +3 -0
- package/dist/bin/deepseek.d.ts.map +1 -0
- package/dist/bin/deepseek.js +232 -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 +298 -0
- package/dist/bin/selfTest.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/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/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 +184 -0
- package/dist/capabilities/gitHistoryCapability.js.map +1 -0
- package/dist/capabilities/hitlCapability.d.ts +18 -0
- package/dist/capabilities/hitlCapability.d.ts.map +1 -0
- package/dist/capabilities/hitlCapability.js +29 -0
- package/dist/capabilities/hitlCapability.js.map +1 -0
- package/dist/capabilities/index.d.ts +13 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +18 -0
- package/dist/capabilities/index.js.map +1 -0
- package/dist/capabilities/kaliCapability.d.ts +14 -0
- package/dist/capabilities/kaliCapability.d.ts.map +1 -0
- package/dist/capabilities/kaliCapability.js +478 -0
- package/dist/capabilities/kaliCapability.js.map +1 -0
- package/dist/capabilities/mcpCapability.d.ts +7 -0
- package/dist/capabilities/mcpCapability.d.ts.map +1 -0
- package/dist/capabilities/mcpCapability.js +80 -0
- package/dist/capabilities/mcpCapability.js.map +1 -0
- package/dist/capabilities/memoryCapability.d.ts +10 -0
- package/dist/capabilities/memoryCapability.d.ts.map +1 -0
- package/dist/capabilities/memoryCapability.js +22 -0
- package/dist/capabilities/memoryCapability.js.map +1 -0
- package/dist/capabilities/notebookCapability.d.ts +6 -0
- package/dist/capabilities/notebookCapability.d.ts.map +1 -0
- package/dist/capabilities/notebookCapability.js +17 -0
- package/dist/capabilities/notebookCapability.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/skillCapability.d.ts +6 -0
- package/dist/capabilities/skillCapability.d.ts.map +1 -0
- package/dist/capabilities/skillCapability.js +17 -0
- package/dist/capabilities/skillCapability.js.map +1 -0
- package/dist/capabilities/todoCapability.d.ts +11 -0
- package/dist/capabilities/todoCapability.d.ts.map +1 -0
- package/dist/capabilities/todoCapability.js +22 -0
- package/dist/capabilities/todoCapability.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/unifiedCodingCapability.d.ts +62 -0
- package/dist/capabilities/unifiedCodingCapability.d.ts.map +1 -0
- package/dist/capabilities/unifiedCodingCapability.js +788 -0
- package/dist/capabilities/unifiedCodingCapability.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/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 +470 -0
- package/dist/contracts/models.schema.json +9 -0
- package/dist/contracts/module-schema.json +367 -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 +42 -0
- package/dist/contracts/unified-schema.json +660 -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 +320 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +1627 -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/agentRegistry.d.ts +111 -0
- package/dist/core/agentRegistry.d.ts.map +1 -0
- package/dist/core/agentRegistry.js +229 -0
- package/dist/core/agentRegistry.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/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/auth.d.ts +15 -0
- package/dist/core/auth.d.ts.map +1 -0
- package/dist/core/auth.js +291 -0
- package/dist/core/auth.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/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 +109 -0
- package/dist/core/errors/safetyValidator.d.ts.map +1 -0
- package/dist/core/errors/safetyValidator.js +271 -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/guardrails.d.ts +146 -0
- package/dist/core/guardrails.d.ts.map +1 -0
- package/dist/core/guardrails.js +361 -0
- package/dist/core/guardrails.js.map +1 -0
- package/dist/core/hitl.d.ts +119 -0
- package/dist/core/hitl.d.ts.map +1 -0
- package/dist/core/hitl.js +387 -0
- package/dist/core/hitl.js.map +1 -0
- package/dist/core/hooks.d.ts +95 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +239 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/index.d.ts +7 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +7 -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 +422 -0
- package/dist/core/inputProtection.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 +768 -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 +81 -0
- package/dist/core/multilinePasteHandler.js.map +1 -0
- package/dist/core/preferences.d.ts +65 -0
- package/dist/core/preferences.d.ts.map +1 -0
- package/dist/core/preferences.js +305 -0
- package/dist/core/preferences.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/refusalDetection.d.ts +2 -0
- package/dist/core/refusalDetection.d.ts.map +1 -0
- package/dist/core/refusalDetection.js +51 -0
- package/dist/core/refusalDetection.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/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 +268 -0
- package/dist/core/secretStore.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/shutdown.d.ts +34 -0
- package/dist/core/shutdown.d.ts.map +1 -0
- package/dist/core/shutdown.js +186 -0
- package/dist/core/shutdown.js.map +1 -0
- package/dist/core/sudoPasswordManager.d.ts +52 -0
- package/dist/core/sudoPasswordManager.d.ts.map +1 -0
- package/dist/core/sudoPasswordManager.js +115 -0
- package/dist/core/sudoPasswordManager.js.map +1 -0
- package/dist/core/taskCompletionDetector.d.ts +117 -0
- package/dist/core/taskCompletionDetector.d.ts.map +1 -0
- package/dist/core/taskCompletionDetector.js +532 -0
- package/dist/core/taskCompletionDetector.js.map +1 -0
- package/dist/core/testFailureMonitor.d.ts +67 -0
- package/dist/core/testFailureMonitor.d.ts.map +1 -0
- package/dist/core/testFailureMonitor.js +262 -0
- package/dist/core/testFailureMonitor.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 +192 -0
- package/dist/core/toolRuntime.d.ts.map +1 -0
- package/dist/core/toolRuntime.js +460 -0
- package/dist/core/toolRuntime.js.map +1 -0
- package/dist/core/types/utilityTypes.d.ts +183 -0
- package/dist/core/types/utilityTypes.d.ts.map +1 -0
- package/dist/core/types/utilityTypes.js +273 -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/updateChecker.d.ts +148 -0
- package/dist/core/updateChecker.d.ts.map +1 -0
- package/dist/core/updateChecker.js +599 -0
- package/dist/core/updateChecker.js.map +1 -0
- package/dist/core/usageTracker.d.ts +11 -0
- package/dist/core/usageTracker.d.ts.map +1 -0
- package/dist/core/usageTracker.js +128 -0
- package/dist/core/usageTracker.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 +2100 -0
- package/dist/headless/interactiveShell.js.map +1 -0
- package/dist/leanAgent.d.ts +73 -0
- package/dist/leanAgent.d.ts.map +1 -0
- package/dist/leanAgent.js +177 -0
- package/dist/leanAgent.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 +104 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/providers/anthropic/index.d.ts +9 -0
- package/dist/plugins/providers/anthropic/index.d.ts.map +1 -0
- package/dist/plugins/providers/anthropic/index.js +48 -0
- package/dist/plugins/providers/anthropic/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 +17 -0
- package/dist/plugins/providers/index.js.map +1 -0
- package/dist/plugins/providers/openai/index.d.ts +10 -0
- package/dist/plugins/providers/openai/index.d.ts.map +1 -0
- package/dist/plugins/providers/openai/index.js +47 -0
- package/dist/plugins/providers/openai/index.js.map +1 -0
- package/dist/plugins/providers/xai/index.d.ts +10 -0
- package/dist/plugins/providers/xai/index.d.ts.map +1 -0
- package/dist/plugins/providers/xai/index.js +47 -0
- package/dist/plugins/providers/xai/index.js.map +1 -0
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +10 -0
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +110 -0
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.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/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/kali/kaliPlugin.d.ts +3 -0
- package/dist/plugins/tools/kali/kaliPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/kali/kaliPlugin.js +10 -0
- package/dist/plugins/tools/kali/kaliPlugin.js.map +1 -0
- package/dist/plugins/tools/mcp/mcpClient.d.ts +49 -0
- package/dist/plugins/tools/mcp/mcpClient.d.ts.map +1 -0
- package/dist/plugins/tools/mcp/mcpClient.js +112 -0
- package/dist/plugins/tools/mcp/mcpClient.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 +10 -0
- package/dist/plugins/tools/mcp/mcpPlugin.js.map +1 -0
- package/dist/plugins/tools/nodeDefaults.d.ts +13 -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/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/todo/todoPlugin.d.ts +3 -0
- package/dist/plugins/tools/todo/todoPlugin.d.ts.map +1 -0
- package/dist/plugins/tools/todo/todoPlugin.js +10 -0
- package/dist/plugins/tools/todo/todoPlugin.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 +1018 -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 +468 -0
- package/dist/providers/resilientProvider.js.map +1 -0
- package/dist/runtime/agentController.d.ts +121 -0
- package/dist/runtime/agentController.d.ts.map +1 -0
- package/dist/runtime/agentController.js +739 -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 +158 -0
- package/dist/runtime/agentHost.js.map +1 -0
- package/dist/runtime/agentSession.d.ts +49 -0
- package/dist/runtime/agentSession.d.ts.map +1 -0
- package/dist/runtime/agentSession.js +218 -0
- package/dist/runtime/agentSession.js.map +1 -0
- package/dist/runtime/agentSpawningWiring.d.ts +23 -0
- package/dist/runtime/agentSpawningWiring.d.ts.map +1 -0
- package/dist/runtime/agentSpawningWiring.js +119 -0
- package/dist/runtime/agentSpawningWiring.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 +56 -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 +355 -0
- package/dist/shell/commandRegistry.js.map +1 -0
- package/dist/shell/composableMessage.d.ts +178 -0
- package/dist/shell/composableMessage.d.ts.map +1 -0
- package/dist/shell/composableMessage.js +384 -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 +11 -0
- package/dist/tools/bashTools.d.ts.map +1 -0
- package/dist/tools/bashTools.js +779 -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 +792 -0
- package/dist/tools/editTools.js.map +1 -0
- package/dist/tools/fileChangeTracker.d.ts +47 -0
- package/dist/tools/fileChangeTracker.d.ts.map +1 -0
- package/dist/tools/fileChangeTracker.js +154 -0
- package/dist/tools/fileChangeTracker.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 +389 -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 +128 -0
- package/dist/tools/grepTools.js.map +1 -0
- package/dist/tools/heliaControl.d.ts +51 -0
- package/dist/tools/heliaControl.d.ts.map +1 -0
- package/dist/tools/heliaControl.js +93 -0
- package/dist/tools/heliaControl.js.map +1 -0
- package/dist/tools/hitlTools.d.ts +7 -0
- package/dist/tools/hitlTools.d.ts.map +1 -0
- package/dist/tools/hitlTools.js +185 -0
- package/dist/tools/hitlTools.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/memoryTools.d.ts +20 -0
- package/dist/tools/memoryTools.d.ts.map +1 -0
- package/dist/tools/memoryTools.js +180 -0
- package/dist/tools/memoryTools.js.map +1 -0
- package/dist/tools/notebookTools.d.ts +20 -0
- package/dist/tools/notebookTools.d.ts.map +1 -0
- package/dist/tools/notebookTools.js +140 -0
- package/dist/tools/notebookTools.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 +413 -0
- package/dist/tools/searchTools.js.map +1 -0
- package/dist/tools/skillTools.d.ts +24 -0
- package/dist/tools/skillTools.d.ts.map +1 -0
- package/dist/tools/skillTools.js +140 -0
- package/dist/tools/skillTools.js.map +1 -0
- package/dist/tools/todoTools.d.ts +24 -0
- package/dist/tools/todoTools.d.ts.map +1 -0
- package/dist/tools/todoTools.js +101 -0
- package/dist/tools/todoTools.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 +332 -0
- package/dist/tools/webTools.js.map +1 -0
- package/dist/ui/RenderGate.d.ts +83 -0
- package/dist/ui/RenderGate.d.ts.map +1 -0
- package/dist/ui/RenderGate.js +138 -0
- package/dist/ui/RenderGate.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 +31 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +49 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/ink/App.d.ts +39 -0
- package/dist/ui/ink/App.d.ts.map +1 -0
- package/dist/ui/ink/App.js +9 -0
- package/dist/ui/ink/App.js.map +1 -0
- package/dist/ui/ink/ChatStatic.d.ts +29 -0
- package/dist/ui/ink/ChatStatic.d.ts.map +1 -0
- package/dist/ui/ink/ChatStatic.js +14 -0
- package/dist/ui/ink/ChatStatic.js.map +1 -0
- package/dist/ui/ink/InkPromptController.d.ts +282 -0
- package/dist/ui/ink/InkPromptController.d.ts.map +1 -0
- package/dist/ui/ink/InkPromptController.js +508 -0
- package/dist/ui/ink/InkPromptController.js.map +1 -0
- package/dist/ui/ink/Prompt.d.ts +31 -0
- package/dist/ui/ink/Prompt.d.ts.map +1 -0
- package/dist/ui/ink/Prompt.js +197 -0
- package/dist/ui/ink/Prompt.js.map +1 -0
- package/dist/ui/ink/StatusLine.d.ts +25 -0
- package/dist/ui/ink/StatusLine.d.ts.map +1 -0
- package/dist/ui/ink/StatusLine.js +11 -0
- package/dist/ui/ink/StatusLine.js.map +1 -0
- package/dist/ui/ink/adapter.d.ts +58 -0
- package/dist/ui/ink/adapter.d.ts.map +1 -0
- package/dist/ui/ink/adapter.js +113 -0
- package/dist/ui/ink/adapter.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/outputMode.d.ts +58 -0
- package/dist/ui/outputMode.d.ts.map +1 -0
- package/dist/ui/outputMode.js +179 -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 +304 -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 +351 -0
- package/dist/ui/theme.d.ts.map +1 -0
- package/dist/ui/theme.js +434 -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 +253 -0
- package/dist/ui/uiConstants.d.ts.map +1 -0
- package/dist/ui/uiConstants.js +437 -0
- package/dist/ui/uiConstants.js.map +1 -0
- package/dist/utils/analytics.d.ts +2 -0
- package/dist/utils/analytics.d.ts.map +1 -0
- package/dist/utils/analytics.js +51 -0
- package/dist/utils/analytics.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 +145 -0
- package/dist/utils/securityUtils.d.ts.map +1 -0
- package/dist/utils/securityUtils.js +507 -0
- package/dist/utils/securityUtils.js.map +1 -0
- package/dist/utils/statusReporter.d.ts +6 -0
- package/dist/utils/statusReporter.d.ts.map +1 -0
- package/dist/utils/statusReporter.js +26 -0
- package/dist/utils/statusReporter.js.map +1 -0
- package/dist/workspace.d.ts +8 -0
- package/dist/workspace.d.ts.map +1 -0
- package/dist/workspace.js +135 -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 +135 -0
- package/scripts/postinstall.cjs +58 -0
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { theme } from './theme.js';
|
|
2
|
+
import { isPlainOutputMode } from './outputMode.js';
|
|
3
|
+
/**
|
|
4
|
+
* Layout constants for terminal rendering
|
|
5
|
+
* These ensure consistent behavior across all terminal sizes
|
|
6
|
+
*/
|
|
7
|
+
const MIN_WIDTH = 20; // Minimum usable width (reduced from 42 for narrow terminals)
|
|
8
|
+
const MAX_WIDTH = 120; // Maximum content width for readability
|
|
9
|
+
const ULTRA_NARROW_WIDTH = 30; // Below this, use compact mode
|
|
10
|
+
const DEFAULT_WIDTH = 80; // Standard terminal width fallback
|
|
11
|
+
// eslint-disable-next-line no-control-regex
|
|
12
|
+
const ANSI_REGEX = /\u001B\[[0-9;]*m/g;
|
|
13
|
+
/**
|
|
14
|
+
* Get terminal columns with robust fallback handling
|
|
15
|
+
* Handles edge cases: undefined stdout, non-TTY, invalid values
|
|
16
|
+
*/
|
|
17
|
+
export function getTerminalColumns(defaultWidth = DEFAULT_WIDTH) {
|
|
18
|
+
try {
|
|
19
|
+
// Check if stdout exists and has columns
|
|
20
|
+
if (process.stdout &&
|
|
21
|
+
typeof process.stdout.columns === 'number' &&
|
|
22
|
+
Number.isFinite(process.stdout.columns) &&
|
|
23
|
+
process.stdout.columns > 0) {
|
|
24
|
+
return process.stdout.columns;
|
|
25
|
+
}
|
|
26
|
+
// Fallback: try COLUMNS env variable (used in some terminals)
|
|
27
|
+
const envColumns = process.env['COLUMNS'];
|
|
28
|
+
if (envColumns) {
|
|
29
|
+
const parsed = parseInt(envColumns, 10);
|
|
30
|
+
if (Number.isFinite(parsed) && parsed > 0) {
|
|
31
|
+
return parsed;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// Silently handle any errors (e.g., in restricted environments)
|
|
37
|
+
}
|
|
38
|
+
return defaultWidth;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Check if we're in ultra-narrow terminal mode
|
|
42
|
+
*/
|
|
43
|
+
export function isUltraNarrowMode() {
|
|
44
|
+
return getTerminalColumns() < ULTRA_NARROW_WIDTH;
|
|
45
|
+
}
|
|
46
|
+
export function getContentWidth() {
|
|
47
|
+
const columns = getTerminalColumns();
|
|
48
|
+
const usable = typeof columns === 'number' && Number.isFinite(columns) ? columns - 6 : MAX_WIDTH;
|
|
49
|
+
return clampWidth(usable, columns);
|
|
50
|
+
}
|
|
51
|
+
export function wrapParagraph(text, width) {
|
|
52
|
+
const words = text.split(/\s+/).filter(Boolean);
|
|
53
|
+
if (!words.length) {
|
|
54
|
+
return [''];
|
|
55
|
+
}
|
|
56
|
+
const lines = [];
|
|
57
|
+
let current = words.shift();
|
|
58
|
+
for (const word of words) {
|
|
59
|
+
if (measure(`${current} ${word}`) > width) {
|
|
60
|
+
lines.push(current);
|
|
61
|
+
current = word;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
current += ` ${word}`;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
lines.push(current);
|
|
68
|
+
return lines;
|
|
69
|
+
}
|
|
70
|
+
export function wrapPreformatted(text, width) {
|
|
71
|
+
if (!text) {
|
|
72
|
+
return [''];
|
|
73
|
+
}
|
|
74
|
+
const result = [];
|
|
75
|
+
let remaining = text;
|
|
76
|
+
while (measure(remaining) > width) {
|
|
77
|
+
result.push(remaining.slice(0, width));
|
|
78
|
+
remaining = remaining.slice(width);
|
|
79
|
+
}
|
|
80
|
+
if (remaining) {
|
|
81
|
+
result.push(remaining);
|
|
82
|
+
}
|
|
83
|
+
return result.length ? result : [''];
|
|
84
|
+
}
|
|
85
|
+
export function normalizePanelWidth(width) {
|
|
86
|
+
if (typeof width === 'number' && Number.isFinite(width)) {
|
|
87
|
+
return clampWidth(width, getTerminalColumns());
|
|
88
|
+
}
|
|
89
|
+
return clampWidth(getContentWidth(), getTerminalColumns());
|
|
90
|
+
}
|
|
91
|
+
export function renderPanel(lines, options = {}) {
|
|
92
|
+
// Check if plain output mode is enabled for clipboard-friendly text
|
|
93
|
+
if (isPlainOutputMode()) {
|
|
94
|
+
return renderPlainPanel(lines, options);
|
|
95
|
+
}
|
|
96
|
+
const width = normalizePanelWidth(options.width);
|
|
97
|
+
const accent = options.accentColor ?? theme.primary;
|
|
98
|
+
const iconSegment = options.icon ? `${options.icon} ` : '';
|
|
99
|
+
const titleText = options.title ? `${iconSegment}${options.title}` : '';
|
|
100
|
+
const output = [];
|
|
101
|
+
// Add empty line for spacing
|
|
102
|
+
output.push('');
|
|
103
|
+
if (titleText) {
|
|
104
|
+
const paddedTitle = padLine(accent(truncate(titleText, width)), width);
|
|
105
|
+
output.push(paddedTitle);
|
|
106
|
+
output.push('');
|
|
107
|
+
}
|
|
108
|
+
if (!lines.length) {
|
|
109
|
+
lines = [''];
|
|
110
|
+
}
|
|
111
|
+
for (const line of lines) {
|
|
112
|
+
const padded = padLine(line, width);
|
|
113
|
+
output.push(padded);
|
|
114
|
+
}
|
|
115
|
+
// Add empty line for spacing
|
|
116
|
+
output.push('');
|
|
117
|
+
return output.join('\n');
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Renders a panel in plain text mode without box-drawing characters.
|
|
121
|
+
* Outputs clean text that's clipboard-friendly.
|
|
122
|
+
*/
|
|
123
|
+
function renderPlainPanel(lines, options = {}) {
|
|
124
|
+
const accent = options.accentColor ?? theme.primary;
|
|
125
|
+
const iconSegment = options.icon ? `${options.icon} ` : '';
|
|
126
|
+
const titleText = options.title ? `${iconSegment}${options.title}` : '';
|
|
127
|
+
const output = [];
|
|
128
|
+
if (titleText) {
|
|
129
|
+
output.push(`[${accent(titleText)}]`);
|
|
130
|
+
output.push('');
|
|
131
|
+
}
|
|
132
|
+
if (!lines.length) {
|
|
133
|
+
lines = [''];
|
|
134
|
+
}
|
|
135
|
+
for (const line of lines) {
|
|
136
|
+
output.push(line.trimEnd());
|
|
137
|
+
}
|
|
138
|
+
return output.join('\n');
|
|
139
|
+
}
|
|
140
|
+
export function measure(text) {
|
|
141
|
+
return stripAnsi(text).length;
|
|
142
|
+
}
|
|
143
|
+
export function stripAnsi(text) {
|
|
144
|
+
return text.replace(ANSI_REGEX, '');
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Clamp width to valid bounds with robust error handling
|
|
148
|
+
* Ensures we never return invalid dimensions that could break rendering
|
|
149
|
+
*/
|
|
150
|
+
function clampWidth(value, columns) {
|
|
151
|
+
// Handle invalid inputs gracefully
|
|
152
|
+
if (!Number.isFinite(value) || value < 0) {
|
|
153
|
+
value = DEFAULT_WIDTH;
|
|
154
|
+
}
|
|
155
|
+
// Calculate max width based on terminal size
|
|
156
|
+
const terminalMax = typeof columns === 'number' && Number.isFinite(columns) && columns > 0
|
|
157
|
+
? Math.max(MIN_WIDTH, Math.floor(columns - 4)) // Leave margin for borders
|
|
158
|
+
: MAX_WIDTH;
|
|
159
|
+
// Ensure min doesn't exceed max
|
|
160
|
+
const effectiveMin = Math.min(MIN_WIDTH, terminalMax);
|
|
161
|
+
const effectiveMax = Math.min(MAX_WIDTH, terminalMax);
|
|
162
|
+
// Clamp to valid range
|
|
163
|
+
const normalized = Math.floor(value);
|
|
164
|
+
return Math.max(effectiveMin, Math.min(normalized, effectiveMax));
|
|
165
|
+
}
|
|
166
|
+
export function padLine(text, width) {
|
|
167
|
+
const visible = measure(text);
|
|
168
|
+
if (visible === width) {
|
|
169
|
+
return text;
|
|
170
|
+
}
|
|
171
|
+
if (visible > width) {
|
|
172
|
+
return truncate(text, width);
|
|
173
|
+
}
|
|
174
|
+
return `${text}${' '.repeat(width - visible)}`;
|
|
175
|
+
}
|
|
176
|
+
export function truncate(text, width) {
|
|
177
|
+
const visible = stripAnsi(text);
|
|
178
|
+
if (visible.length <= width) {
|
|
179
|
+
return text;
|
|
180
|
+
}
|
|
181
|
+
const truncated = visible.slice(0, Math.max(1, width - 1));
|
|
182
|
+
return `${truncated}…`;
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/ui/layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output mode configuration for terminal UI
|
|
3
|
+
*
|
|
4
|
+
* Controls whether to use decorative box-drawing characters or plain text.
|
|
5
|
+
* Plain mode outputs clipboard-friendly text without Unicode borders.
|
|
6
|
+
* Automatically enabled in CI or non-interactive shells; override with EROSOLAR_PLAIN_OUTPUT=true.
|
|
7
|
+
*
|
|
8
|
+
* Environment Variables:
|
|
9
|
+
* - EROSOLAR_PLAIN_OUTPUT: Set to 'true', '1', 'yes', or 'on' to force plain mode
|
|
10
|
+
* - CI: Automatically enables plain mode when set
|
|
11
|
+
* - TERM: Checked for 'dumb' terminals which get plain mode
|
|
12
|
+
* - NO_COLOR: If set, enables plain mode (respects https://no-color.org/)
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Check if plain output mode is enabled.
|
|
16
|
+
* Plain mode outputs text without box-drawing characters for clean clipboard copying.
|
|
17
|
+
*/
|
|
18
|
+
export declare function isPlainOutputMode(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Check if color output is enabled.
|
|
21
|
+
* Respects NO_COLOR environment variable (https://no-color.org/)
|
|
22
|
+
*/
|
|
23
|
+
export declare function isColorEnabled(): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Override the plain output mode setting (useful for testing)
|
|
26
|
+
*/
|
|
27
|
+
export declare function setPlainOutputMode(enabled: boolean): void;
|
|
28
|
+
/**
|
|
29
|
+
* Override the color output mode setting (useful for testing)
|
|
30
|
+
*/
|
|
31
|
+
export declare function setColorEnabled(enabled: boolean): void;
|
|
32
|
+
/**
|
|
33
|
+
* Reset plain output mode to check environment variable again
|
|
34
|
+
*/
|
|
35
|
+
export declare function resetPlainOutputMode(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Reset color mode to check environment variable again
|
|
38
|
+
*/
|
|
39
|
+
export declare function resetColorEnabled(): void;
|
|
40
|
+
/**
|
|
41
|
+
* Reset all output mode settings
|
|
42
|
+
*/
|
|
43
|
+
export declare function resetOutputModes(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Detect Windows PowerShell ISE. ISE reports `isTTY=true` but implements
|
|
46
|
+
* almost no ANSI; rich UI output appears as literal escape text. Three
|
|
47
|
+
* signals cover the deployed install base:
|
|
48
|
+
*
|
|
49
|
+
* - `PSModulePath` contains "ISE"
|
|
50
|
+
* - `EROSOLAR_FORCE_PSISE` (test/manual override)
|
|
51
|
+
* - the resize event never fires; we can't detect that synchronously
|
|
52
|
+
* here, so we lean on the env signals
|
|
53
|
+
*
|
|
54
|
+
* Returns true ONLY when running in ISE — Windows Terminal,
|
|
55
|
+
* PowerShell.exe, and pwsh are all unaffected.
|
|
56
|
+
*/
|
|
57
|
+
export declare function isPowerShellIse(): boolean;
|
|
58
|
+
//# sourceMappingURL=outputMode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outputMode.d.ts","sourceRoot":"","sources":["../../src/ui/outputMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CA2E3C;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAgCxC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEzD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAEtD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAYzC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Output mode configuration for terminal UI
|
|
3
|
+
*
|
|
4
|
+
* Controls whether to use decorative box-drawing characters or plain text.
|
|
5
|
+
* Plain mode outputs clipboard-friendly text without Unicode borders.
|
|
6
|
+
* Automatically enabled in CI or non-interactive shells; override with EROSOLAR_PLAIN_OUTPUT=true.
|
|
7
|
+
*
|
|
8
|
+
* Environment Variables:
|
|
9
|
+
* - EROSOLAR_PLAIN_OUTPUT: Set to 'true', '1', 'yes', or 'on' to force plain mode
|
|
10
|
+
* - CI: Automatically enables plain mode when set
|
|
11
|
+
* - TERM: Checked for 'dumb' terminals which get plain mode
|
|
12
|
+
* - NO_COLOR: If set, enables plain mode (respects https://no-color.org/)
|
|
13
|
+
*/
|
|
14
|
+
let _plainMode = null;
|
|
15
|
+
let _colorEnabled = null;
|
|
16
|
+
/**
|
|
17
|
+
* Check if plain output mode is enabled.
|
|
18
|
+
* Plain mode outputs text without box-drawing characters for clean clipboard copying.
|
|
19
|
+
*/
|
|
20
|
+
export function isPlainOutputMode() {
|
|
21
|
+
if (_plainMode !== null) {
|
|
22
|
+
return _plainMode;
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
// Check explicit environment override first
|
|
26
|
+
const envValue = process.env['EROSOLAR_PLAIN_OUTPUT'];
|
|
27
|
+
if (envValue !== undefined) {
|
|
28
|
+
const envEnabled = ['true', '1', 'yes', 'on'].includes(envValue.toLowerCase());
|
|
29
|
+
if (envEnabled) {
|
|
30
|
+
_plainMode = true;
|
|
31
|
+
return _plainMode;
|
|
32
|
+
}
|
|
33
|
+
// Also check for explicit disable
|
|
34
|
+
const envDisabled = ['false', '0', 'no', 'off'].includes(envValue.toLowerCase());
|
|
35
|
+
if (envDisabled) {
|
|
36
|
+
_plainMode = false;
|
|
37
|
+
return _plainMode;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// NO_COLOR (https://no-color.org) — vision-sensitivity users, log
|
|
41
|
+
// scrapers, accessibility tools all rely on this signal. Per the spec
|
|
42
|
+
// it disables not just colours but also decorative output, so it
|
|
43
|
+
// forces plain mode here in addition to gating chalk in isColorEnabled.
|
|
44
|
+
if (process.env['NO_COLOR'] !== undefined && process.env['NO_COLOR'] !== '') {
|
|
45
|
+
_plainMode = true;
|
|
46
|
+
return _plainMode;
|
|
47
|
+
}
|
|
48
|
+
// Check for dumb terminal
|
|
49
|
+
const term = process.env['TERM'];
|
|
50
|
+
if (term === 'dumb') {
|
|
51
|
+
_plainMode = true;
|
|
52
|
+
return _plainMode;
|
|
53
|
+
}
|
|
54
|
+
// PowerShell ISE reports isTTY=true but implements a tiny subset of
|
|
55
|
+
// ANSI; overlay output appears as literal `[?25l[2J` text. Fall back
|
|
56
|
+
// to plain mode so output is at least readable there.
|
|
57
|
+
if (isPowerShellIse()) {
|
|
58
|
+
_plainMode = true;
|
|
59
|
+
return _plainMode;
|
|
60
|
+
}
|
|
61
|
+
// Check for CI environments
|
|
62
|
+
const isCi = Boolean(process.env['CI'] ||
|
|
63
|
+
process.env['GITHUB_ACTIONS'] ||
|
|
64
|
+
process.env['GITLAB_CI'] ||
|
|
65
|
+
process.env['CIRCLECI'] ||
|
|
66
|
+
process.env['TRAVIS'] ||
|
|
67
|
+
process.env['JENKINS_URL']);
|
|
68
|
+
// Check TTY status safely
|
|
69
|
+
const isTty = Boolean(process.stdout?.isTTY &&
|
|
70
|
+
process.stdin?.isTTY);
|
|
71
|
+
// FORCE_COLOR overrides CI detection — some CIs (Buildkite, modern
|
|
72
|
+
// GitHub Actions log groups) handle ANSI fine and operators set this
|
|
73
|
+
// explicitly to keep colour in captured logs.
|
|
74
|
+
const forceColor = process.env['FORCE_COLOR'] !== undefined && process.env['FORCE_COLOR'] !== '0';
|
|
75
|
+
// Default to plain logging in non-interactive/CI environments; rich UI only in TTY sessions.
|
|
76
|
+
_plainMode = !isTty || (isCi && !forceColor);
|
|
77
|
+
}
|
|
78
|
+
catch {
|
|
79
|
+
// If anything fails, default to plain mode for safety
|
|
80
|
+
_plainMode = true;
|
|
81
|
+
}
|
|
82
|
+
return _plainMode;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Check if color output is enabled.
|
|
86
|
+
* Respects NO_COLOR environment variable (https://no-color.org/)
|
|
87
|
+
*/
|
|
88
|
+
export function isColorEnabled() {
|
|
89
|
+
if (_colorEnabled !== null) {
|
|
90
|
+
return _colorEnabled;
|
|
91
|
+
}
|
|
92
|
+
try {
|
|
93
|
+
// NO_COLOR takes precedence (https://no-color.org/)
|
|
94
|
+
if (process.env['NO_COLOR'] !== undefined && process.env['NO_COLOR'] !== '') {
|
|
95
|
+
_colorEnabled = false;
|
|
96
|
+
return _colorEnabled;
|
|
97
|
+
}
|
|
98
|
+
// FORCE_COLOR enables colors (overrides every disable below).
|
|
99
|
+
if (process.env['FORCE_COLOR'] !== undefined && process.env['FORCE_COLOR'] !== '0') {
|
|
100
|
+
_colorEnabled = true;
|
|
101
|
+
return _colorEnabled;
|
|
102
|
+
}
|
|
103
|
+
// If plain mode is on (dumb terminal, ISE, CI without FORCE_COLOR,
|
|
104
|
+
// non-TTY), don't emit colour either — keeps captured logs clean.
|
|
105
|
+
if (isPlainOutputMode()) {
|
|
106
|
+
_colorEnabled = false;
|
|
107
|
+
return _colorEnabled;
|
|
108
|
+
}
|
|
109
|
+
// Color enabled in TTY by default
|
|
110
|
+
_colorEnabled = Boolean(process.stdout?.isTTY);
|
|
111
|
+
}
|
|
112
|
+
catch {
|
|
113
|
+
_colorEnabled = false;
|
|
114
|
+
}
|
|
115
|
+
return _colorEnabled;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Override the plain output mode setting (useful for testing)
|
|
119
|
+
*/
|
|
120
|
+
export function setPlainOutputMode(enabled) {
|
|
121
|
+
_plainMode = enabled;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Override the color output mode setting (useful for testing)
|
|
125
|
+
*/
|
|
126
|
+
export function setColorEnabled(enabled) {
|
|
127
|
+
_colorEnabled = enabled;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Reset plain output mode to check environment variable again
|
|
131
|
+
*/
|
|
132
|
+
export function resetPlainOutputMode() {
|
|
133
|
+
_plainMode = null;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Reset color mode to check environment variable again
|
|
137
|
+
*/
|
|
138
|
+
export function resetColorEnabled() {
|
|
139
|
+
_colorEnabled = null;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Reset all output mode settings
|
|
143
|
+
*/
|
|
144
|
+
export function resetOutputModes() {
|
|
145
|
+
_plainMode = null;
|
|
146
|
+
_colorEnabled = null;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Detect Windows PowerShell ISE. ISE reports `isTTY=true` but implements
|
|
150
|
+
* almost no ANSI; rich UI output appears as literal escape text. Three
|
|
151
|
+
* signals cover the deployed install base:
|
|
152
|
+
*
|
|
153
|
+
* - `PSModulePath` contains "ISE"
|
|
154
|
+
* - `EROSOLAR_FORCE_PSISE` (test/manual override)
|
|
155
|
+
* - the resize event never fires; we can't detect that synchronously
|
|
156
|
+
* here, so we lean on the env signals
|
|
157
|
+
*
|
|
158
|
+
* Returns true ONLY when running in ISE — Windows Terminal,
|
|
159
|
+
* PowerShell.exe, and pwsh are all unaffected.
|
|
160
|
+
*/
|
|
161
|
+
export function isPowerShellIse() {
|
|
162
|
+
if (process.platform !== 'win32')
|
|
163
|
+
return false;
|
|
164
|
+
try {
|
|
165
|
+
if (process.env['EROSOLAR_FORCE_PSISE'] === '1')
|
|
166
|
+
return true;
|
|
167
|
+
const psModulePath = process.env['PSModulePath'] || '';
|
|
168
|
+
if (/\bISE\b/i.test(psModulePath))
|
|
169
|
+
return true;
|
|
170
|
+
// Some ISE installs set this; harmless to check elsewhere.
|
|
171
|
+
if ((process.env['PROCESSOR_HOST'] || '').includes('ISE'))
|
|
172
|
+
return true;
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
catch {
|
|
176
|
+
return false;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=outputMode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outputMode.js","sourceRoot":"","sources":["../../src/ui/outputMode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OverlayManager - Manages terminal overlay rendering with ANSI escape sequences
|
|
3
|
+
* Provides sophisticated overlay composition and rendering capabilities
|
|
4
|
+
*/
|
|
5
|
+
export interface OverlayRegion {
|
|
6
|
+
content: string;
|
|
7
|
+
height: number;
|
|
8
|
+
priority: number;
|
|
9
|
+
}
|
|
10
|
+
export interface OverlayLayout {
|
|
11
|
+
regions: {
|
|
12
|
+
status?: OverlayRegion;
|
|
13
|
+
progress?: OverlayRegion;
|
|
14
|
+
hints?: OverlayRegion;
|
|
15
|
+
alerts?: OverlayRegion;
|
|
16
|
+
};
|
|
17
|
+
maxHeight: number;
|
|
18
|
+
}
|
|
19
|
+
export interface OverlayOptions {
|
|
20
|
+
adaptToTerminalSize: boolean;
|
|
21
|
+
smoothTransitions: boolean;
|
|
22
|
+
preserveCursor: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare class OverlayManager {
|
|
25
|
+
private currentLayout;
|
|
26
|
+
private renderedRows;
|
|
27
|
+
private allocatedRows;
|
|
28
|
+
private isVisible;
|
|
29
|
+
private isEnabled;
|
|
30
|
+
private outputGuardCount;
|
|
31
|
+
private writeStream;
|
|
32
|
+
private options;
|
|
33
|
+
private readonly SAVE_CURSOR;
|
|
34
|
+
private readonly RESTORE_CURSOR;
|
|
35
|
+
private readonly CLEAR_LINE;
|
|
36
|
+
private readonly MOVE_TO_COLUMN;
|
|
37
|
+
private readonly MOVE_UP;
|
|
38
|
+
constructor(writeStream: NodeJS.WriteStream, options?: Partial<OverlayOptions>);
|
|
39
|
+
/**
|
|
40
|
+
* Set the overlay layout to render
|
|
41
|
+
*/
|
|
42
|
+
setLayout(layout: OverlayLayout | null): void;
|
|
43
|
+
/**
|
|
44
|
+
* Show the overlay if enabled and not in output guard
|
|
45
|
+
*/
|
|
46
|
+
show(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Hide the overlay
|
|
49
|
+
*/
|
|
50
|
+
hide(): void;
|
|
51
|
+
/**
|
|
52
|
+
* Begin output operation (increments guard counter)
|
|
53
|
+
*/
|
|
54
|
+
beginOutput(): void;
|
|
55
|
+
/**
|
|
56
|
+
* End output operation (decrements guard counter)
|
|
57
|
+
*/
|
|
58
|
+
endOutput(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Enable or disable overlay rendering
|
|
61
|
+
*/
|
|
62
|
+
setEnabled(enabled: boolean): void;
|
|
63
|
+
/**
|
|
64
|
+
* Update a specific region in the layout
|
|
65
|
+
*/
|
|
66
|
+
updateRegion(regionName: keyof OverlayLayout['regions'], region: OverlayRegion | undefined): void;
|
|
67
|
+
/**
|
|
68
|
+
* Compose the overlay content from all regions
|
|
69
|
+
*/
|
|
70
|
+
private composeOverlay;
|
|
71
|
+
/**
|
|
72
|
+
* Render the overlay to the terminal
|
|
73
|
+
*/
|
|
74
|
+
private render;
|
|
75
|
+
/**
|
|
76
|
+
* Clear the rendered overlay from the terminal
|
|
77
|
+
*/
|
|
78
|
+
private clearRenderedOverlay;
|
|
79
|
+
/**
|
|
80
|
+
* Get maximum overlay height based on terminal size
|
|
81
|
+
*/
|
|
82
|
+
private getMaxOverlayHeight;
|
|
83
|
+
/**
|
|
84
|
+
* Truncate a line to fit terminal width
|
|
85
|
+
*/
|
|
86
|
+
private truncateLine;
|
|
87
|
+
/**
|
|
88
|
+
* Force a refresh of the overlay
|
|
89
|
+
*/
|
|
90
|
+
refresh(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Get current overlay state
|
|
93
|
+
*/
|
|
94
|
+
getState(): {
|
|
95
|
+
isVisible: boolean;
|
|
96
|
+
isEnabled: boolean;
|
|
97
|
+
renderedRows: number;
|
|
98
|
+
hasLayout: boolean;
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Clean up resources
|
|
102
|
+
*/
|
|
103
|
+
dispose(): void;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=OverlayManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OverlayManager.d.ts","sourceRoot":"","sources":["../../../src/ui/overlay/OverlayManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,QAAQ,CAAC,EAAE,aAAa,CAAC;QACzB,KAAK,CAAC,EAAE,aAAa,CAAC;QACtB,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,OAAO,CAAiB;IAGhC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAa;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAqC;IACpE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuC;gBAG7D,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,OAAO,GAAE,OAAO,CAAC,cAAc,CAAM;IAWvC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI;IAa7C;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,IAAI,IAAI,IAAI;IASZ;;OAEG;IACH,WAAW,IAAI,IAAI;IAOnB;;OAEG;IACH,SAAS,IAAI,IAAI;IAOjB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAalC;;OAEG;IACH,YAAY,CACV,UAAU,EAAE,MAAM,aAAa,CAAC,SAAS,CAAC,EAC1C,MAAM,EAAE,aAAa,GAAG,SAAS,GAChC,IAAI;IAeP;;OAEG;IACH,OAAO,CAAC,cAAc;IA6BtB;;OAEG;IACH,OAAO,CAAC,MAAM;IA8Dd;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuC5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;OAEG;IACH,OAAO,CAAC,YAAY;IA0CpB;;OAEG;IACH,OAAO,IAAI,IAAI;IAMf;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,OAAO,CAAC;KACpB;IASD;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
|