@gguf/coder 0.3.1 → 0.3.3
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/package.json +5 -2
- package/.editorconfig +0 -16
- package/.env.example +0 -63
- package/.gitattributes +0 -1
- package/.semgrepignore +0 -19
- package/coder-dummy-file.ts +0 -52
- package/coder.config.example.json +0 -59
- package/coder.config.json +0 -13
- package/color_picker.html +0 -36
- package/scripts/extract-changelog.js +0 -73
- package/scripts/fetch-models.js +0 -143
- package/scripts/test.sh +0 -40
- package/scripts/update-homebrew-formula.sh +0 -125
- package/scripts/update-nix-version.sh +0 -157
- package/source/ai-sdk-client/AISDKClient.spec.ts +0 -117
- package/source/ai-sdk-client/AISDKClient.ts +0 -155
- package/source/ai-sdk-client/chat/chat-handler.spec.ts +0 -121
- package/source/ai-sdk-client/chat/chat-handler.ts +0 -276
- package/source/ai-sdk-client/chat/streaming-handler.spec.ts +0 -173
- package/source/ai-sdk-client/chat/streaming-handler.ts +0 -110
- package/source/ai-sdk-client/chat/tool-processor.spec.ts +0 -92
- package/source/ai-sdk-client/chat/tool-processor.ts +0 -70
- package/source/ai-sdk-client/converters/message-converter.spec.ts +0 -220
- package/source/ai-sdk-client/converters/message-converter.ts +0 -113
- package/source/ai-sdk-client/converters/tool-converter.spec.ts +0 -90
- package/source/ai-sdk-client/converters/tool-converter.ts +0 -46
- package/source/ai-sdk-client/error-handling/error-extractor.spec.ts +0 -55
- package/source/ai-sdk-client/error-handling/error-extractor.ts +0 -15
- package/source/ai-sdk-client/error-handling/error-parser.spec.ts +0 -169
- package/source/ai-sdk-client/error-handling/error-parser.ts +0 -161
- package/source/ai-sdk-client/index.ts +0 -7
- package/source/ai-sdk-client/providers/provider-factory.spec.ts +0 -71
- package/source/ai-sdk-client/providers/provider-factory.ts +0 -41
- package/source/ai-sdk-client/types.ts +0 -9
- package/source/ai-sdk-client-empty-message.spec.ts +0 -141
- package/source/ai-sdk-client-error-handling.spec.ts +0 -186
- package/source/ai-sdk-client-maxretries.spec.ts +0 -114
- package/source/ai-sdk-client-preparestep.spec.ts +0 -279
- package/source/app/App.spec.tsx +0 -32
- package/source/app/App.tsx +0 -480
- package/source/app/components/AppContainer.spec.tsx +0 -96
- package/source/app/components/AppContainer.tsx +0 -56
- package/source/app/components/ChatInterface.spec.tsx +0 -163
- package/source/app/components/ChatInterface.tsx +0 -144
- package/source/app/components/ModalSelectors.spec.tsx +0 -141
- package/source/app/components/ModalSelectors.tsx +0 -135
- package/source/app/helpers.spec.ts +0 -97
- package/source/app/helpers.ts +0 -63
- package/source/app/index.ts +0 -4
- package/source/app/types.ts +0 -39
- package/source/app/utils/appUtils.ts +0 -294
- package/source/app/utils/conversationState.ts +0 -310
- package/source/app.spec.tsx +0 -244
- package/source/cli.spec.ts +0 -73
- package/source/cli.tsx +0 -51
- package/source/client-factory.spec.ts +0 -48
- package/source/client-factory.ts +0 -178
- package/source/command-parser.spec.ts +0 -127
- package/source/command-parser.ts +0 -36
- package/source/commands/checkpoint.spec.tsx +0 -277
- package/source/commands/checkpoint.tsx +0 -366
- package/source/commands/clear.tsx +0 -22
- package/source/commands/custom-commands.tsx +0 -121
- package/source/commands/exit.ts +0 -21
- package/source/commands/export.spec.tsx +0 -131
- package/source/commands/export.tsx +0 -79
- package/source/commands/help.tsx +0 -120
- package/source/commands/index.ts +0 -17
- package/source/commands/init.tsx +0 -339
- package/source/commands/lsp-command.spec.tsx +0 -281
- package/source/commands/lsp.tsx +0 -120
- package/source/commands/mcp-command.spec.tsx +0 -313
- package/source/commands/mcp.tsx +0 -162
- package/source/commands/model-database.spec.tsx +0 -758
- package/source/commands/model-database.tsx +0 -418
- package/source/commands/model.ts +0 -12
- package/source/commands/provider.ts +0 -12
- package/source/commands/setup-config.tsx +0 -16
- package/source/commands/simple-commands.spec.tsx +0 -175
- package/source/commands/status.ts +0 -12
- package/source/commands/theme.ts +0 -12
- package/source/commands/update.spec.tsx +0 -261
- package/source/commands/update.tsx +0 -201
- package/source/commands/usage.spec.tsx +0 -495
- package/source/commands/usage.tsx +0 -100
- package/source/commands.spec.ts +0 -436
- package/source/commands.ts +0 -83
- package/source/components/assistant-message.spec.tsx +0 -796
- package/source/components/assistant-message.tsx +0 -34
- package/source/components/bash-execution-indicator.tsx +0 -21
- package/source/components/cancelling-indicator.tsx +0 -16
- package/source/components/chat-queue.spec.tsx +0 -83
- package/source/components/chat-queue.tsx +0 -36
- package/source/components/checkpoint-display.spec.tsx +0 -219
- package/source/components/checkpoint-display.tsx +0 -126
- package/source/components/checkpoint-selector.spec.tsx +0 -173
- package/source/components/checkpoint-selector.tsx +0 -173
- package/source/components/development-mode-indicator.spec.tsx +0 -268
- package/source/components/development-mode-indicator.tsx +0 -38
- package/source/components/message-box.spec.tsx +0 -427
- package/source/components/message-box.tsx +0 -87
- package/source/components/model-selector.tsx +0 -132
- package/source/components/provider-selector.tsx +0 -75
- package/source/components/random-spinner.tsx +0 -19
- package/source/components/security-disclaimer.tsx +0 -73
- package/source/components/status-connection-display.spec.tsx +0 -133
- package/source/components/status.tsx +0 -267
- package/source/components/theme-selector.tsx +0 -126
- package/source/components/tool-confirmation.tsx +0 -190
- package/source/components/tool-execution-indicator.tsx +0 -33
- package/source/components/tool-message.tsx +0 -85
- package/source/components/ui/titled-box.spec.tsx +0 -207
- package/source/components/ui/titled-box.tsx +0 -57
- package/source/components/usage/progress-bar.spec.tsx +0 -398
- package/source/components/usage/progress-bar.tsx +0 -30
- package/source/components/usage/usage-display.spec.tsx +0 -780
- package/source/components/usage/usage-display.tsx +0 -291
- package/source/components/user-input.spec.tsx +0 -327
- package/source/components/user-input.tsx +0 -533
- package/source/components/user-message.spec.tsx +0 -230
- package/source/components/user-message.tsx +0 -84
- package/source/components/welcome-message.tsx +0 -76
- package/source/config/env-substitution.ts +0 -65
- package/source/config/index.spec.ts +0 -171
- package/source/config/index.ts +0 -154
- package/source/config/paths.spec.ts +0 -241
- package/source/config/paths.ts +0 -55
- package/source/config/preferences.ts +0 -51
- package/source/config/themes.ts +0 -315
- package/source/constants.ts +0 -130
- package/source/context/mode-context.spec.ts +0 -79
- package/source/context/mode-context.ts +0 -24
- package/source/custom-commands/executor.spec.ts +0 -142
- package/source/custom-commands/executor.ts +0 -64
- package/source/custom-commands/loader.spec.ts +0 -314
- package/source/custom-commands/loader.ts +0 -153
- package/source/custom-commands/parser.ts +0 -196
- package/source/hooks/chat-handler/conversation/conversation-loop.spec.ts +0 -39
- package/source/hooks/chat-handler/conversation/conversation-loop.tsx +0 -511
- package/source/hooks/chat-handler/conversation/tool-executor.spec.ts +0 -50
- package/source/hooks/chat-handler/conversation/tool-executor.tsx +0 -109
- package/source/hooks/chat-handler/index.ts +0 -12
- package/source/hooks/chat-handler/state/streaming-state.spec.ts +0 -26
- package/source/hooks/chat-handler/state/streaming-state.ts +0 -19
- package/source/hooks/chat-handler/types.ts +0 -38
- package/source/hooks/chat-handler/useChatHandler.spec.tsx +0 -321
- package/source/hooks/chat-handler/useChatHandler.tsx +0 -194
- package/source/hooks/chat-handler/utils/context-checker.spec.ts +0 -60
- package/source/hooks/chat-handler/utils/context-checker.tsx +0 -73
- package/source/hooks/chat-handler/utils/message-helpers.spec.ts +0 -42
- package/source/hooks/chat-handler/utils/message-helpers.tsx +0 -36
- package/source/hooks/chat-handler/utils/tool-filters.spec.ts +0 -109
- package/source/hooks/chat-handler/utils/tool-filters.ts +0 -64
- package/source/hooks/useAppHandlers.tsx +0 -291
- package/source/hooks/useAppInitialization.tsx +0 -422
- package/source/hooks/useAppState.tsx +0 -311
- package/source/hooks/useDirectoryTrust.tsx +0 -98
- package/source/hooks/useInputState.ts +0 -414
- package/source/hooks/useModeHandlers.tsx +0 -302
- package/source/hooks/useNonInteractiveMode.ts +0 -140
- package/source/hooks/useTerminalWidth.tsx +0 -81
- package/source/hooks/useTheme.ts +0 -18
- package/source/hooks/useToolHandler.tsx +0 -349
- package/source/hooks/useUIState.ts +0 -61
- package/source/init/agents-template-generator.ts +0 -421
- package/source/init/existing-rules-extractor.ts +0 -319
- package/source/init/file-scanner.spec.ts +0 -227
- package/source/init/file-scanner.ts +0 -238
- package/source/init/framework-detector.ts +0 -382
- package/source/init/language-detector.ts +0 -269
- package/source/init/project-analyzer.spec.ts +0 -231
- package/source/init/project-analyzer.ts +0 -458
- package/source/lsp/index.ts +0 -31
- package/source/lsp/lsp-client.spec.ts +0 -508
- package/source/lsp/lsp-client.ts +0 -487
- package/source/lsp/lsp-manager.spec.ts +0 -477
- package/source/lsp/lsp-manager.ts +0 -419
- package/source/lsp/protocol.spec.ts +0 -502
- package/source/lsp/protocol.ts +0 -360
- package/source/lsp/server-discovery.spec.ts +0 -654
- package/source/lsp/server-discovery.ts +0 -515
- package/source/markdown-parser/html-entities.spec.ts +0 -88
- package/source/markdown-parser/html-entities.ts +0 -45
- package/source/markdown-parser/index.spec.ts +0 -281
- package/source/markdown-parser/index.ts +0 -126
- package/source/markdown-parser/table-parser.spec.ts +0 -133
- package/source/markdown-parser/table-parser.ts +0 -114
- package/source/markdown-parser/utils.spec.ts +0 -70
- package/source/markdown-parser/utils.ts +0 -13
- package/source/mcp/mcp-client.spec.ts +0 -81
- package/source/mcp/mcp-client.ts +0 -625
- package/source/mcp/transport-factory.spec.ts +0 -406
- package/source/mcp/transport-factory.ts +0 -312
- package/source/message-handler.ts +0 -67
- package/source/model-database/database-engine.spec.ts +0 -494
- package/source/model-database/database-engine.ts +0 -50
- package/source/model-database/model-database.spec.ts +0 -363
- package/source/model-database/model-database.ts +0 -91
- package/source/model-database/model-engine.spec.ts +0 -447
- package/source/model-database/model-engine.ts +0 -65
- package/source/model-database/model-fetcher.spec.ts +0 -583
- package/source/model-database/model-fetcher.ts +0 -330
- package/source/models/index.ts +0 -1
- package/source/models/models-cache.spec.ts +0 -214
- package/source/models/models-cache.ts +0 -78
- package/source/models/models-dev-client.spec.ts +0 -379
- package/source/models/models-dev-client.ts +0 -329
- package/source/models/models-types.ts +0 -68
- package/source/prompt-history.ts +0 -155
- package/source/security/command-injection.spec.ts +0 -240
- package/source/services/checkpoint-manager.spec.ts +0 -523
- package/source/services/checkpoint-manager.ts +0 -466
- package/source/services/file-snapshot.spec.ts +0 -569
- package/source/services/file-snapshot.ts +0 -220
- package/source/test-utils/render-with-theme.tsx +0 -48
- package/source/tokenization/index.ts +0 -1
- package/source/tokenization/tokenizer-factory.spec.ts +0 -170
- package/source/tokenization/tokenizer-factory.ts +0 -125
- package/source/tokenization/tokenizers/anthropic-tokenizer.spec.ts +0 -200
- package/source/tokenization/tokenizers/anthropic-tokenizer.ts +0 -43
- package/source/tokenization/tokenizers/fallback-tokenizer.spec.ts +0 -236
- package/source/tokenization/tokenizers/fallback-tokenizer.ts +0 -26
- package/source/tokenization/tokenizers/llama-tokenizer.spec.ts +0 -224
- package/source/tokenization/tokenizers/llama-tokenizer.ts +0 -41
- package/source/tokenization/tokenizers/openai-tokenizer.spec.ts +0 -184
- package/source/tokenization/tokenizers/openai-tokenizer.ts +0 -57
- package/source/tool-calling/index.ts +0 -5
- package/source/tool-calling/json-parser.spec.ts +0 -639
- package/source/tool-calling/json-parser.ts +0 -247
- package/source/tool-calling/tool-parser.spec.ts +0 -395
- package/source/tool-calling/tool-parser.ts +0 -120
- package/source/tool-calling/xml-parser.spec.ts +0 -662
- package/source/tool-calling/xml-parser.ts +0 -289
- package/source/tools/execute-bash.spec.tsx +0 -353
- package/source/tools/execute-bash.tsx +0 -219
- package/source/tools/execute-function.spec.ts +0 -130
- package/source/tools/fetch-url.spec.tsx +0 -342
- package/source/tools/fetch-url.tsx +0 -172
- package/source/tools/find-files.spec.tsx +0 -924
- package/source/tools/find-files.tsx +0 -293
- package/source/tools/index.ts +0 -102
- package/source/tools/lsp-get-diagnostics.tsx +0 -192
- package/source/tools/needs-approval.spec.ts +0 -282
- package/source/tools/read-file.spec.tsx +0 -801
- package/source/tools/read-file.tsx +0 -387
- package/source/tools/search-file-contents.spec.tsx +0 -1273
- package/source/tools/search-file-contents.tsx +0 -293
- package/source/tools/string-replace.spec.tsx +0 -730
- package/source/tools/string-replace.tsx +0 -548
- package/source/tools/tool-manager.ts +0 -210
- package/source/tools/tool-registry.spec.ts +0 -415
- package/source/tools/tool-registry.ts +0 -228
- package/source/tools/web-search.tsx +0 -223
- package/source/tools/write-file.spec.tsx +0 -559
- package/source/tools/write-file.tsx +0 -228
- package/source/types/app.ts +0 -37
- package/source/types/checkpoint.ts +0 -48
- package/source/types/commands.ts +0 -46
- package/source/types/components.ts +0 -27
- package/source/types/config.ts +0 -103
- package/source/types/core-connection-status.spec.ts +0 -67
- package/source/types/core.ts +0 -181
- package/source/types/hooks.ts +0 -50
- package/source/types/index.ts +0 -12
- package/source/types/markdown-parser.ts +0 -11
- package/source/types/mcp.ts +0 -52
- package/source/types/system.ts +0 -16
- package/source/types/tokenization.ts +0 -41
- package/source/types/ui.ts +0 -40
- package/source/types/usage.ts +0 -58
- package/source/types/utils.ts +0 -16
- package/source/usage/calculator.spec.ts +0 -385
- package/source/usage/calculator.ts +0 -104
- package/source/usage/storage.spec.ts +0 -703
- package/source/usage/storage.ts +0 -238
- package/source/usage/tracker.spec.ts +0 -456
- package/source/usage/tracker.ts +0 -102
- package/source/utils/atomic-deletion.spec.ts +0 -194
- package/source/utils/atomic-deletion.ts +0 -127
- package/source/utils/bounded-map.spec.ts +0 -300
- package/source/utils/bounded-map.ts +0 -193
- package/source/utils/checkpoint-utils.spec.ts +0 -222
- package/source/utils/checkpoint-utils.ts +0 -92
- package/source/utils/error-formatter.spec.ts +0 -169
- package/source/utils/error-formatter.ts +0 -194
- package/source/utils/file-autocomplete.spec.ts +0 -173
- package/source/utils/file-autocomplete.ts +0 -196
- package/source/utils/file-cache.spec.ts +0 -309
- package/source/utils/file-cache.ts +0 -195
- package/source/utils/file-content-loader.spec.ts +0 -180
- package/source/utils/file-content-loader.ts +0 -179
- package/source/utils/file-mention-handler.spec.ts +0 -261
- package/source/utils/file-mention-handler.ts +0 -84
- package/source/utils/file-mention-parser.spec.ts +0 -182
- package/source/utils/file-mention-parser.ts +0 -170
- package/source/utils/fuzzy-matching.spec.ts +0 -149
- package/source/utils/fuzzy-matching.ts +0 -146
- package/source/utils/indentation-normalizer.spec.ts +0 -216
- package/source/utils/indentation-normalizer.ts +0 -76
- package/source/utils/installation-detector.spec.ts +0 -178
- package/source/utils/installation-detector.ts +0 -153
- package/source/utils/logging/config.spec.ts +0 -311
- package/source/utils/logging/config.ts +0 -210
- package/source/utils/logging/console-facade.spec.ts +0 -184
- package/source/utils/logging/console-facade.ts +0 -384
- package/source/utils/logging/correlation.spec.ts +0 -679
- package/source/utils/logging/correlation.ts +0 -474
- package/source/utils/logging/formatters.spec.ts +0 -464
- package/source/utils/logging/formatters.ts +0 -207
- package/source/utils/logging/health-monitor/alerts/alert-manager.spec.ts +0 -93
- package/source/utils/logging/health-monitor/alerts/alert-manager.ts +0 -79
- package/source/utils/logging/health-monitor/checks/configuration-check.spec.ts +0 -56
- package/source/utils/logging/health-monitor/checks/configuration-check.ts +0 -43
- package/source/utils/logging/health-monitor/checks/logging-check.spec.ts +0 -56
- package/source/utils/logging/health-monitor/checks/logging-check.ts +0 -58
- package/source/utils/logging/health-monitor/checks/memory-check.spec.ts +0 -100
- package/source/utils/logging/health-monitor/checks/memory-check.ts +0 -78
- package/source/utils/logging/health-monitor/checks/performance-check.spec.ts +0 -56
- package/source/utils/logging/health-monitor/checks/performance-check.ts +0 -56
- package/source/utils/logging/health-monitor/checks/request-check.spec.ts +0 -56
- package/source/utils/logging/health-monitor/checks/request-check.ts +0 -76
- package/source/utils/logging/health-monitor/core/health-check-runner.spec.ts +0 -70
- package/source/utils/logging/health-monitor/core/health-check-runner.ts +0 -138
- package/source/utils/logging/health-monitor/core/health-monitor.spec.ts +0 -58
- package/source/utils/logging/health-monitor/core/health-monitor.ts +0 -344
- package/source/utils/logging/health-monitor/core/scoring.spec.ts +0 -65
- package/source/utils/logging/health-monitor/core/scoring.ts +0 -91
- package/source/utils/logging/health-monitor/index.ts +0 -15
- package/source/utils/logging/health-monitor/instances.ts +0 -48
- package/source/utils/logging/health-monitor/middleware/http-middleware.spec.ts +0 -141
- package/source/utils/logging/health-monitor/middleware/http-middleware.ts +0 -75
- package/source/utils/logging/health-monitor/types.ts +0 -126
- package/source/utils/logging/index.spec.ts +0 -284
- package/source/utils/logging/index.ts +0 -236
- package/source/utils/logging/integration.spec.ts +0 -441
- package/source/utils/logging/log-method-factory.spec.ts +0 -573
- package/source/utils/logging/log-method-factory.ts +0 -233
- package/source/utils/logging/log-query/aggregation/aggregator.spec.ts +0 -277
- package/source/utils/logging/log-query/aggregation/aggregator.ts +0 -159
- package/source/utils/logging/log-query/aggregation/facet-generator.spec.ts +0 -159
- package/source/utils/logging/log-query/aggregation/facet-generator.ts +0 -47
- package/source/utils/logging/log-query/index.ts +0 -23
- package/source/utils/logging/log-query/query/filter-predicates.spec.ts +0 -247
- package/source/utils/logging/log-query/query/filter-predicates.ts +0 -154
- package/source/utils/logging/log-query/query/query-builder.spec.ts +0 -182
- package/source/utils/logging/log-query/query/query-builder.ts +0 -151
- package/source/utils/logging/log-query/query/query-engine.spec.ts +0 -214
- package/source/utils/logging/log-query/query/query-engine.ts +0 -45
- package/source/utils/logging/log-query/storage/circular-buffer.spec.ts +0 -143
- package/source/utils/logging/log-query/storage/circular-buffer.ts +0 -75
- package/source/utils/logging/log-query/storage/index-manager.spec.ts +0 -150
- package/source/utils/logging/log-query/storage/index-manager.ts +0 -71
- package/source/utils/logging/log-query/storage/log-storage.spec.ts +0 -257
- package/source/utils/logging/log-query/storage/log-storage.ts +0 -80
- package/source/utils/logging/log-query/types.ts +0 -163
- package/source/utils/logging/log-query/utils/helpers.spec.ts +0 -263
- package/source/utils/logging/log-query/utils/helpers.ts +0 -72
- package/source/utils/logging/log-query/utils/sorting.spec.ts +0 -182
- package/source/utils/logging/log-query/utils/sorting.ts +0 -61
- package/source/utils/logging/logger-provider.spec.ts +0 -262
- package/source/utils/logging/logger-provider.ts +0 -362
- package/source/utils/logging/performance.spec.ts +0 -209
- package/source/utils/logging/performance.ts +0 -757
- package/source/utils/logging/pino-logger.spec.ts +0 -425
- package/source/utils/logging/pino-logger.ts +0 -514
- package/source/utils/logging/redaction.spec.ts +0 -490
- package/source/utils/logging/redaction.ts +0 -267
- package/source/utils/logging/request-tracker.spec.ts +0 -1198
- package/source/utils/logging/request-tracker.ts +0 -803
- package/source/utils/logging/transports.spec.ts +0 -505
- package/source/utils/logging/transports.ts +0 -305
- package/source/utils/logging/types.ts +0 -216
- package/source/utils/message-builder.spec.ts +0 -179
- package/source/utils/message-builder.ts +0 -101
- package/source/utils/message-queue.tsx +0 -486
- package/source/utils/paste-detection.spec.ts +0 -69
- package/source/utils/paste-detection.ts +0 -124
- package/source/utils/paste-roundtrip.spec.ts +0 -442
- package/source/utils/paste-utils.spec.ts +0 -128
- package/source/utils/paste-utils.ts +0 -52
- package/source/utils/programming-language-helper.spec.ts +0 -74
- package/source/utils/programming-language-helper.ts +0 -32
- package/source/utils/prompt-assembly.spec.ts +0 -221
- package/source/utils/prompt-processor.ts +0 -173
- package/source/utils/tool-args-parser.spec.ts +0 -136
- package/source/utils/tool-args-parser.ts +0 -54
- package/source/utils/tool-cancellation.spec.ts +0 -230
- package/source/utils/tool-cancellation.ts +0 -28
- package/source/utils/tool-result-display.spec.tsx +0 -469
- package/source/utils/tool-result-display.tsx +0 -90
- package/source/utils/update-checker.spec.ts +0 -383
- package/source/utils/update-checker.ts +0 -183
- package/source/wizard/config-wizard.spec.tsx +0 -103
- package/source/wizard/config-wizard.tsx +0 -382
- package/source/wizard/steps/location-step.spec.tsx +0 -186
- package/source/wizard/steps/location-step.tsx +0 -147
- package/source/wizard/steps/mcp-step.spec.tsx +0 -607
- package/source/wizard/steps/mcp-step.tsx +0 -632
- package/source/wizard/steps/provider-step.spec.tsx +0 -342
- package/source/wizard/steps/provider-step.tsx +0 -957
- package/source/wizard/steps/summary-step.spec.tsx +0 -749
- package/source/wizard/steps/summary-step.tsx +0 -228
- package/source/wizard/templates/mcp-templates.spec.ts +0 -613
- package/source/wizard/templates/mcp-templates.ts +0 -570
- package/source/wizard/templates/provider-templates.spec.ts +0 -152
- package/source/wizard/templates/provider-templates.ts +0 -485
- package/source/wizard/utils/fetch-cloud-models.spec.ts +0 -428
- package/source/wizard/utils/fetch-cloud-models.ts +0 -223
- package/source/wizard/utils/fetch-local-models.spec.ts +0 -297
- package/source/wizard/utils/fetch-local-models.ts +0 -192
- package/source/wizard/validation-array.spec.ts +0 -264
- package/source/wizard/validation.spec.ts +0 -373
- package/source/wizard/validation.ts +0 -232
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Parse tool arguments from various formats
|
|
3
|
-
* Handles both string-encoded JSON and already-parsed objects
|
|
4
|
-
*
|
|
5
|
-
* This utility eliminates the repeated pattern of JSON parsing that appears
|
|
6
|
-
* throughout the codebase when handling tool call arguments.
|
|
7
|
-
*
|
|
8
|
-
* ## Error Handling Modes
|
|
9
|
-
*
|
|
10
|
-
* **Lenient mode (strict=false, default)**: Used for display/UI purposes where
|
|
11
|
-
* graceful degradation is acceptable. If JSON parsing fails, returns the
|
|
12
|
-
* unparsed string, allowing the application to continue.
|
|
13
|
-
*
|
|
14
|
-
* **Strict mode (strict=true)**: Used for tool execution where malformed
|
|
15
|
-
* arguments must be caught early. Throws an error if JSON parsing fails,
|
|
16
|
-
* preventing execution with invalid data.
|
|
17
|
-
*
|
|
18
|
-
* @param args - Arguments in any format (string, object, etc.)
|
|
19
|
-
* @param options - Parsing options
|
|
20
|
-
* @param options.strict - If true, throw error on parse failure. If false, return unparsed value. Default: false
|
|
21
|
-
* @returns Parsed arguments as the specified type
|
|
22
|
-
* @throws Error if strict=true and JSON parsing fails
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* // Lenient parsing for display
|
|
26
|
-
* const parsedArgs = parseToolArguments(toolCall.function.arguments);
|
|
27
|
-
*
|
|
28
|
-
* // Strict parsing for tool execution
|
|
29
|
-
* const parsedArgs = parseToolArguments(toolCall.function.arguments, {strict: true});
|
|
30
|
-
*
|
|
31
|
-
* // With type parameter
|
|
32
|
-
* const typedArgs = parseToolArguments<{path: string}>(args, {strict: true});
|
|
33
|
-
*/
|
|
34
|
-
export function parseToolArguments<T = Record<string, unknown>>(
|
|
35
|
-
args: unknown,
|
|
36
|
-
options: {strict?: boolean} = {},
|
|
37
|
-
): T {
|
|
38
|
-
const {strict = false} = options;
|
|
39
|
-
|
|
40
|
-
if (typeof args === 'string') {
|
|
41
|
-
try {
|
|
42
|
-
return JSON.parse(args) as T;
|
|
43
|
-
} catch (e) {
|
|
44
|
-
if (strict) {
|
|
45
|
-
throw new Error(
|
|
46
|
-
`Error: Invalid tool arguments: ${(e as Error).message}`,
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
// If parsing fails in lenient mode, return as-is (will be cast to T)
|
|
50
|
-
return args as T;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
return args as T;
|
|
54
|
-
}
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
import type {ToolCall} from '@/types/index';
|
|
2
|
-
import test from 'ava';
|
|
3
|
-
import {createCancellationResults} from './tool-cancellation';
|
|
4
|
-
|
|
5
|
-
console.log(`\ntool-cancellation.spec.ts`);
|
|
6
|
-
|
|
7
|
-
// Helper to create mock tool calls
|
|
8
|
-
function createMockToolCall(
|
|
9
|
-
id: string,
|
|
10
|
-
name: string,
|
|
11
|
-
args: Record<string, unknown> = {},
|
|
12
|
-
): ToolCall {
|
|
13
|
-
return {
|
|
14
|
-
id,
|
|
15
|
-
function: {
|
|
16
|
-
name,
|
|
17
|
-
arguments: args,
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// Basic functionality tests
|
|
23
|
-
test('createCancellationResults - creates result for single tool call', t => {
|
|
24
|
-
const toolCalls = [createMockToolCall('call-1', 'ReadFile', {path: '/test'})];
|
|
25
|
-
const results = createCancellationResults(toolCalls);
|
|
26
|
-
|
|
27
|
-
t.is(results.length, 1);
|
|
28
|
-
t.is(results[0].tool_call_id, 'call-1');
|
|
29
|
-
t.is(results[0].role, 'tool');
|
|
30
|
-
t.is(results[0].name, 'ReadFile');
|
|
31
|
-
t.is(results[0].content, 'Tool execution was cancelled by the user.');
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
test('createCancellationResults - creates results for multiple tool calls', t => {
|
|
35
|
-
const toolCalls = [
|
|
36
|
-
createMockToolCall('call-1', 'ReadFile', {path: '/test1'}),
|
|
37
|
-
createMockToolCall('call-2', 'WriteFile', {path: '/test2'}),
|
|
38
|
-
createMockToolCall('call-3', 'ExecuteBash', {command: 'ls'}),
|
|
39
|
-
];
|
|
40
|
-
const results = createCancellationResults(toolCalls);
|
|
41
|
-
|
|
42
|
-
t.is(results.length, 3);
|
|
43
|
-
t.is(results[0].tool_call_id, 'call-1');
|
|
44
|
-
t.is(results[1].tool_call_id, 'call-2');
|
|
45
|
-
t.is(results[2].tool_call_id, 'call-3');
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
test('createCancellationResults - handles empty array', t => {
|
|
49
|
-
const toolCalls: ToolCall[] = [];
|
|
50
|
-
const results = createCancellationResults(toolCalls);
|
|
51
|
-
|
|
52
|
-
t.is(results.length, 0);
|
|
53
|
-
t.deepEqual(results, []);
|
|
54
|
-
});
|
|
55
|
-
|
|
56
|
-
// Field mapping tests
|
|
57
|
-
test('createCancellationResults - correctly maps tool_call_id from id', t => {
|
|
58
|
-
const toolCalls = [createMockToolCall('unique-id-123', 'SomeTool')];
|
|
59
|
-
const results = createCancellationResults(toolCalls);
|
|
60
|
-
|
|
61
|
-
t.is(results[0].tool_call_id, 'unique-id-123');
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
test('createCancellationResults - correctly maps name from function.name', t => {
|
|
65
|
-
const toolCalls = [createMockToolCall('call-1', 'CustomToolName')];
|
|
66
|
-
const results = createCancellationResults(toolCalls);
|
|
67
|
-
|
|
68
|
-
t.is(results[0].name, 'CustomToolName');
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
test('createCancellationResults - sets role to "tool"', t => {
|
|
72
|
-
const toolCalls = [createMockToolCall('call-1', 'AnyTool')];
|
|
73
|
-
const results = createCancellationResults(toolCalls);
|
|
74
|
-
|
|
75
|
-
t.is(results[0].role, 'tool');
|
|
76
|
-
});
|
|
77
|
-
|
|
78
|
-
test('createCancellationResults - sets consistent cancellation message', t => {
|
|
79
|
-
const toolCalls = [
|
|
80
|
-
createMockToolCall('call-1', 'Tool1'),
|
|
81
|
-
createMockToolCall('call-2', 'Tool2'),
|
|
82
|
-
];
|
|
83
|
-
const results = createCancellationResults(toolCalls);
|
|
84
|
-
|
|
85
|
-
// All results should have the same cancellation message
|
|
86
|
-
t.is(results[0].content, 'Tool execution was cancelled by the user.');
|
|
87
|
-
t.is(results[1].content, 'Tool execution was cancelled by the user.');
|
|
88
|
-
});
|
|
89
|
-
|
|
90
|
-
// Edge cases with tool names
|
|
91
|
-
test('createCancellationResults - handles tools with special characters in name', t => {
|
|
92
|
-
const toolCalls = [createMockToolCall('call-1', 'Tool_With_Underscores')];
|
|
93
|
-
const results = createCancellationResults(toolCalls);
|
|
94
|
-
|
|
95
|
-
t.is(results[0].name, 'Tool_With_Underscores');
|
|
96
|
-
});
|
|
97
|
-
|
|
98
|
-
test('createCancellationResults - handles tools with numbers in name', t => {
|
|
99
|
-
const toolCalls = [createMockToolCall('call-1', 'Tool123')];
|
|
100
|
-
const results = createCancellationResults(toolCalls);
|
|
101
|
-
|
|
102
|
-
t.is(results[0].name, 'Tool123');
|
|
103
|
-
});
|
|
104
|
-
|
|
105
|
-
test('createCancellationResults - handles tools with camelCase name', t => {
|
|
106
|
-
const toolCalls = [createMockToolCall('call-1', 'readFileContents')];
|
|
107
|
-
const results = createCancellationResults(toolCalls);
|
|
108
|
-
|
|
109
|
-
t.is(results[0].name, 'readFileContents');
|
|
110
|
-
});
|
|
111
|
-
|
|
112
|
-
// Edge cases with tool call IDs
|
|
113
|
-
test('createCancellationResults - handles very long tool call IDs', t => {
|
|
114
|
-
const longId = 'a'.repeat(1000);
|
|
115
|
-
const toolCalls = [createMockToolCall(longId, 'SomeTool')];
|
|
116
|
-
const results = createCancellationResults(toolCalls);
|
|
117
|
-
|
|
118
|
-
t.is(results[0].tool_call_id, longId);
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
test('createCancellationResults - handles UUID-style IDs', t => {
|
|
122
|
-
const uuid = '550e8400-e29b-41d4-a716-446655440000';
|
|
123
|
-
const toolCalls = [createMockToolCall(uuid, 'SomeTool')];
|
|
124
|
-
const results = createCancellationResults(toolCalls);
|
|
125
|
-
|
|
126
|
-
t.is(results[0].tool_call_id, uuid);
|
|
127
|
-
});
|
|
128
|
-
|
|
129
|
-
// Arguments handling (should be ignored in cancellation)
|
|
130
|
-
test('createCancellationResults - ignores tool arguments', t => {
|
|
131
|
-
const complexArgs = {
|
|
132
|
-
path: '/very/long/path',
|
|
133
|
-
options: {recursive: true, force: true},
|
|
134
|
-
metadata: {created: new Date(), author: 'test'},
|
|
135
|
-
};
|
|
136
|
-
const toolCalls = [createMockToolCall('call-1', 'ComplexTool', complexArgs)];
|
|
137
|
-
const results = createCancellationResults(toolCalls);
|
|
138
|
-
|
|
139
|
-
// Result should not include arguments
|
|
140
|
-
t.false('arguments' in results[0]);
|
|
141
|
-
// Only expected fields should be present
|
|
142
|
-
t.is(Object.keys(results[0]).length, 4); // tool_call_id, role, name, content
|
|
143
|
-
});
|
|
144
|
-
|
|
145
|
-
// Multiple tool calls with same name
|
|
146
|
-
test('createCancellationResults - handles multiple calls to same tool', t => {
|
|
147
|
-
const toolCalls = [
|
|
148
|
-
createMockToolCall('call-1', 'ReadFile', {path: '/file1'}),
|
|
149
|
-
createMockToolCall('call-2', 'ReadFile', {path: '/file2'}),
|
|
150
|
-
createMockToolCall('call-3', 'ReadFile', {path: '/file3'}),
|
|
151
|
-
];
|
|
152
|
-
const results = createCancellationResults(toolCalls);
|
|
153
|
-
|
|
154
|
-
t.is(results.length, 3);
|
|
155
|
-
// All should have same name but different IDs
|
|
156
|
-
t.is(results[0].name, 'ReadFile');
|
|
157
|
-
t.is(results[1].name, 'ReadFile');
|
|
158
|
-
t.is(results[2].name, 'ReadFile');
|
|
159
|
-
t.is(results[0].tool_call_id, 'call-1');
|
|
160
|
-
t.is(results[1].tool_call_id, 'call-2');
|
|
161
|
-
t.is(results[2].tool_call_id, 'call-3');
|
|
162
|
-
});
|
|
163
|
-
|
|
164
|
-
// Result structure validation
|
|
165
|
-
test('createCancellationResults - result has correct structure', t => {
|
|
166
|
-
const toolCalls = [createMockToolCall('call-1', 'TestTool')];
|
|
167
|
-
const results = createCancellationResults(toolCalls);
|
|
168
|
-
|
|
169
|
-
const result = results[0];
|
|
170
|
-
t.true('tool_call_id' in result);
|
|
171
|
-
t.true('role' in result);
|
|
172
|
-
t.true('name' in result);
|
|
173
|
-
t.true('content' in result);
|
|
174
|
-
t.is(typeof result.tool_call_id, 'string');
|
|
175
|
-
t.is(typeof result.role, 'string');
|
|
176
|
-
t.is(typeof result.name, 'string');
|
|
177
|
-
t.is(typeof result.content, 'string');
|
|
178
|
-
});
|
|
179
|
-
|
|
180
|
-
// Array immutability test
|
|
181
|
-
test('createCancellationResults - does not modify input array', t => {
|
|
182
|
-
const toolCalls = [
|
|
183
|
-
createMockToolCall('call-1', 'Tool1'),
|
|
184
|
-
createMockToolCall('call-2', 'Tool2'),
|
|
185
|
-
];
|
|
186
|
-
const originalLength = toolCalls.length;
|
|
187
|
-
const originalFirstId = toolCalls[0].id;
|
|
188
|
-
|
|
189
|
-
createCancellationResults(toolCalls);
|
|
190
|
-
|
|
191
|
-
t.is(toolCalls.length, originalLength);
|
|
192
|
-
t.is(toolCalls[0].id, originalFirstId);
|
|
193
|
-
});
|
|
194
|
-
|
|
195
|
-
// Real-world scenario test
|
|
196
|
-
test('createCancellationResults - realistic multi-tool cancellation', t => {
|
|
197
|
-
const toolCalls = [
|
|
198
|
-
createMockToolCall('tc-001', 'ReadFile', {
|
|
199
|
-
path: '/project/config.json',
|
|
200
|
-
}),
|
|
201
|
-
createMockToolCall('tc-002', 'FindFiles', {
|
|
202
|
-
pattern: '**/*.ts',
|
|
203
|
-
path: '/project',
|
|
204
|
-
}),
|
|
205
|
-
createMockToolCall('tc-003', 'ExecuteBash', {
|
|
206
|
-
command: 'npm test',
|
|
207
|
-
}),
|
|
208
|
-
createMockToolCall('tc-004', 'WriteFile', {
|
|
209
|
-
path: '/output.txt',
|
|
210
|
-
content: 'test',
|
|
211
|
-
}),
|
|
212
|
-
];
|
|
213
|
-
|
|
214
|
-
const results = createCancellationResults(toolCalls);
|
|
215
|
-
|
|
216
|
-
t.is(results.length, 4);
|
|
217
|
-
|
|
218
|
-
// Verify all have correct structure and cancellation message
|
|
219
|
-
results.forEach((result, index) => {
|
|
220
|
-
t.is(result.tool_call_id, `tc-00${index + 1}`);
|
|
221
|
-
t.is(result.role, 'tool');
|
|
222
|
-
t.is(result.content, 'Tool execution was cancelled by the user.');
|
|
223
|
-
});
|
|
224
|
-
|
|
225
|
-
// Verify specific tool names are preserved
|
|
226
|
-
t.is(results[0].name, 'ReadFile');
|
|
227
|
-
t.is(results[1].name, 'FindFiles');
|
|
228
|
-
t.is(results[2].name, 'ExecuteBash');
|
|
229
|
-
t.is(results[3].name, 'WriteFile');
|
|
230
|
-
});
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type {ToolCall, ToolResult} from '@/types/index';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Create cancellation results for tool calls
|
|
5
|
-
* Used when user cancels tool execution to maintain conversation state integrity
|
|
6
|
-
*
|
|
7
|
-
* This utility eliminates duplication of cancellation result creation logic
|
|
8
|
-
*
|
|
9
|
-
* @param toolCalls - Array of tool calls that were cancelled
|
|
10
|
-
* @returns Array of tool results indicating cancellation
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* const cancellationResults = createCancellationResults(pendingToolCalls);
|
|
14
|
-
* const toolMessages = cancellationResults.map(result => ({
|
|
15
|
-
* role: 'tool' as const,
|
|
16
|
-
* content: result.content,
|
|
17
|
-
* tool_call_id: result.tool_call_id,
|
|
18
|
-
* name: result.name,
|
|
19
|
-
* }));
|
|
20
|
-
*/
|
|
21
|
-
export function createCancellationResults(toolCalls: ToolCall[]): ToolResult[] {
|
|
22
|
-
return toolCalls.map(toolCall => ({
|
|
23
|
-
tool_call_id: toolCall.id,
|
|
24
|
-
role: 'tool' as const,
|
|
25
|
-
name: toolCall.function.name,
|
|
26
|
-
content: 'Tool execution was cancelled by the user.',
|
|
27
|
-
}));
|
|
28
|
-
}
|