@trenchwork/coder 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +16 -0
- package/README.md +173 -0
- package/agents/trenchwork-code.rules.json +199 -0
- package/dist/bin/deepseek.d.ts +3 -0
- package/dist/bin/deepseek.d.ts.map +1 -0
- package/dist/bin/deepseek.js +23 -0
- package/dist/bin/deepseek.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 +11 -0
- package/dist/capabilities/index.d.ts.map +1 -0
- package/dist/capabilities/index.js +16 -0
- package/dist/capabilities/index.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 +790 -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 +181 -0
- package/dist/config.js.map +1 -0
- package/dist/contracts/agent-profiles.schema.json +25 -0
- package/dist/contracts/agent-schemas.json +158 -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 +40 -0
- package/dist/contracts/v1/agent.d.ts +225 -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/adversarial.d.ts +38 -0
- package/dist/core/adversarial.d.ts.map +1 -0
- package/dist/core/adversarial.js +106 -0
- package/dist/core/adversarial.js.map +1 -0
- package/dist/core/adversarialCorrection.d.ts +22 -0
- package/dist/core/adversarialCorrection.d.ts.map +1 -0
- package/dist/core/adversarialCorrection.js +25 -0
- package/dist/core/adversarialCorrection.js.map +1 -0
- package/dist/core/agent.d.ts +331 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +1637 -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/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/compactionNote.d.ts +13 -0
- package/dist/core/compactionNote.d.ts.map +1 -0
- package/dist/core/compactionNote.js +13 -0
- package/dist/core/compactionNote.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 +1076 -0
- package/dist/core/contextManager.js.map +1 -0
- package/dist/core/contextUsage.d.ts +28 -0
- package/dist/core/contextUsage.d.ts.map +1 -0
- package/dist/core/contextUsage.js +62 -0
- package/dist/core/contextUsage.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 +127 -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/diffPanel.d.ts +30 -0
- package/dist/core/diffPanel.d.ts.map +1 -0
- package/dist/core/diffPanel.js +48 -0
- package/dist/core/diffPanel.js.map +1 -0
- package/dist/core/errorClassification.d.ts +44 -0
- package/dist/core/errorClassification.d.ts.map +1 -0
- package/dist/core/errorClassification.js +333 -0
- package/dist/core/errorClassification.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 +272 -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/failureRegistry.d.ts +30 -0
- package/dist/core/failureRegistry.d.ts.map +1 -0
- package/dist/core/failureRegistry.js +74 -0
- package/dist/core/failureRegistry.js.map +1 -0
- package/dist/core/fileMentions.d.ts +40 -0
- package/dist/core/fileMentions.d.ts.map +1 -0
- package/dist/core/fileMentions.js +136 -0
- package/dist/core/fileMentions.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 +396 -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 +236 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/hostedAuth.d.ts +88 -0
- package/dist/core/hostedAuth.d.ts.map +1 -0
- package/dist/core/hostedAuth.js +219 -0
- package/dist/core/hostedAuth.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 +102 -0
- package/dist/core/modelDiscovery.d.ts.map +1 -0
- package/dist/core/modelDiscovery.js +416 -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/permissionMode.d.ts +40 -0
- package/dist/core/permissionMode.d.ts.map +1 -0
- package/dist/core/permissionMode.js +86 -0
- package/dist/core/permissionMode.js.map +1 -0
- package/dist/core/postWriteDiagnostics.d.ts +32 -0
- package/dist/core/postWriteDiagnostics.d.ts.map +1 -0
- package/dist/core/postWriteDiagnostics.js +127 -0
- package/dist/core/postWriteDiagnostics.js.map +1 -0
- package/dist/core/preferences.d.ts +66 -0
- package/dist/core/preferences.d.ts.map +1 -0
- package/dist/core/preferences.js +310 -0
- package/dist/core/preferences.js.map +1 -0
- package/dist/core/quota.d.ts +61 -0
- package/dist/core/quota.d.ts.map +1 -0
- package/dist/core/quota.js +104 -0
- package/dist/core/quota.js.map +1 -0
- package/dist/core/quotaErrors.d.ts +42 -0
- package/dist/core/quotaErrors.d.ts.map +1 -0
- package/dist/core/quotaErrors.js +86 -0
- package/dist/core/quotaErrors.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/relativeTime.d.ts +8 -0
- package/dist/core/relativeTime.d.ts.map +1 -0
- package/dist/core/relativeTime.js +29 -0
- package/dist/core/relativeTime.js.map +1 -0
- package/dist/core/resultVerification.d.ts +48 -0
- package/dist/core/resultVerification.d.ts.map +1 -0
- package/dist/core/resultVerification.js +127 -0
- package/dist/core/resultVerification.js.map +1 -0
- package/dist/core/rewind.d.ts +14 -0
- package/dist/core/rewind.d.ts.map +1 -0
- package/dist/core/rewind.js +25 -0
- package/dist/core/rewind.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 +59 -0
- package/dist/core/secretStore.d.ts.map +1 -0
- package/dist/core/secretStore.js +278 -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 +190 -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/slashCommands.d.ts +38 -0
- package/dist/core/slashCommands.d.ts.map +1 -0
- package/dist/core/slashCommands.js +72 -0
- package/dist/core/slashCommands.js.map +1 -0
- package/dist/core/subAgentNote.d.ts +15 -0
- package/dist/core/subAgentNote.d.ts.map +1 -0
- package/dist/core/subAgentNote.js +16 -0
- package/dist/core/subAgentNote.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/thinkingVerbs.d.ts +31 -0
- package/dist/core/thinkingVerbs.d.ts.map +1 -0
- package/dist/core/thinkingVerbs.js +58 -0
- package/dist/core/thinkingVerbs.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 +193 -0
- package/dist/core/toolRuntime.d.ts.map +1 -0
- package/dist/core/toolRuntime.js +526 -0
- package/dist/core/toolRuntime.js.map +1 -0
- package/dist/core/turnGovernor.d.ts +63 -0
- package/dist/core/turnGovernor.d.ts.map +1 -0
- package/dist/core/turnGovernor.js +94 -0
- package/dist/core/turnGovernor.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 +605 -0
- package/dist/core/updateChecker.js.map +1 -0
- package/dist/core/usage.d.ts +28 -0
- package/dist/core/usage.d.ts.map +1 -0
- package/dist/core/usage.js +77 -0
- package/dist/core/usage.js.map +1 -0
- package/dist/headless/interactiveShell.d.ts +47 -0
- package/dist/headless/interactiveShell.d.ts.map +1 -0
- package/dist/headless/interactiveShell.js +2495 -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/providers/deepseek/index.d.ts +12 -0
- package/dist/plugins/providers/deepseek/index.d.ts.map +1 -0
- package/dist/plugins/providers/deepseek/index.js +123 -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 +10 -0
- package/dist/plugins/providers/index.js.map +1 -0
- package/dist/providers/baseProvider.d.ts +140 -0
- package/dist/providers/baseProvider.d.ts.map +1 -0
- package/dist/providers/baseProvider.js +230 -0
- package/dist/providers/baseProvider.js.map +1 -0
- package/dist/providers/openaiChatCompletionsProvider.d.ts +70 -0
- package/dist/providers/openaiChatCompletionsProvider.d.ts.map +1 -0
- package/dist/providers/openaiChatCompletionsProvider.js +971 -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 +96 -0
- package/dist/providers/resilientProvider.d.ts.map +1 -0
- package/dist/providers/resilientProvider.js +251 -0
- package/dist/providers/resilientProvider.js.map +1 -0
- package/dist/runtime/agentController.d.ts +137 -0
- package/dist/runtime/agentController.d.ts.map +1 -0
- package/dist/runtime/agentController.js +784 -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 +32 -0
- package/dist/runtime/agentSpawningWiring.d.ts.map +1 -0
- package/dist/runtime/agentSpawningWiring.js +114 -0
- package/dist/runtime/agentSpawningWiring.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 +50 -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/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/toolPresentation.d.ts +54 -0
- package/dist/shell/toolPresentation.d.ts.map +1 -0
- package/dist/shell/toolPresentation.js +334 -0
- package/dist/shell/toolPresentation.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 +785 -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 +137 -0
- package/dist/tools/grepTools.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/memoryTools.d.ts +27 -0
- package/dist/tools/memoryTools.d.ts.map +1 -0
- package/dist/tools/memoryTools.js +197 -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 +414 -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 +23 -0
- package/dist/tools/todoTools.d.ts.map +1 -0
- package/dist/tools/todoTools.js +120 -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 +467 -0
- package/dist/tools/webTools.js.map +1 -0
- package/dist/ui/ink/App.d.ts +53 -0
- package/dist/ui/ink/App.d.ts.map +1 -0
- package/dist/ui/ink/App.js +13 -0
- package/dist/ui/ink/App.js.map +1 -0
- package/dist/ui/ink/ChatStatic.d.ts +30 -0
- package/dist/ui/ink/ChatStatic.d.ts.map +1 -0
- package/dist/ui/ink/ChatStatic.js +83 -0
- package/dist/ui/ink/ChatStatic.js.map +1 -0
- package/dist/ui/ink/InkPromptController.d.ts +321 -0
- package/dist/ui/ink/InkPromptController.d.ts.map +1 -0
- package/dist/ui/ink/InkPromptController.js +667 -0
- package/dist/ui/ink/InkPromptController.js.map +1 -0
- package/dist/ui/ink/Menu.d.ts +21 -0
- package/dist/ui/ink/Menu.d.ts.map +1 -0
- package/dist/ui/ink/Menu.js +61 -0
- package/dist/ui/ink/Menu.js.map +1 -0
- package/dist/ui/ink/Prompt.d.ts +47 -0
- package/dist/ui/ink/Prompt.d.ts.map +1 -0
- package/dist/ui/ink/Prompt.js +571 -0
- package/dist/ui/ink/Prompt.js.map +1 -0
- package/dist/ui/ink/StatusLine.d.ts +35 -0
- package/dist/ui/ink/StatusLine.d.ts.map +1 -0
- package/dist/ui/ink/StatusLine.js +66 -0
- package/dist/ui/ink/StatusLine.js.map +1 -0
- package/dist/ui/ink/pasteBuffer.d.ts +44 -0
- package/dist/ui/ink/pasteBuffer.d.ts.map +1 -0
- package/dist/ui/ink/pasteBuffer.js +73 -0
- package/dist/ui/ink/pasteBuffer.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 +435 -0
- package/dist/ui/theme.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/asyncUtils.d.ts +95 -0
- package/dist/utils/asyncUtils.d.ts.map +1 -0
- package/dist/utils/asyncUtils.js +286 -0
- package/dist/utils/asyncUtils.js.map +1 -0
- package/dist/utils/debugLogger.d.ts +6 -0
- package/dist/utils/debugLogger.d.ts.map +1 -0
- package/dist/utils/debugLogger.js +39 -0
- package/dist/utils/debugLogger.js.map +1 -0
- package/dist/utils/errorUtils.d.ts +12 -0
- package/dist/utils/errorUtils.d.ts.map +1 -0
- package/dist/utils/errorUtils.js +83 -0
- package/dist/utils/errorUtils.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +10 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +78 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/packageInfo.d.ts +14 -0
- package/dist/utils/packageInfo.d.ts.map +1 -0
- package/dist/utils/packageInfo.js +45 -0
- package/dist/utils/packageInfo.js.map +1 -0
- package/dist/utils/planFormatter.d.ts +34 -0
- package/dist/utils/planFormatter.d.ts.map +1 -0
- package/dist/utils/planFormatter.js +141 -0
- package/dist/utils/planFormatter.js.map +1 -0
- package/dist/utils/securityUtils.d.ts +132 -0
- package/dist/utils/securityUtils.d.ts.map +1 -0
- package/dist/utils/securityUtils.js +324 -0
- package/dist/utils/securityUtils.js.map +1 -0
- package/dist/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 +116 -0
- package/scripts/postinstall.cjs +56 -0
|
@@ -0,0 +1,53 @@
|
|
|
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
|
+
import { type MenuProps } from './Menu.js';
|
|
19
|
+
export interface Suggestion {
|
|
20
|
+
label: string;
|
|
21
|
+
hint?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface AppProps {
|
|
24
|
+
/** Past chat events. Rendered via <Static> so scrollback is permanent. */
|
|
25
|
+
history?: ChatItem[];
|
|
26
|
+
/**
|
|
27
|
+
* In-progress assistant message. Streaming deltas accumulate here so
|
|
28
|
+
* the text grows in place; once the model emits its `response` event
|
|
29
|
+
* the controller moves the final text into `history` and clears
|
|
30
|
+
* this. Without this slot, every delta would create its own
|
|
31
|
+
* <Static> entry — which is what produced the "one word per line"
|
|
32
|
+
* symptom users saw in 1.1.0/1.1.1.
|
|
33
|
+
*/
|
|
34
|
+
streamingMessage?: string | null;
|
|
35
|
+
status?: StatusLineProps;
|
|
36
|
+
prompt: PromptProps;
|
|
37
|
+
suggestions?: Suggestion[];
|
|
38
|
+
/** When present, an interactive menu replaces the prompt and owns input. */
|
|
39
|
+
menu?: MenuProps;
|
|
40
|
+
/** The dim hint line under the input box. Reflects the active permission mode. */
|
|
41
|
+
permissionHint?: string;
|
|
42
|
+
/** Live follow-up queue (Claude Code parity): shown only while spinning, above the input. Not in <Static> history. */
|
|
43
|
+
queuedPrompts?: string[];
|
|
44
|
+
/**
|
|
45
|
+
* A dismissable panel (/help, /keys, /context, /secrets) shown above the
|
|
46
|
+
* input. Pre-formatted chalk lines from the host; rendered as a block —
|
|
47
|
+
* before this, only the first line leaked into the meta chips, so panel
|
|
48
|
+
* bodies were invisible on the real terminal.
|
|
49
|
+
*/
|
|
50
|
+
inlinePanel?: string[];
|
|
51
|
+
}
|
|
52
|
+
export declare const App: React.FC<AppProps>;
|
|
53
|
+
//# 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;AAC5D,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEjD,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;IAC3B,4EAA4E;IAC5E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kFAAkF;IAClF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,sHAAsH;IACtH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CA6ElC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } 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
|
+
import { Menu } from './Menu.js';
|
|
7
|
+
export const App = ({ history, streamingMessage, status, prompt, suggestions, menu, permissionHint, queuedPrompts, inlinePanel }) => {
|
|
8
|
+
return (_jsxs(Box, { flexDirection: "column", children: [history && history.length > 0 ? _jsx(ChatStatic, { items: history }) : null, menu ? (_jsx(Box, { marginTop: 1, children: _jsx(Menu, { ...menu }, `${menu.title ?? ''}:${menu.items.length}`) })) : (_jsxs(_Fragment, { children: [streamingMessage ? (_jsxs(Box, { children: [_jsx(Text, { color: "#ff6a1f", children: "\u23FA " }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: "#ece6da", children: streamingMessage }) })] })) : 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: i === 0 ? '#ff6a1f' : undefined, children: [i === 0 ? '▸ ' : ' ', s.label] }), s.hint ? _jsxs(Text, { dimColor: true, children: [" ", s.hint] }) : null] }, `s-${i}-${s.label}`))) })) : null, queuedPrompts && queuedPrompts.length > 0 ? (_jsxs(Box, { marginTop: 1, paddingLeft: 1, children: [_jsxs(Text, { dimColor: true, children: ["\u23F3 Queued (", queuedPrompts.length, ")"] }), queuedPrompts.slice(0, 2).map((p, i) => {
|
|
9
|
+
const short = p.length > 38 ? p.slice(0, 35) + '…' : p;
|
|
10
|
+
return _jsxs(Text, { dimColor: true, children: [" ", short] }, i);
|
|
11
|
+
}), queuedPrompts.length > 2 ? (_jsxs(Text, { dimColor: true, children: [" +", queuedPrompts.length - 2, " more"] })) : null] })) : null, inlinePanel && inlinePanel.length > 0 ? (_jsx(Box, { flexDirection: "column", marginTop: 1, children: inlinePanel.map((line, i) => (_jsx(Text, { children: line.length ? line : ' ' }, `ip-${i}`))) })) : null, _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Box, { borderStyle: "round", borderColor: "gray", paddingX: 1, children: _jsx(Prompt, { ...prompt }) }), _jsx(Box, { paddingLeft: 2, children: _jsx(Text, { dimColor: true, children: permissionHint ?? '? for shortcuts' }) })] })] }))] }));
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=App.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/ui/ink/App.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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
|
+
* Styling follows the Claude Code transcript shape (see
|
|
12
|
+
* src/ui/CLAUDE_CODE_UX.md): every action — an assistant turn or a tool
|
|
13
|
+
* call — opens with a flare `⏺` bullet; tool results render dim under a
|
|
14
|
+
* `⎿` turn. The host emits pre-formatted text; this component owns the
|
|
15
|
+
* colour roles per kind.
|
|
16
|
+
*/
|
|
17
|
+
import React from 'react';
|
|
18
|
+
export interface ChatItem {
|
|
19
|
+
/** Stable identity for React's key prop — usually a monotonic id. */
|
|
20
|
+
id: string;
|
|
21
|
+
/** Tag the host can use to dispatch on style. */
|
|
22
|
+
kind: 'user' | 'assistant' | 'system' | 'tool' | 'toolResult' | 'error' | 'banner';
|
|
23
|
+
/** Pre-formatted content (already wrapped / styled by the caller). */
|
|
24
|
+
text: string;
|
|
25
|
+
}
|
|
26
|
+
export interface ChatStaticProps {
|
|
27
|
+
items: ChatItem[];
|
|
28
|
+
}
|
|
29
|
+
export declare const ChatStatic: React.FC<ChatStaticProps>;
|
|
30
|
+
//# 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;;;;;;;;;;;;;;;GAeG;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,YAAY,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnF,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAkGD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAahD,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Static, Box, Text } from 'ink';
|
|
3
|
+
// Glasswing brand roles (mirror src/ui/theme.ts).
|
|
4
|
+
const FLARE = '#ff6a1f'; // action bullet / user
|
|
5
|
+
const BONE = '#ece6da'; // assistant / tool-name foreground
|
|
6
|
+
const ASH = '#948d80'; // dim — system + tool results
|
|
7
|
+
const RUBY = '#ff4d3d'; // errors / diff removals
|
|
8
|
+
const EMERALD = '#28c840'; // diff additions
|
|
9
|
+
const AMBER = '#ffb142'; // post-write diagnostics warning
|
|
10
|
+
// A write/edit tool-result carries a line-numbered diff from
|
|
11
|
+
// src/tools/diffUtils.ts (formatDiffClaudeStyle): ` 12 + added`,
|
|
12
|
+
// ` 12 - removed`, ` 12 context`. The 3 spaces after the +/- marker
|
|
13
|
+
// make the shape distinctive enough that ordinary tool output won't match.
|
|
14
|
+
const DIFF_ADDED = /^\s*\d+ \+ /;
|
|
15
|
+
const DIFF_REMOVED = /^\s*\d+ - /;
|
|
16
|
+
/**
|
|
17
|
+
* Tool result. When it contains diff lines (write/edit), each line is colored
|
|
18
|
+
* — additions green, removals red, the `⎿` summary + context dim — the way
|
|
19
|
+
* Claude Code renders an edit. Non-diff results stay a single dim block.
|
|
20
|
+
*/
|
|
21
|
+
const ToolResult = ({ text }) => {
|
|
22
|
+
const lines = text.split('\n');
|
|
23
|
+
const hasDiff = lines.some((l) => DIFF_ADDED.test(l) || DIFF_REMOVED.test(l));
|
|
24
|
+
if (!hasDiff)
|
|
25
|
+
return _jsx(Text, { color: ASH, children: text });
|
|
26
|
+
return (_jsx(Box, { flexDirection: "column", children: lines.map((l, i) => {
|
|
27
|
+
const color = l.includes('⚠ diagnostics:') ? AMBER
|
|
28
|
+
: DIFF_ADDED.test(l) ? EMERALD
|
|
29
|
+
: DIFF_REMOVED.test(l) ? RUBY
|
|
30
|
+
: ASH;
|
|
31
|
+
// Empty <Text> children collide on React keys / fail to mount.
|
|
32
|
+
return _jsx(Text, { color: color, children: l.length ? l : ' ' }, i);
|
|
33
|
+
}) }));
|
|
34
|
+
};
|
|
35
|
+
/** An action line: flare bullet + a hang-indented body. */
|
|
36
|
+
const Action = ({ body }) => (_jsxs(Box, { children: [_jsx(Text, { color: FLARE, children: "\u23FA " }), _jsx(Box, { flexGrow: 1, children: _jsx(Text, { color: BONE, children: body }) })] }));
|
|
37
|
+
/**
|
|
38
|
+
* A tool action: flare bullet, then the tool NAME bold and its argument PLAIN
|
|
39
|
+
* (CLAUDE_CODE_UX.md §2/§47). Body arrives as `ToolName(arg)`; split at the
|
|
40
|
+
* first `(` so `Write(fib.py)` renders `Write` bold, `(fib.py)` plain. A name
|
|
41
|
+
* with no argument (e.g. `Update Todos`) stays bold in whole, matching §2.
|
|
42
|
+
*/
|
|
43
|
+
const ToolAction = ({ body }) => {
|
|
44
|
+
const i = body.indexOf('(');
|
|
45
|
+
const name = i === -1 ? body : body.slice(0, i);
|
|
46
|
+
const arg = i === -1 ? '' : body.slice(i);
|
|
47
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: FLARE, children: "\u23FA " }), _jsx(Box, { flexGrow: 1, children: _jsxs(Text, { color: BONE, children: [_jsx(Text, { bold: true, children: name }), arg] }) })] }));
|
|
48
|
+
};
|
|
49
|
+
function renderItem(item) {
|
|
50
|
+
switch (item.kind) {
|
|
51
|
+
case 'tool': {
|
|
52
|
+
// Text arrives as `⏺ ToolName(arg)`; re-render so the bullet is flare and
|
|
53
|
+
// the tool name is bone-bold with the argument plain (§2/§47).
|
|
54
|
+
const body = item.text.startsWith('⏺') ? item.text.replace(/^⏺\s?/, '') : item.text;
|
|
55
|
+
return _jsx(ToolAction, { body: body });
|
|
56
|
+
}
|
|
57
|
+
case 'assistant':
|
|
58
|
+
return _jsx(Action, { body: item.text });
|
|
59
|
+
case 'toolResult':
|
|
60
|
+
// Already carries its ` ⎿ …` lead-in + continuation indent. Diffs are
|
|
61
|
+
// colored line-by-line; plain results render as one dim block.
|
|
62
|
+
return _jsx(ToolResult, { text: item.text });
|
|
63
|
+
case 'user':
|
|
64
|
+
return _jsx(Text, { color: FLARE, bold: true, children: item.text });
|
|
65
|
+
case 'system':
|
|
66
|
+
return _jsx(Text, { color: ASH, dimColor: true, children: item.text });
|
|
67
|
+
case 'error':
|
|
68
|
+
return _jsx(Text, { color: RUBY, children: item.text });
|
|
69
|
+
case 'banner':
|
|
70
|
+
// Banners embed their own chalk colour (rounded welcome box, etc.).
|
|
71
|
+
return _jsx(Text, { children: item.text });
|
|
72
|
+
default:
|
|
73
|
+
return _jsx(Text, { children: item.text });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export const ChatStatic = ({ items }) => {
|
|
77
|
+
return (_jsx(Static, { items: items, children: (item, index) => (
|
|
78
|
+
// §1: one blank line between consecutive ⏺ blocks (distinct paragraphs).
|
|
79
|
+
// A toolResult (⎿) hugs the action above it, so no gap there; the first
|
|
80
|
+
// item gets no leading gap.
|
|
81
|
+
_jsx(Box, { flexDirection: "column", marginTop: index > 0 && item.kind !== 'toolResult' ? 1 : 0, children: renderItem(item) }, item.id)) }));
|
|
82
|
+
};
|
|
83
|
+
//# sourceMappingURL=ChatStatic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatStatic.js","sourceRoot":"","sources":["../../../src/ui/ink/ChatStatic.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* InkPromptController — the CLI's prompt controller, backed by the Ink
|
|
3
|
+
* renderer. Constructed via createPromptController(); it is the only
|
|
4
|
+
* renderer the shell uses.
|
|
5
|
+
*
|
|
6
|
+
* Goal: satisfy every method that src/headless/interactiveShell.ts calls
|
|
7
|
+
* so the rest of the codebase doesn't notice the swap. Live methods
|
|
8
|
+
* (status, history, secret mode, menu) drive an Ink reconciler commit;
|
|
9
|
+
* decorative methods that don't yet have an Ink implementation are
|
|
10
|
+
* marked as TODOs and behave as no-ops, with the call recorded so
|
|
11
|
+
* future hardening can fill the gaps with real behaviour rather than
|
|
12
|
+
* silent drift.
|
|
13
|
+
*
|
|
14
|
+
* Renderer shim: interactiveShell.ts also calls a handful of methods
|
|
15
|
+
* directly via promptController.getRenderer() — addEvent, addOutputTap,
|
|
16
|
+
* captureInput, clearBuffer, setSecretMode, forceRender. We expose a
|
|
17
|
+
* facade implementing exactly those.
|
|
18
|
+
*/
|
|
19
|
+
import { EventEmitter } from 'node:events';
|
|
20
|
+
import type { Writable, Readable } from 'node:stream';
|
|
21
|
+
import type { ChatItem } from './ChatStatic.js';
|
|
22
|
+
export type EditGuardMode = 'display-edits' | 'require-approval' | 'block-writes' | 'ask-permission' | 'plan';
|
|
23
|
+
export interface PromptCallbacks {
|
|
24
|
+
onSubmit: (text: string) => void;
|
|
25
|
+
onQueue: (text: string) => void;
|
|
26
|
+
onInterrupt: () => void;
|
|
27
|
+
onExit?: () => void;
|
|
28
|
+
onCtrlC?: (info: {
|
|
29
|
+
hadBuffer: boolean;
|
|
30
|
+
}) => void;
|
|
31
|
+
onResume?: () => void;
|
|
32
|
+
onChange?: (event: {
|
|
33
|
+
text: string;
|
|
34
|
+
cursor: number;
|
|
35
|
+
}) => void;
|
|
36
|
+
onEditModeChange?: (mode: EditGuardMode) => void;
|
|
37
|
+
onToggleAutoContinue?: () => void;
|
|
38
|
+
onClearContext?: () => void;
|
|
39
|
+
onExpandToolResult?: () => void;
|
|
40
|
+
/** Fired on Esc (outside any menu/search) — interrupts a running turn. */
|
|
41
|
+
onEscape?: () => void;
|
|
42
|
+
/** Fired on `?` with an empty buffer — show the keyboard-shortcuts panel. */
|
|
43
|
+
onShowShortcuts?: () => void;
|
|
44
|
+
/** Fired on any key while a dismissable inline panel is open — dismiss it. */
|
|
45
|
+
onDismissPanel?: () => void;
|
|
46
|
+
onToggleHITL?: () => void;
|
|
47
|
+
/** Fired after Shift+Tab cycles the permission mode, with the new mode. */
|
|
48
|
+
onCyclePermissionMode?: (mode: string) => void;
|
|
49
|
+
}
|
|
50
|
+
export interface CommandSuggestion {
|
|
51
|
+
command: string;
|
|
52
|
+
description: string;
|
|
53
|
+
category?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface MenuItem {
|
|
56
|
+
id: string;
|
|
57
|
+
label: string;
|
|
58
|
+
description?: string;
|
|
59
|
+
category?: string;
|
|
60
|
+
disabled?: boolean;
|
|
61
|
+
isActive?: boolean;
|
|
62
|
+
}
|
|
63
|
+
type Mode = 'idle' | 'streaming';
|
|
64
|
+
interface ModeToggleState {
|
|
65
|
+
autoMode: 'off' | 'on';
|
|
66
|
+
autoContinueHotkey?: string;
|
|
67
|
+
debugEnabled?: boolean;
|
|
68
|
+
hitlMode: 'off' | 'on';
|
|
69
|
+
hitlHotkey?: string;
|
|
70
|
+
}
|
|
71
|
+
export interface IPromptController extends EventEmitter {
|
|
72
|
+
start(): void;
|
|
73
|
+
whenReady(): Promise<void>;
|
|
74
|
+
stop(): void;
|
|
75
|
+
setStreaming(s: boolean): void;
|
|
76
|
+
getMode(): Mode;
|
|
77
|
+
setContextUsage(p: number | null): void;
|
|
78
|
+
setModeToggles(opts: Partial<ModeToggleState>): void;
|
|
79
|
+
setDebugMode(enabled: boolean): void;
|
|
80
|
+
toggleAutoContinue(): void;
|
|
81
|
+
getAutoMode(): 'off' | 'on';
|
|
82
|
+
setAutoMode(m: 'off' | 'on'): void;
|
|
83
|
+
toggleHITL(): void;
|
|
84
|
+
getHITLMode(): 'off' | 'on';
|
|
85
|
+
getModeToggleState(): Readonly<ModeToggleState>;
|
|
86
|
+
setStatusMessage(message: string | null): void;
|
|
87
|
+
setOverrideStatus(message: string | null): void;
|
|
88
|
+
setStreamingLabel(label: string | null): void;
|
|
89
|
+
setStatusLine(s: {
|
|
90
|
+
main?: string | null;
|
|
91
|
+
override?: string | null;
|
|
92
|
+
streaming?: string | null;
|
|
93
|
+
}): void;
|
|
94
|
+
setMetaStatus(meta: {
|
|
95
|
+
elapsedSeconds?: number | null;
|
|
96
|
+
tokensUsed?: number | null;
|
|
97
|
+
tokenLimit?: number | null;
|
|
98
|
+
thinkingMs?: number | null;
|
|
99
|
+
thinkingHasContent?: boolean;
|
|
100
|
+
}): void;
|
|
101
|
+
clearAllStatus(): void;
|
|
102
|
+
setModelContext(opts: {
|
|
103
|
+
model?: string | null;
|
|
104
|
+
provider?: string | null;
|
|
105
|
+
}): void;
|
|
106
|
+
setChromeMeta(meta: {
|
|
107
|
+
workspace?: string;
|
|
108
|
+
directory?: string;
|
|
109
|
+
writes?: string;
|
|
110
|
+
sessionLabel?: string;
|
|
111
|
+
thinkingLabel?: string;
|
|
112
|
+
autosave?: boolean;
|
|
113
|
+
version?: string;
|
|
114
|
+
}): void;
|
|
115
|
+
setAvailableCommands(commands: CommandSuggestion[]): void;
|
|
116
|
+
setInlinePanel(lines: string[]): void;
|
|
117
|
+
clearInlinePanel(): void;
|
|
118
|
+
supportsInlinePanel(): boolean;
|
|
119
|
+
setPinnedPrompt(text: string | null): void;
|
|
120
|
+
getPinnedPrompt(): string | null;
|
|
121
|
+
clearPinnedPrompt(): void;
|
|
122
|
+
setMenu(items: MenuItem[], options: {
|
|
123
|
+
title?: string;
|
|
124
|
+
initialIndex?: number;
|
|
125
|
+
}, callback: (item: MenuItem | null) => void): void;
|
|
126
|
+
closeMenu(): void;
|
|
127
|
+
isMenuActive(): boolean;
|
|
128
|
+
setActivityMessage(message: string | null): void;
|
|
129
|
+
setCompletionFiles(files: string[]): void;
|
|
130
|
+
setEditMode(mode: EditGuardMode): void;
|
|
131
|
+
applyEditMode(mode: EditGuardMode): void;
|
|
132
|
+
getEditMode(): EditGuardMode;
|
|
133
|
+
getBuffer(): string;
|
|
134
|
+
getCursor(): number;
|
|
135
|
+
setBuffer(text: string, cursorPos?: number): void;
|
|
136
|
+
setSecretMode(enabled: boolean): void;
|
|
137
|
+
clear(): void;
|
|
138
|
+
clearScreen(): void;
|
|
139
|
+
render(): void;
|
|
140
|
+
forceRender(): void;
|
|
141
|
+
handleResize(): void;
|
|
142
|
+
dispose(): void;
|
|
143
|
+
getRenderer(): any;
|
|
144
|
+
}
|
|
145
|
+
export declare class InkPromptController extends EventEmitter implements IPromptController {
|
|
146
|
+
private readonly callbacks;
|
|
147
|
+
private inkRender;
|
|
148
|
+
private React;
|
|
149
|
+
private AppComponent;
|
|
150
|
+
private inst;
|
|
151
|
+
private readonly shim;
|
|
152
|
+
private readonly stdin;
|
|
153
|
+
private readonly stdout;
|
|
154
|
+
private streamingText;
|
|
155
|
+
private idSeq;
|
|
156
|
+
private statusMain;
|
|
157
|
+
private statusOverride;
|
|
158
|
+
private statusStreaming;
|
|
159
|
+
private activityMessage;
|
|
160
|
+
private mode;
|
|
161
|
+
private metaInfo;
|
|
162
|
+
private spinStart;
|
|
163
|
+
private history;
|
|
164
|
+
private suggestions;
|
|
165
|
+
private inlinePanel;
|
|
166
|
+
private secretMode;
|
|
167
|
+
private editMode;
|
|
168
|
+
private pinnedPrompt;
|
|
169
|
+
private modeToggleState;
|
|
170
|
+
private buffer;
|
|
171
|
+
private readonly promptHistory;
|
|
172
|
+
private completionFiles;
|
|
173
|
+
private captureSubmit;
|
|
174
|
+
private menuCallback;
|
|
175
|
+
private menuItems;
|
|
176
|
+
private followUpQueueMode;
|
|
177
|
+
private queuedPrompts;
|
|
178
|
+
private menuTitle?;
|
|
179
|
+
private menuOpen;
|
|
180
|
+
private started;
|
|
181
|
+
private disposed;
|
|
182
|
+
private resolveReady;
|
|
183
|
+
private readonly readyPromise;
|
|
184
|
+
constructor(stdin: Readable, stdout: Writable, callbacks: PromptCallbacks);
|
|
185
|
+
/**
|
|
186
|
+
* Async start so the Ink + React modules can be loaded via dynamic
|
|
187
|
+
* import (the dist build emits ESM under `module: NodeNext`, where
|
|
188
|
+
* `require()` mixed with top-level await is a hard error in Node 22+).
|
|
189
|
+
* Call sites that go through createPromptController() should await
|
|
190
|
+
* .start(); the legacy controller's start() is sync, so the IPrompt
|
|
191
|
+
* interface defines start() as `void` and we coerce here.
|
|
192
|
+
*/
|
|
193
|
+
start(): void;
|
|
194
|
+
/** Resolves once Ink has mounted and rendered its first frame. */
|
|
195
|
+
whenReady(): Promise<void>;
|
|
196
|
+
private startAsync;
|
|
197
|
+
stop(): void;
|
|
198
|
+
dispose(): void;
|
|
199
|
+
/** Manual repaint hook — Ink owns its tick, so render/forceRender are coalesced into a rerender(). */
|
|
200
|
+
render(): void;
|
|
201
|
+
forceRender(): void;
|
|
202
|
+
handleResize(): void;
|
|
203
|
+
/**
|
|
204
|
+
* Reset the chat surface (the shell's /clear). Ink's <Static> is
|
|
205
|
+
* append-only — it slices items from an internal index that only grows
|
|
206
|
+
* — so shrinking the history array cannot clear committed scrollback.
|
|
207
|
+
* The only correct reset is to unmount, clear the terminal while Ink is
|
|
208
|
+
* NOT mounted (so the escape can't desync a live render), and remount
|
|
209
|
+
* with empty history; the fresh <Static> restarts at index 0.
|
|
210
|
+
*/
|
|
211
|
+
clearScreen(): void;
|
|
212
|
+
setStatusMessage(message: string | null): void;
|
|
213
|
+
setOverrideStatus(message: string | null): void;
|
|
214
|
+
setStreamingLabel(label: string | null): void;
|
|
215
|
+
setStatusLine(status: {
|
|
216
|
+
main?: string | null;
|
|
217
|
+
override?: string | null;
|
|
218
|
+
streaming?: string | null;
|
|
219
|
+
}): void;
|
|
220
|
+
clearAllStatus(): void;
|
|
221
|
+
setActivityMessage(message: string | null): void;
|
|
222
|
+
setStreaming(streaming: boolean): void;
|
|
223
|
+
getMode(): Mode;
|
|
224
|
+
setContextUsage(percentage: number | null): void;
|
|
225
|
+
setMetaStatus(meta: {
|
|
226
|
+
elapsedSeconds?: number | null;
|
|
227
|
+
tokensUsed?: number | null;
|
|
228
|
+
tokenLimit?: number | null;
|
|
229
|
+
}): void;
|
|
230
|
+
setModelContext(options: {
|
|
231
|
+
model?: string | null;
|
|
232
|
+
provider?: string | null;
|
|
233
|
+
}): void;
|
|
234
|
+
setChromeMeta(meta: {
|
|
235
|
+
workspace?: string;
|
|
236
|
+
directory?: string;
|
|
237
|
+
}): void;
|
|
238
|
+
setModeToggles(options: Partial<ModeToggleState>): void;
|
|
239
|
+
setDebugMode(enabled: boolean): void;
|
|
240
|
+
toggleAutoContinue(): void;
|
|
241
|
+
getAutoMode(): 'off' | 'on';
|
|
242
|
+
setAutoMode(mode: 'off' | 'on'): void;
|
|
243
|
+
toggleHITL(): void;
|
|
244
|
+
getHITLMode(): 'off' | 'on';
|
|
245
|
+
getModeToggleState(): Readonly<ModeToggleState>;
|
|
246
|
+
setAvailableCommands(commands: CommandSuggestion[]): void;
|
|
247
|
+
setInlinePanel(lines: string[]): void;
|
|
248
|
+
clearInlinePanel(): void;
|
|
249
|
+
supportsInlinePanel(): boolean;
|
|
250
|
+
setPinnedPrompt(text: string | null): void;
|
|
251
|
+
getPinnedPrompt(): string | null;
|
|
252
|
+
clearPinnedPrompt(): void;
|
|
253
|
+
setMenu(items: MenuItem[], options: {
|
|
254
|
+
title?: string;
|
|
255
|
+
initialIndex?: number;
|
|
256
|
+
}, callback: (item: MenuItem | null) => void): void;
|
|
257
|
+
closeMenu(): void;
|
|
258
|
+
isMenuActive(): boolean;
|
|
259
|
+
/** Close the menu and fire the stored callback exactly once. */
|
|
260
|
+
private resolveMenu;
|
|
261
|
+
setSecretMode(enabled: boolean): void;
|
|
262
|
+
setEditMode(mode: EditGuardMode): void;
|
|
263
|
+
applyEditMode(mode: EditGuardMode): void;
|
|
264
|
+
getEditMode(): EditGuardMode;
|
|
265
|
+
/**
|
|
266
|
+
* The input buffer in the Ink path is owned by the Prompt component,
|
|
267
|
+
* not by this controller. We keep `this.buffer` as a snapshot for
|
|
268
|
+
* legacy callers asking for getBuffer/getCursor; updates flow when the
|
|
269
|
+
* Prompt's onSubmit / clear actions fire. setBuffer drives a new
|
|
270
|
+
* `initial` prop on the next mount.
|
|
271
|
+
*/
|
|
272
|
+
getBuffer(): string;
|
|
273
|
+
getCursor(): number;
|
|
274
|
+
setBuffer(text: string, _cursorPos?: number): void;
|
|
275
|
+
clear(): void;
|
|
276
|
+
setFollowUpQueueMode(on: boolean): void;
|
|
277
|
+
setQueuedPrompts(prompts: string[]): void;
|
|
278
|
+
setCompletionFiles(files: string[]): void;
|
|
279
|
+
addUserHistoryItem(text: string): void;
|
|
280
|
+
getRenderer(): any;
|
|
281
|
+
/** Append history (used by the renderer shim's addEvent). */
|
|
282
|
+
_appendHistoryEntry(item: ChatItem): void;
|
|
283
|
+
/**
|
|
284
|
+
* Streaming accumulators. Deltas append to streamingText, which App
|
|
285
|
+
* renders live as the dynamic region below ChatStatic (<Static>). The
|
|
286
|
+
* old duplication bug — partial text orphaned in scrollback when a
|
|
287
|
+
* Static item appended below it — cannot recur: ChatStatic is the ONLY
|
|
288
|
+
* Static node and renders first, so nothing Static ever appends below
|
|
289
|
+
* the live region, and _commitStreaming pushes history + clears
|
|
290
|
+
* streamingText in a single atomic rerender.
|
|
291
|
+
*/
|
|
292
|
+
_appendStreamingDelta(delta: string): void;
|
|
293
|
+
_commitStreaming(finalText: string): void;
|
|
294
|
+
_finalizeStreamingIfAny(): void;
|
|
295
|
+
/** Shift+Tab from the Prompt: advance the permission mode and repaint. */
|
|
296
|
+
private cyclePermissionModeFromUI;
|
|
297
|
+
_setBuffer(text: string): void;
|
|
298
|
+
_setSecretMode(enabled: boolean): void;
|
|
299
|
+
_installCaptureHandler(handler: (text: string) => void): void;
|
|
300
|
+
_restoreSubmitHandler(): void;
|
|
301
|
+
private rerender;
|
|
302
|
+
private buildTree;
|
|
303
|
+
/**
|
|
304
|
+
* The dim mode line under the spinner. Claude Code keeps this minimal and
|
|
305
|
+
* emoji-free: product, model, context left, then active toggles. The cwd and
|
|
306
|
+
* elapsed time deliberately don't live here (cwd is in the welcome box;
|
|
307
|
+
* elapsed rides the spinner).
|
|
308
|
+
*/
|
|
309
|
+
private formatModeChips;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Factory — returns the Ink-backed controller. Ink is now the only
|
|
313
|
+
* renderer; the legacy UnifiedUIRenderer + PromptController have been
|
|
314
|
+
* removed. interactiveShell.ts exits early on non-TTY so Ink's
|
|
315
|
+
* raw-mode requirement is always satisfied here. Plain mode
|
|
316
|
+
* (NO_COLOR / TERM=dumb) still flows through Ink — Ink itself
|
|
317
|
+
* down-styles when colours are disabled.
|
|
318
|
+
*/
|
|
319
|
+
export declare function createPromptController(stdin: Readable, stdout: Writable, callbacks: PromptCallbacks): Promise<IPromptController>;
|
|
320
|
+
export {};
|
|
321
|
+
//# sourceMappingURL=InkPromptController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InkPromptController.d.ts","sourceRoot":"","sources":["../../../src/ui/ink/InkPromptController.ts"],"names":[],"mappings":"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"}
|