@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,275 @@
|
|
|
1
|
+
# Probe Documentation Maintenance Guide
|
|
2
|
+
|
|
3
|
+
This guide is for documentation maintainers and contributors. It provides technical information about the documentation structure, cross-references, and navigation configuration.
|
|
4
|
+
|
|
5
|
+
## Navigation Structure
|
|
6
|
+
|
|
7
|
+
The Probe documentation uses VitePress and follows a specific navigation structure designed to provide a logical organization of content.
|
|
8
|
+
|
|
9
|
+
### VitePress Configuration
|
|
10
|
+
|
|
11
|
+
Add this configuration to your VitePress configuration file (`.vitepress/config.js`):
|
|
12
|
+
|
|
13
|
+
```javascript
|
|
14
|
+
export default {
|
|
15
|
+
// ... other VitePress configuration options
|
|
16
|
+
|
|
17
|
+
themeConfig: {
|
|
18
|
+
// ... other theme configuration options
|
|
19
|
+
|
|
20
|
+
sidebar: {
|
|
21
|
+
'/': [
|
|
22
|
+
{
|
|
23
|
+
text: 'Getting Started',
|
|
24
|
+
collapsed: false,
|
|
25
|
+
items: [
|
|
26
|
+
{ text: 'Quick Start', link: '/quick-start' },
|
|
27
|
+
{ text: 'Installation', link: '/installation' },
|
|
28
|
+
{ text: 'Core Features', link: '/features' },
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
text: 'Core Functionality',
|
|
33
|
+
collapsed: false,
|
|
34
|
+
items: [
|
|
35
|
+
{ text: 'How It Works', link: '/how-it-works' },
|
|
36
|
+
{ text: 'Search Functionality', link: '/search-functionality' },
|
|
37
|
+
{ text: 'Code Extraction', link: '/code-extraction' },
|
|
38
|
+
{ text: 'CLI Mode', link: '/cli-mode' },
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
text: 'AI Integration',
|
|
43
|
+
collapsed: false,
|
|
44
|
+
items: [
|
|
45
|
+
{ text: 'AI Integration Overview', link: '/ai-integration' },
|
|
46
|
+
{ text: 'AI Chat Mode', link: '/ai-chat' },
|
|
47
|
+
{ text: 'MCP Server', link: '/mcp-server' },
|
|
48
|
+
{ text: 'MCP Integration', link: '/mcp-integration' },
|
|
49
|
+
{ text: 'Node.js SDK', link: '/nodejs-sdk' },
|
|
50
|
+
{ text: 'Web Interface', link: '/web-interface' },
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
text: 'Language Support',
|
|
55
|
+
collapsed: false,
|
|
56
|
+
items: [
|
|
57
|
+
{ text: 'Language Support Overview', link: '/language-support-overview' },
|
|
58
|
+
{ text: 'Supported Languages', link: '/supported-languages' },
|
|
59
|
+
{ text: 'Adding Languages', link: '/adding-languages' },
|
|
60
|
+
]
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
text: 'Advanced Topics',
|
|
64
|
+
collapsed: true,
|
|
65
|
+
items: [
|
|
66
|
+
{ text: 'Result Ranking', link: '/result-ranking' },
|
|
67
|
+
{ text: 'Pattern Matching', link: '/pattern-matching' },
|
|
68
|
+
{ text: 'Performance Optimization', link: '/performance-optimization' },
|
|
69
|
+
{ text: 'Customization', link: '/customization' },
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
text: 'Contributing',
|
|
74
|
+
collapsed: true,
|
|
75
|
+
items: [
|
|
76
|
+
{ text: 'Contributing Guide', link: '/contributing' },
|
|
77
|
+
{ text: 'Code of Conduct', link: '/code-of-conduct' },
|
|
78
|
+
{ text: 'Development Setup', link: '/development-setup' },
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
|
|
84
|
+
nav: [
|
|
85
|
+
{ text: 'Home', link: '/' },
|
|
86
|
+
{ text: 'Quick Start', link: '/quick-start' },
|
|
87
|
+
{
|
|
88
|
+
text: 'Documentation',
|
|
89
|
+
items: [
|
|
90
|
+
{ text: 'Getting Started', items: [
|
|
91
|
+
{ text: 'Quick Start', link: '/quick-start' },
|
|
92
|
+
{ text: 'Installation', link: '/installation' },
|
|
93
|
+
{ text: 'Core Features', link: '/features' },
|
|
94
|
+
]},
|
|
95
|
+
{ text: 'Core Functionality', items: [
|
|
96
|
+
{ text: 'How It Works', link: '/how-it-works' },
|
|
97
|
+
{ text: 'Search Functionality', link: '/search-functionality' },
|
|
98
|
+
{ text: 'Code Extraction', link: '/code-extraction' },
|
|
99
|
+
{ text: 'CLI Mode', link: '/cli-mode' },
|
|
100
|
+
]},
|
|
101
|
+
{ text: 'AI Integration', items: [
|
|
102
|
+
{ text: 'AI Integration Overview', link: '/ai-integration' },
|
|
103
|
+
{ text: 'AI Chat Mode', link: '/ai-chat' },
|
|
104
|
+
{ text: 'MCP Server', link: '/mcp-server' },
|
|
105
|
+
{ text: 'MCP Integration', link: '/mcp-integration' },
|
|
106
|
+
{ text: 'Node.js SDK', link: '/nodejs-sdk' },
|
|
107
|
+
{ text: 'Web Interface', link: '/web-interface' },
|
|
108
|
+
]},
|
|
109
|
+
{ text: 'Language Support', items: [
|
|
110
|
+
{ text: 'Language Support Overview', link: '/language-support-overview' },
|
|
111
|
+
{ text: 'Supported Languages', link: '/supported-languages' },
|
|
112
|
+
{ text: 'Adding Languages', link: '/adding-languages' },
|
|
113
|
+
]},
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
{ text: 'GitHub', link: 'https://github.com/probelabs/probe' }
|
|
117
|
+
],
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Cross-Reference Guidelines
|
|
123
|
+
|
|
124
|
+
Proper cross-referencing improves navigation, provides contextual understanding, reduces duplication, and ensures comprehensive coverage.
|
|
125
|
+
|
|
126
|
+
### Cross-Reference Implementation
|
|
127
|
+
|
|
128
|
+
When implementing cross-references, follow these guidelines:
|
|
129
|
+
|
|
130
|
+
1. **Contextual References**: Include references where they make sense in the context of the document, not just at the end.
|
|
131
|
+
|
|
132
|
+
2. **Descriptive Link Text**: Use descriptive link text that explains what the linked document contains:
|
|
133
|
+
```markdown
|
|
134
|
+
Learn more about [how Probe works](/how-it-works)
|
|
135
|
+
```
|
|
136
|
+
Instead of:
|
|
137
|
+
```markdown
|
|
138
|
+
[how-it-works.md](/how-it-works)
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
3. **Section References**: When appropriate, link to specific sections within documents using anchor links:
|
|
142
|
+
```markdown
|
|
143
|
+
[Search Syntax](/search-functionality#search-syntax)
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
4. **Related Topics Sections**: Include a "Related Topics" section at the end of each document that lists related documents.
|
|
147
|
+
|
|
148
|
+
5. **Next Steps**: Where appropriate, include a "Next Steps" section that guides users to logical next documents to read.
|
|
149
|
+
|
|
150
|
+
### Example Implementation
|
|
151
|
+
|
|
152
|
+
Here's an example of how to implement these cross-references in a document:
|
|
153
|
+
|
|
154
|
+
```markdown
|
|
155
|
+
# Quick Start
|
|
156
|
+
|
|
157
|
+
This guide will help you get up and running with Probe quickly.
|
|
158
|
+
|
|
159
|
+
## Installation
|
|
160
|
+
|
|
161
|
+
The easiest way to install Probe is via npm:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
npm install -g @probelabs/probe@latest
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
For more detailed installation instructions, including manual installation and building from source, see the [Installation Guide](/installation).
|
|
168
|
+
|
|
169
|
+
...
|
|
170
|
+
|
|
171
|
+
## Next Steps
|
|
172
|
+
|
|
173
|
+
- Learn more about the [CLI Mode](/cli-mode) for detailed command options
|
|
174
|
+
- Explore the [AI Chat Mode](/ai-chat) for interactive code exploration
|
|
175
|
+
- Check out the [Web Interface](/web-interface) for a browser-based experience
|
|
176
|
+
- Understand [How It Works](/how-it-works) to get the most out of Probe
|
|
177
|
+
|
|
178
|
+
## Related Topics
|
|
179
|
+
|
|
180
|
+
- [Installation](/installation) - Detailed installation instructions
|
|
181
|
+
- [CLI Mode](/cli-mode) - Command-line interface reference
|
|
182
|
+
- [AI Chat Mode](/ai-chat) - Interactive CLI interface for asking questions about your code
|
|
183
|
+
- [Web Interface](/web-interface) - Browser-based exploration
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
## Cross-Reference Map
|
|
187
|
+
|
|
188
|
+
The following map shows how different documentation files should reference each other:
|
|
189
|
+
|
|
190
|
+
### Getting Started Section
|
|
191
|
+
|
|
192
|
+
- **index.md**
|
|
193
|
+
- Links to: quick-start.md, installation.md, features.md, how-it-works.md, ai-integration.md, language-support-overview.md
|
|
194
|
+
|
|
195
|
+
- **quick-start.md**
|
|
196
|
+
- Links to: installation.md, cli-mode.md, ai-chat.md, web-interface.md, how-it-works.md
|
|
197
|
+
- Referenced by: index.md, installation.md
|
|
198
|
+
|
|
199
|
+
- **installation.md**
|
|
200
|
+
- Links to: quick-start.md, cli-mode.md
|
|
201
|
+
- Referenced by: index.md, quick-start.md
|
|
202
|
+
|
|
203
|
+
- **features.md**
|
|
204
|
+
- Links to: how-it-works.md, search-functionality.md, code-extraction.md, ai-integration.md, language-support-overview.md
|
|
205
|
+
- Referenced by: index.md, how-it-works.md
|
|
206
|
+
|
|
207
|
+
### Core Functionality Section
|
|
208
|
+
|
|
209
|
+
- **how-it-works.md**
|
|
210
|
+
- Links to: search-functionality.md, code-extraction.md, features.md, language-support-overview.md
|
|
211
|
+
- Referenced by: index.md, features.md, search-functionality.md, code-extraction.md
|
|
212
|
+
|
|
213
|
+
- **search-functionality.md**
|
|
214
|
+
- Links to: how-it-works.md, code-extraction.md, cli-mode.md
|
|
215
|
+
- Referenced by: how-it-works.md, features.md, cli-mode.md, language-support-overview.md
|
|
216
|
+
|
|
217
|
+
- **code-extraction.md**
|
|
218
|
+
- Links to: how-it-works.md, search-functionality.md, language-support-overview.md
|
|
219
|
+
- Referenced by: how-it-works.md, features.md, search-functionality.md, language-support-overview.md
|
|
220
|
+
|
|
221
|
+
- **cli-mode.md**
|
|
222
|
+
- Links to: search-functionality.md, code-extraction.md, installation.md
|
|
223
|
+
- Referenced by: quick-start.md, search-functionality.md, installation.md
|
|
224
|
+
|
|
225
|
+
### AI Integration Section
|
|
226
|
+
|
|
227
|
+
- **ai-integration.md**
|
|
228
|
+
- Links to: ai-chat.md, mcp-server.md, mcp-integration.md, nodejs-sdk.md, web-interface.md
|
|
229
|
+
- Referenced by: index.md, features.md
|
|
230
|
+
|
|
231
|
+
- **ai-chat.md**
|
|
232
|
+
- Links to: ai-integration.md, nodejs-sdk.md
|
|
233
|
+
- Referenced by: ai-integration.md, quick-start.md, index.md
|
|
234
|
+
|
|
235
|
+
- **mcp-server.md**
|
|
236
|
+
- Links to: ai-integration.md, mcp-integration.md
|
|
237
|
+
- Referenced by: ai-integration.md, mcp-integration.md
|
|
238
|
+
|
|
239
|
+
- **mcp-integration.md**
|
|
240
|
+
- Links to: ai-integration.md, mcp-server.md
|
|
241
|
+
- Referenced by: ai-integration.md, index.md
|
|
242
|
+
|
|
243
|
+
- **nodejs-sdk.md**
|
|
244
|
+
- Links to: ai-integration.md, ai-chat.md, web-interface.md
|
|
245
|
+
- Referenced by: ai-integration.md, index.md
|
|
246
|
+
|
|
247
|
+
- **web-interface.md**
|
|
248
|
+
- Links to: ai-integration.md, nodejs-sdk.md
|
|
249
|
+
- Referenced by: ai-integration.md, quick-start.md
|
|
250
|
+
|
|
251
|
+
### Language Support Section
|
|
252
|
+
|
|
253
|
+
- **language-support-overview.md**
|
|
254
|
+
- Links to: supported-languages.md, adding-languages.md, search-functionality.md, code-extraction.md
|
|
255
|
+
- Referenced by: index.md, features.md, how-it-works.md
|
|
256
|
+
|
|
257
|
+
- **supported-languages.md**
|
|
258
|
+
- Links to: language-support-overview.md, adding-languages.md
|
|
259
|
+
- Referenced by: language-support-overview.md
|
|
260
|
+
|
|
261
|
+
- **adding-languages.md**
|
|
262
|
+
- Links to: language-support-overview.md, supported-languages.md
|
|
263
|
+
- Referenced by: language-support-overview.md
|
|
264
|
+
|
|
265
|
+
## Maintenance Best Practices
|
|
266
|
+
|
|
267
|
+
As the documentation evolves:
|
|
268
|
+
|
|
269
|
+
1. **Update the cross-reference map** when adding new documentation files
|
|
270
|
+
2. **Review existing cross-references** when updating documentation to ensure they remain relevant
|
|
271
|
+
3. **Check for broken links** regularly
|
|
272
|
+
4. **Ensure all document links are correct** and point to existing files
|
|
273
|
+
5. **Update the navigation** when adding new documentation files
|
|
274
|
+
6. **Maintain consistent formatting and style** across all documentation pages
|
|
275
|
+
7. **Consider automating cross-reference validation** as part of the documentation build process
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# What is Probe?
|
|
2
|
+
|
|
3
|
+
Probe is an AI-friendly, fully local, semantic code search tool designed to power the next generation of AI coding assistants. It combines the speed of ripgrep with the understanding of tree-sitter to provide intelligent code search and extraction capabilities.
|
|
4
|
+
|
|
5
|
+
## Why Probe?
|
|
6
|
+
|
|
7
|
+
Most AI-assisted editors treat your code like plain text, splitting it into chunks that may or may not cover the full context—especially in large projects. **Probe** tackles this by combining ripgrep's speed with tree-sitter's AST parsing to return only the relevant blocks. No forced cloud indexing, no partial context.
|
|
8
|
+
|
|
9
|
+
This means:
|
|
10
|
+
|
|
11
|
+
- **Complete Context**: Get entire functions, classes, and code blocks—not just fragments.
|
|
12
|
+
- **Local Processing**: Probe runs entirely locally without requiring embedding generation. Your code stays on your machine during search operations.
|
|
13
|
+
- **AST Understanding**: Search based on code structure, not just text patterns.
|
|
14
|
+
- **Customizable Ranking**: Fine-tune how results are sorted using BM25, TF-IDF, or hybrid approaches.
|
|
15
|
+
|
|
16
|
+
## Core Capabilities
|
|
17
|
+
|
|
18
|
+
### Code Understanding
|
|
19
|
+
|
|
20
|
+
- **Complete Code Blocks**: Extracts entire functions, classes, or structs
|
|
21
|
+
- **AST Parsing**: Understands code structure using Abstract Syntax Trees
|
|
22
|
+
- **Semantic Search**: Finds code by concept and meaning
|
|
23
|
+
- **Language Awareness**: Recognizes language-specific patterns
|
|
24
|
+
- **Symbol Extraction**: Extracts code by function/class name
|
|
25
|
+
|
|
26
|
+
### Performance
|
|
27
|
+
|
|
28
|
+
- **Ripgrep Engine**: Fast initial text scanning
|
|
29
|
+
- **Optimized Parsing**: Efficient AST generation
|
|
30
|
+
- **Multi-Core Processing**: Parallel search operations
|
|
31
|
+
- **Session-Based Caching**: Avoids duplicate results
|
|
32
|
+
|
|
33
|
+
### Intelligent Ranking
|
|
34
|
+
|
|
35
|
+
- **TF-IDF**: Weighs terms based on frequency and importance
|
|
36
|
+
- **BM25**: Better relevance with document length normalization
|
|
37
|
+
- **Hybrid Ranking**: Multiple signals combined for superior ordering
|
|
38
|
+
- **Position Weighting**: Considers term position within code blocks
|
|
39
|
+
|
|
40
|
+
### Query Capabilities
|
|
41
|
+
|
|
42
|
+
- **Boolean Operators**: AND, OR, NOT for complex queries
|
|
43
|
+
- **Grouping**: Parentheses for logical term grouping
|
|
44
|
+
- **Term Modifiers**: +/- prefixes for required/excluded terms
|
|
45
|
+
- **Field Specifiers**: Target specific code elements
|
|
46
|
+
- **Smart Token Matching**: Stemming and compound word handling
|
|
47
|
+
|
|
48
|
+
### Privacy
|
|
49
|
+
|
|
50
|
+
- **Local Search Engine**: All search processing happens on your machine without requiring embedding generation
|
|
51
|
+
- **No Telemetry**: Zero data collection
|
|
52
|
+
- **Open Source**: Transparent codebase
|
|
53
|
+
- **AI Integration Note**: When using Probe with external AI services (Anthropic, OpenAI, etc.), code snippets are sent to those services as part of the AI interaction
|
|
54
|
+
|
|
55
|
+
### Language Support
|
|
56
|
+
|
|
57
|
+
- **Modern Languages**: Rust, Go, Python, JavaScript/TypeScript
|
|
58
|
+
- **Mainstream Languages**: Java, C++, C#, PHP
|
|
59
|
+
- **Documentation**: Markdown and other text formats
|
|
60
|
+
- **Language-Specific Parsing**: Tailored to each language's structure
|
|
61
|
+
|
|
62
|
+
## AI Integration
|
|
63
|
+
|
|
64
|
+
Probe offers powerful AI integration capabilities that allow you to leverage large language models to understand and navigate your codebase more effectively:
|
|
65
|
+
|
|
66
|
+
- **[AI Chat Mode](./ai-chat.md)**: Interactive CLI interface for asking questions about your codebase
|
|
67
|
+
- **[MCP Server Integration](./mcp-integration.md)**: Seamless integration with AI editors and assistants
|
|
68
|
+
- **[Node.js SDK](./nodejs-sdk.md)**: Programmatic access to Probe's code search capabilities
|
|
69
|
+
|
|
70
|
+
### AI-Specific Features
|
|
71
|
+
|
|
72
|
+
- **Token-Aware**: Limits results to fit AI context windows
|
|
73
|
+
- **Structured Output**: AI-friendly formats (JSON, XML)
|
|
74
|
+
- **Multi-Model Support**: Works with various LLM models
|
|
75
|
+
- **Streaming Responses**: Real-time AI interaction
|
|
76
|
+
- **OpenTelemetry Tracing**: Comprehensive monitoring and observability for AI interactions
|
|
77
|
+
|
|
78
|
+
## Usage Modes
|
|
79
|
+
|
|
80
|
+
Probe can be used in multiple ways, depending on your workflow:
|
|
81
|
+
|
|
82
|
+
- **[CLI Mode](./cli-mode.md)**: Direct command-line interface
|
|
83
|
+
- **[MCP Server](./mcp-server.md)**: Integration with AI tools
|
|
84
|
+
- **[AI Chat](./ai-chat.md)**: Interactive AI assistant
|
|
85
|
+
- **[Web Interface](./web-interface.md)**: Browser-based exploration
|
|
86
|
+
- **[Node.js SDK](./nodejs-sdk.md)**: Programmatic access
|
|
87
|
+
|
|
88
|
+
## Advanced Features
|
|
89
|
+
|
|
90
|
+
### OpenTelemetry Tracing and Observability
|
|
91
|
+
|
|
92
|
+
Probe provides comprehensive monitoring and observability features for AI interactions:
|
|
93
|
+
|
|
94
|
+
- **Performance Monitoring**: Track AI response times, token usage, and throughput
|
|
95
|
+
- **File-based Tracing**: Save traces to JSON Lines format for offline analysis
|
|
96
|
+
- **Remote Tracing**: Send traces to OpenTelemetry collectors (Jaeger, Zipkin, etc.)
|
|
97
|
+
- **GitHub Actions Integration**: Automatic trace collection and artifact uploads
|
|
98
|
+
- **Rich Telemetry Data**: Capture model details, session information, and error tracking
|
|
99
|
+
- **Cost Optimization**: Monitor and analyze token consumption patterns
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Enable file-based tracing
|
|
103
|
+
probe-chat --trace-file ./traces.jsonl
|
|
104
|
+
|
|
105
|
+
# Enable remote tracing to Jaeger
|
|
106
|
+
probe-chat --trace-remote http://localhost:4318/v1/traces
|
|
107
|
+
|
|
108
|
+
# Enable console tracing for debugging
|
|
109
|
+
probe-chat --trace-console
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Pattern Matching
|
|
113
|
+
|
|
114
|
+
- **AST-Grep Patterns**: Search for specific code patterns using structural queries
|
|
115
|
+
- **Tree-Sitter Queries**: Language-aware structural search
|
|
116
|
+
- **Placeholder Variables**: Match function names, parameters, and bodies with variables
|
|
117
|
+
- **Structure-Aware Matching**: Finds code based on its structure, not just text content
|
|
118
|
+
|
|
119
|
+
### NPM Integration
|
|
120
|
+
|
|
121
|
+
- **Global Installation**: Simple `npm install -g @probelabs/probe@latest` for system-wide access
|
|
122
|
+
- **NPX Execution**: Run without installation via `npx -y @probelabs/probe-chat@latest`
|
|
123
|
+
- **Node.js API**: Programmatic access via JavaScript
|
|
124
|
+
- **Vercel AI SDK**: Streaming AI responses in web applications
|
|
125
|
+
|
|
126
|
+
## Getting Started
|
|
127
|
+
|
|
128
|
+
Ready to try Probe? Check out these resources:
|
|
129
|
+
|
|
130
|
+
- [Installation](./installation.md): Get Probe set up on your system
|
|
131
|
+
- [Quick Start](./quick-start.md): Learn the basics in minutes
|
|
132
|
+
- [How It Works](./how-it-works.md): Understand the technology behind Probe
|
|
133
|
+
|
|
134
|
+
## Use Cases
|
|
135
|
+
|
|
136
|
+
Probe is designed for a variety of workflows:
|
|
137
|
+
|
|
138
|
+
- **AI-Assisted Coding**: Provide your AI assistant with accurate code context
|
|
139
|
+
- **Code Exploration**: Quickly find and understand code in large repositories
|
|
140
|
+
- **Documentation Generation**: Extract code examples for documentation
|
|
141
|
+
- **Code Review**: Find patterns and anti-patterns across your codebase
|
|
142
|
+
- **Refactoring**: Identify all instances of a pattern that needs to be changed
|
|
143
|
+
|
|
144
|
+
For more detailed information on specific features, see:
|
|
145
|
+
- [How Probe Works](how-it-works.md)
|
|
146
|
+
- [Search Functionality](search-functionality.md)
|
|
147
|
+
- [Code Extraction](code-extraction.md)
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# How Probe Works
|
|
2
|
+
|
|
3
|
+
Probe combines efficient text search with code intelligence to find relevant code in your codebase.
|
|
4
|
+
|
|
5
|
+
## System Architecture
|
|
6
|
+
|
|
7
|
+
Probe operates in six stages:
|
|
8
|
+
|
|
9
|
+
1. **Scan**: File identification using ripgrep
|
|
10
|
+
2. **Parse**: Code structure analysis via Abstract Syntax Trees
|
|
11
|
+
3. **Process**: Query enhancement with NLP techniques
|
|
12
|
+
4. **Rank**: Result prioritization
|
|
13
|
+
5. **Extract**: Code block isolation
|
|
14
|
+
6. **Format**: Output generation
|
|
15
|
+
|
|
16
|
+
## Search Workflow
|
|
17
|
+
|
|
18
|
+
Here's how a search for "error handling" works:
|
|
19
|
+
|
|
20
|
+
1. **Query Processing**:
|
|
21
|
+
- Tokenize → [error, handling]
|
|
22
|
+
- Stem → [error, handl]
|
|
23
|
+
- Generate patterns → `\berror\b`, `\bhandl\w*\b`
|
|
24
|
+
- Parse query syntax → AND(error, handling)
|
|
25
|
+
|
|
26
|
+
2. **File Scanning**:
|
|
27
|
+
- Identify potential matches using ripgrep
|
|
28
|
+
- Filter based on .gitignore and custom patterns
|
|
29
|
+
- Exclude test files (unless specified otherwise)
|
|
30
|
+
|
|
31
|
+
3. **Code Analysis**:
|
|
32
|
+
- Parse matching files into ASTs
|
|
33
|
+
- Identify complete code blocks containing matches
|
|
34
|
+
- Extract metadata (function names, parameters, etc.)
|
|
35
|
+
|
|
36
|
+
4. **Result Ranking**:
|
|
37
|
+
- Calculate relevance scores
|
|
38
|
+
- Apply position weights for terms in identifiers
|
|
39
|
+
- Sort by combined relevance metrics
|
|
40
|
+
- Filter based on session cache (if enabled)
|
|
41
|
+
|
|
42
|
+
5. **Block Extraction**:
|
|
43
|
+
- Extract complete functions/methods with matches
|
|
44
|
+
- Merge related code blocks when appropriate
|
|
45
|
+
- Apply context lines if requested
|
|
46
|
+
|
|
47
|
+
6. **Result Delivery**:
|
|
48
|
+
- Format with syntax highlighting
|
|
49
|
+
- Apply token/size constraints
|
|
50
|
+
- Generate structured output
|
|
51
|
+
|
|
52
|
+
## Rapid Scanning
|
|
53
|
+
|
|
54
|
+
The foundation of Probe's speed:
|
|
55
|
+
|
|
56
|
+
- **Ripgrep Engine**: Fast line scanning at core
|
|
57
|
+
- **Parallel Processing**: Utilizes all CPU cores
|
|
58
|
+
- **Smart Filtering**: Respects .gitignore patterns
|
|
59
|
+
- **Stream Processing**: Minimal memory footprint
|
|
60
|
+
- **Incremental Matching**: Stops scanning when limits are reached
|
|
61
|
+
|
|
62
|
+
## Code Structure Parsing
|
|
63
|
+
|
|
64
|
+
Where Probe becomes more than just text search:
|
|
65
|
+
|
|
66
|
+
- **Tree-sitter**: Industry-standard parsing technology
|
|
67
|
+
- **AST Generation**: Builds complete code structure map
|
|
68
|
+
- **Language-specific**: Understands each language's unique patterns
|
|
69
|
+
- **Robust Handling**: Works with partial or imperfect code
|
|
70
|
+
- **Symbol Resolution**: Maps identifiers to declarations
|
|
71
|
+
|
|
72
|
+
## Session-based Caching
|
|
73
|
+
|
|
74
|
+
Avoiding duplicate results across multiple searches:
|
|
75
|
+
|
|
76
|
+
- **Unique Identifiers**: Cache keys based on file path and line numbers
|
|
77
|
+
- **Result Tracking**: Remembers which blocks have been shown
|
|
78
|
+
- **Session Management**: Generates and maintains session IDs
|
|
79
|
+
- **Cache Invalidation**: Clears cache when appropriate
|
|
80
|
+
|
|
81
|
+
## Output Strategies
|
|
82
|
+
|
|
83
|
+
Delivering results in the most useful format:
|
|
84
|
+
|
|
85
|
+
- **Markdown/Syntax**: Rich, readable code presentation
|
|
86
|
+
- **JSON**: Structured for programmatic use
|
|
87
|
+
- **Token Limiting**: Fits within AI context windows
|
|
88
|
+
- **Priority Handling**: Most relevant results survive limits
|
|
89
|
+
- **Streaming**: Real-time output for interactive use
|
|
90
|
+
|
|
91
|
+
## Integration Architecture
|
|
92
|
+
|
|
93
|
+
How Probe connects with other tools:
|
|
94
|
+
|
|
95
|
+
### MCP Server
|
|
96
|
+
|
|
97
|
+
- **STDIO Transport**: Communicates via standard input/output
|
|
98
|
+
- **JSON Protocol**: Structured message format
|
|
99
|
+
- **Tool Definitions**: Exposes search, query, and extract capabilities
|
|
100
|
+
|
|
101
|
+
### Node.js SDK
|
|
102
|
+
|
|
103
|
+
- **JS Bindings**: JavaScript interface to core functionality
|
|
104
|
+
- **Vercel AI SDK**: Integration for streaming AI responses
|
|
105
|
+
- **Promise-based**: Async/await compatible API
|
|
106
|
+
- **Type Definitions**: TypeScript support
|
|
107
|
+
|
|
108
|
+
### Web Interface
|
|
109
|
+
|
|
110
|
+
- **Express Backend**: Node.js server for API endpoints
|
|
111
|
+
- **Vanilla JS Frontend**: No framework dependencies
|
|
112
|
+
- **Streaming Responses**: Real-time AI output
|
|
113
|
+
- **Markdown Rendering**: Rich text and code formatting
|
|
114
|
+
|
|
115
|
+
For detailed information on specific features, see:
|
|
116
|
+
- [Search Functionality](search-functionality.md)
|
|
117
|
+
- [Code Extraction](code-extraction.md)
|
|
118
|
+
- [Feature Overview](features.md)
|