@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,229 @@
1
+ @echo off
2
+ setlocal enabledelayedexpansion
3
+
4
+ echo.
5
+ echo =======================================
6
+ echo Probe Windows Build Script
7
+ echo =======================================
8
+ echo.
9
+
10
+ set "BUILD_LOG=%TEMP%\probe-build-windows.log"
11
+ echo Probe Windows Build Started at %date% %time% > "%BUILD_LOG%"
12
+
13
+ :: Set script directory and repo root
14
+ set "SCRIPT_DIR=%~dp0"
15
+ set "REPO_ROOT=%SCRIPT_DIR%"
16
+ cd /d "%REPO_ROOT%"
17
+
18
+ echo [1/5] Checking prerequisites...
19
+ echo [1/5] Checking prerequisites... >> "%BUILD_LOG%"
20
+
21
+ :: Check for Rust installation
22
+ echo - Checking for Rust installation...
23
+ where /q rustc
24
+ if %ERRORLEVEL% neq 0 (
25
+ echo [ERROR] Rust is not installed or not in PATH >> "%BUILD_LOG%"
26
+ echo [ERROR] Rust is not installed or not in PATH.
27
+ echo Please install Rust from https://www.rust-lang.org/tools/install
28
+ echo Run the following command in your browser:
29
+ echo https://static.rust-lang.org/rustup/rustup-init.exe
30
+ exit /b 1
31
+ ) else (
32
+ rustc --version >> "%BUILD_LOG%" 2>&1
33
+ echo - Rust is installed: !ERRORLEVEL!
34
+ )
35
+
36
+ :: Check for MSYS2 installation
37
+ echo - Checking for MSYS2 installation...
38
+ if exist "C:\msys64\usr\bin\bash.exe" (
39
+ echo - MSYS2 is installed.
40
+ echo MSYS2 is installed >> "%BUILD_LOG%"
41
+ ) else (
42
+ echo - [WARNING] MSYS2 does not appear to be installed at the default location.
43
+ echo - This is required for GCC compiler toolchain.
44
+ echo - Install MSYS2 using Windows Package Manager:
45
+ echo - winget install MSYS2.MSYS2
46
+ echo - Then install MinGW toolchain by running:
47
+ echo - pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
48
+ echo - And add C:\msys64\ucrt64\bin to your PATH
49
+ echo MSYS2 might not be installed >> "%BUILD_LOG%"
50
+ )
51
+
52
+ :: Check if GCC is available
53
+ echo - Checking for GCC compiler...
54
+ where /q gcc
55
+ if %ERRORLEVEL% neq 0 (
56
+ echo - [WARNING] GCC compiler not found in PATH.
57
+ echo - If you encounter build errors related to 'gcc.exe', you will need to:
58
+ echo - 1. Ensure MSYS2 is installed: winget install MSYS2.MSYS2
59
+ echo - 2. Open MSYS2 MSYS shell from Start Menu
60
+ echo - 3. Run: pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
61
+ echo - 4. Add C:\msys64\ucrt64\bin to your system PATH
62
+ echo GCC not found in PATH >> "%BUILD_LOG%"
63
+ ) else (
64
+ gcc --version >> "%BUILD_LOG%" 2>&1
65
+ echo - GCC compiler found: !ERRORLEVEL!
66
+ )
67
+
68
+ :: Check for Visual Studio Build Tools
69
+ echo - Checking for Visual Studio 2022 C++ Build Tools...
70
+ reg query "HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VS7" /v "17.0" >nul 2>&1
71
+ set VS2022_INSTALLED=%ERRORLEVEL%
72
+
73
+ reg query "HKLM\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7" /v "17.0" >nul 2>&1
74
+ set VS2022_INSTALLED_WOW=%ERRORLEVEL%
75
+
76
+ reg query "HKLM\SOFTWARE\Microsoft\VisualStudio\SxS\VC7" /v "17.0" >nul 2>&1
77
+ set VS2022_VC_INSTALLED=%ERRORLEVEL%
78
+
79
+ if %VS2022_INSTALLED% equ 0 (
80
+ echo - Visual Studio 2022 is installed.
81
+ echo VS2022 is installed >> "%BUILD_LOG%"
82
+ ) else if %VS2022_INSTALLED_WOW% equ 0 (
83
+ echo - Visual Studio 2022 is installed (WOW64).
84
+ echo VS2022 is installed (WOW64) >> "%BUILD_LOG%"
85
+ ) else if %VS2022_VC_INSTALLED% equ 0 (
86
+ echo - Visual Studio 2022 C++ components are installed.
87
+ echo VS2022 C++ components are installed >> "%BUILD_LOG%"
88
+ ) else (
89
+ echo - [WARNING] Visual Studio 2022 Build Tools might not be installed.
90
+ echo - This could cause compilation issues with some dependencies.
91
+ echo - Download and install Build Tools from:
92
+ echo - https://visualstudio.microsoft.com/visual-cpp-build-tools/
93
+ echo - Be sure to select "Desktop development with C++" workload.
94
+ echo VS2022 Build Tools might not be installed >> "%BUILD_LOG%"
95
+ )
96
+
97
+ :: Check for MSVC installation
98
+ echo - Checking for Microsoft Visual C++ Redistributable...
99
+ reg query "HKLM\SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" /v Version >nul 2>&1
100
+ if %ERRORLEVEL% equ 0 (
101
+ echo - Microsoft Visual C++ Redistributable is installed.
102
+ echo MSVC is installed >> "%BUILD_LOG%"
103
+ ) else (
104
+ reg query "HKLM\SOFTWARE\Classes\Installer\Dependencies\VC,redist.x64,amd64,14.29,bundle" /v Version >nul 2>&1
105
+ if %ERRORLEVEL% equ 0 (
106
+ echo - Microsoft Visual C++ Redistributable is installed.
107
+ echo MSVC is installed (alternate registry key) >> "%BUILD_LOG%"
108
+ ) else (
109
+ echo - [WARNING] Microsoft Visual C++ Redistributable might not be installed.
110
+ echo - The build can proceed, but the binary may not run without installing:
111
+ echo - https://aka.ms/vs/17/release/vc_redist.x64.exe
112
+ echo MSVC might not be installed, but continuing build >> "%BUILD_LOG%"
113
+ )
114
+ )
115
+
116
+ echo.
117
+ echo [2/5] Cleaning previous build...
118
+ echo [2/5] Cleaning previous build... >> "%BUILD_LOG%"
119
+ cargo clean
120
+ if %ERRORLEVEL% neq 0 (
121
+ echo [ERROR] Failed to clean project >> "%BUILD_LOG%"
122
+ echo [ERROR] Failed to clean project. See build log for details: "%BUILD_LOG%"
123
+ exit /b 1
124
+ )
125
+
126
+ echo.
127
+ echo [3/5] Building Probe with Windows-optimized settings...
128
+ echo [3/5] Building Probe with Windows-optimized settings... >> "%BUILD_LOG%"
129
+ echo - This may take a few minutes...
130
+ echo.
131
+
132
+ :: Build with release settings
133
+ cargo build --release >> "%BUILD_LOG%" 2>&1
134
+ set BUILD_ERROR=%ERRORLEVEL%
135
+
136
+ if %BUILD_ERROR% neq 0 (
137
+ echo [ERROR] Build failed with code %BUILD_ERROR%. >> "%BUILD_LOG%"
138
+ echo [ERROR] Build failed with code %BUILD_ERROR%.
139
+
140
+ :: Check for specific error patterns in the log
141
+ findstr /C:"failed to find tool \"gcc.exe\"" "%BUILD_LOG%" >nul 2>&1
142
+ if %ERRORLEVEL% equ 0 (
143
+ echo.
144
+ echo [ERROR DETAILS] Missing GCC compiler.
145
+ echo.
146
+ echo This error occurs because the C/C++ compiler toolchain is missing.
147
+ echo To fix this:
148
+ echo.
149
+ echo 1. Install MSYS2 using Windows Package Manager:
150
+ echo winget install MSYS2.MSYS2
151
+ echo.
152
+ echo 2. Open the "MSYS2 MSYS2" shortcut from the Start Menu
153
+ echo.
154
+ echo 3. Install the MinGW-w64 toolchain by running:
155
+ echo pacman -S --needed base-devel mingw-w64-ucrt-x86_64-toolchain
156
+ echo.
157
+ echo 4. Add the compiler to your PATH:
158
+ echo - Open Windows Settings ^> System ^> About ^> Advanced system settings
159
+ echo - Click on "Environment Variables"
160
+ echo - Edit the "Path" variable under either User or System variables
161
+ echo - Add C:\msys64\ucrt64\bin to the list
162
+ echo - Click OK and close all dialogs
163
+ echo.
164
+ echo 5. Restart your terminal/PowerShell and run this script again
165
+ echo.
166
+ ) else (
167
+ findstr /C:"requires nightly" "%BUILD_LOG%" >nul 2>&1
168
+ if %ERRORLEVEL% equ 0 (
169
+ echo [ERROR DETAILS] This project requires the nightly Rust toolchain.
170
+ echo To fix this, run:
171
+ echo.
172
+ echo rustup install nightly
173
+ echo rustup default nightly
174
+ echo.
175
+ echo Then run this script again.
176
+ ) else (
177
+ echo See build log for details: "%BUILD_LOG%"
178
+ )
179
+ )
180
+
181
+ exit /b 1
182
+ )
183
+
184
+ echo.
185
+ echo [4/5] Verifying build...
186
+ echo [4/5] Verifying build... >> "%BUILD_LOG%"
187
+
188
+ :: Check if executable exists
189
+ if not exist "target\release\probe.exe" (
190
+ echo [ERROR] Build completed but executable not found >> "%BUILD_LOG%"
191
+ echo [ERROR] Build completed but executable not found at target\release\probe.exe
192
+ exit /b 1
193
+ )
194
+
195
+ echo - Executable created successfully at target\release\probe.exe
196
+ echo - Executable created successfully >> "%BUILD_LOG%"
197
+
198
+ echo.
199
+ echo [5/5] Testing executable...
200
+ echo [5/5] Testing executable... >> "%BUILD_LOG%"
201
+
202
+ :: Test if executable runs
203
+ target\release\probe.exe --help > nul 2>&1
204
+ if %ERRORLEVEL% neq 0 (
205
+ echo [WARNING] Executable built but test run failed. You may need to install: >> "%BUILD_LOG%"
206
+ echo [WARNING] Executable built but test run failed.
207
+ echo This may be due to missing Microsoft Visual C++ Redistributable.
208
+ echo Please install it from: https://aka.ms/vs/17/release/vc_redist.x64.exe
209
+ ) else (
210
+ echo - Executable test successful
211
+ echo - Executable test successful >> "%BUILD_LOG%"
212
+ )
213
+
214
+ echo.
215
+ echo =======================================
216
+ echo Build completed successfully!
217
+ echo =======================================
218
+ echo.
219
+ echo The probe executable is available at:
220
+ echo %REPO_ROOT%target\release\probe.exe
221
+ echo.
222
+ echo Build log saved to: "%BUILD_LOG%"
223
+ echo.
224
+ echo Next steps:
225
+ echo - Run: .\target\release\probe.exe search "query" path\to\search
226
+ echo - Start MCP server: cd mcp ^&^& npm run build ^&^& node build\index.js
227
+ echo.
228
+
229
+ endlocal
@@ -0,0 +1,6 @@
1
+ # IMPORTANT: the top-level key is `mcp_servers` rather than `mcpServers`.
2
+ [mcp_servers.code-search]
3
+ command = "npx"
4
+ args = ["-y", "@probelabs/probe", "mcp", "server"]
5
+ # env = { "API_KEY" = "value" }
6
+
@@ -0,0 +1,161 @@
1
+ # Performance Optimization Methodology
2
+
3
+ This document describes the systematic approach for identifying and fixing performance bottlenecks in the probe codebase.
4
+
5
+ ## Phase 1: Performance Profiling and Analysis
6
+
7
+ ### Step 1: Establish Baseline Performance
8
+ ```bash
9
+ # Build release binary first
10
+ cargo build --release
11
+
12
+ # Run performance profiling with debug timing
13
+ DEBUG=1 ./target/release/probe search "workflow" ~/go/src/semantic-kernel/ --max-results 10 --timeout 300 2>/dev/null | sed -n '/=== SEARCH TIMING INFORMATION ===/,/====================================/p'
14
+ ```
15
+
16
+ ### Step 2: Identify Performance Bottlenecks
17
+ - Parse timing output to identify components taking >1 second
18
+ - Focus on operations consuming >5% of total execution time
19
+ - Look for patterns: repeated operations, inefficient algorithms, unnecessary work
20
+
21
+ **Example Analysis:**
22
+ ```
23
+ === SEARCH TIMING INFORMATION ===
24
+ Total search time: 53.38s
25
+ Result processing: 39.95s (75% of total - PRIMARY TARGET)
26
+ - Uncovered lines: 22.73s (43% of total - HIGHEST PRIORITY)
27
+ - AST parsing: 11.74s (22% of total - HIGH PRIORITY)
28
+ - Line map building: 8.90s (biggest AST component)
29
+ - Term matching: 7.74s (15% of total - HIGH PRIORITY)
30
+ Limit application: 11.72s (22% of total - HIGH PRIORITY)
31
+ ===================================
32
+ ```
33
+
34
+ ### Step 3: Architecture Research
35
+ For each bottleneck >1s, spawn separate research agents to analyze:
36
+ - Current implementation approach and complexity
37
+ - Root cause analysis of performance issues
38
+ - Potential optimization strategies with confidence levels
39
+ - Expected performance savings for each strategy
40
+
41
+ ## Phase 2: Implementation Strategy
42
+
43
+ ### Priority Classification:
44
+ - **High Priority**: >8s potential savings or >15% of total time
45
+ - **Medium Priority**: 2-8s potential savings or 5-15% of total time
46
+ - **Low Priority**: <2s potential savings or <5% of total time
47
+
48
+ ### Implementation Order:
49
+ 1. **Quick wins first**: High confidence (8-10/10), low complexity optimizations
50
+ 2. **High impact second**: Medium confidence, high potential savings
51
+ 3. **Polish last**: Lower impact optimizations for final performance tuning
52
+
53
+ ## Phase 3: Individual Optimization Implementation
54
+
55
+ For each optimization, follow this exact process:
56
+
57
+ ### Step 1: Pre-Implementation Baseline
58
+ ```bash
59
+ # Performance test
60
+ DEBUG=1 ./target/release/probe search "workflow" ~/go/src/semantic-kernel/ --max-results 10 --timeout 300 2>/dev/null | sed -n '/=== SEARCH TIMING INFORMATION ===/,/====================================/p'
61
+
62
+ # Correctness test
63
+ ./target/release/probe search "stemming" ~/go/src/semantic-kernel/ --max-results 5
64
+ ```
65
+
66
+ ### Step 2: Implementation
67
+ - Use architecture agents for complex optimizations
68
+ - Maintain full backward compatibility
69
+ - Add comprehensive comments explaining the optimization
70
+ - Focus on correctness first, performance second
71
+
72
+ ### Step 3: Post-Implementation Verification
73
+ ```bash
74
+ # Performance verification (same commands as Step 1)
75
+ DEBUG=1 ./target/release/probe search "workflow" ~/go/src/semantic-kernel/ --max-results 10 --timeout 300 2>/dev/null | sed -n '/=== SEARCH TIMING INFORMATION ===/,/====================================/p'
76
+
77
+ # Correctness verification - output should be identical
78
+ ./target/release/probe search "stemming" ~/go/src/semantic-kernel/ --max-results 5
79
+
80
+ # Comprehensive testing
81
+ make test
82
+ ```
83
+
84
+ ### Step 4: Quality Assurance
85
+ - All tests must pass (unit, integration, CLI tests)
86
+ - Output correctness: same number of results, same content (slight ranking differences OK)
87
+ - Performance improvement: measurable reduction in target timing component
88
+ - Code quality: passes `make lint` and `make format`
89
+
90
+ ### Step 5: Documentation and Commit
91
+ ```bash
92
+ # Create separate git commit for each optimization
93
+ git add .
94
+ git commit -m "Optimize [component]: [brief description]
95
+
96
+ - [Technical details of what was optimized]
97
+ - Performance improvement: [measurement]
98
+ - [Any important implementation notes]
99
+
100
+ 🤖 Generated with [Claude Code](https://claude.ai/code)
101
+
102
+ Co-Authored-By: Claude <noreply@anthropic.com>"
103
+ ```
104
+
105
+ ## Phase 4: Verification Commands
106
+
107
+ ### Standard Performance Test:
108
+ ```bash
109
+ DEBUG=1 ./target/release/probe search "workflow" ~/go/src/semantic-kernel/ --max-results 10 --timeout 300 2>/dev/null | sed -n '/=== SEARCH TIMING INFORMATION ===/,/====================================/p'
110
+ ```
111
+
112
+ ### Standard Correctness Test:
113
+ ```bash
114
+ ./target/release/probe search "stemming" ~/go/src/semantic-kernel/ --max-results 5
115
+ ```
116
+
117
+ ### Comprehensive Test Suite:
118
+ ```bash
119
+ make test
120
+ ```
121
+
122
+ ### Output Validation Checklist:
123
+ - ✅ Same number of search results before/after
124
+ - ✅ Same total bytes and tokens returned
125
+ - ✅ All tests pass without regressions
126
+ - ✅ Performance improvement in target component
127
+ - ✅ No new compilation warnings or errors
128
+
129
+ ## Phase 5: Success Metrics
130
+
131
+ ### Optimization Success Criteria:
132
+ 1. **Performance**: Measurable improvement in target timing component
133
+ 2. **Correctness**: Identical functional output (same results, bytes, tokens)
134
+ 3. **Quality**: All tests pass, no regressions introduced
135
+ 4. **Maintainability**: Clean code with comprehensive comments
136
+ 5. **Reliability**: Backward compatibility preserved
137
+
138
+ ### Performance Tracking:
139
+ Track cumulative improvements across optimization phases:
140
+ - **Baseline**: 53.38s total search time
141
+ - **After Phase 1**: [timing] ([improvement]% faster)
142
+ - **After Phase 2**: [timing] ([improvement]% faster)
143
+ - **Final**: [timing] ([improvement]% faster overall)
144
+
145
+ ## Optimization Examples Applied
146
+
147
+ ### High-Impact Optimizations Completed:
148
+ 1. **Lazy line map construction**: 980ms improvement (26% faster overall)
149
+ 2. **AST node filtering**: 700ms improvement (39% faster line map building)
150
+ 3. **Simplified query evaluation**: 45% improvement in filtering time
151
+ 4. **Token count caching**: 300ms improvement for repeated tokenization
152
+ 5. **Uncovered lines batch processing**: 57ms improvement (26% faster uncovered lines)
153
+
154
+ ### Key Lessons Learned:
155
+ - **Algorithm complexity** often matters more than micro-optimizations
156
+ - **Lazy evaluation** provides significant gains when work can be avoided
157
+ - **Caching strategies** effective for repeated operations on similar data
158
+ - **Early termination** powerful for processing large datasets
159
+ - **Backward compatibility** essential - never sacrifice correctness for performance
160
+
161
+ This methodology successfully achieved **~95% performance improvement** (53.38s → 2.86s) while maintaining full correctness and backward compatibility.
@@ -0,0 +1,46 @@
1
+ use probe_code::language::parser::parse_file_for_code_blocks;
2
+ use std::collections::HashSet;
3
+
4
+ fn main() {
5
+ // Set up test content
6
+ let content = r#"
7
+ fn test_function() {
8
+ // This is a comment
9
+ let x = 42;
10
+ println!("Hello, world!");
11
+ }
12
+
13
+ struct TestStruct {
14
+ field1: i32,
15
+ field2: String,
16
+ }
17
+ "#;
18
+
19
+ // Create a set of line numbers to extract
20
+ let mut line_numbers = HashSet::new();
21
+ line_numbers.insert(3); // Comment line
22
+ line_numbers.insert(4); // Code line
23
+ line_numbers.insert(8); // Struct field line
24
+
25
+ println!("First call (should be a cache miss):");
26
+ let result1 = parse_file_for_code_blocks(content, "rs", &line_numbers, true, None).unwrap();
27
+ println!("Found {} code blocks", result1.len());
28
+
29
+ println!("\nSecond call (should be a cache hit):");
30
+ let result2 = parse_file_for_code_blocks(content, "rs", &line_numbers, true, None).unwrap();
31
+ println!("Found {} code blocks", result2.len());
32
+
33
+ println!("\nThird call with different allow_tests flag (should be a cache miss):");
34
+ let result3 = parse_file_for_code_blocks(content, "rs", &line_numbers, false, None).unwrap();
35
+ println!("Found {} code blocks", result3.len());
36
+
37
+ println!("\nFourth call with different content (should be a cache miss):");
38
+ let content2 = r#"
39
+ fn different_function() {
40
+ // This is a different comment
41
+ let y = 100;
42
+ }
43
+ "#;
44
+ let result4 = parse_file_for_code_blocks(content2, "rs", &line_numbers, true, None).unwrap();
45
+ println!("Found {} code blocks", result4.len());
46
+ }
@@ -0,0 +1,37 @@
1
+ # Node.js
2
+ node_modules/
3
+ npm-debug.log*
4
+ yarn-debug.log*
5
+ yarn-error.log*
6
+ .npm
7
+ .yarn
8
+
9
+ # Logs
10
+ *.log
11
+ logs/
12
+ *.tmp
13
+
14
+ # Test files (we'll copy them explicitly if needed)
15
+ test/
16
+ *.test.js
17
+ test-*.js
18
+
19
+ # Development files
20
+ .gitignore
21
+ .git/
22
+ .github/
23
+ .vscode/
24
+ .idea/
25
+
26
+ # Temporary files
27
+ probe-debug.txt
28
+ simple-traces.jsonl
29
+ *.cache
30
+
31
+ # Documentation (keep only essential ones)
32
+ TRACING.md
33
+ README.md
34
+
35
+ # OS generated files
36
+ .DS_Store
37
+ Thumbs.db