@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,188 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Environment-based configuration for Pino logger
|
|
3
|
+
*/
|
|
4
|
+
import { platform } from 'os';
|
|
5
|
+
import { homedir } from 'os';
|
|
6
|
+
import { join } from 'path';
|
|
7
|
+
/**
|
|
8
|
+
* Get the default log directory based on platform
|
|
9
|
+
*/
|
|
10
|
+
export function getDefaultLogDirectory() {
|
|
11
|
+
if (process.env.NANOCODER_LOG_DIR) {
|
|
12
|
+
return process.env.NANOCODER_LOG_DIR;
|
|
13
|
+
}
|
|
14
|
+
switch (platform()) {
|
|
15
|
+
case 'win32':
|
|
16
|
+
return join(process.env.APPDATA || homedir(), 'nanocoder', 'logs');
|
|
17
|
+
case 'darwin':
|
|
18
|
+
return join(homedir(), 'Library', 'Preferences', 'nanocoder', 'logs');
|
|
19
|
+
default: // linux
|
|
20
|
+
return join(homedir(), '.config', 'nanocoder', 'logs');
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Create development configuration
|
|
25
|
+
*/
|
|
26
|
+
export function createDevelopmentConfig() {
|
|
27
|
+
return {
|
|
28
|
+
level: process.env.NANOCODER_LOG_LEVEL || 'debug',
|
|
29
|
+
destination: String(process.stdout.fd),
|
|
30
|
+
pretty: true,
|
|
31
|
+
redact: ['apiKey', 'token', 'password', 'secret'],
|
|
32
|
+
correlation: true,
|
|
33
|
+
serialize: false,
|
|
34
|
+
target: 'pino-pretty',
|
|
35
|
+
options: {
|
|
36
|
+
translateTime: 'HH:MM:ss Z',
|
|
37
|
+
ignore: 'pid,hostname',
|
|
38
|
+
messageFormat: undefined,
|
|
39
|
+
customPrettifiers: {},
|
|
40
|
+
levelFirst: false,
|
|
41
|
+
singleLine: false,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Create production configuration
|
|
47
|
+
*/
|
|
48
|
+
export function createProductionConfig() {
|
|
49
|
+
// Check if file logging is explicitly disabled
|
|
50
|
+
const disableFileLogging = process.env.NANOCODER_LOG_DISABLE_FILE === 'true';
|
|
51
|
+
const baseConfig = {
|
|
52
|
+
level: process.env.NANOCODER_LOG_LEVEL || 'silent', // Production users shouldn't see internal logs
|
|
53
|
+
pretty: false,
|
|
54
|
+
redact: ['apiKey', 'token', 'password', 'email', 'userId', 'secret'],
|
|
55
|
+
correlation: true,
|
|
56
|
+
serialize: true,
|
|
57
|
+
};
|
|
58
|
+
// If file logging is disabled, only use stdout (for UI)
|
|
59
|
+
if (disableFileLogging) {
|
|
60
|
+
return {
|
|
61
|
+
...baseConfig,
|
|
62
|
+
destination: String(process.stdout.fd),
|
|
63
|
+
target: 'pino-pretty',
|
|
64
|
+
options: {
|
|
65
|
+
colorize: false, // No colors in production
|
|
66
|
+
translateTime: 'HH:MM:ss Z',
|
|
67
|
+
ignore: 'pid,hostname',
|
|
68
|
+
levelFirst: true,
|
|
69
|
+
messageFormat: '{level} - {msg}',
|
|
70
|
+
singleLine: true, // Compact for UI
|
|
71
|
+
},
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
// Otherwise use stdout for UI with optional file logging
|
|
75
|
+
// This ensures UI works while still allowing file persistence when needed
|
|
76
|
+
return {
|
|
77
|
+
...baseConfig,
|
|
78
|
+
// Always output to stdout for UI compatibility
|
|
79
|
+
destination: String(process.stdout.fd),
|
|
80
|
+
target: 'pino-pretty',
|
|
81
|
+
options: {
|
|
82
|
+
colorize: false, // No colors in production
|
|
83
|
+
translateTime: 'HH:MM:ss Z',
|
|
84
|
+
ignore: 'pid,hostname', // Reduce UI clutter
|
|
85
|
+
levelFirst: false,
|
|
86
|
+
messageFormat: '{msg}',
|
|
87
|
+
singleLine: true, // Compact for UI
|
|
88
|
+
},
|
|
89
|
+
// Note: File logging will be handled by the multi-transport system in transports.ts
|
|
90
|
+
// when NANOCODER_LOG_TO_FILE=true is set
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Create test configuration
|
|
95
|
+
*/
|
|
96
|
+
export function createTestConfig() {
|
|
97
|
+
return {
|
|
98
|
+
level: process.env.LOG_LEVEL || 'debug', // Changed from 'silent' to 'debug'
|
|
99
|
+
pretty: false,
|
|
100
|
+
redact: ['apiKey', 'token', 'password'],
|
|
101
|
+
correlation: false,
|
|
102
|
+
serialize: false,
|
|
103
|
+
target: 'pino/file',
|
|
104
|
+
options: {
|
|
105
|
+
destination: '/dev/null',
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Get configuration based on current environment
|
|
111
|
+
*
|
|
112
|
+
* For CLI tools, we default to production (silent) behavior when NODE_ENV is not set.
|
|
113
|
+
* This gives users a clean experience. Developers working on nanocoder itself should
|
|
114
|
+
* explicitly set NODE_ENV=development to see debug logs.
|
|
115
|
+
*/
|
|
116
|
+
export function getEnvironmentConfig() {
|
|
117
|
+
const env = process.env.NODE_ENV;
|
|
118
|
+
switch (env) {
|
|
119
|
+
case 'development':
|
|
120
|
+
return createDevelopmentConfig();
|
|
121
|
+
case 'test':
|
|
122
|
+
return createTestConfig();
|
|
123
|
+
default:
|
|
124
|
+
// Default to production (silent) for normal CLI usage
|
|
125
|
+
return createProductionConfig();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Validate log level
|
|
130
|
+
*/
|
|
131
|
+
export function validateLogLevel(level) {
|
|
132
|
+
const validLevels = [
|
|
133
|
+
'fatal',
|
|
134
|
+
'error',
|
|
135
|
+
'warn',
|
|
136
|
+
'info',
|
|
137
|
+
'http',
|
|
138
|
+
'debug',
|
|
139
|
+
'trace',
|
|
140
|
+
'silent',
|
|
141
|
+
];
|
|
142
|
+
return validLevels.includes(level.toLowerCase());
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Normalize log level string
|
|
146
|
+
*/
|
|
147
|
+
export function normalizeLogLevel(level) {
|
|
148
|
+
const normalized = level.toLowerCase().trim();
|
|
149
|
+
// Map common aliases
|
|
150
|
+
const aliases = {
|
|
151
|
+
warning: 'warn',
|
|
152
|
+
err: 'error',
|
|
153
|
+
information: 'info',
|
|
154
|
+
http: 'http',
|
|
155
|
+
};
|
|
156
|
+
return aliases[normalized] || normalized;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Create configuration with overrides
|
|
160
|
+
*/
|
|
161
|
+
export function createConfig(overrides = {}) {
|
|
162
|
+
const baseConfig = getEnvironmentConfig();
|
|
163
|
+
// Apply overrides with validation
|
|
164
|
+
if (overrides.level) {
|
|
165
|
+
const normalizedLevel = normalizeLogLevel(overrides.level);
|
|
166
|
+
if (!validateLogLevel(normalizedLevel)) {
|
|
167
|
+
console.warn(`[WARNING] Invalid log level "${overrides.level}", using default`);
|
|
168
|
+
}
|
|
169
|
+
else {
|
|
170
|
+
baseConfig.level = normalizedLevel;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
if (overrides.redact) {
|
|
174
|
+
baseConfig.redact = [
|
|
175
|
+
...new Set([...baseConfig.redact, ...overrides.redact]),
|
|
176
|
+
];
|
|
177
|
+
}
|
|
178
|
+
// Merge other properties
|
|
179
|
+
return {
|
|
180
|
+
...baseConfig,
|
|
181
|
+
...overrides,
|
|
182
|
+
options: {
|
|
183
|
+
...baseConfig.options,
|
|
184
|
+
...overrides?.options,
|
|
185
|
+
},
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../source/utils/logging/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.spec.d.ts","sourceRoot":"","sources":["../../../source/utils/logging/config.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
import { existsSync, mkdirSync, rmSync } from 'fs';
|
|
2
|
+
import { tmpdir } from 'os';
|
|
3
|
+
import { join } from 'path';
|
|
4
|
+
import test from 'ava';
|
|
5
|
+
console.log(`\nlogging/config.spec.ts`);
|
|
6
|
+
// Import configuration functions
|
|
7
|
+
import { createConfig, createDevelopmentConfig, createProductionConfig, createTestConfig, getDefaultLogDirectory, getEnvironmentConfig, normalizeLogLevel, validateLogLevel, } from './config.js';
|
|
8
|
+
// Create a temporary test directory
|
|
9
|
+
const testDir = join(tmpdir(), `nanocoder-config-test-${Date.now()}`);
|
|
10
|
+
test.before(() => {
|
|
11
|
+
mkdirSync(testDir, { recursive: true });
|
|
12
|
+
});
|
|
13
|
+
test.after.always(() => {
|
|
14
|
+
// Clean up test directory
|
|
15
|
+
if (existsSync(testDir)) {
|
|
16
|
+
rmSync(testDir, { recursive: true, force: true });
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
test('getDefaultLogDirectory returns valid directory path', t => {
|
|
20
|
+
const directory = getDefaultLogDirectory();
|
|
21
|
+
t.is(typeof directory, 'string', 'Should return string');
|
|
22
|
+
t.true(directory.length > 0, 'Should not be empty');
|
|
23
|
+
t.true(directory.includes('logs'), 'Should include logs in path');
|
|
24
|
+
});
|
|
25
|
+
test('createDevelopmentConfig creates valid development config', t => {
|
|
26
|
+
const config = createDevelopmentConfig();
|
|
27
|
+
t.is(typeof config, 'object', 'Should return object');
|
|
28
|
+
t.is(config.level, 'debug', 'Should use debug level in development');
|
|
29
|
+
t.true(config.pretty, 'Should enable pretty printing in development');
|
|
30
|
+
t.true(config.correlation, 'Should enable correlation in development');
|
|
31
|
+
t.false(config.serialize, 'Should not serialize in development');
|
|
32
|
+
t.true(Array.isArray(config.redact), 'Should have redaction array');
|
|
33
|
+
});
|
|
34
|
+
test('createProductionConfig creates valid production config', t => {
|
|
35
|
+
const config = createProductionConfig();
|
|
36
|
+
t.is(typeof config, 'object', 'Should return object');
|
|
37
|
+
t.is(config.level, 'silent', 'Should use silent level in production (silent-by-default for CLI)');
|
|
38
|
+
t.false(config.pretty, 'Should disable pretty printing in production');
|
|
39
|
+
t.true(config.correlation, 'Should enable correlation in production');
|
|
40
|
+
t.true(config.serialize, 'Should serialize in production');
|
|
41
|
+
t.true(Array.isArray(config.redact), 'Should have redaction array');
|
|
42
|
+
});
|
|
43
|
+
test('createTestConfig creates valid test config', t => {
|
|
44
|
+
const config = createTestConfig();
|
|
45
|
+
t.is(typeof config, 'object', 'Should return object');
|
|
46
|
+
t.is(config.level, 'debug', 'Should use debug level in tests');
|
|
47
|
+
t.false(config.pretty, 'Should disable pretty printing in tests');
|
|
48
|
+
t.false(config.correlation, 'Should disable correlation in tests');
|
|
49
|
+
t.false(config.serialize, 'Should not serialize in tests');
|
|
50
|
+
});
|
|
51
|
+
test('getEnvironmentConfig detects environment correctly', t => {
|
|
52
|
+
// Test development environment
|
|
53
|
+
const originalEnv = process.env.NODE_ENV;
|
|
54
|
+
process.env.NODE_ENV = 'development';
|
|
55
|
+
const devConfig = getEnvironmentConfig();
|
|
56
|
+
t.is(devConfig.level, 'debug', 'Should detect development');
|
|
57
|
+
t.true(devConfig.pretty, 'Should enable pretty in development');
|
|
58
|
+
// Test production environment
|
|
59
|
+
process.env.NODE_ENV = 'production';
|
|
60
|
+
const prodConfig = getEnvironmentConfig();
|
|
61
|
+
t.is(prodConfig.level, 'silent', 'Should detect production (silent-by-default)');
|
|
62
|
+
t.false(prodConfig.pretty, 'Should disable pretty in production');
|
|
63
|
+
// Test test environment
|
|
64
|
+
process.env.NODE_ENV = 'test';
|
|
65
|
+
const testConfig = getEnvironmentConfig();
|
|
66
|
+
t.is(testConfig.level, 'debug', 'Should detect test');
|
|
67
|
+
t.is(testConfig.level, 'debug', 'Should use debug in test');
|
|
68
|
+
// Test unknown environment (should default to production/silent for CLI tools)
|
|
69
|
+
process.env.NODE_ENV = 'unknown';
|
|
70
|
+
const unknownConfig = getEnvironmentConfig();
|
|
71
|
+
t.is(unknownConfig.level, 'silent', 'Should default to silent for unknown (production default)');
|
|
72
|
+
// Restore original environment
|
|
73
|
+
process.env.NODE_ENV = originalEnv;
|
|
74
|
+
});
|
|
75
|
+
test('validateLogLevel validates log levels correctly', t => {
|
|
76
|
+
// Valid levels
|
|
77
|
+
t.true(validateLogLevel('trace'), 'Should accept trace');
|
|
78
|
+
t.true(validateLogLevel('debug'), 'Should accept debug');
|
|
79
|
+
t.true(validateLogLevel('info'), 'Should accept info');
|
|
80
|
+
t.true(validateLogLevel('warn'), 'Should accept warn');
|
|
81
|
+
t.true(validateLogLevel('error'), 'Should accept error');
|
|
82
|
+
t.true(validateLogLevel('fatal'), 'Should accept fatal');
|
|
83
|
+
t.true(validateLogLevel('silent'), 'Should accept silent');
|
|
84
|
+
// Invalid levels
|
|
85
|
+
t.false(validateLogLevel('invalid'), 'Should reject invalid');
|
|
86
|
+
t.false(validateLogLevel(''), 'Should reject empty');
|
|
87
|
+
t.false(validateLogLevel('info '), 'Should reject with space');
|
|
88
|
+
t.false(validateLogLevel(' info'), 'Should reject with leading space');
|
|
89
|
+
});
|
|
90
|
+
test('normalizeLogLevel normalizes log levels', t => {
|
|
91
|
+
// Valid levels should pass through
|
|
92
|
+
t.is(normalizeLogLevel('trace'), 'trace', 'Should pass trace');
|
|
93
|
+
t.is(normalizeLogLevel('debug'), 'debug', 'Should pass debug');
|
|
94
|
+
t.is(normalizeLogLevel('info'), 'info', 'Should pass info');
|
|
95
|
+
t.is(normalizeLogLevel('warn'), 'warn', 'Should pass warn');
|
|
96
|
+
t.is(normalizeLogLevel('error'), 'error', 'Should pass error');
|
|
97
|
+
t.is(normalizeLogLevel('fatal'), 'fatal', 'Should pass fatal');
|
|
98
|
+
t.is(normalizeLogLevel('silent'), 'silent', 'Should pass silent');
|
|
99
|
+
// Uppercase should be normalized
|
|
100
|
+
t.is(normalizeLogLevel('TRACE'), 'trace', 'Should normalize TRACE');
|
|
101
|
+
t.is(normalizeLogLevel('DEBUG'), 'debug', 'Should normalize DEBUG');
|
|
102
|
+
t.is(normalizeLogLevel('INFO'), 'info', 'Should normalize INFO');
|
|
103
|
+
t.is(normalizeLogLevel('WARN'), 'warn', 'Should normalize WARN');
|
|
104
|
+
t.is(normalizeLogLevel('ERROR'), 'error', 'Should normalize ERROR');
|
|
105
|
+
t.is(normalizeLogLevel('FATAL'), 'fatal', 'Should normalize FATAL');
|
|
106
|
+
t.is(normalizeLogLevel('SILENT'), 'silent', 'Should normalize SILENT');
|
|
107
|
+
// Invalid should default to info
|
|
108
|
+
t.is(normalizeLogLevel('INFO'), 'info', 'Should default to info');
|
|
109
|
+
});
|
|
110
|
+
test('createConfig merges overrides correctly', t => {
|
|
111
|
+
// Note: createConfig() uses getEnvironmentConfig()
|
|
112
|
+
// Tests run in NODE_ENV='test', which has correlation: false and serialize: false
|
|
113
|
+
const overrides = {
|
|
114
|
+
level: 'error',
|
|
115
|
+
pretty: true,
|
|
116
|
+
redact: ['token', 'password'],
|
|
117
|
+
};
|
|
118
|
+
const merged = createConfig(overrides);
|
|
119
|
+
t.is(merged.level, 'error', 'Should override level');
|
|
120
|
+
t.is(merged.pretty, true, 'Should override pretty');
|
|
121
|
+
t.deepEqual(merged.redact, ['token', 'password'], 'Should override redact');
|
|
122
|
+
t.is(merged.correlation, false, 'Should preserve correlation from test config');
|
|
123
|
+
t.is(merged.serialize, false, 'Should preserve serialize from test config');
|
|
124
|
+
});
|
|
125
|
+
test('createConfig handles missing overrides', t => {
|
|
126
|
+
const baseConfig = {
|
|
127
|
+
level: 'info',
|
|
128
|
+
pretty: true,
|
|
129
|
+
redact: ['apiKey'],
|
|
130
|
+
correlation: false,
|
|
131
|
+
serialize: false,
|
|
132
|
+
};
|
|
133
|
+
const result = createConfig(baseConfig);
|
|
134
|
+
t.notDeepEqual(result, baseConfig, 'Should return environment config with no overrides');
|
|
135
|
+
});
|
|
136
|
+
test('createConfig handles overrides correctly', t => {
|
|
137
|
+
const overrides = {
|
|
138
|
+
level: 'debug',
|
|
139
|
+
pretty: false,
|
|
140
|
+
};
|
|
141
|
+
t.notThrows(() => {
|
|
142
|
+
const result = createConfig(overrides);
|
|
143
|
+
t.is(typeof result, 'object', 'Should return object');
|
|
144
|
+
}, 'Should handle overrides');
|
|
145
|
+
});
|
|
146
|
+
test('createConfig handles partial overrides', t => {
|
|
147
|
+
const partialOverride = {
|
|
148
|
+
level: 'warn',
|
|
149
|
+
};
|
|
150
|
+
const result = createConfig(partialOverride);
|
|
151
|
+
t.is(result.level, 'warn', 'Should override specified field');
|
|
152
|
+
// Note: Other fields will depend on the environment config, not preserved from a base
|
|
153
|
+
});
|
|
154
|
+
test('createConfig validates log level in overrides', t => {
|
|
155
|
+
const invalidOverride = {
|
|
156
|
+
level: 'debug',
|
|
157
|
+
};
|
|
158
|
+
t.notThrows(() => {
|
|
159
|
+
const result = createConfig(invalidOverride);
|
|
160
|
+
t.is(typeof result, 'object', 'Should handle valid level');
|
|
161
|
+
}, 'Should handle valid log level');
|
|
162
|
+
});
|
|
163
|
+
test('createConfig overrides redact arrays correctly', t => {
|
|
164
|
+
const overrideWithArray = {
|
|
165
|
+
redact: ['password', 'secret'],
|
|
166
|
+
};
|
|
167
|
+
const result = createConfig(overrideWithArray);
|
|
168
|
+
// Should use override array, not merge
|
|
169
|
+
t.deepEqual(result.redact, ['password', 'secret'], 'Should replace redact array');
|
|
170
|
+
});
|
|
171
|
+
test('configuration respects environment variables', t => {
|
|
172
|
+
const originalLogLevel = process.env.NANOCODER_LOG_LEVEL;
|
|
173
|
+
const originalNodeEnv = process.env.NODE_ENV;
|
|
174
|
+
// Set environment variables
|
|
175
|
+
process.env.NANOCODER_LOG_LEVEL = 'error';
|
|
176
|
+
process.env.NODE_ENV = 'production';
|
|
177
|
+
try {
|
|
178
|
+
const config = getEnvironmentConfig();
|
|
179
|
+
t.is(config.level, 'error', 'Should use LOG_LEVEL from environment');
|
|
180
|
+
// Production config should be applied
|
|
181
|
+
t.false(config.pretty, 'Should apply production config');
|
|
182
|
+
}
|
|
183
|
+
finally {
|
|
184
|
+
// Restore environment variables
|
|
185
|
+
if (originalLogLevel) {
|
|
186
|
+
process.env.LOG_LEVEL = originalLogLevel;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
delete process.env.LOG_LEVEL;
|
|
190
|
+
}
|
|
191
|
+
process.env.NODE_ENV = originalNodeEnv;
|
|
192
|
+
}
|
|
193
|
+
});
|
|
194
|
+
test('createDevelopmentConfig includes sensible defaults', t => {
|
|
195
|
+
const config = createDevelopmentConfig();
|
|
196
|
+
// Check default redaction patterns
|
|
197
|
+
t.true(config.redact.includes('apiKey'), 'Should redact API keys by default');
|
|
198
|
+
t.true(config.redact.includes('token'), 'Should redact tokens by default');
|
|
199
|
+
t.true(config.redact.includes('password'), 'Should redact passwords by default');
|
|
200
|
+
// Check correlation settings
|
|
201
|
+
t.true(config.correlation, 'Should enable correlation in development');
|
|
202
|
+
// Note: Current implementation doesn't include transport configuration
|
|
203
|
+
// t.truthy(config.transport, 'Should have transport configuration');
|
|
204
|
+
// t.is(
|
|
205
|
+
// (config.transport as any)?.target,
|
|
206
|
+
// 'pino-pretty',
|
|
207
|
+
// 'Should use pretty transport in development',
|
|
208
|
+
// );
|
|
209
|
+
});
|
|
210
|
+
test('createProductionConfig includes production optimizations', t => {
|
|
211
|
+
const config = createProductionConfig();
|
|
212
|
+
// Check production-specific settings
|
|
213
|
+
t.true(config.serialize, 'Should serialize in production');
|
|
214
|
+
t.is(config.level, 'error', 'Should default to error in production');
|
|
215
|
+
// Check redaction patterns for production
|
|
216
|
+
t.true(config.redact.includes('email'), 'Should redact emails in production');
|
|
217
|
+
t.true(config.redact.includes('userId'), 'Should redact user IDs in production');
|
|
218
|
+
// Note: Current implementation doesn't include transport configuration
|
|
219
|
+
// t.truthy(config.transport, 'Should have transport configuration');
|
|
220
|
+
// t.is(
|
|
221
|
+
// (config.transport as any)?.target,
|
|
222
|
+
// 'pino-roll',
|
|
223
|
+
// 'Should use roll transport in production',
|
|
224
|
+
// );
|
|
225
|
+
});
|
|
226
|
+
test('createTestConfig minimizes output', t => {
|
|
227
|
+
const config = createTestConfig();
|
|
228
|
+
t.is(config.level, 'debug', 'Should be debug in tests');
|
|
229
|
+
t.false(config.pretty, 'Should disable pretty in tests');
|
|
230
|
+
t.false(config.correlation, 'Should disable correlation in tests');
|
|
231
|
+
t.false(config.serialize, 'Should disable serialization in tests');
|
|
232
|
+
});
|
|
233
|
+
//# sourceMappingURL=config.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.spec.js","sourceRoot":"","sources":["../../../source/utils/logging/config.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
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 type { ConsoleArguments } from './types.js';
|
|
9
|
+
/**
|
|
10
|
+
* Console replacement that routes to structured logging
|
|
11
|
+
* Maintains the same API as global console but adds structured logging benefits
|
|
12
|
+
*/
|
|
13
|
+
declare const StructuredConsole: {
|
|
14
|
+
/**
|
|
15
|
+
* Replacement for console.log - routes to logger.info
|
|
16
|
+
* Accepts any number of arguments and formats them appropriately
|
|
17
|
+
*/
|
|
18
|
+
log: (...args: ConsoleArguments) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Replacement for console.error - routes to logger.error with error analysis
|
|
21
|
+
*/
|
|
22
|
+
error: (...args: ConsoleArguments) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Replacement for console.warn - routes to logger.warn
|
|
25
|
+
*/
|
|
26
|
+
warn: (...args: ConsoleArguments) => void;
|
|
27
|
+
/**
|
|
28
|
+
* Replacement for console.info - routes to logger.info
|
|
29
|
+
*/
|
|
30
|
+
info: (...args: ConsoleArguments) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Replacement for console.debug - routes to logger.debug
|
|
33
|
+
*/
|
|
34
|
+
debug: (...args: ConsoleArguments) => void;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Global console replacement hook
|
|
38
|
+
* Can be used to temporarily replace global console for testing or specific modules
|
|
39
|
+
*/
|
|
40
|
+
export declare class ConsoleInterceptor {
|
|
41
|
+
private originalConsole;
|
|
42
|
+
private isActive;
|
|
43
|
+
constructor();
|
|
44
|
+
/**
|
|
45
|
+
* Replace global console with structured logging version
|
|
46
|
+
*/
|
|
47
|
+
activate(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Restore original global console
|
|
50
|
+
*/
|
|
51
|
+
deactivate: () => void;
|
|
52
|
+
/**
|
|
53
|
+
* Check if interceptor is active
|
|
54
|
+
*/
|
|
55
|
+
isInterceptorActive(): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Execute a function with console temporarily replaced
|
|
58
|
+
*/
|
|
59
|
+
withStructuredConsole<T>(fn: () => T): T;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Global console interceptor instance
|
|
63
|
+
*/
|
|
64
|
+
export declare const globalConsoleInterceptor: ConsoleInterceptor;
|
|
65
|
+
/**
|
|
66
|
+
* Decorator to automatically route console calls in a function to structured logging
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
export declare function useStructuredConsoleDecorator(_target: unknown, _propertyName: string, descriptor: PropertyDescriptor): PropertyDescriptor | void;
|
|
70
|
+
/**
|
|
71
|
+
* Convenience function to create a module-scoped console
|
|
72
|
+
* Useful for gradual migration of individual modules
|
|
73
|
+
*/
|
|
74
|
+
export declare function createModuleConsole(moduleName: string): {
|
|
75
|
+
log: (...args: ConsoleArguments) => void;
|
|
76
|
+
error: (...args: ConsoleArguments) => void;
|
|
77
|
+
warn: (...args: ConsoleArguments) => void;
|
|
78
|
+
info: (...args: ConsoleArguments) => void;
|
|
79
|
+
debug: (...args: ConsoleArguments) => void;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Migration helper to identify console usage patterns
|
|
83
|
+
* Returns statistics about console method usage in the current execution
|
|
84
|
+
*/
|
|
85
|
+
export declare class ConsoleUsageTracker {
|
|
86
|
+
private usage;
|
|
87
|
+
constructor();
|
|
88
|
+
getUsageStats(): Record<string, number>;
|
|
89
|
+
reportUsage(): void;
|
|
90
|
+
restore(): void;
|
|
91
|
+
}
|
|
92
|
+
export { StructuredConsole, useStructuredConsoleDecorator as useStructuredConsole, };
|
|
93
|
+
//# sourceMappingURL=console-facade.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-facade.d.ts","sourceRoot":"","sources":["../../../source/utils/logging/console-facade.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EAAC,gBAAgB,EAAiB,MAAM,YAAY,CAAC;AAuHjE;;;GAGG;AACH,QAAA,MAAM,iBAAiB;IACtB;;;OAGG;mBA7Gc,gBAAgB;IAgHjC;;OAEG;qBAlHc,gBAAgB;IAqHjC;;OAEG;oBAvHc,gBAAgB;IA0HjC;;OAEG;oBA5Hc,gBAAgB;IA+HjC;;OAEG;qBAjIc,gBAAgB;CAmIjC,CAAC;AAEF;;;GAGG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAkB;;IAMlC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAchB;;OAEG;IAEH,UAAU,QAAO,IAAI,CAiBnB;IAEF;;OAEG;IACH,mBAAmB,IAAI,OAAO;IAI9B;;OAEG;IACH,qBAAqB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;CAQxC;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,oBAA2B,CAAC;AAEjE;;;GAGG;AACH,wBAAgB,6BAA6B,CAC5C,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,kBAAkB,GAC5B,kBAAkB,GAAG,IAAI,CAiB3B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM;mBAErC,gBAAgB;qBAWd,gBAAgB;oBAWjB,gBAAgB;oBAWhB,gBAAgB;qBAWf,gBAAgB;EAYlC;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,KAAK,CAAkC;;IAiB/C,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAIvC,WAAW,IAAI,IAAI;IAWnB,OAAO,IAAI,IAAI;CAOf;AAGD,OAAO,EACN,iBAAiB,EACjB,6BAA6B,IAAI,oBAAoB,GACrD,CAAC"}
|