@nanocollective/nanocoder 1.17.3 → 1.19.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 +178 -13
- package/assets/nanocoder-vscode.vsix +0 -0
- package/dist/ai-sdk-client-empty-message.spec.d.ts +2 -0
- package/dist/ai-sdk-client-empty-message.spec.d.ts.map +1 -0
- package/dist/ai-sdk-client-empty-message.spec.js +124 -0
- package/dist/ai-sdk-client-empty-message.spec.js.map +1 -0
- package/dist/ai-sdk-client.d.ts +19 -3
- package/dist/ai-sdk-client.d.ts.map +1 -1
- package/dist/ai-sdk-client.js +359 -211
- package/dist/ai-sdk-client.js.map +1 -1
- package/dist/app/utils/appUtils.d.ts +1 -1
- package/dist/app/utils/appUtils.d.ts.map +1 -1
- package/dist/app/utils/appUtils.js +80 -14
- package/dist/app/utils/appUtils.js.map +1 -1
- package/dist/app.d.ts +22 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +369 -53
- package/dist/app.js.map +1 -1
- package/dist/cli.js +37 -2
- package/dist/cli.js.map +1 -1
- package/dist/cli.spec.d.ts +2 -0
- package/dist/cli.spec.d.ts.map +1 -0
- package/dist/cli.spec.js +101 -0
- package/dist/cli.spec.js.map +1 -0
- package/dist/client-factory.d.ts.map +1 -1
- package/dist/client-factory.js +2 -2
- package/dist/client-factory.js.map +1 -1
- package/dist/commands/checkpoint.d.ts +6 -0
- package/dist/commands/checkpoint.d.ts.map +1 -0
- package/dist/commands/checkpoint.js +277 -0
- package/dist/commands/checkpoint.js.map +1 -0
- package/dist/commands/clear.d.ts.map +1 -1
- package/dist/commands/clear.js +1 -1
- 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.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +2 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/help.d.ts.map +1 -1
- package/dist/commands/help.js +5 -5
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.d.ts +2 -2
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +2 -2
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +15 -14
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/lsp.d.ts.map +1 -1
- package/dist/commands/lsp.js +6 -6
- package/dist/commands/lsp.js.map +1 -1
- package/dist/commands/mcp.d.ts +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +6 -6
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/model-database.d.ts +8 -0
- package/dist/commands/model-database.d.ts.map +1 -0
- package/dist/commands/model-database.js +193 -0
- package/dist/commands/model-database.js.map +1 -0
- package/dist/commands/model.d.ts.map +1 -1
- package/dist/commands/model.js.map +1 -1
- package/dist/commands/provider.d.ts.map +1 -1
- package/dist/commands/provider.js.map +1 -1
- package/dist/commands/setup-config.js +1 -1
- package/dist/commands/setup-config.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/theme.d.ts.map +1 -1
- package/dist/commands/theme.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +5 -5
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/usage.d.ts.map +1 -1
- package/dist/commands/usage.js +4 -4
- package/dist/commands/usage.js.map +1 -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.map +1 -1
- package/dist/components/assistant-message.js +5 -4
- package/dist/components/assistant-message.js.map +1 -1
- package/dist/components/bash-execution-indicator.d.ts.map +1 -1
- package/dist/components/bash-execution-indicator.js +2 -2
- package/dist/components/bash-execution-indicator.js.map +1 -1
- package/dist/components/cancelling-indicator.js +3 -3
- package/dist/components/cancelling-indicator.js.map +1 -1
- package/dist/components/chat-queue.d.ts.map +1 -1
- package/dist/components/chat-queue.js +1 -1
- package/dist/components/chat-queue.js.map +1 -1
- package/dist/components/checkpoint-display.d.ts +8 -0
- package/dist/components/checkpoint-display.d.ts.map +1 -0
- package/dist/components/checkpoint-display.js +29 -0
- package/dist/components/checkpoint-display.js.map +1 -0
- package/dist/components/checkpoint-selector.d.ts +11 -0
- package/dist/components/checkpoint-selector.d.ts.map +1 -0
- package/dist/components/checkpoint-selector.js +55 -0
- package/dist/components/checkpoint-selector.js.map +1 -0
- package/dist/components/error-message.d.ts.map +1 -1
- package/dist/components/error-message.js +4 -4
- package/dist/components/error-message.js.map +1 -1
- package/dist/components/info-message.d.ts.map +1 -1
- package/dist/components/info-message.js +4 -4
- package/dist/components/info-message.js.map +1 -1
- package/dist/components/model-selector.d.ts.map +1 -1
- package/dist/components/model-selector.js +7 -7
- package/dist/components/model-selector.js.map +1 -1
- package/dist/components/provider-selector.d.ts.map +1 -1
- package/dist/components/provider-selector.js +6 -6
- package/dist/components/provider-selector.js.map +1 -1
- package/dist/components/security-disclaimer.d.ts.map +1 -1
- package/dist/components/security-disclaimer.js +4 -4
- package/dist/components/security-disclaimer.js.map +1 -1
- package/dist/components/status.d.ts +5 -0
- package/dist/components/status.d.ts.map +1 -1
- package/dist/components/status.js +36 -7
- package/dist/components/status.js.map +1 -1
- package/dist/components/success-message.d.ts.map +1 -1
- package/dist/components/success-message.js +4 -4
- package/dist/components/success-message.js.map +1 -1
- package/dist/components/theme-selector.d.ts.map +1 -1
- package/dist/components/theme-selector.js +8 -8
- package/dist/components/theme-selector.js.map +1 -1
- package/dist/components/tool-confirmation.d.ts.map +1 -1
- package/dist/components/tool-confirmation.js +7 -7
- package/dist/components/tool-confirmation.js.map +1 -1
- package/dist/components/tool-execution-indicator.d.ts.map +1 -1
- package/dist/components/tool-execution-indicator.js +2 -2
- package/dist/components/tool-execution-indicator.js.map +1 -1
- package/dist/components/tool-message.d.ts.map +1 -1
- package/dist/components/tool-message.js +4 -5
- package/dist/components/tool-message.js.map +1 -1
- package/dist/components/ui/titled-box.d.ts +16 -0
- package/dist/components/ui/titled-box.d.ts.map +1 -0
- package/dist/components/ui/titled-box.js +10 -0
- package/dist/components/ui/titled-box.js.map +1 -0
- package/dist/components/usage/progress-bar.d.ts.map +1 -1
- package/dist/components/usage/progress-bar.js +3 -0
- package/dist/components/usage/progress-bar.js.map +1 -1
- package/dist/components/usage/usage-display.d.ts.map +1 -1
- package/dist/components/usage/usage-display.js +7 -4
- package/dist/components/usage/usage-display.js.map +1 -1
- package/dist/components/user-input.d.ts.map +1 -1
- package/dist/components/user-input.js +9 -8
- package/dist/components/user-input.js.map +1 -1
- package/dist/components/user-message.d.ts.map +1 -1
- package/dist/components/user-message.js +1 -1
- package/dist/components/user-message.js.map +1 -1
- package/dist/components/vscode-extension-prompt.js +3 -3
- package/dist/components/vscode-extension-prompt.js.map +1 -1
- package/dist/components/warning-message.d.ts.map +1 -1
- package/dist/components/warning-message.js +4 -4
- package/dist/components/warning-message.js.map +1 -1
- package/dist/components/welcome-message.d.ts.map +1 -1
- package/dist/components/welcome-message.js +4 -4
- package/dist/components/welcome-message.js.map +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +7 -7
- package/dist/config/index.js.map +1 -1
- package/dist/config/index.spec.js +4 -4
- package/dist/config/index.spec.js.map +1 -1
- package/dist/config/paths.spec.js +1 -1
- package/dist/config/paths.spec.js.map +1 -1
- package/dist/config/preferences.d.ts +0 -2
- package/dist/config/preferences.d.ts.map +1 -1
- package/dist/config/preferences.js +1 -11
- package/dist/config/preferences.js.map +1 -1
- package/dist/context/mode-context.d.ts +12 -0
- package/dist/context/mode-context.d.ts.map +1 -0
- package/dist/context/mode-context.js +21 -0
- package/dist/context/mode-context.js.map +1 -0
- package/dist/context/mode-context.spec.d.ts +2 -0
- package/dist/context/mode-context.spec.d.ts.map +1 -0
- package/dist/context/mode-context.spec.js +61 -0
- package/dist/context/mode-context.spec.js.map +1 -0
- package/dist/custom-commands/executor.d.ts.map +1 -1
- package/dist/custom-commands/executor.js.map +1 -1
- package/dist/custom-commands/loader.d.ts.map +1 -1
- package/dist/custom-commands/loader.js +1 -1
- package/dist/custom-commands/loader.js.map +1 -1
- package/dist/custom-commands/parser.d.ts.map +1 -1
- package/dist/custom-commands/parser.js.map +1 -1
- package/dist/hooks/useAppInitialization.d.ts +9 -5
- package/dist/hooks/useAppInitialization.d.ts.map +1 -1
- package/dist/hooks/useAppInitialization.js +119 -45
- package/dist/hooks/useAppInitialization.js.map +1 -1
- package/dist/hooks/useAppState.d.ts +28 -9
- package/dist/hooks/useAppState.d.ts.map +1 -1
- package/dist/hooks/useAppState.js +28 -8
- package/dist/hooks/useAppState.js.map +1 -1
- package/dist/hooks/useChatHandler.d.ts +5 -3
- package/dist/hooks/useChatHandler.d.ts.map +1 -1
- package/dist/hooks/useChatHandler.js +218 -118
- package/dist/hooks/useChatHandler.js.map +1 -1
- package/dist/hooks/useDirectoryTrust.js +1 -1
- package/dist/hooks/useDirectoryTrust.js.map +1 -1
- package/dist/hooks/useInputState.js +2 -2
- package/dist/hooks/useInputState.js.map +1 -1
- package/dist/hooks/useModeHandlers.d.ts +5 -5
- package/dist/hooks/useModeHandlers.d.ts.map +1 -1
- package/dist/hooks/useModeHandlers.js +12 -12
- package/dist/hooks/useModeHandlers.js.map +1 -1
- package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
- package/dist/hooks/useTerminalWidth.js +3 -3
- package/dist/hooks/useTerminalWidth.js.map +1 -1
- package/dist/hooks/useTheme.d.ts.map +1 -1
- package/dist/hooks/useTheme.js +1 -1
- package/dist/hooks/useTheme.js.map +1 -1
- package/dist/hooks/useToolHandler.d.ts +1 -1
- package/dist/hooks/useToolHandler.d.ts.map +1 -1
- package/dist/hooks/useToolHandler.js +4 -4
- package/dist/hooks/useToolHandler.js.map +1 -1
- package/dist/hooks/useUIState.d.ts +1 -1
- package/dist/hooks/useUIState.d.ts.map +1 -1
- package/dist/hooks/useUIState.js.map +1 -1
- package/dist/hooks/useVSCodeServer.js +2 -2
- package/dist/hooks/useVSCodeServer.js.map +1 -1
- package/dist/init/agents-template-generator.d.ts +1 -1
- package/dist/init/agents-template-generator.d.ts.map +1 -1
- package/dist/init/agents-template-generator.js.map +1 -1
- package/dist/init/existing-rules-extractor.js +1 -1
- package/dist/init/existing-rules-extractor.js.map +1 -1
- package/dist/init/file-scanner.js +2 -2
- package/dist/init/file-scanner.js.map +1 -1
- package/dist/init/framework-detector.js +1 -1
- package/dist/init/framework-detector.js.map +1 -1
- package/dist/init/project-analyzer.d.ts +1 -1
- package/dist/init/project-analyzer.d.ts.map +1 -1
- package/dist/init/project-analyzer.js +3 -3
- package/dist/init/project-analyzer.js.map +1 -1
- package/dist/lsp/lsp-client.d.ts +1 -1
- package/dist/lsp/lsp-client.d.ts.map +1 -1
- package/dist/lsp/lsp-client.js +1 -1
- package/dist/lsp/lsp-client.js.map +1 -1
- package/dist/lsp/lsp-client.spec.js +1 -2
- package/dist/lsp/lsp-client.spec.js.map +1 -1
- package/dist/lsp/lsp-manager.d.ts +1 -1
- package/dist/lsp/lsp-manager.d.ts.map +1 -1
- package/dist/lsp/lsp-manager.js.map +1 -1
- package/dist/lsp/lsp-manager.spec.js +1 -1
- package/dist/lsp/lsp-manager.spec.js.map +1 -1
- package/dist/lsp/protocol.spec.js +1 -1
- package/dist/lsp/protocol.spec.js.map +1 -1
- package/dist/lsp/server-discovery.spec.js +1 -1
- package/dist/lsp/server-discovery.spec.js.map +1 -1
- package/dist/markdown-parser/index.spec.js.map +1 -1
- package/dist/markdown-parser/table-parser.spec.js.map +1 -1
- package/dist/mcp/mcp-client.d.ts +3 -2
- package/dist/mcp/mcp-client.d.ts.map +1 -1
- package/dist/mcp/mcp-client.js +279 -96
- package/dist/mcp/mcp-client.js.map +1 -1
- package/dist/mcp/transport-factory.d.ts +1 -1
- package/dist/mcp/transport-factory.d.ts.map +1 -1
- package/dist/mcp/transport-factory.js +16 -3
- package/dist/mcp/transport-factory.js.map +1 -1
- package/dist/mcp/transport-factory.spec.js +30 -48
- package/dist/mcp/transport-factory.spec.js.map +1 -1
- package/dist/message-handler.d.ts +1 -1
- package/dist/message-handler.d.ts.map +1 -1
- package/dist/message-handler.js +1 -1
- package/dist/message-handler.js.map +1 -1
- package/dist/model-database/database-engine.d.ts +25 -0
- package/dist/model-database/database-engine.d.ts.map +1 -0
- package/dist/model-database/database-engine.js +37 -0
- package/dist/model-database/database-engine.js.map +1 -0
- package/dist/model-database/database-engine.spec.d.ts +2 -0
- package/dist/model-database/database-engine.spec.d.ts.map +1 -0
- package/dist/model-database/database-engine.spec.js +413 -0
- package/dist/model-database/database-engine.spec.js.map +1 -0
- package/dist/model-database/model-database.d.ts +30 -0
- package/dist/model-database/model-database.d.ts.map +1 -0
- package/dist/model-database/model-database.js +82 -0
- package/dist/model-database/model-database.js.map +1 -0
- package/dist/model-database/model-database.spec.d.ts +2 -0
- package/dist/model-database/model-database.spec.d.ts.map +1 -0
- package/dist/model-database/model-database.spec.js +322 -0
- package/dist/model-database/model-database.spec.js.map +1 -0
- package/dist/model-database/model-engine.d.ts +25 -0
- package/dist/model-database/model-engine.d.ts.map +1 -0
- package/dist/model-database/model-engine.js +49 -0
- package/dist/model-database/model-engine.js.map +1 -0
- package/dist/model-database/model-engine.spec.d.ts +2 -0
- package/dist/model-database/model-engine.spec.d.ts.map +1 -0
- package/dist/model-database/model-engine.spec.js +381 -0
- package/dist/model-database/model-engine.spec.js.map +1 -0
- package/dist/model-database/model-fetcher.d.ts +14 -0
- package/dist/model-database/model-fetcher.d.ts.map +1 -0
- package/dist/model-database/model-fetcher.js +249 -0
- package/dist/model-database/model-fetcher.js.map +1 -0
- package/dist/model-database/model-fetcher.spec.d.ts +2 -0
- package/dist/model-database/model-fetcher.spec.d.ts.map +1 -0
- package/dist/model-database/model-fetcher.spec.js +498 -0
- package/dist/model-database/model-fetcher.spec.js.map +1 -0
- package/dist/models/models-cache.d.ts +1 -1
- package/dist/models/models-cache.d.ts.map +1 -1
- package/dist/models/models-cache.js +1 -1
- package/dist/models/models-cache.js.map +1 -1
- package/dist/models/models-dev-client.d.ts.map +1 -1
- package/dist/models/models-dev-client.js +23 -7
- package/dist/models/models-dev-client.js.map +1 -1
- package/dist/prompt-history.js +2 -2
- package/dist/prompt-history.js.map +1 -1
- package/dist/services/checkpoint-manager.d.ts +68 -0
- package/dist/services/checkpoint-manager.d.ts.map +1 -0
- package/dist/services/checkpoint-manager.js +345 -0
- package/dist/services/checkpoint-manager.js.map +1 -0
- package/dist/services/checkpoint-manager.spec.d.ts +2 -0
- package/dist/services/checkpoint-manager.spec.d.ts.map +1 -0
- package/dist/services/checkpoint-manager.spec.js +353 -0
- package/dist/services/checkpoint-manager.spec.js.map +1 -0
- package/dist/services/file-snapshot.d.ts +32 -0
- package/dist/services/file-snapshot.d.ts.map +1 -0
- package/dist/services/file-snapshot.js +161 -0
- package/dist/services/file-snapshot.js.map +1 -0
- package/dist/services/file-snapshot.spec.d.ts +2 -0
- package/dist/services/file-snapshot.spec.d.ts.map +1 -0
- package/dist/services/file-snapshot.spec.js +285 -0
- package/dist/services/file-snapshot.spec.js.map +1 -0
- package/dist/test-utils/render-with-theme.d.ts +7 -0
- package/dist/test-utils/render-with-theme.d.ts.map +1 -0
- package/dist/test-utils/render-with-theme.js +38 -0
- package/dist/test-utils/render-with-theme.js.map +1 -0
- package/dist/tokenization/tokenizer-factory.js +2 -2
- package/dist/tokenization/tokenizer-factory.js.map +1 -1
- package/dist/tokenization/tokenizer-factory.spec.js +2 -2
- package/dist/tokenization/tokenizer-factory.spec.js.map +1 -1
- package/dist/tokenization/tokenizers/anthropic-tokenizer.d.ts +1 -1
- package/dist/tokenization/tokenizers/anthropic-tokenizer.d.ts.map +1 -1
- package/dist/tokenization/tokenizers/anthropic-tokenizer.js.map +1 -1
- package/dist/tokenization/tokenizers/anthropic-tokenizer.spec.js.map +1 -1
- package/dist/tokenization/tokenizers/fallback-tokenizer.d.ts +1 -1
- package/dist/tokenization/tokenizers/fallback-tokenizer.d.ts.map +1 -1
- package/dist/tokenization/tokenizers/fallback-tokenizer.spec.js.map +1 -1
- package/dist/tokenization/tokenizers/llama-tokenizer.d.ts +1 -1
- package/dist/tokenization/tokenizers/llama-tokenizer.d.ts.map +1 -1
- package/dist/tokenization/tokenizers/llama-tokenizer.js.map +1 -1
- package/dist/tokenization/tokenizers/llama-tokenizer.spec.js.map +1 -1
- package/dist/tokenization/tokenizers/openai-tokenizer.d.ts +1 -1
- package/dist/tokenization/tokenizers/openai-tokenizer.d.ts.map +1 -1
- package/dist/tokenization/tokenizers/openai-tokenizer.js.map +1 -1
- package/dist/tokenization/tokenizers/openai-tokenizer.spec.js.map +1 -1
- package/dist/tool-calling/json-parser.d.ts.map +1 -1
- package/dist/tool-calling/json-parser.js +12 -14
- package/dist/tool-calling/json-parser.js.map +1 -1
- package/dist/tool-calling/json-parser.spec.js +7 -7
- package/dist/tool-calling/json-parser.spec.js.map +1 -1
- package/dist/tool-calling/tool-parser.d.ts.map +1 -1
- package/dist/tool-calling/tool-parser.js +38 -10
- package/dist/tool-calling/tool-parser.js.map +1 -1
- package/dist/tool-calling/tool-parser.spec.js +82 -4
- package/dist/tool-calling/tool-parser.spec.js.map +1 -1
- package/dist/tool-calling/xml-parser.d.ts.map +1 -1
- package/dist/tool-calling/xml-parser.js +21 -23
- package/dist/tool-calling/xml-parser.js.map +1 -1
- package/dist/tool-calling/xml-parser.spec.js +23 -3
- package/dist/tool-calling/xml-parser.spec.js.map +1 -1
- package/dist/tools/create-file.d.ts +24 -2
- package/dist/tools/create-file.d.ts.map +1 -1
- package/dist/tools/create-file.js +20 -16
- package/dist/tools/create-file.js.map +1 -1
- package/dist/tools/delete-lines.d.ts +18 -2
- package/dist/tools/delete-lines.d.ts.map +1 -1
- package/dist/tools/delete-lines.js +22 -17
- package/dist/tools/delete-lines.js.map +1 -1
- package/dist/tools/execute-bash.d.ts +2 -2
- package/dist/tools/execute-bash.d.ts.map +1 -1
- package/dist/tools/execute-bash.js +13 -12
- package/dist/tools/execute-bash.js.map +1 -1
- package/dist/tools/execute-function.spec.d.ts +2 -0
- package/dist/tools/execute-function.spec.d.ts.map +1 -0
- package/dist/tools/execute-function.spec.js +141 -0
- package/dist/tools/execute-function.spec.js.map +1 -0
- package/dist/tools/fetch-url.d.ts +16 -2
- package/dist/tools/fetch-url.d.ts.map +1 -1
- package/dist/tools/fetch-url.js +13 -13
- package/dist/tools/fetch-url.js.map +1 -1
- package/dist/tools/find-files.d.ts +18 -2
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +13 -11
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/index.d.ts +2 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +35 -25
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/insert-lines.d.ts +18 -2
- package/dist/tools/insert-lines.d.ts.map +1 -1
- package/dist/tools/insert-lines.js +21 -16
- package/dist/tools/insert-lines.js.map +1 -1
- package/dist/tools/lsp-get-diagnostics.d.ts +10 -2
- package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
- package/dist/tools/lsp-get-diagnostics.js +13 -11
- package/dist/tools/lsp-get-diagnostics.js.map +1 -1
- package/dist/tools/needs-approval.spec.d.ts +2 -0
- package/dist/tools/needs-approval.spec.d.ts.map +1 -0
- package/dist/tools/needs-approval.spec.js +308 -0
- package/dist/tools/needs-approval.spec.js.map +1 -0
- package/dist/tools/read-file.d.ts +2 -2
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +16 -18
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/replace-lines.d.ts +19 -2
- package/dist/tools/replace-lines.d.ts.map +1 -1
- package/dist/tools/replace-lines.js +21 -16
- package/dist/tools/replace-lines.js.map +1 -1
- package/dist/tools/search-file-contents.d.ts +20 -2
- package/dist/tools/search-file-contents.d.ts.map +1 -1
- package/dist/tools/search-file-contents.js +17 -14
- package/dist/tools/search-file-contents.js.map +1 -1
- package/dist/tools/tool-manager.d.ts +1 -1
- package/dist/tools/tool-manager.d.ts.map +1 -1
- package/dist/tools/tool-manager.js +1 -1
- package/dist/tools/tool-manager.js.map +1 -1
- package/dist/tools/tool-registry.d.ts +1 -1
- package/dist/tools/tool-registry.d.ts.map +1 -1
- package/dist/tools/web-search.d.ts +2 -2
- package/dist/tools/web-search.d.ts.map +1 -1
- package/dist/tools/web-search.js +14 -14
- package/dist/tools/web-search.js.map +1 -1
- package/dist/types/app.d.ts +7 -4
- package/dist/types/app.d.ts.map +1 -1
- package/dist/types/checkpoint.d.ts +43 -0
- package/dist/types/checkpoint.d.ts.map +1 -0
- package/dist/types/checkpoint.js +2 -0
- package/dist/types/checkpoint.js.map +1 -0
- package/dist/types/config.d.ts +0 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/core-connection-status.spec.d.ts +2 -0
- package/dist/types/core-connection-status.spec.d.ts.map +1 -0
- package/dist/types/core-connection-status.spec.js +52 -0
- package/dist/types/core-connection-status.spec.js.map +1 -0
- package/dist/types/core.d.ts +34 -29
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/system.d.ts +5 -30
- package/dist/types/system.d.ts.map +1 -1
- package/dist/usage/calculator.spec.js +1 -1
- package/dist/usage/calculator.spec.js.map +1 -1
- package/dist/usage/storage.d.ts +1 -1
- package/dist/usage/storage.d.ts.map +1 -1
- package/dist/usage/storage.js +9 -3
- package/dist/usage/storage.js.map +1 -1
- package/dist/usage/storage.spec.js +3 -3
- package/dist/usage/storage.spec.js.map +1 -1
- package/dist/usage/tracker.d.ts.map +1 -1
- package/dist/usage/tracker.js +1 -1
- package/dist/usage/tracker.js.map +1 -1
- package/dist/usage/tracker.spec.js +4 -4
- package/dist/usage/tracker.spec.js.map +1 -1
- package/dist/utils/atomic-deletion.spec.js +1 -1
- package/dist/utils/atomic-deletion.spec.js.map +1 -1
- package/dist/utils/checkpoint-utils.d.ts +12 -0
- package/dist/utils/checkpoint-utils.d.ts.map +1 -0
- package/dist/utils/checkpoint-utils.js +85 -0
- package/dist/utils/checkpoint-utils.js.map +1 -0
- package/dist/utils/checkpoint-utils.spec.d.ts +2 -0
- package/dist/utils/checkpoint-utils.spec.d.ts.map +1 -0
- package/dist/utils/checkpoint-utils.spec.js +182 -0
- package/dist/utils/checkpoint-utils.spec.js.map +1 -0
- package/dist/utils/error-formatter.d.ts +35 -0
- package/dist/utils/error-formatter.d.ts.map +1 -1
- package/dist/utils/error-formatter.js +123 -0
- package/dist/utils/error-formatter.js.map +1 -1
- package/dist/utils/file-autocomplete.js +2 -2
- package/dist/utils/file-autocomplete.js.map +1 -1
- package/dist/utils/file-autocomplete.spec.js +1 -1
- package/dist/utils/file-autocomplete.spec.js.map +1 -1
- package/dist/utils/file-content-loader.js +1 -1
- package/dist/utils/file-content-loader.js.map +1 -1
- package/dist/utils/file-content-loader.spec.js +4 -4
- package/dist/utils/file-content-loader.spec.js.map +1 -1
- package/dist/utils/file-mention-handler.js.map +1 -1
- package/dist/utils/file-mention-handler.spec.js +4 -4
- package/dist/utils/file-mention-handler.spec.js.map +1 -1
- package/dist/utils/file-mention-parser.spec.js +2 -2
- package/dist/utils/file-mention-parser.spec.js.map +1 -1
- package/dist/utils/installation-detector.js +2 -2
- package/dist/utils/installation-detector.js.map +1 -1
- package/dist/utils/installation-detector.spec.js +10 -17
- package/dist/utils/installation-detector.spec.js.map +1 -1
- package/dist/utils/logging/config.d.ts +41 -0
- package/dist/utils/logging/config.d.ts.map +1 -0
- package/dist/utils/logging/config.js +188 -0
- package/dist/utils/logging/config.js.map +1 -0
- package/dist/utils/logging/config.spec.d.ts +2 -0
- package/dist/utils/logging/config.spec.d.ts.map +1 -0
- package/dist/utils/logging/config.spec.js +233 -0
- package/dist/utils/logging/config.spec.js.map +1 -0
- package/dist/utils/logging/console-facade.d.ts +93 -0
- package/dist/utils/logging/console-facade.d.ts.map +1 -0
- package/dist/utils/logging/console-facade.js +295 -0
- package/dist/utils/logging/console-facade.js.map +1 -0
- package/dist/utils/logging/console-facade.spec.d.ts +2 -0
- package/dist/utils/logging/console-facade.spec.d.ts.map +1 -0
- package/dist/utils/logging/console-facade.spec.js +143 -0
- package/dist/utils/logging/console-facade.spec.js.map +1 -0
- package/dist/utils/logging/correlation.d.ts +139 -0
- package/dist/utils/logging/correlation.d.ts.map +1 -0
- package/dist/utils/logging/correlation.js +410 -0
- package/dist/utils/logging/correlation.js.map +1 -0
- package/dist/utils/logging/correlation.spec.d.ts +2 -0
- package/dist/utils/logging/correlation.spec.d.ts.map +1 -0
- package/dist/utils/logging/correlation.spec.js +449 -0
- package/dist/utils/logging/correlation.spec.js.map +1 -0
- package/dist/utils/logging/formatters.d.ts +70 -0
- package/dist/utils/logging/formatters.d.ts.map +1 -0
- package/dist/utils/logging/formatters.js +186 -0
- package/dist/utils/logging/formatters.js.map +1 -0
- package/dist/utils/logging/formatters.spec.d.ts +2 -0
- package/dist/utils/logging/formatters.spec.d.ts.map +1 -0
- package/dist/utils/logging/formatters.spec.js +356 -0
- package/dist/utils/logging/formatters.spec.js.map +1 -0
- package/dist/utils/logging/health-monitor.d.ts +216 -0
- package/dist/utils/logging/health-monitor.d.ts.map +1 -0
- package/dist/utils/logging/health-monitor.js +760 -0
- package/dist/utils/logging/health-monitor.js.map +1 -0
- package/dist/utils/logging/health-monitor.spec.d.ts +2 -0
- package/dist/utils/logging/health-monitor.spec.d.ts.map +1 -0
- package/dist/utils/logging/health-monitor.spec.js +305 -0
- package/dist/utils/logging/health-monitor.spec.js.map +1 -0
- package/dist/utils/logging/index.d.ts +100 -0
- package/dist/utils/logging/index.d.ts.map +1 -0
- package/dist/utils/logging/index.js +186 -0
- package/dist/utils/logging/index.js.map +1 -0
- package/dist/utils/logging/index.spec.d.ts +2 -0
- package/dist/utils/logging/index.spec.d.ts.map +1 -0
- package/dist/utils/logging/index.spec.js +214 -0
- package/dist/utils/logging/index.spec.js.map +1 -0
- package/dist/utils/logging/integration.spec.d.ts +2 -0
- package/dist/utils/logging/integration.spec.d.ts.map +1 -0
- package/dist/utils/logging/integration.spec.js +312 -0
- package/dist/utils/logging/integration.spec.js.map +1 -0
- package/dist/utils/logging/log-method-factory.d.ts +43 -0
- package/dist/utils/logging/log-method-factory.d.ts.map +1 -0
- package/dist/utils/logging/log-method-factory.js +176 -0
- package/dist/utils/logging/log-method-factory.js.map +1 -0
- package/dist/utils/logging/log-method-factory.spec.d.ts +2 -0
- package/dist/utils/logging/log-method-factory.spec.d.ts.map +1 -0
- package/dist/utils/logging/log-method-factory.spec.js +428 -0
- package/dist/utils/logging/log-method-factory.spec.js.map +1 -0
- package/dist/utils/logging/log-query.d.ts +275 -0
- package/dist/utils/logging/log-query.d.ts.map +1 -0
- package/dist/utils/logging/log-query.js +621 -0
- package/dist/utils/logging/log-query.js.map +1 -0
- package/dist/utils/logging/log-query.spec.d.ts +2 -0
- package/dist/utils/logging/log-query.spec.d.ts.map +1 -0
- package/dist/utils/logging/log-query.spec.js +737 -0
- package/dist/utils/logging/log-query.spec.js.map +1 -0
- package/dist/utils/logging/logger-provider.d.ts +73 -0
- package/dist/utils/logging/logger-provider.d.ts.map +1 -0
- package/dist/utils/logging/logger-provider.js +298 -0
- package/dist/utils/logging/logger-provider.js.map +1 -0
- package/dist/utils/logging/logger-provider.spec.d.ts +2 -0
- package/dist/utils/logging/logger-provider.spec.d.ts.map +1 -0
- package/dist/utils/logging/logger-provider.spec.js +204 -0
- package/dist/utils/logging/logger-provider.spec.js.map +1 -0
- package/dist/utils/logging/performance.d.ts +147 -0
- package/dist/utils/logging/performance.d.ts.map +1 -0
- package/dist/utils/logging/performance.js +520 -0
- package/dist/utils/logging/performance.js.map +1 -0
- package/dist/utils/logging/performance.spec.d.ts +2 -0
- package/dist/utils/logging/performance.spec.d.ts.map +1 -0
- package/dist/utils/logging/performance.spec.js +139 -0
- package/dist/utils/logging/performance.spec.js.map +1 -0
- package/dist/utils/logging/pino-logger.d.ts +22 -0
- package/dist/utils/logging/pino-logger.d.ts.map +1 -0
- package/dist/utils/logging/pino-logger.js +372 -0
- package/dist/utils/logging/pino-logger.js.map +1 -0
- package/dist/utils/logging/pino-logger.spec.d.ts +2 -0
- package/dist/utils/logging/pino-logger.spec.d.ts.map +1 -0
- package/dist/utils/logging/pino-logger.spec.js +294 -0
- package/dist/utils/logging/pino-logger.spec.js.map +1 -0
- package/dist/utils/logging/redaction.d.ts +38 -0
- package/dist/utils/logging/redaction.d.ts.map +1 -0
- package/dist/utils/logging/redaction.js +210 -0
- package/dist/utils/logging/redaction.js.map +1 -0
- package/dist/utils/logging/redaction.spec.d.ts +2 -0
- package/dist/utils/logging/redaction.spec.d.ts.map +1 -0
- package/dist/utils/logging/redaction.spec.js +338 -0
- package/dist/utils/logging/redaction.spec.js.map +1 -0
- package/dist/utils/logging/request-tracker.d.ts +189 -0
- package/dist/utils/logging/request-tracker.d.ts.map +1 -0
- package/dist/utils/logging/request-tracker.js +569 -0
- package/dist/utils/logging/request-tracker.js.map +1 -0
- package/dist/utils/logging/request-tracker.spec.d.ts +2 -0
- package/dist/utils/logging/request-tracker.spec.d.ts.map +1 -0
- package/dist/utils/logging/request-tracker.spec.js +868 -0
- package/dist/utils/logging/request-tracker.spec.js.map +1 -0
- package/dist/utils/logging/transports.d.ts +55 -0
- package/dist/utils/logging/transports.d.ts.map +1 -0
- package/dist/utils/logging/transports.js +252 -0
- package/dist/utils/logging/transports.js.map +1 -0
- package/dist/utils/logging/transports.spec.d.ts +2 -0
- package/dist/utils/logging/transports.spec.d.ts.map +1 -0
- package/dist/utils/logging/transports.spec.js +390 -0
- package/dist/utils/logging/transports.spec.js.map +1 -0
- package/dist/utils/logging/types.d.ts +173 -0
- package/dist/utils/logging/types.d.ts.map +1 -0
- package/dist/utils/logging/types.js +5 -0
- package/dist/utils/logging/types.js.map +1 -0
- package/dist/utils/message-queue.d.ts +64 -4
- package/dist/utils/message-queue.d.ts.map +1 -1
- package/dist/utils/message-queue.js +282 -28
- package/dist/utils/message-queue.js.map +1 -1
- package/dist/utils/paste-utils.spec.js +1 -1
- package/dist/utils/paste-utils.spec.js.map +1 -1
- package/dist/utils/prompt-processor.d.ts +2 -3
- package/dist/utils/prompt-processor.d.ts.map +1 -1
- package/dist/utils/prompt-processor.js +4 -52
- package/dist/utils/prompt-processor.js.map +1 -1
- package/dist/utils/tool-cancellation.spec.js.map +1 -1
- package/dist/utils/tool-result-display.d.ts +2 -2
- package/dist/utils/tool-result-display.d.ts.map +1 -1
- package/dist/utils/tool-result-display.js +3 -3
- package/dist/utils/tool-result-display.js.map +1 -1
- package/dist/utils/update-checker.d.ts.map +1 -1
- package/dist/utils/update-checker.js +1 -1
- package/dist/utils/update-checker.js.map +1 -1
- package/dist/utils/update-checker.spec.js +2 -2
- package/dist/utils/update-checker.spec.js.map +1 -1
- package/dist/vscode/extension-installer.js +1 -1
- package/dist/vscode/extension-installer.js.map +1 -1
- package/dist/vscode/extension-installer.spec.js +1 -1
- package/dist/vscode/extension-installer.spec.js.map +1 -1
- package/dist/vscode/protocol.spec.js +1 -1
- package/dist/vscode/protocol.spec.js.map +1 -1
- package/dist/vscode/vscode-server.d.ts.map +1 -1
- package/dist/vscode/vscode-server.js +2 -2
- package/dist/vscode/vscode-server.js.map +1 -1
- package/dist/vscode/vscode-server.spec.js.map +1 -1
- package/dist/wizard/config-wizard.d.ts.map +1 -1
- package/dist/wizard/config-wizard.js +16 -12
- package/dist/wizard/config-wizard.js.map +1 -1
- package/dist/wizard/steps/location-step.js +4 -4
- package/dist/wizard/steps/location-step.js.map +1 -1
- package/dist/wizard/steps/mcp-step.d.ts.map +1 -1
- package/dist/wizard/steps/mcp-step.js +4 -4
- package/dist/wizard/steps/mcp-step.js.map +1 -1
- package/dist/wizard/steps/provider-step.d.ts.map +1 -1
- package/dist/wizard/steps/provider-step.js +4 -4
- package/dist/wizard/steps/provider-step.js.map +1 -1
- package/dist/wizard/steps/summary-step.d.ts.map +1 -1
- package/dist/wizard/steps/summary-step.js +2 -2
- package/dist/wizard/steps/summary-step.js.map +1 -1
- package/dist/wizard/templates/provider-templates.d.ts.map +1 -1
- package/dist/wizard/templates/provider-templates.js +66 -2
- package/dist/wizard/templates/provider-templates.js.map +1 -1
- package/dist/wizard/validation-array.spec.js +1 -1
- package/dist/wizard/validation-array.spec.js.map +1 -1
- package/dist/wizard/validation.spec.js +1 -1
- package/dist/wizard/validation.spec.js.map +1 -1
- package/package.json +28 -26
- package/source/app/prompts/main-prompt.md +29 -96
- package/dist/commands/recommendations.d.ts +0 -8
- package/dist/commands/recommendations.d.ts.map +0 -1
- package/dist/commands/recommendations.js +0 -311
- package/dist/commands/recommendations.js.map +0 -1
- package/dist/commands/streaming.d.ts +0 -3
- package/dist/commands/streaming.d.ts.map +0 -1
- package/dist/commands/streaming.js +0 -23
- package/dist/commands/streaming.js.map +0 -1
- package/dist/components/thinking-indicator.d.ts +0 -3
- package/dist/components/thinking-indicator.d.ts.map +0 -1
- package/dist/components/thinking-indicator.js +0 -69
- package/dist/components/thinking-indicator.js.map +0 -1
- package/dist/recommendations/model-database.d.ts +0 -8
- package/dist/recommendations/model-database.d.ts.map +0 -1
- package/dist/recommendations/model-database.js +0 -514
- package/dist/recommendations/model-database.js.map +0 -1
- package/dist/recommendations/model-engine.d.ts +0 -16
- package/dist/recommendations/model-engine.d.ts.map +0 -1
- package/dist/recommendations/model-engine.js +0 -185
- package/dist/recommendations/model-engine.js.map +0 -1
- package/dist/recommendations/recommendation-engine.d.ts +0 -39
- package/dist/recommendations/recommendation-engine.d.ts.map +0 -1
- package/dist/recommendations/recommendation-engine.js +0 -144
- package/dist/recommendations/recommendation-engine.js.map +0 -1
- package/dist/system/detector.d.ts +0 -18
- package/dist/system/detector.d.ts.map +0 -1
- package/dist/system/detector.js +0 -140
- package/dist/system/detector.js.map +0 -1
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Console API facade for backward compatibility
|
|
3
|
+
* Provides drop-in replacement for console methods that routes through structured logging
|
|
4
|
+
*
|
|
5
|
+
* This allows gradual migration from console.log to structured logging
|
|
6
|
+
* without breaking existing code patterns
|
|
7
|
+
*/
|
|
8
|
+
import { createErrorInfo } from '../../utils/error-formatter.js';
|
|
9
|
+
import { generateCorrelationId, getLogger, withNewCorrelationContext, } from '../../utils/logging/index.js';
|
|
10
|
+
// Get logger instance directly to avoid circular dependencies
|
|
11
|
+
const logger = getLogger();
|
|
12
|
+
/**
|
|
13
|
+
* Create a console method with specific logging level and special handling
|
|
14
|
+
* This factory reduces code duplication across different console methods
|
|
15
|
+
*/
|
|
16
|
+
function createConsoleMethod(level, options) {
|
|
17
|
+
const { specialErrorHandling = false, isInfoMethod = false } = options || {};
|
|
18
|
+
return (...args) => {
|
|
19
|
+
const _correlationId = generateCorrelationId();
|
|
20
|
+
withNewCorrelationContext(context => {
|
|
21
|
+
if (args.length === 0) {
|
|
22
|
+
logger[level](`Empty console.${level} call`, {
|
|
23
|
+
correlationId: context.id,
|
|
24
|
+
source: 'console-facade',
|
|
25
|
+
});
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
// Special handling for Error objects in console.error
|
|
29
|
+
if (specialErrorHandling &&
|
|
30
|
+
args.length === 1 &&
|
|
31
|
+
args[0] instanceof Error) {
|
|
32
|
+
const errorInfo = createErrorInfo(args[0], undefined, _correlationId);
|
|
33
|
+
logger.error('Error logged via console.error', {
|
|
34
|
+
errorInfo,
|
|
35
|
+
correlationId: context.id,
|
|
36
|
+
source: 'console-facade',
|
|
37
|
+
});
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
// Handle single argument case
|
|
41
|
+
if (args.length === 1) {
|
|
42
|
+
const arg = args[0];
|
|
43
|
+
if (typeof arg === 'string') {
|
|
44
|
+
logger[level](arg, {
|
|
45
|
+
correlationId: context.id,
|
|
46
|
+
source: 'console-facade',
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else if (typeof arg === 'object' && arg !== null) {
|
|
50
|
+
const message = `${level === 'error' ? 'Error' : 'Object'} logged via console.${level}`;
|
|
51
|
+
logger[level](message, {
|
|
52
|
+
object: arg,
|
|
53
|
+
correlationId: context.id,
|
|
54
|
+
source: 'console-facade',
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
logger[level](String(arg), {
|
|
59
|
+
correlationId: context.id,
|
|
60
|
+
source: 'console-facade',
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
// Multiple arguments - join strings and log objects separately
|
|
66
|
+
const strings = args.filter(arg => typeof arg === 'string');
|
|
67
|
+
const objects = args.filter(arg => typeof arg === 'object' && arg !== null);
|
|
68
|
+
const primitives = args.filter(arg => typeof arg !== 'string' && typeof arg !== 'object');
|
|
69
|
+
let message = strings.join(' ');
|
|
70
|
+
if (primitives.length > 0) {
|
|
71
|
+
message += ' ' + primitives.map(String).join(' ');
|
|
72
|
+
}
|
|
73
|
+
const logData = {
|
|
74
|
+
correlationId: context.id,
|
|
75
|
+
source: 'console-facade',
|
|
76
|
+
argumentCount: args.length,
|
|
77
|
+
stringArgs: strings.length,
|
|
78
|
+
objectArgs: objects.length,
|
|
79
|
+
primitiveArgs: primitives.length,
|
|
80
|
+
};
|
|
81
|
+
if (objects.length > 0) {
|
|
82
|
+
logData.objects = objects;
|
|
83
|
+
}
|
|
84
|
+
// Check for error-like objects that aren't Error instances (only for error level)
|
|
85
|
+
if (level === 'error') {
|
|
86
|
+
const errorLikeObjects = objects.filter(obj => obj &&
|
|
87
|
+
typeof obj === 'object' &&
|
|
88
|
+
('message' in obj || 'error' in obj || 'err' in obj));
|
|
89
|
+
if (errorLikeObjects.length > 0) {
|
|
90
|
+
logData.errorLikeObjects = errorLikeObjects;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
// Use appropriate logger level (info for both log and info methods)
|
|
94
|
+
const loggerLevel = isInfoMethod ? 'info' : level;
|
|
95
|
+
logger[loggerLevel](message || `console.${level} called`, logData);
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Console replacement that routes to structured logging
|
|
101
|
+
* Maintains the same API as global console but adds structured logging benefits
|
|
102
|
+
*/
|
|
103
|
+
const StructuredConsole = {
|
|
104
|
+
/**
|
|
105
|
+
* Replacement for console.log - routes to logger.info
|
|
106
|
+
* Accepts any number of arguments and formats them appropriately
|
|
107
|
+
*/
|
|
108
|
+
log: createConsoleMethod('info', { isInfoMethod: true }),
|
|
109
|
+
/**
|
|
110
|
+
* Replacement for console.error - routes to logger.error with error analysis
|
|
111
|
+
*/
|
|
112
|
+
error: createConsoleMethod('error', { specialErrorHandling: true }),
|
|
113
|
+
/**
|
|
114
|
+
* Replacement for console.warn - routes to logger.warn
|
|
115
|
+
*/
|
|
116
|
+
warn: createConsoleMethod('warn'),
|
|
117
|
+
/**
|
|
118
|
+
* Replacement for console.info - routes to logger.info
|
|
119
|
+
*/
|
|
120
|
+
info: createConsoleMethod('info', { isInfoMethod: true }),
|
|
121
|
+
/**
|
|
122
|
+
* Replacement for console.debug - routes to logger.debug
|
|
123
|
+
*/
|
|
124
|
+
debug: createConsoleMethod('debug'),
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Global console replacement hook
|
|
128
|
+
* Can be used to temporarily replace global console for testing or specific modules
|
|
129
|
+
*/
|
|
130
|
+
export class ConsoleInterceptor {
|
|
131
|
+
originalConsole;
|
|
132
|
+
isActive = false;
|
|
133
|
+
constructor() {
|
|
134
|
+
this.originalConsole = { ...console };
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Replace global console with structured logging version
|
|
138
|
+
*/
|
|
139
|
+
activate() {
|
|
140
|
+
if (this.isActive) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
console.log = StructuredConsole.log;
|
|
144
|
+
console.error = StructuredConsole.error;
|
|
145
|
+
console.warn = StructuredConsole.warn;
|
|
146
|
+
console.info = StructuredConsole.info;
|
|
147
|
+
console.debug = StructuredConsole.debug;
|
|
148
|
+
this.isActive = true;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Restore original global console
|
|
152
|
+
*/
|
|
153
|
+
deactivate = () => {
|
|
154
|
+
if (!this.isActive) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
158
|
+
console.log = this.originalConsole.log;
|
|
159
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
160
|
+
console.error = this.originalConsole.error;
|
|
161
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
162
|
+
console.warn = this.originalConsole.warn;
|
|
163
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
164
|
+
console.info = this.originalConsole.info;
|
|
165
|
+
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
166
|
+
console.debug = this.originalConsole.debug;
|
|
167
|
+
this.isActive = false;
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Check if interceptor is active
|
|
171
|
+
*/
|
|
172
|
+
isInterceptorActive() {
|
|
173
|
+
return this.isActive;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Execute a function with console temporarily replaced
|
|
177
|
+
*/
|
|
178
|
+
withStructuredConsole(fn) {
|
|
179
|
+
this.activate();
|
|
180
|
+
try {
|
|
181
|
+
return fn();
|
|
182
|
+
}
|
|
183
|
+
finally {
|
|
184
|
+
this.deactivate();
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Global console interceptor instance
|
|
190
|
+
*/
|
|
191
|
+
export const globalConsoleInterceptor = new ConsoleInterceptor();
|
|
192
|
+
/**
|
|
193
|
+
* Decorator to automatically route console calls in a function to structured logging
|
|
194
|
+
* @internal
|
|
195
|
+
*/
|
|
196
|
+
export function useStructuredConsoleDecorator(_target, _propertyName, descriptor) {
|
|
197
|
+
const originalMethod = descriptor.value;
|
|
198
|
+
if (typeof originalMethod === 'function') {
|
|
199
|
+
descriptor.value = function (...args) {
|
|
200
|
+
return globalConsoleInterceptor.withStructuredConsole(() => {
|
|
201
|
+
return Reflect.apply(originalMethod, this, args);
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
return descriptor;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Convenience function to create a module-scoped console
|
|
209
|
+
* Useful for gradual migration of individual modules
|
|
210
|
+
*/
|
|
211
|
+
export function createModuleConsole(moduleName) {
|
|
212
|
+
return {
|
|
213
|
+
log: (...args) => {
|
|
214
|
+
logger.info(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
|
|
215
|
+
moduleName,
|
|
216
|
+
allArgs: args,
|
|
217
|
+
correlationId: generateCorrelationId(),
|
|
218
|
+
source: 'module-console',
|
|
219
|
+
});
|
|
220
|
+
},
|
|
221
|
+
error: (...args) => {
|
|
222
|
+
logger.error(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
|
|
223
|
+
moduleName,
|
|
224
|
+
allArgs: args,
|
|
225
|
+
correlationId: generateCorrelationId(),
|
|
226
|
+
source: 'module-console',
|
|
227
|
+
});
|
|
228
|
+
},
|
|
229
|
+
warn: (...args) => {
|
|
230
|
+
logger.warn(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
|
|
231
|
+
moduleName,
|
|
232
|
+
allArgs: args,
|
|
233
|
+
correlationId: generateCorrelationId(),
|
|
234
|
+
source: 'module-console',
|
|
235
|
+
});
|
|
236
|
+
},
|
|
237
|
+
info: (...args) => {
|
|
238
|
+
logger.info(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
|
|
239
|
+
moduleName,
|
|
240
|
+
allArgs: args,
|
|
241
|
+
correlationId: generateCorrelationId(),
|
|
242
|
+
source: 'module-console',
|
|
243
|
+
});
|
|
244
|
+
},
|
|
245
|
+
debug: (...args) => {
|
|
246
|
+
logger.debug(`[${moduleName}] ${args.filter(a => typeof a === 'string').join(' ')}`, {
|
|
247
|
+
moduleName,
|
|
248
|
+
allArgs: args,
|
|
249
|
+
correlationId: generateCorrelationId(),
|
|
250
|
+
source: 'module-console',
|
|
251
|
+
});
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Migration helper to identify console usage patterns
|
|
257
|
+
* Returns statistics about console method usage in the current execution
|
|
258
|
+
*/
|
|
259
|
+
export class ConsoleUsageTracker {
|
|
260
|
+
usage = new Map();
|
|
261
|
+
constructor() {
|
|
262
|
+
// Track console method calls by wrapping them
|
|
263
|
+
const methods = ['log', 'error', 'warn', 'info', 'debug'];
|
|
264
|
+
methods.forEach(method => {
|
|
265
|
+
const original = console[method];
|
|
266
|
+
this.usage.set(method, 0);
|
|
267
|
+
console[method] = (...args) => {
|
|
268
|
+
this.usage.set(method, (this.usage.get(method) || 0) + 1);
|
|
269
|
+
return original.apply(console, args);
|
|
270
|
+
};
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
getUsageStats() {
|
|
274
|
+
return Object.fromEntries(this.usage);
|
|
275
|
+
}
|
|
276
|
+
reportUsage() {
|
|
277
|
+
const stats = this.getUsageStats();
|
|
278
|
+
const total = Object.values(stats).reduce((sum, count) => sum + count, 0);
|
|
279
|
+
logger.info('Console usage statistics', {
|
|
280
|
+
total,
|
|
281
|
+
methodBreakdown: stats,
|
|
282
|
+
source: 'console-usage-tracker',
|
|
283
|
+
});
|
|
284
|
+
}
|
|
285
|
+
restore() {
|
|
286
|
+
// This would need to restore the original console methods
|
|
287
|
+
// Implementation depends on how the original methods are stored
|
|
288
|
+
logger.info('Console usage tracker deactivated', {
|
|
289
|
+
source: 'console-usage-tracker',
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
// Export for testing purposes only
|
|
294
|
+
export { StructuredConsole, useStructuredConsoleDecorator as useStructuredConsole, };
|
|
295
|
+
//# sourceMappingURL=console-facade.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-facade.js","sourceRoot":"","sources":["../../../source/utils/logging/console-facade.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACN,qBAAqB,EACrB,SAAS,EACT,yBAAyB,GACzB,MAAM,iBAAiB,CAAC;AAGzB,8DAA8D;AAC9D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;AAE3B;;;GAGG;AACH,SAAS,mBAAmB,CAC3B,KAA0C,EAC1C,OAGC;IAED,MAAM,EAAC,oBAAoB,GAAG,KAAK,EAAE,YAAY,GAAG,KAAK,EAAC,GAAG,OAAO,IAAI,EAAE,CAAC;IAE3E,OAAO,CAAC,GAAG,IAAsB,EAAE,EAAE;QACpC,MAAM,cAAc,GAAG,qBAAqB,EAAE,CAAC;QAE/C,yBAAyB,CAAC,OAAO,CAAC,EAAE;YACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CAAC,CAAC,iBAAiB,KAAK,OAAO,EAAE;oBAC5C,aAAa,EAAE,OAAO,CAAC,EAAE;oBACzB,MAAM,EAAE,gBAAgB;iBACxB,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAED,sDAAsD;YACtD,IACC,oBAAoB;gBACpB,IAAI,CAAC,MAAM,KAAK,CAAC;gBACjB,IAAI,CAAC,CAAC,CAAC,YAAY,KAAK,EACvB,CAAC;gBACF,MAAM,SAAS,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;gBACtE,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE;oBAC9C,SAAS;oBACT,aAAa,EAAE,OAAO,CAAC,EAAE;oBACzB,MAAM,EAAE,gBAAgB;iBACxB,CAAC,CAAC;gBACH,OAAO;YACR,CAAC;YAED,8BAA8B;YAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBACpB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;oBAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE;wBAClB,aAAa,EAAE,OAAO,CAAC,EAAE;wBACzB,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC;gBACJ,CAAC;qBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;oBACpD,MAAM,OAAO,GAAG,GACf,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAC/B,uBAAuB,KAAK,EAAE,CAAC;oBAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE;wBACtB,MAAM,EAAE,GAAG;wBACX,aAAa,EAAE,OAAO,CAAC,EAAE;wBACzB,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACP,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;wBAC1B,aAAa,EAAE,OAAO,CAAC,EAAE;wBACzB,MAAM,EAAE,gBAAgB;qBACxB,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO;YACR,CAAC;YAED,+DAA+D;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAC1B,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAC9C,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAC7B,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,CACzD,CAAC;YAEF,IAAI,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACnD,CAAC;YAED,MAAM,OAAO,GAAmB;gBAC/B,aAAa,EAAE,OAAO,CAAC,EAAE;gBACzB,MAAM,EAAE,gBAAgB;gBACxB,aAAa,EAAE,IAAI,CAAC,MAAM;gBAC1B,UAAU,EAAE,OAAO,CAAC,MAAM;gBAC1B,UAAU,EAAE,OAAO,CAAC,MAAM;gBAC1B,aAAa,EAAE,UAAU,CAAC,MAAM;aAChC,CAAC;YAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,CAAC;YAED,kFAAkF;YAClF,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;gBACvB,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CACtC,GAAG,CAAC,EAAE,CACL,GAAG;oBACH,OAAO,GAAG,KAAK,QAAQ;oBACvB,CAAC,SAAS,IAAI,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC,CACrD,CAAC;gBAEF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACjC,OAAO,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;gBAC7C,CAAC;YACF,CAAC;YAED,oEAAoE;YACpE,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;YAClD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,IAAI,WAAW,KAAK,SAAS,EAAE,OAAO,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,iBAAiB,GAAG;IACzB;;;OAGG;IACH,GAAG,EAAE,mBAAmB,CAAC,MAAM,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC;IAEtD;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAC,OAAO,EAAE,EAAC,oBAAoB,EAAE,IAAI,EAAC,CAAC;IAEjE;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC;IAEjC;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC,MAAM,EAAE,EAAC,YAAY,EAAE,IAAI,EAAC,CAAC;IAEvD;;OAEG;IACH,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC;CACnC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,kBAAkB;IACtB,eAAe,CAAiB;IAChC,QAAQ,GAAY,KAAK,CAAC;IAElC;QACC,IAAI,CAAC,eAAe,GAAG,EAAC,GAAG,OAAO,EAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,QAAQ;QACP,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QAED,OAAO,CAAC,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC;QACpC,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;QACxC,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;QACtC,OAAO,CAAC,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;QACtC,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAExC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED;;OAEG;IAEH,UAAU,GAAG,GAAS,EAAE;QACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QAED,6DAA6D;QAC7D,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;QACvC,6DAA6D;QAC7D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAC3C,6DAA6D;QAC7D,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QACzC,6DAA6D;QAC7D,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QACzC,6DAA6D;QAC7D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;QAE3C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC;IAEF;;OAEG;IACH,mBAAmB;QAClB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAI,EAAW;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC;YACJ,OAAO,EAAE,EAAE,CAAC;QACb,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;CACD;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAEjE;;;GAGG;AACH,MAAM,UAAU,6BAA6B,CAC5C,OAAgB,EAChB,aAAqB,EACrB,UAA8B;IAE9B,MAAM,cAAc,GAAG,UAAU,CAAC,KAEtB,CAAC;IAEb,IAAI,OAAO,cAAc,KAAK,UAAU,EAAE,CAAC;QAC1C,UAAU,CAAC,KAAK,GAAG,UAElB,GAAG,IAAsB;YAEzB,OAAO,wBAAwB,CAAC,qBAAqB,CAAC,GAAG,EAAE;gBAC1D,OAAO,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,UAAkB;IACrD,OAAO;QACN,GAAG,EAAE,CAAC,GAAG,IAAsB,EAAE,EAAE;YAClC,MAAM,CAAC,IAAI,CACV,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACtE;gBACC,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,qBAAqB,EAAE;gBACtC,MAAM,EAAE,gBAAgB;aACN,CACnB,CAAC;QACH,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAsB,EAAE,EAAE;YACpC,MAAM,CAAC,KAAK,CACX,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACtE;gBACC,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,qBAAqB,EAAE;gBACtC,MAAM,EAAE,gBAAgB;aACN,CACnB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAsB,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CACV,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACtE;gBACC,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,qBAAqB,EAAE;gBACtC,MAAM,EAAE,gBAAgB;aACN,CACnB,CAAC;QACH,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAsB,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CACV,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACtE;gBACC,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,qBAAqB,EAAE;gBACtC,MAAM,EAAE,gBAAgB;aACN,CACnB,CAAC;QACH,CAAC;QACD,KAAK,EAAE,CAAC,GAAG,IAAsB,EAAE,EAAE;YACpC,MAAM,CAAC,KAAK,CACX,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EACtE;gBACC,UAAU;gBACV,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,qBAAqB,EAAE;gBACtC,MAAM,EAAE,gBAAgB;aACN,CACnB,CAAC;QACH,CAAC;KACD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACvB,KAAK,GAAwB,IAAI,GAAG,EAAE,CAAC;IAE/C;QACC,8CAA8C;QAC9C,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;QAEnE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxB,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAE1B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAsB,EAAE,EAAE;gBAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1D,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,aAAa;QACZ,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,WAAW;QACV,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAE1E,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACvC,KAAK;YACL,eAAe,EAAE,KAAK;YACtB,MAAM,EAAE,uBAAuB;SAC/B,CAAC,CAAC;IACJ,CAAC;IAED,OAAO;QACN,0DAA0D;QAC1D,gEAAgE;QAChE,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE;YAChD,MAAM,EAAE,uBAAuB;SAC/B,CAAC,CAAC;IACJ,CAAC;CACD;AAED,mCAAmC;AACnC,OAAO,EACN,iBAAiB,EACjB,6BAA6B,IAAI,oBAAoB,GACrD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-facade.spec.d.ts","sourceRoot":"","sources":["../../../source/utils/logging/console-facade.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import test from 'ava';
|
|
2
|
+
// Implementation imports
|
|
3
|
+
import { ConsoleInterceptor, ConsoleUsageTracker, StructuredConsole, createModuleConsole, globalConsoleInterceptor, } from './console-facade.js';
|
|
4
|
+
// Since the console-facade uses the real logger at module load time,
|
|
5
|
+
// we'll test the behavior by checking that the methods work correctly
|
|
6
|
+
// and produce the expected output structure.
|
|
7
|
+
test('StructuredConsole.log handles empty arguments', t => {
|
|
8
|
+
// This test verifies that StructuredConsole.log works without throwing
|
|
9
|
+
// The real logger will handle the call, so we just check it doesn't throw
|
|
10
|
+
t.notThrows(() => {
|
|
11
|
+
StructuredConsole.log();
|
|
12
|
+
}, 'Should handle empty arguments without throwing');
|
|
13
|
+
});
|
|
14
|
+
test('StructuredConsole.log handles single string argument', t => {
|
|
15
|
+
const testMessage = 'Test log message';
|
|
16
|
+
t.notThrows(() => {
|
|
17
|
+
StructuredConsole.log(testMessage);
|
|
18
|
+
}, 'Should handle single string argument without throwing');
|
|
19
|
+
});
|
|
20
|
+
test('StructuredConsole.log handles single object argument', t => {
|
|
21
|
+
const testObject = { key: 'value', number: 42 };
|
|
22
|
+
t.notThrows(() => {
|
|
23
|
+
StructuredConsole.log(testObject);
|
|
24
|
+
}, 'Should handle single object argument without throwing');
|
|
25
|
+
});
|
|
26
|
+
test('StructuredConsole.log handles single primitive argument', t => {
|
|
27
|
+
const testValue = 123;
|
|
28
|
+
t.notThrows(() => {
|
|
29
|
+
StructuredConsole.log(testValue);
|
|
30
|
+
}, 'Should handle single primitive argument without throwing');
|
|
31
|
+
});
|
|
32
|
+
test('StructuredConsole.log handles multiple arguments', t => {
|
|
33
|
+
const stringArg = 'Test message';
|
|
34
|
+
const objectArg = { data: 'test' };
|
|
35
|
+
const numberArg = 42;
|
|
36
|
+
t.notThrows(() => {
|
|
37
|
+
StructuredConsole.log(stringArg, objectArg, numberArg);
|
|
38
|
+
}, 'Should handle multiple arguments without throwing');
|
|
39
|
+
});
|
|
40
|
+
test('StructuredConsole.error handles Error objects', t => {
|
|
41
|
+
const testError = new Error('Test error');
|
|
42
|
+
t.notThrows(() => {
|
|
43
|
+
StructuredConsole.error(testError);
|
|
44
|
+
}, 'Should handle Error objects without throwing');
|
|
45
|
+
});
|
|
46
|
+
test('StructuredConsole.warn handles arguments correctly', t => {
|
|
47
|
+
t.notThrows(() => {
|
|
48
|
+
StructuredConsole.warn('Warning message', { context: 'test' });
|
|
49
|
+
}, 'Should handle arguments correctly without throwing');
|
|
50
|
+
});
|
|
51
|
+
test('ConsoleInterceptor activates and deactivates correctly', t => {
|
|
52
|
+
const originalConsole = {
|
|
53
|
+
log: console.log,
|
|
54
|
+
error: console.error,
|
|
55
|
+
warn: console.warn,
|
|
56
|
+
info: console.info,
|
|
57
|
+
debug: console.debug,
|
|
58
|
+
};
|
|
59
|
+
const interceptor = new ConsoleInterceptor();
|
|
60
|
+
// Test activation
|
|
61
|
+
interceptor.activate();
|
|
62
|
+
t.true(interceptor.isInterceptorActive());
|
|
63
|
+
// Verify console methods are replaced
|
|
64
|
+
t.is(console.log, StructuredConsole.log);
|
|
65
|
+
t.is(console.error, StructuredConsole.error);
|
|
66
|
+
t.is(console.warn, StructuredConsole.warn);
|
|
67
|
+
t.is(console.info, StructuredConsole.info);
|
|
68
|
+
t.is(console.debug, StructuredConsole.debug);
|
|
69
|
+
// Test deactivation
|
|
70
|
+
interceptor.deactivate();
|
|
71
|
+
t.false(interceptor.isInterceptorActive());
|
|
72
|
+
// Verify original methods are restored
|
|
73
|
+
t.is(console.log, originalConsole.log);
|
|
74
|
+
t.is(console.error, originalConsole.error);
|
|
75
|
+
t.is(console.warn, originalConsole.warn);
|
|
76
|
+
t.is(console.info, originalConsole.info);
|
|
77
|
+
t.is(console.debug, originalConsole.debug);
|
|
78
|
+
});
|
|
79
|
+
test('ConsoleInterceptor handles multiple activation calls', t => {
|
|
80
|
+
const interceptor = new ConsoleInterceptor();
|
|
81
|
+
interceptor.activate();
|
|
82
|
+
const firstActivation = interceptor.isInterceptorActive();
|
|
83
|
+
interceptor.activate(); // Should not cause issues
|
|
84
|
+
const secondActivation = interceptor.isInterceptorActive();
|
|
85
|
+
t.true(firstActivation);
|
|
86
|
+
t.true(secondActivation);
|
|
87
|
+
t.is(console.log, StructuredConsole.log);
|
|
88
|
+
interceptor.deactivate();
|
|
89
|
+
});
|
|
90
|
+
test('ConsoleInterceptor handles deactivation when not active', t => {
|
|
91
|
+
const interceptor = new ConsoleInterceptor();
|
|
92
|
+
// Should not throw when deactivating while not active
|
|
93
|
+
t.notThrows(() => {
|
|
94
|
+
interceptor.deactivate();
|
|
95
|
+
}, 'Deactivation when not active should not throw');
|
|
96
|
+
t.false(interceptor.isInterceptorActive());
|
|
97
|
+
});
|
|
98
|
+
test('globalConsoleInterceptor is available and functional', t => {
|
|
99
|
+
t.truthy(globalConsoleInterceptor);
|
|
100
|
+
t.true(globalConsoleInterceptor instanceof ConsoleInterceptor);
|
|
101
|
+
t.false(globalConsoleInterceptor.isInterceptorActive());
|
|
102
|
+
});
|
|
103
|
+
test('createModuleConsole creates properly scoped console', t => {
|
|
104
|
+
const moduleName = 'test-module';
|
|
105
|
+
const moduleConsole = createModuleConsole(moduleName);
|
|
106
|
+
t.truthy(moduleConsole);
|
|
107
|
+
t.truthy(typeof moduleConsole.log === 'function');
|
|
108
|
+
t.truthy(typeof moduleConsole.error === 'function');
|
|
109
|
+
t.truthy(typeof moduleConsole.warn === 'function');
|
|
110
|
+
t.truthy(typeof moduleConsole.info === 'function');
|
|
111
|
+
t.truthy(typeof moduleConsole.debug === 'function');
|
|
112
|
+
});
|
|
113
|
+
test('ConsoleUsageTracker tracks console usage', t => {
|
|
114
|
+
const tracker = new ConsoleUsageTracker();
|
|
115
|
+
// Simulate some console calls
|
|
116
|
+
console.log('test log');
|
|
117
|
+
console.error('test error');
|
|
118
|
+
console.log('another log');
|
|
119
|
+
const stats = tracker.getUsageStats();
|
|
120
|
+
t.true(typeof stats === 'object');
|
|
121
|
+
});
|
|
122
|
+
test('ConsoleUsageTracker.reportUsage logs statistics', t => {
|
|
123
|
+
const tracker = new ConsoleUsageTracker();
|
|
124
|
+
t.notThrows(() => {
|
|
125
|
+
tracker.reportUsage();
|
|
126
|
+
}, 'Should report usage without throwing');
|
|
127
|
+
});
|
|
128
|
+
test('ConsoleUsageTracker.restore works without errors', t => {
|
|
129
|
+
const tracker = new ConsoleUsageTracker();
|
|
130
|
+
t.notThrows(() => {
|
|
131
|
+
tracker.restore();
|
|
132
|
+
}, 'Restore should not throw errors');
|
|
133
|
+
});
|
|
134
|
+
test('StructuredConsole handles all console methods consistently', t => {
|
|
135
|
+
const methods = ['log', 'error', 'warn', 'info', 'debug'];
|
|
136
|
+
methods.forEach(method => {
|
|
137
|
+
// Call the method with a test message
|
|
138
|
+
t.notThrows(() => {
|
|
139
|
+
StructuredConsole[method](`Test ${method} message`);
|
|
140
|
+
}, `${method} should work without throwing`);
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
//# sourceMappingURL=console-facade.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-facade.spec.js","sourceRoot":"","sources":["../../../source/utils/logging/console-facade.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Correlation ID management for tracking requests across components
|
|
3
|
+
*/
|
|
4
|
+
import { AsyncLocalStorage } from 'async_hooks';
|
|
5
|
+
import type { CorrelationContext, CorrelationHttpRequest, CorrelationHttpResponse } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Async local storage for correlation context
|
|
8
|
+
* Provides thread-safe context storage across async operations
|
|
9
|
+
*/
|
|
10
|
+
export declare const correlationStorage: AsyncLocalStorage<CorrelationContext>;
|
|
11
|
+
/**
|
|
12
|
+
* Correlation Context Monitoring Metrics
|
|
13
|
+
* Tracks usage, performance, and potential issues for production monitoring
|
|
14
|
+
*/
|
|
15
|
+
declare const correlationMonitoring: {
|
|
16
|
+
contextsCreated: number;
|
|
17
|
+
activeContexts: number;
|
|
18
|
+
errors: number;
|
|
19
|
+
lastError: string | null;
|
|
20
|
+
lastErrorTime: number;
|
|
21
|
+
startTime: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Legacy context has been removed in favor of AsyncLocalStorage-only approach
|
|
25
|
+
* This eliminates race conditions in concurrent operations
|
|
26
|
+
* All code should now use withCorrelationContext() or withNewCorrelationContext()
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Get correlation context monitoring metrics
|
|
30
|
+
* Provides insights into context usage, performance, and health
|
|
31
|
+
*/
|
|
32
|
+
export declare function getCorrelationMonitoring(): typeof correlationMonitoring;
|
|
33
|
+
/**
|
|
34
|
+
* Log correlation context monitoring metrics
|
|
35
|
+
* Useful for periodic logging of system health
|
|
36
|
+
* @internal
|
|
37
|
+
*/
|
|
38
|
+
export declare function logCorrelationMonitoring(level?: 'debug' | 'info' | 'warn' | 'error'): void;
|
|
39
|
+
/**
|
|
40
|
+
* Reset correlation context monitoring metrics
|
|
41
|
+
* Useful for testing or periodic reporting
|
|
42
|
+
*/
|
|
43
|
+
export declare function resetCorrelationMonitoring(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Perform health check on correlation context system
|
|
46
|
+
* Verifies that the AsyncLocalStorage context system is functioning properly
|
|
47
|
+
*/
|
|
48
|
+
export declare function checkCorrelationHealth(): {
|
|
49
|
+
healthy: boolean;
|
|
50
|
+
message: string;
|
|
51
|
+
metrics: typeof correlationMonitoring;
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Generate a new correlation ID
|
|
55
|
+
*/
|
|
56
|
+
export declare function generateCorrelationId(): string;
|
|
57
|
+
/**
|
|
58
|
+
* Generate a short correlation ID (8 characters) for display
|
|
59
|
+
*/
|
|
60
|
+
export declare function generateShortCorrelationId(): string;
|
|
61
|
+
/**
|
|
62
|
+
* Create a new correlation context with specific ID
|
|
63
|
+
*/
|
|
64
|
+
export declare function createCorrelationContextWithId(id: string, metadata?: Record<string, unknown>): CorrelationContext;
|
|
65
|
+
/**
|
|
66
|
+
* Create a new correlation context with optional parent ID
|
|
67
|
+
*/
|
|
68
|
+
export declare function createCorrelationContext(parentId?: string, metadata?: Record<string, unknown>): CorrelationContext;
|
|
69
|
+
/**
|
|
70
|
+
* Get the current correlation context
|
|
71
|
+
* Now uses AsyncLocalStorage exclusively - no legacy fallback
|
|
72
|
+
*/
|
|
73
|
+
export declare function getCurrentCorrelationContext(): CorrelationContext | null;
|
|
74
|
+
/**
|
|
75
|
+
* Set the current correlation context (runs function with context)
|
|
76
|
+
* Note: AsyncLocalStorage doesn't support direct setting, use withCorrelationContext instead
|
|
77
|
+
* @deprecated Use withCorrelationContext or withNewCorrelationContext
|
|
78
|
+
*/
|
|
79
|
+
export declare function setCorrelationContext(_context: CorrelationContext): void;
|
|
80
|
+
/**
|
|
81
|
+
* Clear the current correlation context
|
|
82
|
+
* Note: AsyncLocalStorage handles cleanup automatically
|
|
83
|
+
* @deprecated Context is automatically cleared when async operation completes
|
|
84
|
+
*/
|
|
85
|
+
export declare function clearCorrelationContext(): void;
|
|
86
|
+
/**
|
|
87
|
+
* Run a function with a specific correlation context
|
|
88
|
+
*/
|
|
89
|
+
export declare function withCorrelationContext<T>(context: CorrelationContext, fn: () => T): T;
|
|
90
|
+
/**
|
|
91
|
+
* Run a function with a new correlation context
|
|
92
|
+
*/
|
|
93
|
+
export declare function withNewCorrelationContext<T>(fn: (context: CorrelationContext) => T, correlationId?: string, metadata?: Record<string, unknown>): T;
|
|
94
|
+
/**
|
|
95
|
+
* Get the correlation ID for the current context
|
|
96
|
+
*/
|
|
97
|
+
export declare function getCorrelationId(): string | null;
|
|
98
|
+
/**
|
|
99
|
+
* Check if correlation is enabled
|
|
100
|
+
*/
|
|
101
|
+
export declare function isCorrelationEnabled(): boolean;
|
|
102
|
+
/**
|
|
103
|
+
* Get correlation header for HTTP requests
|
|
104
|
+
*/
|
|
105
|
+
export declare function getCorrelationHeader(): {
|
|
106
|
+
'X-Correlation-ID': string;
|
|
107
|
+
} | Record<string, never>;
|
|
108
|
+
/**
|
|
109
|
+
* Extract correlation ID from HTTP headers
|
|
110
|
+
*/
|
|
111
|
+
export declare function extractCorrelationId(headers: Record<string, string>): string | null;
|
|
112
|
+
/**
|
|
113
|
+
* Create a correlation context from HTTP headers
|
|
114
|
+
*/
|
|
115
|
+
export declare function createCorrelationFromHeaders(headers: Record<string, string>, metadata?: Record<string, unknown>): CorrelationContext | null;
|
|
116
|
+
/**
|
|
117
|
+
* Add correlation metadata
|
|
118
|
+
* Note: Creates a new context with updated metadata since AsyncLocalStorage is immutable
|
|
119
|
+
* @deprecated Use withNewCorrelationContext with metadata parameter
|
|
120
|
+
*/
|
|
121
|
+
export declare function addCorrelationMetadata(_key: string, _value: unknown): void;
|
|
122
|
+
/**
|
|
123
|
+
* Get correlation metadata
|
|
124
|
+
*/
|
|
125
|
+
export declare function getCorrelationMetadata(key?: string): unknown;
|
|
126
|
+
/**
|
|
127
|
+
* Format correlation context for logging
|
|
128
|
+
*/
|
|
129
|
+
export declare function formatCorrelationForLog(): Record<string, string>;
|
|
130
|
+
/**
|
|
131
|
+
* Correlation middleware for Express-like frameworks
|
|
132
|
+
*/
|
|
133
|
+
export declare function correlationMiddleware(): (req: CorrelationHttpRequest, res: CorrelationHttpResponse, next: () => void) => void;
|
|
134
|
+
/**
|
|
135
|
+
* Wrap an async function with correlation tracking
|
|
136
|
+
*/
|
|
137
|
+
export declare function withCorrelation<T extends (...args: unknown[]) => Promise<unknown>>(fn: T, getCorrelationIdFromArgs?: (...args: Parameters<T>) => string): T;
|
|
138
|
+
export {};
|
|
139
|
+
//# sourceMappingURL=correlation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"correlation.d.ts","sourceRoot":"","sources":["../../../source/utils/logging/correlation.ts"],"names":[],"mappings":"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"}
|