@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.
Files changed (444) hide show
  1. package/README.md +138 -0
  2. package/data/.env.example +22 -0
  3. package/data/.gitattributes +47 -0
  4. package/data/.glfrc.json +7 -0
  5. package/data/.husky/pre-commit +5 -0
  6. package/data/.nvmrc +1 -0
  7. package/data/CHANGELOG.md +75 -0
  8. package/data/CODE_OF_CONDUCT.md +129 -0
  9. package/data/CONTRIBUTING.md +203 -0
  10. package/data/DOCS-STRUCTURE.md +307 -0
  11. package/data/I18N.md +292 -0
  12. package/data/LICENSE +22 -0
  13. package/data/README.md +315 -0
  14. package/data/SECURITY.md +125 -0
  15. package/data/WIKI-DEPLOYMENT.md +348 -0
  16. package/data/docs/AI-FEATURES.md +610 -0
  17. package/data/docs/API-REFERENCE.md +1022 -0
  18. package/data/docs/AUTHENTICATION.md +301 -0
  19. package/data/docs/BACKEND-API.md +468 -0
  20. package/data/docs/DEVELOPMENT.md +375 -0
  21. package/data/docs/EXAMPLES.md +622 -0
  22. package/data/docs/MCP-SERVER.md +307 -0
  23. package/data/docs/MIGRATION-GUIDE.md +367 -0
  24. package/data/docs/NPM-PUBLISH.md +193 -0
  25. package/data/docs/QUICKSTART.md +206 -0
  26. package/data/docs/REDIS-SETUP.md +162 -0
  27. package/data/docs/SERVER.md +228 -0
  28. package/data/docs/TROUBLESHOOTING.md +657 -0
  29. package/data/docs/WIDGET-GUIDE.md +638 -0
  30. package/data/docs/WIKI-HOME.md +58 -0
  31. package/data/docs/WIKI-SIDEBAR.md +39 -0
  32. package/data/package.json +171 -0
  33. package/data/playwright.config.ts +64 -0
  34. package/data/probe/.cargo/config.toml +10 -0
  35. package/data/probe/.claude/commands/performance-review.md +15 -0
  36. package/data/probe/.clinerules +288 -0
  37. package/data/probe/.dockerignore +57 -0
  38. package/data/probe/.githooks/post-commit +11 -0
  39. package/data/probe/.githooks/pre-commit +99 -0
  40. package/data/probe/.githooks/pre-commit-vow +9 -0
  41. package/data/probe/.prompts/engineer.md +41 -0
  42. package/data/probe/.roomodes +28 -0
  43. package/data/probe/.windsurfrules +0 -0
  44. package/data/probe/BASH_TOOL_SUMMARY.md +148 -0
  45. package/data/probe/BENCHMARKING.md +256 -0
  46. package/data/probe/CLAUDE.md +226 -0
  47. package/data/probe/CODE_OF_CONDUCT.md +128 -0
  48. package/data/probe/CONTRIBUTING.md +193 -0
  49. package/data/probe/Cargo.toml +120 -0
  50. package/data/probe/Cross.toml +10 -0
  51. package/data/probe/DOCKER-README.md +224 -0
  52. package/data/probe/Dockerfile +32 -0
  53. package/data/probe/ENHANCED_DEBUG_TELEMETRY.md +188 -0
  54. package/data/probe/LICENSE +201 -0
  55. package/data/probe/Makefile +210 -0
  56. package/data/probe/README.md +824 -0
  57. package/data/probe/SECURITY.md +67 -0
  58. package/data/probe/WINDOWS-GUIDE.md +294 -0
  59. package/data/probe/benches/parsing_benchmarks.rs +370 -0
  60. package/data/probe/benches/search_benchmarks.rs +599 -0
  61. package/data/probe/benches/simd_benchmarks.rs +372 -0
  62. package/data/probe/benches/timing_benchmarks.rs +287 -0
  63. package/data/probe/build-windows.bat +229 -0
  64. package/data/probe/codex-config/config.toml +6 -0
  65. package/data/probe/docs/PERFORMANCE_OPTIMIZATION.md +161 -0
  66. package/data/probe/examples/cache_demo.rs +46 -0
  67. package/data/probe/examples/chat/.dockerignore +37 -0
  68. package/data/probe/examples/chat/ChatSessionManager.js +295 -0
  69. package/data/probe/examples/chat/Dockerfile +98 -0
  70. package/data/probe/examples/chat/LICENSE +201 -0
  71. package/data/probe/examples/chat/LOCAL_IMAGE_SUPPORT.md +195 -0
  72. package/data/probe/examples/chat/MCP_INTEGRATION.md +400 -0
  73. package/data/probe/examples/chat/README.md +338 -0
  74. package/data/probe/examples/chat/TRACING.md +226 -0
  75. package/data/probe/examples/chat/appTracer.js +968 -0
  76. package/data/probe/examples/chat/auth.js +76 -0
  77. package/data/probe/examples/chat/bin/probe-chat.js +13 -0
  78. package/data/probe/examples/chat/build.js +104 -0
  79. package/data/probe/examples/chat/cancelRequest.js +84 -0
  80. package/data/probe/examples/chat/demo-agentic-image-flow.js +88 -0
  81. package/data/probe/examples/chat/demo-local-images.js +128 -0
  82. package/data/probe/examples/chat/fileSpanExporter.js +181 -0
  83. package/data/probe/examples/chat/implement/README.md +228 -0
  84. package/data/probe/examples/chat/implement/backends/AiderBackend.js +750 -0
  85. package/data/probe/examples/chat/implement/backends/BaseBackend.js +276 -0
  86. package/data/probe/examples/chat/implement/backends/ClaudeCodeBackend.js +767 -0
  87. package/data/probe/examples/chat/implement/backends/MockBackend.js +237 -0
  88. package/data/probe/examples/chat/implement/backends/registry.js +85 -0
  89. package/data/probe/examples/chat/implement/core/BackendManager.js +567 -0
  90. package/data/probe/examples/chat/implement/core/ImplementTool.js +354 -0
  91. package/data/probe/examples/chat/implement/core/config.js +428 -0
  92. package/data/probe/examples/chat/implement/core/timeouts.js +58 -0
  93. package/data/probe/examples/chat/implement/core/utils.js +496 -0
  94. package/data/probe/examples/chat/implement/types/BackendTypes.js +126 -0
  95. package/data/probe/examples/chat/index.js +669 -0
  96. package/data/probe/examples/chat/mcpServer.js +341 -0
  97. package/data/probe/examples/chat/npm/LICENSE +15 -0
  98. package/data/probe/examples/chat/npm/README.md +168 -0
  99. package/data/probe/examples/chat/npm/bin/probe-chat.js +156 -0
  100. package/data/probe/examples/chat/npm/index.js +259 -0
  101. package/data/probe/examples/chat/npm/package.json +54 -0
  102. package/data/probe/examples/chat/package.json +102 -0
  103. package/data/probe/examples/chat/probeChat.js +456 -0
  104. package/data/probe/examples/chat/probeTool.js +491 -0
  105. package/data/probe/examples/chat/storage/JsonChatStorage.js +476 -0
  106. package/data/probe/examples/chat/telemetry.js +281 -0
  107. package/data/probe/examples/chat/test/integration/chatFlows.test.js +320 -0
  108. package/data/probe/examples/chat/test/integration/toolCalling.test.js +471 -0
  109. package/data/probe/examples/chat/test/mocks/mockLLMProvider.js +269 -0
  110. package/data/probe/examples/chat/test/test-backends.js +90 -0
  111. package/data/probe/examples/chat/test/testUtils.js +530 -0
  112. package/data/probe/examples/chat/test/unit/backendTimeout.test.js +161 -0
  113. package/data/probe/examples/chat/test/unit/packageFiles.test.js +120 -0
  114. package/data/probe/examples/chat/test/verify-tests.js +118 -0
  115. package/data/probe/examples/chat/test-agentic-image-loading.js +294 -0
  116. package/data/probe/examples/chat/test-ai-sdk-telemetry.js +204 -0
  117. package/data/probe/examples/chat/test-chat-tracing.js +38 -0
  118. package/data/probe/examples/chat/test-direct-function.js +49 -0
  119. package/data/probe/examples/chat/test-file-size-validation.js +103 -0
  120. package/data/probe/examples/chat/test-full-mcp-integration.js +258 -0
  121. package/data/probe/examples/chat/test-github-context.txt +12 -0
  122. package/data/probe/examples/chat/test-hierarchy.js +203 -0
  123. package/data/probe/examples/chat/test-image-spans.js +37 -0
  124. package/data/probe/examples/chat/test-local-image-reading.js +176 -0
  125. package/data/probe/examples/chat/test-mcp-integration.js +136 -0
  126. package/data/probe/examples/chat/test-mcp-probe-server.js +161 -0
  127. package/data/probe/examples/chat/test-mcp-with-ai.js +279 -0
  128. package/data/probe/examples/chat/test-multiple-allowed-dirs.js +111 -0
  129. package/data/probe/examples/chat/test-probe-mcp-server.js +110 -0
  130. package/data/probe/examples/chat/test-security-validation.js +145 -0
  131. package/data/probe/examples/chat/test-simple-tracing.js +32 -0
  132. package/data/probe/examples/chat/test-trace-verification.js +235 -0
  133. package/data/probe/examples/chat/test-tracing.js +114 -0
  134. package/data/probe/examples/chat/tokenCounter.js +419 -0
  135. package/data/probe/examples/chat/tokenUsageDisplay.js +134 -0
  136. package/data/probe/examples/chat/webServer.js +1103 -0
  137. package/data/probe/examples/reranker/Cargo.toml +33 -0
  138. package/data/probe/examples/reranker/DEBUG_OUTPUT_ANALYSIS.md +71 -0
  139. package/data/probe/examples/reranker/MODELS.md +66 -0
  140. package/data/probe/examples/reranker/MODEL_COMPARISON.md +60 -0
  141. package/data/probe/examples/reranker/MULTI_MODEL_ANALYSIS.md +176 -0
  142. package/data/probe/examples/reranker/PERFORMANCE_SUMMARY.md +156 -0
  143. package/data/probe/examples/reranker/README.md +347 -0
  144. package/data/probe/examples/reranker/RUST_BERT_COMPARISON.md +82 -0
  145. package/data/probe/examples/reranker/TOKENIZATION_GUIDE.md +120 -0
  146. package/data/probe/examples/reranker/check_rust_tokenizer.py +108 -0
  147. package/data/probe/examples/reranker/convert_to_torchscript.py +109 -0
  148. package/data/probe/examples/reranker/debug_scoring.py +189 -0
  149. package/data/probe/examples/reranker/debug_tokenization.py +154 -0
  150. package/data/probe/examples/reranker/download_models.sh +73 -0
  151. package/data/probe/examples/reranker/requirements.txt +13 -0
  152. package/data/probe/examples/reranker/run_comprehensive_benchmark.sh +83 -0
  153. package/data/probe/examples/reranker/rust_bert_test/Cargo.toml +12 -0
  154. package/data/probe/examples/reranker/rust_bert_test/README.md +54 -0
  155. package/data/probe/examples/reranker/simple_test.py +50 -0
  156. package/data/probe/examples/reranker/test_all_models.sh +63 -0
  157. package/data/probe/examples/reranker/test_bert_results.sh +44 -0
  158. package/data/probe/examples/reranker/test_cross_encoder.py +334 -0
  159. package/data/probe/examples/reranker/test_cross_encoder.sh +80 -0
  160. package/data/probe/examples/reranker/test_exact_comparison.py +151 -0
  161. package/data/probe/examples/reranker/test_parallel_performance.sh +56 -0
  162. package/data/probe/examples/reranker/test_scores.py +132 -0
  163. package/data/probe/install.ps1 +508 -0
  164. package/data/probe/install.sh +460 -0
  165. package/data/probe/npm/CLONE_METHOD_EXAMPLES.md +596 -0
  166. package/data/probe/npm/CONTEXT_COMPACTION.md +303 -0
  167. package/data/probe/npm/DELEGATE_TOOL_README.md +166 -0
  168. package/data/probe/npm/MAID_INTEGRATION.md +313 -0
  169. package/data/probe/npm/MCP_INTEGRATION_SUMMARY.md +241 -0
  170. package/data/probe/npm/README.md +824 -0
  171. package/data/probe/npm/bin/.gitignore +7 -0
  172. package/data/probe/npm/bin/.gitkeep +0 -0
  173. package/data/probe/npm/bin/README.md +12 -0
  174. package/data/probe/npm/bin/probe +167 -0
  175. package/data/probe/npm/docs/CLAUDE_CODE_INTEGRATION.md +414 -0
  176. package/data/probe/npm/docs/CODEX_INTEGRATION.md +502 -0
  177. package/data/probe/npm/docs/EDIT_CREATE_TOOLS.md +233 -0
  178. package/data/probe/npm/docs/RETRY_AND_FALLBACK.md +674 -0
  179. package/data/probe/npm/example-usage.js +335 -0
  180. package/data/probe/npm/examples/multi-engine-demo.js +117 -0
  181. package/data/probe/npm/examples/probe-agent-cli.js +113 -0
  182. package/data/probe/npm/examples/test-agent-edit.js +114 -0
  183. package/data/probe/npm/examples/test-edit-create.js +120 -0
  184. package/data/probe/npm/examples/test-edit-direct.js +114 -0
  185. package/data/probe/npm/index.d.ts +744 -0
  186. package/data/probe/npm/jest.config.js +52 -0
  187. package/data/probe/npm/package.json +117 -0
  188. package/data/probe/npm/scripts/build-agent.cjs +75 -0
  189. package/data/probe/npm/scripts/build-cjs.js +124 -0
  190. package/data/probe/npm/scripts/build-mcp.cjs +36 -0
  191. package/data/probe/npm/scripts/postinstall.js +216 -0
  192. package/data/probe/npm/test-codex-e2e.js +78 -0
  193. package/data/probe/npm/test-download-lock.js +109 -0
  194. package/data/probe/npm/test-grep-security.js +94 -0
  195. package/data/probe/npm/test-grep-simplified.js +63 -0
  196. package/data/probe/npm/test-grep.js +51 -0
  197. package/data/probe/npm/tests/README.md +96 -0
  198. package/data/probe/npm/tests/agent-compact-history.test.js +174 -0
  199. package/data/probe/npm/tests/allow-tests-default.test.js +151 -0
  200. package/data/probe/npm/tests/contextCompactor.test.js +498 -0
  201. package/data/probe/npm/tests/delegate-config.test.js +353 -0
  202. package/data/probe/npm/tests/delegate-integration.test.js +348 -0
  203. package/data/probe/npm/tests/extractor-integration.test.js +162 -0
  204. package/data/probe/npm/tests/extractor.test.js +317 -0
  205. package/data/probe/npm/tests/fixtures/sampleDiagrams.js +267 -0
  206. package/data/probe/npm/tests/integration/claude-code-auto-fallback.spec.js +148 -0
  207. package/data/probe/npm/tests/integration/claude-code-multi-step.spec.js +127 -0
  208. package/data/probe/npm/tests/integration/claude-code-tool-events.spec.js +163 -0
  209. package/data/probe/npm/tests/integration/codex-auto-fallback.spec.js +191 -0
  210. package/data/probe/npm/tests/integration/codex-tool-events.spec.js +147 -0
  211. package/data/probe/npm/tests/integration/examplesChatMcp.test.js +402 -0
  212. package/data/probe/npm/tests/integration/mcpDotenvSupport.test.js +174 -0
  213. package/data/probe/npm/tests/integration/mcpErrorHandling.test.js +566 -0
  214. package/data/probe/npm/tests/integration/mcpRobustness.test.js +564 -0
  215. package/data/probe/npm/tests/integration/mcpStdoutPurity.test.js +355 -0
  216. package/data/probe/npm/tests/integration/probeAgentMcp.test.js +398 -0
  217. package/data/probe/npm/tests/integration/retryFallback.test.js +368 -0
  218. package/data/probe/npm/tests/integration/schema-in-initial-message.test.js +318 -0
  219. package/data/probe/npm/tests/integration/schema-validation-loop-prevention.test.js +244 -0
  220. package/data/probe/npm/tests/integration/schemaRetryLogic.test.js +94 -0
  221. package/data/probe/npm/tests/integration/validationFlow.test.js +329 -0
  222. package/data/probe/npm/tests/manual/test-codex-basic.js +110 -0
  223. package/data/probe/npm/tests/mcp/mcpClientManager.test.js +614 -0
  224. package/data/probe/npm/tests/mcp/mcpConfig.test.js +359 -0
  225. package/data/probe/npm/tests/mcp/mcpXmlBridge.test.js +436 -0
  226. package/data/probe/npm/tests/mcp/mockMcpServer.js +510 -0
  227. package/data/probe/npm/tests/mcp-strict-syntax.test.js +319 -0
  228. package/data/probe/npm/tests/mermaidQuoteEscaping.test.js +214 -0
  229. package/data/probe/npm/tests/nestedQuoteFix.test.js +40 -0
  230. package/data/probe/npm/tests/setup.js +46 -0
  231. package/data/probe/npm/tests/unit/allowed-tools.test.js +513 -0
  232. package/data/probe/npm/tests/unit/attempt-completion-closing-tag-in-content.test.js +188 -0
  233. package/data/probe/npm/tests/unit/attemptCompletionJsonFix.test.js +238 -0
  234. package/data/probe/npm/tests/unit/attemptCompletionJsonIssue.test.js +128 -0
  235. package/data/probe/npm/tests/unit/backtickAutoFix.test.js +35 -0
  236. package/data/probe/npm/tests/unit/bash-probe-agent-integration.test.js +389 -0
  237. package/data/probe/npm/tests/unit/bash-simple-commands.test.js +324 -0
  238. package/data/probe/npm/tests/unit/bash-tool-comprehensive.test.js +371 -0
  239. package/data/probe/npm/tests/unit/bash-tool-integration.test.js +310 -0
  240. package/data/probe/npm/tests/unit/bash-tool.test.js +341 -0
  241. package/data/probe/npm/tests/unit/completion-prompt.test.js +379 -0
  242. package/data/probe/npm/tests/unit/cwd-path-options.test.js +287 -0
  243. package/data/probe/npm/tests/unit/delegate-limits.test.js +422 -0
  244. package/data/probe/npm/tests/unit/direct-content-attempt-completion.test.js +235 -0
  245. package/data/probe/npm/tests/unit/edit-create-tools.test.js +609 -0
  246. package/data/probe/npm/tests/unit/enhancedMermaidValidation.test.js +577 -0
  247. package/data/probe/npm/tests/unit/extract-content.test.js +83 -0
  248. package/data/probe/npm/tests/unit/extract-multiple-targets.test.js +89 -0
  249. package/data/probe/npm/tests/unit/fallbackManager.test.js +442 -0
  250. package/data/probe/npm/tests/unit/githubCompatibilityValidation.test.js +258 -0
  251. package/data/probe/npm/tests/unit/imageConfig.test.js +149 -0
  252. package/data/probe/npm/tests/unit/imagePathResolution.test.js +345 -0
  253. package/data/probe/npm/tests/unit/json-fixing-agent.test.js +238 -0
  254. package/data/probe/npm/tests/unit/json-validation-enhanced-errors.test.js +199 -0
  255. package/data/probe/npm/tests/unit/jsonValidationInfiniteLoopFix.test.js +228 -0
  256. package/data/probe/npm/tests/unit/maidIntegration.test.js +139 -0
  257. package/data/probe/npm/tests/unit/maxIterationsWarning.test.js +195 -0
  258. package/data/probe/npm/tests/unit/mermaidEdgeLabelFix.test.js +161 -0
  259. package/data/probe/npm/tests/unit/mermaidHtmlEntities.test.js +76 -0
  260. package/data/probe/npm/tests/unit/mermaidInfiniteLoopFix.test.js +64 -0
  261. package/data/probe/npm/tests/unit/mermaidValidation.test.js +723 -0
  262. package/data/probe/npm/tests/unit/mermaidValidationVisorExample.test.js +309 -0
  263. package/data/probe/npm/tests/unit/probe-agent-clone-realistic.test.js +643 -0
  264. package/data/probe/npm/tests/unit/probe-agent-clone.test.js +476 -0
  265. package/data/probe/npm/tests/unit/probe-agent-delegate.test.js +400 -0
  266. package/data/probe/npm/tests/unit/probe-agent-model-option.test.js +118 -0
  267. package/data/probe/npm/tests/unit/probeTool-security.test.js +283 -0
  268. package/data/probe/npm/tests/unit/readImageTool.test.js +418 -0
  269. package/data/probe/npm/tests/unit/retryManager.test.js +317 -0
  270. package/data/probe/npm/tests/unit/schema-aware-reminders.test.js +288 -0
  271. package/data/probe/npm/tests/unit/schemaDefinitionDetection.test.js +115 -0
  272. package/data/probe/npm/tests/unit/schemaUtils.test.js +1268 -0
  273. package/data/probe/npm/tests/unit/simpleTelemetry.test.js +282 -0
  274. package/data/probe/npm/tests/unit/simplified-attempt-completion.test.js +274 -0
  275. package/data/probe/npm/tests/unit/single-quote-json-bug.test.js +231 -0
  276. package/data/probe/npm/tests/unit/subgraphAutoFix.test.js +110 -0
  277. package/data/probe/npm/tests/unit/system-prompt.test.js +32 -0
  278. package/data/probe/npm/tests/unit/types-probe-agent-options.test.js +42 -0
  279. package/data/probe/npm/tests/unit/xmlParsing.test.js +720 -0
  280. package/data/probe/npm/tsconfig.json +21 -0
  281. package/data/probe/result1.txt +19 -0
  282. package/data/probe/result2.txt +26 -0
  283. package/data/probe/scripts/benchmark.sh +270 -0
  284. package/data/probe/scripts/cache_memory_analysis.rs +844 -0
  285. package/data/probe/scripts/claude-hook-wrapper.sh +56 -0
  286. package/data/probe/site/.env.example +10 -0
  287. package/data/probe/site/DEPLOYMENT.md +86 -0
  288. package/data/probe/site/README.md +183 -0
  289. package/data/probe/site/adding-languages.md +135 -0
  290. package/data/probe/site/ai-chat.md +427 -0
  291. package/data/probe/site/ai-integration.md +1488 -0
  292. package/data/probe/site/blog/agentic-flow-custom-xml-protocol.md +407 -0
  293. package/data/probe/site/blog/index.md +118 -0
  294. package/data/probe/site/blog/v0.6.0-release.md +426 -0
  295. package/data/probe/site/blog.md +8 -0
  296. package/data/probe/site/changelog.md +200 -0
  297. package/data/probe/site/cli-mode.md +437 -0
  298. package/data/probe/site/code-extraction.md +436 -0
  299. package/data/probe/site/contributing/README.md +9 -0
  300. package/data/probe/site/contributing/documentation-cross-references.md +215 -0
  301. package/data/probe/site/contributing/documentation-maintenance.md +275 -0
  302. package/data/probe/site/contributing/documentation-structure.md +75 -0
  303. package/data/probe/site/documentation-cross-references.md +215 -0
  304. package/data/probe/site/documentation-guide.md +132 -0
  305. package/data/probe/site/documentation-maintenance.md +275 -0
  306. package/data/probe/site/features.md +147 -0
  307. package/data/probe/site/how-it-works.md +118 -0
  308. package/data/probe/site/index.md +175 -0
  309. package/data/probe/site/index.md.bak +133 -0
  310. package/data/probe/site/installation.md +235 -0
  311. package/data/probe/site/integrations/docker.md +248 -0
  312. package/data/probe/site/integrations/github-actions.md +413 -0
  313. package/data/probe/site/language-support-overview.md +168 -0
  314. package/data/probe/site/mcp-integration.md +587 -0
  315. package/data/probe/site/mcp-server.md +304 -0
  316. package/data/probe/site/navigation-structure.md +76 -0
  317. package/data/probe/site/nodejs-sdk.md +798 -0
  318. package/data/probe/site/output-formats.md +625 -0
  319. package/data/probe/site/package.json +21 -0
  320. package/data/probe/site/public/_headers +28 -0
  321. package/data/probe/site/public/_redirects +11 -0
  322. package/data/probe/site/quick-start.md +289 -0
  323. package/data/probe/site/search-functionality.md +291 -0
  324. package/data/probe/site/search-reference.md +291 -0
  325. package/data/probe/site/supported-languages.md +215 -0
  326. package/data/probe/site/use-cases/README.md +8 -0
  327. package/data/probe/site/use-cases/advanced-cli.md +253 -0
  328. package/data/probe/site/use-cases/ai-code-editors.md +239 -0
  329. package/data/probe/site/use-cases/building-ai-tools.md +529 -0
  330. package/data/probe/site/use-cases/cli-ai-workflows.md +285 -0
  331. package/data/probe/site/use-cases/deploying-probe-web-interface.md +255 -0
  332. package/data/probe/site/use-cases/integrating-probe-into-ai-code-editors.md +161 -0
  333. package/data/probe/site/use-cases/nodejs-sdk.md +596 -0
  334. package/data/probe/site/use-cases/team-chat.md +350 -0
  335. package/data/probe/site/web-interface.md +434 -0
  336. package/data/probe/site/wrangler.toml +9 -0
  337. package/data/probe/test-api-key.sh +1 -0
  338. package/data/probe/test-probe-implementation/hello.js +7 -0
  339. package/data/probe/test_cases/demonstrate_early_termination_issues.sh +176 -0
  340. package/data/probe/test_cases/early_termination_issues.rs +533 -0
  341. package/data/probe/test_data/test_nested_struct.go +26 -0
  342. package/data/probe/tests/README.md +286 -0
  343. package/data/probe/tests/README_search_determinism_tests.md +116 -0
  344. package/data/probe/tests/adjacent_comment_test.rs +152 -0
  345. package/data/probe/tests/apostrophe_handling_tests.rs +132 -0
  346. package/data/probe/tests/block_filtering_with_ast_tests.rs +669 -0
  347. package/data/probe/tests/block_merging_tests.rs +396 -0
  348. package/data/probe/tests/c_outline_format_tests.rs +2179 -0
  349. package/data/probe/tests/cache_invalidation_issues.rs.disabled +682 -0
  350. package/data/probe/tests/cache_order_tests.rs +147 -0
  351. package/data/probe/tests/cache_query_scoping_tests.rs +221 -0
  352. package/data/probe/tests/cli_tests.rs +680 -0
  353. package/data/probe/tests/comment_context_integration_test.rs +240 -0
  354. package/data/probe/tests/common.rs +33 -0
  355. package/data/probe/tests/complex_block_merging_tests.rs +599 -0
  356. package/data/probe/tests/complex_query_block_filtering_tests.rs +422 -0
  357. package/data/probe/tests/control_flow_closing_braces_test.rs +91 -0
  358. package/data/probe/tests/cpp_outline_format_tests.rs +1507 -0
  359. package/data/probe/tests/csharp_outline_format_tests.rs +941 -0
  360. package/data/probe/tests/elastic_query_integration_tests.rs +922 -0
  361. package/data/probe/tests/extract_command_tests.rs +1848 -0
  362. package/data/probe/tests/extract_deduplication_tests.rs +146 -0
  363. package/data/probe/tests/extract_input_file_tests.rs +84 -0
  364. package/data/probe/tests/extract_prompt_tests.rs +102 -0
  365. package/data/probe/tests/filename_search_tests.rs +96 -0
  366. package/data/probe/tests/fixtures/user/AssemblyInfo.cs +3 -0
  367. package/data/probe/tests/github_extract_tests.rs +234 -0
  368. package/data/probe/tests/go_comment_test.rs +253 -0
  369. package/data/probe/tests/go_outline_format_tests.rs +2587 -0
  370. package/data/probe/tests/go_path_resolver_tests.rs +96 -0
  371. package/data/probe/tests/html_outline_format_tests.rs +637 -0
  372. package/data/probe/tests/integration_tests.rs +837 -0
  373. package/data/probe/tests/ip_whitelist_test.rs +148 -0
  374. package/data/probe/tests/java_outline_format_tests.rs +1611 -0
  375. package/data/probe/tests/javascript_extract_tests.rs +315 -0
  376. package/data/probe/tests/javascript_outline_format_tests.rs +1464 -0
  377. package/data/probe/tests/json_format_tests.rs +436 -0
  378. package/data/probe/tests/json_schema_validation_tests.rs +450 -0
  379. package/data/probe/tests/lib_usage.rs +60 -0
  380. package/data/probe/tests/line_comment_context_extension_test.rs +459 -0
  381. package/data/probe/tests/line_map_cache_tests.rs +114 -0
  382. package/data/probe/tests/markdown_integration_tests.rs +190 -0
  383. package/data/probe/tests/mocks/test_ip_whitelist.go +11 -0
  384. package/data/probe/tests/mocks/test_object.js +27 -0
  385. package/data/probe/tests/mocks/test_struct.go +50 -0
  386. package/data/probe/tests/multi_keyword_pattern_tests.rs +464 -0
  387. package/data/probe/tests/multi_language_syntax_integration_tests.rs +218 -0
  388. package/data/probe/tests/multiple_capture_groups_tests.rs +169 -0
  389. package/data/probe/tests/negative_compound_word_tests.rs +246 -0
  390. package/data/probe/tests/nested_symbol_extraction_tests.rs +99 -0
  391. package/data/probe/tests/outline_cross_file_interference_test.rs +335 -0
  392. package/data/probe/tests/outline_keyword_preservation_test.rs +67 -0
  393. package/data/probe/tests/output_format_edge_cases_tests.rs +693 -0
  394. package/data/probe/tests/parallel_extraction_tests.rs +178 -0
  395. package/data/probe/tests/parallel_search_tests.rs +355 -0
  396. package/data/probe/tests/path_resolver_tests.rs +698 -0
  397. package/data/probe/tests/php_outline_format_extended_tests.rs +928 -0
  398. package/data/probe/tests/php_outline_format_tests.rs +768 -0
  399. package/data/probe/tests/property_tests.proptest-regressions +9 -0
  400. package/data/probe/tests/property_tests.rs +118 -0
  401. package/data/probe/tests/python_outline_format_tests.rs +1538 -0
  402. package/data/probe/tests/query_command_json_tests.rs +438 -0
  403. package/data/probe/tests/query_command_tests.rs +232 -0
  404. package/data/probe/tests/query_command_xml_tests.rs +569 -0
  405. package/data/probe/tests/quoted_term_with_negative_keyword_tests.rs +216 -0
  406. package/data/probe/tests/required_terms_filename_tests.rs +116 -0
  407. package/data/probe/tests/ruby_outline_format_tests.rs +1011 -0
  408. package/data/probe/tests/rust_line_comment_context_test.rs +151 -0
  409. package/data/probe/tests/rust_outline_format_enhanced_tests.rs +725 -0
  410. package/data/probe/tests/rust_outline_format_tests.rs +843 -0
  411. package/data/probe/tests/schemas/xml_output_schema.xsd +38 -0
  412. package/data/probe/tests/search_determinism_tests.rs +451 -0
  413. package/data/probe/tests/search_hints_tests.rs +253 -0
  414. package/data/probe/tests/special_character_escaping_tests.rs +417 -0
  415. package/data/probe/tests/stemming_compound_word_filtering_tests.rs +535 -0
  416. package/data/probe/tests/strict_elastic_syntax_tests.rs +404 -0
  417. package/data/probe/tests/swift_outline_format_tests.rs +3319 -0
  418. package/data/probe/tests/symbols_tests.rs +166 -0
  419. package/data/probe/tests/test_file.rs +45 -0
  420. package/data/probe/tests/test_tokenize.rs +28 -0
  421. package/data/probe/tests/timeout_tests.rs +82 -0
  422. package/data/probe/tests/tokenization_tests.rs +195 -0
  423. package/data/probe/tests/tokenized_block_filtering_tests.rs +174 -0
  424. package/data/probe/tests/typescript_extract_tests.rs +214 -0
  425. package/data/probe/tests/typescript_outline_format_tests.rs +2188 -0
  426. package/data/probe/tests/xml_format_tests.rs +568 -0
  427. package/data/probe/tests/xml_schema_validation_tests.rs +497 -0
  428. package/data/scripts/postinstall.mjs +9 -0
  429. package/data/scripts/set-version.js +0 -0
  430. package/data/scripts/wiki-build.sh +111 -0
  431. package/data/scripts/wiki-deploy.sh +73 -0
  432. package/data/serve.json +12 -0
  433. package/data/test/demo-dynamic.html +134 -0
  434. package/data/test/demo-esm.html +105 -0
  435. package/data/test/demo-iife.html +78 -0
  436. package/data/tsconfig.json +7 -0
  437. package/data/vite.server.ts +483 -0
  438. package/data/vitest.config.ts +40 -0
  439. package/data/wiki/Home.md +58 -0
  440. package/data/wiki/_Sidebar.md +39 -0
  441. package/docs-mcp.config.json +20 -0
  442. package/package.json +56 -0
  443. package/src/config.js +111 -0
  444. package/src/index.js +395 -0
@@ -0,0 +1,657 @@
1
+ Solutions for common issues with `@crownpeak/dqm-react-component`.
2
+
3
+ ## Table of Contents
4
+ - [FAQ](#faq)
5
+ - [Error Messages](#error-messages)
6
+ - [AI Features Issues](#ai-features-issues)
7
+ - [Browser Compatibility](#browser-compatibility)
8
+ - [Performance Issues](#performance-issues)
9
+ - [Debugging Tools](#debugging-tools)
10
+
11
+ ## FAQ
12
+
13
+ ### General
14
+
15
+ #### Q: Sidebar not showing after installation?
16
+
17
+ **A:** Check these common issues:
18
+
19
+ 1. **Authentication**: Verify `apiKey` and `websiteId` are set
20
+ 2. **Component State**: Ensure `open` prop is set to `true` or FAB button is clicked
21
+ 3. **CSS Conflicts**: Check if global styles hide or break sidebar
22
+ 4. **Browser Console**: Look for errors in console
23
+
24
+ ```typescript
25
+ // Verify authentication
26
+ console.log('API Key:', localStorage.getItem('dqm_apiKey'));
27
+ console.log('Website ID:', localStorage.getItem('dqm_websiteID'));
28
+
29
+ // Force open sidebar
30
+ <DQMSidebar
31
+ open={true} // Force open for testing
32
+ onOpen={...}
33
+ onClose={...}
34
+ />
35
+ ```
36
+
37
+ ---
38
+
39
+ #### Q: How do I know which authentication mode is active?
40
+
41
+ **A:** Use `onAuthSuccess` callback to inspect session type:
42
+
43
+ ```typescript
44
+ <DQMSidebar
45
+ open={open}
46
+ onOpen={() => setOpen(true)}
47
+ onClose={() => setOpen(false)}
48
+ onAuthSuccess={(credentials) => {
49
+ console.log('Session Type:', credentials.sessionType);
50
+ // 'direct' = Direct DQM API calls
51
+ // 'backend' = Proxy via backend server
52
+ }}
53
+ />
54
+ ```
55
+
56
+ ---
57
+
58
+ #### Q: Can I use DQM without React?
59
+
60
+ **A:** Yes! Use the standalone widget bundle (IIFE or ESM):
61
+
62
+ ```html
63
+ <script src="https://unpkg.com/@crownpeak/dqm-react-component/dist/dqm-widget.iife.js"></script>
64
+ <script>
65
+ window.DQMWidget.loadDQMWidget({
66
+ config: {
67
+ websiteId: 'your-website-id',
68
+ apiKey: 'your-api-key',
69
+ }
70
+ });
71
+ </script>
72
+ ```
73
+
74
+ See **[Widget Guide](./WIDGET-GUIDE.md)** for details.
75
+
76
+ ---
77
+
78
+ #### Q: How do I disable DQM in production?
79
+
80
+ **A:** Use the `disabled` config property:
81
+
82
+ ```typescript
83
+ <DQMSidebar
84
+ open={open}
85
+ onOpen={...}
86
+ onClose={...}
87
+ config={{
88
+ disabled: process.env.NODE_ENV === 'production',
89
+ }}
90
+ />
91
+ ```
92
+
93
+ Or conditionally render:
94
+
95
+ ```typescript
96
+ {process.env.NODE_ENV === 'development' && (
97
+ <DQMSidebar open={open} onOpen={...} onClose={...} />
98
+ )}
99
+ ```
100
+
101
+ ---
102
+
103
+ #### Q: Can I customize sidebar styles?
104
+
105
+ **A:** No, the sidebar uses Shadow DOM for style isolation. Styles are bundled and cannot be overridden. This ensures consistent rendering across all environments.
106
+
107
+ ---
108
+
109
+ ### AI Features
110
+
111
+ #### Q: Why is translation not working?
112
+
113
+ **A:** Check these requirements:
114
+
115
+ 1. **Enabled**: `translation.enabled` must be `true`
116
+ 2. **API Key**: Valid OpenAI `apiKey` (starts with `sk-`)
117
+ 3. **Model**: Check model name is correct
118
+ 4. **Target Language**: Valid ISO 639-1 code (e.g., `'de'`, `'es'`, `'fr'`)
119
+
120
+ ```typescript
121
+ config={{
122
+ translation: {
123
+ enabled: true, // MUST be true
124
+ apiKey: 'sk-...', // Valid OpenAI API key
125
+ model: 'gpt-4o-mini', // Correct model name
126
+ targetLanguage: 'de', // ISO 639-1 code
127
+ mode: 'fast',
128
+ },
129
+ }}
130
+ ```
131
+
132
+ **Debug:**
133
+ ```typescript
134
+ // Check localStorage settings
135
+ console.log('Translation Enabled:', localStorage.getItem('dqm_translate_results_enabled'));
136
+ console.log('Target Language:', localStorage.getItem('dqm_target_language'));
137
+ console.log('OpenAI API Key Set:', !!localStorage.getItem('dqm_openai_apiKey'));
138
+ ```
139
+
140
+ ---
141
+
142
+ #### Q: Translation taking too long?
143
+
144
+ **A:** Try these optimizations:
145
+
146
+ 1. **Switch to Fast Mode**: `mode: 'fast'` (15s timeout vs 120s for `'full'`)
147
+ 2. **Use a faster model**: `gpt-4o-mini` is optimized for speed
148
+
149
+ ```typescript
150
+ // Optimize for speed
151
+ translation: {
152
+ enabled: true,
153
+ apiKey: 'sk-...',
154
+ model: 'gpt-4o-mini', // Fast + cheap
155
+ targetLanguage: 'de',
156
+ mode: 'fast', // 15s timeout
157
+ }
158
+ ```
159
+
160
+ ---
161
+
162
+ #### Q: Summary generation failing?
163
+
164
+ **A:** Check these:
165
+
166
+ 1. **OpenAI API Key**: Summary requires valid OpenAI key
167
+ 2. **Model**: Ensure model supports JSON mode (`gpt-4o-mini`, `gpt-4o`, `gpt-4.1`)
168
+ 3. **Timeout**: Increase timeout if analysis has many checkpoints
169
+
170
+ ```typescript
171
+ config={{
172
+ summary: {
173
+ enabled: true,
174
+ backend: 'openai', // Only OpenAI supported
175
+ apiKey: 'sk-...', // Valid key
176
+ model: 'gpt-4o-mini', // Supported model
177
+ timeoutMs: 60000, // Increase timeout for large analyses
178
+ },
179
+ }}
180
+ ```
181
+
182
+ ---
183
+
184
+ #### Q: How do I clear AI cache?
185
+
186
+ **A:** Clear IndexedDB cache:
187
+
188
+ ```javascript
189
+ // Clear translation cache
190
+ indexedDB.deleteDatabase('DQMTranslationCache');
191
+
192
+ // Reload page
193
+ window.location.reload();
194
+ ```
195
+
196
+ Or use browser DevTools:
197
+ 1. Open DevTools (F12)
198
+ 2. Go to "Application" tab
199
+ 3. Click "IndexedDB" → "DQMTranslationCache"
200
+ 4. Right-click → "Delete database"
201
+
202
+ ---
203
+
204
+ ### Internationalization
205
+
206
+ #### Q: How do I change sidebar language?
207
+
208
+ **A:** Set `dqm_locale` in localStorage:
209
+
210
+ ```typescript
211
+ // Change to German
212
+ localStorage.setItem('dqm_locale', 'de');
213
+
214
+ // Reload to apply
215
+ window.location.reload();
216
+ ```
217
+
218
+ Or use i18next directly:
219
+
220
+ ```typescript
221
+ import { useTranslation } from 'react-i18next';
222
+
223
+ function MyComponent() {
224
+ const { i18n } = useTranslation();
225
+
226
+ return (
227
+ <button onClick={() => i18n.changeLanguage('de')}>
228
+ Deutsch
229
+ </button>
230
+ );
231
+ }
232
+ ```
233
+
234
+ **Supported Languages:** `en`, `de`, `es`
235
+
236
+ ---
237
+
238
+ ## Error Messages
239
+
240
+ ### Authentication Errors
241
+
242
+ #### `AUTH_001: Invalid API Key`
243
+
244
+ **Cause:** API key is invalid or expired.
245
+
246
+ **Solution:**
247
+ 1. Verify API key is correct (check for typos)
248
+ 2. Check API key hasn't been revoked in Crownpeak DQM admin
249
+ 3. Ensure API key has access to specified website ID
250
+
251
+ ```typescript
252
+ // Verify credentials
253
+ console.log('API Key:', localStorage.getItem('dqm_apiKey'));
254
+ console.log('Website ID:', localStorage.getItem('dqm_websiteID'));
255
+ ```
256
+
257
+ ---
258
+
259
+ #### `AUTH_002: Website ID Not Found`
260
+
261
+ **Cause:** Website ID doesn't exist or API key doesn't have access.
262
+
263
+ **Solution:**
264
+ 1. Verify website ID is correct
265
+ 2. Check API key has permission for this website
266
+ 3. Contact Crownpeak support if issue persists
267
+
268
+ ---
269
+
270
+ #### `AUTH_003: Backend Server Unreachable`
271
+
272
+ **Cause:** Backend server (authentication proxy) is down or URL is incorrect.
273
+
274
+ **Solution:**
275
+ 1. Verify `authBackendUrl` is correct
276
+ 2. Check backend server is running
277
+ 3. Check CORS configuration on backend
278
+
279
+ ```typescript
280
+ // Test backend connectivity
281
+ fetch('https://your-backend.com/auth/session')
282
+ .then(res => res.json())
283
+ .then(data => console.log('Backend reachable:', data))
284
+ .catch(err => console.error('Backend unreachable:', err));
285
+ ```
286
+
287
+ ---
288
+
289
+ ### Translation Errors
290
+
291
+ #### `TRANSLATION_001: OpenAI API Key Invalid`
292
+
293
+ **Cause:** OpenAI API key is invalid or quota exceeded.
294
+
295
+ **Solution:**
296
+ 1. Verify API key is correct (starts with `sk-`)
297
+ 2. Check OpenAI account has credits
298
+ 3. Verify API key hasn't been revoked
299
+
300
+ ```typescript
301
+ // Test OpenAI API key
302
+ fetch('https://api.openai.com/v1/models', {
303
+ headers: { 'Authorization': `Bearer sk-...` }
304
+ })
305
+ .then(res => res.json())
306
+ .then(data => console.log('OpenAI API working:', data))
307
+ .catch(err => console.error('OpenAI API error:', err));
308
+ ```
309
+
310
+ ---
311
+
312
+ #### `TRANSLATION_003: Translation Timeout`
313
+
314
+ **Cause:** Translation took longer than configured timeout.
315
+
316
+ **Solution:**
317
+ 1. Switch from `'full'` to `'fast'` mode
318
+ 2. Reduce number of checkpoints (if applicable)
319
+
320
+ ```typescript
321
+ // Optimize for speed
322
+ translation: {
323
+ apiKey: 'sk-...',
324
+ model: 'gpt-4o-mini',
325
+ targetLanguage: 'de',
326
+ mode: 'fast', // 15s timeout instead of 120s
327
+ }
328
+ ```
329
+
330
+ ---
331
+
332
+ ### Summary Errors
333
+
334
+ #### `SUMMARY_001: OpenAI API Error`
335
+
336
+ **Cause:** OpenAI API request failed (rate limit, quota, network).
337
+
338
+ **Solution:**
339
+ 1. Check OpenAI account credits
340
+ 2. Verify API key permissions
341
+ 3. Check rate limits (tier-based)
342
+
343
+ ---
344
+
345
+ #### `SUMMARY_002: Chunking Strategy Failed`
346
+
347
+ **Cause:** Too many checkpoints, chunking strategy couldn't complete.
348
+
349
+ **Solution:**
350
+ 1. Increase timeout: `summary.timeoutMs: 90000`
351
+ 2. Reduce checkpoint count (filter failed only)
352
+ 3. Use simpler model (`gpt-4o-mini` instead of `gpt-4o`)
353
+
354
+ ---
355
+
356
+ ### Analysis Errors
357
+
358
+ #### `ANALYSIS_001: DQM API Timeout`
359
+
360
+ **Cause:** DQM API took too long to analyze HTML.
361
+
362
+ **Solution:**
363
+ 1. Reduce HTML complexity (remove unnecessary elements)
364
+ 2. Check HTML size (<1MB recommended)
365
+ 3. Try again (transient error)
366
+
367
+ ---
368
+
369
+ #### `ANALYSIS_002: Invalid HTML`
370
+
371
+ **Cause:** HTML contains syntax errors preventing analysis.
372
+
373
+ **Solution:**
374
+ 1. Validate HTML with W3C Validator
375
+ 2. Check for unclosed tags
376
+ 3. Remove invalid characters
377
+
378
+ ---
379
+
380
+ ## AI Features Issues
381
+
382
+ ### Performance
383
+
384
+ | Checkpoint Count | Translation Time |
385
+ |-----------------|------------------|
386
+ | 10 | 2-3s |
387
+ | 50 | 5-8s |
388
+ | 100 | 10-15s |
389
+
390
+ **Note:** Times assume good network connection. Cached checkpoints: instant (0ms).
391
+
392
+ ### Caching Issues
393
+
394
+ #### Cache Not Working?
395
+
396
+ **Symptoms:** Translation re-runs every time even with same checkpoints.
397
+
398
+ **Cause:** IndexedDB cache disabled or cleared.
399
+
400
+ **Solution:**
401
+ 1. Verify IndexedDB works in browser
402
+ 2. Check browser storage quota
403
+ 3. Enable IndexedDB cache in config
404
+
405
+ ```typescript
406
+ // Check IndexedDB support
407
+ if ('indexedDB' in window) {
408
+ console.log('IndexedDB supported');
409
+ } else {
410
+ console.error('IndexedDB not supported - caching disabled');
411
+ }
412
+ ```
413
+
414
+ ---
415
+
416
+ #### Cache Taking Too Much Space?
417
+
418
+ **Symptoms:** Browser storage quota exceeded.
419
+
420
+ **Solution:** Clear old cache entries:
421
+
422
+ ```javascript
423
+ // Clear translation cache
424
+ indexedDB.deleteDatabase('DQMTranslationCache');
425
+
426
+ // Cache will rebuild on next translation
427
+ ```
428
+
429
+ ---
430
+
431
+ ## Browser Compatibility
432
+
433
+ ### React Version Compatibility
434
+
435
+ | React Version | Compatible | Notes |
436
+ |---------------|------------|-------|
437
+ | 18.x | ✅ Yes | Recommended |
438
+ | 17.x | ⚠️ Partial | Some features may not work |
439
+ | 16.x | ❌ No | Not supported |
440
+
441
+ ---
442
+
443
+ ### Material-UI Version Compatibility
444
+
445
+ | MUI Version | Compatible | Notes |
446
+ |-------------|------------|-------|
447
+ | 5.x | ✅ Yes | Recommended |
448
+ | 4.x | ❌ No | Not supported |
449
+
450
+ ---
451
+
452
+ ## Performance Issues
453
+
454
+ ### Sidebar Loading Slowly?
455
+
456
+ **Symptoms:** Sidebar takes 5+ seconds to open.
457
+
458
+ **Possible Causes:**
459
+ 1. Large HTML document (>1MB)
460
+ 2. Slow DQM API response
461
+ 3. AI features enabled with slow backend
462
+
463
+ **Solutions:**
464
+
465
+ ```typescript
466
+ // 1. Optimize HTML before analysis
467
+ const optimizedHtml = document.documentElement.outerHTML
468
+ .replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi, '') // Remove scripts
469
+ .replace(/<style\b[^<]*(?:(?!<\/style>)<[^<]*)*<\/style>/gi, ''); // Remove styles
470
+
471
+ // 2. Disable AI features for faster loading
472
+ <DQMSidebar
473
+ open={open}
474
+ onOpen={...}
475
+ onClose={...}
476
+ config={{
477
+ websiteId: '...',
478
+ apiKey: '...',
479
+ // translation: { enabled: false }, // Disable for faster loading
480
+ // summary: { enabled: false },
481
+ }}
482
+ />
483
+
484
+ // 3. Use fast mode for AI translation
485
+ translation: {
486
+ enabled: true,
487
+ apiKey: 'sk-...',
488
+ model: 'gpt-4o-mini',
489
+ targetLanguage: 'de',
490
+ mode: 'fast', // 15s timeout instead of 120s
491
+ }
492
+ ```
493
+
494
+ ---
495
+
496
+ ### High Memory Usage?
497
+
498
+ **Symptoms:** Browser tab uses excessive memory.
499
+
500
+ **Possible Causes:**
501
+ 1. Large IndexedDB cache
502
+ 2. Many cached highlight renderings
503
+
504
+ **Solutions:**
505
+
506
+ ```typescript
507
+ // Clear cache periodically
508
+ indexedDB.deleteDatabase('DQMTranslationCache');
509
+ ```
510
+
511
+ ---
512
+
513
+ ## Debugging Tools
514
+
515
+ ### Enable Debug Logging
516
+
517
+ ```typescript
518
+ // Method 1: Via localStorage
519
+ localStorage.setItem('dqm_debug', 'true');
520
+ window.location.reload();
521
+
522
+ // Method 2: Via logger (if using library export)
523
+ import { logger } from '@crownpeak/dqm-react-component';
524
+ logger.setDebugMode(true);
525
+ ```
526
+
527
+ **Log Format:**
528
+ ```
529
+ [DQM] [DEBUG] Analysis started
530
+ [DQM] [WARN] Translation timeout (15s)
531
+ [DQM] [ERROR] API request failed: 401 Unauthorized
532
+ ```
533
+
534
+ ---
535
+
536
+ ### Inspect localStorage
537
+
538
+ ```javascript
539
+ // View all DQM settings
540
+ Object.keys(localStorage)
541
+ .filter(key => key.startsWith('dqm_'))
542
+ .forEach(key => {
543
+ console.log(key, '=', localStorage.getItem(key));
544
+ });
545
+ ```
546
+
547
+ **Expected Keys:**
548
+ - `dqm_apiKey` - DQM API key
549
+ - `dqm_websiteID` - Website ID
550
+ - `dqm_translate_results_enabled` - Translation toggle
551
+ - `dqm_target_language` - Target language
552
+ - `dqm_ai_summary_enabled` - Summary toggle
553
+ - `dqm_openai_apiKey` - OpenAI API key
554
+ - `dqm_openai_model` - OpenAI model name
555
+ - `dqm_locale` - UI language
556
+ - `dqm_debug` - Debug mode
557
+
558
+ ---
559
+
560
+ ### Inspect IndexedDB
561
+
562
+ 1. Open DevTools (F12)
563
+ 2. Go to "Application" tab
564
+ 3. Click "IndexedDB" → "DQMTranslationCache"
565
+ 4. View cached translations
566
+
567
+ **Cache Structure:**
568
+ ```javascript
569
+ {
570
+ key: 'fnv1a_hash_of_checkpoint',
571
+ value: {
572
+ originalText: 'Original checkpoint description',
573
+ translatedText: 'Übersetzter Checkpoint-Text',
574
+ targetLanguage: 'de',
575
+ timestamp: 1234567890,
576
+ }
577
+ }
578
+ ```
579
+
580
+ ---
581
+
582
+ ### Network Inspection
583
+
584
+ **DQM API Calls:**
585
+ 1. Open DevTools (F12) → "Network" tab
586
+ 2. Filter by "dqm" or "api.crownpeak.net"
587
+ 3. Check request/response:
588
+ - **POST /assets**: HTML analysis request
589
+ - **GET /assets/{id}**: Poll for analysis result
590
+ - **GET /assets/{id}/pagehighlight/{checkpointId}**: Fetch highlighted HTML
591
+
592
+ **OpenAI API Calls:**
593
+ 1. Filter by "api.openai.com"
594
+ 2. Check requests:
595
+ - **POST /v1/chat/completions**: Translation or summary request
596
+ - Response should have `choices[0].message.content`
597
+
598
+ ---
599
+
600
+ ### Redux DevTools
601
+
602
+ Install Redux DevTools Extension:
603
+ - [Chrome](https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfibljd)
604
+ - [Firefox](https://addons.mozilla.org/en-US/firefox/addon/reduxdevtools/)
605
+
606
+ **Inspect State:**
607
+ 1. Open DevTools → "Redux" tab
608
+ 2. View state tree:
609
+ - `auth` - Authentication state
610
+ - `ai` - AI translation/summary state
611
+ - `highlight` - Error highlight navigation
612
+ - `locale` - UI language
613
+
614
+ ---
615
+
616
+ ### React DevTools
617
+
618
+ Install React DevTools Extension:
619
+ - [Chrome](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi)
620
+ - [Firefox](https://addons.mozilla.org/en-US/firefox/addon/react-devtools/)
621
+
622
+ **Inspect Components:**
623
+ 1. Open DevTools → "Components" tab
624
+ 2. Find `DQMSidebar` component
625
+ 3. View props and state
626
+
627
+ ---
628
+
629
+ ## Getting Help
630
+
631
+ ### Before Opening an Issue
632
+
633
+ 1. **Enable Debug Logging**: `localStorage.setItem('dqm_debug', 'true')`
634
+ 2. **Check Browser Console**: Look for error messages
635
+ 3. **Inspect Network Tab**: Verify API calls are successful
636
+ 4. **Review localStorage**: Ensure credentials are set
637
+ 5. **Test in Incognito**: Rule out extension conflicts
638
+
639
+ ### Include in Bug Reports
640
+
641
+ - **Browser**: Chrome 120.0.6099.109
642
+ - **React Version**: 18.2.0
643
+ - **MUI Version**: 5.14.0
644
+ - **Component Version**: 1.2.0
645
+ - **Error Message**: Full error from console
646
+ - **Steps to Reproduce**: Minimal code example
647
+ - **Expected vs Actual**: What you expected vs what happened
648
+
649
+ ---
650
+
651
+ ## See Also
652
+
653
+ - **[Examples](./EXAMPLES.md)** - Integration examples
654
+ - **[AI Features Guide](./AI-FEATURES.md)** - AI documentation
655
+ - **[API Reference](./API-REFERENCE.md)** - TypeScript API
656
+ - **[Migration Guide](./MIGRATION-GUIDE.md)** - Upgrade from v1.1 to v1.2
657
+ - **[GitHub Issues](https://github.com/e-Spirit/crownpeak-dqm-react-component/issues)** - Report bugs