@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,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wires the parallel-sub-agent capability into a live AgentController.
|
|
3
|
+
*
|
|
4
|
+
* The AgentSpawningModule was previously orphaned — it required an
|
|
5
|
+
* LLMProvider instance at construction time, but providers are
|
|
6
|
+
* created per-send in AgentSession, so there was no clean way to
|
|
7
|
+
* register it during runtime construction. This wiring closes the
|
|
8
|
+
* gap: a tool suite is registered AFTER the controller exists, and
|
|
9
|
+
* the tool handler builds a fresh provider matching the controller's
|
|
10
|
+
* current model selection per invocation.
|
|
11
|
+
*
|
|
12
|
+
* Use it from createAgentController:
|
|
13
|
+
* wireAgentSpawning(controller);
|
|
14
|
+
*/
|
|
15
|
+
import { LeanAgent } from '../leanAgent.js';
|
|
16
|
+
import { createProvider } from '../providers/providerFactory.js';
|
|
17
|
+
import { selectionToProviderConfig } from './agentSession.js';
|
|
18
|
+
const MAX_CONCURRENCY = 5;
|
|
19
|
+
export function wireAgentSpawning(deps) {
|
|
20
|
+
const tools = [
|
|
21
|
+
{
|
|
22
|
+
name: 'parallel_agents',
|
|
23
|
+
description: 'Run several INDEPENDENT sub-tasks in parallel. Each task gets its own sub-agent with the full default toolset. ' +
|
|
24
|
+
`Cap: ${MAX_CONCURRENCY} parallel tasks. Use ONLY when tasks don\'t depend on each other (e.g., reading three unrelated files, ` +
|
|
25
|
+
'creating multiple unrelated files, running unrelated greps). For sequential work or single tasks, just use the regular tools. ' +
|
|
26
|
+
'\n\nParameter `tasks` is a JSON-encoded array: [{ "id": "string", "description": "3-5 word label", "prompt": "full instructions for sub-agent" }, ...]',
|
|
27
|
+
parameters: {
|
|
28
|
+
type: 'object',
|
|
29
|
+
properties: {
|
|
30
|
+
tasks: {
|
|
31
|
+
type: 'string',
|
|
32
|
+
description: 'JSON array of task objects: [{"id":"…","description":"…","prompt":"…"}, …]',
|
|
33
|
+
},
|
|
34
|
+
},
|
|
35
|
+
required: ['tasks'],
|
|
36
|
+
},
|
|
37
|
+
handler: async (args) => {
|
|
38
|
+
const raw = args['tasks'];
|
|
39
|
+
if (typeof raw !== 'string' || !raw.trim()) {
|
|
40
|
+
return 'Error: tasks must be a JSON-encoded array string.';
|
|
41
|
+
}
|
|
42
|
+
let specs;
|
|
43
|
+
try {
|
|
44
|
+
specs = JSON.parse(raw);
|
|
45
|
+
}
|
|
46
|
+
catch (err) {
|
|
47
|
+
return `Error: tasks JSON parse failed (${err.message}). Send a JSON array of {id, description, prompt}.`;
|
|
48
|
+
}
|
|
49
|
+
if (!Array.isArray(specs) || specs.length === 0) {
|
|
50
|
+
return 'Error: tasks must be a non-empty JSON array.';
|
|
51
|
+
}
|
|
52
|
+
if (specs.length > MAX_CONCURRENCY) {
|
|
53
|
+
return `Error: max ${MAX_CONCURRENCY} parallel tasks. Got ${specs.length}.`;
|
|
54
|
+
}
|
|
55
|
+
for (const t of specs) {
|
|
56
|
+
if (!t || typeof t !== 'object' || typeof t.id !== 'string' || !t.id.trim() || typeof t.prompt !== 'string' || !t.prompt.trim()) {
|
|
57
|
+
return `Error: each task needs non-empty id + prompt. Bad: ${JSON.stringify(t).slice(0, 200)}`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
// Build a fresh provider for this batch using the controller's
|
|
61
|
+
// CURRENT selection — sub-agents inherit the user's choice of
|
|
62
|
+
// model without us caching a stale instance.
|
|
63
|
+
const selection = deps.getSelection();
|
|
64
|
+
const providerConfig = selectionToProviderConfig(selection);
|
|
65
|
+
const startedAt = Date.now();
|
|
66
|
+
const results = await Promise.all(specs.map(async (task) => {
|
|
67
|
+
const label = task.description || task.id;
|
|
68
|
+
const taskStart = Date.now();
|
|
69
|
+
deps.notifySubAgent?.({ phase: 'start', id: task.id, description: label });
|
|
70
|
+
try {
|
|
71
|
+
// Each sub-agent gets its own provider instance to avoid
|
|
72
|
+
// any concurrent-state issues in providers that aren't
|
|
73
|
+
// hardened for parallel use.
|
|
74
|
+
const provider = createProvider(providerConfig);
|
|
75
|
+
const subAgent = new LeanAgent({
|
|
76
|
+
provider,
|
|
77
|
+
workingDir: deps.workingDir,
|
|
78
|
+
providerId: selection.provider,
|
|
79
|
+
modelId: selection.model,
|
|
80
|
+
systemPrompt: 'You are a focused sub-agent. Complete ONE specific task and return a concise report. ' +
|
|
81
|
+
`Working directory: ${deps.workingDir}.`,
|
|
82
|
+
});
|
|
83
|
+
const response = await subAgent.chat(task.prompt, false);
|
|
84
|
+
deps.notifySubAgent?.({ phase: 'complete', id: task.id, description: label, success: true, elapsedMs: Date.now() - taskStart });
|
|
85
|
+
return { id: task.id, description: label, success: true, output: response.content };
|
|
86
|
+
}
|
|
87
|
+
catch (err) {
|
|
88
|
+
deps.notifySubAgent?.({ phase: 'complete', id: task.id, description: label, success: false, elapsedMs: Date.now() - taskStart });
|
|
89
|
+
return { id: task.id, description: label, success: false, output: `Error: ${err.message}` };
|
|
90
|
+
}
|
|
91
|
+
}));
|
|
92
|
+
const elapsed = ((Date.now() - startedAt) / 1000).toFixed(1);
|
|
93
|
+
const lines = [
|
|
94
|
+
`Parallel run finished: ${results.length} task(s) in ${elapsed}s.`,
|
|
95
|
+
'',
|
|
96
|
+
];
|
|
97
|
+
for (const r of results) {
|
|
98
|
+
const tag = r.success ? '✓' : '✗';
|
|
99
|
+
lines.push(`--- [${tag}] ${r.id}: ${r.description} ---`);
|
|
100
|
+
lines.push(r.output);
|
|
101
|
+
lines.push('');
|
|
102
|
+
}
|
|
103
|
+
return lines.join('\n').trimEnd();
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
];
|
|
107
|
+
const suite = {
|
|
108
|
+
id: 'agent-spawning.tools',
|
|
109
|
+
description: 'Parallel sub-agent execution',
|
|
110
|
+
tools,
|
|
111
|
+
};
|
|
112
|
+
deps.session.toolRuntime.registerSuite(suite);
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=agentSpawningWiring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agentSpawningWiring.js","sourceRoot":"","sources":["../../src/runtime/agentSpawningWiring.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,MAAM,eAAe,GAAG,CAAC,CAAC;AAyB1B,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACxD,MAAM,KAAK,GAAqB;QAC9B;YACE,IAAI,EAAE,iBAAiB;YACvB,WAAW,EACT,iHAAiH;gBACjH,QAAQ,eAAe,yGAAyG;gBAChI,gIAAgI;gBAChI,wJAAwJ;YAC1J,UAAU,EAAE;gBACV,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,KAAK,EAAE;wBACL,IAAI,EAAE,QAAiB;wBACvB,WAAW,EAAE,4EAA4E;qBAC1F;iBACF;gBACD,QAAQ,EAAE,CAAC,OAAO,CAAC;aACpB;YACD,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;gBAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1B,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC3C,OAAO,mDAAmD,CAAC;gBAC7D,CAAC;gBACD,IAAI,KAAiB,CAAC;gBACtB,IAAI,CAAC;oBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,mCAAoC,GAAa,CAAC,OAAO,oDAAoD,CAAC;gBACvH,CAAC;gBACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChD,OAAO,8CAA8C,CAAC;gBACxD,CAAC;gBACD,IAAI,KAAK,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;oBACnC,OAAO,cAAc,eAAe,wBAAwB,KAAK,CAAC,MAAM,GAAG,CAAC;gBAC9E,CAAC;gBACD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;wBAChI,OAAO,sDAAsD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;oBACjG,CAAC;gBACH,CAAC;gBAED,+DAA+D;gBAC/D,8DAA8D;gBAC9D,6CAA6C;gBAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtC,MAAM,cAAc,GAAG,yBAAyB,CAAC,SAAS,CAAC,CAAC;gBAE5D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC7B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC7B,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC3E,IAAI,CAAC;wBACH,yDAAyD;wBACzD,uDAAuD;wBACvD,6BAA6B;wBAC7B,MAAM,QAAQ,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;wBAChD,MAAM,QAAQ,GAAG,IAAI,SAAS,CAAC;4BAC7B,QAAQ;4BACR,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,UAAU,EAAE,SAAS,CAAC,QAAQ;4BAC9B,OAAO,EAAE,SAAS,CAAC,KAAK;4BACxB,YAAY,EACV,uFAAuF;gCACvF,sBAAsB,IAAI,CAAC,UAAU,GAAG;yBAC3C,CAAC,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;wBACzD,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;wBAChI,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtF,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,IAAI,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC;wBACjI,OAAO,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAW,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC;oBACzG,CAAC;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC7D,MAAM,KAAK,GAAa;oBACtB,0BAA0B,OAAO,CAAC,MAAM,eAAe,OAAO,IAAI;oBAClE,EAAE;iBACH,CAAC;gBACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;oBAClC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC;oBACzD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACjB,CAAC;gBACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACpC,CAAC;SACF;KACF,CAAC;IAEF,MAAM,KAAK,GAAc;QACvB,EAAE,EAAE,sBAAsB;QAC1B,WAAW,EAAE,8BAA8B;QAC3C,KAAK;KACN,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type UniversalRuntime, type UniversalRuntimeOptions } from './universal.js';
|
|
2
|
+
import type { CapabilityModule } from './agentHost.js';
|
|
3
|
+
export interface NodeRuntimeOptions extends Omit<UniversalRuntimeOptions, 'additionalModules'> {
|
|
4
|
+
additionalModules?: CapabilityModule[];
|
|
5
|
+
}
|
|
6
|
+
export declare function createNodeRuntime(options: NodeRuntimeOptions): Promise<UniversalRuntime>;
|
|
7
|
+
//# sourceMappingURL=node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../src/runtime/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,gBAAgB,EAAE,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC7G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAcvD,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,uBAAuB,EAAE,mBAAmB,CAAC;IAC1D,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAsCD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAQ9F"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { createUniversalRuntime } from './universal.js';
|
|
2
|
+
import { FilesystemCapabilityModule, EditCapabilityModule, BashCapabilityModule, SearchCapabilityModule, WebCapabilityModule, HITLCapabilityModule, } from '../capabilities/index.js';
|
|
3
|
+
import { TodoCapabilityModule } from '../capabilities/todoCapability.js';
|
|
4
|
+
import { MemoryCapabilityModule } from '../capabilities/memoryCapability.js';
|
|
5
|
+
import { SkillCapabilityModule } from '../capabilities/skillCapability.js';
|
|
6
|
+
import { NotebookCapabilityModule } from '../capabilities/notebookCapability.js';
|
|
7
|
+
/**
|
|
8
|
+
* Build the default capability set for the coding/terminal CLI.
|
|
9
|
+
*
|
|
10
|
+
* Single-responsibility cut: this binary owns code + filesystem +
|
|
11
|
+
* terminal. The previous cowork capability (scheduling, standing
|
|
12
|
+
* instructions, persistent due-task ledger) was extracted in 2026-05
|
|
13
|
+
* to its own placeholder repo at ~/GitHub/erosolar-cowork — same
|
|
14
|
+
* engineering split Anthropic uses for Claude Code vs Claude Cowork.
|
|
15
|
+
* See CLAUDE.md "Capability separation" for the rationale.
|
|
16
|
+
*/
|
|
17
|
+
function createNodeCapabilityModules() {
|
|
18
|
+
return [
|
|
19
|
+
new FilesystemCapabilityModule(),
|
|
20
|
+
new EditCapabilityModule(),
|
|
21
|
+
new BashCapabilityModule(),
|
|
22
|
+
new SearchCapabilityModule(),
|
|
23
|
+
new WebCapabilityModule(),
|
|
24
|
+
new HITLCapabilityModule({ autoPause: true, timeoutMs: 0 }),
|
|
25
|
+
// TodoWrite — Claude-Code-style in-session task list. The agent
|
|
26
|
+
// updates a structured plan that surfaces in the UI as tasks tick
|
|
27
|
+
// off. This is the in-session task surface; persistent multi-
|
|
28
|
+
// session task ledgers belong to the separate cowork product.
|
|
29
|
+
new TodoCapabilityModule(),
|
|
30
|
+
// Persistent memory — save/recall facts across CLI sessions.
|
|
31
|
+
// Equivalent to Claude Code's CLAUDE.md + memory pattern.
|
|
32
|
+
// Stored under <workingDir>/.trenchwork/memory/.
|
|
33
|
+
new MemoryCapabilityModule(),
|
|
34
|
+
// Skill registry — Claude-Code-style reusable playbooks loaded
|
|
35
|
+
// from .trenchwork/skills/<name>/SKILL.md.
|
|
36
|
+
new SkillCapabilityModule(),
|
|
37
|
+
// Notebook (.ipynb) cell-level editing — preserves nbformat
|
|
38
|
+
// metadata and the source string|string[] convention.
|
|
39
|
+
new NotebookCapabilityModule(),
|
|
40
|
+
];
|
|
41
|
+
}
|
|
42
|
+
export async function createNodeRuntime(options) {
|
|
43
|
+
const coreModules = createNodeCapabilityModules();
|
|
44
|
+
const additionalModules = options.additionalModules ?? [];
|
|
45
|
+
return createUniversalRuntime({
|
|
46
|
+
...options,
|
|
47
|
+
additionalModules: [...coreModules, ...additionalModules],
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=node.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/runtime/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAuD,MAAM,gBAAgB,CAAC;AAE7G,OAAO,EACL,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AAOjF;;;;;;;;;GASG;AACH,SAAS,2BAA2B;IAClC,OAAO;QACL,IAAI,0BAA0B,EAAE;QAChC,IAAI,oBAAoB,EAAE;QAC1B,IAAI,oBAAoB,EAAE;QAC1B,IAAI,sBAAsB,EAAE;QAC5B,IAAI,mBAAmB,EAAE;QACzB,IAAI,oBAAoB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC3D,gEAAgE;QAChE,kEAAkE;QAClE,8DAA8D;QAC9D,8DAA8D;QAC9D,IAAI,oBAAoB,EAAE;QAC1B,6DAA6D;QAC7D,0DAA0D;QAC1D,iDAAiD;QACjD,IAAI,sBAAsB,EAAE;QAC5B,+DAA+D;QAC/D,2CAA2C;QAC3C,IAAI,qBAAqB,EAAE;QAC3B,4DAA4D;QAC5D,sDAAsD;QACtD,IAAI,wBAAwB,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAA2B;IACjE,MAAM,WAAW,GAAG,2BAA2B,EAAE,CAAC;IAClD,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAE1D,OAAO,sBAAsB,CAAC;QAC5B,GAAG,OAAO;QACV,iBAAiB,EAAE,CAAC,GAAG,WAAW,EAAE,GAAG,iBAAiB,CAAC;KAC1D,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AgentHost, type CapabilityModule } from './agentHost.js';
|
|
2
|
+
import { AgentSession } from './agentSession.js';
|
|
3
|
+
import type { ProfileName } from '../config.js';
|
|
4
|
+
import type { ToolRuntimeObserver } from '../core/toolRuntime.js';
|
|
5
|
+
export interface UniversalRuntimeOptions {
|
|
6
|
+
profile: ProfileName;
|
|
7
|
+
workspaceContext: string | null;
|
|
8
|
+
workingDir: string;
|
|
9
|
+
toolObserver?: ToolRuntimeObserver;
|
|
10
|
+
env?: NodeJS.ProcessEnv;
|
|
11
|
+
additionalModules?: CapabilityModule[];
|
|
12
|
+
}
|
|
13
|
+
export interface UniversalRuntime {
|
|
14
|
+
host: AgentHost;
|
|
15
|
+
session: AgentSession;
|
|
16
|
+
}
|
|
17
|
+
export declare function createUniversalRuntime(options: UniversalRuntimeOptions): Promise<UniversalRuntime>;
|
|
18
|
+
//# sourceMappingURL=universal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"universal.d.ts","sourceRoot":"","sources":["../../src/runtime/universal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAElE,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,WAAW,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,iBAAiB,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,uBAAuB,GAC/B,OAAO,CAAC,gBAAgB,CAAC,CAsB3B"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AgentHost } from './agentHost.js';
|
|
2
|
+
export async function createUniversalRuntime(options) {
|
|
3
|
+
const env = options.env ? { ...options.env } : { ...process.env };
|
|
4
|
+
const host = new AgentHost({
|
|
5
|
+
profile: options.profile,
|
|
6
|
+
workspaceContext: options.workspaceContext,
|
|
7
|
+
workingDir: options.workingDir,
|
|
8
|
+
toolObserver: options.toolObserver,
|
|
9
|
+
env,
|
|
10
|
+
});
|
|
11
|
+
const additionalModules = options.additionalModules ?? [];
|
|
12
|
+
if (additionalModules.length) {
|
|
13
|
+
await host.loadModules(additionalModules);
|
|
14
|
+
}
|
|
15
|
+
const session = await host.getSession();
|
|
16
|
+
return {
|
|
17
|
+
host,
|
|
18
|
+
session,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=universal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"universal.js","sourceRoot":"","sources":["../../src/runtime/universal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAyB,MAAM,gBAAgB,CAAC;AAmBlE,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAgC;IAEhC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClE,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC;QACzB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,GAAG;KACJ,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;IAE1D,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IAExC,OAAO;QACL,IAAI;QACJ,OAAO;KACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export type LiveStatusTone = 'info' | 'success' | 'warning' | 'error';
|
|
2
|
+
export interface LiveStatusState {
|
|
3
|
+
text: string;
|
|
4
|
+
detail?: string;
|
|
5
|
+
startedAt: number;
|
|
6
|
+
tone?: LiveStatusTone;
|
|
7
|
+
progress?: number;
|
|
8
|
+
}
|
|
9
|
+
type Subscriber = (state: LiveStatusState) => void;
|
|
10
|
+
export declare class LiveStatusTracker {
|
|
11
|
+
private base;
|
|
12
|
+
private overrides;
|
|
13
|
+
private subscribers;
|
|
14
|
+
subscribe(subscriber: Subscriber): () => void;
|
|
15
|
+
setBase(text: string, options?: {
|
|
16
|
+
detail?: string;
|
|
17
|
+
}): void;
|
|
18
|
+
pushOverride(id: string, text: string, options?: {
|
|
19
|
+
detail?: string;
|
|
20
|
+
tone?: LiveStatusTone;
|
|
21
|
+
}): () => void;
|
|
22
|
+
clearOverride(id: string): void;
|
|
23
|
+
private currentState;
|
|
24
|
+
private emit;
|
|
25
|
+
}
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=liveStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveStatus.d.ts","sourceRoot":"","sources":["../../src/shell/liveStatus.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAEtE,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AAEnD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,IAAI,CAAgC;IAC5C,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,WAAW,CAAyB;IAE5C,SAAS,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,IAAI;IAW7C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAM1D,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,cAAc,CAAA;KAAE,GAAG,MAAM,IAAI;IAQxG,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,IAAI;CAWb"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export class LiveStatusTracker {
|
|
2
|
+
base = null;
|
|
3
|
+
overrides = new Map();
|
|
4
|
+
subscribers = new Set();
|
|
5
|
+
subscribe(subscriber) {
|
|
6
|
+
this.subscribers.add(subscriber);
|
|
7
|
+
const current = this.currentState();
|
|
8
|
+
if (current) {
|
|
9
|
+
subscriber(current);
|
|
10
|
+
}
|
|
11
|
+
return () => {
|
|
12
|
+
this.subscribers.delete(subscriber);
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
setBase(text, options) {
|
|
16
|
+
const keepStart = this.base && this.base.text === text ? this.base.startedAt : Date.now();
|
|
17
|
+
this.base = { text, detail: options?.detail, startedAt: keepStart };
|
|
18
|
+
this.emit();
|
|
19
|
+
}
|
|
20
|
+
pushOverride(id, text, options) {
|
|
21
|
+
const existing = this.overrides.get(id);
|
|
22
|
+
const startedAt = existing && existing.text === text ? existing.startedAt : Date.now();
|
|
23
|
+
this.overrides.set(id, { text, detail: options?.detail, tone: options?.tone, startedAt });
|
|
24
|
+
this.emit();
|
|
25
|
+
return () => this.clearOverride(id);
|
|
26
|
+
}
|
|
27
|
+
clearOverride(id) {
|
|
28
|
+
this.overrides.delete(id);
|
|
29
|
+
this.emit();
|
|
30
|
+
}
|
|
31
|
+
currentState() {
|
|
32
|
+
if (this.overrides.size) {
|
|
33
|
+
const last = Array.from(this.overrides.values()).pop();
|
|
34
|
+
if (last)
|
|
35
|
+
return last;
|
|
36
|
+
}
|
|
37
|
+
return this.base;
|
|
38
|
+
}
|
|
39
|
+
emit() {
|
|
40
|
+
const state = this.currentState();
|
|
41
|
+
if (!state)
|
|
42
|
+
return;
|
|
43
|
+
for (const sub of this.subscribers) {
|
|
44
|
+
try {
|
|
45
|
+
sub(state);
|
|
46
|
+
}
|
|
47
|
+
catch {
|
|
48
|
+
// ignore subscriber errors
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=liveStatus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveStatus.js","sourceRoot":"","sources":["../../src/shell/liveStatus.ts"],"names":[],"mappings":"AAYA,MAAM,OAAO,iBAAiB;IACpB,IAAI,GAA2B,IAAI,CAAC;IACpC,SAAS,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC/C,WAAW,GAAG,IAAI,GAAG,EAAc,CAAC;IAE5C,SAAS,CAAC,UAAsB;QAC9B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACZ,UAAU,CAAC,OAAO,CAAC,CAAC;QACtB,CAAC;QACD,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACtC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,OAA6B;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC1F,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;QACpE,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,YAAY,CAAC,EAAU,EAAE,IAAY,EAAE,OAAoD;QACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAED,aAAa,CAAC,EAAU;QACtB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YACvD,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QACxB,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAEO,IAAI;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,CAAC;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ProviderToolDefinition } from '../core/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Builds a lean, effective system prompt for the interactive shell.
|
|
4
|
+
*
|
|
5
|
+
* Design principles:
|
|
6
|
+
* - Use native API system prompt (not user message) for better model compliance
|
|
7
|
+
* - Keep instructions minimal - trust tool descriptions for specifics
|
|
8
|
+
* - Focus on critical behavioral constraints only
|
|
9
|
+
* - Avoid redundancy with tool-level guidance
|
|
10
|
+
*/
|
|
11
|
+
export declare function buildInteractiveSystemPrompt(basePrompt: string, profileLabel: string, _tools: ProviderToolDefinition[], workspaceDir?: string): string;
|
|
12
|
+
//# sourceMappingURL=systemPrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../src/shell/systemPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE/D;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,sBAAsB,EAAE,EAChC,YAAY,CAAC,EAAE,MAAM,GACpB,MAAM,CAMR"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Builds a lean, effective system prompt for the interactive shell.
|
|
3
|
+
*
|
|
4
|
+
* Design principles:
|
|
5
|
+
* - Use native API system prompt (not user message) for better model compliance
|
|
6
|
+
* - Keep instructions minimal - trust tool descriptions for specifics
|
|
7
|
+
* - Focus on critical behavioral constraints only
|
|
8
|
+
* - Avoid redundancy with tool-level guidance
|
|
9
|
+
*/
|
|
10
|
+
export function buildInteractiveSystemPrompt(basePrompt, profileLabel, _tools, workspaceDir) {
|
|
11
|
+
const name = profileLabel || 'Agent';
|
|
12
|
+
const workspace = workspaceDir || process.cwd();
|
|
13
|
+
const header = `You are ${name}, a coding agent in ${workspace}.`;
|
|
14
|
+
return [basePrompt.trim(), header].filter(Boolean).join('\n\n').trim();
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=systemPrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"systemPrompt.js","sourceRoot":"","sources":["../../src/shell/systemPrompt.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,UAAkB,EAClB,YAAoB,EACpB,MAAgC,EAChC,YAAqB;IAErB,MAAM,IAAI,GAAG,YAAY,IAAI,OAAO,CAAC;IACrC,MAAM,SAAS,GAAG,YAAY,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEhD,MAAM,MAAM,GAAG,WAAW,IAAI,uBAAuB,SAAS,GAAG,CAAC;IAClE,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* toolPresentation — pure formatters that turn a tool call + its result into
|
|
3
|
+
* the Claude-Code transcript shape:
|
|
4
|
+
*
|
|
5
|
+
* ⏺ Read(fibonacci.py)
|
|
6
|
+
* ⎿ Read 38 lines
|
|
7
|
+
*
|
|
8
|
+
* ⏺ Bash(python3 fibonacci.py)
|
|
9
|
+
* ⎿ 12586269025
|
|
10
|
+
*
|
|
11
|
+
* Lives under src/shell/ (not src/ui/) so the `ink-only` import guard — which
|
|
12
|
+
* forbids anything under src/ui/ except theme.ts + ink/* — stays green. These
|
|
13
|
+
* functions are pure (no chalk, no I/O) so the shape is unit-testable without a
|
|
14
|
+
* PTY, mirroring editTools.ts which already emits `⏺ Update(path)` / ` ⎿ …`.
|
|
15
|
+
*
|
|
16
|
+
* Two naming conventions reach us: the canonical PascalCase (Read/Bash/Edit)
|
|
17
|
+
* and DeepSeek's snake_case (read_file/execute_bash/write_file). Both normalise
|
|
18
|
+
* to the same display name + primary argument.
|
|
19
|
+
*/
|
|
20
|
+
/** Bullet that opens every action line (assistant prose + tool calls). */
|
|
21
|
+
export declare const ACTION_BULLET = "\u23FA";
|
|
22
|
+
/** Tree turn that opens every result line, with its two-space lead-in. */
|
|
23
|
+
export declare const RESULT_PREFIX = " \u23BF ";
|
|
24
|
+
/** Indent that aligns result continuation lines under the first result char. */
|
|
25
|
+
export declare const RESULT_CONT = " ";
|
|
26
|
+
/** Last path segment, tolerant of both `/` and `\` separators. */
|
|
27
|
+
export declare function baseName(p: string): string;
|
|
28
|
+
/** Display a path relative to cwd when it lives under it, else its basename. */
|
|
29
|
+
export declare function shortPath(p: string, cwd?: string): string;
|
|
30
|
+
/**
|
|
31
|
+
* Render a list of todos as the Claude-Code checklist body that follows
|
|
32
|
+
* `⏺ Update Todos`: one `☒`/`☐` line per task, the first carrying the `⎿`
|
|
33
|
+
* turn. Completed tasks use `☒`; pending and in-progress use `☐`. Returns
|
|
34
|
+
* null when the input isn't a usable todo array so callers can fall back.
|
|
35
|
+
*/
|
|
36
|
+
export declare function renderTodoChecklist(todos: unknown): string | null;
|
|
37
|
+
type Args = Record<string, unknown> | undefined;
|
|
38
|
+
/** `⏺ Read(fibonacci.py)` — the one-line action header for a tool call. */
|
|
39
|
+
export declare function formatToolCall(name: string, args: Args, cwd?: string): string;
|
|
40
|
+
/** The dim, present-tense label shown next to the working spinner. */
|
|
41
|
+
export declare function toolActivityLabel(name: string, args: Args, cwd?: string): string;
|
|
42
|
+
/**
|
|
43
|
+
* Build the dim ` ⎿ …` result block for a completed tool. Returns a single
|
|
44
|
+
* multi-line string (continuation lines pre-indented) ready to emit as one
|
|
45
|
+
* `tool-result` event. Long output collapses to a head with an overflow note,
|
|
46
|
+
* exactly like Claude Code's `… +N lines (ctrl+o to expand)`.
|
|
47
|
+
*/
|
|
48
|
+
export declare function formatToolResult(name: string, result: string, args: Args, opts?: {
|
|
49
|
+
maxLines?: number;
|
|
50
|
+
}): string;
|
|
51
|
+
/** Format a tool error as a red ` ⎿ Error: …` line. */
|
|
52
|
+
export declare function formatToolError(error: string): string;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=toolPresentation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolPresentation.d.ts","sourceRoot":"","sources":["../../src/shell/toolPresentation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,0EAA0E;AAC1E,eAAO,MAAM,aAAa,WAAM,CAAC;AACjC,0EAA0E;AAC1E,eAAO,MAAM,aAAa,eAAU,CAAC;AACrC,gFAAgF;AAChF,eAAO,MAAM,WAAW,UAAU,CAAC;AAOnC,kEAAkE;AAClE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAI1C;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAOzD;AA4CD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAgBjE;AAED,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;AAmFhD,2EAA2E;AAC3E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAI7E;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAiBhF;AAuBD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,IAAI,GAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAO,GAC/B,MAAM,CA4DR;AAED,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIrD"}
|