@nanocollective/nanocoder 1.13.8 → 1.14.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/README.md +6 -8
- package/dist/app/utils/appUtils.d.ts +3 -2
- package/dist/app/utils/appUtils.d.ts.map +1 -1
- package/dist/app/utils/appUtils.js +9 -4
- package/dist/app/utils/appUtils.js.map +1 -1
- package/dist/app/utils/conversationState.d.ts +3 -2
- package/dist/app/utils/conversationState.d.ts.map +1 -1
- package/dist/app/utils/conversationState.js +20 -7
- package/dist/app/utils/conversationState.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +24 -19
- package/dist/app.js.map +1 -1
- package/dist/client-factory.js +2 -1
- package/dist/client-factory.js.map +1 -1
- package/dist/command-parser.d.ts +0 -2
- package/dist/command-parser.d.ts.map +1 -1
- package/dist/command-parser.js +0 -6
- package/dist/command-parser.js.map +1 -1
- package/dist/commands/clear.d.ts.map +1 -1
- package/dist/commands/clear.js +3 -3
- package/dist/commands/clear.js.map +1 -1
- package/dist/commands/custom-commands.d.ts.map +1 -1
- package/dist/commands/custom-commands.js +4 -4
- package/dist/commands/custom-commands.js.map +1 -1
- package/dist/commands/exit.d.ts.map +1 -1
- package/dist/commands/exit.js +3 -3
- package/dist/commands/exit.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +3 -3
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -1
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +10 -9
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/mcp.d.ts +0 -6
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +7 -5
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/model.js +2 -2
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/provider.js +2 -2
- package/dist/commands/provider.js.map +1 -1
- package/dist/commands/recommendations.d.ts.map +1 -1
- package/dist/commands/recommendations.js +12 -6
- package/dist/commands/recommendations.js.map +1 -1
- package/dist/commands/setup-config.d.ts +3 -0
- package/dist/commands/setup-config.d.ts.map +1 -0
- package/dist/commands/setup-config.js +15 -0
- package/dist/commands/setup-config.js.map +1 -0
- package/dist/commands/status.js +2 -2
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/theme.js +2 -2
- package/dist/commands/theme.js.map +1 -1
- package/dist/commands/update.js +2 -2
- package/dist/commands/update.js.map +1 -1
- package/dist/commands.d.ts +2 -1
- package/dist/commands.d.ts.map +1 -1
- package/dist/commands.js +1 -1
- package/dist/commands.js.map +1 -1
- package/dist/components/assistant-message.d.ts +0 -1
- package/dist/components/assistant-message.d.ts.map +1 -1
- package/dist/components/assistant-message.js +5 -4
- package/dist/components/assistant-message.js.map +1 -1
- package/dist/components/model-selector.js +2 -2
- package/dist/components/model-selector.js.map +1 -1
- package/dist/components/status.d.ts.map +1 -1
- package/dist/components/status.js +8 -4
- package/dist/components/status.js.map +1 -1
- package/dist/components/theme-selector.d.ts.map +1 -1
- package/dist/components/theme-selector.js +5 -5
- package/dist/components/theme-selector.js.map +1 -1
- package/dist/components/thinking-indicator.d.ts.map +1 -1
- package/dist/components/thinking-indicator.js +2 -1
- package/dist/components/thinking-indicator.js.map +1 -1
- package/dist/components/tool-confirmation.d.ts.map +1 -1
- package/dist/components/tool-confirmation.js +5 -5
- package/dist/components/tool-confirmation.js.map +1 -1
- package/dist/components/update-message.js +2 -2
- package/dist/components/update-message.js.map +1 -1
- package/dist/components/user-input.d.ts.map +1 -1
- package/dist/components/user-input.js +12 -12
- package/dist/components/user-input.js.map +1 -1
- package/dist/components/welcome-message.d.ts.map +1 -1
- package/dist/components/welcome-message.js +9 -3
- package/dist/components/welcome-message.js.map +1 -1
- package/dist/config/env-substitution.d.ts +1 -3
- package/dist/config/env-substitution.d.ts.map +1 -1
- package/dist/config/env-substitution.js +6 -14
- package/dist/config/env-substitution.js.map +1 -1
- package/dist/config/index.d.ts +2 -6
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +15 -32
- package/dist/config/index.js.map +1 -1
- package/dist/config/paths.d.ts +6 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +21 -0
- package/dist/config/paths.js.map +1 -0
- package/dist/config/preferences.d.ts.map +1 -1
- package/dist/config/preferences.js +2 -7
- package/dist/config/preferences.js.map +1 -1
- package/dist/config/themes.d.ts +0 -1
- package/dist/config/themes.d.ts.map +1 -1
- package/dist/config/themes.js +0 -3
- package/dist/config/themes.js.map +1 -1
- package/dist/custom-commands/executor.d.ts +1 -1
- package/dist/custom-commands/executor.d.ts.map +1 -1
- package/dist/custom-commands/executor.js +1 -1
- package/dist/custom-commands/executor.js.map +1 -1
- package/dist/custom-commands/loader.d.ts +1 -1
- package/dist/custom-commands/loader.d.ts.map +1 -1
- package/dist/custom-commands/loader.js +4 -4
- package/dist/custom-commands/loader.js.map +1 -1
- package/dist/custom-commands/parser.js +1 -1
- package/dist/custom-commands/parser.js.map +1 -1
- package/dist/{app/hooks → hooks}/useAppInitialization.d.ts +11 -9
- package/dist/hooks/useAppInitialization.d.ts.map +1 -0
- package/dist/{app/hooks → hooks}/useAppInitialization.js +32 -29
- package/dist/hooks/useAppInitialization.js.map +1 -0
- package/dist/{app/hooks → hooks}/useAppState.d.ts +15 -18
- package/dist/hooks/useAppState.d.ts.map +1 -0
- package/dist/{app/hooks → hooks}/useAppState.js +8 -4
- package/dist/hooks/useAppState.js.map +1 -0
- package/dist/{app/hooks → hooks}/useChatHandler.d.ts +3 -3
- package/dist/hooks/useChatHandler.d.ts.map +1 -0
- package/dist/{app/hooks → hooks}/useChatHandler.js +15 -15
- package/dist/hooks/useChatHandler.js.map +1 -0
- package/dist/{app/hooks → hooks}/useDirectoryTrust.d.ts +2 -1
- package/dist/hooks/useDirectoryTrust.d.ts.map +1 -0
- package/dist/{app/hooks → hooks}/useDirectoryTrust.js +6 -13
- package/dist/hooks/useDirectoryTrust.js.map +1 -0
- package/dist/hooks/useInputState.d.ts.map +1 -1
- package/dist/hooks/useInputState.js +2 -2
- package/dist/hooks/useInputState.js.map +1 -1
- package/dist/{app/hooks → hooks}/useModeHandlers.d.ts +7 -3
- package/dist/hooks/useModeHandlers.d.ts.map +1 -0
- package/dist/{app/hooks → hooks}/useModeHandlers.js +42 -6
- package/dist/hooks/useModeHandlers.js.map +1 -0
- package/dist/hooks/useTerminalWidth.d.ts +16 -0
- package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
- package/dist/hooks/useTerminalWidth.js +39 -0
- package/dist/hooks/useTerminalWidth.js.map +1 -1
- package/dist/hooks/useTheme.d.ts +2 -1
- package/dist/hooks/useTheme.d.ts.map +1 -1
- package/dist/{app/hooks → hooks}/useToolHandler.d.ts +11 -11
- package/dist/hooks/useToolHandler.d.ts.map +1 -0
- package/dist/{app/hooks → hooks}/useToolHandler.js +76 -15
- package/dist/hooks/useToolHandler.js.map +1 -0
- package/dist/hooks/useUIState.d.ts +2 -2
- package/dist/hooks/useUIState.d.ts.map +1 -1
- package/dist/hooks/useUIState.js +1 -1
- package/dist/hooks/useUIState.js.map +1 -1
- package/dist/init/agents-template-generator.d.ts.map +1 -1
- package/dist/init/agents-template-generator.js +1 -1
- package/dist/init/agents-template-generator.js.map +1 -1
- package/dist/init/existing-rules-extractor.js +2 -2
- package/dist/init/existing-rules-extractor.js.map +1 -1
- package/dist/init/file-scanner.d.ts +2 -1
- package/dist/init/file-scanner.d.ts.map +1 -1
- package/dist/init/file-scanner.js +3 -3
- package/dist/init/file-scanner.js.map +1 -1
- package/dist/init/framework-detector.d.ts +3 -2
- package/dist/init/framework-detector.d.ts.map +1 -1
- package/dist/init/framework-detector.js +4 -4
- package/dist/init/framework-detector.js.map +1 -1
- package/dist/init/language-detector.d.ts +2 -1
- package/dist/init/language-detector.d.ts.map +1 -1
- package/dist/init/project-analyzer.d.ts.map +1 -1
- package/dist/init/project-analyzer.js +8 -8
- package/dist/init/project-analyzer.js.map +1 -1
- package/dist/integration/paste-roundtrip.spec.js +1 -0
- package/dist/integration/paste-roundtrip.spec.js.map +1 -1
- package/dist/langgraph-client.d.ts +2 -2
- package/dist/langgraph-client.d.ts.map +1 -1
- package/dist/langgraph-client.js +20 -13
- package/dist/langgraph-client.js.map +1 -1
- package/dist/mcp/mcp-client.d.ts +1 -1
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +44 -51
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/mcp/mcp-tool-adapter.d.ts.map +1 -1
- package/dist/mcp/mcp-tool-adapter.js +2 -1
- package/dist/mcp/mcp-tool-adapter.js.map +1 -1
- package/dist/message-handler.js.map +1 -1
- package/dist/prompt-history.d.ts.map +1 -1
- package/dist/prompt-history.js +3 -2
- package/dist/prompt-history.js.map +1 -1
- package/dist/recommendations/model-database.d.ts +0 -1
- package/dist/recommendations/model-database.d.ts.map +1 -1
- package/dist/recommendations/model-database.js +15 -1
- package/dist/recommendations/model-database.js.map +1 -1
- package/dist/recommendations/recommendation-engine.d.ts +2 -1
- package/dist/recommendations/recommendation-engine.d.ts.map +1 -1
- package/dist/system/detector.d.ts.map +1 -1
- package/dist/system/detector.js.map +1 -1
- package/dist/tool-calling/index.d.ts +0 -1
- package/dist/tool-calling/index.d.ts.map +1 -1
- package/dist/tool-calling/json-parser.d.ts.map +1 -1
- package/dist/tool-calling/json-parser.js +5 -6
- package/dist/tool-calling/json-parser.js.map +1 -1
- package/dist/tool-calling/xml-parser.d.ts +3 -2
- package/dist/tool-calling/xml-parser.d.ts.map +1 -1
- package/dist/tool-calling/xml-parser.js.map +1 -1
- package/dist/tools/create-file.d.ts.map +1 -1
- package/dist/tools/create-file.js +24 -14
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/delete-lines.d.ts.map +1 -1
- package/dist/tools/delete-lines.js +14 -9
- package/dist/tools/delete-lines.js.map +1 -1
- package/dist/tools/execute-bash.d.ts.map +1 -1
- package/dist/tools/execute-bash.js +17 -14
- package/dist/tools/execute-bash.js.map +1 -1
- package/dist/tools/fetch-url.d.ts.map +1 -1
- package/dist/tools/fetch-url.js +19 -14
- package/dist/tools/fetch-url.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +14 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/insert-lines.d.ts.map +1 -1
- package/dist/tools/insert-lines.js +11 -6
- package/dist/tools/insert-lines.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +18 -7
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/read-many-files.d.ts.map +1 -1
- package/dist/tools/read-many-files.js +19 -9
- package/dist/tools/read-many-files.js.map +1 -1
- package/dist/tools/replace-lines.d.ts.map +1 -1
- package/dist/tools/replace-lines.js +10 -8
- package/dist/tools/replace-lines.js.map +1 -1
- package/dist/tools/search-files.d.ts.map +1 -1
- package/dist/tools/search-files.js +11 -6
- package/dist/tools/search-files.js.map +1 -1
- package/dist/tools/tool-manager.d.ts +13 -10
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js.map +1 -1
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +16 -11
- package/dist/tools/web-search.js.map +1 -1
- package/dist/types/app.d.ts +9 -28
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/components.d.ts +0 -55
- package/dist/types/components.d.ts.map +1 -1
- package/dist/types/config.d.ts +21 -3
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/core.d.ts +19 -9
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/hooks.d.ts +3 -25
- package/dist/types/hooks.d.ts.map +1 -1
- package/dist/types/hooks.js.map +1 -1
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/system.d.ts +0 -15
- package/dist/types/system.d.ts.map +1 -1
- package/dist/types/tools.d.ts +0 -26
- package/dist/types/tools.d.ts.map +1 -1
- package/dist/types/utils.d.ts +1 -7
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/utils/atomic-deletion.d.ts.map +1 -1
- package/dist/utils/atomic-deletion.spec.js +1 -0
- package/dist/utils/atomic-deletion.spec.js.map +1 -1
- package/dist/utils/message-queue.d.ts +0 -3
- package/dist/utils/message-queue.d.ts.map +1 -1
- package/dist/utils/message-queue.js +1 -4
- package/dist/utils/message-queue.js.map +1 -1
- package/dist/utils/paste-detection.d.ts +2 -2
- package/dist/utils/paste-detection.d.ts.map +1 -1
- package/dist/utils/paste-detection.js +1 -1
- package/dist/utils/paste-detection.js.map +1 -1
- package/dist/utils/paste-detection.spec.d.ts +2 -0
- package/dist/utils/paste-detection.spec.d.ts.map +1 -0
- package/dist/utils/paste-detection.spec.js +45 -0
- package/dist/utils/paste-detection.spec.js.map +1 -0
- package/dist/utils/paste-utils.d.ts.map +1 -1
- package/dist/utils/paste-utils.js.map +1 -1
- package/dist/utils/paste-utils.spec.d.ts +2 -0
- package/dist/utils/paste-utils.spec.d.ts.map +1 -0
- package/dist/utils/paste-utils.spec.js +62 -0
- package/dist/utils/paste-utils.spec.js.map +1 -0
- package/dist/utils/prompt-assembly.spec.js +1 -0
- package/dist/utils/prompt-assembly.spec.js.map +1 -1
- package/dist/utils/prompt-processor.d.ts +0 -5
- package/dist/utils/prompt-processor.d.ts.map +1 -1
- package/dist/utils/prompt-processor.js +16 -28
- package/dist/utils/prompt-processor.js.map +1 -1
- package/dist/utils/update-checker.d.ts.map +1 -1
- package/dist/utils/update-checker.js +6 -13
- package/dist/utils/update-checker.js.map +1 -1
- package/dist/wizard/config-wizard.d.ts +8 -0
- package/dist/wizard/config-wizard.d.ts.map +1 -0
- package/dist/wizard/config-wizard.js +208 -0
- package/dist/wizard/config-wizard.js.map +1 -0
- package/dist/wizard/steps/location-step.d.ts +9 -0
- package/dist/wizard/steps/location-step.d.ts.map +1 -0
- package/dist/wizard/steps/location-step.js +79 -0
- package/dist/wizard/steps/location-step.js.map +1 -0
- package/dist/wizard/steps/mcp-step.d.ts +9 -0
- package/dist/wizard/steps/mcp-step.d.ts.map +1 -0
- package/dist/wizard/steps/mcp-step.js +303 -0
- package/dist/wizard/steps/mcp-step.js.map +1 -0
- package/dist/wizard/steps/provider-step.d.ts +9 -0
- package/dist/wizard/steps/provider-step.d.ts.map +1 -0
- package/dist/wizard/steps/provider-step.js +294 -0
- package/dist/wizard/steps/provider-step.js.map +1 -0
- package/dist/wizard/steps/summary-step.d.ts +15 -0
- package/dist/wizard/steps/summary-step.d.ts.map +1 -0
- package/dist/wizard/steps/summary-step.js +48 -0
- package/dist/wizard/steps/summary-step.js.map +1 -0
- package/dist/wizard/templates/mcp-templates.d.ts +17 -0
- package/dist/wizard/templates/mcp-templates.d.ts.map +1 -0
- package/dist/wizard/templates/mcp-templates.js +173 -0
- package/dist/wizard/templates/mcp-templates.js.map +1 -0
- package/dist/wizard/templates/mcp-templates.spec.d.ts +2 -0
- package/dist/wizard/templates/mcp-templates.spec.d.ts.map +1 -0
- package/dist/wizard/templates/mcp-templates.spec.js +219 -0
- package/dist/wizard/templates/mcp-templates.spec.js.map +1 -0
- package/dist/wizard/templates/provider-templates.d.ts +17 -0
- package/dist/wizard/templates/provider-templates.d.ts.map +1 -0
- package/dist/wizard/templates/provider-templates.js +342 -0
- package/dist/wizard/templates/provider-templates.js.map +1 -0
- package/dist/wizard/templates/provider-templates.spec.d.ts +2 -0
- package/dist/wizard/templates/provider-templates.spec.d.ts.map +1 -0
- package/dist/wizard/templates/provider-templates.spec.js +120 -0
- package/dist/wizard/templates/provider-templates.spec.js.map +1 -0
- package/dist/wizard/validation.d.ts +39 -0
- package/dist/wizard/validation.d.ts.map +1 -0
- package/dist/wizard/validation.js +122 -0
- package/dist/wizard/validation.js.map +1 -0
- package/dist/wizard/validation.spec.d.ts +2 -0
- package/dist/wizard/validation.spec.d.ts.map +1 -0
- package/dist/wizard/validation.spec.js +289 -0
- package/dist/wizard/validation.spec.js.map +1 -0
- package/package.json +34 -30
- package/dist/app/hooks/useAppInitialization.d.ts.map +0 -1
- package/dist/app/hooks/useAppInitialization.js.map +0 -1
- package/dist/app/hooks/useAppState.d.ts.map +0 -1
- package/dist/app/hooks/useAppState.js.map +0 -1
- package/dist/app/hooks/useChatHandler.d.ts.map +0 -1
- package/dist/app/hooks/useChatHandler.js.map +0 -1
- package/dist/app/hooks/useDirectoryTrust.d.ts.map +0 -1
- package/dist/app/hooks/useDirectoryTrust.js.map +0 -1
- package/dist/app/hooks/useModeHandlers.d.ts.map +0 -1
- package/dist/app/hooks/useModeHandlers.js.map +0 -1
- package/dist/app/hooks/useToolHandler.d.ts.map +0 -1
- package/dist/app/hooks/useToolHandler.js.map +0 -1
- package/dist/commands/debug.d.ts +0 -3
- package/dist/commands/debug.d.ts.map +0 -1
- package/dist/commands/debug.js +0 -86
- package/dist/commands/debug.js.map +0 -1
- package/dist/components/config-error-message.d.ts +0 -8
- package/dist/components/config-error-message.d.ts.map +0 -1
- package/dist/components/config-error-message.js +0 -36
- package/dist/components/config-error-message.js.map +0 -1
- package/dist/components/custom-commands.d.ts +0 -7
- package/dist/components/custom-commands.d.ts.map +0 -1
- package/dist/components/custom-commands.js +0 -27
- package/dist/components/custom-commands.js.map +0 -1
- package/dist/config/logging.d.ts +0 -14
- package/dist/config/logging.d.ts.map +0 -1
- package/dist/config/logging.js +0 -58
- package/dist/config/logging.js.map +0 -1
- package/dist/custom-commands/index.d.ts +0 -4
- package/dist/custom-commands/index.d.ts.map +0 -1
- package/dist/custom-commands/index.js +0 -4
- package/dist/custom-commands/index.js.map +0 -1
- package/dist/hooks/useInputState.spec.d.ts +0 -2
- package/dist/hooks/useInputState.spec.d.ts.map +0 -1
- package/dist/hooks/useInputState.spec.js +0 -163
- package/dist/hooks/useInputState.spec.js.map +0 -1
package/dist/types/system.d.ts
CHANGED
|
@@ -18,11 +18,6 @@ export interface SystemCapabilities {
|
|
|
18
18
|
speed?: 'slow' | 'medium' | 'fast';
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
export type ProviderCategory = 'local-server' | 'hosted-api';
|
|
22
|
-
export interface ProviderInfo {
|
|
23
|
-
name: string;
|
|
24
|
-
category: ProviderCategory;
|
|
25
|
-
}
|
|
26
21
|
export interface ModelEntry {
|
|
27
22
|
name: string;
|
|
28
23
|
author: string;
|
|
@@ -38,16 +33,6 @@ export interface ModelEntry {
|
|
|
38
33
|
costType: 'free' | 'paid';
|
|
39
34
|
costDetails?: string;
|
|
40
35
|
}
|
|
41
|
-
export interface ProviderRecommendation {
|
|
42
|
-
provider: string;
|
|
43
|
-
providerCategory: ProviderCategory;
|
|
44
|
-
priority: 'high' | 'medium' | 'low';
|
|
45
|
-
reasoning: string[];
|
|
46
|
-
setupInstructions: string;
|
|
47
|
-
models: ModelRecommendation[];
|
|
48
|
-
isConfigured?: boolean;
|
|
49
|
-
isRunning?: boolean;
|
|
50
|
-
}
|
|
51
36
|
export interface ModelRecommendation {
|
|
52
37
|
model: ModelEntry;
|
|
53
38
|
compatibility: 'perfect' | 'good' | 'marginal' | 'incompatible';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../source/types/system.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,GAAG,EAAE;QACJ,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;QACpD,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,OAAO,EAAE;QACR,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;KACnC,CAAC;CACF;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../source/types/system.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IAClC,GAAG,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,GAAG,EAAE;QACJ,SAAS,EAAE,OAAO,CAAC;QACnB,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;QACpD,MAAM,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,OAAO,EAAE;QACR,SAAS,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;KACnC,CAAC;CACF;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,OAAO,EAAE;QACR,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACb,CAAC;IAEF,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAE,UAAU,CAAC;IAClB,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,cAAc,CAAC;IAChE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACvB"}
|
package/dist/types/tools.d.ts
CHANGED
|
@@ -1,29 +1,3 @@
|
|
|
1
|
-
export type EditMode = 'insert' | 'replace' | 'delete' | 'move' | 'find_replace';
|
|
2
|
-
export interface EditArgs {
|
|
3
|
-
path: string;
|
|
4
|
-
mode: EditMode;
|
|
5
|
-
line_number?: number;
|
|
6
|
-
end_line?: number;
|
|
7
|
-
content?: string;
|
|
8
|
-
target_line?: number;
|
|
9
|
-
old_text?: string;
|
|
10
|
-
new_text?: string;
|
|
11
|
-
replace_all?: boolean;
|
|
12
|
-
}
|
|
13
|
-
export interface EditResult {
|
|
14
|
-
success: boolean;
|
|
15
|
-
message: string;
|
|
16
|
-
context?: string;
|
|
17
|
-
}
|
|
18
|
-
export interface LineChange {
|
|
19
|
-
lineNum: number;
|
|
20
|
-
lineContent: string;
|
|
21
|
-
startPos: number;
|
|
22
|
-
}
|
|
23
|
-
export interface ValidationResult {
|
|
24
|
-
isValid: boolean;
|
|
25
|
-
error?: string;
|
|
26
|
-
}
|
|
27
1
|
export interface BashToolResult {
|
|
28
2
|
fullOutput: string;
|
|
29
3
|
llmContext: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../source/types/tools.ts"],"names":[],"mappings":"AAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../source/types/tools.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACnB"}
|
package/dist/types/utils.d.ts
CHANGED
|
@@ -1,14 +1,8 @@
|
|
|
1
1
|
export type MessageType = 'info' | 'error' | 'success';
|
|
2
|
-
export interface MessageQueueItem {
|
|
3
|
-
type: MessageType;
|
|
4
|
-
message: string;
|
|
5
|
-
key?: string;
|
|
6
|
-
hideBox?: boolean;
|
|
7
|
-
}
|
|
8
2
|
export interface NpmRegistryResponse {
|
|
9
3
|
version: string;
|
|
10
4
|
name: string;
|
|
11
|
-
[key: string]:
|
|
5
|
+
[key: string]: unknown;
|
|
12
6
|
}
|
|
13
7
|
export interface UpdateInfo {
|
|
14
8
|
hasUpdate: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../source/types/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvD,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../source/types/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEvD,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,UAAU;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomic-deletion.d.ts","sourceRoot":"","sources":["../../source/utils/atomic-deletion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"atomic-deletion.d.ts","sourceRoot":"","sources":["../../source/utils/atomic-deletion.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,oBAAoB,CACnC,aAAa,EAAE,UAAU,EACzB,OAAO,EAAE,MAAM,GACb,UAAU,GAAG,IAAI,CAuDnB;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CACxC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACd,MAAM,GAAG,IAAI,CAcf;AAED;;;GAGG;AACH,wBAAgB,+BAA+B,CAC9C,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACpB,OAAO,CA6BT"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import test from 'ava';
|
|
2
2
|
import { handleAtomicDeletion, findPlaceholderAtPosition, wouldPartiallyDeletePlaceholder, } from './atomic-deletion.js';
|
|
3
3
|
import { PlaceholderType } from '../types/hooks.js';
|
|
4
|
+
console.log(`\natomic-deletion.spec.ts`);
|
|
4
5
|
// Tests for atomic placeholder deletion
|
|
5
6
|
test('handleAtomicDeletion removes placeholder when backspaced', t => {
|
|
6
7
|
const previousState = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomic-deletion.spec.js","sourceRoot":"","sources":["../../source/utils/atomic-deletion.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EACN,oBAAoB,EACpB,yBAAyB,EACzB,+BAA+B,GAC/B,MAAM,
|
|
1
|
+
{"version":3,"file":"atomic-deletion.spec.js","sourceRoot":"","sources":["../../source/utils/atomic-deletion.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { MessageType } from '../types/index.js';
|
|
3
2
|
export declare function setGlobalMessageQueue(addToChatQueue: (component: React.ReactNode) => void): void;
|
|
4
|
-
export declare function addMessageToQueue(type: MessageType, message: string, hideBox?: boolean): void;
|
|
5
3
|
export declare function logInfo(message: string, hideBox?: boolean): void;
|
|
6
4
|
export declare function logError(message: string, hideBox?: boolean): void;
|
|
7
|
-
export declare function logSuccess(message: string, hideBox?: boolean): void;
|
|
8
5
|
//# sourceMappingURL=message-queue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-queue.d.ts","sourceRoot":"","sources":["../../source/utils/message-queue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"message-queue.d.ts","sourceRoot":"","sources":["../../source/utils/message-queue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,wBAAgB,qBAAqB,CACpC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,QAGpD;AA4CD,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc,QAE/D;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,OAAc,QAEhE"}
|
|
@@ -15,7 +15,7 @@ function getNextKey() {
|
|
|
15
15
|
return `global-msg-${componentKeyCounter}`;
|
|
16
16
|
}
|
|
17
17
|
// Add message to chat queue
|
|
18
|
-
|
|
18
|
+
function addMessageToQueue(type, message, hideBox = true) {
|
|
19
19
|
if (!globalAddToChatQueue) {
|
|
20
20
|
// Fallback to console if queue not available
|
|
21
21
|
console[type === 'error' ? 'error' : 'log'](message);
|
|
@@ -44,7 +44,4 @@ export function logInfo(message, hideBox = true) {
|
|
|
44
44
|
export function logError(message, hideBox = true) {
|
|
45
45
|
addMessageToQueue('error', message, hideBox);
|
|
46
46
|
}
|
|
47
|
-
export function logSuccess(message, hideBox = true) {
|
|
48
|
-
addMessageToQueue('success', message, hideBox);
|
|
49
|
-
}
|
|
50
47
|
//# sourceMappingURL=message-queue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-queue.js","sourceRoot":"","sources":["../../source/utils/message-queue.tsx"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAG1D,+DAA+D;AAC/D,IAAI,oBAAoB,GAAkD,IAAI,CAAC;AAC/E,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAE5B,qCAAqC;AACrC,MAAM,UAAU,qBAAqB,CACpC,cAAoD;IAEpD,oBAAoB,GAAG,cAAc,CAAC;AACvC,CAAC;AAED,0CAA0C;AAC1C,SAAS,UAAU;IAClB,mBAAmB,EAAE,CAAC;IACtB,OAAO,cAAc,mBAAmB,EAAE,CAAC;AAC5C,CAAC;AAED,4BAA4B;AAC5B,
|
|
1
|
+
{"version":3,"file":"message-queue.js","sourceRoot":"","sources":["../../source/utils/message-queue.tsx"],"names":[],"mappings":";AACA,OAAO,YAAY,MAAM,4BAA4B,CAAC;AACtD,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAG1D,+DAA+D;AAC/D,IAAI,oBAAoB,GAAkD,IAAI,CAAC;AAC/E,IAAI,mBAAmB,GAAG,CAAC,CAAC;AAE5B,qCAAqC;AACrC,MAAM,UAAU,qBAAqB,CACpC,cAAoD;IAEpD,oBAAoB,GAAG,cAAc,CAAC;AACvC,CAAC;AAED,0CAA0C;AAC1C,SAAS,UAAU;IAClB,mBAAmB,EAAE,CAAC;IACtB,OAAO,cAAc,mBAAmB,EAAE,CAAC;AAC5C,CAAC;AAED,4BAA4B;AAC5B,SAAS,iBAAiB,CACzB,IAAiB,EACjB,OAAe,EACf,UAAmB,IAAI;IAEvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC3B,6CAA6C;QAC7C,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;QACrD,OAAO;IACR,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;IACzB,IAAI,SAA0B,CAAC;IAE/B,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,OAAO;YACX,SAAS,GAAG,CACX,KAAC,YAAY,IAAW,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAvC,GAAG,CAAwC,CAC9D,CAAC;YACF,MAAM;QACP,KAAK,SAAS;YACb,SAAS,GAAG,CACX,KAAC,cAAc,IAAW,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAvC,GAAG,CAAwC,CAChE,CAAC;YACF,MAAM;QACP,KAAK,MAAM,CAAC;QACZ;YACC,SAAS,GAAG,KAAC,WAAW,IAAW,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,IAAvC,GAAG,CAAwC,CAAC;YAC1E,MAAM;IACR,CAAC;IAED,oBAAoB,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,OAAO,CAAC,OAAe,EAAE,UAAmB,IAAI;IAC/D,iBAAiB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,UAAmB,IAAI;IAChE,iBAAiB,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
interface PasteDetectionOptions {
|
|
2
2
|
timeThreshold: number;
|
|
3
3
|
charThreshold: number;
|
|
4
4
|
lineThreshold: number;
|
|
5
5
|
}
|
|
6
|
-
export declare const DEFAULT_PASTE_OPTIONS: PasteDetectionOptions;
|
|
7
6
|
export declare class PasteDetector {
|
|
8
7
|
private lastInputTime;
|
|
9
8
|
private lastInputLength;
|
|
@@ -33,4 +32,5 @@ export declare class PasteDetector {
|
|
|
33
32
|
*/
|
|
34
33
|
updateState(text: string): void;
|
|
35
34
|
}
|
|
35
|
+
export {};
|
|
36
36
|
//# sourceMappingURL=paste-detection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paste-detection.d.ts","sourceRoot":"","sources":["../../source/utils/paste-detection.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"paste-detection.d.ts","sourceRoot":"","sources":["../../source/utils/paste-detection.ts"],"names":[],"mappings":"AAGA,UAAU,qBAAqB;IAE9B,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,CAAC;IAEtB,aAAa,EAAE,MAAM,CAAC;CACtB;AAQD,qBAAa,aAAa;IACzB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,eAAe,CAAK;IAE5B;;;;;OAKG;IACH,WAAW,CACV,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,qBAA6C,GACpD;QACF,OAAO,EAAE,OAAO,CAAC;QACjB,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;QAC3C,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE;YACR,WAAW,EAAE,MAAM,CAAC;YACpB,UAAU,EAAE,MAAM,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;SACnB,CAAC;KACF;IA4DD;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;CAI/B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// CLI Paste Detection Utilities
|
|
2
2
|
// Since CLI applications don't receive direct paste events, we use heuristics
|
|
3
|
-
|
|
3
|
+
const DEFAULT_PASTE_OPTIONS = {
|
|
4
4
|
timeThreshold: 16, // ~1 frame at 60fps
|
|
5
5
|
charThreshold: 50, // Characters added in single change
|
|
6
6
|
lineThreshold: 2, // Multiple lines added instantly
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paste-detection.js","sourceRoot":"","sources":["../../source/utils/paste-detection.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,8EAA8E;AAW9E,MAAM,
|
|
1
|
+
{"version":3,"file":"paste-detection.js","sourceRoot":"","sources":["../../source/utils/paste-detection.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,8EAA8E;AAW9E,MAAM,qBAAqB,GAA0B;IACpD,aAAa,EAAE,EAAE,EAAE,oBAAoB;IACvC,aAAa,EAAE,EAAE,EAAE,oCAAoC;IACvD,aAAa,EAAE,CAAC,EAAE,iCAAiC;CACnD,CAAC;AAEF,MAAM,OAAO,aAAa;IACjB,aAAa,GAAG,CAAC,CAAC;IAClB,eAAe,GAAG,CAAC,CAAC;IAE5B;;;;;OAKG;IACH,WAAW,CACV,OAAe,EACf,UAAiC,qBAAqB;QAWtD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,MAAM,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;QACrD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QACzD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAElD,gDAAgD;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAEtD,kBAAkB;QAClB,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC;QACjC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC;QAEtC,MAAM,OAAO,GAAG;YACf,WAAW;YACX,UAAU;YACV,UAAU;SACV,CAAC;QAEF,8CAA8C;QAC9C,IACC,WAAW,GAAG,OAAO,CAAC,aAAa;YACnC,UAAU,GAAG,OAAO,CAAC,aAAa,EACjC,CAAC;YACF,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;gBACd,SAAS;gBACT,OAAO;aACP,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,IAAI,UAAU,GAAG,OAAO,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC5C,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;gBACd,SAAS;gBACT,OAAO;aACP,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;YACzC,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;gBACf,SAAS;gBACT,OAAO;aACP,CAAC;QACH,CAAC;QAED,OAAO;YACN,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,MAAM;YACd,SAAS;YACT,OAAO;SACP,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACJ,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,IAAY;QACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC;IACpC,CAAC;CACD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paste-detection.spec.d.ts","sourceRoot":"","sources":["../../source/utils/paste-detection.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { PasteDetector } from './paste-detection.js';
|
|
3
|
+
// Tests for PasteDetector class
|
|
4
|
+
// Validates CLI paste detection logic
|
|
5
|
+
console.log(`\npaste-detection.spec.ts`);
|
|
6
|
+
test('PasteDetector detects rapid input as paste', t => {
|
|
7
|
+
const detector = new PasteDetector();
|
|
8
|
+
// Simulate rapid input - use 110 chars to exceed 50*2=100 threshold
|
|
9
|
+
const result = detector.detectPaste('a'.repeat(110));
|
|
10
|
+
t.true(result.isPaste);
|
|
11
|
+
t.is(result.method, 'size'); // Large input detected as paste
|
|
12
|
+
t.is(result.addedText, 'a'.repeat(110));
|
|
13
|
+
});
|
|
14
|
+
test('PasteDetector detects multi-line input as paste', t => {
|
|
15
|
+
const detector = new PasteDetector();
|
|
16
|
+
const multiLineText = 'line1\nline2\nline3\nline4';
|
|
17
|
+
const result = detector.detectPaste(multiLineText);
|
|
18
|
+
t.true(result.isPaste);
|
|
19
|
+
t.is(result.method, 'lines');
|
|
20
|
+
t.is(result.addedText, multiLineText);
|
|
21
|
+
});
|
|
22
|
+
test('PasteDetector does not detect small input as paste', t => {
|
|
23
|
+
const detector = new PasteDetector();
|
|
24
|
+
const result = detector.detectPaste('small');
|
|
25
|
+
t.false(result.isPaste);
|
|
26
|
+
t.is(result.method, 'none');
|
|
27
|
+
});
|
|
28
|
+
test('PasteDetector tracks incremental changes correctly', t => {
|
|
29
|
+
const detector = new PasteDetector();
|
|
30
|
+
// First input
|
|
31
|
+
const result1 = detector.detectPaste('hello');
|
|
32
|
+
t.false(result1.isPaste);
|
|
33
|
+
// Add more text (incremental)
|
|
34
|
+
const result2 = detector.detectPaste('hello world');
|
|
35
|
+
t.false(result2.isPaste);
|
|
36
|
+
t.is(result2.addedText, ' world');
|
|
37
|
+
});
|
|
38
|
+
test('PasteDetector reset clears state', t => {
|
|
39
|
+
const detector = new PasteDetector();
|
|
40
|
+
detector.detectPaste('some text');
|
|
41
|
+
detector.reset();
|
|
42
|
+
const result = detector.detectPaste('new text');
|
|
43
|
+
t.is(result.addedText, 'new text'); // Should be full text, not just diff
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=paste-detection.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paste-detection.spec.js","sourceRoot":"","sources":["../../source/utils/paste-detection.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAEhD,gCAAgC;AAChC,sCAAsC;AAEtC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AAEzC,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC,EAAE;IACtD,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IAErC,oEAAoE;IACpE,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAErD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,gCAAgC;IAC7D,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,EAAE;IAC3D,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IAErC,MAAM,aAAa,GAAG,4BAA4B,CAAC;IACnD,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAEnD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7B,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACvC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE;IAC9D,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IAErC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE7C,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,CAAC,CAAC,EAAE;IAC9D,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IAErC,cAAc;IACd,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEzB,8BAA8B;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IACpD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,EAAE;IAC5C,MAAM,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;IAErC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAEjB,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAChD,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,qCAAqC;AAC1E,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paste-utils.d.ts","sourceRoot":"","sources":["../../source/utils/paste-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EAEV,kBAAkB,EAElB,MAAM,
|
|
1
|
+
{"version":3,"file":"paste-utils.d.ts","sourceRoot":"","sources":["../../source/utils/paste-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EAEV,kBAAkB,EAElB,MAAM,gBAAgB,CAAC;AAExB,wBAAgB,WAAW,CAC1B,UAAU,EAAE,MAAM,EAClB,mBAAmB,EAAE,MAAM,EAC3B,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,EAC7D,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAC7C,UAAU,GAAG,IAAI,CAqCnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paste-utils.js","sourceRoot":"","sources":["../../source/utils/paste-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,eAAe,GACf,MAAM,
|
|
1
|
+
{"version":3,"file":"paste-utils.js","sourceRoot":"","sources":["../../source/utils/paste-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,eAAe,GACf,MAAM,gBAAgB,CAAC;AAExB,MAAM,UAAU,WAAW,CAC1B,UAAkB,EAClB,mBAA2B,EAC3B,yBAA6D,EAC7D,eAA+C;IAE/C,MAAM,SAAS,GAAG,EAAE,CAAC,CAAC,aAAa;IACnC,IAAI,UAAU,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,uEAAuE;IACvE,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,MAAM,CACzE,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,CACjD,CAAC,MAAM,CAAC;IACT,MAAM,OAAO,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACpD,MAAM,WAAW,GAAG,WAAW,OAAO,KAAK,UAAU,CAAC,MAAM,SAAS,CAAC;IAEtE,MAAM,YAAY,GAA4B;QAC7C,IAAI,EAAE,eAAe,CAAC,KAAK;QAC3B,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,UAAU;QACnB,YAAY,EAAE,UAAU,CAAC,MAAM;QAC/B,eAAe;QACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACrB,CAAC;IAEF,MAAM,qBAAqB,GAAG;QAC7B,GAAG,yBAAyB;QAC5B,CAAC,OAAO,CAAC,EAAE,YAAY;KACvB,CAAC;IAEF,mFAAmF;IACnF,kFAAkF;IAClF,MAAM,eAAe,GAAG,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC/D,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC;QACtD,CAAC,CAAC,mBAAmB,GAAG,WAAW,CAAC;IAErC,OAAO;QACN,YAAY,EAAE,eAAe;QAC7B,kBAAkB,EAAE,qBAAqB;KACzC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paste-utils.spec.d.ts","sourceRoot":"","sources":["../../source/utils/paste-utils.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
import { handlePaste } from './paste-utils.js';
|
|
3
|
+
import { PlaceholderType } from '../types/hooks.js';
|
|
4
|
+
// Tests for handlePaste utility function
|
|
5
|
+
// Validates paste handling logic and placeholder creation
|
|
6
|
+
console.log(`\npaste-utils.spec.ts`);
|
|
7
|
+
test('handlePaste returns null for small pastes', t => {
|
|
8
|
+
const pastedText = 'small text';
|
|
9
|
+
const currentDisplayValue = 'existing content';
|
|
10
|
+
const currentPlaceholderContent = {};
|
|
11
|
+
const result = handlePaste(pastedText, currentDisplayValue, currentPlaceholderContent);
|
|
12
|
+
t.is(result, null);
|
|
13
|
+
});
|
|
14
|
+
test('handlePaste creates placeholder for large pastes', t => {
|
|
15
|
+
const pastedText = 'a'.repeat(600); // Above 500 char threshold
|
|
16
|
+
const currentDisplayValue = 'existing content';
|
|
17
|
+
const currentPlaceholderContent = {};
|
|
18
|
+
const result = handlePaste(pastedText, currentDisplayValue, currentPlaceholderContent);
|
|
19
|
+
t.truthy(result);
|
|
20
|
+
t.is(typeof result.displayValue, 'string');
|
|
21
|
+
t.true(result.displayValue.includes('[Paste #'));
|
|
22
|
+
t.true(result.displayValue.includes('600 chars]'));
|
|
23
|
+
// Should contain the pasted content in the map
|
|
24
|
+
const pasteIds = Object.keys(result.placeholderContent);
|
|
25
|
+
t.is(pasteIds.length, 1);
|
|
26
|
+
const pasteContent = result.placeholderContent[pasteIds[0]];
|
|
27
|
+
t.is(pasteContent.content, pastedText);
|
|
28
|
+
t.is(pasteContent.type, PlaceholderType.PASTE);
|
|
29
|
+
});
|
|
30
|
+
test('handlePaste replaces pasted text with placeholder in display value', t => {
|
|
31
|
+
const pastedText = 'x'.repeat(700);
|
|
32
|
+
const currentDisplayValue = `prefix ${pastedText} suffix`;
|
|
33
|
+
const currentPlaceholderContent = {};
|
|
34
|
+
const result = handlePaste(pastedText, currentDisplayValue, currentPlaceholderContent);
|
|
35
|
+
t.truthy(result);
|
|
36
|
+
t.true(result.displayValue.startsWith('prefix [Paste #'));
|
|
37
|
+
t.true(result.displayValue.endsWith('700 chars] suffix'));
|
|
38
|
+
t.false(result.displayValue.includes('x'.repeat(10))); // Original text should be gone
|
|
39
|
+
});
|
|
40
|
+
test('handlePaste preserves existing pasted content', t => {
|
|
41
|
+
const existingPlaceholderContent = {
|
|
42
|
+
'123': {
|
|
43
|
+
type: PlaceholderType.PASTE,
|
|
44
|
+
displayText: '[Paste #123: 24 chars]',
|
|
45
|
+
content: 'previous paste content',
|
|
46
|
+
originalSize: 24,
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
const pastedText = 'b'.repeat(800);
|
|
50
|
+
const currentDisplayValue = 'some text';
|
|
51
|
+
const result = handlePaste(pastedText, currentDisplayValue, existingPlaceholderContent);
|
|
52
|
+
t.truthy(result);
|
|
53
|
+
t.is(Object.keys(result.placeholderContent).length, 2);
|
|
54
|
+
const existingContent = result.placeholderContent['123'];
|
|
55
|
+
t.is(existingContent.content, 'previous paste content');
|
|
56
|
+
// Find the new paste ID
|
|
57
|
+
const newPasteId = Object.keys(result.placeholderContent).find(id => id !== '123');
|
|
58
|
+
t.truthy(newPasteId);
|
|
59
|
+
const newContent = result.placeholderContent[newPasteId];
|
|
60
|
+
t.is(newContent.content, pastedText);
|
|
61
|
+
});
|
|
62
|
+
//# sourceMappingURL=paste-utils.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paste-utils.spec.js","sourceRoot":"","sources":["../../source/utils/paste-utils.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import test from 'ava';
|
|
2
2
|
import { PlaceholderType } from '../types/hooks.js';
|
|
3
|
+
console.log(`\nprompt-assembly.spec.ts`);
|
|
3
4
|
// Minimal implementation for testing - avoids complex dependencies
|
|
4
5
|
function assemblePrompt(inputState) {
|
|
5
6
|
let assembledPrompt = inputState.displayValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-assembly.spec.js","sourceRoot":"","sources":["../../source/utils/prompt-assembly.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AAEvB,OAAO,EAAC,eAAe,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"prompt-assembly.spec.js","sourceRoot":"","sources":["../../source/utils/prompt-assembly.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,9 +9,4 @@ export declare function processPromptTemplate(tools: Tool[]): string;
|
|
|
9
9
|
* This function is called before sending the prompt to the AI
|
|
10
10
|
*/
|
|
11
11
|
export declare function assemblePrompt(inputState: InputState): string;
|
|
12
|
-
/**
|
|
13
|
-
* Extract all placeholder IDs from a display value
|
|
14
|
-
* Useful for atomic deletion and validation
|
|
15
|
-
*/
|
|
16
|
-
export declare function extractPlaceholderIds(displayValue: string): string[];
|
|
17
12
|
//# sourceMappingURL=prompt-processor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-processor.d.ts","sourceRoot":"","sources":["../../source/utils/prompt-processor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"prompt-processor.d.ts","sourceRoot":"","sources":["../../source/utils/prompt-processor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAqE/C;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAsC3D;AAsGD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,MAAM,CAgD7D"}
|
|
@@ -70,7 +70,8 @@ export function processPromptTemplate(tools) {
|
|
|
70
70
|
systemPrompt = readFileSync(promptPath, 'utf-8');
|
|
71
71
|
}
|
|
72
72
|
catch (error) {
|
|
73
|
-
|
|
73
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
74
|
+
console.warn(`Failed to load system prompt from ${promptPath}: ${errorMessage}`);
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
// Inject system information
|
|
@@ -85,7 +86,8 @@ export function processPromptTemplate(tools) {
|
|
|
85
86
|
systemPrompt += `\n\nAdditional Context...\n\n${agentsContent}`;
|
|
86
87
|
}
|
|
87
88
|
catch (error) {
|
|
88
|
-
|
|
89
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
90
|
+
console.warn(`Failed to load AGENTS.md from ${agentsPath}: ${errorMessage}`);
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
return systemPrompt;
|
|
@@ -141,9 +143,6 @@ function generateToolDocumentation(tools) {
|
|
|
141
143
|
}
|
|
142
144
|
return sections.join('\n');
|
|
143
145
|
}
|
|
144
|
-
/**
|
|
145
|
-
* Format documentation for a single tool
|
|
146
|
-
*/
|
|
147
146
|
function formatToolDocumentation(tool) {
|
|
148
147
|
const { name, description, parameters } = tool.function;
|
|
149
148
|
let doc = `${name}: ${description}\n`;
|
|
@@ -153,8 +152,8 @@ function formatToolDocumentation(tool) {
|
|
|
153
152
|
const required = parameters.required?.includes(paramName)
|
|
154
153
|
? ' (required)'
|
|
155
154
|
: ' (optional)';
|
|
156
|
-
const
|
|
157
|
-
doc += `- ${paramName}${required}: ${
|
|
155
|
+
const paramDescription = schema.description || schema.type || 'No description';
|
|
156
|
+
doc += `- ${paramName}${required}: ${paramDescription}\n`;
|
|
158
157
|
});
|
|
159
158
|
doc += '\n';
|
|
160
159
|
}
|
|
@@ -172,22 +171,24 @@ export function assemblePrompt(inputState) {
|
|
|
172
171
|
let replacementContent = placeholderContent.content || '';
|
|
173
172
|
// Type-specific content assembly (extensible for future types)
|
|
174
173
|
switch (placeholderContent.type) {
|
|
175
|
-
case PlaceholderType.PASTE:
|
|
174
|
+
case PlaceholderType.PASTE: {
|
|
176
175
|
// For paste, use content directly
|
|
177
176
|
replacementContent = placeholderContent.content;
|
|
178
177
|
break;
|
|
179
|
-
|
|
178
|
+
}
|
|
179
|
+
case PlaceholderType.FILE: {
|
|
180
180
|
// For file, could add file headers or other formatting
|
|
181
181
|
replacementContent = placeholderContent.content;
|
|
182
182
|
break;
|
|
183
|
-
|
|
183
|
+
}
|
|
184
|
+
default: {
|
|
184
185
|
// TypeScript will ensure this is unreachable with proper enum usage
|
|
185
|
-
|
|
186
|
+
// Exhaustiveness check to ensure all enum cases are handled
|
|
187
|
+
placeholderContent;
|
|
186
188
|
// Fallback for safety, though this should never be reached
|
|
187
|
-
replacementContent =
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
'';
|
|
189
|
+
replacementContent = '';
|
|
190
|
+
break;
|
|
191
|
+
}
|
|
191
192
|
}
|
|
192
193
|
// Use the displayText to find and replace the placeholder
|
|
193
194
|
const displayText = placeholderContent.displayText;
|
|
@@ -203,17 +204,4 @@ export function assemblePrompt(inputState) {
|
|
|
203
204
|
});
|
|
204
205
|
return assembledPrompt;
|
|
205
206
|
}
|
|
206
|
-
/**
|
|
207
|
-
* Extract all placeholder IDs from a display value
|
|
208
|
-
* Useful for atomic deletion and validation
|
|
209
|
-
*/
|
|
210
|
-
export function extractPlaceholderIds(displayValue) {
|
|
211
|
-
const placeholderRegex = /\[Paste #(\d+): \d+ chars\]/g;
|
|
212
|
-
const matches = [];
|
|
213
|
-
let match;
|
|
214
|
-
while ((match = placeholderRegex.exec(displayValue)) !== null) {
|
|
215
|
-
matches.push(match[1]); // The captured paste ID
|
|
216
|
-
}
|
|
217
|
-
return matches;
|
|
218
|
-
}
|
|
219
207
|
//# sourceMappingURL=prompt-processor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-processor.js","sourceRoot":"","sources":["../../source/utils/prompt-processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,UAAU,EAAC,MAAM,IAAI,CAAC;AAC5C,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAC,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAC,UAAU,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"prompt-processor.js","sourceRoot":"","sources":["../../source/utils/prompt-processor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../../source/utils/update-checker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"update-checker.d.ts","sourceRoot":"","sources":["../../source/utils/update-checker.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAsB,UAAU,EAAC,MAAM,eAAe,CAAC;AAgGnE;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC,CAoC3D"}
|
|
@@ -2,7 +2,6 @@ import { readFileSync } from 'fs';
|
|
|
2
2
|
import { join, dirname } from 'path';
|
|
3
3
|
import { fileURLToPath } from 'url';
|
|
4
4
|
import { loadPreferences, savePreferences } from '../config/preferences.js';
|
|
5
|
-
import { shouldLog } from '../config/logging.js';
|
|
6
5
|
import { logError } from '../utils/message-queue.js';
|
|
7
6
|
const __filename = fileURLToPath(import.meta.url);
|
|
8
7
|
const __dirname = dirname(__filename);
|
|
@@ -30,9 +29,6 @@ function isNewerVersion(current, latest) {
|
|
|
30
29
|
}
|
|
31
30
|
return false;
|
|
32
31
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Get the current package version from package.json
|
|
35
|
-
*/
|
|
36
32
|
function getCurrentVersion() {
|
|
37
33
|
try {
|
|
38
34
|
const packageJsonPath = join(__dirname, '../../package.json');
|
|
@@ -40,9 +36,8 @@ function getCurrentVersion() {
|
|
|
40
36
|
return packageJson.version;
|
|
41
37
|
}
|
|
42
38
|
catch (error) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
39
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
40
|
+
logError(`Failed to read current version: ${errorMessage}`);
|
|
46
41
|
return '0.0.0';
|
|
47
42
|
}
|
|
48
43
|
}
|
|
@@ -67,9 +62,8 @@ async function fetchLatestVersion() {
|
|
|
67
62
|
return data.version;
|
|
68
63
|
}
|
|
69
64
|
catch (error) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
65
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
66
|
+
logError(`Failed to fetch latest version: ${errorMessage}`);
|
|
73
67
|
return null;
|
|
74
68
|
}
|
|
75
69
|
}
|
|
@@ -106,9 +100,8 @@ export async function checkForUpdates() {
|
|
|
106
100
|
};
|
|
107
101
|
}
|
|
108
102
|
catch (error) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
103
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
104
|
+
logError(`Update check failed: ${errorMessage}`);
|
|
112
105
|
// Still update the timestamp to prevent hammering the API on repeated failures
|
|
113
106
|
updateLastCheckTime();
|
|
114
107
|
return {
|