@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,744 @@
|
|
|
1
|
+
// TypeScript definitions for ProbeAgent SDK
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Configuration options for creating a ProbeAgent instance
|
|
6
|
+
*/
|
|
7
|
+
export interface ProbeAgentOptions {
|
|
8
|
+
/** Optional session ID for the agent */
|
|
9
|
+
sessionId?: string;
|
|
10
|
+
/** Custom system prompt to replace the default system message */
|
|
11
|
+
customPrompt?: string;
|
|
12
|
+
/** Alias for customPrompt. More intuitive naming for system prompts. */
|
|
13
|
+
systemPrompt?: string;
|
|
14
|
+
/** Predefined prompt type (persona) */
|
|
15
|
+
promptType?: 'code-explorer' | 'engineer' | 'code-review' | 'support' | 'architect';
|
|
16
|
+
/** Allow the use of the 'implement' tool for code editing */
|
|
17
|
+
allowEdit?: boolean;
|
|
18
|
+
/** Search directory path */
|
|
19
|
+
path?: string;
|
|
20
|
+
/** Working directory for resolving relative paths (independent of allowedFolders security) */
|
|
21
|
+
cwd?: string;
|
|
22
|
+
/** Force specific AI provider */
|
|
23
|
+
provider?: 'anthropic' | 'openai' | 'google';
|
|
24
|
+
/** Override model name */
|
|
25
|
+
model?: string;
|
|
26
|
+
/** Enable debug mode */
|
|
27
|
+
debug?: boolean;
|
|
28
|
+
/** Optional telemetry tracer instance */
|
|
29
|
+
tracer?: any;
|
|
30
|
+
/** Enable MCP (Model Context Protocol) tool integration */
|
|
31
|
+
enableMcp?: boolean;
|
|
32
|
+
/** Path to MCP configuration file */
|
|
33
|
+
mcpConfigPath?: string;
|
|
34
|
+
/** MCP configuration object (overrides mcpConfigPath) */
|
|
35
|
+
mcpConfig?: any;
|
|
36
|
+
/** @deprecated Use mcpConfig instead */
|
|
37
|
+
mcpServers?: any[];
|
|
38
|
+
/** Pluggable storage adapter for conversation history */
|
|
39
|
+
storageAdapter?: StorageAdapter;
|
|
40
|
+
/** Hook callbacks for event-driven integration */
|
|
41
|
+
hooks?: Record<string, (data: any) => void | Promise<void>>;
|
|
42
|
+
/** List of allowed tool names. Use ['*'] for all tools (default), [] or null for no tools (raw AI mode), or specific tool names like ['search', 'query', 'extract']. Supports exclusion with '!' prefix (e.g., ['*', '!bash']). */
|
|
43
|
+
allowedTools?: string[] | null;
|
|
44
|
+
/** Convenience flag to disable all tools (equivalent to allowedTools: []). Takes precedence over allowedTools if set. */
|
|
45
|
+
disableTools?: boolean;
|
|
46
|
+
/** Disable automatic mermaid diagram validation and fixing */
|
|
47
|
+
disableMermaidValidation?: boolean;
|
|
48
|
+
/** Disable automatic JSON validation and fixing (prevents infinite recursion in JsonFixingAgent) */
|
|
49
|
+
disableJsonValidation?: boolean;
|
|
50
|
+
/** Custom prompt to run after attempt_completion for validation/review (runs before mermaid/JSON validation) */
|
|
51
|
+
completionPrompt?: string;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Tool execution event data
|
|
56
|
+
*/
|
|
57
|
+
export interface ToolCallEvent {
|
|
58
|
+
/** Unique tool call identifier */
|
|
59
|
+
id: string;
|
|
60
|
+
/** Name of the tool being called */
|
|
61
|
+
name: string;
|
|
62
|
+
/** Current execution status */
|
|
63
|
+
status: 'pending' | 'in_progress' | 'completed' | 'failed';
|
|
64
|
+
/** Tool parameters */
|
|
65
|
+
params?: any;
|
|
66
|
+
/** Tool execution result (when completed) */
|
|
67
|
+
result?: any;
|
|
68
|
+
/** Error information (when failed) */
|
|
69
|
+
error?: string;
|
|
70
|
+
/** Session ID */
|
|
71
|
+
sessionId?: string;
|
|
72
|
+
/** Execution start time */
|
|
73
|
+
startTime?: number;
|
|
74
|
+
/** Execution end time */
|
|
75
|
+
endTime?: number;
|
|
76
|
+
/** Execution duration in milliseconds */
|
|
77
|
+
duration?: number;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Token usage statistics
|
|
82
|
+
*/
|
|
83
|
+
export interface TokenUsage {
|
|
84
|
+
/** Size of the context window */
|
|
85
|
+
contextWindow?: number;
|
|
86
|
+
/** Request tokens used */
|
|
87
|
+
request?: number;
|
|
88
|
+
/** Response tokens generated */
|
|
89
|
+
response?: number;
|
|
90
|
+
/** Total tokens (request + response) */
|
|
91
|
+
total?: number;
|
|
92
|
+
/** Cache read tokens */
|
|
93
|
+
cacheRead?: number;
|
|
94
|
+
/** Cache write tokens */
|
|
95
|
+
cacheWrite?: number;
|
|
96
|
+
/** Total request tokens across all calls */
|
|
97
|
+
totalRequest?: number;
|
|
98
|
+
/** Total response tokens across all calls */
|
|
99
|
+
totalResponse?: number;
|
|
100
|
+
/** Total tokens across all calls */
|
|
101
|
+
totalTokens?: number;
|
|
102
|
+
/** Total cache read tokens across all calls */
|
|
103
|
+
totalCacheRead?: number;
|
|
104
|
+
/** Total cache write tokens across all calls */
|
|
105
|
+
totalCacheWrite?: number;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Chat message structure
|
|
110
|
+
*/
|
|
111
|
+
export interface ChatMessage {
|
|
112
|
+
/** Message role */
|
|
113
|
+
role: 'user' | 'assistant' | 'system';
|
|
114
|
+
/** Message content */
|
|
115
|
+
content: string;
|
|
116
|
+
/** Optional message metadata */
|
|
117
|
+
metadata?: any;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Storage adapter base class for pluggable history storage
|
|
122
|
+
*/
|
|
123
|
+
export declare class StorageAdapter {
|
|
124
|
+
/**
|
|
125
|
+
* Load conversation history for a session
|
|
126
|
+
*/
|
|
127
|
+
loadHistory(sessionId: string): Promise<ChatMessage[]>;
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Save a message to storage
|
|
131
|
+
*/
|
|
132
|
+
saveMessage(sessionId: string, message: ChatMessage): Promise<void>;
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Clear history for a session
|
|
136
|
+
*/
|
|
137
|
+
clearHistory(sessionId: string): Promise<void>;
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Optional: Get session metadata
|
|
141
|
+
*/
|
|
142
|
+
getSessionMetadata(sessionId: string): Promise<any | null>;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Optional: Update session activity timestamp
|
|
146
|
+
*/
|
|
147
|
+
updateSessionActivity(sessionId: string): Promise<void>;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Default in-memory storage adapter
|
|
152
|
+
*/
|
|
153
|
+
export declare class InMemoryStorageAdapter extends StorageAdapter {
|
|
154
|
+
constructor();
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Hook types for ProbeAgent event system
|
|
159
|
+
*/
|
|
160
|
+
export declare const HOOK_TYPES: {
|
|
161
|
+
readonly AGENT_INITIALIZED: 'agent:initialized';
|
|
162
|
+
readonly AGENT_CLEANUP: 'agent:cleanup';
|
|
163
|
+
readonly MESSAGE_USER: 'message:user';
|
|
164
|
+
readonly MESSAGE_ASSISTANT: 'message:assistant';
|
|
165
|
+
readonly MESSAGE_SYSTEM: 'message:system';
|
|
166
|
+
readonly TOOL_START: 'tool:start';
|
|
167
|
+
readonly TOOL_END: 'tool:end';
|
|
168
|
+
readonly TOOL_ERROR: 'tool:error';
|
|
169
|
+
readonly AI_STREAM_START: 'ai:stream:start';
|
|
170
|
+
readonly AI_STREAM_DELTA: 'ai:stream:delta';
|
|
171
|
+
readonly AI_STREAM_END: 'ai:stream:end';
|
|
172
|
+
readonly STORAGE_LOAD: 'storage:load';
|
|
173
|
+
readonly STORAGE_SAVE: 'storage:save';
|
|
174
|
+
readonly STORAGE_CLEAR: 'storage:clear';
|
|
175
|
+
readonly ITERATION_START: 'iteration:start';
|
|
176
|
+
readonly ITERATION_END: 'iteration:end';
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Hook manager for event-driven integration
|
|
181
|
+
*/
|
|
182
|
+
export declare class HookManager {
|
|
183
|
+
constructor();
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Register a hook callback
|
|
187
|
+
*/
|
|
188
|
+
on(hookName: string, callback: (data: any) => void | Promise<void>): () => void;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Register a one-time hook callback
|
|
192
|
+
*/
|
|
193
|
+
once(hookName: string, callback: (data: any) => void | Promise<void>): void;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Unregister a hook callback
|
|
197
|
+
*/
|
|
198
|
+
off(hookName: string, callback: (data: any) => void | Promise<void>): void;
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* Emit a hook event
|
|
202
|
+
*/
|
|
203
|
+
emit(hookName: string, data: any): Promise<void>;
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Clear all hooks or hooks for a specific event
|
|
207
|
+
*/
|
|
208
|
+
clear(hookName?: string): void;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Answer options
|
|
213
|
+
*/
|
|
214
|
+
export interface AnswerOptions {
|
|
215
|
+
/** Response schema for structured output */
|
|
216
|
+
schema?: string;
|
|
217
|
+
/** Additional context or constraints */
|
|
218
|
+
context?: string;
|
|
219
|
+
/** Maximum number of tool iterations */
|
|
220
|
+
maxIterations?: number;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Clone options for creating a new agent with shared history
|
|
225
|
+
*/
|
|
226
|
+
export interface CloneOptions {
|
|
227
|
+
/** Session ID for the cloned agent (defaults to new UUID) */
|
|
228
|
+
sessionId?: string;
|
|
229
|
+
/** Remove internal messages (schema reminders, mermaid fixes, etc.) */
|
|
230
|
+
stripInternalMessages?: boolean;
|
|
231
|
+
/** Keep the system message in cloned history */
|
|
232
|
+
keepSystemMessage?: boolean;
|
|
233
|
+
/** Deep copy messages to prevent mutations */
|
|
234
|
+
deepCopy?: boolean;
|
|
235
|
+
/** Override any ProbeAgent constructor options */
|
|
236
|
+
overrides?: Partial<ProbeAgentOptions>;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* ProbeAgent class - AI-powered code exploration and interaction
|
|
241
|
+
*/
|
|
242
|
+
export declare class ProbeAgent {
|
|
243
|
+
/** Unique session identifier */
|
|
244
|
+
readonly sessionId: string;
|
|
245
|
+
|
|
246
|
+
/** Current chat history */
|
|
247
|
+
history: ChatMessage[];
|
|
248
|
+
|
|
249
|
+
/** Event emitter for tool execution updates */
|
|
250
|
+
readonly events: EventEmitter & ProbeAgentEvents;
|
|
251
|
+
|
|
252
|
+
/** Whether the agent allows code editing */
|
|
253
|
+
readonly allowEdit: boolean;
|
|
254
|
+
|
|
255
|
+
/** Allowed search folders */
|
|
256
|
+
readonly allowedFolders: string[];
|
|
257
|
+
|
|
258
|
+
/** Working directory for resolving relative paths */
|
|
259
|
+
readonly cwd: string | null;
|
|
260
|
+
|
|
261
|
+
/** Debug mode status */
|
|
262
|
+
readonly debug: boolean;
|
|
263
|
+
|
|
264
|
+
/** Whether operations have been cancelled */
|
|
265
|
+
cancelled: boolean;
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Create a new ProbeAgent instance
|
|
269
|
+
*/
|
|
270
|
+
constructor(options?: ProbeAgentOptions);
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Answer a question with optional image attachments
|
|
274
|
+
* @param message - The question or prompt
|
|
275
|
+
* @param images - Optional array of image data or paths
|
|
276
|
+
* @param options - Additional options for the response
|
|
277
|
+
* @returns Promise resolving to the AI response
|
|
278
|
+
*/
|
|
279
|
+
answer(message: string, images?: any[], options?: AnswerOptions): Promise<string>;
|
|
280
|
+
|
|
281
|
+
/**
|
|
282
|
+
* Get token usage statistics
|
|
283
|
+
* @returns Current token usage information
|
|
284
|
+
*/
|
|
285
|
+
getTokenUsage(): TokenUsage;
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Cancel any ongoing operations
|
|
289
|
+
*/
|
|
290
|
+
cancel(): void;
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Clear the conversation history
|
|
294
|
+
*/
|
|
295
|
+
clearHistory(): void;
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Add a message to the conversation history
|
|
299
|
+
* @param message - Message to add
|
|
300
|
+
*/
|
|
301
|
+
addMessage(message: ChatMessage): void;
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Set the conversation history
|
|
305
|
+
* @param messages - Array of chat messages
|
|
306
|
+
*/
|
|
307
|
+
setHistory(messages: ChatMessage[]): void;
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* Clone this agent's session to create a new agent with shared conversation history
|
|
311
|
+
* @param options - Clone options
|
|
312
|
+
* @returns New agent instance with cloned history
|
|
313
|
+
*/
|
|
314
|
+
clone(options?: CloneOptions): ProbeAgent;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Search tool configuration options
|
|
319
|
+
*/
|
|
320
|
+
export interface SearchOptions {
|
|
321
|
+
/** Session identifier */
|
|
322
|
+
sessionId?: string;
|
|
323
|
+
/** Debug mode */
|
|
324
|
+
debug?: boolean;
|
|
325
|
+
/** Default search path */
|
|
326
|
+
defaultPath?: string;
|
|
327
|
+
/** Allowed search folders */
|
|
328
|
+
allowedFolders?: string[];
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
/**
|
|
332
|
+
* Search parameters
|
|
333
|
+
*/
|
|
334
|
+
export interface SearchParams {
|
|
335
|
+
/** Search query */
|
|
336
|
+
query: string;
|
|
337
|
+
/** Path to search in */
|
|
338
|
+
path?: string;
|
|
339
|
+
/** Maximum number of results */
|
|
340
|
+
maxResults?: number;
|
|
341
|
+
/** Search timeout in seconds */
|
|
342
|
+
timeout?: number;
|
|
343
|
+
/** Allow test files in results */
|
|
344
|
+
allowTests?: boolean;
|
|
345
|
+
/** Session ID */
|
|
346
|
+
sessionId?: string;
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Query tool parameters for structural code search
|
|
351
|
+
*/
|
|
352
|
+
export interface QueryParams {
|
|
353
|
+
/** AST-grep pattern */
|
|
354
|
+
pattern: string;
|
|
355
|
+
/** Path to search in */
|
|
356
|
+
path?: string;
|
|
357
|
+
/** Programming language */
|
|
358
|
+
language?: string;
|
|
359
|
+
/** Maximum number of results */
|
|
360
|
+
maxResults?: number;
|
|
361
|
+
/** Session ID */
|
|
362
|
+
sessionId?: string;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
/**
|
|
366
|
+
* Extract tool parameters
|
|
367
|
+
*/
|
|
368
|
+
export interface ExtractParams {
|
|
369
|
+
/** Files and line numbers or symbols to extract */
|
|
370
|
+
files?: string[];
|
|
371
|
+
/** Path to a file containing unstructured text to extract file paths from */
|
|
372
|
+
inputFile?: string;
|
|
373
|
+
/** Content to pipe to stdin (e.g., git diff output). Alternative to inputFile or files. */
|
|
374
|
+
content?: string | Buffer;
|
|
375
|
+
/** Path to search in */
|
|
376
|
+
path?: string;
|
|
377
|
+
/** Number of context lines */
|
|
378
|
+
contextLines?: number;
|
|
379
|
+
/** Output format */
|
|
380
|
+
format?: 'markdown' | 'plain' | 'json' | 'xml' | 'color' | 'outline-xml' | 'outline-diff';
|
|
381
|
+
/** Include test files */
|
|
382
|
+
allowTests?: boolean;
|
|
383
|
+
/** Return results as parsed JSON instead of string */
|
|
384
|
+
json?: boolean;
|
|
385
|
+
/** Session ID */
|
|
386
|
+
sessionId?: string;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
/**
|
|
390
|
+
* Tool execution result
|
|
391
|
+
*/
|
|
392
|
+
export interface ToolResult {
|
|
393
|
+
/** Whether the operation was successful */
|
|
394
|
+
success: boolean;
|
|
395
|
+
/** Result data */
|
|
396
|
+
result?: any;
|
|
397
|
+
/** Error message if failed */
|
|
398
|
+
error?: string;
|
|
399
|
+
/** Execution metadata */
|
|
400
|
+
metadata?: any;
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* Search tool function type
|
|
405
|
+
*/
|
|
406
|
+
export type SearchTool = (options?: SearchOptions) => {
|
|
407
|
+
execute(params: SearchParams): Promise<ToolResult>;
|
|
408
|
+
};
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* Query tool function type
|
|
412
|
+
*/
|
|
413
|
+
export type QueryTool = (options?: SearchOptions) => {
|
|
414
|
+
execute(params: QueryParams): Promise<ToolResult>;
|
|
415
|
+
};
|
|
416
|
+
|
|
417
|
+
/**
|
|
418
|
+
* Extract tool function type
|
|
419
|
+
*/
|
|
420
|
+
export type ExtractTool = (options?: SearchOptions) => {
|
|
421
|
+
execute(params: ExtractParams): Promise<ToolResult>;
|
|
422
|
+
};
|
|
423
|
+
|
|
424
|
+
/**
|
|
425
|
+
* Main probe search function
|
|
426
|
+
*/
|
|
427
|
+
export declare function search(
|
|
428
|
+
query: string,
|
|
429
|
+
path?: string,
|
|
430
|
+
options?: {
|
|
431
|
+
maxResults?: number;
|
|
432
|
+
timeout?: number;
|
|
433
|
+
allowTests?: boolean;
|
|
434
|
+
}
|
|
435
|
+
): Promise<any>;
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Structural code query using ast-grep
|
|
439
|
+
*/
|
|
440
|
+
export declare function query(
|
|
441
|
+
pattern: string,
|
|
442
|
+
path?: string,
|
|
443
|
+
options?: {
|
|
444
|
+
language?: string;
|
|
445
|
+
maxResults?: number;
|
|
446
|
+
}
|
|
447
|
+
): Promise<any>;
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* Standard grep-style search that works across multiple operating systems
|
|
451
|
+
*
|
|
452
|
+
* Use this for searching non-code files (logs, config files, text files, etc.)
|
|
453
|
+
* that are not supported by probe's semantic search. For code files, prefer
|
|
454
|
+
* using the search() function which provides AST-aware semantic search.
|
|
455
|
+
*
|
|
456
|
+
* @param options - Grep options
|
|
457
|
+
* @param options.pattern - Regular expression pattern to search for
|
|
458
|
+
* @param options.paths - Path or array of paths to search in
|
|
459
|
+
* @param options.ignoreCase - Case-insensitive search (-i flag)
|
|
460
|
+
* @param options.lineNumbers - Show line numbers in output (-n flag)
|
|
461
|
+
* @param options.count - Only show count of matches per file (-c flag)
|
|
462
|
+
* @param options.filesWithMatches - Only show filenames that contain matches (-l flag)
|
|
463
|
+
* @param options.filesWithoutMatches - Only show filenames that do not contain matches (-L flag)
|
|
464
|
+
* @param options.invertMatch - Invert match: show lines that do NOT match (-v flag)
|
|
465
|
+
* @param options.beforeContext - Number of lines of context before match (-B flag)
|
|
466
|
+
* @param options.afterContext - Number of lines of context after match (-A flag)
|
|
467
|
+
* @param options.context - Number of lines of context before and after match (-C flag)
|
|
468
|
+
* @param options.noGitignore - Do not respect .gitignore files (--no-gitignore flag)
|
|
469
|
+
* @param options.color - Colorize output: 'always', 'never', 'auto' (--color flag)
|
|
470
|
+
* @param options.maxCount - Stop reading a file after N matching lines (-m flag)
|
|
471
|
+
* @returns Promise resolving to grep results as string
|
|
472
|
+
*/
|
|
473
|
+
export declare function grep(options: {
|
|
474
|
+
pattern: string;
|
|
475
|
+
paths: string | string[];
|
|
476
|
+
ignoreCase?: boolean;
|
|
477
|
+
lineNumbers?: boolean;
|
|
478
|
+
count?: boolean;
|
|
479
|
+
filesWithMatches?: boolean;
|
|
480
|
+
filesWithoutMatches?: boolean;
|
|
481
|
+
invertMatch?: boolean;
|
|
482
|
+
beforeContext?: number;
|
|
483
|
+
afterContext?: number;
|
|
484
|
+
context?: number;
|
|
485
|
+
noGitignore?: boolean;
|
|
486
|
+
color?: 'always' | 'never' | 'auto';
|
|
487
|
+
maxCount?: number;
|
|
488
|
+
binaryOptions?: {
|
|
489
|
+
forceDownload?: boolean;
|
|
490
|
+
version?: string;
|
|
491
|
+
};
|
|
492
|
+
}): Promise<string>;
|
|
493
|
+
|
|
494
|
+
/**
|
|
495
|
+
* Extract code blocks from files
|
|
496
|
+
*/
|
|
497
|
+
export declare function extract(
|
|
498
|
+
files: string[],
|
|
499
|
+
path?: string,
|
|
500
|
+
options?: {
|
|
501
|
+
contextLines?: number;
|
|
502
|
+
format?: 'plain' | 'markdown' | 'json' | 'xml' | 'color' | 'outline-xml' | 'outline-diff';
|
|
503
|
+
}
|
|
504
|
+
): Promise<any>;
|
|
505
|
+
|
|
506
|
+
/**
|
|
507
|
+
* Create search tool instance
|
|
508
|
+
*/
|
|
509
|
+
export declare function searchTool(options?: SearchOptions): ReturnType<SearchTool>;
|
|
510
|
+
|
|
511
|
+
/**
|
|
512
|
+
* Create query tool instance
|
|
513
|
+
*/
|
|
514
|
+
export declare function queryTool(options?: SearchOptions): ReturnType<QueryTool>;
|
|
515
|
+
|
|
516
|
+
/**
|
|
517
|
+
* Create extract tool instance
|
|
518
|
+
*/
|
|
519
|
+
export declare function extractTool(options?: SearchOptions): ReturnType<ExtractTool>;
|
|
520
|
+
|
|
521
|
+
/**
|
|
522
|
+
* Get the path to the probe binary
|
|
523
|
+
*/
|
|
524
|
+
export declare function getBinaryPath(): string;
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* Set the path to the probe binary
|
|
528
|
+
*/
|
|
529
|
+
export declare function setBinaryPath(path: string): void;
|
|
530
|
+
|
|
531
|
+
/**
|
|
532
|
+
* List files by directory level
|
|
533
|
+
*/
|
|
534
|
+
export declare function listFilesByLevel(
|
|
535
|
+
path?: string,
|
|
536
|
+
options?: {
|
|
537
|
+
maxLevel?: number;
|
|
538
|
+
includeHidden?: boolean;
|
|
539
|
+
}
|
|
540
|
+
): Promise<any>;
|
|
541
|
+
|
|
542
|
+
/**
|
|
543
|
+
* Default system message for AI interactions
|
|
544
|
+
*/
|
|
545
|
+
export declare const DEFAULT_SYSTEM_MESSAGE: string;
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* Schema definitions
|
|
549
|
+
*/
|
|
550
|
+
export declare const searchSchema: any;
|
|
551
|
+
export declare const querySchema: any;
|
|
552
|
+
export declare const extractSchema: any;
|
|
553
|
+
export declare const attemptCompletionSchema: any;
|
|
554
|
+
|
|
555
|
+
/**
|
|
556
|
+
* Tool definitions for AI frameworks
|
|
557
|
+
*/
|
|
558
|
+
export declare const searchToolDefinition: any;
|
|
559
|
+
export declare const queryToolDefinition: any;
|
|
560
|
+
export declare const extractToolDefinition: any;
|
|
561
|
+
export declare const attemptCompletionToolDefinition: any;
|
|
562
|
+
|
|
563
|
+
/**
|
|
564
|
+
* Parse XML tool calls
|
|
565
|
+
*/
|
|
566
|
+
export declare function parseXmlToolCall(xmlString: string): any;
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Legacy tools object (deprecated - use individual tool functions instead)
|
|
570
|
+
* @deprecated Use searchTool, queryTool, extractTool functions instead
|
|
571
|
+
*/
|
|
572
|
+
export declare const tools: {
|
|
573
|
+
search: ReturnType<SearchTool>;
|
|
574
|
+
query: ReturnType<QueryTool>;
|
|
575
|
+
extract: ReturnType<ExtractTool>;
|
|
576
|
+
};
|
|
577
|
+
|
|
578
|
+
/**
|
|
579
|
+
* ProbeAgent Events interface
|
|
580
|
+
*/
|
|
581
|
+
export interface ProbeAgentEvents {
|
|
582
|
+
on(event: 'toolCall', listener: (event: ToolCallEvent) => void): this;
|
|
583
|
+
emit(event: 'toolCall', event: ToolCallEvent): boolean;
|
|
584
|
+
removeListener(event: 'toolCall', listener: (event: ToolCallEvent) => void): this;
|
|
585
|
+
removeAllListeners(event?: 'toolCall'): this;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Simple telemetry configuration (no OpenTelemetry dependencies)
|
|
590
|
+
*/
|
|
591
|
+
export interface SimpleTelemetryOptions {
|
|
592
|
+
/** Enable console logging */
|
|
593
|
+
enableConsole?: boolean;
|
|
594
|
+
/** Enable file logging */
|
|
595
|
+
enableFile?: boolean;
|
|
596
|
+
/** File path for logs */
|
|
597
|
+
filePath?: string;
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* Simple telemetry class for basic tracing without OpenTelemetry
|
|
602
|
+
*/
|
|
603
|
+
export declare class SimpleTelemetry {
|
|
604
|
+
constructor(options?: SimpleTelemetryOptions);
|
|
605
|
+
log(message: string, data?: any): void;
|
|
606
|
+
flush(): Promise<void>;
|
|
607
|
+
shutdown(): Promise<void>;
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
/**
|
|
611
|
+
* Simple application tracer for basic operations
|
|
612
|
+
*/
|
|
613
|
+
export declare class SimpleAppTracer {
|
|
614
|
+
constructor(telemetry?: SimpleTelemetry, sessionId?: string);
|
|
615
|
+
isEnabled(): boolean;
|
|
616
|
+
log(operation: string, data?: any): void;
|
|
617
|
+
flush(): Promise<void>;
|
|
618
|
+
shutdown(): Promise<void>;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
/**
|
|
622
|
+
* Initialize simple telemetry from options
|
|
623
|
+
*/
|
|
624
|
+
export declare function initializeSimpleTelemetryFromOptions(options: any): SimpleTelemetry;
|
|
625
|
+
|
|
626
|
+
/**
|
|
627
|
+
* Full OpenTelemetry configuration options
|
|
628
|
+
*/
|
|
629
|
+
export interface TelemetryConfigOptions {
|
|
630
|
+
/** Service name for tracing */
|
|
631
|
+
serviceName?: string;
|
|
632
|
+
/** Service version */
|
|
633
|
+
serviceVersion?: string;
|
|
634
|
+
/** Enable file export */
|
|
635
|
+
enableFile?: boolean;
|
|
636
|
+
/** Enable remote OTLP export */
|
|
637
|
+
enableRemote?: boolean;
|
|
638
|
+
/** Enable console export */
|
|
639
|
+
enableConsole?: boolean;
|
|
640
|
+
/** File path for trace export */
|
|
641
|
+
filePath?: string;
|
|
642
|
+
/** Remote OTLP endpoint URL */
|
|
643
|
+
remoteEndpoint?: string;
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
/**
|
|
647
|
+
* Full OpenTelemetry configuration class
|
|
648
|
+
*/
|
|
649
|
+
export declare class TelemetryConfig {
|
|
650
|
+
constructor(options?: TelemetryConfigOptions);
|
|
651
|
+
|
|
652
|
+
/** Initialize the OpenTelemetry SDK */
|
|
653
|
+
initialize(): void;
|
|
654
|
+
|
|
655
|
+
/** Get the tracer instance */
|
|
656
|
+
getTracer(): any;
|
|
657
|
+
|
|
658
|
+
/** Create a span with attributes */
|
|
659
|
+
createSpan(name: string, attributes?: Record<string, any>): any;
|
|
660
|
+
|
|
661
|
+
/** Wrap a function with automatic span creation */
|
|
662
|
+
wrapFunction(name: string, fn: Function, attributes?: Record<string, any>): Function;
|
|
663
|
+
|
|
664
|
+
/** Force flush all pending spans */
|
|
665
|
+
forceFlush(): Promise<void>;
|
|
666
|
+
|
|
667
|
+
/** Shutdown telemetry */
|
|
668
|
+
shutdown(): Promise<void>;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* Application-specific tracing layer for AI operations
|
|
673
|
+
*/
|
|
674
|
+
export declare class AppTracer {
|
|
675
|
+
constructor(telemetryConfig?: TelemetryConfig, sessionId?: string);
|
|
676
|
+
|
|
677
|
+
/** Check if tracing is enabled */
|
|
678
|
+
isEnabled(): boolean;
|
|
679
|
+
|
|
680
|
+
/** Create a root span for the agent session */
|
|
681
|
+
createSessionSpan(attributes?: Record<string, any>): any;
|
|
682
|
+
|
|
683
|
+
/** Create a span for AI model requests */
|
|
684
|
+
createAISpan(modelName: string, provider: string, attributes?: Record<string, any>): any;
|
|
685
|
+
|
|
686
|
+
/** Create a span for tool calls */
|
|
687
|
+
createToolSpan(toolName: string, attributes?: Record<string, any>): any;
|
|
688
|
+
|
|
689
|
+
/** Create a span for code search operations */
|
|
690
|
+
createSearchSpan(query: string, attributes?: Record<string, any>): any;
|
|
691
|
+
|
|
692
|
+
/** Create a span for code extraction operations */
|
|
693
|
+
createExtractSpan(files: string | string[], attributes?: Record<string, any>): any;
|
|
694
|
+
|
|
695
|
+
/** Create a span for agent iterations */
|
|
696
|
+
createIterationSpan(iteration: number, attributes?: Record<string, any>): any;
|
|
697
|
+
|
|
698
|
+
/** Create a span for delegation operations */
|
|
699
|
+
createDelegationSpan(task: string, attributes?: Record<string, any>): any;
|
|
700
|
+
|
|
701
|
+
/** Create a span for JSON validation operations */
|
|
702
|
+
createJsonValidationSpan(responseLength: number, attributes?: Record<string, any>): any;
|
|
703
|
+
|
|
704
|
+
/** Create a span for Mermaid validation operations */
|
|
705
|
+
createMermaidValidationSpan(diagramCount: number, attributes?: Record<string, any>): any;
|
|
706
|
+
|
|
707
|
+
/** Create a span for schema processing operations */
|
|
708
|
+
createSchemaProcessingSpan(schemaType: string, attributes?: Record<string, any>): any;
|
|
709
|
+
|
|
710
|
+
/** Record delegation events */
|
|
711
|
+
recordDelegationEvent(eventType: string, data?: Record<string, any>): void;
|
|
712
|
+
|
|
713
|
+
/** Record JSON validation events */
|
|
714
|
+
recordJsonValidationEvent(eventType: string, data?: Record<string, any>): void;
|
|
715
|
+
|
|
716
|
+
/** Record Mermaid validation events */
|
|
717
|
+
recordMermaidValidationEvent(eventType: string, data?: Record<string, any>): void;
|
|
718
|
+
|
|
719
|
+
/** Add an event to the current span */
|
|
720
|
+
addEvent(name: string, attributes?: Record<string, any>): void;
|
|
721
|
+
|
|
722
|
+
/** Set attributes on the current span */
|
|
723
|
+
setAttributes(attributes: Record<string, any>): void;
|
|
724
|
+
|
|
725
|
+
/** Wrap a function with automatic span creation */
|
|
726
|
+
wrapFunction(spanName: string, fn: Function, attributes?: Record<string, any>): Function;
|
|
727
|
+
|
|
728
|
+
/** Execute a function within a span context */
|
|
729
|
+
withSpan(spanName: string, fn: Function, attributes?: Record<string, any>): Promise<any>;
|
|
730
|
+
|
|
731
|
+
/** Force flush all pending spans */
|
|
732
|
+
flush(): Promise<void>;
|
|
733
|
+
|
|
734
|
+
/** Shutdown tracing */
|
|
735
|
+
shutdown(): Promise<void>;
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
/**
|
|
739
|
+
* Initialize full OpenTelemetry telemetry from options
|
|
740
|
+
*/
|
|
741
|
+
export declare function initializeTelemetryFromOptions(options: any): TelemetryConfig;
|
|
742
|
+
|
|
743
|
+
// Default export for ES modules
|
|
744
|
+
export { ProbeAgent as default };
|