@vybestack/llxprt-code-core 0.1.19-beta → 0.1.19-gamma
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 +49 -2
- package/dist/index.d.ts +6 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/src/auth/anthropic-device-flow.d.ts +53 -0
- package/dist/src/auth/anthropic-device-flow.js +208 -0
- package/dist/src/auth/anthropic-device-flow.js.map +1 -0
- package/dist/src/auth/precedence.d.ts +55 -0
- package/dist/src/auth/precedence.js +211 -0
- package/dist/src/auth/precedence.js.map +1 -0
- package/dist/src/auth/qwen-device-flow.d.ts +45 -0
- package/dist/src/auth/qwen-device-flow.js +179 -0
- package/dist/src/auth/qwen-device-flow.js.map +1 -0
- package/dist/src/auth/token-store.d.ts +66 -0
- package/dist/src/auth/token-store.js +151 -0
- package/dist/src/auth/token-store.js.map +1 -0
- package/dist/src/auth/types.d.ts +130 -0
- package/dist/src/auth/types.js +60 -0
- package/dist/src/auth/types.js.map +1 -0
- package/dist/src/config/config.d.ts +7 -1
- package/dist/src/config/config.js +42 -4
- package/dist/src/config/config.js.map +1 -1
- package/dist/src/config/endpoints.d.ts +60 -0
- package/dist/src/config/endpoints.js +126 -0
- package/dist/src/config/endpoints.js.map +1 -0
- package/dist/src/config/profileManager.d.ts +14 -4
- package/dist/src/config/profileManager.js +90 -11
- package/dist/src/config/profileManager.js.map +1 -1
- package/dist/src/core/client.js +9 -12
- package/dist/src/core/client.js.map +1 -1
- package/dist/src/core/contentGenerator.d.ts +4 -1
- package/dist/src/core/contentGenerator.js +3 -0
- package/dist/src/core/contentGenerator.js.map +1 -1
- package/dist/src/core/subagent.js +12 -10
- package/dist/src/core/subagent.js.map +1 -1
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.js +9 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/providers/BaseProvider.d.ts +149 -0
- package/dist/src/providers/BaseProvider.js +315 -0
- package/dist/src/providers/BaseProvider.js.map +1 -0
- package/dist/src/providers/IProvider.d.ts +1 -0
- package/dist/src/providers/LoggingProviderWrapper.d.ts +1 -0
- package/dist/src/providers/LoggingProviderWrapper.js +3 -0
- package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
- package/dist/src/providers/ProviderManager.d.ts +0 -1
- package/dist/src/providers/ProviderManager.js +23 -14
- package/dist/src/providers/ProviderManager.js.map +1 -1
- package/dist/src/providers/anthropic/AnthropicProvider.d.ts +20 -6
- package/dist/src/providers/anthropic/AnthropicProvider.js +172 -26
- package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
- package/dist/src/providers/gemini/GeminiProvider.d.ts +16 -7
- package/dist/src/providers/gemini/GeminiProvider.js +163 -148
- package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
- package/dist/src/providers/openai/OpenAIProvider.d.ts +53 -6
- package/dist/src/providers/openai/OpenAIProvider.js +373 -40
- package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
- package/dist/src/providers/openai/RESPONSES_API_MODELS.d.ts +1 -1
- package/dist/src/providers/openai/RESPONSES_API_MODELS.js +1 -0
- package/dist/src/providers/openai/RESPONSES_API_MODELS.js.map +1 -1
- package/dist/src/providers/openai/syntheticToolResponses.d.ts +52 -0
- package/dist/src/providers/openai/syntheticToolResponses.js +129 -0
- package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -0
- package/dist/src/settings/SettingsService.d.ts +32 -0
- package/dist/src/settings/SettingsService.js +204 -0
- package/dist/src/settings/SettingsService.js.map +1 -0
- package/dist/src/settings/settingsServiceInstance.d.ts +12 -0
- package/dist/src/settings/settingsServiceInstance.js +24 -0
- package/dist/src/settings/settingsServiceInstance.js.map +1 -0
- package/dist/src/settings/types.d.ts +141 -0
- package/dist/src/settings/types.js +5 -0
- package/dist/src/settings/types.js.map +1 -0
- package/package.json +4 -2
- package/dist/src/code_assist/converter.test.d.ts +0 -6
- package/dist/src/code_assist/converter.test.js +0 -279
- package/dist/src/code_assist/converter.test.js.map +0 -1
- package/dist/src/code_assist/oauth2.test.d.ts +0 -6
- package/dist/src/code_assist/oauth2.test.js +0 -370
- package/dist/src/code_assist/oauth2.test.js.map +0 -1
- package/dist/src/code_assist/server.test.d.ts +0 -6
- package/dist/src/code_assist/server.test.js +0 -134
- package/dist/src/code_assist/server.test.js.map +0 -1
- package/dist/src/code_assist/setup.test.d.ts +0 -6
- package/dist/src/code_assist/setup.test.js +0 -65
- package/dist/src/code_assist/setup.test.js.map +0 -1
- package/dist/src/config/config.alwaysAllow.test.d.ts +0 -6
- package/dist/src/config/config.alwaysAllow.test.js +0 -84
- package/dist/src/config/config.alwaysAllow.test.js.map +0 -1
- package/dist/src/config/config.ephemeral.test.d.ts +0 -6
- package/dist/src/config/config.ephemeral.test.js +0 -152
- package/dist/src/config/config.ephemeral.test.js.map +0 -1
- package/dist/src/config/config.test.d.ts +0 -6
- package/dist/src/config/config.test.js +0 -369
- package/dist/src/config/config.test.js.map +0 -1
- package/dist/src/config/flashFallback.test.d.ts +0 -6
- package/dist/src/config/flashFallback.test.js +0 -91
- package/dist/src/config/flashFallback.test.js.map +0 -1
- package/dist/src/core/client.test.d.ts +0 -6
- package/dist/src/core/client.test.js +0 -1322
- package/dist/src/core/client.test.js.map +0 -1
- package/dist/src/core/contentGenerator.test.d.ts +0 -6
- package/dist/src/core/contentGenerator.test.js +0 -103
- package/dist/src/core/contentGenerator.test.js.map +0 -1
- package/dist/src/core/coreToolScheduler.test.d.ts +0 -6
- package/dist/src/core/coreToolScheduler.test.js +0 -637
- package/dist/src/core/coreToolScheduler.test.js.map +0 -1
- package/dist/src/core/geminiChat.test.d.ts +0 -6
- package/dist/src/core/geminiChat.test.js +0 -425
- package/dist/src/core/geminiChat.test.js.map +0 -1
- package/dist/src/core/googleGenAIWrapper.test.d.ts +0 -6
- package/dist/src/core/googleGenAIWrapper.test.js +0 -104
- package/dist/src/core/googleGenAIWrapper.test.js.map +0 -1
- package/dist/src/core/logger.test.d.ts +0 -6
- package/dist/src/core/logger.test.js +0 -467
- package/dist/src/core/logger.test.js.map +0 -1
- package/dist/src/core/nonInteractiveToolExecutor.test.d.ts +0 -6
- package/dist/src/core/nonInteractiveToolExecutor.test.js +0 -165
- package/dist/src/core/nonInteractiveToolExecutor.test.js.map +0 -1
- package/dist/src/core/prompts-async.test.d.ts +0 -6
- package/dist/src/core/prompts-async.test.js +0 -115
- package/dist/src/core/prompts-async.test.js.map +0 -1
- package/dist/src/core/prompts.test.d.ts +0 -6
- package/dist/src/core/prompts.test.js +0 -68
- package/dist/src/core/prompts.test.js.map +0 -1
- package/dist/src/core/subagent.test.d.ts +0 -6
- package/dist/src/core/subagent.test.js +0 -519
- package/dist/src/core/subagent.test.js.map +0 -1
- package/dist/src/core/tokenLimits.test.d.ts +0 -6
- package/dist/src/core/tokenLimits.test.js +0 -66
- package/dist/src/core/tokenLimits.test.js.map +0 -1
- package/dist/src/core/turn.test.d.ts +0 -6
- package/dist/src/core/turn.test.js +0 -366
- package/dist/src/core/turn.test.js.map +0 -1
- package/dist/src/hooks/tool-render-suppression-hook.test.d.ts +0 -6
- package/dist/src/hooks/tool-render-suppression-hook.test.js +0 -59
- package/dist/src/hooks/tool-render-suppression-hook.test.js.map +0 -1
- package/dist/src/ide/ide-installer.test.d.ts +0 -6
- package/dist/src/ide/ide-installer.test.js +0 -55
- package/dist/src/ide/ide-installer.test.js.map +0 -1
- package/dist/src/ide/ideContext.test.d.ts +0 -6
- package/dist/src/ide/ideContext.test.js +0 -265
- package/dist/src/ide/ideContext.test.js.map +0 -1
- package/dist/src/index.test.d.ts +0 -6
- package/dist/src/index.test.js +0 -12
- package/dist/src/index.test.js.map +0 -1
- package/dist/src/integration-tests/todo-system.test.d.ts +0 -6
- package/dist/src/integration-tests/todo-system.test.js +0 -46
- package/dist/src/integration-tests/todo-system.test.js.map +0 -1
- package/dist/src/mcp/google-auth-provider.test.d.ts +0 -6
- package/dist/src/mcp/google-auth-provider.test.js +0 -54
- package/dist/src/mcp/google-auth-provider.test.js.map +0 -1
- package/dist/src/mcp/oauth-provider.test.d.ts +0 -6
- package/dist/src/mcp/oauth-provider.test.js +0 -602
- package/dist/src/mcp/oauth-provider.test.js.map +0 -1
- package/dist/src/mcp/oauth-token-storage.test.d.ts +0 -6
- package/dist/src/mcp/oauth-token-storage.test.js +0 -205
- package/dist/src/mcp/oauth-token-storage.test.js.map +0 -1
- package/dist/src/mcp/oauth-utils.test.d.ts +0 -6
- package/dist/src/mcp/oauth-utils.test.js +0 -144
- package/dist/src/mcp/oauth-utils.test.js.map +0 -1
- package/dist/src/parsers/TextToolCallParser.multibyte.test.d.ts +0 -1
- package/dist/src/parsers/TextToolCallParser.multibyte.test.js +0 -42
- package/dist/src/parsers/TextToolCallParser.multibyte.test.js.map +0 -1
- package/dist/src/parsers/TextToolCallParser.test.d.ts +0 -1
- package/dist/src/parsers/TextToolCallParser.test.js +0 -225
- package/dist/src/parsers/TextToolCallParser.test.js.map +0 -1
- package/dist/src/prompt-config/TemplateEngine.test.d.ts +0 -1
- package/dist/src/prompt-config/TemplateEngine.test.js +0 -494
- package/dist/src/prompt-config/TemplateEngine.test.js.map +0 -1
- package/dist/src/prompt-config/prompt-cache.test.d.ts +0 -6
- package/dist/src/prompt-config/prompt-cache.test.js +0 -437
- package/dist/src/prompt-config/prompt-cache.test.js.map +0 -1
- package/dist/src/prompt-config/prompt-installer.test.d.ts +0 -7
- package/dist/src/prompt-config/prompt-installer.test.js +0 -503
- package/dist/src/prompt-config/prompt-installer.test.js.map +0 -1
- package/dist/src/prompt-config/prompt-loader.test.d.ts +0 -5
- package/dist/src/prompt-config/prompt-loader.test.js +0 -413
- package/dist/src/prompt-config/prompt-loader.test.js.map +0 -1
- package/dist/src/prompt-config/prompt-resolver.test.d.ts +0 -1
- package/dist/src/prompt-config/prompt-resolver.test.js +0 -529
- package/dist/src/prompt-config/prompt-resolver.test.js.map +0 -1
- package/dist/src/prompt-config/prompt-service.test.d.ts +0 -1
- package/dist/src/prompt-config/prompt-service.test.js +0 -811
- package/dist/src/prompt-config/prompt-service.test.js.map +0 -1
- package/dist/src/providers/ProviderManager.gemini-switch.test.d.ts +0 -6
- package/dist/src/providers/ProviderManager.gemini-switch.test.js +0 -57
- package/dist/src/providers/ProviderManager.gemini-switch.test.js.map +0 -1
- package/dist/src/providers/ProviderManager.test.d.ts +0 -6
- package/dist/src/providers/ProviderManager.test.js +0 -284
- package/dist/src/providers/ProviderManager.test.js.map +0 -1
- package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.d.ts +0 -6
- package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.js +0 -273
- package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.js.map +0 -1
- package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.d.ts +0 -1
- package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.js +0 -48
- package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.js.map +0 -1
- package/dist/src/providers/anthropic/AnthropicProvider.test.d.ts +0 -1
- package/dist/src/providers/anthropic/AnthropicProvider.test.js +0 -487
- package/dist/src/providers/anthropic/AnthropicProvider.test.js.map +0 -1
- package/dist/src/providers/gemini/GeminiProvider.integration.test.d.ts +0 -6
- package/dist/src/providers/gemini/GeminiProvider.integration.test.js +0 -126
- package/dist/src/providers/gemini/GeminiProvider.integration.test.js.map +0 -1
- package/dist/src/providers/gemini/GeminiProvider.test.d.ts +0 -6
- package/dist/src/providers/gemini/GeminiProvider.test.js +0 -136
- package/dist/src/providers/gemini/GeminiProvider.test.js.map +0 -1
- package/dist/src/providers/integration/multi-provider.integration.test.d.ts +0 -6
- package/dist/src/providers/integration/multi-provider.integration.test.js +0 -292
- package/dist/src/providers/integration/multi-provider.integration.test.js.map +0 -1
- package/dist/src/providers/openai/ConversationCache.accumTokens.test.d.ts +0 -1
- package/dist/src/providers/openai/ConversationCache.accumTokens.test.js +0 -97
- package/dist/src/providers/openai/ConversationCache.accumTokens.test.js.map +0 -1
- package/dist/src/providers/openai/ConversationCache.test.d.ts +0 -1
- package/dist/src/providers/openai/ConversationCache.test.js +0 -113
- package/dist/src/providers/openai/ConversationCache.test.js.map +0 -1
- package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.d.ts +0 -1
- package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.js +0 -189
- package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.js.map +0 -1
- package/dist/src/providers/openai/OpenAIProvider.integration.test.d.ts +0 -6
- package/dist/src/providers/openai/OpenAIProvider.integration.test.js +0 -125
- package/dist/src/providers/openai/OpenAIProvider.integration.test.js.map +0 -1
- package/dist/src/providers/openai/OpenAIProvider.responses.test.d.ts +0 -1
- package/dist/src/providers/openai/OpenAIProvider.responses.test.js +0 -350
- package/dist/src/providers/openai/OpenAIProvider.responses.test.js.map +0 -1
- package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.d.ts +0 -1
- package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.js +0 -213
- package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.js.map +0 -1
- package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.d.ts +0 -1
- package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.js +0 -59
- package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.js.map +0 -1
- package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.d.ts +0 -6
- package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.js +0 -105
- package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.js.map +0 -1
- package/dist/src/providers/openai/OpenAIProvider.switch.test.d.ts +0 -1
- package/dist/src/providers/openai/OpenAIProvider.switch.test.js +0 -256
- package/dist/src/providers/openai/OpenAIProvider.switch.test.js.map +0 -1
- package/dist/src/providers/openai/OpenAIProvider.test.d.ts +0 -16
- package/dist/src/providers/openai/OpenAIProvider.test.js +0 -620
- package/dist/src/providers/openai/OpenAIProvider.test.js.map +0 -1
- package/dist/src/providers/openai/ResponsesContextTrim.integration.test.d.ts +0 -1
- package/dist/src/providers/openai/ResponsesContextTrim.integration.test.js +0 -210
- package/dist/src/providers/openai/ResponsesContextTrim.integration.test.js.map +0 -1
- package/dist/src/providers/openai/__tests__/formatArrayResponse.test.d.ts +0 -1
- package/dist/src/providers/openai/__tests__/formatArrayResponse.test.js +0 -65
- package/dist/src/providers/openai/__tests__/formatArrayResponse.test.js.map +0 -1
- package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.d.ts +0 -1
- package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.js +0 -129
- package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.js.map +0 -1
- package/dist/src/providers/openai/buildResponsesRequest.test.d.ts +0 -1
- package/dist/src/providers/openai/buildResponsesRequest.test.js +0 -406
- package/dist/src/providers/openai/buildResponsesRequest.test.js.map +0 -1
- package/dist/src/providers/openai/buildResponsesRequest.undefined.test.d.ts +0 -1
- package/dist/src/providers/openai/buildResponsesRequest.undefined.test.js +0 -50
- package/dist/src/providers/openai/buildResponsesRequest.undefined.test.js.map +0 -1
- package/dist/src/providers/openai/estimateRemoteTokens.test.d.ts +0 -1
- package/dist/src/providers/openai/estimateRemoteTokens.test.js +0 -125
- package/dist/src/providers/openai/estimateRemoteTokens.test.js.map +0 -1
- package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.d.ts +0 -1
- package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.js +0 -192
- package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.js.map +0 -1
- package/dist/src/providers/openai/parseResponsesStream.test.d.ts +0 -1
- package/dist/src/providers/openai/parseResponsesStream.test.js +0 -151
- package/dist/src/providers/openai/parseResponsesStream.test.js.map +0 -1
- package/dist/src/services/fileDiscoveryService.test.d.ts +0 -6
- package/dist/src/services/fileDiscoveryService.test.js +0 -143
- package/dist/src/services/fileDiscoveryService.test.js.map +0 -1
- package/dist/src/services/gitService.test.d.ts +0 -6
- package/dist/src/services/gitService.test.js +0 -209
- package/dist/src/services/gitService.test.js.map +0 -1
- package/dist/src/services/loopDetectionService.test.d.ts +0 -6
- package/dist/src/services/loopDetectionService.test.js +0 -484
- package/dist/src/services/loopDetectionService.test.js.map +0 -1
- package/dist/src/services/shellExecutionService.multibyte.test.d.ts +0 -6
- package/dist/src/services/shellExecutionService.multibyte.test.js +0 -72
- package/dist/src/services/shellExecutionService.multibyte.test.js.map +0 -1
- package/dist/src/services/shellExecutionService.test.d.ts +0 -6
- package/dist/src/services/shellExecutionService.test.js +0 -272
- package/dist/src/services/shellExecutionService.test.js.map +0 -1
- package/dist/src/services/shellExecutionService.windows.multibyte.test.d.ts +0 -6
- package/dist/src/services/shellExecutionService.windows.multibyte.test.js +0 -98
- package/dist/src/services/shellExecutionService.windows.multibyte.test.js.map +0 -1
- package/dist/src/services/shellExecutionService.windows.test.d.ts +0 -6
- package/dist/src/services/shellExecutionService.windows.test.js +0 -79
- package/dist/src/services/shellExecutionService.windows.test.js.map +0 -1
- package/dist/src/services/tool-call-tracker-service.test.d.ts +0 -6
- package/dist/src/services/tool-call-tracker-service.test.js +0 -99
- package/dist/src/services/tool-call-tracker-service.test.js.map +0 -1
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +0 -6
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +0 -187
- package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +0 -1
- package/dist/src/telemetry/loggers.test.d.ts +0 -6
- package/dist/src/telemetry/loggers.test.js +0 -573
- package/dist/src/telemetry/loggers.test.js.map +0 -1
- package/dist/src/telemetry/metrics.test.d.ts +0 -6
- package/dist/src/telemetry/metrics.test.js +0 -212
- package/dist/src/telemetry/metrics.test.js.map +0 -1
- package/dist/src/telemetry/telemetry.test.d.ts +0 -6
- package/dist/src/telemetry/telemetry.test.js +0 -54
- package/dist/src/telemetry/telemetry.test.js.map +0 -1
- package/dist/src/telemetry/uiTelemetry.test.d.ts +0 -6
- package/dist/src/telemetry/uiTelemetry.test.js +0 -518
- package/dist/src/telemetry/uiTelemetry.test.js.map +0 -1
- package/dist/src/tools/ToolFormatter.test.d.ts +0 -16
- package/dist/src/tools/ToolFormatter.test.js +0 -349
- package/dist/src/tools/ToolFormatter.test.js.map +0 -1
- package/dist/src/tools/ToolFormatter.toResponsesTool.test.d.ts +0 -1
- package/dist/src/tools/ToolFormatter.toResponsesTool.test.js +0 -241
- package/dist/src/tools/ToolFormatter.toResponsesTool.test.js.map +0 -1
- package/dist/src/tools/diffOptions.test.d.ts +0 -6
- package/dist/src/tools/diffOptions.test.js +0 -119
- package/dist/src/tools/diffOptions.test.js.map +0 -1
- package/dist/src/tools/edit.test.d.ts +0 -6
- package/dist/src/tools/edit.test.js +0 -689
- package/dist/src/tools/edit.test.js.map +0 -1
- package/dist/src/tools/glob.test.d.ts +0 -6
- package/dist/src/tools/glob.test.js +0 -332
- package/dist/src/tools/glob.test.js.map +0 -1
- package/dist/src/tools/grep.test.d.ts +0 -6
- package/dist/src/tools/grep.test.js +0 -272
- package/dist/src/tools/grep.test.js.map +0 -1
- package/dist/src/tools/ls.test.d.ts +0 -6
- package/dist/src/tools/ls.test.js +0 -357
- package/dist/src/tools/ls.test.js.map +0 -1
- package/dist/src/tools/mcp-client.test.d.ts +0 -6
- package/dist/src/tools/mcp-client.test.js +0 -617
- package/dist/src/tools/mcp-client.test.js.map +0 -1
- package/dist/src/tools/mcp-tool.test.d.ts +0 -6
- package/dist/src/tools/mcp-tool.test.js +0 -501
- package/dist/src/tools/mcp-tool.test.js.map +0 -1
- package/dist/src/tools/memoryTool.test.d.ts +0 -6
- package/dist/src/tools/memoryTool.test.js +0 -266
- package/dist/src/tools/memoryTool.test.js.map +0 -1
- package/dist/src/tools/modifiable-tool.test.d.ts +0 -6
- package/dist/src/tools/modifiable-tool.test.js +0 -193
- package/dist/src/tools/modifiable-tool.test.js.map +0 -1
- package/dist/src/tools/read-file.test.d.ts +0 -6
- package/dist/src/tools/read-file.test.js +0 -319
- package/dist/src/tools/read-file.test.js.map +0 -1
- package/dist/src/tools/read-many-files.test.d.ts +0 -6
- package/dist/src/tools/read-many-files.test.js +0 -644
- package/dist/src/tools/read-many-files.test.js.map +0 -1
- package/dist/src/tools/shell.multibyte.test.d.ts +0 -6
- package/dist/src/tools/shell.multibyte.test.js +0 -75
- package/dist/src/tools/shell.multibyte.test.js.map +0 -1
- package/dist/src/tools/shell.test.d.ts +0 -6
- package/dist/src/tools/shell.test.js +0 -367
- package/dist/src/tools/shell.test.js.map +0 -1
- package/dist/src/tools/todo-pause.spec.d.ts +0 -6
- package/dist/src/tools/todo-pause.spec.js +0 -287
- package/dist/src/tools/todo-pause.spec.js.map +0 -1
- package/dist/src/tools/todo-read.test.d.ts +0 -6
- package/dist/src/tools/todo-read.test.js +0 -162
- package/dist/src/tools/todo-read.test.js.map +0 -1
- package/dist/src/tools/todo-schemas.test.d.ts +0 -6
- package/dist/src/tools/todo-schemas.test.js +0 -341
- package/dist/src/tools/todo-schemas.test.js.map +0 -1
- package/dist/src/tools/todo-store.test.d.ts +0 -6
- package/dist/src/tools/todo-store.test.js +0 -169
- package/dist/src/tools/todo-store.test.js.map +0 -1
- package/dist/src/tools/todo-write.test.d.ts +0 -6
- package/dist/src/tools/todo-write.test.js +0 -226
- package/dist/src/tools/todo-write.test.js.map +0 -1
- package/dist/src/tools/tool-registry.test.d.ts +0 -6
- package/dist/src/tools/tool-registry.test.js +0 -468
- package/dist/src/tools/tool-registry.test.js.map +0 -1
- package/dist/src/tools/tools.test.d.ts +0 -6
- package/dist/src/tools/tools.test.js +0 -117
- package/dist/src/tools/tools.test.js.map +0 -1
- package/dist/src/tools/web-fetch.integration.test.d.ts +0 -6
- package/dist/src/tools/web-fetch.integration.test.js +0 -532
- package/dist/src/tools/web-fetch.integration.test.js.map +0 -1
- package/dist/src/tools/web-search.test.d.ts +0 -6
- package/dist/src/tools/web-search.test.js +0 -230
- package/dist/src/tools/web-search.test.js.map +0 -1
- package/dist/src/tools/write-file.test.d.ts +0 -6
- package/dist/src/tools/write-file.test.js +0 -465
- package/dist/src/tools/write-file.test.js.map +0 -1
- package/dist/src/utils/bfsFileSearch.test.d.ts +0 -6
- package/dist/src/utils/bfsFileSearch.test.js +0 -191
- package/dist/src/utils/bfsFileSearch.test.js.map +0 -1
- package/dist/src/utils/editCorrector.test.d.ts +0 -6
- package/dist/src/utils/editCorrector.test.js +0 -564
- package/dist/src/utils/editCorrector.test.js.map +0 -1
- package/dist/src/utils/editor.test.d.ts +0 -6
- package/dist/src/utils/editor.test.js +0 -445
- package/dist/src/utils/editor.test.js.map +0 -1
- package/dist/src/utils/environmentContext.test.d.ts +0 -6
- package/dist/src/utils/environmentContext.test.js +0 -139
- package/dist/src/utils/environmentContext.test.js.map +0 -1
- package/dist/src/utils/errorReporting.test.d.ts +0 -6
- package/dist/src/utils/errorReporting.test.js +0 -130
- package/dist/src/utils/errorReporting.test.js.map +0 -1
- package/dist/src/utils/fileUtils.test.d.ts +0 -6
- package/dist/src/utils/fileUtils.test.js +0 -363
- package/dist/src/utils/fileUtils.test.js.map +0 -1
- package/dist/src/utils/filesearch/crawlCache.test.d.ts +0 -6
- package/dist/src/utils/filesearch/crawlCache.test.js +0 -103
- package/dist/src/utils/filesearch/crawlCache.test.js.map +0 -1
- package/dist/src/utils/filesearch/fileSearch.test.d.ts +0 -6
- package/dist/src/utils/filesearch/fileSearch.test.js +0 -654
- package/dist/src/utils/filesearch/fileSearch.test.js.map +0 -1
- package/dist/src/utils/filesearch/ignore.test.d.ts +0 -6
- package/dist/src/utils/filesearch/ignore.test.js +0 -57
- package/dist/src/utils/filesearch/ignore.test.js.map +0 -1
- package/dist/src/utils/filesearch/result-cache.test.d.ts +0 -6
- package/dist/src/utils/filesearch/result-cache.test.js +0 -47
- package/dist/src/utils/filesearch/result-cache.test.js.map +0 -1
- package/dist/src/utils/flashFallback.integration.test.d.ts +0 -6
- package/dist/src/utils/flashFallback.integration.test.js +0 -120
- package/dist/src/utils/flashFallback.integration.test.js.map +0 -1
- package/dist/src/utils/generateContentResponseUtilities.test.d.ts +0 -6
- package/dist/src/utils/generateContentResponseUtilities.test.js +0 -273
- package/dist/src/utils/generateContentResponseUtilities.test.js.map +0 -1
- package/dist/src/utils/getFolderStructure.test.d.ts +0 -6
- package/dist/src/utils/getFolderStructure.test.js +0 -282
- package/dist/src/utils/getFolderStructure.test.js.map +0 -1
- package/dist/src/utils/gitIgnoreParser.test.d.ts +0 -6
- package/dist/src/utils/gitIgnoreParser.test.js +0 -154
- package/dist/src/utils/gitIgnoreParser.test.js.map +0 -1
- package/dist/src/utils/memoryDiscovery.test.d.ts +0 -6
- package/dist/src/utils/memoryDiscovery.test.js +0 -181
- package/dist/src/utils/memoryDiscovery.test.js.map +0 -1
- package/dist/src/utils/memoryImportProcessor.test.d.ts +0 -6
- package/dist/src/utils/memoryImportProcessor.test.js +0 -715
- package/dist/src/utils/memoryImportProcessor.test.js.map +0 -1
- package/dist/src/utils/nextSpeakerChecker.test.d.ts +0 -6
- package/dist/src/utils/nextSpeakerChecker.test.js +0 -172
- package/dist/src/utils/nextSpeakerChecker.test.js.map +0 -1
- package/dist/src/utils/partUtils.test.d.ts +0 -6
- package/dist/src/utils/partUtils.test.js +0 -130
- package/dist/src/utils/partUtils.test.js.map +0 -1
- package/dist/src/utils/paths.test.d.ts +0 -6
- package/dist/src/utils/paths.test.js +0 -153
- package/dist/src/utils/paths.test.js.map +0 -1
- package/dist/src/utils/retry.test.d.ts +0 -6
- package/dist/src/utils/retry.test.js +0 -322
- package/dist/src/utils/retry.test.js.map +0 -1
- package/dist/src/utils/safeJsonStringify.test.d.ts +0 -6
- package/dist/src/utils/safeJsonStringify.test.js +0 -61
- package/dist/src/utils/safeJsonStringify.test.js.map +0 -1
- package/dist/src/utils/sanitization.test.d.ts +0 -6
- package/dist/src/utils/sanitization.test.js +0 -81
- package/dist/src/utils/sanitization.test.js.map +0 -1
- package/dist/src/utils/schemaValidator.test.d.ts +0 -6
- package/dist/src/utils/schemaValidator.test.js +0 -146
- package/dist/src/utils/schemaValidator.test.js.map +0 -1
- package/dist/src/utils/secure-browser-launcher.test.d.ts +0 -6
- package/dist/src/utils/secure-browser-launcher.test.js +0 -149
- package/dist/src/utils/secure-browser-launcher.test.js.map +0 -1
- package/dist/src/utils/shell-utils.shellReplacement.test.d.ts +0 -6
- package/dist/src/utils/shell-utils.shellReplacement.test.js +0 -149
- package/dist/src/utils/shell-utils.shellReplacement.test.js.map +0 -1
- package/dist/src/utils/shell-utils.test.d.ts +0 -6
- package/dist/src/utils/shell-utils.test.js +0 -200
- package/dist/src/utils/shell-utils.test.js.map +0 -1
- package/dist/src/utils/summarizer.test.d.ts +0 -6
- package/dist/src/utils/summarizer.test.js +0 -131
- package/dist/src/utils/summarizer.test.js.map +0 -1
- package/dist/src/utils/systemEncoding.test.d.ts +0 -6
- package/dist/src/utils/systemEncoding.test.js +0 -368
- package/dist/src/utils/systemEncoding.test.js.map +0 -1
- package/dist/src/utils/toolOutputLimiter.test.d.ts +0 -6
- package/dist/src/utils/toolOutputLimiter.test.js +0 -164
- package/dist/src/utils/toolOutputLimiter.test.js.map +0 -1
- package/dist/src/utils/unicodeUtils.test.d.ts +0 -6
- package/dist/src/utils/unicodeUtils.test.js +0 -120
- package/dist/src/utils/unicodeUtils.test.js.map +0 -1
- package/dist/src/utils/user_account.test.d.ts +0 -6
- package/dist/src/utils/user_account.test.js +0 -153
- package/dist/src/utils/user_account.test.js.map +0 -1
- package/dist/src/utils/user_id.test.d.ts +0 -6
- package/dist/src/utils/user_id.test.js +0 -21
- package/dist/src/utils/user_id.test.js.map +0 -1
- package/dist/src/utils/workspaceContext.test.d.ts +0 -6
- package/dist/src/utils/workspaceContext.test.js +0 -209
- package/dist/src/utils/workspaceContext.test.js.map +0 -1
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Vybestack LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { describe, it, expect, beforeEach } from 'vitest';
|
|
7
|
-
import { TodoPause } from './todo-pause.js';
|
|
8
|
-
describe('TodoPause - Behavioral Tests', () => {
|
|
9
|
-
let tool;
|
|
10
|
-
const abortSignal = new AbortController().signal;
|
|
11
|
-
beforeEach(() => {
|
|
12
|
-
tool = new TodoPause();
|
|
13
|
-
});
|
|
14
|
-
describe('Input Validation', () => {
|
|
15
|
-
/**
|
|
16
|
-
* @requirement REQ-003.1: Accept reason string parameter
|
|
17
|
-
*/
|
|
18
|
-
it('should accept valid reason strings', () => {
|
|
19
|
-
const validParams = {
|
|
20
|
-
reason: 'Missing configuration file needed for deployment',
|
|
21
|
-
};
|
|
22
|
-
const result = tool.validateToolParams(validParams);
|
|
23
|
-
expect(result).toBeNull();
|
|
24
|
-
});
|
|
25
|
-
/**
|
|
26
|
-
* @requirement REQ-003.1: Accept reason string parameter
|
|
27
|
-
*/
|
|
28
|
-
it('should accept minimal valid reason', () => {
|
|
29
|
-
const validParams = {
|
|
30
|
-
reason: 'X',
|
|
31
|
-
};
|
|
32
|
-
const result = tool.validateToolParams(validParams);
|
|
33
|
-
expect(result).toBeNull();
|
|
34
|
-
});
|
|
35
|
-
/**
|
|
36
|
-
* @requirement REQ-003.1: Accept reason string parameter
|
|
37
|
-
*/
|
|
38
|
-
it('should reject empty reason string', () => {
|
|
39
|
-
const invalidParams = {
|
|
40
|
-
reason: '',
|
|
41
|
-
};
|
|
42
|
-
const result = tool.validateToolParams(invalidParams);
|
|
43
|
-
expect(result).not.toBeNull();
|
|
44
|
-
expect(result?.message).toContain('reason');
|
|
45
|
-
});
|
|
46
|
-
/**
|
|
47
|
-
* @requirement REQ-003.1: Accept reason string parameter
|
|
48
|
-
*/
|
|
49
|
-
it('should reject missing reason parameter', () => {
|
|
50
|
-
const invalidParams = {};
|
|
51
|
-
const result = tool.validateToolParams(invalidParams);
|
|
52
|
-
expect(result).not.toBeNull();
|
|
53
|
-
expect(result?.message).toContain('reason');
|
|
54
|
-
});
|
|
55
|
-
/**
|
|
56
|
-
* @requirement REQ-003.1: Accept reason string parameter
|
|
57
|
-
*/
|
|
58
|
-
it('should truncate reasons exceeding 500 character limit', () => {
|
|
59
|
-
const longReason = 'A'.repeat(600);
|
|
60
|
-
const validParams = {
|
|
61
|
-
reason: longReason,
|
|
62
|
-
};
|
|
63
|
-
// Schema validation should handle this truncation or rejection
|
|
64
|
-
const result = tool.validateToolParams(validParams);
|
|
65
|
-
// The tool should either accept it (with truncation) or reject it
|
|
66
|
-
// Based on the schema having maxLength: '500', it should reject
|
|
67
|
-
expect(result).not.toBeNull();
|
|
68
|
-
});
|
|
69
|
-
/**
|
|
70
|
-
* @requirement REQ-003.1: Accept reason string parameter
|
|
71
|
-
*/
|
|
72
|
-
it('should accept reason at exactly 500 characters', () => {
|
|
73
|
-
const maxLengthReason = 'A'.repeat(500);
|
|
74
|
-
const validParams = {
|
|
75
|
-
reason: maxLengthReason,
|
|
76
|
-
};
|
|
77
|
-
const result = tool.validateToolParams(validParams);
|
|
78
|
-
expect(result).toBeNull();
|
|
79
|
-
});
|
|
80
|
-
});
|
|
81
|
-
describe('Execution Behavior', () => {
|
|
82
|
-
/**
|
|
83
|
-
* @requirement REQ-003.2: Break continuation without changing task status
|
|
84
|
-
* @requirement REQ-003.3: Display reason to user
|
|
85
|
-
*/
|
|
86
|
-
it('should return pause signal with provided reason', async () => {
|
|
87
|
-
const params = {
|
|
88
|
-
reason: 'Database connection failed',
|
|
89
|
-
};
|
|
90
|
-
const result = await tool.execute(params, abortSignal);
|
|
91
|
-
expect(result.llmContent).toContain('Database connection failed');
|
|
92
|
-
expect(result.returnDisplay).toContain('Database connection failed');
|
|
93
|
-
expect(result.summary).toContain('paused');
|
|
94
|
-
});
|
|
95
|
-
/**
|
|
96
|
-
* @requirement REQ-003.2: Break continuation without changing task status
|
|
97
|
-
*/
|
|
98
|
-
it('should not modify any todo statuses during execution', async () => {
|
|
99
|
-
const params = {
|
|
100
|
-
reason: 'Missing API credentials',
|
|
101
|
-
};
|
|
102
|
-
// Execute the pause
|
|
103
|
-
const result = await tool.execute(params, abortSignal);
|
|
104
|
-
// The result should only contain the pause message, not any todo modifications
|
|
105
|
-
expect(result.llmContent).not.toContain('status');
|
|
106
|
-
expect(result.llmContent).not.toContain('completed');
|
|
107
|
-
expect(result.llmContent).not.toContain('pending');
|
|
108
|
-
expect(result.llmContent).not.toContain('in_progress');
|
|
109
|
-
});
|
|
110
|
-
/**
|
|
111
|
-
* @requirement REQ-003.3: Display reason to user
|
|
112
|
-
*/
|
|
113
|
-
it('should format user-friendly pause message', async () => {
|
|
114
|
-
const params = {
|
|
115
|
-
reason: 'Network timeout when connecting to external service',
|
|
116
|
-
};
|
|
117
|
-
const result = await tool.execute(params, abortSignal);
|
|
118
|
-
expect(result.returnDisplay).toContain('AI paused:');
|
|
119
|
-
expect(result.returnDisplay).toContain('Network timeout when connecting to external service');
|
|
120
|
-
});
|
|
121
|
-
/**
|
|
122
|
-
* @requirement REQ-003.3: Display reason to user
|
|
123
|
-
*/
|
|
124
|
-
it('should handle special characters in reason', async () => {
|
|
125
|
-
const params = {
|
|
126
|
-
reason: 'File "config.json" not found in /path/with spaces & symbols!',
|
|
127
|
-
};
|
|
128
|
-
const result = await tool.execute(params, abortSignal);
|
|
129
|
-
expect(result.llmContent).toContain('config.json');
|
|
130
|
-
expect(result.llmContent).toContain('/path/with spaces & symbols!');
|
|
131
|
-
expect(result.returnDisplay).toContain('config.json');
|
|
132
|
-
expect(result.returnDisplay).toContain('/path/with spaces & symbols!');
|
|
133
|
-
});
|
|
134
|
-
/**
|
|
135
|
-
* @requirement REQ-003.3: Display reason to user
|
|
136
|
-
*/
|
|
137
|
-
it('should handle multi-line reasons properly', async () => {
|
|
138
|
-
const params = {
|
|
139
|
-
reason: 'Multiple issues occurred:\n1. Database unavailable\n2. Config file missing',
|
|
140
|
-
};
|
|
141
|
-
const result = await tool.execute(params, abortSignal);
|
|
142
|
-
const displayText = result.returnDisplay;
|
|
143
|
-
expect(displayText).toContain('Multiple issues occurred:');
|
|
144
|
-
expect(displayText).toContain('1. Database unavailable');
|
|
145
|
-
expect(displayText).toContain('2. Config file missing');
|
|
146
|
-
});
|
|
147
|
-
/**
|
|
148
|
-
* @requirement REQ-003.2: Break continuation without changing task status
|
|
149
|
-
*/
|
|
150
|
-
it('should signal continuation break through result structure', async () => {
|
|
151
|
-
const params = {
|
|
152
|
-
reason: 'Dependency service is down',
|
|
153
|
-
};
|
|
154
|
-
const result = await tool.execute(params, abortSignal);
|
|
155
|
-
// The result should indicate a pause/break state
|
|
156
|
-
expect(result.summary).toBeDefined();
|
|
157
|
-
expect(result.summary?.toLowerCase()).toMatch(/pause|break|stop/);
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
describe('Integration Scenarios', () => {
|
|
161
|
-
/**
|
|
162
|
-
* @requirement REQ-003.4: Only available during continuation
|
|
163
|
-
*/
|
|
164
|
-
it('should work properly during continuation context', async () => {
|
|
165
|
-
// Set up tool with continuation context
|
|
166
|
-
const toolWithContext = Object.assign(Object.create(Object.getPrototypeOf(tool)), tool);
|
|
167
|
-
toolWithContext.context = {
|
|
168
|
-
sessionId: 'test-session',
|
|
169
|
-
agentId: 'test-agent',
|
|
170
|
-
inContinuation: true,
|
|
171
|
-
};
|
|
172
|
-
const params = {
|
|
173
|
-
reason: 'Environment setup incomplete',
|
|
174
|
-
};
|
|
175
|
-
const result = await toolWithContext.execute(params, abortSignal);
|
|
176
|
-
expect(result).toBeDefined();
|
|
177
|
-
expect(result.llmContent).toContain('Environment setup incomplete');
|
|
178
|
-
});
|
|
179
|
-
/**
|
|
180
|
-
* @requirement REQ-003.4: Only available during continuation
|
|
181
|
-
*/
|
|
182
|
-
it('should handle non-continuation context appropriately', async () => {
|
|
183
|
-
// Set up tool without continuation context
|
|
184
|
-
const toolWithoutContext = Object.assign(Object.create(Object.getPrototypeOf(tool)), tool);
|
|
185
|
-
toolWithoutContext.context = {
|
|
186
|
-
sessionId: 'test-session',
|
|
187
|
-
agentId: 'test-agent',
|
|
188
|
-
inContinuation: false,
|
|
189
|
-
};
|
|
190
|
-
const params = {
|
|
191
|
-
reason: 'Test reason',
|
|
192
|
-
};
|
|
193
|
-
// The tool might either work or throw an error based on implementation
|
|
194
|
-
// If it should only work during continuation, it should error here
|
|
195
|
-
try {
|
|
196
|
-
const result = await toolWithoutContext.execute(params, abortSignal);
|
|
197
|
-
// If execution succeeds, check that it still produces valid output
|
|
198
|
-
expect(result).toBeDefined();
|
|
199
|
-
expect(result.llmContent).toContain('Test reason');
|
|
200
|
-
}
|
|
201
|
-
catch (error) {
|
|
202
|
-
// If it throws an error for non-continuation context, that's also valid
|
|
203
|
-
expect(error).toBeInstanceOf(Error);
|
|
204
|
-
expect(error.message).toMatch(/continuation|context/i);
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
});
|
|
208
|
-
describe('Output Formatting', () => {
|
|
209
|
-
/**
|
|
210
|
-
* @requirement REQ-003.3: Display reason to user
|
|
211
|
-
*/
|
|
212
|
-
it('should format output with "AI paused:" prefix', async () => {
|
|
213
|
-
const params = {
|
|
214
|
-
reason: 'Test environment not ready',
|
|
215
|
-
};
|
|
216
|
-
const result = await tool.execute(params, abortSignal);
|
|
217
|
-
expect(result.returnDisplay).toMatch(/AI paused:/i);
|
|
218
|
-
expect(result.returnDisplay).toContain('Test environment not ready');
|
|
219
|
-
});
|
|
220
|
-
/**
|
|
221
|
-
* @requirement REQ-003.3: Display reason to user
|
|
222
|
-
*/
|
|
223
|
-
it('should preserve formatting in complex reasons', async () => {
|
|
224
|
-
const params = {
|
|
225
|
-
reason: 'Error: HTTP 500 from https://api.example.com/v1/data?format=json',
|
|
226
|
-
};
|
|
227
|
-
const result = await tool.execute(params, abortSignal);
|
|
228
|
-
const displayText = result.returnDisplay;
|
|
229
|
-
expect(displayText).toContain('Error: HTTP 500');
|
|
230
|
-
expect(displayText).toContain('https://api.example.com/v1/data?format=json');
|
|
231
|
-
});
|
|
232
|
-
/**
|
|
233
|
-
* @requirement REQ-003.2: Break continuation without changing task status
|
|
234
|
-
* @requirement REQ-003.3: Display reason to user
|
|
235
|
-
*/
|
|
236
|
-
it('should provide both LLM and user-friendly output', async () => {
|
|
237
|
-
const params = {
|
|
238
|
-
reason: 'Unable to authenticate with remote service',
|
|
239
|
-
};
|
|
240
|
-
const result = await tool.execute(params, abortSignal);
|
|
241
|
-
// Both outputs should exist and contain the reason
|
|
242
|
-
expect(result.llmContent).toBeDefined();
|
|
243
|
-
expect(result.returnDisplay).toBeDefined();
|
|
244
|
-
expect(result.llmContent).toContain('Unable to authenticate with remote service');
|
|
245
|
-
expect(result.returnDisplay).toContain('Unable to authenticate with remote service');
|
|
246
|
-
// They may have different formatting but same core content
|
|
247
|
-
expect(typeof result.llmContent).toBe('string');
|
|
248
|
-
expect(typeof result.returnDisplay).toBe('string');
|
|
249
|
-
});
|
|
250
|
-
/**
|
|
251
|
-
* @requirement REQ-003.3: Display reason to user
|
|
252
|
-
*/
|
|
253
|
-
it('should handle unicode and emoji characters in reason', async () => {
|
|
254
|
-
const params = {
|
|
255
|
-
reason: '❌ Connection failed: résumé.txt → /tmp/файл.log',
|
|
256
|
-
};
|
|
257
|
-
const result = await tool.execute(params, abortSignal);
|
|
258
|
-
expect(result.llmContent).toContain('❌');
|
|
259
|
-
expect(result.llmContent).toContain('résumé.txt');
|
|
260
|
-
expect(result.llmContent).toContain('файл.log');
|
|
261
|
-
expect(result.returnDisplay).toContain('❌');
|
|
262
|
-
expect(result.returnDisplay).toContain('résumé.txt');
|
|
263
|
-
expect(result.returnDisplay).toContain('файл.log');
|
|
264
|
-
});
|
|
265
|
-
});
|
|
266
|
-
describe('Tool Metadata', () => {
|
|
267
|
-
it('should have correct tool name', () => {
|
|
268
|
-
expect(TodoPause.Name).toBe('todo_pause');
|
|
269
|
-
});
|
|
270
|
-
it('should provide appropriate description for different contexts', () => {
|
|
271
|
-
const params = {
|
|
272
|
-
reason: 'Test reason',
|
|
273
|
-
};
|
|
274
|
-
const description = tool.getDescription(params);
|
|
275
|
-
expect(description).toBeDefined();
|
|
276
|
-
expect(typeof description).toBe('string');
|
|
277
|
-
expect(description.length).toBeGreaterThan(0);
|
|
278
|
-
});
|
|
279
|
-
it('should be configured as markdown output tool', () => {
|
|
280
|
-
// This tests the constructor parameters
|
|
281
|
-
expect(tool).toBeDefined();
|
|
282
|
-
// The isOutputMarkdown and canUpdateOutput flags are tested indirectly
|
|
283
|
-
// through the behavior of the execute method
|
|
284
|
-
});
|
|
285
|
-
});
|
|
286
|
-
});
|
|
287
|
-
//# sourceMappingURL=todo-pause.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"todo-pause.spec.js","sourceRoot":"","sources":["../../../src/tools/todo-pause.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Vybestack LLC
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { describe, it, expect, beforeEach, vi } from 'vitest';
|
|
7
|
-
import { TodoRead } from './todo-read.js';
|
|
8
|
-
import { TodoStore } from './todo-store.js';
|
|
9
|
-
// Mock TodoStore
|
|
10
|
-
vi.mock('./todo-store.js');
|
|
11
|
-
describe('TodoRead', () => {
|
|
12
|
-
let tool;
|
|
13
|
-
const abortSignal = new AbortController().signal;
|
|
14
|
-
const sampleTodos = [
|
|
15
|
-
{
|
|
16
|
-
id: '1',
|
|
17
|
-
content: 'High priority in progress task',
|
|
18
|
-
status: 'in_progress',
|
|
19
|
-
priority: 'high',
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
id: '2',
|
|
23
|
-
content: 'Medium priority pending task',
|
|
24
|
-
status: 'pending',
|
|
25
|
-
priority: 'medium',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
id: '3',
|
|
29
|
-
content: 'Low priority completed task',
|
|
30
|
-
status: 'completed',
|
|
31
|
-
priority: 'low',
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
id: '4',
|
|
35
|
-
content: 'High priority pending task',
|
|
36
|
-
status: 'pending',
|
|
37
|
-
priority: 'high',
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
id: '5',
|
|
41
|
-
content: 'High priority completed task',
|
|
42
|
-
status: 'completed',
|
|
43
|
-
priority: 'high',
|
|
44
|
-
},
|
|
45
|
-
];
|
|
46
|
-
beforeEach(() => {
|
|
47
|
-
vi.clearAllMocks();
|
|
48
|
-
tool = new TodoRead();
|
|
49
|
-
new TodoStore('session-123', 'agent-456');
|
|
50
|
-
});
|
|
51
|
-
describe('execute', () => {
|
|
52
|
-
it('should return empty array when no todos exist', async () => {
|
|
53
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue([]);
|
|
54
|
-
const result = await tool.execute({}, abortSignal);
|
|
55
|
-
expect(result.llmContent).toContain('No todos found');
|
|
56
|
-
expect(result.returnDisplay).toContain('No todos found');
|
|
57
|
-
});
|
|
58
|
-
it('should return todos with proper formatting', async () => {
|
|
59
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue(sampleTodos);
|
|
60
|
-
const result = await tool.execute({}, abortSignal);
|
|
61
|
-
expect(result.llmContent).toContain('High priority in progress task');
|
|
62
|
-
expect(result.llmContent).toContain('Medium priority pending task');
|
|
63
|
-
expect(result.llmContent).toContain('Low priority completed task');
|
|
64
|
-
});
|
|
65
|
-
it('should sort todos by status (in_progress > pending > completed)', async () => {
|
|
66
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue(sampleTodos);
|
|
67
|
-
const result = await tool.execute({}, abortSignal);
|
|
68
|
-
const lines = result.llmContent
|
|
69
|
-
.split('\n')
|
|
70
|
-
.filter((line) => line.trim());
|
|
71
|
-
// Find indices of different status todos
|
|
72
|
-
const inProgressIndex = lines.findIndex((line) => line.includes('High priority in progress task'));
|
|
73
|
-
const pendingIndex = lines.findIndex((line) => line.includes('Medium priority pending task'));
|
|
74
|
-
const completedIndex = lines.findIndex((line) => line.includes('Low priority completed task'));
|
|
75
|
-
expect(inProgressIndex).toBeLessThan(pendingIndex);
|
|
76
|
-
expect(pendingIndex).toBeLessThan(completedIndex);
|
|
77
|
-
});
|
|
78
|
-
it('should sort by priority within same status', async () => {
|
|
79
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue(sampleTodos);
|
|
80
|
-
const result = await tool.execute({}, abortSignal);
|
|
81
|
-
const lines = result.llmContent
|
|
82
|
-
.split('\n')
|
|
83
|
-
.filter((line) => line.trim());
|
|
84
|
-
// High priority pending should come before medium priority pending
|
|
85
|
-
const highPendingIndex = lines.findIndex((line) => line.includes('High priority pending task'));
|
|
86
|
-
const mediumPendingIndex = lines.findIndex((line) => line.includes('Medium priority pending task'));
|
|
87
|
-
expect(highPendingIndex).toBeLessThan(mediumPendingIndex);
|
|
88
|
-
});
|
|
89
|
-
it('should handle read errors gracefully', async () => {
|
|
90
|
-
vi.mocked(TodoStore.prototype.readTodos).mockRejectedValue(new Error('File read error'));
|
|
91
|
-
await expect(tool.execute({}, abortSignal)).rejects.toThrow('File read error');
|
|
92
|
-
});
|
|
93
|
-
});
|
|
94
|
-
describe('validateToolParams', () => {
|
|
95
|
-
it('should accept empty params object', () => {
|
|
96
|
-
expect(tool.validateToolParams({})).toBeNull();
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
describe('getDescription', () => {
|
|
100
|
-
it('should return appropriate description', () => {
|
|
101
|
-
expect(tool.getDescription({})).toContain('todo');
|
|
102
|
-
});
|
|
103
|
-
});
|
|
104
|
-
describe('output format', () => {
|
|
105
|
-
it('should return ToolResult with markdown formatted todo list', async () => {
|
|
106
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue(sampleTodos);
|
|
107
|
-
const result = await tool.execute({}, abortSignal);
|
|
108
|
-
expect(result).toMatchObject({
|
|
109
|
-
llmContent: expect.any(String),
|
|
110
|
-
returnDisplay: expect.any(String),
|
|
111
|
-
});
|
|
112
|
-
expect(result.llmContent).toContain('#');
|
|
113
|
-
});
|
|
114
|
-
it('should include status indicators in output', async () => {
|
|
115
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue(sampleTodos);
|
|
116
|
-
const result = await tool.execute({}, abortSignal);
|
|
117
|
-
// Check for status indicators
|
|
118
|
-
expect(result.llmContent).toMatch(/[\u23f3\ud83d\udd04]/u); // in_progress
|
|
119
|
-
expect(result.llmContent).toMatch(/[\u25cb\u26aa]/u); // pending
|
|
120
|
-
expect(result.llmContent).toMatch(/[\u2713\u2705]/u); // completed
|
|
121
|
-
});
|
|
122
|
-
it('should include priority levels in output', async () => {
|
|
123
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue(sampleTodos);
|
|
124
|
-
const result = await tool.execute({}, abortSignal);
|
|
125
|
-
expect(result.llmContent).toContain('high');
|
|
126
|
-
expect(result.llmContent).toContain('medium');
|
|
127
|
-
expect(result.llmContent).toContain('low');
|
|
128
|
-
});
|
|
129
|
-
});
|
|
130
|
-
describe('session and agent handling', () => {
|
|
131
|
-
it('should use session ID from context', async () => {
|
|
132
|
-
const toolWithSession = Object.assign(Object.create(Object.getPrototypeOf(tool)), tool);
|
|
133
|
-
toolWithSession.context = {
|
|
134
|
-
sessionId: 'test-session-123',
|
|
135
|
-
};
|
|
136
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue([]);
|
|
137
|
-
await toolWithSession.execute({}, abortSignal);
|
|
138
|
-
expect(TodoStore).toHaveBeenCalledWith('test-session-123', undefined);
|
|
139
|
-
});
|
|
140
|
-
it('should use agent ID when available', async () => {
|
|
141
|
-
const toolWithAgent = Object.assign(Object.create(Object.getPrototypeOf(tool)), tool);
|
|
142
|
-
toolWithAgent.context = {
|
|
143
|
-
sessionId: 'test-session-123',
|
|
144
|
-
agentId: 'test-agent-456',
|
|
145
|
-
};
|
|
146
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue([]);
|
|
147
|
-
await toolWithAgent.execute({}, abortSignal);
|
|
148
|
-
expect(TodoStore).toHaveBeenCalledWith('test-session-123', 'test-agent-456');
|
|
149
|
-
});
|
|
150
|
-
it('should work without agent ID', async () => {
|
|
151
|
-
const toolNoAgent = Object.assign(Object.create(Object.getPrototypeOf(tool)), tool);
|
|
152
|
-
toolNoAgent.context = {
|
|
153
|
-
sessionId: 'test-session-123',
|
|
154
|
-
};
|
|
155
|
-
vi.mocked(TodoStore.prototype.readTodos).mockResolvedValue(sampleTodos);
|
|
156
|
-
const result = await toolNoAgent.execute({}, abortSignal);
|
|
157
|
-
expect(result.llmContent).toBeDefined();
|
|
158
|
-
expect(TodoStore).toHaveBeenCalledWith('test-session-123', undefined);
|
|
159
|
-
});
|
|
160
|
-
});
|
|
161
|
-
});
|
|
162
|
-
//# sourceMappingURL=todo-read.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"todo-read.test.js","sourceRoot":"","sources":["../../../src/tools/todo-read.test.ts"],"names":[],"mappings":"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"}
|