@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
package/data/README.md ADDED
@@ -0,0 +1,315 @@
1
+ # Crownpeak DQM React Component
2
+
3
+ [![npm version](https://img.shields.io/npm/v/@crownpeak/dqm-react-component.svg)](https://www.npmjs.com/package/@crownpeak/dqm-react-component)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
5
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.6-blue)](https://www.typescriptlang.org/)
6
+ [![React](https://img.shields.io/badge/React-18%2B-blue)](https://reactjs.org/)
7
+
8
+ A React component library for integrating [Crownpeak Digital Quality Management (DQM)](https://www.crownpeak.com/) into
9
+ your React applications. Display quality analysis, accessibility violations, and checkpoint errors with visual
10
+ highlighting capabilities.
11
+
12
+ ## 🌟 Features
13
+
14
+ - **🤖 AI-Powered Translation & Summary** - Automatically translate analysis results into your language and generate intelligent summaries using OpenAI
15
+ - **📊 Quality Analysis** - Comprehensive quality metrics and scores
16
+ - **♿ Accessibility Checks** - WCAG compliance validation
17
+ - **🎯 Error Highlighting** - Visual highlighting of issues in HTML
18
+ - **🎨 Material-UI Design** - Beautiful, responsive sidebar interface
19
+ - **🔐 Secure Authentication** - Backend session management with secure credential storage
20
+ - **⚡ Real-time Analysis** - Live quality assessment as you edit
21
+ - **📱 Responsive** - Works on desktop, tablet, and mobile
22
+ - **🌍 Internationalization** - Supports English, German, and Spanish
23
+ - **🔧 TypeScript Support** - Full type definitions included
24
+
25
+ ## 📦 Installation
26
+
27
+ ```bash
28
+ npm install @crownpeak/dqm-react-component
29
+ ```
30
+
31
+ ## 🚀 Quick Start
32
+
33
+ ```tsx
34
+ import React, {useState} from 'react';
35
+ import {DQMSidebar} from '@crownpeak/dqm-react-component';
36
+
37
+ function App() {
38
+ const [open, setOpen] = useState(false);
39
+
40
+ const customHtml = `<html>
41
+ <head><title>Test Page</title></head>
42
+ <body>
43
+ <h1>Hello World</h1>
44
+ <img src="image.jpg" />
45
+ </body>`
46
+
47
+ return (
48
+ <div>
49
+ <button onClick={() => setOpen(true)}>Check Quality</button>
50
+
51
+ <DQMSidebar
52
+ open={sidebarOpen}
53
+ onOpen={() => setOpen(true)}
54
+ onClose={() => setOpen(false)}
55
+ debugHtml={customHtml}
56
+ config={{
57
+ // ... authentication options here
58
+ // look for "🔑 Authentication Setup" below
59
+ }}
60
+ />
61
+ </div>
62
+ );
63
+ }
64
+
65
+ export default App;
66
+ ```
67
+
68
+ ### AI-Powered Translation & Summary (Quick Example)
69
+
70
+ ```typescript
71
+ import {DQMSidebar} from '@crownpeak/dqm-react-component';
72
+
73
+ <DQMSidebar
74
+ open={isOpen}
75
+ onClose={() => setIsOpen(false)}
76
+ onOpen={() => setIsOpen(true)}
77
+ config={{
78
+ websiteId: 'your-website-id',
79
+ apiKey: 'your-api-key',
80
+ // Enable AI Translation (API key via localStorage: dqm_openai_apiKey)
81
+ translation: {
82
+ enabledByDefault: true,
83
+ computeBudgetMs: 15000, // 15s timeout for 'fast' mode
84
+ },
85
+ // Enable AI Summary (uses same OpenAI API key)
86
+ summary: {
87
+ timeoutMs: 30000, // 30s timeout
88
+ }
89
+ }}
90
+ />
91
+ ```
92
+
93
+ See **[AI Features Guide](./docs/AI-FEATURES.md)** for complete documentation including caching strategies and performance tuning.
94
+
95
+ ## 📖 Documentation
96
+
97
+ ### Core Documentation
98
+ - **[Quick Start Guide](./docs/QUICKSTART.md)** - Get up and running in 5 minutes
99
+ - **[Examples](./docs/EXAMPLES.md)** - Integration examples for React, Next.js, TypeScript
100
+ - **[Authentication Guide](./docs/AUTHENTICATION.md)** - Setup and configuration
101
+
102
+ ### AI Features
103
+ - **[AI Features Guide](./docs/AI-FEATURES.md)** - Translation & Summary with OpenAI
104
+ - **[API Reference](./docs/API-REFERENCE.md)** - Full TypeScript API documentation
105
+ - **[Migration Guide](./docs/MIGRATION-GUIDE.md)** - Upgrade from v1.1 to v1.2
106
+
107
+ ### Advanced
108
+ - **[Widget Guide](./docs/WIDGET-GUIDE.md)** - Standalone IIFE/ESM bundle usage
109
+ - **[Backend API](./docs/BACKEND-API.md)** - Backend server endpoints and usage
110
+ - **[Development Guide](./docs/DEVELOPMENT.md)** - Contributing and local development
111
+ - **[Troubleshooting](./docs/TROUBLESHOOTING.md)** - Common issues and solutions
112
+
113
+ ## 🔑 Authentication Setup
114
+
115
+ The component requires authentication with Crownpeak DQM. Two options are available:
116
+
117
+ ```tsx
118
+ import {DQMSidebar} from '@crownpeak/dqm-react-component';
119
+
120
+ <DQMSidebar
121
+ {/* ... */}
122
+ config={{
123
+ // Option 1: Direct API Key and Website ID (not recommended for production)
124
+ // websiteId: 'your-website-id',
125
+ // apiKey: 'your-api-key',
126
+
127
+ // Option 2: Auth Backend for API Key management (recommended)
128
+ authBackendUrl: '', // Dev: empty (same origin) | Prod: 'https://your-backend.com'
129
+ useLocalStorage: true,
130
+ }}
131
+ ```
132
+
133
+ ### Direct Backend Integration
134
+
135
+ Run the included backend server for session management:
136
+
137
+ ```bash
138
+ npm run server
139
+ ```
140
+
141
+ See [AUTHENTICATION.md](./AUTHENTICATION.md) for detailed setup instructions.
142
+
143
+ ## 🛠️ Development Server
144
+
145
+ For local development with test harness:
146
+
147
+ ```bash
148
+ npm install
149
+ npm run dev
150
+ ```
151
+
152
+ This starts:
153
+
154
+ - Frontend + Backend on `http://localhost:5173` (Vite dev server with integrated backend)
155
+ - Backend routes (`/auth/*`, `/dqm/*`) handled by Vite plugin
156
+
157
+ ### Standalone Server (Optional)
158
+
159
+ If using the included backend server:
160
+
161
+ - Node.js 18+ or 20+
162
+ - Redis (for session storage)
163
+
164
+ See [REDIS-SETUP.md](./REDIS-SETUP.md) for Redis installation.
165
+
166
+ ## 📊 API Reference
167
+
168
+ ### DQMSidebar Props
169
+
170
+ | Prop | Type | Required | Description |
171
+ |-------------|--------------|----------|------------------------------|
172
+ | `open` | `boolean` | ✅ | Controls sidebar visibility |
173
+ | `onClose` | `() => void` | ✅ | Callback when sidebar closes |
174
+ | `onOpen` | `() => void` | ✅ | Callback when sidebar opens |
175
+ | `debugHtml` | `string` | ❌ | HTML for testing (dev only) |
176
+ | `config` | `DQMConfig` | ❌ | Configuration options |
177
+
178
+ ### DQMConfig Options
179
+
180
+ | Option | Type | Default | Description |
181
+ |-------------------|-----------------|---------|------------------------------------------------|
182
+ | `apiKey` | `string` | - | Direct API key (not for production) |
183
+ | `websiteId` | `string` | - | Website ID for DQM |
184
+ | `authBackendUrl` | `string` | - | Backend URL for session management |
185
+ | `useLocalStorage` | `boolean` | `true` | Persist credentials in localStorage |
186
+ | `disabled` | `boolean` | `false` | Disable DQM completely |
187
+ | `disableLogout` | `boolean` | `false` | Hide the logout control (host manages session) |
188
+ | `shadowDomMode` | `boolean` | `false` | Enable for Shadow DOM embedding |
189
+ | `overlayConfig` | `OverlayConfig` | - | Overlay/toolbar detection config |
190
+
191
+ ### OverlayConfig (for Toolbars & Overlays)
192
+
193
+ Configure how the sidebar adapts to fixed overlays (e.g., admin toolbars):
194
+
195
+ ```tsx
196
+ <DQMSidebar
197
+ config={{
198
+ overlayConfig: {
199
+ // CSS selector for the overlay element
200
+ selector: 'iframe#MyToolbar',
201
+
202
+ // Validate iFrame has contentWindow (default: true)
203
+ validateIframe: true,
204
+
205
+ // Polling interval in ms for cross-origin iFrames (default: 1000)
206
+ pollMs: 1000,
207
+
208
+ // OR: Manual offset when auto-detection doesn't work
209
+ // (e.g., for iFrames that fill screen but have smaller internal content)
210
+ manualOffset: {
211
+ position: 'top', // 'top' | 'bottom' | 'left' | 'right'
212
+ pixels: 50
213
+ }
214
+ }
215
+ }}
216
+ />
217
+ ```
218
+
219
+ **Common overlay configurations:**
220
+
221
+ [//]: # (@formatter:off)
222
+ ```tsx
223
+ // Disable overlay detection
224
+ overlayConfig: {
225
+ selector: null
226
+ }
227
+
228
+ // Manual 50px offset from top
229
+ overlayConfig: {
230
+ manualOffset: {
231
+ position: 'top', pixels: 50
232
+ }
233
+ }
234
+
235
+ // Custom selector without iFrame validation
236
+ overlayConfig: {
237
+ selector: '.admin-toolbar', validateIframe: false
238
+ }
239
+ ```
240
+ [//]: # (@formatter:on)
241
+
242
+ ### Exported Types
243
+
244
+ ```typescript
245
+ import type {
246
+ AnalysisState,
247
+ Checkpoint,
248
+ AnalysisData,
249
+ DQMSidebarProps,
250
+ DQMConfig,
251
+ OverlayConfig,
252
+ OverlayOffsetPosition
253
+ } from '@crownpeak/dqm-react-component';
254
+
255
+ // For advanced overlay handling
256
+ import {useOverlayResistant} from '@crownpeak/dqm-react-component';
257
+ import type {OverlayInfo, OverlayPosition} from '@crownpeak/dqm-react-component';
258
+ ```
259
+
260
+ See [TypeScript examples](./EXAMPLES.md#typescript-configuration) for full type definitions.
261
+
262
+ ## 🧪 Testing
263
+
264
+ ```bash
265
+ # Lint code
266
+ npm run lint
267
+
268
+ # Build library
269
+ npm run build:lib
270
+
271
+ # Test as package
272
+ npm pack
273
+ npm install ./crownpeak-dqm-react-component-1.0.0.tgz
274
+ ```
275
+
276
+ ## 🤝 Contributing
277
+
278
+ We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.
279
+
280
+ 1. Fork the repository
281
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
282
+ 3. Commit your changes (`git commit -m 'feat: Add amazing feature'`)
283
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
284
+ 5. Open a Pull Request
285
+
286
+ ## 📜 License
287
+
288
+ MIT © [Crownpeak Technology GmbH](https://www.crownpeak.com/)
289
+
290
+ See [LICENSE](./LICENSE) file for details.
291
+
292
+ ## 🐛 Issues
293
+
294
+ Found a bug or have a feature request?
295
+ Please [open an issue](https://github.com/Crownpeak/dqm-react-component/issues/new/choose).
296
+
297
+ ## 📞 Support
298
+
299
+ - **Documentation**: Check the [docs folder](.)
300
+ - **Issues**: [GitHub Issues](https://github.com/Crownpeak/dqm-react-component/issues)
301
+ - **Website**: [crownpeak.com](https://www.crownpeak.com/)
302
+
303
+ ## 🔗 Links
304
+
305
+ - [NPM Package](https://www.npmjs.com/package/@crownpeak/dqm-react-component)
306
+ - [GitHub Repository](https://github.com/Crownpeak/dqm-react-component)
307
+ - [Material-UI Documentation](https://mui.com/)
308
+
309
+ ## 📝 Changelog
310
+
311
+ See [CHANGELOG.md](./CHANGELOG.md) for release history.
312
+
313
+ ---
314
+
315
+ Made with ❤️ by the Crownpeak team
@@ -0,0 +1,125 @@
1
+ # Security Policy
2
+
3
+ ## Supported Versions
4
+
5
+ We release patches for security vulnerabilities for the following versions:
6
+
7
+ | Version | Supported |
8
+ | ------- | ------------------ |
9
+ | 1.x.x | :white_check_mark: |
10
+
11
+ ## Reporting a Vulnerability
12
+
13
+ We take security vulnerabilities seriously. If you discover a security issue in this project, please report it responsibly.
14
+
15
+ ### How to Report
16
+
17
+ **Please do NOT report security vulnerabilities through public GitHub issues.**
18
+
19
+ Instead, please report them via email to: **security@crownpeak.com**
20
+
21
+ Include the following information in your report:
22
+
23
+ 1. **Description** - A clear description of the vulnerability
24
+ 2. **Impact** - What an attacker could achieve by exploiting this vulnerability
25
+ 3. **Steps to Reproduce** - Detailed steps to reproduce the issue
26
+ 4. **Affected Versions** - Which versions are affected
27
+ 5. **Possible Fix** - If you have suggestions for fixing the vulnerability
28
+ 6. **Your Contact Info** - So we can follow up with questions if needed
29
+
30
+ ### What to Expect
31
+
32
+ - **Acknowledgment** - We'll acknowledge receipt of your report within 48 hours
33
+ - **Investigation** - We'll investigate and validate the vulnerability
34
+ - **Status Updates** - We'll keep you informed of our progress
35
+ - **Resolution** - We'll work on a fix and release a patched version
36
+ - **Credit** - With your permission, we'll credit you in the security advisory
37
+
38
+ ### Security Best Practices
39
+
40
+ When using this component:
41
+
42
+ 1. **Keep Dependencies Updated**
43
+ ```bash
44
+ npm audit
45
+ npm audit fix
46
+ ```
47
+
48
+ 2. **Use Environment Variables** - Never hardcode API keys or credentials
49
+ ```bash
50
+ # .env file (never commit this)
51
+ DQM_API_KEY=your_api_key_here
52
+ DQM_WEBSITE_ID=your_website_id
53
+ ```
54
+
55
+ 3. **Secure Backend** - If using the included backend server:
56
+ - Use HTTPS in production
57
+ - Set secure Redis password
58
+ - Use environment variables for secrets
59
+ - Enable CORS only for trusted domains
60
+
61
+ 4. **Session Management**
62
+ - Sessions expire after 24 hours
63
+ - Clear localStorage on logout
64
+ - Validate tokens on backend
65
+
66
+ 5. **Content Security Policy** - Configure CSP headers:
67
+ ```
68
+ Content-Security-Policy:
69
+ default-src 'self';
70
+ connect-src 'self' https://api.crownpeak.net;
71
+ style-src 'self' 'unsafe-inline';
72
+ ```
73
+
74
+ ### Known Security Considerations
75
+
76
+ 1. **HTML Rendering**
77
+ - Component uses DOMPurify to sanitize rendered HTML
78
+ - Shadow DOM isolation prevents style leakage
79
+ - Be cautious when using `debugHtml` prop (dev only)
80
+
81
+ 2. **Session Storage**
82
+ - Redis sessions expire after 24 hours
83
+ - Tokens stored in localStorage (consider security implications)
84
+ - Clear sensitive data on logout
85
+
86
+ 3. **API Keys**
87
+ - Never expose API keys in client-side code
88
+ - Use backend proxy for API calls
89
+ - Rotate keys regularly
90
+
91
+ ### Third-Party Dependencies
92
+
93
+ We regularly monitor and update dependencies for security vulnerabilities:
94
+
95
+ - React 18+
96
+ - Material-UI 5+
97
+ - Axios (HTTP client)
98
+ - DOMPurify (HTML sanitization)
99
+ - Express (backend server)
100
+ - Redis (session storage)
101
+
102
+ Run `npm audit` to check for known vulnerabilities in dependencies.
103
+
104
+ ### Security Updates
105
+
106
+ Security patches will be released as soon as possible:
107
+
108
+ - **Critical** - Within 24-48 hours
109
+ - **High** - Within 1 week
110
+ - **Medium** - Within 2 weeks
111
+ - **Low** - In next scheduled release
112
+
113
+ ### Disclosure Policy
114
+
115
+ - We follow responsible disclosure practices
116
+ - Security issues will be disclosed after a fix is available
117
+ - We'll publish a security advisory on GitHub
118
+
119
+ ### Security Hall of Fame
120
+
121
+ We recognize security researchers who help improve our security:
122
+
123
+ <!-- Security researchers will be listed here after disclosure -->
124
+
125
+ Thank you for helping keep Crownpeak DQM React Component secure! 🔒