@trenchwork/erosolar 1.1.28 → 1.1.30
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/README.md +1 -1
- package/SECURITY.md +35 -0
- package/dist/contracts/agent-schemas.json +1 -1
- package/package.json +1 -1
- package/dist/bin/cliMode.d.ts +0 -8
- package/dist/bin/cliMode.d.ts.map +0 -1
- package/dist/bin/cliMode.js +0 -20
- package/dist/bin/cliMode.js.map +0 -1
- package/dist/bin/deepseek.d.ts +0 -3
- package/dist/bin/deepseek.d.ts.map +0 -1
- package/dist/bin/deepseek.js +0 -307
- package/dist/bin/deepseek.js.map +0 -1
- package/dist/bin/erosolar.d.ts +0 -7
- package/dist/bin/erosolar.d.ts.map +0 -1
- package/dist/bin/erosolar.js +0 -7
- package/dist/bin/erosolar.js.map +0 -1
- package/dist/bin/selfTest.d.ts +0 -14
- package/dist/bin/selfTest.d.ts.map +0 -1
- package/dist/bin/selfTest.js +0 -298
- package/dist/bin/selfTest.js.map +0 -1
- package/dist/capabilities/_processRunner.d.ts +0 -17
- package/dist/capabilities/_processRunner.d.ts.map +0 -1
- package/dist/capabilities/_processRunner.js +0 -74
- package/dist/capabilities/_processRunner.js.map +0 -1
- package/dist/capabilities/aflppCapability.d.ts +0 -7
- package/dist/capabilities/aflppCapability.d.ts.map +0 -1
- package/dist/capabilities/aflppCapability.js +0 -301
- package/dist/capabilities/aflppCapability.js.map +0 -1
- package/dist/capabilities/baseCapability.d.ts +0 -72
- package/dist/capabilities/baseCapability.d.ts.map +0 -1
- package/dist/capabilities/baseCapability.js +0 -183
- package/dist/capabilities/baseCapability.js.map +0 -1
- package/dist/capabilities/bashCapability.d.ts +0 -13
- package/dist/capabilities/bashCapability.d.ts.map +0 -1
- package/dist/capabilities/bashCapability.js +0 -24
- package/dist/capabilities/bashCapability.js.map +0 -1
- package/dist/capabilities/binaryAnalysisCapability.d.ts +0 -7
- package/dist/capabilities/binaryAnalysisCapability.d.ts.map +0 -1
- package/dist/capabilities/binaryAnalysisCapability.js +0 -201
- package/dist/capabilities/binaryAnalysisCapability.js.map +0 -1
- package/dist/capabilities/editCapability.d.ts +0 -17
- package/dist/capabilities/editCapability.d.ts.map +0 -1
- package/dist/capabilities/editCapability.js +0 -27
- package/dist/capabilities/editCapability.js.map +0 -1
- package/dist/capabilities/enhancedGitCapability.d.ts +0 -7
- package/dist/capabilities/enhancedGitCapability.d.ts.map +0 -1
- package/dist/capabilities/enhancedGitCapability.js +0 -220
- package/dist/capabilities/enhancedGitCapability.js.map +0 -1
- package/dist/capabilities/filesystemCapability.d.ts +0 -13
- package/dist/capabilities/filesystemCapability.d.ts.map +0 -1
- package/dist/capabilities/filesystemCapability.js +0 -24
- package/dist/capabilities/filesystemCapability.js.map +0 -1
- package/dist/capabilities/gdbCapability.d.ts +0 -7
- package/dist/capabilities/gdbCapability.d.ts.map +0 -1
- package/dist/capabilities/gdbCapability.js +0 -125
- package/dist/capabilities/gdbCapability.js.map +0 -1
- package/dist/capabilities/ghidraHeadlessCapability.d.ts +0 -25
- package/dist/capabilities/ghidraHeadlessCapability.d.ts.map +0 -1
- package/dist/capabilities/ghidraHeadlessCapability.js +0 -593
- package/dist/capabilities/ghidraHeadlessCapability.js.map +0 -1
- package/dist/capabilities/gitHistoryCapability.d.ts +0 -6
- package/dist/capabilities/gitHistoryCapability.d.ts.map +0 -1
- package/dist/capabilities/gitHistoryCapability.js +0 -184
- package/dist/capabilities/gitHistoryCapability.js.map +0 -1
- package/dist/capabilities/hitlCapability.d.ts +0 -18
- package/dist/capabilities/hitlCapability.d.ts.map +0 -1
- package/dist/capabilities/hitlCapability.js +0 -29
- package/dist/capabilities/hitlCapability.js.map +0 -1
- package/dist/capabilities/index.d.ts +0 -18
- package/dist/capabilities/index.d.ts.map +0 -1
- package/dist/capabilities/index.js +0 -23
- package/dist/capabilities/index.js.map +0 -1
- package/dist/capabilities/kaliCapability.d.ts +0 -14
- package/dist/capabilities/kaliCapability.d.ts.map +0 -1
- package/dist/capabilities/kaliCapability.js +0 -478
- package/dist/capabilities/kaliCapability.js.map +0 -1
- package/dist/capabilities/mcpCapability.d.ts +0 -7
- package/dist/capabilities/mcpCapability.d.ts.map +0 -1
- package/dist/capabilities/mcpCapability.js +0 -80
- package/dist/capabilities/mcpCapability.js.map +0 -1
- package/dist/capabilities/memoryCapability.d.ts +0 -10
- package/dist/capabilities/memoryCapability.d.ts.map +0 -1
- package/dist/capabilities/memoryCapability.js +0 -22
- package/dist/capabilities/memoryCapability.js.map +0 -1
- package/dist/capabilities/notebookCapability.d.ts +0 -6
- package/dist/capabilities/notebookCapability.d.ts.map +0 -1
- package/dist/capabilities/notebookCapability.js +0 -17
- package/dist/capabilities/notebookCapability.js.map +0 -1
- package/dist/capabilities/pwntoolsCapability.d.ts +0 -7
- package/dist/capabilities/pwntoolsCapability.d.ts.map +0 -1
- package/dist/capabilities/pwntoolsCapability.js +0 -109
- package/dist/capabilities/pwntoolsCapability.js.map +0 -1
- package/dist/capabilities/searchCapability.d.ts +0 -19
- package/dist/capabilities/searchCapability.d.ts.map +0 -1
- package/dist/capabilities/searchCapability.js +0 -29
- package/dist/capabilities/searchCapability.js.map +0 -1
- package/dist/capabilities/skillCapability.d.ts +0 -6
- package/dist/capabilities/skillCapability.d.ts.map +0 -1
- package/dist/capabilities/skillCapability.js +0 -17
- package/dist/capabilities/skillCapability.js.map +0 -1
- package/dist/capabilities/todoCapability.d.ts +0 -11
- package/dist/capabilities/todoCapability.d.ts.map +0 -1
- package/dist/capabilities/todoCapability.js +0 -22
- package/dist/capabilities/todoCapability.js.map +0 -1
- package/dist/capabilities/toolManifest.d.ts +0 -3
- package/dist/capabilities/toolManifest.d.ts.map +0 -1
- package/dist/capabilities/toolManifest.js +0 -163
- package/dist/capabilities/toolManifest.js.map +0 -1
- package/dist/capabilities/toolRegistry.d.ts +0 -25
- package/dist/capabilities/toolRegistry.d.ts.map +0 -1
- package/dist/capabilities/toolRegistry.js +0 -150
- package/dist/capabilities/toolRegistry.js.map +0 -1
- package/dist/capabilities/unifiedCodingCapability.d.ts +0 -62
- package/dist/capabilities/unifiedCodingCapability.d.ts.map +0 -1
- package/dist/capabilities/unifiedCodingCapability.js +0 -788
- package/dist/capabilities/unifiedCodingCapability.js.map +0 -1
- package/dist/capabilities/webCapability.d.ts +0 -23
- package/dist/capabilities/webCapability.d.ts.map +0 -1
- package/dist/capabilities/webCapability.js +0 -33
- package/dist/capabilities/webCapability.js.map +0 -1
- package/dist/config.d.ts +0 -25
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -155
- package/dist/config.js.map +0 -1
- package/dist/contracts/v1/agent.d.ts +0 -179
- package/dist/contracts/v1/agent.d.ts.map +0 -1
- package/dist/contracts/v1/agent.js +0 -8
- package/dist/contracts/v1/agent.js.map +0 -1
- package/dist/contracts/v1/agentProfileManifest.d.ts +0 -60
- package/dist/contracts/v1/agentProfileManifest.d.ts.map +0 -1
- package/dist/contracts/v1/agentProfileManifest.js +0 -9
- package/dist/contracts/v1/agentProfileManifest.js.map +0 -1
- package/dist/contracts/v1/agentRules.d.ts +0 -60
- package/dist/contracts/v1/agentRules.d.ts.map +0 -1
- package/dist/contracts/v1/agentRules.js +0 -10
- package/dist/contracts/v1/agentRules.js.map +0 -1
- package/dist/contracts/v1/provider.d.ts +0 -149
- package/dist/contracts/v1/provider.d.ts.map +0 -1
- package/dist/contracts/v1/provider.js +0 -7
- package/dist/contracts/v1/provider.js.map +0 -1
- package/dist/contracts/v1/tool.d.ts +0 -136
- package/dist/contracts/v1/tool.d.ts.map +0 -1
- package/dist/contracts/v1/tool.js +0 -7
- package/dist/contracts/v1/tool.js.map +0 -1
- package/dist/contracts/v1/toolAccess.d.ts +0 -43
- package/dist/contracts/v1/toolAccess.d.ts.map +0 -1
- package/dist/contracts/v1/toolAccess.js +0 -9
- package/dist/contracts/v1/toolAccess.js.map +0 -1
- package/dist/core/agent.d.ts +0 -320
- package/dist/core/agent.d.ts.map +0 -1
- package/dist/core/agent.js +0 -1627
- package/dist/core/agent.js.map +0 -1
- package/dist/core/agentProfileManifest.d.ts +0 -3
- package/dist/core/agentProfileManifest.d.ts.map +0 -1
- package/dist/core/agentProfileManifest.js +0 -188
- package/dist/core/agentProfileManifest.js.map +0 -1
- package/dist/core/agentProfiles.d.ts +0 -22
- package/dist/core/agentProfiles.d.ts.map +0 -1
- package/dist/core/agentProfiles.js +0 -35
- package/dist/core/agentProfiles.js.map +0 -1
- package/dist/core/agentRegistry.d.ts +0 -111
- package/dist/core/agentRegistry.d.ts.map +0 -1
- package/dist/core/agentRegistry.js +0 -229
- package/dist/core/agentRegistry.js.map +0 -1
- package/dist/core/agentRulebook.d.ts +0 -11
- package/dist/core/agentRulebook.d.ts.map +0 -1
- package/dist/core/agentRulebook.js +0 -136
- package/dist/core/agentRulebook.js.map +0 -1
- package/dist/core/agentSchemaLoader.d.ts +0 -131
- package/dist/core/agentSchemaLoader.d.ts.map +0 -1
- package/dist/core/agentSchemaLoader.js +0 -235
- package/dist/core/agentSchemaLoader.js.map +0 -1
- package/dist/core/aiErrorFixer.d.ts +0 -57
- package/dist/core/aiErrorFixer.d.ts.map +0 -1
- package/dist/core/aiErrorFixer.js +0 -214
- package/dist/core/aiErrorFixer.js.map +0 -1
- package/dist/core/artifactStore.d.ts +0 -35
- package/dist/core/artifactStore.d.ts.map +0 -1
- package/dist/core/artifactStore.js +0 -105
- package/dist/core/artifactStore.js.map +0 -1
- package/dist/core/auth.d.ts +0 -15
- package/dist/core/auth.d.ts.map +0 -1
- package/dist/core/auth.js +0 -291
- package/dist/core/auth.js.map +0 -1
- package/dist/core/bashCommandGuidance.d.ts +0 -16
- package/dist/core/bashCommandGuidance.d.ts.map +0 -1
- package/dist/core/bashCommandGuidance.js +0 -40
- package/dist/core/bashCommandGuidance.js.map +0 -1
- package/dist/core/constants.d.ts +0 -31
- package/dist/core/constants.d.ts.map +0 -1
- package/dist/core/constants.js +0 -62
- package/dist/core/constants.js.map +0 -1
- package/dist/core/contextManager.d.ts +0 -271
- package/dist/core/contextManager.d.ts.map +0 -1
- package/dist/core/contextManager.js +0 -1073
- package/dist/core/contextManager.js.map +0 -1
- package/dist/core/contextWindow.d.ts +0 -42
- package/dist/core/contextWindow.d.ts.map +0 -1
- package/dist/core/contextWindow.js +0 -123
- package/dist/core/contextWindow.js.map +0 -1
- package/dist/core/customCommands.d.ts +0 -19
- package/dist/core/customCommands.d.ts.map +0 -1
- package/dist/core/customCommands.js +0 -85
- package/dist/core/customCommands.js.map +0 -1
- package/dist/core/errors/apiKeyErrors.d.ts +0 -11
- package/dist/core/errors/apiKeyErrors.d.ts.map +0 -1
- package/dist/core/errors/apiKeyErrors.js +0 -159
- package/dist/core/errors/apiKeyErrors.js.map +0 -1
- package/dist/core/errors/errorTypes.d.ts +0 -111
- package/dist/core/errors/errorTypes.d.ts.map +0 -1
- package/dist/core/errors/errorTypes.js +0 -345
- package/dist/core/errors/errorTypes.js.map +0 -1
- package/dist/core/errors/index.d.ts +0 -50
- package/dist/core/errors/index.d.ts.map +0 -1
- package/dist/core/errors/index.js +0 -156
- package/dist/core/errors/index.js.map +0 -1
- package/dist/core/errors/networkErrors.d.ts +0 -14
- package/dist/core/errors/networkErrors.d.ts.map +0 -1
- package/dist/core/errors/networkErrors.js +0 -53
- package/dist/core/errors/networkErrors.js.map +0 -1
- package/dist/core/errors/safetyValidator.d.ts +0 -109
- package/dist/core/errors/safetyValidator.d.ts.map +0 -1
- package/dist/core/errors/safetyValidator.js +0 -271
- package/dist/core/errors/safetyValidator.js.map +0 -1
- package/dist/core/errors.d.ts +0 -4
- package/dist/core/errors.d.ts.map +0 -1
- package/dist/core/errors.js +0 -33
- package/dist/core/errors.js.map +0 -1
- package/dist/core/finalResponseFormatter.d.ts +0 -10
- package/dist/core/finalResponseFormatter.d.ts.map +0 -1
- package/dist/core/finalResponseFormatter.js +0 -14
- package/dist/core/finalResponseFormatter.js.map +0 -1
- package/dist/core/guardrails.d.ts +0 -146
- package/dist/core/guardrails.d.ts.map +0 -1
- package/dist/core/guardrails.js +0 -361
- package/dist/core/guardrails.js.map +0 -1
- package/dist/core/hitl.d.ts +0 -119
- package/dist/core/hitl.d.ts.map +0 -1
- package/dist/core/hitl.js +0 -387
- package/dist/core/hitl.js.map +0 -1
- package/dist/core/hooks.d.ts +0 -95
- package/dist/core/hooks.d.ts.map +0 -1
- package/dist/core/hooks.js +0 -239
- package/dist/core/hooks.js.map +0 -1
- package/dist/core/index.d.ts +0 -7
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -7
- package/dist/core/index.js.map +0 -1
- package/dist/core/inputProtection.d.ts +0 -122
- package/dist/core/inputProtection.d.ts.map +0 -1
- package/dist/core/inputProtection.js +0 -422
- package/dist/core/inputProtection.js.map +0 -1
- package/dist/core/modelDiscovery.d.ts +0 -105
- package/dist/core/modelDiscovery.d.ts.map +0 -1
- package/dist/core/modelDiscovery.js +0 -768
- package/dist/core/modelDiscovery.js.map +0 -1
- package/dist/core/multilinePasteHandler.d.ts +0 -35
- package/dist/core/multilinePasteHandler.d.ts.map +0 -1
- package/dist/core/multilinePasteHandler.js +0 -81
- package/dist/core/multilinePasteHandler.js.map +0 -1
- package/dist/core/preferences.d.ts +0 -65
- package/dist/core/preferences.d.ts.map +0 -1
- package/dist/core/preferences.js +0 -305
- package/dist/core/preferences.js.map +0 -1
- package/dist/core/providerKeys.d.ts +0 -20
- package/dist/core/providerKeys.d.ts.map +0 -1
- package/dist/core/providerKeys.js +0 -40
- package/dist/core/providerKeys.js.map +0 -1
- package/dist/core/refusalDetection.d.ts +0 -2
- package/dist/core/refusalDetection.d.ts.map +0 -1
- package/dist/core/refusalDetection.js +0 -51
- package/dist/core/refusalDetection.js.map +0 -1
- package/dist/core/resultVerification.d.ts +0 -47
- package/dist/core/resultVerification.d.ts.map +0 -1
- package/dist/core/resultVerification.js +0 -126
- package/dist/core/resultVerification.js.map +0 -1
- package/dist/core/reviewerGuard.d.ts +0 -37
- package/dist/core/reviewerGuard.d.ts.map +0 -1
- package/dist/core/reviewerGuard.js +0 -188
- package/dist/core/reviewerGuard.js.map +0 -1
- package/dist/core/schemaValidator.d.ts +0 -49
- package/dist/core/schemaValidator.d.ts.map +0 -1
- package/dist/core/schemaValidator.js +0 -234
- package/dist/core/schemaValidator.js.map +0 -1
- package/dist/core/secretStore.d.ts +0 -48
- package/dist/core/secretStore.d.ts.map +0 -1
- package/dist/core/secretStore.js +0 -259
- package/dist/core/secretStore.js.map +0 -1
- package/dist/core/sessionStorage.d.ts +0 -10
- package/dist/core/sessionStorage.d.ts.map +0 -1
- package/dist/core/sessionStorage.js +0 -46
- package/dist/core/sessionStorage.js.map +0 -1
- package/dist/core/sessionStore.d.ts +0 -35
- package/dist/core/sessionStore.d.ts.map +0 -1
- package/dist/core/sessionStore.js +0 -191
- package/dist/core/sessionStore.js.map +0 -1
- package/dist/core/sharedSecrets.d.ts +0 -60
- package/dist/core/sharedSecrets.d.ts.map +0 -1
- package/dist/core/sharedSecrets.js +0 -111
- package/dist/core/sharedSecrets.js.map +0 -1
- package/dist/core/shutdown.d.ts +0 -34
- package/dist/core/shutdown.d.ts.map +0 -1
- package/dist/core/shutdown.js +0 -186
- package/dist/core/shutdown.js.map +0 -1
- package/dist/core/sudoPasswordManager.d.ts +0 -52
- package/dist/core/sudoPasswordManager.d.ts.map +0 -1
- package/dist/core/sudoPasswordManager.js +0 -115
- package/dist/core/sudoPasswordManager.js.map +0 -1
- package/dist/core/taskCompletionDetector.d.ts +0 -117
- package/dist/core/taskCompletionDetector.d.ts.map +0 -1
- package/dist/core/taskCompletionDetector.js +0 -532
- package/dist/core/taskCompletionDetector.js.map +0 -1
- package/dist/core/testFailureMonitor.d.ts +0 -67
- package/dist/core/testFailureMonitor.d.ts.map +0 -1
- package/dist/core/testFailureMonitor.js +0 -262
- package/dist/core/testFailureMonitor.js.map +0 -1
- package/dist/core/toolPreconditions.d.ts +0 -34
- package/dist/core/toolPreconditions.d.ts.map +0 -1
- package/dist/core/toolPreconditions.js +0 -242
- package/dist/core/toolPreconditions.js.map +0 -1
- package/dist/core/toolRuntime.d.ts +0 -192
- package/dist/core/toolRuntime.d.ts.map +0 -1
- package/dist/core/toolRuntime.js +0 -511
- package/dist/core/toolRuntime.js.map +0 -1
- package/dist/core/types/utilityTypes.d.ts +0 -183
- package/dist/core/types/utilityTypes.d.ts.map +0 -1
- package/dist/core/types/utilityTypes.js +0 -273
- package/dist/core/types/utilityTypes.js.map +0 -1
- package/dist/core/types.d.ts +0 -334
- package/dist/core/types.d.ts.map +0 -1
- package/dist/core/types.js +0 -76
- package/dist/core/types.js.map +0 -1
- package/dist/core/updateChecker.d.ts +0 -148
- package/dist/core/updateChecker.d.ts.map +0 -1
- package/dist/core/updateChecker.js +0 -599
- package/dist/core/updateChecker.js.map +0 -1
- package/dist/core/usageTracker.d.ts +0 -11
- package/dist/core/usageTracker.d.ts.map +0 -1
- package/dist/core/usageTracker.js +0 -128
- package/dist/core/usageTracker.js.map +0 -1
- package/dist/core/userApproval.d.ts +0 -95
- package/dist/core/userApproval.d.ts.map +0 -1
- package/dist/core/userApproval.js +0 -239
- package/dist/core/userApproval.js.map +0 -1
- package/dist/headless/interactiveShell.d.ts +0 -22
- package/dist/headless/interactiveShell.d.ts.map +0 -1
- package/dist/headless/interactiveShell.js +0 -2121
- package/dist/headless/interactiveShell.js.map +0 -1
- package/dist/leanAgent.d.ts +0 -73
- package/dist/leanAgent.d.ts.map +0 -1
- package/dist/leanAgent.js +0 -177
- package/dist/leanAgent.js.map +0 -1
- package/dist/plugins/index.d.ts +0 -49
- package/dist/plugins/index.d.ts.map +0 -1
- package/dist/plugins/index.js +0 -104
- package/dist/plugins/index.js.map +0 -1
- package/dist/plugins/providers/anthropic/index.d.ts +0 -9
- package/dist/plugins/providers/anthropic/index.d.ts.map +0 -1
- package/dist/plugins/providers/anthropic/index.js +0 -48
- package/dist/plugins/providers/anthropic/index.js.map +0 -1
- package/dist/plugins/providers/deepseek/index.d.ts +0 -11
- package/dist/plugins/providers/deepseek/index.d.ts.map +0 -1
- package/dist/plugins/providers/deepseek/index.js +0 -54
- package/dist/plugins/providers/deepseek/index.js.map +0 -1
- package/dist/plugins/providers/index.d.ts +0 -2
- package/dist/plugins/providers/index.d.ts.map +0 -1
- package/dist/plugins/providers/index.js +0 -17
- package/dist/plugins/providers/index.js.map +0 -1
- package/dist/plugins/providers/openai/index.d.ts +0 -10
- package/dist/plugins/providers/openai/index.d.ts.map +0 -1
- package/dist/plugins/providers/openai/index.js +0 -47
- package/dist/plugins/providers/openai/index.js.map +0 -1
- package/dist/plugins/providers/xai/index.d.ts +0 -10
- package/dist/plugins/providers/xai/index.d.ts.map +0 -1
- package/dist/plugins/providers/xai/index.js +0 -47
- package/dist/plugins/providers/xai/index.js.map +0 -1
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts +0 -10
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js +0 -110
- package/dist/plugins/tools/agentSpawning/agentSpawningPlugin.js.map +0 -1
- package/dist/plugins/tools/bash/localBashPlugin.d.ts +0 -3
- package/dist/plugins/tools/bash/localBashPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/bash/localBashPlugin.js +0 -14
- package/dist/plugins/tools/bash/localBashPlugin.js.map +0 -1
- package/dist/plugins/tools/edit/editPlugin.d.ts +0 -9
- package/dist/plugins/tools/edit/editPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/edit/editPlugin.js +0 -15
- package/dist/plugins/tools/edit/editPlugin.js.map +0 -1
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts +0 -3
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js +0 -9
- package/dist/plugins/tools/enhancedGit/enhancedGitPlugin.js.map +0 -1
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts +0 -3
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.js +0 -14
- package/dist/plugins/tools/filesystem/localFilesystemPlugin.js.map +0 -1
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts +0 -3
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js +0 -9
- package/dist/plugins/tools/gitHistory/gitHistoryPlugin.js.map +0 -1
- package/dist/plugins/tools/index.d.ts +0 -3
- package/dist/plugins/tools/index.d.ts.map +0 -1
- package/dist/plugins/tools/index.js +0 -3
- package/dist/plugins/tools/index.js.map +0 -1
- package/dist/plugins/tools/integrity/integrityPlugin.d.ts +0 -3
- package/dist/plugins/tools/integrity/integrityPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/integrity/integrityPlugin.js +0 -31
- package/dist/plugins/tools/integrity/integrityPlugin.js.map +0 -1
- package/dist/plugins/tools/kali/kaliPlugin.d.ts +0 -3
- package/dist/plugins/tools/kali/kaliPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/kali/kaliPlugin.js +0 -10
- package/dist/plugins/tools/kali/kaliPlugin.js.map +0 -1
- package/dist/plugins/tools/mcp/mcpClient.d.ts +0 -49
- package/dist/plugins/tools/mcp/mcpClient.d.ts.map +0 -1
- package/dist/plugins/tools/mcp/mcpClient.js +0 -112
- package/dist/plugins/tools/mcp/mcpClient.js.map +0 -1
- package/dist/plugins/tools/mcp/mcpPlugin.d.ts +0 -3
- package/dist/plugins/tools/mcp/mcpPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/mcp/mcpPlugin.js +0 -10
- package/dist/plugins/tools/mcp/mcpPlugin.js.map +0 -1
- package/dist/plugins/tools/nodeDefaults.d.ts +0 -13
- package/dist/plugins/tools/nodeDefaults.d.ts.map +0 -1
- package/dist/plugins/tools/nodeDefaults.js +0 -37
- package/dist/plugins/tools/nodeDefaults.js.map +0 -1
- package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts +0 -3
- package/dist/plugins/tools/orchestration/orchestrationPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/orchestration/orchestrationPlugin.js +0 -340
- package/dist/plugins/tools/orchestration/orchestrationPlugin.js.map +0 -1
- package/dist/plugins/tools/registry.d.ts +0 -22
- package/dist/plugins/tools/registry.d.ts.map +0 -1
- package/dist/plugins/tools/registry.js +0 -58
- package/dist/plugins/tools/registry.js.map +0 -1
- package/dist/plugins/tools/search/localSearchPlugin.d.ts +0 -3
- package/dist/plugins/tools/search/localSearchPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/search/localSearchPlugin.js +0 -14
- package/dist/plugins/tools/search/localSearchPlugin.js.map +0 -1
- package/dist/plugins/tools/skills/skillPlugin.d.ts +0 -3
- package/dist/plugins/tools/skills/skillPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/skills/skillPlugin.js +0 -27
- package/dist/plugins/tools/skills/skillPlugin.js.map +0 -1
- package/dist/plugins/tools/todo/todoPlugin.d.ts +0 -3
- package/dist/plugins/tools/todo/todoPlugin.d.ts.map +0 -1
- package/dist/plugins/tools/todo/todoPlugin.js +0 -10
- package/dist/plugins/tools/todo/todoPlugin.js.map +0 -1
- package/dist/providers/baseProvider.d.ts +0 -148
- package/dist/providers/baseProvider.d.ts.map +0 -1
- package/dist/providers/baseProvider.js +0 -284
- package/dist/providers/baseProvider.js.map +0 -1
- package/dist/providers/openaiChatCompletionsProvider.d.ts +0 -64
- package/dist/providers/openaiChatCompletionsProvider.d.ts.map +0 -1
- package/dist/providers/openaiChatCompletionsProvider.js +0 -1018
- package/dist/providers/openaiChatCompletionsProvider.js.map +0 -1
- package/dist/providers/providerFactory.d.ts +0 -22
- package/dist/providers/providerFactory.d.ts.map +0 -1
- package/dist/providers/providerFactory.js +0 -25
- package/dist/providers/providerFactory.js.map +0 -1
- package/dist/providers/resilientProvider.d.ts +0 -103
- package/dist/providers/resilientProvider.d.ts.map +0 -1
- package/dist/providers/resilientProvider.js +0 -468
- package/dist/providers/resilientProvider.js.map +0 -1
- package/dist/runtime/agentController.d.ts +0 -121
- package/dist/runtime/agentController.d.ts.map +0 -1
- package/dist/runtime/agentController.js +0 -739
- package/dist/runtime/agentController.js.map +0 -1
- package/dist/runtime/agentHost.d.ts +0 -61
- package/dist/runtime/agentHost.d.ts.map +0 -1
- package/dist/runtime/agentHost.js +0 -158
- package/dist/runtime/agentHost.js.map +0 -1
- package/dist/runtime/agentSession.d.ts +0 -49
- package/dist/runtime/agentSession.d.ts.map +0 -1
- package/dist/runtime/agentSession.js +0 -218
- package/dist/runtime/agentSession.js.map +0 -1
- package/dist/runtime/agentSpawningWiring.d.ts +0 -23
- package/dist/runtime/agentSpawningWiring.d.ts.map +0 -1
- package/dist/runtime/agentSpawningWiring.js +0 -119
- package/dist/runtime/agentSpawningWiring.js.map +0 -1
- package/dist/runtime/agentWorkerPool.d.ts +0 -167
- package/dist/runtime/agentWorkerPool.d.ts.map +0 -1
- package/dist/runtime/agentWorkerPool.js +0 -435
- package/dist/runtime/agentWorkerPool.js.map +0 -1
- package/dist/runtime/node.d.ts +0 -7
- package/dist/runtime/node.d.ts.map +0 -1
- package/dist/runtime/node.js +0 -56
- package/dist/runtime/node.js.map +0 -1
- package/dist/runtime/universal.d.ts +0 -18
- package/dist/runtime/universal.d.ts.map +0 -1
- package/dist/runtime/universal.js +0 -21
- package/dist/runtime/universal.js.map +0 -1
- package/dist/shell/autoExecutor.d.ts +0 -70
- package/dist/shell/autoExecutor.d.ts.map +0 -1
- package/dist/shell/autoExecutor.js +0 -320
- package/dist/shell/autoExecutor.js.map +0 -1
- package/dist/shell/commandRegistry.d.ts +0 -122
- package/dist/shell/commandRegistry.d.ts.map +0 -1
- package/dist/shell/commandRegistry.js +0 -355
- package/dist/shell/commandRegistry.js.map +0 -1
- package/dist/shell/composableMessage.d.ts +0 -178
- package/dist/shell/composableMessage.d.ts.map +0 -1
- package/dist/shell/composableMessage.js +0 -384
- package/dist/shell/composableMessage.js.map +0 -1
- package/dist/shell/liveStatus.d.ts +0 -27
- package/dist/shell/liveStatus.d.ts.map +0 -1
- package/dist/shell/liveStatus.js +0 -53
- package/dist/shell/liveStatus.js.map +0 -1
- package/dist/shell/systemPrompt.d.ts +0 -12
- package/dist/shell/systemPrompt.d.ts.map +0 -1
- package/dist/shell/systemPrompt.js +0 -16
- package/dist/shell/systemPrompt.js.map +0 -1
- package/dist/shell/vimMode.d.ts +0 -66
- package/dist/shell/vimMode.d.ts.map +0 -1
- package/dist/shell/vimMode.js +0 -435
- package/dist/shell/vimMode.js.map +0 -1
- package/dist/tools/bashTools.d.ts +0 -11
- package/dist/tools/bashTools.d.ts.map +0 -1
- package/dist/tools/bashTools.js +0 -779
- package/dist/tools/bashTools.js.map +0 -1
- package/dist/tools/diffUtils.d.ts +0 -43
- package/dist/tools/diffUtils.d.ts.map +0 -1
- package/dist/tools/diffUtils.js +0 -607
- package/dist/tools/diffUtils.js.map +0 -1
- package/dist/tools/editTools.d.ts +0 -29
- package/dist/tools/editTools.d.ts.map +0 -1
- package/dist/tools/editTools.js +0 -792
- package/dist/tools/editTools.js.map +0 -1
- package/dist/tools/fileChangeTracker.d.ts +0 -47
- package/dist/tools/fileChangeTracker.d.ts.map +0 -1
- package/dist/tools/fileChangeTracker.js +0 -154
- package/dist/tools/fileChangeTracker.js.map +0 -1
- package/dist/tools/fileReadTracker.d.ts +0 -69
- package/dist/tools/fileReadTracker.d.ts.map +0 -1
- package/dist/tools/fileReadTracker.js +0 -213
- package/dist/tools/fileReadTracker.js.map +0 -1
- package/dist/tools/fileTools.d.ts +0 -3
- package/dist/tools/fileTools.d.ts.map +0 -1
- package/dist/tools/fileTools.js +0 -389
- package/dist/tools/fileTools.js.map +0 -1
- package/dist/tools/grepTools.d.ts +0 -3
- package/dist/tools/grepTools.d.ts.map +0 -1
- package/dist/tools/grepTools.js +0 -128
- package/dist/tools/grepTools.js.map +0 -1
- package/dist/tools/heliaControl.d.ts +0 -51
- package/dist/tools/heliaControl.d.ts.map +0 -1
- package/dist/tools/heliaControl.js +0 -93
- package/dist/tools/heliaControl.js.map +0 -1
- package/dist/tools/hitlTools.d.ts +0 -7
- package/dist/tools/hitlTools.d.ts.map +0 -1
- package/dist/tools/hitlTools.js +0 -185
- package/dist/tools/hitlTools.js.map +0 -1
- package/dist/tools/localExplore.d.ts +0 -38
- package/dist/tools/localExplore.d.ts.map +0 -1
- package/dist/tools/localExplore.js +0 -30
- package/dist/tools/localExplore.js.map +0 -1
- package/dist/tools/memoryTools.d.ts +0 -20
- package/dist/tools/memoryTools.d.ts.map +0 -1
- package/dist/tools/memoryTools.js +0 -180
- package/dist/tools/memoryTools.js.map +0 -1
- package/dist/tools/notebookTools.d.ts +0 -20
- package/dist/tools/notebookTools.d.ts.map +0 -1
- package/dist/tools/notebookTools.js +0 -140
- package/dist/tools/notebookTools.js.map +0 -1
- package/dist/tools/searchTools.d.ts +0 -12
- package/dist/tools/searchTools.d.ts.map +0 -1
- package/dist/tools/searchTools.js +0 -413
- package/dist/tools/searchTools.js.map +0 -1
- package/dist/tools/skillTools.d.ts +0 -24
- package/dist/tools/skillTools.d.ts.map +0 -1
- package/dist/tools/skillTools.js +0 -140
- package/dist/tools/skillTools.js.map +0 -1
- package/dist/tools/todoTools.d.ts +0 -24
- package/dist/tools/todoTools.d.ts.map +0 -1
- package/dist/tools/todoTools.js +0 -101
- package/dist/tools/todoTools.js.map +0 -1
- package/dist/tools/webTools.d.ts +0 -26
- package/dist/tools/webTools.d.ts.map +0 -1
- package/dist/tools/webTools.js +0 -332
- package/dist/tools/webTools.js.map +0 -1
- package/dist/ui/RenderGate.d.ts +0 -83
- package/dist/ui/RenderGate.d.ts.map +0 -1
- package/dist/ui/RenderGate.js +0 -138
- package/dist/ui/RenderGate.js.map +0 -1
- package/dist/ui/animatedStatus.d.ts +0 -140
- package/dist/ui/animatedStatus.d.ts.map +0 -1
- package/dist/ui/animatedStatus.js +0 -480
- package/dist/ui/animatedStatus.js.map +0 -1
- package/dist/ui/animation/AnimationScheduler.d.ts +0 -197
- package/dist/ui/animation/AnimationScheduler.d.ts.map +0 -1
- package/dist/ui/animation/AnimationScheduler.js +0 -440
- package/dist/ui/animation/AnimationScheduler.js.map +0 -1
- package/dist/ui/codeHighlighter.d.ts +0 -6
- package/dist/ui/codeHighlighter.d.ts.map +0 -1
- package/dist/ui/codeHighlighter.js +0 -855
- package/dist/ui/codeHighlighter.js.map +0 -1
- package/dist/ui/designSystem.d.ts +0 -26
- package/dist/ui/designSystem.d.ts.map +0 -1
- package/dist/ui/designSystem.js +0 -114
- package/dist/ui/designSystem.js.map +0 -1
- package/dist/ui/errorFormatter.d.ts +0 -64
- package/dist/ui/errorFormatter.d.ts.map +0 -1
- package/dist/ui/errorFormatter.js +0 -316
- package/dist/ui/errorFormatter.js.map +0 -1
- package/dist/ui/globalWriteLock.d.ts +0 -63
- package/dist/ui/globalWriteLock.d.ts.map +0 -1
- package/dist/ui/globalWriteLock.js +0 -173
- package/dist/ui/globalWriteLock.js.map +0 -1
- package/dist/ui/index.d.ts +0 -31
- package/dist/ui/index.d.ts.map +0 -1
- package/dist/ui/index.js +0 -49
- package/dist/ui/index.js.map +0 -1
- package/dist/ui/ink/App.d.ts +0 -39
- package/dist/ui/ink/App.d.ts.map +0 -1
- package/dist/ui/ink/App.js +0 -18
- package/dist/ui/ink/App.js.map +0 -1
- package/dist/ui/ink/ChatStatic.d.ts +0 -29
- package/dist/ui/ink/ChatStatic.d.ts.map +0 -1
- package/dist/ui/ink/ChatStatic.js +0 -30
- package/dist/ui/ink/ChatStatic.js.map +0 -1
- package/dist/ui/ink/InkPromptController.d.ts +0 -286
- package/dist/ui/ink/InkPromptController.d.ts.map +0 -1
- package/dist/ui/ink/InkPromptController.js +0 -558
- package/dist/ui/ink/InkPromptController.js.map +0 -1
- package/dist/ui/ink/Prompt.d.ts +0 -36
- package/dist/ui/ink/Prompt.d.ts.map +0 -1
- package/dist/ui/ink/Prompt.js +0 -296
- package/dist/ui/ink/Prompt.js.map +0 -1
- package/dist/ui/ink/StatusLine.d.ts +0 -25
- package/dist/ui/ink/StatusLine.d.ts.map +0 -1
- package/dist/ui/ink/StatusLine.js +0 -11
- package/dist/ui/ink/StatusLine.js.map +0 -1
- package/dist/ui/ink/adapter.d.ts +0 -58
- package/dist/ui/ink/adapter.d.ts.map +0 -1
- package/dist/ui/ink/adapter.js +0 -113
- package/dist/ui/ink/adapter.js.map +0 -1
- package/dist/ui/interrupts/InterruptManager.d.ts +0 -157
- package/dist/ui/interrupts/InterruptManager.d.ts.map +0 -1
- package/dist/ui/interrupts/InterruptManager.js +0 -501
- package/dist/ui/interrupts/InterruptManager.js.map +0 -1
- package/dist/ui/layout.d.ts +0 -27
- package/dist/ui/layout.d.ts.map +0 -1
- package/dist/ui/layout.js +0 -184
- package/dist/ui/layout.js.map +0 -1
- package/dist/ui/outputMode.d.ts +0 -58
- package/dist/ui/outputMode.d.ts.map +0 -1
- package/dist/ui/outputMode.js +0 -179
- package/dist/ui/outputMode.js.map +0 -1
- package/dist/ui/overlay/OverlayManager.d.ts +0 -105
- package/dist/ui/overlay/OverlayManager.d.ts.map +0 -1
- package/dist/ui/overlay/OverlayManager.js +0 -304
- package/dist/ui/overlay/OverlayManager.js.map +0 -1
- package/dist/ui/premiumComponents.d.ts +0 -54
- package/dist/ui/premiumComponents.d.ts.map +0 -1
- package/dist/ui/premiumComponents.js +0 -241
- package/dist/ui/premiumComponents.js.map +0 -1
- package/dist/ui/richText.d.ts +0 -13
- package/dist/ui/richText.d.ts.map +0 -1
- package/dist/ui/richText.js +0 -444
- package/dist/ui/richText.js.map +0 -1
- package/dist/ui/telemetry/ResponseTracker.d.ts +0 -22
- package/dist/ui/telemetry/ResponseTracker.d.ts.map +0 -1
- package/dist/ui/telemetry/ResponseTracker.js +0 -60
- package/dist/ui/telemetry/ResponseTracker.js.map +0 -1
- package/dist/ui/telemetry/UITelemetry.d.ts +0 -181
- package/dist/ui/telemetry/UITelemetry.d.ts.map +0 -1
- package/dist/ui/telemetry/UITelemetry.js +0 -446
- package/dist/ui/telemetry/UITelemetry.js.map +0 -1
- package/dist/ui/textHighlighter.d.ts +0 -83
- package/dist/ui/textHighlighter.d.ts.map +0 -1
- package/dist/ui/textHighlighter.js +0 -267
- package/dist/ui/textHighlighter.js.map +0 -1
- package/dist/ui/theme.d.ts +0 -351
- package/dist/ui/theme.d.ts.map +0 -1
- package/dist/ui/theme.js +0 -434
- package/dist/ui/theme.js.map +0 -1
- package/dist/ui/toolDisplay.d.ts +0 -221
- package/dist/ui/toolDisplay.d.ts.map +0 -1
- package/dist/ui/toolDisplay.js +0 -1654
- package/dist/ui/toolDisplay.js.map +0 -1
- package/dist/ui/uiConstants.d.ts +0 -253
- package/dist/ui/uiConstants.d.ts.map +0 -1
- package/dist/ui/uiConstants.js +0 -437
- package/dist/ui/uiConstants.js.map +0 -1
- package/dist/utils/analytics.d.ts +0 -2
- package/dist/utils/analytics.d.ts.map +0 -1
- package/dist/utils/analytics.js +0 -51
- package/dist/utils/analytics.js.map +0 -1
- package/dist/utils/askUserPrompt.d.ts +0 -21
- package/dist/utils/askUserPrompt.d.ts.map +0 -1
- package/dist/utils/askUserPrompt.js +0 -87
- package/dist/utils/askUserPrompt.js.map +0 -1
- package/dist/utils/asyncUtils.d.ts +0 -95
- package/dist/utils/asyncUtils.d.ts.map +0 -1
- package/dist/utils/asyncUtils.js +0 -286
- package/dist/utils/asyncUtils.js.map +0 -1
- package/dist/utils/debugLogger.d.ts +0 -6
- package/dist/utils/debugLogger.d.ts.map +0 -1
- package/dist/utils/debugLogger.js +0 -39
- package/dist/utils/debugLogger.js.map +0 -1
- package/dist/utils/errorUtils.d.ts +0 -12
- package/dist/utils/errorUtils.d.ts.map +0 -1
- package/dist/utils/errorUtils.js +0 -83
- package/dist/utils/errorUtils.js.map +0 -1
- package/dist/utils/frontmatter.d.ts +0 -10
- package/dist/utils/frontmatter.d.ts.map +0 -1
- package/dist/utils/frontmatter.js +0 -78
- package/dist/utils/frontmatter.js.map +0 -1
- package/dist/utils/packageInfo.d.ts +0 -14
- package/dist/utils/packageInfo.d.ts.map +0 -1
- package/dist/utils/packageInfo.js +0 -45
- package/dist/utils/packageInfo.js.map +0 -1
- package/dist/utils/planFormatter.d.ts +0 -34
- package/dist/utils/planFormatter.d.ts.map +0 -1
- package/dist/utils/planFormatter.js +0 -141
- package/dist/utils/planFormatter.js.map +0 -1
- package/dist/utils/securityUtils.d.ts +0 -145
- package/dist/utils/securityUtils.d.ts.map +0 -1
- package/dist/utils/securityUtils.js +0 -507
- package/dist/utils/securityUtils.js.map +0 -1
- package/dist/utils/statusReporter.d.ts +0 -6
- package/dist/utils/statusReporter.d.ts.map +0 -1
- package/dist/utils/statusReporter.js +0 -26
- package/dist/utils/statusReporter.js.map +0 -1
- package/dist/workspace.d.ts +0 -8
- package/dist/workspace.d.ts.map +0 -1
- package/dist/workspace.js +0 -135
- package/dist/workspace.js.map +0 -1
- package/dist/workspace.validator.d.ts +0 -49
- package/dist/workspace.validator.d.ts.map +0 -1
- package/dist/workspace.validator.js +0 -215
- package/dist/workspace.validator.js.map +0 -1
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { ConversationMessage, ProviderId } from './types.js';
|
|
2
|
-
import type { ProfileName } from '../config.js';
|
|
3
|
-
export interface SessionSummary {
|
|
4
|
-
id: string;
|
|
5
|
-
title: string;
|
|
6
|
-
profile: ProfileName;
|
|
7
|
-
provider: ProviderId;
|
|
8
|
-
model: string;
|
|
9
|
-
createdAt: string;
|
|
10
|
-
updatedAt: string;
|
|
11
|
-
messageCount: number;
|
|
12
|
-
workspaceRoot?: string;
|
|
13
|
-
}
|
|
14
|
-
export interface StoredSession extends SessionSummary {
|
|
15
|
-
messages: ConversationMessage[];
|
|
16
|
-
scrollbackBuffer?: string[];
|
|
17
|
-
}
|
|
18
|
-
export interface SaveSessionOptions {
|
|
19
|
-
id?: string | null;
|
|
20
|
-
title?: string | null;
|
|
21
|
-
profile: ProfileName;
|
|
22
|
-
provider: ProviderId;
|
|
23
|
-
model: string;
|
|
24
|
-
workspaceRoot?: string | null;
|
|
25
|
-
messages: ConversationMessage[];
|
|
26
|
-
scrollbackBuffer?: string[];
|
|
27
|
-
}
|
|
28
|
-
export declare function listSessions(profile?: ProfileName): SessionSummary[];
|
|
29
|
-
export declare function saveSessionSnapshot(options: SaveSessionOptions): SessionSummary;
|
|
30
|
-
export declare function loadSessionById(id: string): StoredSession | null;
|
|
31
|
-
export declare function deleteSession(id: string): boolean;
|
|
32
|
-
export declare function saveAutosaveSnapshot(profile: ProfileName, options: Omit<SaveSessionOptions, 'profile'>): void;
|
|
33
|
-
export declare function loadAutosaveSnapshot(profile: ProfileName): StoredSession | null;
|
|
34
|
-
export declare function clearAutosaveSnapshot(profile: ProfileName): void;
|
|
35
|
-
//# sourceMappingURL=sessionStore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessionStore.d.ts","sourceRoot":"","sources":["../../src/core/sessionStore.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAShD,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAMD,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,cAAc,EAAE,CASpE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,GAAG,cAAc,CAmC/E;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAWhE;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAgBjD;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAC3C,IAAI,CAeN;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,GAAG,IAAI,CAO/E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAMhE"}
|
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { mkdirSync, readdirSync, readFileSync, rmSync, statSync, writeFileSync } from 'node:fs';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
-
import { homedir } from 'node:os';
|
|
5
|
-
const dataRoot = process.env['EROSOLAR_DATA_DIR']?.trim() ||
|
|
6
|
-
process.env['EROSOLAR_DATA_DIR']?.trim() ||
|
|
7
|
-
join(homedir(), '.erosolar');
|
|
8
|
-
const sessionsDir = join(dataRoot, 'sessions');
|
|
9
|
-
const indexPath = join(sessionsDir, 'index.json');
|
|
10
|
-
export function listSessions(profile) {
|
|
11
|
-
const index = readIndex();
|
|
12
|
-
const entries = Object.values(index.entries);
|
|
13
|
-
const filtered = profile ? entries.filter((entry) => entry.profile === profile) : entries;
|
|
14
|
-
return filtered.sort((a, b) => {
|
|
15
|
-
const aTime = Date.parse(a.updatedAt ?? '') || 0;
|
|
16
|
-
const bTime = Date.parse(b.updatedAt ?? '') || 0;
|
|
17
|
-
return bTime - aTime;
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
export function saveSessionSnapshot(options) {
|
|
21
|
-
ensureDirectory();
|
|
22
|
-
if (!Array.isArray(options.messages)) {
|
|
23
|
-
throw new Error('Session snapshots must include the entire message history array.');
|
|
24
|
-
}
|
|
25
|
-
const index = readIndex();
|
|
26
|
-
const now = new Date().toISOString();
|
|
27
|
-
const existingId = options.id ?? null;
|
|
28
|
-
const summaryId = existingId && index.entries[existingId] ? existingId : randomUUID();
|
|
29
|
-
const previous = index.entries[summaryId];
|
|
30
|
-
const summary = {
|
|
31
|
-
id: summaryId,
|
|
32
|
-
title: sanitizeTitle(options.title) ?? previous?.title ?? buildDefaultTitle(options.messages),
|
|
33
|
-
profile: options.profile,
|
|
34
|
-
provider: options.provider,
|
|
35
|
-
model: options.model,
|
|
36
|
-
workspaceRoot: options.workspaceRoot ?? previous?.workspaceRoot ?? undefined,
|
|
37
|
-
createdAt: previous?.createdAt ?? now,
|
|
38
|
-
updatedAt: now,
|
|
39
|
-
messageCount: options.messages.length,
|
|
40
|
-
};
|
|
41
|
-
const payload = {
|
|
42
|
-
...summary,
|
|
43
|
-
messages: options.messages,
|
|
44
|
-
...(options.scrollbackBuffer && { scrollbackBuffer: options.scrollbackBuffer }),
|
|
45
|
-
};
|
|
46
|
-
writeFileSync(getSessionPath(summaryId), JSON.stringify(payload, null, 2), 'utf8');
|
|
47
|
-
index.entries[summaryId] = summary;
|
|
48
|
-
writeIndex(index);
|
|
49
|
-
return summary;
|
|
50
|
-
}
|
|
51
|
-
export function loadSessionById(id) {
|
|
52
|
-
if (!id) {
|
|
53
|
-
return null;
|
|
54
|
-
}
|
|
55
|
-
try {
|
|
56
|
-
const raw = readFileSync(getSessionPath(id), 'utf8');
|
|
57
|
-
const parsed = JSON.parse(raw);
|
|
58
|
-
return parsed;
|
|
59
|
-
}
|
|
60
|
-
catch {
|
|
61
|
-
return null;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
export function deleteSession(id) {
|
|
65
|
-
if (!id) {
|
|
66
|
-
return false;
|
|
67
|
-
}
|
|
68
|
-
const index = readIndex();
|
|
69
|
-
if (!index.entries[id]) {
|
|
70
|
-
return false;
|
|
71
|
-
}
|
|
72
|
-
try {
|
|
73
|
-
rmSync(getSessionPath(id), { force: true });
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
// ignore
|
|
77
|
-
}
|
|
78
|
-
delete index.entries[id];
|
|
79
|
-
writeIndex(index);
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
export function saveAutosaveSnapshot(profile, options) {
|
|
83
|
-
ensureDirectory();
|
|
84
|
-
const payload = {
|
|
85
|
-
id: `autosave-${profile}`,
|
|
86
|
-
profile,
|
|
87
|
-
provider: options.provider,
|
|
88
|
-
model: options.model,
|
|
89
|
-
workspaceRoot: options.workspaceRoot ?? undefined,
|
|
90
|
-
createdAt: new Date().toISOString(),
|
|
91
|
-
updatedAt: new Date().toISOString(),
|
|
92
|
-
title: sanitizeTitle(options.title) ?? buildDefaultTitle(options.messages),
|
|
93
|
-
messageCount: options.messages.length,
|
|
94
|
-
messages: options.messages,
|
|
95
|
-
};
|
|
96
|
-
writeFileSync(getAutosavePath(profile), JSON.stringify(payload, null, 2), 'utf8');
|
|
97
|
-
}
|
|
98
|
-
export function loadAutosaveSnapshot(profile) {
|
|
99
|
-
try {
|
|
100
|
-
const raw = readFileSync(getAutosavePath(profile), 'utf8');
|
|
101
|
-
return JSON.parse(raw);
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
export function clearAutosaveSnapshot(profile) {
|
|
108
|
-
try {
|
|
109
|
-
rmSync(getAutosavePath(profile), { force: true });
|
|
110
|
-
}
|
|
111
|
-
catch {
|
|
112
|
-
// ignore
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
function readIndex() {
|
|
116
|
-
ensureDirectory();
|
|
117
|
-
try {
|
|
118
|
-
const raw = readFileSync(indexPath, 'utf8');
|
|
119
|
-
const parsed = JSON.parse(raw);
|
|
120
|
-
if (!parsed || typeof parsed !== 'object' || typeof parsed.entries !== 'object') {
|
|
121
|
-
return { entries: {} };
|
|
122
|
-
}
|
|
123
|
-
return { entries: { ...parsed.entries } };
|
|
124
|
-
}
|
|
125
|
-
catch {
|
|
126
|
-
return { entries: {} };
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
function writeIndex(index) {
|
|
130
|
-
ensureDirectory();
|
|
131
|
-
writeFileSync(indexPath, JSON.stringify(index, null, 2), 'utf8');
|
|
132
|
-
}
|
|
133
|
-
function ensureDirectory() {
|
|
134
|
-
mkdirSync(sessionsDir, { recursive: true });
|
|
135
|
-
}
|
|
136
|
-
function getSessionPath(id) {
|
|
137
|
-
return join(sessionsDir, `${id}.json`);
|
|
138
|
-
}
|
|
139
|
-
function getAutosavePath(profile) {
|
|
140
|
-
return join(sessionsDir, `${profile}-autosave.json`);
|
|
141
|
-
}
|
|
142
|
-
function sanitizeTitle(value) {
|
|
143
|
-
if (typeof value !== 'string') {
|
|
144
|
-
return null;
|
|
145
|
-
}
|
|
146
|
-
const trimmed = value.trim();
|
|
147
|
-
if (!trimmed) {
|
|
148
|
-
return null;
|
|
149
|
-
}
|
|
150
|
-
return trimmed.slice(0, 160);
|
|
151
|
-
}
|
|
152
|
-
function buildDefaultTitle(messages) {
|
|
153
|
-
for (const message of messages) {
|
|
154
|
-
if (message.role !== 'user') {
|
|
155
|
-
continue;
|
|
156
|
-
}
|
|
157
|
-
const condensed = message.content.trim().replace(/\s+/g, ' ');
|
|
158
|
-
if (condensed) {
|
|
159
|
-
return condensed.slice(0, 160);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
return `Session ${new Date().toLocaleString()}`;
|
|
163
|
-
}
|
|
164
|
-
function pruneOrphans() {
|
|
165
|
-
try {
|
|
166
|
-
ensureDirectory();
|
|
167
|
-
const index = readIndex();
|
|
168
|
-
const known = new Set(Object.keys(index.entries));
|
|
169
|
-
for (const file of readdirSync(sessionsDir)) {
|
|
170
|
-
if (!file.endsWith('.json')) {
|
|
171
|
-
continue;
|
|
172
|
-
}
|
|
173
|
-
if (file === 'index.json' || file.includes('-autosave')) {
|
|
174
|
-
continue;
|
|
175
|
-
}
|
|
176
|
-
const id = file.slice(0, -5);
|
|
177
|
-
if (!known.has(id)) {
|
|
178
|
-
const candidate = join(sessionsDir, file);
|
|
179
|
-
const stats = statSync(candidate);
|
|
180
|
-
if (stats.isFile()) {
|
|
181
|
-
rmSync(candidate, { force: true });
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
catch {
|
|
187
|
-
// best-effort cleanup
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
pruneOrphans();
|
|
191
|
-
//# sourceMappingURL=sessionStore.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessionStore.js","sourceRoot":"","sources":["../../src/core/sessionStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAIlC,MAAM,QAAQ,GACZ,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE;IACxC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE;IACxC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;AAkClD,MAAM,UAAU,YAAY,CAAC,OAAqB;IAChD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1F,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAA2B;IAC7D,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,UAAU,GAAG,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC;IACtC,MAAM,SAAS,GACb,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAE1C,MAAM,OAAO,GAAmB;QAC9B,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,QAAQ,EAAE,KAAK,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC7F,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,QAAQ,EAAE,aAAa,IAAI,SAAS;QAC5E,SAAS,EAAE,QAAQ,EAAE,SAAS,IAAI,GAAG;QACrC,SAAS,EAAE,GAAG;QACd,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;KACtC,CAAC;IAEF,MAAM,OAAO,GAAkB;QAC7B,GAAG,OAAO;QACV,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,GAAG,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;KAChF,CAAC;IAEF,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IACnF,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC;IACnC,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAU;IACxC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAU;IACtC,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzB,UAAU,CAAC,KAAK,CAAC,CAAC;IAClB,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAoB,EACpB,OAA4C;IAE5C,eAAe,EAAE,CAAC;IAClB,MAAM,OAAO,GAAkB;QAC7B,EAAE,EAAE,YAAY,OAAO,EAAE;QACzB,OAAO;QACP,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,SAAS;QACjD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC1E,YAAY,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM;QACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;KAC3B,CAAC;IACF,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAoB;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAoB;IACxD,IAAI,CAAC;QACH,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,SAAS;IACX,CAAC;AACH,CAAC;AAED,SAAS,SAAS;IAChB,eAAe,EAAE,CAAC;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAiB,CAAC;QAC/C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChF,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACzB,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACzB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,KAAmB;IACrC,eAAe,EAAE,CAAC;IAClB,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,eAAe;IACtB,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,eAAe,CAAC,OAAoB;IAC3C,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,gBAAgB,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,aAAa,CAAC,KAAgC;IACrD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,iBAAiB,CAAC,QAA+B;IACxD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9D,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,WAAW,IAAI,IAAI,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,YAAY;IACnB,IAAI,CAAC;QACH,eAAe,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAClD,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxD,SAAS;YACX,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;oBACnB,MAAM,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,sBAAsB;IACxB,CAAC;AACH,CAAC;AAED,YAAY,EAAE,CAAC"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Firestore-backed shared secrets.
|
|
3
|
-
*
|
|
4
|
-
* Public CLI users don't bring their own DeepSeek key by default —
|
|
5
|
-
* they sign in with Erosolar Auth and the CLI fetches a shared,
|
|
6
|
-
* server-managed key from Firestore at `shared_secrets/{name}`.
|
|
7
|
-
*
|
|
8
|
-
* Resolution order for any provider key:
|
|
9
|
-
* 1. process.env[NAME] — explicit env override
|
|
10
|
-
* 2. ~/.erosolar/secrets.json[NAME] — user's own key via /secrets
|
|
11
|
-
* 3. Firestore shared_secrets/{name} — gated by Firebase Auth
|
|
12
|
-
*
|
|
13
|
-
* If steps 1+2 hit, we never make a Firestore call. The shared
|
|
14
|
-
* fetch only runs when a key is genuinely missing AND the user is
|
|
15
|
-
* already signed in (the CLI's `requireAuth()` happens earlier in
|
|
16
|
-
* boot, so by the time we get here a valid ID token is available).
|
|
17
|
-
*
|
|
18
|
-
* The fetched value is written to process.env so every downstream
|
|
19
|
-
* `requireEnv(...)` / `getSecretValue(...)` site sees it without
|
|
20
|
-
* any additional plumbing. No on-disk cache — refetched on each
|
|
21
|
-
* CLI startup. Firestore Spark-tier reads are cheap and this keeps
|
|
22
|
-
* a rotated key from getting stuck in a stale local cache.
|
|
23
|
-
*/
|
|
24
|
-
export type SharedSecretName = 'deepseek' | 'tavily';
|
|
25
|
-
export type PrefetchOutcome = {
|
|
26
|
-
source: 'env';
|
|
27
|
-
secret: SharedSecretName;
|
|
28
|
-
value: string;
|
|
29
|
-
} | {
|
|
30
|
-
source: 'saved';
|
|
31
|
-
secret: SharedSecretName;
|
|
32
|
-
value: string;
|
|
33
|
-
} | {
|
|
34
|
-
source: 'shared';
|
|
35
|
-
secret: SharedSecretName;
|
|
36
|
-
value: string;
|
|
37
|
-
} | {
|
|
38
|
-
source: 'unauthenticated';
|
|
39
|
-
secret: SharedSecretName;
|
|
40
|
-
} | {
|
|
41
|
-
source: 'missing';
|
|
42
|
-
secret: SharedSecretName;
|
|
43
|
-
reason: string;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* Ensure the named provider key is present in process.env, fetching
|
|
47
|
-
* from Firestore if needed. No-op when already set in env or saved
|
|
48
|
-
* via /secrets. Returns a PrefetchOutcome describing where the value
|
|
49
|
-
* came from (or why it's still missing).
|
|
50
|
-
*/
|
|
51
|
-
export declare function ensureSharedSecret(name: SharedSecretName): Promise<PrefetchOutcome>;
|
|
52
|
-
/**
|
|
53
|
-
* Prefetch every shared secret the CLI knows about. Called once at
|
|
54
|
-
* boot, after requireAuth() succeeds. Errors are returned, not
|
|
55
|
-
* thrown — a missing shared key is a degraded-but-runnable state,
|
|
56
|
-
* not a fatal one (the user can still bring their own via env or
|
|
57
|
-
* `/secrets`).
|
|
58
|
-
*/
|
|
59
|
-
export declare function prefetchAllSharedSecrets(): Promise<PrefetchOutcome[]>;
|
|
60
|
-
//# sourceMappingURL=sharedSecrets.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sharedSecrets.d.ts","sourceRoot":"","sources":["../../src/core/sharedSecrets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAOH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,QAAQ,CAAC;AAErD,MAAM,MAAM,eAAe,GACvB;IAAE,MAAM,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC7D;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAA;CAAE,GACvD;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AA6CpE;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAkCzF;AAED;;;;;;GAMG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAO3E"}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Firestore-backed shared secrets.
|
|
3
|
-
*
|
|
4
|
-
* Public CLI users don't bring their own DeepSeek key by default —
|
|
5
|
-
* they sign in with Erosolar Auth and the CLI fetches a shared,
|
|
6
|
-
* server-managed key from Firestore at `shared_secrets/{name}`.
|
|
7
|
-
*
|
|
8
|
-
* Resolution order for any provider key:
|
|
9
|
-
* 1. process.env[NAME] — explicit env override
|
|
10
|
-
* 2. ~/.erosolar/secrets.json[NAME] — user's own key via /secrets
|
|
11
|
-
* 3. Firestore shared_secrets/{name} — gated by Firebase Auth
|
|
12
|
-
*
|
|
13
|
-
* If steps 1+2 hit, we never make a Firestore call. The shared
|
|
14
|
-
* fetch only runs when a key is genuinely missing AND the user is
|
|
15
|
-
* already signed in (the CLI's `requireAuth()` happens earlier in
|
|
16
|
-
* boot, so by the time we get here a valid ID token is available).
|
|
17
|
-
*
|
|
18
|
-
* The fetched value is written to process.env so every downstream
|
|
19
|
-
* `requireEnv(...)` / `getSecretValue(...)` site sees it without
|
|
20
|
-
* any additional plumbing. No on-disk cache — refetched on each
|
|
21
|
-
* CLI startup. Firestore Spark-tier reads are cheap and this keeps
|
|
22
|
-
* a rotated key from getting stuck in a stale local cache.
|
|
23
|
-
*/
|
|
24
|
-
import { FIREBASE_PROJECT_ID, getAuthStatus, getValidIdToken } from './auth.js';
|
|
25
|
-
import { logDebug } from '../utils/debugLogger.js';
|
|
26
|
-
const FIRESTORE_BASE = `https://firestore.googleapis.com/v1/projects/${FIREBASE_PROJECT_ID}/databases/(default)/documents`;
|
|
27
|
-
const ENV_VAR_FOR = {
|
|
28
|
-
deepseek: 'DEEPSEEK_API_KEY',
|
|
29
|
-
tavily: 'TAVILY_API_KEY',
|
|
30
|
-
};
|
|
31
|
-
/**
|
|
32
|
-
* Fetch one shared secret from Firestore using the user's ID token.
|
|
33
|
-
* Returns the apiKey string, null if the doc / field is missing,
|
|
34
|
-
* throws on auth/network errors.
|
|
35
|
-
*/
|
|
36
|
-
async function fetchSharedSecret(name) {
|
|
37
|
-
const idToken = await getValidIdToken();
|
|
38
|
-
const url = `${FIRESTORE_BASE}/shared_secrets/${encodeURIComponent(name)}`;
|
|
39
|
-
const res = await fetch(url, {
|
|
40
|
-
headers: {
|
|
41
|
-
Authorization: `Bearer ${idToken}`,
|
|
42
|
-
Accept: 'application/json',
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
if (res.status === 404)
|
|
46
|
-
return null;
|
|
47
|
-
if (!res.ok) {
|
|
48
|
-
const body = await res.text().catch(() => '<no body>');
|
|
49
|
-
throw new Error(`Firestore ${res.status} fetching shared_secrets/${name}: ${body.slice(0, 200)}`);
|
|
50
|
-
}
|
|
51
|
-
const doc = (await res.json());
|
|
52
|
-
const field = doc.fields?.['apiKey']?.stringValue;
|
|
53
|
-
if (!field || typeof field !== 'string')
|
|
54
|
-
return null;
|
|
55
|
-
const trimmed = field.trim();
|
|
56
|
-
return trimmed.length ? trimmed : null;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Ensure the named provider key is present in process.env, fetching
|
|
60
|
-
* from Firestore if needed. No-op when already set in env or saved
|
|
61
|
-
* via /secrets. Returns a PrefetchOutcome describing where the value
|
|
62
|
-
* came from (or why it's still missing).
|
|
63
|
-
*/
|
|
64
|
-
export async function ensureSharedSecret(name) {
|
|
65
|
-
const envName = ENV_VAR_FOR[name];
|
|
66
|
-
const envCurrent = (process.env[envName] || '').trim();
|
|
67
|
-
if (envCurrent) {
|
|
68
|
-
return { source: 'env', secret: name, value: envCurrent };
|
|
69
|
-
}
|
|
70
|
-
// The secret store sync API also writes to process.env when it
|
|
71
|
-
// finds a saved value, so checking process.env again after a
|
|
72
|
-
// synthetic load handles the /secrets path without re-reading
|
|
73
|
-
// the file here.
|
|
74
|
-
const { getSecretValue } = await import('./secretStore.js');
|
|
75
|
-
const saved = getSecretValue(envName);
|
|
76
|
-
if (saved) {
|
|
77
|
-
return { source: 'saved', secret: name, value: saved };
|
|
78
|
-
}
|
|
79
|
-
if (!getAuthStatus().authenticated) {
|
|
80
|
-
return { source: 'unauthenticated', secret: name };
|
|
81
|
-
}
|
|
82
|
-
try {
|
|
83
|
-
const value = await fetchSharedSecret(name);
|
|
84
|
-
if (!value) {
|
|
85
|
-
return { source: 'missing', secret: name, reason: `shared_secrets/${name} doc has no apiKey field` };
|
|
86
|
-
}
|
|
87
|
-
process.env[envName] = value;
|
|
88
|
-
logDebug(`[sharedSecrets] hydrated ${envName} from Firestore`);
|
|
89
|
-
return { source: 'shared', secret: name, value };
|
|
90
|
-
}
|
|
91
|
-
catch (err) {
|
|
92
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
93
|
-
return { source: 'missing', secret: name, reason: message };
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Prefetch every shared secret the CLI knows about. Called once at
|
|
98
|
-
* boot, after requireAuth() succeeds. Errors are returned, not
|
|
99
|
-
* thrown — a missing shared key is a degraded-but-runnable state,
|
|
100
|
-
* not a fatal one (the user can still bring their own via env or
|
|
101
|
-
* `/secrets`).
|
|
102
|
-
*/
|
|
103
|
-
export async function prefetchAllSharedSecrets() {
|
|
104
|
-
const names = ['deepseek'];
|
|
105
|
-
const outcomes = [];
|
|
106
|
-
for (const name of names) {
|
|
107
|
-
outcomes.push(await ensureSharedSecret(name));
|
|
108
|
-
}
|
|
109
|
-
return outcomes;
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=sharedSecrets.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sharedSecrets.js","sourceRoot":"","sources":["../../src/core/sharedSecrets.ts"],"names":[],"mappings":"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"}
|
package/dist/core/shutdown.d.ts
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Centralized shutdown and signal handling for the CLI.
|
|
3
|
-
* Ensures Ctrl+C always works and process exits cleanly.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Register a cleanup callback to run on shutdown
|
|
7
|
-
*/
|
|
8
|
-
export declare function onShutdown(callback: () => void | Promise<void>): () => void;
|
|
9
|
-
/**
|
|
10
|
-
* Initiate authorized shutdown with cleanup
|
|
11
|
-
*/
|
|
12
|
-
export declare function authorizedShutdown(codeOrReason?: number | string): Promise<never>;
|
|
13
|
-
/**
|
|
14
|
-
* Check if shutdown is in progress
|
|
15
|
-
*/
|
|
16
|
-
export declare function isShutdownInProgress(): boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Get the shutdown reason if shutting down
|
|
19
|
-
*/
|
|
20
|
-
export declare function getShutdownReason(): string | undefined;
|
|
21
|
-
/**
|
|
22
|
-
* Install process-level signal handlers as fallback
|
|
23
|
-
* This ensures Ctrl+C always works even if input handling fails
|
|
24
|
-
*/
|
|
25
|
-
export declare function installSignalHandlers(): void;
|
|
26
|
-
/**
|
|
27
|
-
* Reset Ctrl+C counter (call when input is processed to prevent double-counting)
|
|
28
|
-
*/
|
|
29
|
-
export declare function resetCtrlCCounter(): void;
|
|
30
|
-
/**
|
|
31
|
-
* Get current Ctrl+C count (for coordination with input handlers)
|
|
32
|
-
*/
|
|
33
|
-
export declare function getCtrlCCount(): number;
|
|
34
|
-
//# sourceMappingURL=shutdown.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../../src/core/shutdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAS3E;AAkBD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAuCvF;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,GAAG,SAAS,CAEtD;AAkCD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAmD5C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
|
package/dist/core/shutdown.js
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Centralized shutdown and signal handling for the CLI.
|
|
3
|
-
* Ensures Ctrl+C always works and process exits cleanly.
|
|
4
|
-
*/
|
|
5
|
-
import { stdin, stdout } from 'node:process';
|
|
6
|
-
import { reportStatusError } from '../utils/statusReporter.js';
|
|
7
|
-
// Track shutdown state
|
|
8
|
-
let isShuttingDown = false;
|
|
9
|
-
let shutdownReason;
|
|
10
|
-
let signalHandlersInstalled = false;
|
|
11
|
-
let cleanupCallbacks = [];
|
|
12
|
-
let forceExitTimeout = null;
|
|
13
|
-
// Ctrl+C counter for double-press detection at process level
|
|
14
|
-
let processCtrlCCount = 0;
|
|
15
|
-
let lastProcessCtrlCTime = 0;
|
|
16
|
-
/**
|
|
17
|
-
* Register a cleanup callback to run on shutdown
|
|
18
|
-
*/
|
|
19
|
-
export function onShutdown(callback) {
|
|
20
|
-
cleanupCallbacks.push(callback);
|
|
21
|
-
// Return unregister function
|
|
22
|
-
return () => {
|
|
23
|
-
const index = cleanupCallbacks.indexOf(callback);
|
|
24
|
-
if (index !== -1) {
|
|
25
|
-
cleanupCallbacks.splice(index, 1);
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Run all cleanup callbacks
|
|
31
|
-
*/
|
|
32
|
-
async function runCleanup() {
|
|
33
|
-
const callbacks = [...cleanupCallbacks];
|
|
34
|
-
cleanupCallbacks = [];
|
|
35
|
-
for (const callback of callbacks) {
|
|
36
|
-
try {
|
|
37
|
-
await callback();
|
|
38
|
-
}
|
|
39
|
-
catch {
|
|
40
|
-
// Ignore cleanup errors during shutdown
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Initiate authorized shutdown with cleanup
|
|
46
|
-
*/
|
|
47
|
-
export async function authorizedShutdown(codeOrReason) {
|
|
48
|
-
const exitCode = typeof codeOrReason === 'number' ? codeOrReason : 0;
|
|
49
|
-
const reason = typeof codeOrReason === 'string' ? codeOrReason : `exit(${exitCode})`;
|
|
50
|
-
if (isShuttingDown) {
|
|
51
|
-
// Already shutting down - force exit if called again
|
|
52
|
-
process.exit(exitCode);
|
|
53
|
-
}
|
|
54
|
-
isShuttingDown = true;
|
|
55
|
-
shutdownReason = reason;
|
|
56
|
-
// Set a force exit timeout in case cleanup hangs
|
|
57
|
-
forceExitTimeout = setTimeout(() => {
|
|
58
|
-
process.exit(exitCode);
|
|
59
|
-
}, 3000);
|
|
60
|
-
try {
|
|
61
|
-
// Restore terminal state
|
|
62
|
-
if (stdin.isTTY && stdin.setRawMode) {
|
|
63
|
-
try {
|
|
64
|
-
stdin.setRawMode(false);
|
|
65
|
-
}
|
|
66
|
-
catch {
|
|
67
|
-
// Ignore - may not be in raw mode
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
// Run cleanup callbacks
|
|
71
|
-
await runCleanup();
|
|
72
|
-
// Clear the force exit timeout since we completed normally
|
|
73
|
-
if (forceExitTimeout) {
|
|
74
|
-
clearTimeout(forceExitTimeout);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
catch {
|
|
78
|
-
// Ignore cleanup errors
|
|
79
|
-
}
|
|
80
|
-
process.exit(exitCode);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Check if shutdown is in progress
|
|
84
|
-
*/
|
|
85
|
-
export function isShutdownInProgress() {
|
|
86
|
-
return isShuttingDown;
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Get the shutdown reason if shutting down
|
|
90
|
-
*/
|
|
91
|
-
export function getShutdownReason() {
|
|
92
|
-
return shutdownReason;
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Handle SIGINT at process level - this is the fallback when input interception fails
|
|
96
|
-
*/
|
|
97
|
-
function handleSIGINT() {
|
|
98
|
-
const now = Date.now();
|
|
99
|
-
// Reset count if more than 2 seconds since last
|
|
100
|
-
if (now - lastProcessCtrlCTime > 2000) {
|
|
101
|
-
processCtrlCCount = 0;
|
|
102
|
-
}
|
|
103
|
-
lastProcessCtrlCTime = now;
|
|
104
|
-
processCtrlCCount++;
|
|
105
|
-
if (processCtrlCCount >= 2) {
|
|
106
|
-
// Double Ctrl+C - force exit
|
|
107
|
-
stdout.write('\n');
|
|
108
|
-
void authorizedShutdown(130); // Standard SIGINT exit code
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// Single Ctrl+C - show hint
|
|
112
|
-
stdout.write('\n');
|
|
113
|
-
stdout.write('\x1b[2m(Press Ctrl+C again to exit)\x1b[0m\n');
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Handle SIGTERM - graceful shutdown request
|
|
118
|
-
*/
|
|
119
|
-
function handleSIGTERM() {
|
|
120
|
-
void authorizedShutdown('SIGTERM');
|
|
121
|
-
}
|
|
122
|
-
/**
|
|
123
|
-
* Install process-level signal handlers as fallback
|
|
124
|
-
* This ensures Ctrl+C always works even if input handling fails
|
|
125
|
-
*/
|
|
126
|
-
export function installSignalHandlers() {
|
|
127
|
-
if (signalHandlersInstalled) {
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
signalHandlersInstalled = true;
|
|
131
|
-
// SIGINT (Ctrl+C) - with double-press detection
|
|
132
|
-
process.on('SIGINT', handleSIGINT);
|
|
133
|
-
// SIGTERM - graceful shutdown
|
|
134
|
-
process.on('SIGTERM', handleSIGTERM);
|
|
135
|
-
// Handle uncaught errors during shutdown
|
|
136
|
-
process.on('uncaughtException', (error) => {
|
|
137
|
-
if (!isShuttingDown) {
|
|
138
|
-
reportStatusError(error, 'Uncaught exception');
|
|
139
|
-
void authorizedShutdown(1);
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
// Handle unhandled promise rejections during shutdown
|
|
143
|
-
process.on('unhandledRejection', (reason) => {
|
|
144
|
-
if (!isShuttingDown) {
|
|
145
|
-
reportStatusError(reason, 'Unhandled rejection');
|
|
146
|
-
void authorizedShutdown(1);
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
// Ensure terminal is restored on exit. The cleanup-callback chain handles
|
|
150
|
-
// most paths, but `process.exit(N)` from any internal error and a few
|
|
151
|
-
// SIGKILL-adjacent flows skip async cleanup; this synchronous handler
|
|
152
|
-
// emits the minimum escape sequences directly so the user's shell isn't
|
|
153
|
-
// left in bracketed-paste mode with the cursor hidden.
|
|
154
|
-
process.on('exit', () => {
|
|
155
|
-
if (stdin.isTTY && stdin.setRawMode) {
|
|
156
|
-
try {
|
|
157
|
-
stdin.setRawMode(false);
|
|
158
|
-
}
|
|
159
|
-
catch {
|
|
160
|
-
// Ignore
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
try {
|
|
164
|
-
// Show cursor + disable bracketed paste — the two global terminal
|
|
165
|
-
// states the renderer toggles on startup. Idempotent: a terminal
|
|
166
|
-
// that wasn't in those modes silently ignores the sequences.
|
|
167
|
-
stdout.write('\x1b[?25h\x1b[?2004l');
|
|
168
|
-
}
|
|
169
|
-
catch {
|
|
170
|
-
// Ignore
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Reset Ctrl+C counter (call when input is processed to prevent double-counting)
|
|
176
|
-
*/
|
|
177
|
-
export function resetCtrlCCounter() {
|
|
178
|
-
processCtrlCCount = 0;
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Get current Ctrl+C count (for coordination with input handlers)
|
|
182
|
-
*/
|
|
183
|
-
export function getCtrlCCount() {
|
|
184
|
-
return processCtrlCCount;
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=shutdown.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../../src/core/shutdown.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,uBAAuB;AACvB,IAAI,cAAc,GAAG,KAAK,CAAC;AAC3B,IAAI,cAAkC,CAAC;AACvC,IAAI,uBAAuB,GAAG,KAAK,CAAC;AACpC,IAAI,gBAAgB,GAAsC,EAAE,CAAC;AAC7D,IAAI,gBAAgB,GAA0B,IAAI,CAAC;AAEnD,6DAA6D;AAC7D,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAC1B,IAAI,oBAAoB,GAAG,CAAC,CAAC;AAE7B;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAoC;IAC7D,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChC,6BAA6B;IAC7B,OAAO,GAAG,EAAE;QACV,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,UAAU;IACvB,MAAM,SAAS,GAAG,CAAC,GAAG,gBAAgB,CAAC,CAAC;IACxC,gBAAgB,GAAG,EAAE,CAAC;IAEtB,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,EAAE,CAAC;QACnB,CAAC;QAAC,MAAM,CAAC;YACP,wCAAwC;QAC1C,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,YAA8B;IACrE,MAAM,QAAQ,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,MAAM,MAAM,GAAG,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,QAAQ,GAAG,CAAC;IAErF,IAAI,cAAc,EAAE,CAAC;QACnB,qDAAqD;QACrD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,cAAc,GAAG,IAAI,CAAC;IACtB,cAAc,GAAG,MAAM,CAAC;IAExB,iDAAiD;IACjD,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,IAAI,CAAC;QACH,yBAAyB;QACzB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,kCAAkC;YACpC,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,UAAU,EAAE,CAAC;QAEnB,2DAA2D;QAC3D,IAAI,gBAAgB,EAAE,CAAC;YACrB,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAS,YAAY;IACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEvB,gDAAgD;IAChD,IAAI,GAAG,GAAG,oBAAoB,GAAG,IAAI,EAAE,CAAC;QACtC,iBAAiB,GAAG,CAAC,CAAC;IACxB,CAAC;IAED,oBAAoB,GAAG,GAAG,CAAC;IAC3B,iBAAiB,EAAE,CAAC;IAEpB,IAAI,iBAAiB,IAAI,CAAC,EAAE,CAAC;QAC3B,6BAA6B;QAC7B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,KAAK,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;IAC5D,CAAC;SAAM,CAAC;QACN,4BAA4B;QAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,KAAK,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,uBAAuB,EAAE,CAAC;QAC5B,OAAO;IACT,CAAC;IAED,uBAAuB,GAAG,IAAI,CAAC;IAE/B,gDAAgD;IAChD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEnC,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAErC,yCAAyC;IACzC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;QACxC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;YAC/C,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sDAAsD;IACtD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YACjD,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,sEAAsE;IACtE,sEAAsE;IACtE,wEAAwE;IACxE,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;QACtB,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC;gBACH,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;QACH,CAAC;QACD,IAAI,CAAC;YACH,kEAAkE;YAClE,iEAAiE;YACjE,6DAA6D;YAC7D,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACvC,CAAC;QAAC,MAAM,CAAC;YACP,SAAS;QACX,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,iBAAiB,GAAG,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,iBAAiB,CAAC;AAC3B,CAAC"}
|