@crownpeak/dqm-react-component-dev-mcp 1.2.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 +138 -0
- package/data/.env.example +22 -0
- package/data/.gitattributes +47 -0
- package/data/.glfrc.json +7 -0
- package/data/.husky/pre-commit +5 -0
- package/data/.nvmrc +1 -0
- package/data/CHANGELOG.md +75 -0
- package/data/CODE_OF_CONDUCT.md +129 -0
- package/data/CONTRIBUTING.md +203 -0
- package/data/DOCS-STRUCTURE.md +307 -0
- package/data/I18N.md +292 -0
- package/data/LICENSE +22 -0
- package/data/README.md +315 -0
- package/data/SECURITY.md +125 -0
- package/data/WIKI-DEPLOYMENT.md +348 -0
- package/data/docs/AI-FEATURES.md +610 -0
- package/data/docs/API-REFERENCE.md +1022 -0
- package/data/docs/AUTHENTICATION.md +301 -0
- package/data/docs/BACKEND-API.md +468 -0
- package/data/docs/DEVELOPMENT.md +375 -0
- package/data/docs/EXAMPLES.md +622 -0
- package/data/docs/MCP-SERVER.md +307 -0
- package/data/docs/MIGRATION-GUIDE.md +367 -0
- package/data/docs/NPM-PUBLISH.md +193 -0
- package/data/docs/QUICKSTART.md +206 -0
- package/data/docs/REDIS-SETUP.md +162 -0
- package/data/docs/SERVER.md +228 -0
- package/data/docs/TROUBLESHOOTING.md +657 -0
- package/data/docs/WIDGET-GUIDE.md +638 -0
- package/data/docs/WIKI-HOME.md +58 -0
- package/data/docs/WIKI-SIDEBAR.md +39 -0
- package/data/package.json +171 -0
- package/data/playwright.config.ts +64 -0
- package/data/probe/.cargo/config.toml +10 -0
- package/data/probe/.claude/commands/performance-review.md +15 -0
- package/data/probe/.clinerules +288 -0
- package/data/probe/.dockerignore +57 -0
- package/data/probe/.githooks/post-commit +11 -0
- package/data/probe/.githooks/pre-commit +99 -0
- package/data/probe/.githooks/pre-commit-vow +9 -0
- package/data/probe/.prompts/engineer.md +41 -0
- package/data/probe/.roomodes +28 -0
- package/data/probe/.windsurfrules +0 -0
- package/data/probe/BASH_TOOL_SUMMARY.md +148 -0
- package/data/probe/BENCHMARKING.md +256 -0
- package/data/probe/CLAUDE.md +226 -0
- package/data/probe/CODE_OF_CONDUCT.md +128 -0
- package/data/probe/CONTRIBUTING.md +193 -0
- package/data/probe/Cargo.toml +120 -0
- package/data/probe/Cross.toml +10 -0
- package/data/probe/DOCKER-README.md +224 -0
- package/data/probe/Dockerfile +32 -0
- package/data/probe/ENHANCED_DEBUG_TELEMETRY.md +188 -0
- package/data/probe/LICENSE +201 -0
- package/data/probe/Makefile +210 -0
- package/data/probe/README.md +824 -0
- package/data/probe/SECURITY.md +67 -0
- package/data/probe/WINDOWS-GUIDE.md +294 -0
- package/data/probe/benches/parsing_benchmarks.rs +370 -0
- package/data/probe/benches/search_benchmarks.rs +599 -0
- package/data/probe/benches/simd_benchmarks.rs +372 -0
- package/data/probe/benches/timing_benchmarks.rs +287 -0
- package/data/probe/build-windows.bat +229 -0
- package/data/probe/codex-config/config.toml +6 -0
- package/data/probe/docs/PERFORMANCE_OPTIMIZATION.md +161 -0
- package/data/probe/examples/cache_demo.rs +46 -0
- package/data/probe/examples/chat/.dockerignore +37 -0
- package/data/probe/examples/chat/ChatSessionManager.js +295 -0
- package/data/probe/examples/chat/Dockerfile +98 -0
- package/data/probe/examples/chat/LICENSE +201 -0
- package/data/probe/examples/chat/LOCAL_IMAGE_SUPPORT.md +195 -0
- package/data/probe/examples/chat/MCP_INTEGRATION.md +400 -0
- package/data/probe/examples/chat/README.md +338 -0
- package/data/probe/examples/chat/TRACING.md +226 -0
- package/data/probe/examples/chat/appTracer.js +968 -0
- package/data/probe/examples/chat/auth.js +76 -0
- package/data/probe/examples/chat/bin/probe-chat.js +13 -0
- package/data/probe/examples/chat/build.js +104 -0
- package/data/probe/examples/chat/cancelRequest.js +84 -0
- package/data/probe/examples/chat/demo-agentic-image-flow.js +88 -0
- package/data/probe/examples/chat/demo-local-images.js +128 -0
- package/data/probe/examples/chat/fileSpanExporter.js +181 -0
- package/data/probe/examples/chat/implement/README.md +228 -0
- package/data/probe/examples/chat/implement/backends/AiderBackend.js +750 -0
- package/data/probe/examples/chat/implement/backends/BaseBackend.js +276 -0
- package/data/probe/examples/chat/implement/backends/ClaudeCodeBackend.js +767 -0
- package/data/probe/examples/chat/implement/backends/MockBackend.js +237 -0
- package/data/probe/examples/chat/implement/backends/registry.js +85 -0
- package/data/probe/examples/chat/implement/core/BackendManager.js +567 -0
- package/data/probe/examples/chat/implement/core/ImplementTool.js +354 -0
- package/data/probe/examples/chat/implement/core/config.js +428 -0
- package/data/probe/examples/chat/implement/core/timeouts.js +58 -0
- package/data/probe/examples/chat/implement/core/utils.js +496 -0
- package/data/probe/examples/chat/implement/types/BackendTypes.js +126 -0
- package/data/probe/examples/chat/index.js +669 -0
- package/data/probe/examples/chat/mcpServer.js +341 -0
- package/data/probe/examples/chat/npm/LICENSE +15 -0
- package/data/probe/examples/chat/npm/README.md +168 -0
- package/data/probe/examples/chat/npm/bin/probe-chat.js +156 -0
- package/data/probe/examples/chat/npm/index.js +259 -0
- package/data/probe/examples/chat/npm/package.json +54 -0
- package/data/probe/examples/chat/package.json +102 -0
- package/data/probe/examples/chat/probeChat.js +456 -0
- package/data/probe/examples/chat/probeTool.js +491 -0
- package/data/probe/examples/chat/storage/JsonChatStorage.js +476 -0
- package/data/probe/examples/chat/telemetry.js +281 -0
- package/data/probe/examples/chat/test/integration/chatFlows.test.js +320 -0
- package/data/probe/examples/chat/test/integration/toolCalling.test.js +471 -0
- package/data/probe/examples/chat/test/mocks/mockLLMProvider.js +269 -0
- package/data/probe/examples/chat/test/test-backends.js +90 -0
- package/data/probe/examples/chat/test/testUtils.js +530 -0
- package/data/probe/examples/chat/test/unit/backendTimeout.test.js +161 -0
- package/data/probe/examples/chat/test/unit/packageFiles.test.js +120 -0
- package/data/probe/examples/chat/test/verify-tests.js +118 -0
- package/data/probe/examples/chat/test-agentic-image-loading.js +294 -0
- package/data/probe/examples/chat/test-ai-sdk-telemetry.js +204 -0
- package/data/probe/examples/chat/test-chat-tracing.js +38 -0
- package/data/probe/examples/chat/test-direct-function.js +49 -0
- package/data/probe/examples/chat/test-file-size-validation.js +103 -0
- package/data/probe/examples/chat/test-full-mcp-integration.js +258 -0
- package/data/probe/examples/chat/test-github-context.txt +12 -0
- package/data/probe/examples/chat/test-hierarchy.js +203 -0
- package/data/probe/examples/chat/test-image-spans.js +37 -0
- package/data/probe/examples/chat/test-local-image-reading.js +176 -0
- package/data/probe/examples/chat/test-mcp-integration.js +136 -0
- package/data/probe/examples/chat/test-mcp-probe-server.js +161 -0
- package/data/probe/examples/chat/test-mcp-with-ai.js +279 -0
- package/data/probe/examples/chat/test-multiple-allowed-dirs.js +111 -0
- package/data/probe/examples/chat/test-probe-mcp-server.js +110 -0
- package/data/probe/examples/chat/test-security-validation.js +145 -0
- package/data/probe/examples/chat/test-simple-tracing.js +32 -0
- package/data/probe/examples/chat/test-trace-verification.js +235 -0
- package/data/probe/examples/chat/test-tracing.js +114 -0
- package/data/probe/examples/chat/tokenCounter.js +419 -0
- package/data/probe/examples/chat/tokenUsageDisplay.js +134 -0
- package/data/probe/examples/chat/webServer.js +1103 -0
- package/data/probe/examples/reranker/Cargo.toml +33 -0
- package/data/probe/examples/reranker/DEBUG_OUTPUT_ANALYSIS.md +71 -0
- package/data/probe/examples/reranker/MODELS.md +66 -0
- package/data/probe/examples/reranker/MODEL_COMPARISON.md +60 -0
- package/data/probe/examples/reranker/MULTI_MODEL_ANALYSIS.md +176 -0
- package/data/probe/examples/reranker/PERFORMANCE_SUMMARY.md +156 -0
- package/data/probe/examples/reranker/README.md +347 -0
- package/data/probe/examples/reranker/RUST_BERT_COMPARISON.md +82 -0
- package/data/probe/examples/reranker/TOKENIZATION_GUIDE.md +120 -0
- package/data/probe/examples/reranker/check_rust_tokenizer.py +108 -0
- package/data/probe/examples/reranker/convert_to_torchscript.py +109 -0
- package/data/probe/examples/reranker/debug_scoring.py +189 -0
- package/data/probe/examples/reranker/debug_tokenization.py +154 -0
- package/data/probe/examples/reranker/download_models.sh +73 -0
- package/data/probe/examples/reranker/requirements.txt +13 -0
- package/data/probe/examples/reranker/run_comprehensive_benchmark.sh +83 -0
- package/data/probe/examples/reranker/rust_bert_test/Cargo.toml +12 -0
- package/data/probe/examples/reranker/rust_bert_test/README.md +54 -0
- package/data/probe/examples/reranker/simple_test.py +50 -0
- package/data/probe/examples/reranker/test_all_models.sh +63 -0
- package/data/probe/examples/reranker/test_bert_results.sh +44 -0
- package/data/probe/examples/reranker/test_cross_encoder.py +334 -0
- package/data/probe/examples/reranker/test_cross_encoder.sh +80 -0
- package/data/probe/examples/reranker/test_exact_comparison.py +151 -0
- package/data/probe/examples/reranker/test_parallel_performance.sh +56 -0
- package/data/probe/examples/reranker/test_scores.py +132 -0
- package/data/probe/install.ps1 +508 -0
- package/data/probe/install.sh +460 -0
- package/data/probe/npm/CLONE_METHOD_EXAMPLES.md +596 -0
- package/data/probe/npm/CONTEXT_COMPACTION.md +303 -0
- package/data/probe/npm/DELEGATE_TOOL_README.md +166 -0
- package/data/probe/npm/MAID_INTEGRATION.md +313 -0
- package/data/probe/npm/MCP_INTEGRATION_SUMMARY.md +241 -0
- package/data/probe/npm/README.md +824 -0
- package/data/probe/npm/bin/.gitignore +7 -0
- package/data/probe/npm/bin/.gitkeep +0 -0
- package/data/probe/npm/bin/README.md +12 -0
- package/data/probe/npm/bin/probe +167 -0
- package/data/probe/npm/docs/CLAUDE_CODE_INTEGRATION.md +414 -0
- package/data/probe/npm/docs/CODEX_INTEGRATION.md +502 -0
- package/data/probe/npm/docs/EDIT_CREATE_TOOLS.md +233 -0
- package/data/probe/npm/docs/RETRY_AND_FALLBACK.md +674 -0
- package/data/probe/npm/example-usage.js +335 -0
- package/data/probe/npm/examples/multi-engine-demo.js +117 -0
- package/data/probe/npm/examples/probe-agent-cli.js +113 -0
- package/data/probe/npm/examples/test-agent-edit.js +114 -0
- package/data/probe/npm/examples/test-edit-create.js +120 -0
- package/data/probe/npm/examples/test-edit-direct.js +114 -0
- package/data/probe/npm/index.d.ts +744 -0
- package/data/probe/npm/jest.config.js +52 -0
- package/data/probe/npm/package.json +117 -0
- package/data/probe/npm/scripts/build-agent.cjs +75 -0
- package/data/probe/npm/scripts/build-cjs.js +124 -0
- package/data/probe/npm/scripts/build-mcp.cjs +36 -0
- package/data/probe/npm/scripts/postinstall.js +216 -0
- package/data/probe/npm/test-codex-e2e.js +78 -0
- package/data/probe/npm/test-download-lock.js +109 -0
- package/data/probe/npm/test-grep-security.js +94 -0
- package/data/probe/npm/test-grep-simplified.js +63 -0
- package/data/probe/npm/test-grep.js +51 -0
- package/data/probe/npm/tests/README.md +96 -0
- package/data/probe/npm/tests/agent-compact-history.test.js +174 -0
- package/data/probe/npm/tests/allow-tests-default.test.js +151 -0
- package/data/probe/npm/tests/contextCompactor.test.js +498 -0
- package/data/probe/npm/tests/delegate-config.test.js +353 -0
- package/data/probe/npm/tests/delegate-integration.test.js +348 -0
- package/data/probe/npm/tests/extractor-integration.test.js +162 -0
- package/data/probe/npm/tests/extractor.test.js +317 -0
- package/data/probe/npm/tests/fixtures/sampleDiagrams.js +267 -0
- package/data/probe/npm/tests/integration/claude-code-auto-fallback.spec.js +148 -0
- package/data/probe/npm/tests/integration/claude-code-multi-step.spec.js +127 -0
- package/data/probe/npm/tests/integration/claude-code-tool-events.spec.js +163 -0
- package/data/probe/npm/tests/integration/codex-auto-fallback.spec.js +191 -0
- package/data/probe/npm/tests/integration/codex-tool-events.spec.js +147 -0
- package/data/probe/npm/tests/integration/examplesChatMcp.test.js +402 -0
- package/data/probe/npm/tests/integration/mcpDotenvSupport.test.js +174 -0
- package/data/probe/npm/tests/integration/mcpErrorHandling.test.js +566 -0
- package/data/probe/npm/tests/integration/mcpRobustness.test.js +564 -0
- package/data/probe/npm/tests/integration/mcpStdoutPurity.test.js +355 -0
- package/data/probe/npm/tests/integration/probeAgentMcp.test.js +398 -0
- package/data/probe/npm/tests/integration/retryFallback.test.js +368 -0
- package/data/probe/npm/tests/integration/schema-in-initial-message.test.js +318 -0
- package/data/probe/npm/tests/integration/schema-validation-loop-prevention.test.js +244 -0
- package/data/probe/npm/tests/integration/schemaRetryLogic.test.js +94 -0
- package/data/probe/npm/tests/integration/validationFlow.test.js +329 -0
- package/data/probe/npm/tests/manual/test-codex-basic.js +110 -0
- package/data/probe/npm/tests/mcp/mcpClientManager.test.js +614 -0
- package/data/probe/npm/tests/mcp/mcpConfig.test.js +359 -0
- package/data/probe/npm/tests/mcp/mcpXmlBridge.test.js +436 -0
- package/data/probe/npm/tests/mcp/mockMcpServer.js +510 -0
- package/data/probe/npm/tests/mcp-strict-syntax.test.js +319 -0
- package/data/probe/npm/tests/mermaidQuoteEscaping.test.js +214 -0
- package/data/probe/npm/tests/nestedQuoteFix.test.js +40 -0
- package/data/probe/npm/tests/setup.js +46 -0
- package/data/probe/npm/tests/unit/allowed-tools.test.js +513 -0
- package/data/probe/npm/tests/unit/attempt-completion-closing-tag-in-content.test.js +188 -0
- package/data/probe/npm/tests/unit/attemptCompletionJsonFix.test.js +238 -0
- package/data/probe/npm/tests/unit/attemptCompletionJsonIssue.test.js +128 -0
- package/data/probe/npm/tests/unit/backtickAutoFix.test.js +35 -0
- package/data/probe/npm/tests/unit/bash-probe-agent-integration.test.js +389 -0
- package/data/probe/npm/tests/unit/bash-simple-commands.test.js +324 -0
- package/data/probe/npm/tests/unit/bash-tool-comprehensive.test.js +371 -0
- package/data/probe/npm/tests/unit/bash-tool-integration.test.js +310 -0
- package/data/probe/npm/tests/unit/bash-tool.test.js +341 -0
- package/data/probe/npm/tests/unit/completion-prompt.test.js +379 -0
- package/data/probe/npm/tests/unit/cwd-path-options.test.js +287 -0
- package/data/probe/npm/tests/unit/delegate-limits.test.js +422 -0
- package/data/probe/npm/tests/unit/direct-content-attempt-completion.test.js +235 -0
- package/data/probe/npm/tests/unit/edit-create-tools.test.js +609 -0
- package/data/probe/npm/tests/unit/enhancedMermaidValidation.test.js +577 -0
- package/data/probe/npm/tests/unit/extract-content.test.js +83 -0
- package/data/probe/npm/tests/unit/extract-multiple-targets.test.js +89 -0
- package/data/probe/npm/tests/unit/fallbackManager.test.js +442 -0
- package/data/probe/npm/tests/unit/githubCompatibilityValidation.test.js +258 -0
- package/data/probe/npm/tests/unit/imageConfig.test.js +149 -0
- package/data/probe/npm/tests/unit/imagePathResolution.test.js +345 -0
- package/data/probe/npm/tests/unit/json-fixing-agent.test.js +238 -0
- package/data/probe/npm/tests/unit/json-validation-enhanced-errors.test.js +199 -0
- package/data/probe/npm/tests/unit/jsonValidationInfiniteLoopFix.test.js +228 -0
- package/data/probe/npm/tests/unit/maidIntegration.test.js +139 -0
- package/data/probe/npm/tests/unit/maxIterationsWarning.test.js +195 -0
- package/data/probe/npm/tests/unit/mermaidEdgeLabelFix.test.js +161 -0
- package/data/probe/npm/tests/unit/mermaidHtmlEntities.test.js +76 -0
- package/data/probe/npm/tests/unit/mermaidInfiniteLoopFix.test.js +64 -0
- package/data/probe/npm/tests/unit/mermaidValidation.test.js +723 -0
- package/data/probe/npm/tests/unit/mermaidValidationVisorExample.test.js +309 -0
- package/data/probe/npm/tests/unit/probe-agent-clone-realistic.test.js +643 -0
- package/data/probe/npm/tests/unit/probe-agent-clone.test.js +476 -0
- package/data/probe/npm/tests/unit/probe-agent-delegate.test.js +400 -0
- package/data/probe/npm/tests/unit/probe-agent-model-option.test.js +118 -0
- package/data/probe/npm/tests/unit/probeTool-security.test.js +283 -0
- package/data/probe/npm/tests/unit/readImageTool.test.js +418 -0
- package/data/probe/npm/tests/unit/retryManager.test.js +317 -0
- package/data/probe/npm/tests/unit/schema-aware-reminders.test.js +288 -0
- package/data/probe/npm/tests/unit/schemaDefinitionDetection.test.js +115 -0
- package/data/probe/npm/tests/unit/schemaUtils.test.js +1268 -0
- package/data/probe/npm/tests/unit/simpleTelemetry.test.js +282 -0
- package/data/probe/npm/tests/unit/simplified-attempt-completion.test.js +274 -0
- package/data/probe/npm/tests/unit/single-quote-json-bug.test.js +231 -0
- package/data/probe/npm/tests/unit/subgraphAutoFix.test.js +110 -0
- package/data/probe/npm/tests/unit/system-prompt.test.js +32 -0
- package/data/probe/npm/tests/unit/types-probe-agent-options.test.js +42 -0
- package/data/probe/npm/tests/unit/xmlParsing.test.js +720 -0
- package/data/probe/npm/tsconfig.json +21 -0
- package/data/probe/result1.txt +19 -0
- package/data/probe/result2.txt +26 -0
- package/data/probe/scripts/benchmark.sh +270 -0
- package/data/probe/scripts/cache_memory_analysis.rs +844 -0
- package/data/probe/scripts/claude-hook-wrapper.sh +56 -0
- package/data/probe/site/.env.example +10 -0
- package/data/probe/site/DEPLOYMENT.md +86 -0
- package/data/probe/site/README.md +183 -0
- package/data/probe/site/adding-languages.md +135 -0
- package/data/probe/site/ai-chat.md +427 -0
- package/data/probe/site/ai-integration.md +1488 -0
- package/data/probe/site/blog/agentic-flow-custom-xml-protocol.md +407 -0
- package/data/probe/site/blog/index.md +118 -0
- package/data/probe/site/blog/v0.6.0-release.md +426 -0
- package/data/probe/site/blog.md +8 -0
- package/data/probe/site/changelog.md +200 -0
- package/data/probe/site/cli-mode.md +437 -0
- package/data/probe/site/code-extraction.md +436 -0
- package/data/probe/site/contributing/README.md +9 -0
- package/data/probe/site/contributing/documentation-cross-references.md +215 -0
- package/data/probe/site/contributing/documentation-maintenance.md +275 -0
- package/data/probe/site/contributing/documentation-structure.md +75 -0
- package/data/probe/site/documentation-cross-references.md +215 -0
- package/data/probe/site/documentation-guide.md +132 -0
- package/data/probe/site/documentation-maintenance.md +275 -0
- package/data/probe/site/features.md +147 -0
- package/data/probe/site/how-it-works.md +118 -0
- package/data/probe/site/index.md +175 -0
- package/data/probe/site/index.md.bak +133 -0
- package/data/probe/site/installation.md +235 -0
- package/data/probe/site/integrations/docker.md +248 -0
- package/data/probe/site/integrations/github-actions.md +413 -0
- package/data/probe/site/language-support-overview.md +168 -0
- package/data/probe/site/mcp-integration.md +587 -0
- package/data/probe/site/mcp-server.md +304 -0
- package/data/probe/site/navigation-structure.md +76 -0
- package/data/probe/site/nodejs-sdk.md +798 -0
- package/data/probe/site/output-formats.md +625 -0
- package/data/probe/site/package.json +21 -0
- package/data/probe/site/public/_headers +28 -0
- package/data/probe/site/public/_redirects +11 -0
- package/data/probe/site/quick-start.md +289 -0
- package/data/probe/site/search-functionality.md +291 -0
- package/data/probe/site/search-reference.md +291 -0
- package/data/probe/site/supported-languages.md +215 -0
- package/data/probe/site/use-cases/README.md +8 -0
- package/data/probe/site/use-cases/advanced-cli.md +253 -0
- package/data/probe/site/use-cases/ai-code-editors.md +239 -0
- package/data/probe/site/use-cases/building-ai-tools.md +529 -0
- package/data/probe/site/use-cases/cli-ai-workflows.md +285 -0
- package/data/probe/site/use-cases/deploying-probe-web-interface.md +255 -0
- package/data/probe/site/use-cases/integrating-probe-into-ai-code-editors.md +161 -0
- package/data/probe/site/use-cases/nodejs-sdk.md +596 -0
- package/data/probe/site/use-cases/team-chat.md +350 -0
- package/data/probe/site/web-interface.md +434 -0
- package/data/probe/site/wrangler.toml +9 -0
- package/data/probe/test-api-key.sh +1 -0
- package/data/probe/test-probe-implementation/hello.js +7 -0
- package/data/probe/test_cases/demonstrate_early_termination_issues.sh +176 -0
- package/data/probe/test_cases/early_termination_issues.rs +533 -0
- package/data/probe/test_data/test_nested_struct.go +26 -0
- package/data/probe/tests/README.md +286 -0
- package/data/probe/tests/README_search_determinism_tests.md +116 -0
- package/data/probe/tests/adjacent_comment_test.rs +152 -0
- package/data/probe/tests/apostrophe_handling_tests.rs +132 -0
- package/data/probe/tests/block_filtering_with_ast_tests.rs +669 -0
- package/data/probe/tests/block_merging_tests.rs +396 -0
- package/data/probe/tests/c_outline_format_tests.rs +2179 -0
- package/data/probe/tests/cache_invalidation_issues.rs.disabled +682 -0
- package/data/probe/tests/cache_order_tests.rs +147 -0
- package/data/probe/tests/cache_query_scoping_tests.rs +221 -0
- package/data/probe/tests/cli_tests.rs +680 -0
- package/data/probe/tests/comment_context_integration_test.rs +240 -0
- package/data/probe/tests/common.rs +33 -0
- package/data/probe/tests/complex_block_merging_tests.rs +599 -0
- package/data/probe/tests/complex_query_block_filtering_tests.rs +422 -0
- package/data/probe/tests/control_flow_closing_braces_test.rs +91 -0
- package/data/probe/tests/cpp_outline_format_tests.rs +1507 -0
- package/data/probe/tests/csharp_outline_format_tests.rs +941 -0
- package/data/probe/tests/elastic_query_integration_tests.rs +922 -0
- package/data/probe/tests/extract_command_tests.rs +1848 -0
- package/data/probe/tests/extract_deduplication_tests.rs +146 -0
- package/data/probe/tests/extract_input_file_tests.rs +84 -0
- package/data/probe/tests/extract_prompt_tests.rs +102 -0
- package/data/probe/tests/filename_search_tests.rs +96 -0
- package/data/probe/tests/fixtures/user/AssemblyInfo.cs +3 -0
- package/data/probe/tests/github_extract_tests.rs +234 -0
- package/data/probe/tests/go_comment_test.rs +253 -0
- package/data/probe/tests/go_outline_format_tests.rs +2587 -0
- package/data/probe/tests/go_path_resolver_tests.rs +96 -0
- package/data/probe/tests/html_outline_format_tests.rs +637 -0
- package/data/probe/tests/integration_tests.rs +837 -0
- package/data/probe/tests/ip_whitelist_test.rs +148 -0
- package/data/probe/tests/java_outline_format_tests.rs +1611 -0
- package/data/probe/tests/javascript_extract_tests.rs +315 -0
- package/data/probe/tests/javascript_outline_format_tests.rs +1464 -0
- package/data/probe/tests/json_format_tests.rs +436 -0
- package/data/probe/tests/json_schema_validation_tests.rs +450 -0
- package/data/probe/tests/lib_usage.rs +60 -0
- package/data/probe/tests/line_comment_context_extension_test.rs +459 -0
- package/data/probe/tests/line_map_cache_tests.rs +114 -0
- package/data/probe/tests/markdown_integration_tests.rs +190 -0
- package/data/probe/tests/mocks/test_ip_whitelist.go +11 -0
- package/data/probe/tests/mocks/test_object.js +27 -0
- package/data/probe/tests/mocks/test_struct.go +50 -0
- package/data/probe/tests/multi_keyword_pattern_tests.rs +464 -0
- package/data/probe/tests/multi_language_syntax_integration_tests.rs +218 -0
- package/data/probe/tests/multiple_capture_groups_tests.rs +169 -0
- package/data/probe/tests/negative_compound_word_tests.rs +246 -0
- package/data/probe/tests/nested_symbol_extraction_tests.rs +99 -0
- package/data/probe/tests/outline_cross_file_interference_test.rs +335 -0
- package/data/probe/tests/outline_keyword_preservation_test.rs +67 -0
- package/data/probe/tests/output_format_edge_cases_tests.rs +693 -0
- package/data/probe/tests/parallel_extraction_tests.rs +178 -0
- package/data/probe/tests/parallel_search_tests.rs +355 -0
- package/data/probe/tests/path_resolver_tests.rs +698 -0
- package/data/probe/tests/php_outline_format_extended_tests.rs +928 -0
- package/data/probe/tests/php_outline_format_tests.rs +768 -0
- package/data/probe/tests/property_tests.proptest-regressions +9 -0
- package/data/probe/tests/property_tests.rs +118 -0
- package/data/probe/tests/python_outline_format_tests.rs +1538 -0
- package/data/probe/tests/query_command_json_tests.rs +438 -0
- package/data/probe/tests/query_command_tests.rs +232 -0
- package/data/probe/tests/query_command_xml_tests.rs +569 -0
- package/data/probe/tests/quoted_term_with_negative_keyword_tests.rs +216 -0
- package/data/probe/tests/required_terms_filename_tests.rs +116 -0
- package/data/probe/tests/ruby_outline_format_tests.rs +1011 -0
- package/data/probe/tests/rust_line_comment_context_test.rs +151 -0
- package/data/probe/tests/rust_outline_format_enhanced_tests.rs +725 -0
- package/data/probe/tests/rust_outline_format_tests.rs +843 -0
- package/data/probe/tests/schemas/xml_output_schema.xsd +38 -0
- package/data/probe/tests/search_determinism_tests.rs +451 -0
- package/data/probe/tests/search_hints_tests.rs +253 -0
- package/data/probe/tests/special_character_escaping_tests.rs +417 -0
- package/data/probe/tests/stemming_compound_word_filtering_tests.rs +535 -0
- package/data/probe/tests/strict_elastic_syntax_tests.rs +404 -0
- package/data/probe/tests/swift_outline_format_tests.rs +3319 -0
- package/data/probe/tests/symbols_tests.rs +166 -0
- package/data/probe/tests/test_file.rs +45 -0
- package/data/probe/tests/test_tokenize.rs +28 -0
- package/data/probe/tests/timeout_tests.rs +82 -0
- package/data/probe/tests/tokenization_tests.rs +195 -0
- package/data/probe/tests/tokenized_block_filtering_tests.rs +174 -0
- package/data/probe/tests/typescript_extract_tests.rs +214 -0
- package/data/probe/tests/typescript_outline_format_tests.rs +2188 -0
- package/data/probe/tests/xml_format_tests.rs +568 -0
- package/data/probe/tests/xml_schema_validation_tests.rs +497 -0
- package/data/scripts/postinstall.mjs +9 -0
- package/data/scripts/set-version.js +0 -0
- package/data/scripts/wiki-build.sh +111 -0
- package/data/scripts/wiki-deploy.sh +73 -0
- package/data/serve.json +12 -0
- package/data/test/demo-dynamic.html +134 -0
- package/data/test/demo-esm.html +105 -0
- package/data/test/demo-iife.html +78 -0
- package/data/tsconfig.json +7 -0
- package/data/vite.server.ts +483 -0
- package/data/vitest.config.ts +40 -0
- package/data/wiki/Home.md +58 -0
- package/data/wiki/_Sidebar.md +39 -0
- package/docs-mcp.config.json +20 -0
- package/package.json +56 -0
- package/src/config.js +111 -0
- package/src/index.js +395 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Test that ProbeAgent auto-detects and falls back to codex provider
|
|
5
|
+
* when no API keys are present but codex command is available
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { ProbeAgent } from '../../src/agent/ProbeAgent.js';
|
|
9
|
+
|
|
10
|
+
async function testAutoFallback() {
|
|
11
|
+
console.log('đ§Ş Testing Auto-Fallback to Codex CLI Provider\n');
|
|
12
|
+
console.log('='*60 + '\n');
|
|
13
|
+
|
|
14
|
+
// Temporarily remove all API key env vars
|
|
15
|
+
const savedEnv = {
|
|
16
|
+
ANTHROPIC_API_KEY: process.env.ANTHROPIC_API_KEY,
|
|
17
|
+
ANTHROPIC_AUTH_TOKEN: process.env.ANTHROPIC_AUTH_TOKEN,
|
|
18
|
+
OPENAI_API_KEY: process.env.OPENAI_API_KEY,
|
|
19
|
+
GOOGLE_GENERATIVE_AI_API_KEY: process.env.GOOGLE_GENERATIVE_AI_API_KEY,
|
|
20
|
+
GOOGLE_API_KEY: process.env.GOOGLE_API_KEY,
|
|
21
|
+
AWS_ACCESS_KEY_ID: process.env.AWS_ACCESS_KEY_ID,
|
|
22
|
+
AWS_SECRET_ACCESS_KEY: process.env.AWS_SECRET_ACCESS_KEY,
|
|
23
|
+
AWS_REGION: process.env.AWS_REGION,
|
|
24
|
+
AWS_BEDROCK_API_KEY: process.env.AWS_BEDROCK_API_KEY
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
// Remove all API keys
|
|
28
|
+
delete process.env.ANTHROPIC_API_KEY;
|
|
29
|
+
delete process.env.ANTHROPIC_AUTH_TOKEN;
|
|
30
|
+
delete process.env.OPENAI_API_KEY;
|
|
31
|
+
delete process.env.GOOGLE_GENERATIVE_AI_API_KEY;
|
|
32
|
+
delete process.env.GOOGLE_API_KEY;
|
|
33
|
+
delete process.env.AWS_ACCESS_KEY_ID;
|
|
34
|
+
delete process.env.AWS_SECRET_ACCESS_KEY;
|
|
35
|
+
delete process.env.AWS_REGION;
|
|
36
|
+
delete process.env.AWS_BEDROCK_API_KEY;
|
|
37
|
+
|
|
38
|
+
// Mock unavailable claude command to test codex fallback
|
|
39
|
+
// In a real scenario, this would happen when claude is not installed
|
|
40
|
+
// but codex is available
|
|
41
|
+
|
|
42
|
+
try {
|
|
43
|
+
console.log('Creating ProbeAgent with NO API keys...\n');
|
|
44
|
+
|
|
45
|
+
const agent = new ProbeAgent({
|
|
46
|
+
allowedFolders: [process.cwd()],
|
|
47
|
+
debug: true
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
console.log('\nInitializing agent...\n');
|
|
51
|
+
await agent.initialize();
|
|
52
|
+
|
|
53
|
+
// Check if it auto-switched to codex
|
|
54
|
+
if (agent.clientApiProvider === 'codex' && agent.apiType === 'codex') {
|
|
55
|
+
console.log('\nâ
SUCCESS: Auto-detected and switched to codex provider!');
|
|
56
|
+
console.log(` Provider: ${agent.clientApiProvider}`);
|
|
57
|
+
console.log(` API Type: ${agent.apiType}`);
|
|
58
|
+
console.log(` Model: ${agent.model}`);
|
|
59
|
+
|
|
60
|
+
// Try a simple query
|
|
61
|
+
console.log('\nđ Testing query: "What is 5 + 3?"\n');
|
|
62
|
+
const response = await agent.answer('What is 5 + 3?');
|
|
63
|
+
|
|
64
|
+
if (response && response.length > 0) {
|
|
65
|
+
console.log('â
Query successful!');
|
|
66
|
+
console.log('Response:', response.substring(0, 100) + (response.length > 100 ? '...' : ''));
|
|
67
|
+
} else {
|
|
68
|
+
console.log('â ď¸ Query returned empty response');
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// Clean up
|
|
72
|
+
if (agent.engine && agent.engine.close) {
|
|
73
|
+
await agent.engine.close();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
} else {
|
|
77
|
+
console.log('â ď¸ Did not auto-switch to codex provider (might have switched to claude-code instead)');
|
|
78
|
+
console.log(` Provider: ${agent.clientApiProvider}`);
|
|
79
|
+
console.log(` API Type: ${agent.apiType}`);
|
|
80
|
+
console.log(' Note: This is expected if claude command is also available');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
} catch (error) {
|
|
84
|
+
if (error.message.includes('codex command not found') || error.message.includes('neither claude nor codex')) {
|
|
85
|
+
console.log('\nâ ď¸ Test could not run: codex command not found on system');
|
|
86
|
+
console.log('This is expected if OpenAI Codex CLI is not installed');
|
|
87
|
+
console.log('\nTo install OpenAI Codex CLI:');
|
|
88
|
+
console.log(' https://openai.com/codex');
|
|
89
|
+
} else {
|
|
90
|
+
console.error('\nâ Test failed:', error.message);
|
|
91
|
+
}
|
|
92
|
+
} finally {
|
|
93
|
+
// Restore environment variables
|
|
94
|
+
Object.entries(savedEnv).forEach(([key, value]) => {
|
|
95
|
+
if (value !== undefined) {
|
|
96
|
+
process.env[key] = value;
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
console.log('\n' + '='*60);
|
|
101
|
+
console.log('đ Auto-Fallback Test Complete\n');
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
async function testExplicitCodexProvider() {
|
|
106
|
+
console.log('\n' + '='*60);
|
|
107
|
+
console.log('đ§Ş Testing Explicit Codex CLI Provider Selection\n');
|
|
108
|
+
|
|
109
|
+
try {
|
|
110
|
+
const agent = new ProbeAgent({
|
|
111
|
+
allowedFolders: [process.cwd()],
|
|
112
|
+
provider: 'codex',
|
|
113
|
+
debug: true
|
|
114
|
+
});
|
|
115
|
+
|
|
116
|
+
await agent.initialize();
|
|
117
|
+
|
|
118
|
+
if (agent.clientApiProvider === 'codex' && agent.apiType === 'codex') {
|
|
119
|
+
console.log('â
Explicitly set provider to codex successfully');
|
|
120
|
+
console.log(` Provider: ${agent.clientApiProvider}`);
|
|
121
|
+
console.log(` API Type: ${agent.apiType}`);
|
|
122
|
+
console.log(` Model: ${agent.model}`);
|
|
123
|
+
|
|
124
|
+
// Clean up
|
|
125
|
+
if (agent.engine && agent.engine.close) {
|
|
126
|
+
await agent.engine.close();
|
|
127
|
+
}
|
|
128
|
+
} else {
|
|
129
|
+
console.log('â ď¸ Failed to set explicit codex provider');
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
} catch (error) {
|
|
133
|
+
if (error.message.includes('codex command not found') || error.message.includes('command not found')) {
|
|
134
|
+
console.log('â ď¸ Codex CLI not available on system');
|
|
135
|
+
} else {
|
|
136
|
+
console.error('â Test failed:', error.message);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
async function testWithAPIKey() {
|
|
142
|
+
console.log('\n' + '='*60);
|
|
143
|
+
console.log('đ§Ş Testing Normal Behavior with API Key\n');
|
|
144
|
+
|
|
145
|
+
// Set a mock env var
|
|
146
|
+
const hadKey = !!process.env.OPENAI_API_KEY;
|
|
147
|
+
if (!hadKey) {
|
|
148
|
+
process.env.OPENAI_API_KEY = 'test-key';
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
try {
|
|
152
|
+
const agent = new ProbeAgent({
|
|
153
|
+
allowedFolders: [process.cwd()],
|
|
154
|
+
debug: false
|
|
155
|
+
});
|
|
156
|
+
|
|
157
|
+
await agent.initialize();
|
|
158
|
+
|
|
159
|
+
if (agent.apiType !== 'codex') {
|
|
160
|
+
console.log('â
With API key, did NOT auto-switch to codex');
|
|
161
|
+
console.log(` API Type: ${agent.apiType}`);
|
|
162
|
+
} else {
|
|
163
|
+
console.log('â ď¸ With API key, unexpectedly switched to codex');
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
} catch (error) {
|
|
167
|
+
console.log('âšď¸ Expected error with test API key:', error.message.substring(0, 80));
|
|
168
|
+
} finally {
|
|
169
|
+
if (!hadKey) {
|
|
170
|
+
delete process.env.OPENAI_API_KEY;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
async function main() {
|
|
176
|
+
console.log('đŹ ProbeAgent Auto-Fallback to Codex CLI Test\n');
|
|
177
|
+
console.log('This test verifies that ProbeAgent automatically uses codex');
|
|
178
|
+
console.log('provider when no API keys are found but codex command is available.\n');
|
|
179
|
+
|
|
180
|
+
await testAutoFallback();
|
|
181
|
+
await testExplicitCodexProvider();
|
|
182
|
+
await testWithAPIKey();
|
|
183
|
+
|
|
184
|
+
console.log('\nđ Summary:');
|
|
185
|
+
console.log('- Auto-fallback activates when: No API keys + codex command available');
|
|
186
|
+
console.log('- Falls back to: provider="codex"');
|
|
187
|
+
console.log('- Fallback priority: claude-code > codex > error');
|
|
188
|
+
console.log('- User benefit: Zero-config usage in OpenAI Codex environment');
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
main().catch(console.error);
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Test that Codex CLI engine properly extracts and emits tool usage events
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { ProbeAgent } from '../../src/agent/ProbeAgent.js';
|
|
8
|
+
|
|
9
|
+
async function testToolEventExtraction() {
|
|
10
|
+
console.log('đ§Ş Testing Tool Event Extraction from Codex CLI\n');
|
|
11
|
+
console.log('='*60 + '\n');
|
|
12
|
+
|
|
13
|
+
try {
|
|
14
|
+
console.log('Creating ProbeAgent with codex provider...\n');
|
|
15
|
+
|
|
16
|
+
const agent = new ProbeAgent({
|
|
17
|
+
allowedFolders: [process.cwd()],
|
|
18
|
+
provider: 'codex',
|
|
19
|
+
debug: true
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
await agent.initialize();
|
|
23
|
+
|
|
24
|
+
if (agent.clientApiProvider !== 'codex') {
|
|
25
|
+
console.log('â ď¸ Skipping test - codex provider not available');
|
|
26
|
+
console.log(` Current provider: ${agent.clientApiProvider}`);
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
console.log('â
Codex CLI engine initialized\n');
|
|
31
|
+
|
|
32
|
+
// Collect tool events
|
|
33
|
+
const toolEvents = [];
|
|
34
|
+
agent.events.on('toolCall', (event) => {
|
|
35
|
+
console.log(`\nđ§ Tool Event Captured: ${event.name}`);
|
|
36
|
+
console.log(` Status: ${event.status}`);
|
|
37
|
+
console.log(` Args:`, JSON.stringify(event.args).substring(0, 100));
|
|
38
|
+
toolEvents.push(event);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Ask a question that should trigger tool usage
|
|
42
|
+
console.log('\nđ Testing query that requires tool usage...\n');
|
|
43
|
+
console.log('Query: "Search for ProbeAgent class in this codebase"\n');
|
|
44
|
+
|
|
45
|
+
const response = await agent.answer('Search for ProbeAgent class in this codebase');
|
|
46
|
+
|
|
47
|
+
console.log('\nđ Response received');
|
|
48
|
+
console.log('Response length:', response.length);
|
|
49
|
+
console.log('Tool events captured:', toolEvents.length);
|
|
50
|
+
|
|
51
|
+
if (toolEvents.length > 0) {
|
|
52
|
+
console.log('\nâ
SUCCESS: Tool events were extracted and emitted!');
|
|
53
|
+
console.log('\nTool usage summary:');
|
|
54
|
+
toolEvents.forEach((event, i) => {
|
|
55
|
+
console.log(` ${i + 1}. ${event.name} (${event.status})`);
|
|
56
|
+
});
|
|
57
|
+
} else {
|
|
58
|
+
console.log('\nâ ď¸ No tool events captured');
|
|
59
|
+
console.log('This might be expected if the query did not trigger tool usage');
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
// Clean up
|
|
63
|
+
if (agent.engine && agent.engine.close) {
|
|
64
|
+
await agent.engine.close();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
} catch (error) {
|
|
68
|
+
if (error.message.includes('codex') || error.message.includes('command not found')) {
|
|
69
|
+
console.log('\nâ ď¸ Test could not run: codex command not available');
|
|
70
|
+
console.log('This is expected if OpenAI Codex CLI is not installed');
|
|
71
|
+
} else {
|
|
72
|
+
console.error('\nâ Test failed:', error.message);
|
|
73
|
+
if (error.stack) {
|
|
74
|
+
console.error(error.stack);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
console.log('\n' + '='*60);
|
|
80
|
+
console.log('đ Tool Event Extraction Test Complete\n');
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
async function testToolBatchEmission() {
|
|
84
|
+
console.log('\n' + '='*60);
|
|
85
|
+
console.log('đ§Ş Testing Tool Batch Emission\n');
|
|
86
|
+
|
|
87
|
+
try {
|
|
88
|
+
const agent = new ProbeAgent({
|
|
89
|
+
allowedFolders: [process.cwd()],
|
|
90
|
+
provider: 'codex',
|
|
91
|
+
debug: false
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
await agent.initialize();
|
|
95
|
+
|
|
96
|
+
if (agent.clientApiProvider !== 'codex') {
|
|
97
|
+
console.log('â ď¸ Skipping test - codex provider not available');
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
let batchReceived = false;
|
|
102
|
+
agent.events.on('toolBatch', (batch) => {
|
|
103
|
+
batchReceived = true;
|
|
104
|
+
console.log('â
Tool batch event received');
|
|
105
|
+
console.log(` Batch size: ${batch.tools?.length || 0}`);
|
|
106
|
+
console.log(` Timestamp: ${batch.timestamp}`);
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
// Query that might use multiple tools
|
|
110
|
+
await agent.answer('Find and extract the ProbeAgent constructor');
|
|
111
|
+
|
|
112
|
+
if (batchReceived) {
|
|
113
|
+
console.log('\nâ
Tool batch emission working correctly');
|
|
114
|
+
} else {
|
|
115
|
+
console.log('\nâ ď¸ No tool batch received (might not have used tools)');
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// Clean up
|
|
119
|
+
if (agent.engine && agent.engine.close) {
|
|
120
|
+
await agent.engine.close();
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
} catch (error) {
|
|
124
|
+
if (error.message.includes('codex') || error.message.includes('command not found')) {
|
|
125
|
+
console.log('â ď¸ Codex CLI not available');
|
|
126
|
+
} else {
|
|
127
|
+
console.error('â Test failed:', error.message);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
async function main() {
|
|
133
|
+
console.log('đŹ Codex CLI Tool Event Extraction Test\n');
|
|
134
|
+
console.log('This test verifies that the Codex CLI engine properly extracts');
|
|
135
|
+
console.log('and emits tool usage events from the CLI output.\n');
|
|
136
|
+
|
|
137
|
+
await testToolEventExtraction();
|
|
138
|
+
await testToolBatchEmission();
|
|
139
|
+
|
|
140
|
+
console.log('\nđ Summary:');
|
|
141
|
+
console.log('- Tool events are extracted from Codex CLI JSON output');
|
|
142
|
+
console.log('- Events are emitted via agent.events.on("toolCall", ...)');
|
|
143
|
+
console.log('- Batch events contain all tools used in a single query');
|
|
144
|
+
console.log('- Event format: { name, args, status, timestamp, id }');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
main().catch(console.error);
|