@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,307 @@
|
|
|
1
|
+
The Crownpeak DQM React Component provides an MCP (Model Context Protocol) server for AI-powered documentation search. This enables AI assistants like Claude, GitHub Copilot, and Cline to search and understand the DQM documentation.
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
|
|
5
|
+
- [Overview](#overview)
|
|
6
|
+
- [Benefits](#benefits)
|
|
7
|
+
- [Installation](#installation)
|
|
8
|
+
- [Claude Desktop](#claude-desktop)
|
|
9
|
+
- [VS Code Copilot](#vs-code-copilot)
|
|
10
|
+
- [Cline](#cline)
|
|
11
|
+
- [OpenAI Codex CLI](#openai-codex-cli)
|
|
12
|
+
- [Usage](#usage)
|
|
13
|
+
- [Example Queries](#example-queries)
|
|
14
|
+
- [Dynamic Usage](#dynamic-usage)
|
|
15
|
+
- [Documentation Coverage](#documentation-coverage)
|
|
16
|
+
- [Troubleshooting](#troubleshooting)
|
|
17
|
+
- [Related Links](#related-links)
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
| Feature | Description |
|
|
24
|
+
|---------|-------------|
|
|
25
|
+
| **Powered by** | [Probe](https://probeai.dev/) search engine |
|
|
26
|
+
| **Configuration** | Zero setup - just `npx` |
|
|
27
|
+
| **Tool Name** | `search_dqm_docs` |
|
|
28
|
+
| **Package** | `@crownpeak/dqm-react-component-dev-mcp` |
|
|
29
|
+
|
|
30
|
+
The MCP server indexes all DQM documentation and makes it searchable by AI assistants. When you ask a question about DQM, your AI assistant can automatically search the documentation to provide accurate, up-to-date answers.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Benefits
|
|
35
|
+
|
|
36
|
+
### For Developers Integrating DQM
|
|
37
|
+
|
|
38
|
+
The MCP server is especially useful when you're **integrating the DQM component into your application**:
|
|
39
|
+
|
|
40
|
+
- **Step-by-Step Guidance**: Ask your AI assistant "How do I add DQMSidebar to my React app?" and get accurate, contextual instructions
|
|
41
|
+
- **Configuration Help**: Get instant answers about props, overlay detection, authentication modes
|
|
42
|
+
- **Code Generation**: AI can generate correctly configured DQMSidebar code based on your specific requirements
|
|
43
|
+
- **Troubleshooting**: When something doesn't work, the AI can search the documentation for solutions
|
|
44
|
+
|
|
45
|
+
**Example workflow:**
|
|
46
|
+
```
|
|
47
|
+
You: "I want to add DQM to my Next.js app with backend authentication"
|
|
48
|
+
AI: [searches docs] Here's how to set it up...
|
|
49
|
+
1. Install the package
|
|
50
|
+
2. Configure authBackendUrl
|
|
51
|
+
3. Set up the backend server
|
|
52
|
+
[provides code examples from documentation]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### General Benefits
|
|
56
|
+
|
|
57
|
+
- **Faster Answers**: Get instant, accurate answers about DQMSidebar configuration, props, and usage patterns
|
|
58
|
+
- **Context-Aware Help**: AI understands the full documentation, not just snippets
|
|
59
|
+
- **Always Up-to-Date**: Pre-built documentation bundle ensures you get the latest information
|
|
60
|
+
|
|
61
|
+
### For AI Assistants
|
|
62
|
+
|
|
63
|
+
- **Structured Search**: Semantic search across all documentation files
|
|
64
|
+
- **Code Examples**: Access to real code samples from the repository
|
|
65
|
+
- **Type Information**: Full TypeScript type definitions included
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Installation
|
|
70
|
+
|
|
71
|
+
### Claude Desktop
|
|
72
|
+
|
|
73
|
+
Add to your Claude Desktop configuration:
|
|
74
|
+
|
|
75
|
+
**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
76
|
+
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"mcpServers": {
|
|
81
|
+
"dqm-docs": {
|
|
82
|
+
"command": "npx",
|
|
83
|
+
"args": [
|
|
84
|
+
"-y",
|
|
85
|
+
"@crownpeak/dqm-react-component-dev-mcp@latest"
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Restart Claude Desktop after saving the configuration.
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
### VS Code Copilot
|
|
97
|
+
|
|
98
|
+
Add to your VS Code MCP configuration (`.vscode/mcp.json` in your project or workspace):
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"servers": {
|
|
103
|
+
"dqm-docs": {
|
|
104
|
+
"command": "npx",
|
|
105
|
+
"args": ["-y", "@crownpeak/dqm-react-component-dev-mcp@latest"]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
### Cline
|
|
114
|
+
|
|
115
|
+
Add to your project's `.cline/mcp_config.json`:
|
|
116
|
+
|
|
117
|
+
```json
|
|
118
|
+
{
|
|
119
|
+
"mcpServers": {
|
|
120
|
+
"dqm-docs": {
|
|
121
|
+
"command": "npx",
|
|
122
|
+
"args": ["-y", "@crownpeak/dqm-react-component-dev-mcp@latest"]
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### OpenAI Codex CLI
|
|
131
|
+
|
|
132
|
+
Add to your project's `codex.toml` or global `~/.codex/config.toml`:
|
|
133
|
+
|
|
134
|
+
```toml
|
|
135
|
+
[mcp_servers.dqm-docs]
|
|
136
|
+
command = "npx"
|
|
137
|
+
args = ["-y", "@crownpeak/dqm-react-component-dev-mcp@latest"]
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Or with environment variables:
|
|
141
|
+
|
|
142
|
+
```toml
|
|
143
|
+
[mcp_servers.dqm-docs]
|
|
144
|
+
command = "npx"
|
|
145
|
+
args = ["-y", "@crownpeak/dqm-react-component-dev-mcp@latest"]
|
|
146
|
+
|
|
147
|
+
[mcp_servers.dqm-docs.env]
|
|
148
|
+
NODE_ENV = "production"
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Usage
|
|
154
|
+
|
|
155
|
+
Once configured, you can ask your AI assistant questions about DQM. The AI will automatically use the `search_dqm_docs` tool to find relevant documentation.
|
|
156
|
+
|
|
157
|
+
### Example Queries
|
|
158
|
+
|
|
159
|
+
**Configuration Questions:**
|
|
160
|
+
- "How do I configure overlay detection in DQMSidebar?"
|
|
161
|
+
- "What props does DQMSidebar accept?"
|
|
162
|
+
- "How do I set up backend authentication?"
|
|
163
|
+
|
|
164
|
+
**Integration Questions:**
|
|
165
|
+
- "How do I integrate the widget bundle?"
|
|
166
|
+
- "How do I use DQM with Next.js?"
|
|
167
|
+
- "What's the difference between direct and backend authentication?"
|
|
168
|
+
|
|
169
|
+
**Troubleshooting:**
|
|
170
|
+
- "What is manualOffset and when should I use it?"
|
|
171
|
+
- "How do I fix z-index issues with the sidebar?"
|
|
172
|
+
- "Why isn't my overlay being detected?"
|
|
173
|
+
|
|
174
|
+
**Code Examples:**
|
|
175
|
+
- "Show me an example of DQMSidebar with AI translation"
|
|
176
|
+
- "How do I change the language programmatically?"
|
|
177
|
+
|
|
178
|
+
### Search Keywords
|
|
179
|
+
|
|
180
|
+
For best results, try these search patterns:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
"DQMSidebar overlayConfig"
|
|
184
|
+
"backend authentication setup"
|
|
185
|
+
"widget bundle integration"
|
|
186
|
+
"manualOffset configuration"
|
|
187
|
+
"AI translation config"
|
|
188
|
+
"i18n language switch"
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Dynamic Usage
|
|
194
|
+
|
|
195
|
+
Instead of the pre-built package, you can point directly to the GitHub repository for the most recent documentation:
|
|
196
|
+
|
|
197
|
+
```json
|
|
198
|
+
{
|
|
199
|
+
"mcpServers": {
|
|
200
|
+
"dqm-docs": {
|
|
201
|
+
"command": "npx",
|
|
202
|
+
"args": [
|
|
203
|
+
"-y",
|
|
204
|
+
"@probelabs/docs-mcp@latest",
|
|
205
|
+
"--gitUrl",
|
|
206
|
+
"https://github.com/Crownpeak/dqm-react-component",
|
|
207
|
+
"--toolName",
|
|
208
|
+
"search_dqm_docs",
|
|
209
|
+
"--toolDescription",
|
|
210
|
+
"Search Crownpeak DQM React Component documentation"
|
|
211
|
+
]
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
> **Note:** Dynamic mode fetches from GitHub on each query, which may be slower than the pre-built package.
|
|
218
|
+
|
|
219
|
+
---
|
|
220
|
+
|
|
221
|
+
## Documentation Coverage
|
|
222
|
+
|
|
223
|
+
The MCP server indexes all documentation including:
|
|
224
|
+
|
|
225
|
+
| Source | Content |
|
|
226
|
+
|--------|---------|
|
|
227
|
+
| `README.md` | Overview and quick start |
|
|
228
|
+
| `docs/` | Full documentation (QUICKSTART, DEVELOPMENT, SERVER, EXAMPLES, AI-FEATURES, etc.) |
|
|
229
|
+
| `src/` | Source code with JSDoc comments |
|
|
230
|
+
| `.github/copilot-instructions.md` | AI agent integration guide |
|
|
231
|
+
|
|
232
|
+
### Indexed Topics
|
|
233
|
+
|
|
234
|
+
- DQMSidebar component and props
|
|
235
|
+
- Authentication (direct and backend modes)
|
|
236
|
+
- AI features (translation, summaries)
|
|
237
|
+
- Internationalization (i18n)
|
|
238
|
+
- Overlay detection and positioning
|
|
239
|
+
- Widget bundle integration
|
|
240
|
+
- Backend server setup
|
|
241
|
+
- Redis session storage
|
|
242
|
+
- TypeScript types and interfaces
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
## Troubleshooting
|
|
247
|
+
|
|
248
|
+
### MCP Server Not Starting
|
|
249
|
+
|
|
250
|
+
**Symptoms:** AI assistant doesn't recognize DQM-related questions or `search_dqm_docs` tool is not available.
|
|
251
|
+
|
|
252
|
+
**Solutions:**
|
|
253
|
+
|
|
254
|
+
1. **Check Node.js**: Ensure Node.js 18+ is installed
|
|
255
|
+
```bash
|
|
256
|
+
node --version # Should be v18.0.0 or higher
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
2. **Verify Configuration**: Ensure JSON syntax is correct
|
|
260
|
+
```bash
|
|
261
|
+
# Test the command manually
|
|
262
|
+
npx -y @crownpeak/dqm-react-component-dev-mcp@latest
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
3. **Restart AI Client**: After configuration changes, restart Claude Desktop/VS Code
|
|
266
|
+
|
|
267
|
+
4. **Check Logs**:
|
|
268
|
+
- Claude Desktop: View → Developer → Open Logs
|
|
269
|
+
- VS Code: Output panel → MCP
|
|
270
|
+
|
|
271
|
+
### Search Returns No Results
|
|
272
|
+
|
|
273
|
+
**Solutions:**
|
|
274
|
+
|
|
275
|
+
1. **Simplify Query**: Use shorter, more specific terms
|
|
276
|
+
```
|
|
277
|
+
❌ "How do I configure the overlay detection feature to work with my custom toolbar?"
|
|
278
|
+
✅ "overlayConfig toolbar"
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
2. **Use Known Terms**: Reference actual API names
|
|
282
|
+
```
|
|
283
|
+
✅ "DQMSidebar props"
|
|
284
|
+
✅ "manualOffset"
|
|
285
|
+
✅ "authBackendUrl"
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
### Outdated Information
|
|
289
|
+
|
|
290
|
+
If documentation seems outdated:
|
|
291
|
+
|
|
292
|
+
1. **Update Package**: Force latest version
|
|
293
|
+
```bash
|
|
294
|
+
npx -y @crownpeak/dqm-react-component-dev-mcp@latest
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
2. **Use Dynamic Mode**: Point to GitHub repository directly (see [Dynamic Usage](#dynamic-usage))
|
|
298
|
+
|
|
299
|
+
---
|
|
300
|
+
|
|
301
|
+
## Related Links
|
|
302
|
+
|
|
303
|
+
- [DQM React Component on GitHub](https://github.com/Crownpeak/dqm-react-component)
|
|
304
|
+
- [Probe Search Engine](https://probeai.dev/)
|
|
305
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
306
|
+
- [@probelabs/docs-mcp](https://github.com/probelabs/docs-mcp)
|
|
307
|
+
- [MCP Server Package on npm](https://www.npmjs.com/package/@crownpeak/dqm-react-component-dev-mcp)
|
|
@@ -0,0 +1,367 @@
|
|
|
1
|
+
This guide helps you upgrade between versions of `@crownpeak/dqm-react-component`.
|
|
2
|
+
|
|
3
|
+
## Table of Contents
|
|
4
|
+
|
|
5
|
+
- [v1.1.0 → v1.2.0](#v110--v120)
|
|
6
|
+
- [v1.0.x → v1.1.0](#v10x--v110)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## v1.1.0 → v1.2.0
|
|
11
|
+
|
|
12
|
+
**Release Date:** January 7, 2026
|
|
13
|
+
|
|
14
|
+
**Upgrade Time:** ~5 minutes (no breaking changes)
|
|
15
|
+
|
|
16
|
+
**Breaking Changes:** None ✅
|
|
17
|
+
|
|
18
|
+
### Overview*
|
|
19
|
+
|
|
20
|
+
Version 1.2.0 introduces powerful new features while maintaining full backward compatibility:
|
|
21
|
+
|
|
22
|
+
- ✨ **AI-Powered Translation** - Translate checkpoint descriptions via OpenAI
|
|
23
|
+
- ✨ **AI Summary Generation** - Generate concise bullet-point summaries
|
|
24
|
+
- 🌍 **Internationalization (i18n)** - UI in English, German, Spanish
|
|
25
|
+
- 🔄 **Redux Store** - Centralized state management (internal)
|
|
26
|
+
- 🔧 **Centralized Logging** - Debug mode for troubleshooting
|
|
27
|
+
|
|
28
|
+
### Step 1: Update Package
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm install @crownpeak/dqm-react-component@1.2.0
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Or with Yarn:
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
yarn upgrade @crownpeak/dqm-react-component@1.2.0
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Step 2: Verify (No Changes Required)
|
|
41
|
+
|
|
42
|
+
Your existing code continues to work without modifications:
|
|
43
|
+
|
|
44
|
+
```typescript
|
|
45
|
+
import { DQMSidebar } from '@crownpeak/dqm-react-component';
|
|
46
|
+
|
|
47
|
+
// This works exactly as before
|
|
48
|
+
<DQMSidebar
|
|
49
|
+
open={open}
|
|
50
|
+
onClose={() => setOpen(false)}
|
|
51
|
+
onOpen={() => setOpen(true)}
|
|
52
|
+
/>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### New Features (Optional)
|
|
56
|
+
|
|
57
|
+
#### AI-Powered Translation
|
|
58
|
+
|
|
59
|
+
Translate checkpoint descriptions into any language:
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
<DQMSidebar
|
|
63
|
+
open={open}
|
|
64
|
+
onClose={() => setOpen(false)}
|
|
65
|
+
onOpen={() => setOpen(true)}
|
|
66
|
+
config={{
|
|
67
|
+
websiteId: '...',
|
|
68
|
+
apiKey: '...',
|
|
69
|
+
translation: {
|
|
70
|
+
enabled: true,
|
|
71
|
+
apiKey: 'sk-...', // OpenAI API key
|
|
72
|
+
model: 'gpt-4o-mini', // or 'gpt-4o', 'gpt-4.1'
|
|
73
|
+
targetLanguage: 'de', // Target language (ISO 639-1)
|
|
74
|
+
mode: 'fast', // 'fast' (15s) or 'full' (120s)
|
|
75
|
+
},
|
|
76
|
+
}}
|
|
77
|
+
/>
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**Key Features:**
|
|
81
|
+
- Automatic IndexedDB + In-Memory caching
|
|
82
|
+
- Fast mode (15s timeout, fails gracefully) or Full mode (120s)
|
|
83
|
+
- ~2-5s for 50 checkpoints
|
|
84
|
+
|
|
85
|
+
See **[AI Features Guide](./AI-FEATURES.md)** for complete documentation.
|
|
86
|
+
|
|
87
|
+
#### AI Summary Generation
|
|
88
|
+
|
|
89
|
+
Generate concise summaries of analysis results:
|
|
90
|
+
|
|
91
|
+
```typescript
|
|
92
|
+
<DQMSidebar
|
|
93
|
+
open={open}
|
|
94
|
+
onClose={() => setOpen(false)}
|
|
95
|
+
onOpen={() => setOpen(true)}
|
|
96
|
+
config={{
|
|
97
|
+
websiteId: '...',
|
|
98
|
+
apiKey: '...',
|
|
99
|
+
summary: {
|
|
100
|
+
enabled: true,
|
|
101
|
+
apiKey: 'sk-...',
|
|
102
|
+
model: 'gpt-4o-mini',
|
|
103
|
+
},
|
|
104
|
+
}}
|
|
105
|
+
/>
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
**Key Features:**
|
|
109
|
+
- Automatic chunking based on checkpoint count
|
|
110
|
+
- Persistent IndexedDB cache
|
|
111
|
+
- 3-7 bullet points highlighting key issues
|
|
112
|
+
|
|
113
|
+
#### Internationalization (i18n)
|
|
114
|
+
|
|
115
|
+
The UI now supports multiple languages:
|
|
116
|
+
|
|
117
|
+
- `en` - English (default)
|
|
118
|
+
- `de` - German (Deutsch)
|
|
119
|
+
- `es` - Spanish (Español)
|
|
120
|
+
|
|
121
|
+
Language preference is saved to `localStorage.getItem('dqm_locale')`.
|
|
122
|
+
|
|
123
|
+
#### Debug Logging
|
|
124
|
+
|
|
125
|
+
Enable debug logging for troubleshooting:
|
|
126
|
+
|
|
127
|
+
```typescript
|
|
128
|
+
// Via localStorage
|
|
129
|
+
localStorage.setItem('dqm_debug', 'true');
|
|
130
|
+
|
|
131
|
+
// Or programmatically
|
|
132
|
+
import { logger } from '@crownpeak/dqm-react-component';
|
|
133
|
+
logger.setDebugMode(true);
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### New TypeScript Types
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
import type {
|
|
140
|
+
// Existing types (unchanged)
|
|
141
|
+
DQMSidebarProps,
|
|
142
|
+
DQMConfig,
|
|
143
|
+
OverlayConfig,
|
|
144
|
+
|
|
145
|
+
// NEW in v1.2.0
|
|
146
|
+
TranslationConfig,
|
|
147
|
+
SummaryConfig,
|
|
148
|
+
TranslationProgress,
|
|
149
|
+
SummaryStats,
|
|
150
|
+
} from '@crownpeak/dqm-react-component';
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
### New localStorage Keys
|
|
154
|
+
|
|
155
|
+
| Key | Type | Default | Description |
|
|
156
|
+
|-----|------|---------|-------------|
|
|
157
|
+
| `dqm_translate_results_enabled` | boolean | false | Toggle translation |
|
|
158
|
+
| `dqm_target_language` | string | 'en' | Target language (ISO 639-1) |
|
|
159
|
+
| `dqm_ai_summary_enabled` | boolean | false | Toggle summary |
|
|
160
|
+
| `dqm_translation_mode` | 'fast'\|'full' | 'fast' | Translation mode |
|
|
161
|
+
| `dqm_openai_apiKey` | string | - | OpenAI API key |
|
|
162
|
+
| `dqm_openai_model` | string | 'gpt-4o-mini' | OpenAI model |
|
|
163
|
+
| `dqm_locale` | 'en'\|'de'\|'es' | 'en' | UI language |
|
|
164
|
+
| `dqm_debug` | boolean | false | Debug logging |
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## v1.0.x → v1.1.0
|
|
169
|
+
|
|
170
|
+
**Release Date:** December 17, 2025
|
|
171
|
+
|
|
172
|
+
**Upgrade Time:** ~5 minutes (no breaking changes)
|
|
173
|
+
|
|
174
|
+
**Breaking Changes:** None ✅
|
|
175
|
+
|
|
176
|
+
### Overview
|
|
177
|
+
|
|
178
|
+
Version 1.1.0 adds new features while maintaining full backward compatibility:
|
|
179
|
+
|
|
180
|
+
- ✨ **Overlay Configuration** - Customize toolbar/overlay detection
|
|
181
|
+
- ✨ **Standalone Widget Bundle** - IIFE + ESM bundles for embedding
|
|
182
|
+
- ✨ **Enhanced `useDomPresence` Hook** - Better element position detection
|
|
183
|
+
- ✨ **`disableLogout` Config Option** - Hide logout when managed externally
|
|
184
|
+
|
|
185
|
+
### Step 1: Update Package
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
npm install @crownpeak/dqm-react-component@1.1.0
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
Or with Yarn:
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
yarn upgrade @crownpeak/dqm-react-component@1.1.0
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### Step 2: Verify (No Changes Required)
|
|
198
|
+
|
|
199
|
+
Your existing code continues to work without modifications:
|
|
200
|
+
|
|
201
|
+
```typescript
|
|
202
|
+
import { DQMSidebar } from '@crownpeak/dqm-react-component';
|
|
203
|
+
|
|
204
|
+
// This works exactly as before
|
|
205
|
+
<DQMSidebar
|
|
206
|
+
open={open}
|
|
207
|
+
onClose={() => setOpen(false)}
|
|
208
|
+
onOpen={() => setOpen(true)}
|
|
209
|
+
/>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### New Features (Optional)
|
|
213
|
+
|
|
214
|
+
#### Overlay Configuration
|
|
215
|
+
|
|
216
|
+
If you have toolbars or overlays that interfere with sidebar positioning:
|
|
217
|
+
|
|
218
|
+
```typescript
|
|
219
|
+
<DQMSidebar
|
|
220
|
+
open={open}
|
|
221
|
+
onClose={() => setOpen(false)}
|
|
222
|
+
onOpen={() => setOpen(true)}
|
|
223
|
+
config={{
|
|
224
|
+
websiteId: '...',
|
|
225
|
+
apiKey: '...',
|
|
226
|
+
overlayConfig: {
|
|
227
|
+
selector: '.my-toolbar', // CSS selector for overlay
|
|
228
|
+
validateIframe: true, // Check iFrame contentWindow
|
|
229
|
+
pollMs: 1000, // Polling interval (ms)
|
|
230
|
+
manualOffset: { // Manual offset override
|
|
231
|
+
position: 'top',
|
|
232
|
+
pixels: 50,
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
}}
|
|
236
|
+
/>
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
#### Disable Logout Button
|
|
240
|
+
|
|
241
|
+
If your app manages authentication externally:
|
|
242
|
+
|
|
243
|
+
```typescript
|
|
244
|
+
<DQMSidebar
|
|
245
|
+
open={open}
|
|
246
|
+
onClose={() => setOpen(false)}
|
|
247
|
+
onOpen={() => setOpen(true)}
|
|
248
|
+
config={{
|
|
249
|
+
websiteId: '...',
|
|
250
|
+
apiKey: '...',
|
|
251
|
+
disableLogout: true, // Hides the logout button
|
|
252
|
+
}}
|
|
253
|
+
/>
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
#### Standalone Widget Bundle
|
|
257
|
+
|
|
258
|
+
For embedding on external sites without React:
|
|
259
|
+
|
|
260
|
+
```html
|
|
261
|
+
<!-- IIFE Bundle -->
|
|
262
|
+
<script src="https://unpkg.com/@crownpeak/dqm-react-component/dist/dqm-widget.iife.js"></script>
|
|
263
|
+
<script>
|
|
264
|
+
window.initDQMWidget({
|
|
265
|
+
websiteId: 'your-website-id',
|
|
266
|
+
apiKey: 'your-api-key',
|
|
267
|
+
});
|
|
268
|
+
</script>
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
See **[Widget Bundle Guide](./WIDGET-GUIDE.md)** for complete documentation.
|
|
272
|
+
|
|
273
|
+
### New TypeScript Types
|
|
274
|
+
|
|
275
|
+
```typescript
|
|
276
|
+
import type {
|
|
277
|
+
// Existing types (unchanged)
|
|
278
|
+
DQMSidebarProps,
|
|
279
|
+
DQMConfig,
|
|
280
|
+
|
|
281
|
+
// NEW in v1.1.0
|
|
282
|
+
OverlayConfig,
|
|
283
|
+
OverlayOffsetPosition,
|
|
284
|
+
OverlayInfo,
|
|
285
|
+
OverlayPosition,
|
|
286
|
+
} from '@crownpeak/dqm-react-component';
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### New Hooks
|
|
290
|
+
|
|
291
|
+
```typescript
|
|
292
|
+
import { useOverlayResistant } from '@crownpeak/dqm-react-component';
|
|
293
|
+
|
|
294
|
+
// Returns overlay information for custom positioning
|
|
295
|
+
const overlayInfo = useOverlayResistant({
|
|
296
|
+
selector: '.my-toolbar',
|
|
297
|
+
validateIframe: true,
|
|
298
|
+
});
|
|
299
|
+
// overlayInfo.present: boolean
|
|
300
|
+
// overlayInfo.height: number
|
|
301
|
+
// overlayInfo.position: 'top' | 'bottom' | 'left' | 'right' | 'center'
|
|
302
|
+
// overlayInfo.contentOffset: { top, bottom, left, right }
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## Troubleshooting
|
|
308
|
+
|
|
309
|
+
### Issue: Overlay not detected correctly
|
|
310
|
+
|
|
311
|
+
**Cause:** Cross-origin iFrame or complex DOM structure.
|
|
312
|
+
|
|
313
|
+
**Solution:** Use `manualOffset` configuration:
|
|
314
|
+
|
|
315
|
+
```typescript
|
|
316
|
+
overlayConfig: {
|
|
317
|
+
selector: '.my-overlay',
|
|
318
|
+
manualOffset: {
|
|
319
|
+
position: 'top',
|
|
320
|
+
pixels: 60,
|
|
321
|
+
},
|
|
322
|
+
}
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Issue: Translation not working
|
|
326
|
+
|
|
327
|
+
**Cause:** Missing `translation.enabled` or invalid API key.
|
|
328
|
+
|
|
329
|
+
**Solution:** Verify configuration:
|
|
330
|
+
|
|
331
|
+
```typescript
|
|
332
|
+
config={{
|
|
333
|
+
translation: {
|
|
334
|
+
enabled: true, // Must be true
|
|
335
|
+
apiKey: 'sk-...', // Valid OpenAI API key
|
|
336
|
+
model: 'gpt-4o-mini',
|
|
337
|
+
targetLanguage: 'de',
|
|
338
|
+
},
|
|
339
|
+
}}
|
|
340
|
+
```
|
|
341
|
+
|
|
342
|
+
### Issue: TypeScript errors after upgrade
|
|
343
|
+
|
|
344
|
+
**Cause:** Missing type imports.
|
|
345
|
+
|
|
346
|
+
**Solution:** Update imports:
|
|
347
|
+
|
|
348
|
+
```typescript
|
|
349
|
+
import type {
|
|
350
|
+
DQMSidebarProps,
|
|
351
|
+
DQMConfig,
|
|
352
|
+
OverlayConfig, // v1.1.0+
|
|
353
|
+
TranslationConfig, // v1.2.0+
|
|
354
|
+
SummaryConfig, // v1.2.0+
|
|
355
|
+
} from '@crownpeak/dqm-react-component';
|
|
356
|
+
```
|
|
357
|
+
|
|
358
|
+
---
|
|
359
|
+
|
|
360
|
+
## See Also
|
|
361
|
+
|
|
362
|
+
- **[AI Features Guide](./AI-FEATURES.md)** - Complete AI documentation (v1.2.0+)
|
|
363
|
+
- **[Widget Bundle Guide](./WIDGET-GUIDE.md)** - Standalone widget documentation (v1.1.0+)
|
|
364
|
+
- **[Quick Start Guide](./QUICKSTART.md)** - Getting started
|
|
365
|
+
- **[API Reference](./API-REFERENCE.md)** - Full TypeScript API
|
|
366
|
+
- **[Examples](./EXAMPLES.md)** - Integration examples
|
|
367
|
+
- **[Troubleshooting](./TROUBLESHOOTING.md)** - Common issues and solutions
|