@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,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Write Lock - Robust streaming-safe output coordination
|
|
3
|
+
*
|
|
4
|
+
* This module provides a thread-safe mechanism to ensure streaming content
|
|
5
|
+
* is not interrupted by other UI components during streaming.
|
|
6
|
+
*
|
|
7
|
+
* Design Principles:
|
|
8
|
+
* - During streaming, ONLY streaming content writes to stdout
|
|
9
|
+
* - All other UI components (status, input area, etc.) wait until streaming ends
|
|
10
|
+
* - Supports nested/re-entrant locking with reference counting
|
|
11
|
+
* - Provides timeout-based automatic unlock for safety
|
|
12
|
+
*
|
|
13
|
+
* This prevents the garbled output and cutoffs that occur when multiple
|
|
14
|
+
* components try to write simultaneously with cursor positioning.
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* Check if streaming mode is currently active
|
|
18
|
+
*/
|
|
19
|
+
export declare function isStreamingMode(): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Get current lock depth (for debugging)
|
|
22
|
+
*/
|
|
23
|
+
export declare function getLockDepth(): number;
|
|
24
|
+
/**
|
|
25
|
+
* Enter streaming mode - blocks all non-streaming output
|
|
26
|
+
* Supports nested calls with reference counting
|
|
27
|
+
*/
|
|
28
|
+
export declare function enterStreamingMode(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Exit streaming mode - allows normal UI output to resume
|
|
31
|
+
* Only fully exits when all nested locks are released
|
|
32
|
+
*/
|
|
33
|
+
export declare function exitStreamingMode(): void;
|
|
34
|
+
/**
|
|
35
|
+
* Force release all locks (emergency/cleanup use)
|
|
36
|
+
*/
|
|
37
|
+
export declare function forceRelease(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Execute a callback only if not in streaming mode.
|
|
40
|
+
* Returns true if the callback was executed, false if skipped.
|
|
41
|
+
*/
|
|
42
|
+
export declare function ifNotStreaming(callback: () => void): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* Execute a callback when streaming ends (immediately if not streaming)
|
|
45
|
+
* Queues the callback if currently streaming
|
|
46
|
+
*/
|
|
47
|
+
export declare function whenStreamingEnds(callback: () => void): void;
|
|
48
|
+
/**
|
|
49
|
+
* Execute callback with exclusive stream lock
|
|
50
|
+
* Automatically acquires and releases the lock
|
|
51
|
+
*/
|
|
52
|
+
export declare function withStreamLock<T>(callback: () => T | Promise<T>): Promise<T>;
|
|
53
|
+
/**
|
|
54
|
+
* Legacy: installGlobalWriteLock is now a no-op
|
|
55
|
+
* The old approach of wrapping stdout.write caused nested lock issues.
|
|
56
|
+
* We now use a simpler streaming mode flag instead.
|
|
57
|
+
*/
|
|
58
|
+
export declare function installGlobalWriteLock(): void;
|
|
59
|
+
/**
|
|
60
|
+
* Reset all state (for testing)
|
|
61
|
+
*/
|
|
62
|
+
export declare function resetGlobalWriteLock(): void;
|
|
63
|
+
//# sourceMappingURL=globalWriteLock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalWriteLock.d.ts","sourceRoot":"","sources":["../../src/ui/globalWriteLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAoBH;;GAEG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAczC;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAWxC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AA2BD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAW5D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAc5D;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAOlF;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAG7C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Write Lock - Robust streaming-safe output coordination
|
|
3
|
+
*
|
|
4
|
+
* This module provides a thread-safe mechanism to ensure streaming content
|
|
5
|
+
* is not interrupted by other UI components during streaming.
|
|
6
|
+
*
|
|
7
|
+
* Design Principles:
|
|
8
|
+
* - During streaming, ONLY streaming content writes to stdout
|
|
9
|
+
* - All other UI components (status, input area, etc.) wait until streaming ends
|
|
10
|
+
* - Supports nested/re-entrant locking with reference counting
|
|
11
|
+
* - Provides timeout-based automatic unlock for safety
|
|
12
|
+
*
|
|
13
|
+
* This prevents the garbled output and cutoffs that occur when multiple
|
|
14
|
+
* components try to write simultaneously with cursor positioning.
|
|
15
|
+
*/
|
|
16
|
+
/** Current lock depth for re-entrant locking */
|
|
17
|
+
let lockDepth = 0;
|
|
18
|
+
/** Streaming mode flag (true when actively streaming content) */
|
|
19
|
+
let streamingActive = false;
|
|
20
|
+
/** Queue of callbacks waiting for stream to finish */
|
|
21
|
+
const pendingCallbacks = [];
|
|
22
|
+
/** Maximum pending callbacks to prevent memory leaks */
|
|
23
|
+
const MAX_PENDING_CALLBACKS = 100;
|
|
24
|
+
/** Safety timeout to auto-release stuck locks (30 seconds) */
|
|
25
|
+
const LOCK_TIMEOUT_MS = 30000;
|
|
26
|
+
/** Timer for auto-unlock safety mechanism */
|
|
27
|
+
let safetyTimer = null;
|
|
28
|
+
/**
|
|
29
|
+
* Check if streaming mode is currently active
|
|
30
|
+
*/
|
|
31
|
+
export function isStreamingMode() {
|
|
32
|
+
return streamingActive || lockDepth > 0;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get current lock depth (for debugging)
|
|
36
|
+
*/
|
|
37
|
+
export function getLockDepth() {
|
|
38
|
+
return lockDepth;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Enter streaming mode - blocks all non-streaming output
|
|
42
|
+
* Supports nested calls with reference counting
|
|
43
|
+
*/
|
|
44
|
+
export function enterStreamingMode() {
|
|
45
|
+
lockDepth++;
|
|
46
|
+
streamingActive = true;
|
|
47
|
+
// Set safety timer on first lock
|
|
48
|
+
if (lockDepth === 1 && !safetyTimer) {
|
|
49
|
+
safetyTimer = setTimeout(() => {
|
|
50
|
+
if (streamingActive) {
|
|
51
|
+
// Force release if lock is held too long (safety mechanism)
|
|
52
|
+
console.warn('[GlobalWriteLock] Safety timeout triggered - forcing release');
|
|
53
|
+
forceRelease();
|
|
54
|
+
}
|
|
55
|
+
}, LOCK_TIMEOUT_MS);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Exit streaming mode - allows normal UI output to resume
|
|
60
|
+
* Only fully exits when all nested locks are released
|
|
61
|
+
*/
|
|
62
|
+
export function exitStreamingMode() {
|
|
63
|
+
if (lockDepth > 0) {
|
|
64
|
+
lockDepth--;
|
|
65
|
+
}
|
|
66
|
+
// Only clear streaming mode when all locks are released
|
|
67
|
+
if (lockDepth === 0) {
|
|
68
|
+
streamingActive = false;
|
|
69
|
+
clearSafetyTimer();
|
|
70
|
+
flushPendingCallbacks();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Force release all locks (emergency/cleanup use)
|
|
75
|
+
*/
|
|
76
|
+
export function forceRelease() {
|
|
77
|
+
lockDepth = 0;
|
|
78
|
+
streamingActive = false;
|
|
79
|
+
clearSafetyTimer();
|
|
80
|
+
flushPendingCallbacks();
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Clear the safety timer
|
|
84
|
+
*/
|
|
85
|
+
function clearSafetyTimer() {
|
|
86
|
+
if (safetyTimer) {
|
|
87
|
+
clearTimeout(safetyTimer);
|
|
88
|
+
safetyTimer = null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Flush all pending callbacks
|
|
93
|
+
*/
|
|
94
|
+
function flushPendingCallbacks() {
|
|
95
|
+
// Process callbacks in order
|
|
96
|
+
while (pendingCallbacks.length > 0) {
|
|
97
|
+
const callback = pendingCallbacks.shift();
|
|
98
|
+
try {
|
|
99
|
+
callback?.();
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// Silently ignore callback errors to prevent cascading failures
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Execute a callback only if not in streaming mode.
|
|
108
|
+
* Returns true if the callback was executed, false if skipped.
|
|
109
|
+
*/
|
|
110
|
+
export function ifNotStreaming(callback) {
|
|
111
|
+
if (isStreamingMode()) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
callback();
|
|
116
|
+
return true;
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
// Silently handle callback errors
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Execute a callback when streaming ends (immediately if not streaming)
|
|
125
|
+
* Queues the callback if currently streaming
|
|
126
|
+
*/
|
|
127
|
+
export function whenStreamingEnds(callback) {
|
|
128
|
+
if (!isStreamingMode()) {
|
|
129
|
+
try {
|
|
130
|
+
callback();
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
// Silently handle callback errors
|
|
134
|
+
}
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
// Queue callback for later, with overflow protection
|
|
138
|
+
if (pendingCallbacks.length < MAX_PENDING_CALLBACKS) {
|
|
139
|
+
pendingCallbacks.push(callback);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Execute callback with exclusive stream lock
|
|
144
|
+
* Automatically acquires and releases the lock
|
|
145
|
+
*/
|
|
146
|
+
export async function withStreamLock(callback) {
|
|
147
|
+
enterStreamingMode();
|
|
148
|
+
try {
|
|
149
|
+
return await callback();
|
|
150
|
+
}
|
|
151
|
+
finally {
|
|
152
|
+
exitStreamingMode();
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Legacy: installGlobalWriteLock is now a no-op
|
|
157
|
+
* The old approach of wrapping stdout.write caused nested lock issues.
|
|
158
|
+
* We now use a simpler streaming mode flag instead.
|
|
159
|
+
*/
|
|
160
|
+
export function installGlobalWriteLock() {
|
|
161
|
+
// No-op - we no longer wrap stdout.write
|
|
162
|
+
// The streaming mode flag handles coordination instead
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Reset all state (for testing)
|
|
166
|
+
*/
|
|
167
|
+
export function resetGlobalWriteLock() {
|
|
168
|
+
lockDepth = 0;
|
|
169
|
+
streamingActive = false;
|
|
170
|
+
clearSafetyTimer();
|
|
171
|
+
pendingCallbacks.length = 0;
|
|
172
|
+
}
|
|
173
|
+
//# sourceMappingURL=globalWriteLock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalWriteLock.js","sourceRoot":"","sources":["../../src/ui/globalWriteLock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,gDAAgD;AAChD,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB,iEAAiE;AACjE,IAAI,eAAe,GAAG,KAAK,CAAC;AAE5B,sDAAsD;AACtD,MAAM,gBAAgB,GAAsB,EAAE,CAAC;AAE/C,wDAAwD;AACxD,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,8DAA8D;AAC9D,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B,6CAA6C;AAC7C,IAAI,WAAW,GAA0B,IAAI,CAAC;AAE9C;;GAEG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,eAAe,IAAI,SAAS,GAAG,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB;IAChC,SAAS,EAAE,CAAC;IACZ,eAAe,GAAG,IAAI,CAAC;IAEvB,iCAAiC;IACjC,IAAI,SAAS,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,eAAe,EAAE,CAAC;gBACpB,4DAA4D;gBAC5D,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;gBAC7E,YAAY,EAAE,CAAC;YACjB,CAAC;QACH,CAAC,EAAE,eAAe,CAAC,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,SAAS,EAAE,CAAC;IACd,CAAC;IAED,wDAAwD;IACxD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACpB,eAAe,GAAG,KAAK,CAAC;QACxB,gBAAgB,EAAE,CAAC;QACnB,qBAAqB,EAAE,CAAC;IAC1B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,KAAK,CAAC;IACxB,gBAAgB,EAAE,CAAC;IACnB,qBAAqB,EAAE,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB;IACvB,IAAI,WAAW,EAAE,CAAC;QAChB,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1B,WAAW,GAAG,IAAI,CAAC;IACrB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB;IAC5B,6BAA6B;IAC7B,OAAO,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,QAAQ,EAAE,EAAE,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,gEAAgE;QAClE,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAoB;IACjD,IAAI,eAAe,EAAE,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,QAAQ,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAoB;IACpD,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,EAAE,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,kCAAkC;QACpC,CAAC;QACD,OAAO;IACT,CAAC;IAED,qDAAqD;IACrD,IAAI,gBAAgB,CAAC,MAAM,GAAG,qBAAqB,EAAE,CAAC;QACpD,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAI,QAA8B;IACpE,kBAAkB,EAAE,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,EAAE,CAAC;IAC1B,CAAC;YAAS,CAAC;QACT,iBAAiB,EAAE,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB;IACpC,yCAAyC;IACzC,uDAAuD;AACzD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,SAAS,GAAG,CAAC,CAAC;IACd,eAAe,GAAG,KAAK,CAAC;IACxB,gBAAgB,EAAE,CAAC;IACnB,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9B,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI Layer — Erosolar CLI User Interface System
|
|
3
|
+
*
|
|
4
|
+
* Layers (current stack):
|
|
5
|
+
* - Core primitives: theme.ts, layout.ts, uiConstants.ts, richText.ts
|
|
6
|
+
* - Render helpers: codeHighlighter.ts, textHighlighter.ts, errorFormatter.ts, toolDisplay.ts
|
|
7
|
+
* - Animation: animatedStatus.ts (uses animation/AnimationScheduler)
|
|
8
|
+
* - Renderer + input: src/ui/ink/* — Ink (React-for-terminal). Single
|
|
9
|
+
* path, no legacy fallback. The previous UnifiedUIRenderer.ts +
|
|
10
|
+
* PromptController.ts were removed once Ink reached parity.
|
|
11
|
+
* - Integration: outputMode.ts + globalWriteLock.ts for shell safety
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* - Colors/primitives: import { theme } from './theme.js';
|
|
15
|
+
* - Prompt controller: import { createPromptController } from './ink/InkPromptController.js';
|
|
16
|
+
* - Output selection helpers: import { isPlainOutputMode } from './outputMode.js';
|
|
17
|
+
*/
|
|
18
|
+
export { theme, icons, spinnerFrames, progressChars, boxChars, formatBanner, formatUserPrompt, USER_PROMPT_PREFIX, formatToolCall, formatMessage, neon, palette, getToolColor, formatToolName, } from './theme.js';
|
|
19
|
+
export * from './uiConstants.js';
|
|
20
|
+
export * from './designSystem.js';
|
|
21
|
+
export * from './codeHighlighter.js';
|
|
22
|
+
export * from './textHighlighter.js';
|
|
23
|
+
export { formatError, formatErrorList, type ErrorInfo, type ErrorFormatOptions, } from './errorFormatter.js';
|
|
24
|
+
export * from './toolDisplay.js';
|
|
25
|
+
export * from './animatedStatus.js';
|
|
26
|
+
export { formatThought, formatToolResult as formatToolResultPremium, formatProgressIndicator, formatSectionHeader, type ThoughtDisplayOptions, type ToolResultDisplayOptions, type ProgressIndicatorOptions, type VisualTone, } from './premiumComponents.js';
|
|
27
|
+
export { createPromptController, InkPromptController, type IPromptController, type PromptCallbacks, type EditGuardMode, type CommandSuggestion, type MenuItem, } from './ink/InkPromptController.js';
|
|
28
|
+
export * from './outputMode.js';
|
|
29
|
+
export { isStreamingMode, enterStreamingMode, exitStreamingMode, ifNotStreaming, whenStreamingEnds, withStreamLock, forceRelease, installGlobalWriteLock, resetGlobalWriteLock, } from './globalWriteLock.js';
|
|
30
|
+
export { getTerminalColumns, isUltraNarrowMode, getContentWidth, wrapParagraph, wrapPreformatted, normalizePanelWidth, renderPanel, measure, stripAnsi, padLine, truncate, type Colorize, type PanelOptions, } from './layout.js';
|
|
31
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,OAAO,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAMlC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,WAAW,EACX,eAAe,EACf,KAAK,SAAS,EACd,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAMjC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EACL,aAAa,EACb,gBAAgB,IAAI,uBAAuB,EAC3C,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,qBAAqB,EAC1B,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,UAAU,GAChB,MAAM,wBAAwB,CAAC;AAMhC,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,GACd,MAAM,8BAA8B,CAAC;AAMtC,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,EACR,KAAK,QAAQ,EACb,KAAK,YAAY,GAClB,MAAM,aAAa,CAAC"}
|
package/dist/ui/index.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI Layer — Erosolar CLI User Interface System
|
|
3
|
+
*
|
|
4
|
+
* Layers (current stack):
|
|
5
|
+
* - Core primitives: theme.ts, layout.ts, uiConstants.ts, richText.ts
|
|
6
|
+
* - Render helpers: codeHighlighter.ts, textHighlighter.ts, errorFormatter.ts, toolDisplay.ts
|
|
7
|
+
* - Animation: animatedStatus.ts (uses animation/AnimationScheduler)
|
|
8
|
+
* - Renderer + input: src/ui/ink/* — Ink (React-for-terminal). Single
|
|
9
|
+
* path, no legacy fallback. The previous UnifiedUIRenderer.ts +
|
|
10
|
+
* PromptController.ts were removed once Ink reached parity.
|
|
11
|
+
* - Integration: outputMode.ts + globalWriteLock.ts for shell safety
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* - Colors/primitives: import { theme } from './theme.js';
|
|
15
|
+
* - Prompt controller: import { createPromptController } from './ink/InkPromptController.js';
|
|
16
|
+
* - Output selection helpers: import { isPlainOutputMode } from './outputMode.js';
|
|
17
|
+
*/
|
|
18
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
19
|
+
// Layer 1 - Core Primitives
|
|
20
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
21
|
+
export { theme, icons, spinnerFrames, progressChars, boxChars, formatBanner, formatUserPrompt, USER_PROMPT_PREFIX, formatToolCall, formatMessage, neon, palette, getToolColor, formatToolName, } from './theme.js';
|
|
22
|
+
// Note: layout.js exports are at the bottom of this file to avoid conflicts
|
|
23
|
+
export * from './uiConstants.js';
|
|
24
|
+
export * from './designSystem.js';
|
|
25
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
26
|
+
// Layer 2 - Specialized Renderers
|
|
27
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
28
|
+
export * from './codeHighlighter.js';
|
|
29
|
+
export * from './textHighlighter.js';
|
|
30
|
+
export { formatError, formatErrorList, } from './errorFormatter.js';
|
|
31
|
+
export * from './toolDisplay.js';
|
|
32
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
33
|
+
// Layer 3 - Components
|
|
34
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
35
|
+
export * from './animatedStatus.js';
|
|
36
|
+
// Premium UI Components (enhanced visual design system)
|
|
37
|
+
export { formatThought, formatToolResult as formatToolResultPremium, formatProgressIndicator, formatSectionHeader, } from './premiumComponents.js';
|
|
38
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
39
|
+
// Layer 4 - Controllers + Renderer (Ink)
|
|
40
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
41
|
+
export { createPromptController, InkPromptController, } from './ink/InkPromptController.js';
|
|
42
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
43
|
+
// Layer 6 - Integration
|
|
44
|
+
// ═══════════════════════════════════════════════════════════════════════════════
|
|
45
|
+
export * from './outputMode.js';
|
|
46
|
+
export { isStreamingMode, enterStreamingMode, exitStreamingMode, ifNotStreaming, whenStreamingEnds, withStreamLock, forceRelease, installGlobalWriteLock, resetGlobalWriteLock, } from './globalWriteLock.js';
|
|
47
|
+
// Re-export layout utilities explicitly to avoid conflicts
|
|
48
|
+
export { getTerminalColumns, isUltraNarrowMode, getContentWidth, wrapParagraph, wrapPreformatted, normalizePanelWidth, renderPanel, measure, stripAnsi, padLine, truncate, } from './layout.js';
|
|
49
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,kFAAkF;AAClF,4BAA4B;AAC5B,kFAAkF;AAElF,OAAO,EACL,KAAK,EACL,KAAK,EACL,aAAa,EACb,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,IAAI,EACJ,OAAO,EACP,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,4EAA4E;AAC5E,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAElC,kFAAkF;AAClF,kCAAkC;AAClC,kFAAkF;AAElF,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EACL,WAAW,EACX,eAAe,GAGhB,MAAM,qBAAqB,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AAEjC,kFAAkF;AAClF,uBAAuB;AACvB,kFAAkF;AAElF,cAAc,qBAAqB,CAAC;AAEpC,wDAAwD;AACxD,OAAO,EACL,aAAa,EACb,gBAAgB,IAAI,uBAAuB,EAC3C,uBAAuB,EACvB,mBAAmB,GAKpB,MAAM,wBAAwB,CAAC;AAEhC,kFAAkF;AAClF,yCAAyC;AACzC,kFAAkF;AAElF,OAAO,EACL,sBAAsB,EACtB,mBAAmB,GAMpB,MAAM,8BAA8B,CAAC;AAEtC,kFAAkF;AAClF,wBAAwB;AACxB,kFAAkF;AAElF,cAAc,iBAAiB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,2DAA2D;AAC3D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,SAAS,EACT,OAAO,EACP,QAAQ,GAGT,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* App — Phase 3 root that mounts the Phase 1 StatusLine + Phase 2 Prompt
|
|
3
|
+
* together and exposes a minimal command surface.
|
|
4
|
+
*
|
|
5
|
+
* This is the integration that proves the Ink tree can replace the
|
|
6
|
+
* sticky-bottom panel of the existing renderer wholesale: status row on
|
|
7
|
+
* top, suggestions list, prompt at the bottom. The host (eventually
|
|
8
|
+
* interactiveShell.ts) drives state via the props on this component.
|
|
9
|
+
*
|
|
10
|
+
* Phase 4 will add a `<Static>` chat-history block above this component;
|
|
11
|
+
* the API stays the same — only the host's rendering of past events
|
|
12
|
+
* changes.
|
|
13
|
+
*/
|
|
14
|
+
import React from 'react';
|
|
15
|
+
import { type StatusLineProps } from './StatusLine.js';
|
|
16
|
+
import { type PromptProps } from './Prompt.js';
|
|
17
|
+
import { type ChatItem } from './ChatStatic.js';
|
|
18
|
+
export interface Suggestion {
|
|
19
|
+
label: string;
|
|
20
|
+
hint?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface AppProps {
|
|
23
|
+
/** Past chat events. Rendered via <Static> so scrollback is permanent. */
|
|
24
|
+
history?: ChatItem[];
|
|
25
|
+
/**
|
|
26
|
+
* In-progress assistant message. Streaming deltas accumulate here so
|
|
27
|
+
* the text grows in place; once the model emits its `response` event
|
|
28
|
+
* the controller moves the final text into `history` and clears
|
|
29
|
+
* this. Without this slot, every delta would create its own
|
|
30
|
+
* <Static> entry — which is what produced the "one word per line"
|
|
31
|
+
* symptom users saw in 1.1.0/1.1.1.
|
|
32
|
+
*/
|
|
33
|
+
streamingMessage?: string | null;
|
|
34
|
+
status?: StatusLineProps;
|
|
35
|
+
prompt: PromptProps;
|
|
36
|
+
suggestions?: Suggestion[];
|
|
37
|
+
}
|
|
38
|
+
export declare const App: React.FC<AppProps>;
|
|
39
|
+
//# sourceMappingURL=App.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../src/ui/ink/App.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;IACrB;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;CAC5B;AAED,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAgClC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
import { StatusLine } from './StatusLine.js';
|
|
4
|
+
import { Prompt } from './Prompt.js';
|
|
5
|
+
import { ChatStatic } from './ChatStatic.js';
|
|
6
|
+
export const App = ({ history, streamingMessage, status, prompt, suggestions }) => {
|
|
7
|
+
return (_jsxs(Box, { flexDirection: "column", children: [history && history.length > 0 ? _jsx(ChatStatic, { items: history }) : null, status ? _jsx(StatusLine, { ...status }) : null, suggestions && suggestions.length > 0 ? (_jsx(Box, { flexDirection: "column", marginTop: 1, children: suggestions.map((s, i) => (_jsxs(Box, { children: [_jsxs(Text, { color: "cyan", children: [i === 0 ? '▸ ' : ' ', s.label] }), s.hint ? _jsxs(Text, { dimColor: true, children: [" ", s.hint] }) : null] }, `s-${i}-${s.label}`))) })) : null, _jsx(Box, { borderStyle: "single", borderColor: "cyan", marginTop: 1, paddingX: 1, children: _jsx(Prompt, { ...prompt }) })] }));
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=App.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/ui/ink/App.tsx"],"names":[],"mappings":";AAeA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAwB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,MAAM,EAAoB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAiB,MAAM,iBAAiB,CAAC;AAwB5D,MAAM,CAAC,MAAM,GAAG,GAAuB,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE;IACpG,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAC,UAAU,IAAC,KAAK,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,EAUrE,MAAM,CAAC,CAAC,CAAC,KAAC,UAAU,OAAK,MAAM,GAAI,CAAC,CAAC,CAAC,IAAI,EAC1C,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CACvC,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACrC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACzB,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAC,MAAM,aAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,IAAQ,EACzD,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAC,IAAI,IAAC,QAAQ,yBAAI,CAAC,CAAC,IAAI,IAAQ,CAAC,CAAC,CAAC,IAAI,KAFzC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAGvB,CACP,CAAC,GACE,CACP,CAAC,CAAC,CAAC,IAAI,EAIR,KAAC,GAAG,IAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,MAAM,EAAC,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,YACpE,KAAC,MAAM,OAAK,MAAM,GAAI,GAClB,IACF,CACP,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatStatic — Phase 4 of the Ink migration.
|
|
3
|
+
*
|
|
4
|
+
* Wraps Ink's <Static> component so chat history is committed to
|
|
5
|
+
* scrollback exactly once and never repainted. This is the architectural
|
|
6
|
+
* fix for the resize / rapid-paste / overlay-leak bugs that motivated
|
|
7
|
+
* the Ink switch: messages above the live UI become real terminal lines
|
|
8
|
+
* that no longer participate in any frame diff. <Static> writes a row,
|
|
9
|
+
* then forgets it.
|
|
10
|
+
*
|
|
11
|
+
* Each item is rendered through `renderItem` so the host can format
|
|
12
|
+
* different event kinds (user message, assistant message, tool result)
|
|
13
|
+
* with different styling — the array drives the order, the renderer
|
|
14
|
+
* decides the appearance.
|
|
15
|
+
*/
|
|
16
|
+
import React from 'react';
|
|
17
|
+
export interface ChatItem {
|
|
18
|
+
/** Stable identity for React's key prop — usually a monotonic id. */
|
|
19
|
+
id: string;
|
|
20
|
+
/** Tag the host can use to dispatch on style. */
|
|
21
|
+
kind: 'user' | 'assistant' | 'system' | 'tool' | 'error' | 'banner';
|
|
22
|
+
/** Pre-formatted content (already wrapped / styled by the caller). */
|
|
23
|
+
text: string;
|
|
24
|
+
}
|
|
25
|
+
export interface ChatStaticProps {
|
|
26
|
+
items: ChatItem[];
|
|
27
|
+
}
|
|
28
|
+
export declare const ChatStatic: React.FC<ChatStaticProps>;
|
|
29
|
+
//# sourceMappingURL=ChatStatic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatStatic.d.ts","sourceRoot":"","sources":["../../../src/ui/ink/ChatStatic.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,QAAQ;IACvB,qEAAqE;IACrE,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpE,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAWD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAUhD,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Static, Box, Text } from 'ink';
|
|
3
|
+
const COLORS = {
|
|
4
|
+
user: 'cyan',
|
|
5
|
+
assistant: undefined, // default terminal foreground
|
|
6
|
+
system: 'gray',
|
|
7
|
+
tool: 'yellow',
|
|
8
|
+
error: 'red',
|
|
9
|
+
banner: 'magenta',
|
|
10
|
+
};
|
|
11
|
+
export const ChatStatic = ({ items }) => {
|
|
12
|
+
return (_jsx(Static, { items: items, children: (item) => (_jsx(Box, { flexDirection: "column", children: _jsx(Text, { color: COLORS[item.kind], children: item.text }) }, item.id)) }));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=ChatStatic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatStatic.js","sourceRoot":"","sources":["../../../src/ui/ink/ChatStatic.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAexC,MAAM,MAAM,GAAiD;IAC3D,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,SAAS,EAAE,8BAA8B;IACpD,MAAM,EAAE,MAAM;IACd,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;IACjE,OAAO,CACL,KAAC,MAAM,IAAC,KAAK,EAAE,KAAK,YACjB,CAAC,IAAI,EAAE,EAAE,CAAC,CACT,KAAC,GAAG,IAAe,aAAa,EAAC,QAAQ,YACvC,KAAC,IAAI,IAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAG,IAAI,CAAC,IAAI,GAAQ,IAD1C,IAAI,CAAC,EAAE,CAEX,CACP,GACM,CACV,CAAC;AACJ,CAAC,CAAC"}
|