flurryx-code-memory 0.7.0__tar.gz → 0.7.5__tar.gz

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 (199) hide show
  1. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/CHANGELOG.md +19 -0
  2. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/PKG-INFO +2 -2
  3. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/README.md +7 -2
  4. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/install.ps1 +43 -19
  5. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/pyproject.toml +2 -2
  6. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/scripts/install.ps1 +44 -20
  7. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/extractor/treesitter.py +13 -3
  8. flurryx_code_memory-0.7.5/tests/test_extractor_parser_compat.py +27 -0
  9. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/uv.lock +7 -10
  10. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/.claude-plugin/marketplace.json +0 -0
  11. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/.env.example +0 -0
  12. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/.gitignore +0 -0
  13. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/docker/docker-compose.yml +0 -0
  14. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/docs/BENCHMARK.md +0 -0
  15. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/docs/BENCHMARK_VS_BASELINE.json +0 -0
  16. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/docs/BENCHMARK_VS_BASELINE.md +0 -0
  17. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/docs/architecture.png +0 -0
  18. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/docs/benchmark-raw.json +0 -0
  19. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/docs/hero.png +0 -0
  20. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/install.sh +0 -0
  21. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/.claude-plugin/plugin.json +0 -0
  22. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/README.md +0 -0
  23. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/commands/code-memory.md +0 -0
  24. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/hooks/hooks.json +0 -0
  25. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/install.sh +0 -0
  26. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/lib/claim-intent.js +0 -0
  27. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/lib/claim-intent.test.js +0 -0
  28. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/lib/io.js +0 -0
  29. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/lib/memory.js +0 -0
  30. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/lib/state.js +0 -0
  31. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/on-post-tool.js +0 -0
  32. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/on-pre-tool.js +0 -0
  33. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/on-retrieve-seen.js +0 -0
  34. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/on-session-start.js +0 -0
  35. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/on-stop.js +0 -0
  36. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/on-user-prompt.js +0 -0
  37. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/scripts/resolver-debounce.js +0 -0
  38. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/claude-code/skills/code-memory/SKILL.md +0 -0
  39. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/README.md +0 -0
  40. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/hooks/hooks.json.template +0 -0
  41. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/install.sh +0 -0
  42. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/rules/code-memory.mdc +0 -0
  43. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/lib/claim-intent.js +0 -0
  44. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/lib/claim-intent.test.js +0 -0
  45. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/lib/io.js +0 -0
  46. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/lib/memory.js +0 -0
  47. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/lib/state.js +0 -0
  48. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/on-after-file-edit.js +0 -0
  49. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/on-before-mcp-execution.js +0 -0
  50. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/on-before-submit-prompt.js +0 -0
  51. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/on-post-tool-use.js +0 -0
  52. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/on-pre-compact.js +0 -0
  53. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/on-pre-tool-use.js +0 -0
  54. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/on-session-end.js +0 -0
  55. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/on-session-start.js +0 -0
  56. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/on-stop.js +0 -0
  57. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/cursor/scripts/resolver-debounce.js +0 -0
  58. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/README.md +0 -0
  59. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/install.sh +0 -0
  60. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/package-lock.json +0 -0
  61. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/package.json +0 -0
  62. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/scripts/add-mcp.py +0 -0
  63. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/scripts/install.mjs +0 -0
  64. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/scripts/uninstall.mjs +0 -0
  65. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/skills/code-memory/SKILL.md +0 -0
  66. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/src/code-memory-lib/claim-intent.test.mts +0 -0
  67. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/src/code-memory-lib/claim-intent.ts +0 -0
  68. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/src/code-memory-lib/memory-client.ts +0 -0
  69. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/src/code-memory.ts +0 -0
  70. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/opencode/tsconfig.json +0 -0
  71. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/vibe/README.md +0 -0
  72. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/vibe/install.sh +0 -0
  73. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/plugins/vibe/skills/code-memory/SKILL.md +0 -0
  74. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/scripts/benchmark.py +0 -0
  75. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/scripts/benchmark_queries.json +0 -0
  76. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/scripts/benchmark_vs_baseline.py +0 -0
  77. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/scripts/benchmark_vs_grep.sh +0 -0
  78. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/scripts/ingest.py +0 -0
  79. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/scripts/install.sh +0 -0
  80. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/__init__.py +0 -0
  81. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/claims/__init__.py +0 -0
  82. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/claims/extractor.py +0 -0
  83. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/claims/indexer.py +0 -0
  84. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/claims/resolver.py +0 -0
  85. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/claims/store.py +0 -0
  86. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/cli.py +0 -0
  87. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/config.py +0 -0
  88. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/embed/__init__.py +0 -0
  89. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/embed/cache.py +0 -0
  90. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/embed/m3.py +0 -0
  91. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/embed/ollama.py +0 -0
  92. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/embed/tei.py +0 -0
  93. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/episodic/__init__.py +0 -0
  94. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/episodic/sqlite_store.py +0 -0
  95. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/extractor/__init__.py +0 -0
  96. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/extractor/csproj.py +0 -0
  97. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/extractor/dll.py +0 -0
  98. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/extractor/gitignore.py +0 -0
  99. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/extractor/nuget.py +0 -0
  100. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/extractor/sanity.py +0 -0
  101. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/extractor/sln.py +0 -0
  102. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/graph/__init__.py +0 -0
  103. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/graph/falkor_store.py +0 -0
  104. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/mcp_server.py +0 -0
  105. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/metrics.py +0 -0
  106. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/orchestrator/__init__.py +0 -0
  107. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/orchestrator/git_delta.py +0 -0
  108. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/orchestrator/ingest_state.py +0 -0
  109. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/orchestrator/pipeline.py +0 -0
  110. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/orchestrator/reset.py +0 -0
  111. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/orchestrator/resolver.py +0 -0
  112. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/orchestrator/retrieve.py +0 -0
  113. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/resilience.py +0 -0
  114. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/__init__.py +0 -0
  115. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/autostart/__init__.py +0 -0
  116. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/autostart/base.py +0 -0
  117. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/autostart/launchd.py +0 -0
  118. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/autostart/schtasks.py +0 -0
  119. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/autostart/systemd.py +0 -0
  120. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/hooks.py +0 -0
  121. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/safety.py +0 -0
  122. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/single_flight.py +0 -0
  123. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/snapshot.py +0 -0
  124. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/store.py +0 -0
  125. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/sync.py +0 -0
  126. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/sync/watcher.py +0 -0
  127. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/updater.py +0 -0
  128. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/vector/__init__.py +0 -0
  129. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/src/code_memory/vector/qdrant_store.py +0 -0
  130. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_autostart_adapters.py +0 -0
  131. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_chunk_text.py +0 -0
  132. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_claim_extractor.py +0 -0
  133. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_claim_indexer.py +0 -0
  134. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_claim_resolver.py +0 -0
  135. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_claim_store.py +0 -0
  136. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_config_embed_dim.py +0 -0
  137. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_config_ipv4_defaults.py +0 -0
  138. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_config_sentinel.py +0 -0
  139. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_csproj.py +0 -0
  140. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_dll_members.py +0 -0
  141. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_dll_parser.py +0 -0
  142. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_embed_backend.py +0 -0
  143. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_embed_cache.py +0 -0
  144. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_embed_m3.py +0 -0
  145. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_embed_ollama_timeout.py +0 -0
  146. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_embed_tei.py +0 -0
  147. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_ensure_fresh_no_blocking.py +0 -0
  148. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_episode_dedup.py +0 -0
  149. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_episode_head_sha.py +0 -0
  150. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_csharp.py +0 -0
  151. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_dart.py +0 -0
  152. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_filters.py +0 -0
  153. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_php.py +0 -0
  154. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_python_imports.py +0 -0
  155. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_receiver_type.py +0 -0
  156. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_references.py +0 -0
  157. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_sanity.py +0 -0
  158. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_ts_abstract.py +0 -0
  159. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_ts_inject.py +0 -0
  160. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_extractor_utf8.py +0 -0
  161. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_file_containment.py +0 -0
  162. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_git_delta.py +0 -0
  163. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_graph_queries.py +0 -0
  164. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_graph_shadow_swap.py +0 -0
  165. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_graph_temporal.py +0 -0
  166. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_graph_vacuum_at_sha.py +0 -0
  167. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_hooks_installer.py +0 -0
  168. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_ingest_safety_and_lock.py +0 -0
  169. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_ingest_state.py +0 -0
  170. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_mcp_assert_claim.py +0 -0
  171. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_mcp_server_descriptions.py +0 -0
  172. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_mcp_shutdown.py +0 -0
  173. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_mcp_strict_project.py +0 -0
  174. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_metrics.py +0 -0
  175. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_nuget_resolver.py +0 -0
  176. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_overload_resolution.py +0 -0
  177. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_partial_class.py +0 -0
  178. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_pipeline_health_check.py +0 -0
  179. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_pipeline_references.py +0 -0
  180. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_pipeline_temporal_wiring.py +0 -0
  181. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_qdrant_legacy_guard.py +0 -0
  182. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_razor_inject.py +0 -0
  183. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_resilience.py +0 -0
  184. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_resolver.py +0 -0
  185. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_resolver_assembly.py +0 -0
  186. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_retrieve_claims_surfacing.py +0 -0
  187. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_retrieve_rerank.py +0 -0
  188. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_sln.py +0 -0
  189. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_smoke.py +0 -0
  190. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_snapshot_e2e.py +0 -0
  191. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_snapshot_format.py +0 -0
  192. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_snapshot_store.py +0 -0
  193. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_sync_decision_tree.py +0 -0
  194. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_watch_safety.py +0 -0
  195. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_watcher_debouncer.py +0 -0
  196. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_watcher_exclude.py +0 -0
  197. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_watcher_ref_events.py +0 -0
  198. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_worktree_autostart_guard.py +0 -0
  199. {flurryx_code_memory-0.7.0 → flurryx_code_memory-0.7.5}/tests/test_worktree_slug.py +0 -0
@@ -8,6 +8,25 @@ when the repo grows.
8
8
  This file complements `git log`: commits explain mechanics, this file
9
9
  explains intent.
10
10
 
11
+ ## [0.7.5] — 2026-06-21
12
+
13
+ Release theme: **Windows ingest fix — pin tree-sitter-language-pack**.
14
+
15
+ ### Fixed
16
+
17
+ **What:** pinned `tree-sitter-language-pack` to `==1.0.0` (was `>=0.7`).
18
+ Version 1.9.1 (and other releases > 1.0.0) ship a broken Windows wheel:
19
+ `get_language()` returns a `builtins.Language` that core `tree-sitter`
20
+ rejects (`TypeError: __init__() argument 1 must be tree_sitter.Language,
21
+ not builtins.Language`), surfacing during ingest as `'bytes' object is
22
+ not an instance of 'str'`. This broke `code-memory` CLI ingest on Windows
23
+ across all install environments (uv-tool, global Python, watch daemon).
24
+
25
+ **Reason:** the loose `>=0.7` floor allowed the broken 1.9.1 wheel to
26
+ resolve on fresh Windows installs; pinning to the known-good 1.0.0
27
+ restores ingest. The pin lives in wheel metadata so every install path
28
+ resolves to the working version.
29
+
11
30
  ## [0.7.0] — 2026-06-12
12
31
 
13
32
  Release theme: **Worktree resilience, atomic graph rebuilds, and fresh
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flurryx-code-memory
3
- Version: 0.7.0
3
+ Version: 0.7.5
4
4
  Summary: Local lightweight memory layer for coding agents: FalkorDB + Qdrant + Ollama (BGE-M3) + tree-sitter
5
5
  Requires-Python: >=3.11
6
6
  Requires-Dist: anyio>=4.4
@@ -10,7 +10,7 @@ Requires-Dist: mcp>=1.0
10
10
  Requires-Dist: pydantic>=2.8
11
11
  Requires-Dist: qdrant-client>=1.12
12
12
  Requires-Dist: rich>=13.7
13
- Requires-Dist: tree-sitter-language-pack>=0.7
13
+ Requires-Dist: tree-sitter-language-pack==1.0.0
14
14
  Requires-Dist: tree-sitter>=0.23
15
15
  Requires-Dist: typer>=0.12
16
16
  Requires-Dist: watchdog>=4.0
@@ -99,9 +99,14 @@ curl -fsSL https://raw.githubusercontent.com/fmflurry/code-memory/main/install.s
99
99
  **🪟 Windows**
100
100
 
101
101
  ```powershell
102
- irm https://raw.githubusercontent.com/fmflurry/code-memory/main/install.ps1 | iex
102
+ irm https://raw.githubusercontent.com/fmflurry/code-memory/main/install.ps1 -Headers @{ 'Cache-Control' = 'no-cache' } | iex
103
103
  ```
104
104
 
105
+ If PowerShell reports a parser error at `install.ps1:392` showing the old
106
+ here-string terminator piped to `Write-Host`, you are running a stale
107
+ release/checkout. Update to `main`, or delete and re-download the installer
108
+ from the `main` URL above before running it.
109
+
105
110
  The installer fetches the CLI, drops `docker-compose.yml` into `~/.code-memory/`, starts **FalkorDB** + **Qdrant**, pulls **`bge-m3`**, and wires the **Claude Code** + **OpenCode** plugins. Idempotent — safe to re-run.
106
111
 
107
112
  ### ✅ Verify
@@ -152,7 +157,7 @@ curl -fsSL https://raw.githubusercontent.com/fmflurry/code-memory/main/install.s
152
157
  **Windows** — `iex` doesn't accept args, so download then run:
153
158
 
154
159
  ```powershell
155
- iwr https://raw.githubusercontent.com/fmflurry/code-memory/main/install.ps1 -OutFile install.ps1
160
+ iwr https://raw.githubusercontent.com/fmflurry/code-memory/main/install.ps1 -Headers @{ 'Cache-Control' = 'no-cache' } -OutFile install.ps1
156
161
  ./install.ps1 -NoDocker -NoOllama -NoClaude -NoOpencode -NoMcp
157
162
  ```
158
163
 
@@ -68,6 +68,29 @@ param(
68
68
  )
69
69
 
70
70
  $ErrorActionPreference = 'Stop'
71
+ # PowerShell 7.3+ promotes native-command stderr to a terminating error when
72
+ # $ErrorActionPreference='Stop'. Docker CLI writes benign WARNINGs (e.g. the
73
+ # credential-plugin naming check) to stderr; we gate on $LASTEXITCODE instead,
74
+ # so do not let stderr alone abort the script.
75
+ $PSNativeCommandUseErrorActionPreference = $false
76
+
77
+ # Run a native command whose benign stderr (e.g. Docker CLI credential-plugin
78
+ # warnings) must NOT abort the script. Windows PowerShell 5.1 turns redirected
79
+ # native stderr into terminating NativeCommandError records under
80
+ # $ErrorActionPreference='Stop'; relaxing EAP for the call fixes it on 5.1 and
81
+ # 7+. Callers gate on $LASTEXITCODE. Returns nothing; sets $LASTEXITCODE.
82
+ function Invoke-NativeQuiet {
83
+ param([Parameter(Mandatory)][scriptblock] $Command)
84
+ $prevEAP = $ErrorActionPreference
85
+ $ErrorActionPreference = 'SilentlyContinue'
86
+ try { & $Command 2>&1 | Out-Null } finally { $ErrorActionPreference = $prevEAP }
87
+ }
88
+ function Invoke-NativeVisible {
89
+ param([Parameter(Mandatory)][scriptblock] $Command)
90
+ $prevEAP = $ErrorActionPreference
91
+ $ErrorActionPreference = 'Continue'
92
+ try { & $Command 2>&1 | ForEach-Object { Write-Host $_ } } finally { $ErrorActionPreference = $prevEAP }
93
+ }
71
94
 
72
95
  $RepoUrl = if ($env:CODEMEMORY_REPO_URL) { $env:CODEMEMORY_REPO_URL } else { 'https://github.com/fmflurry/code-memory' }
73
96
  $RawUrl = if ($env:CODEMEMORY_RAW_URL) { $env:CODEMEMORY_RAW_URL } else { 'https://raw.githubusercontent.com/fmflurry/code-memory/main' }
@@ -185,7 +208,7 @@ if ($doDocker) {
185
208
  Step "Starting FalkorDB + Qdrant"
186
209
  if (Wait-ForCmd 'docker' 'Docker Desktop' 'https://www.docker.com/products/docker-desktop') {
187
210
  # ensure daemon up
188
- & docker info *>$null
211
+ Invoke-NativeQuiet { docker info }
189
212
  if ($LASTEXITCODE -ne 0) {
190
213
  Warn "Docker CLI present but daemon not running. Start Docker Desktop."
191
214
  if (Test-Interactive) {
@@ -195,7 +218,7 @@ if ($doDocker) {
195
218
  }
196
219
  }
197
220
  if ($doDocker) {
198
- & docker compose -f (Join-Path $HomeDir 'docker/docker-compose.yml') --project-directory $HomeDir up -d
221
+ Invoke-NativeVisible { docker compose -f (Join-Path $HomeDir 'docker/docker-compose.yml') --project-directory $HomeDir up -d }
199
222
  if ($LASTEXITCODE -ne 0) {
200
223
  Warn "docker compose up failed"
201
224
  } else {
@@ -350,20 +373,21 @@ if ($doOpencode) {
350
373
 
351
374
  # ---------- done ----------
352
375
  Step "Done"
353
- @"
354
-
355
- Side files: $HomeDir\
356
- CLI: $(if ($cliPath) { $cliPath.Source } else { 'code-memory (not on PATH)' })
357
-
358
- Ingest a repo:
359
- code-memory ingest C:\path\to\repo
360
-
361
- Query:
362
- code-memory retrieve "where is the auth middleware?"
363
-
364
- Browse:
365
- FalkorDB http://localhost:3000
366
- Qdrant http://localhost:6333/dashboard
367
-
368
- Edit defaults: $HomeDir\.env
369
- "@ | Write-Host
376
+ $doneLines = @(
377
+ ''
378
+ " Side files: $HomeDir\"
379
+ " CLI: $(if ($cliPath) { $cliPath.Source } else { 'code-memory (not on PATH)' })"
380
+ ''
381
+ ' Ingest a repo:'
382
+ ' code-memory ingest C:\path\to\repo'
383
+ ''
384
+ ' Query:'
385
+ ' code-memory retrieve "where is the auth middleware?"'
386
+ ''
387
+ ' Browse:'
388
+ ' FalkorDB http://localhost:3000'
389
+ ' Qdrant http://localhost:6333/dashboard'
390
+ ''
391
+ " Edit defaults: $HomeDir\.env"
392
+ )
393
+ Write-Host ($doneLines -join [Environment]::NewLine)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "flurryx-code-memory"
7
- version = "0.7.0"
7
+ version = "0.7.5"
8
8
  description = "Local lightweight memory layer for coding agents: FalkorDB + Qdrant + Ollama (BGE-M3) + tree-sitter"
9
9
  requires-python = ">=3.11"
10
10
  dependencies = [
@@ -12,7 +12,7 @@ dependencies = [
12
12
  "qdrant-client>=1.12",
13
13
  "falkordb>=1.0.10",
14
14
  "tree-sitter>=0.23",
15
- "tree-sitter-language-pack>=0.7",
15
+ "tree-sitter-language-pack==1.0.0",
16
16
  "pydantic>=2.8",
17
17
  "typer>=0.12",
18
18
  "rich>=13.7",
@@ -61,6 +61,29 @@ param(
61
61
  )
62
62
 
63
63
  $ErrorActionPreference = 'Stop'
64
+ # PowerShell 7.3+ promotes native-command stderr to a terminating error when
65
+ # $ErrorActionPreference='Stop'. Docker CLI writes benign WARNINGs (e.g. the
66
+ # credential-plugin naming check) to stderr; we gate on $LASTEXITCODE instead,
67
+ # so do not let stderr alone abort the script.
68
+ $PSNativeCommandUseErrorActionPreference = $false
69
+
70
+ # Run a native command whose benign stderr (e.g. Docker CLI credential-plugin
71
+ # warnings) must NOT abort the script. Windows PowerShell 5.1 turns redirected
72
+ # native stderr into terminating NativeCommandError records under
73
+ # $ErrorActionPreference='Stop'; relaxing EAP for the call fixes it on 5.1 and
74
+ # 7+. Callers gate on $LASTEXITCODE. Returns nothing; sets $LASTEXITCODE.
75
+ function Invoke-NativeQuiet {
76
+ param([Parameter(Mandatory)][scriptblock] $Command)
77
+ $prevEAP = $ErrorActionPreference
78
+ $ErrorActionPreference = 'SilentlyContinue'
79
+ try { & $Command 2>&1 | Out-Null } finally { $ErrorActionPreference = $prevEAP }
80
+ }
81
+ function Invoke-NativeVisible {
82
+ param([Parameter(Mandatory)][scriptblock] $Command)
83
+ $prevEAP = $ErrorActionPreference
84
+ $ErrorActionPreference = 'Continue'
85
+ try { & $Command 2>&1 | ForEach-Object { Write-Host $_ } } finally { $ErrorActionPreference = $prevEAP }
86
+ }
64
87
 
65
88
  function Step($msg) { Write-Host "`n==> $msg" -ForegroundColor Cyan }
66
89
  function Ok($msg) { Write-Host "[ok] $msg" -ForegroundColor Green }
@@ -105,7 +128,7 @@ if (-not $pythonBin) { Die "Python 3.11+ not found. Install from https://www.pyt
105
128
 
106
129
  if (-not $NoDocker) {
107
130
  if (-not (Test-Cmd 'docker')) { Die "Docker not found. Install Docker Desktop: https://www.docker.com/." }
108
- & docker compose version *> $null
131
+ Invoke-NativeQuiet { docker compose version }
109
132
  if ($LASTEXITCODE -ne 0) { Die "Docker Compose v2 not available (need 'docker compose')." }
110
133
  Ok "Docker present"
111
134
  }
@@ -218,7 +241,7 @@ if (-not $NoDocker) {
218
241
  & docker compose -p $CmProject -f docker/docker-compose.yml up -d --remove-orphans
219
242
  if ($LASTEXITCODE -ne 0) {
220
243
  Warn "compose up hit a container-name conflict — removing stale cm-* containers and retrying (named volumes persist)"
221
- & docker rm -f cm-falkordb cm-qdrant cm-tei *> $null
244
+ Invoke-NativeQuiet { docker rm -f cm-falkordb cm-qdrant cm-tei }
222
245
  & docker compose -p $CmProject -f docker/docker-compose.yml up -d --remove-orphans
223
246
  if ($LASTEXITCODE -ne 0) { Die "docker compose up failed" }
224
247
  }
@@ -234,7 +257,7 @@ if (-not $NoOllama) {
234
257
  Step "Pulling embedding model (bge-m3)"
235
258
 
236
259
  $daemonReady = $false
237
- & ollama list *> $null
260
+ Invoke-NativeQuiet { ollama list }
238
261
  if ($LASTEXITCODE -eq 0) { $daemonReady = $true }
239
262
 
240
263
  if (-not $daemonReady) {
@@ -246,7 +269,7 @@ if (-not $NoOllama) {
246
269
 
247
270
  for ($i = 0; $i -lt 30; $i++) {
248
271
  Start-Sleep -Seconds 1
249
- & ollama list *> $null
272
+ Invoke-NativeQuiet { ollama list }
250
273
  if ($LASTEXITCODE -eq 0) { $daemonReady = $true; break }
251
274
  }
252
275
  }
@@ -380,19 +403,20 @@ if (-not $installOpencode -and -not $installClaudecode -and -not $installCursor
380
403
 
381
404
  # ---------- done ----------
382
405
  Step "Done"
383
- @"
384
-
385
- Activate the virtualenv:
386
- . .venv\Scripts\Activate.ps1
387
-
388
- Ingest a repo:
389
- code-memory ingest C:\path\to\repo
390
-
391
- Query memory:
392
- code-memory retrieve "where is the auth middleware?"
393
-
394
- Browse:
395
- FalkorDB http://localhost:3000
396
- Qdrant http://localhost:6333/dashboard
397
-
398
- "@ | Write-Host
406
+ $doneLines = @(
407
+ ''
408
+ ' Activate the virtualenv:'
409
+ ' . .venv\Scripts\Activate.ps1'
410
+ ''
411
+ ' Ingest a repo:'
412
+ ' code-memory ingest C:\path\to\repo'
413
+ ''
414
+ ' Query memory:'
415
+ ' code-memory retrieve "where is the auth middleware?"'
416
+ ''
417
+ ' Browse:'
418
+ ' FalkorDB http://localhost:3000'
419
+ ' Qdrant http://localhost:6333/dashboard'
420
+ ''
421
+ )
422
+ Write-Host ($doneLines -join [Environment]::NewLine)
@@ -4,9 +4,10 @@ import re
4
4
  from dataclasses import dataclass, field
5
5
  from functools import lru_cache
6
6
  from pathlib import Path
7
+ from typing import cast
7
8
 
8
9
  from tree_sitter import Language, Node, Parser
9
- from tree_sitter_language_pack import get_language
10
+ from tree_sitter_language_pack import SupportedLanguage, get_language, get_parser
10
11
 
11
12
  LANG_BY_EXT: dict[str, str] = {
12
13
  ".ts": "typescript",
@@ -276,8 +277,17 @@ class ExtractedFile:
276
277
 
277
278
  @lru_cache(maxsize=16)
278
279
  def _parser_for(lang: str) -> Parser:
279
- language: Language = get_language(lang)
280
- return Parser(language)
280
+ supported_lang = cast(SupportedLanguage, lang)
281
+ language: Language = get_language(supported_lang)
282
+ try:
283
+ return Parser(language)
284
+ except TypeError as exc:
285
+ # Some Windows wheels of tree-sitter-language-pack have returned a
286
+ # builtins.Language object that tree_sitter.Parser rejects even though
287
+ # the language pack can still create a compatible parser itself.
288
+ if "tree_sitter.Language" not in str(exc):
289
+ raise
290
+ return get_parser(supported_lang)
281
291
 
282
292
 
283
293
  def lang_for(path: str | Path) -> str | None:
@@ -0,0 +1,27 @@
1
+ from __future__ import annotations
2
+
3
+ import pytest
4
+ from tree_sitter import Parser
5
+
6
+ from code_memory.extractor import treesitter
7
+
8
+
9
+ def test_parser_for_falls_back_to_language_pack_parser(monkeypatch: pytest.MonkeyPatch) -> None:
10
+ treesitter._parser_for.cache_clear()
11
+ fallback_parser = treesitter.get_parser("python")
12
+
13
+ def fake_get_language(lang: str) -> object:
14
+ assert lang == "python"
15
+ return object()
16
+
17
+ def fake_get_parser(lang: str) -> Parser:
18
+ assert lang == "python"
19
+ return fallback_parser
20
+
21
+ monkeypatch.setattr(treesitter, "get_language", fake_get_language)
22
+ monkeypatch.setattr(treesitter, "get_parser", fake_get_parser)
23
+
24
+ try:
25
+ assert treesitter._parser_for("python") is fallback_parser
26
+ finally:
27
+ treesitter._parser_for.cache_clear()
@@ -675,7 +675,7 @@ wheels = [
675
675
 
676
676
  [[package]]
677
677
  name = "flurryx-code-memory"
678
- version = "0.6.2"
678
+ version = "0.7.5"
679
679
  source = { editable = "." }
680
680
  dependencies = [
681
681
  { name = "anyio" },
@@ -723,7 +723,7 @@ requires-dist = [
723
723
  { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.6" },
724
724
  { name = "torch", marker = "extra == 'hybrid'", specifier = ">=2.1" },
725
725
  { name = "tree-sitter", specifier = ">=0.23" },
726
- { name = "tree-sitter-language-pack", specifier = ">=0.7" },
726
+ { name = "tree-sitter-language-pack", specifier = "==1.0.0" },
727
727
  { name = "typer", specifier = ">=0.12" },
728
728
  { name = "watchdog", specifier = ">=4.0" },
729
729
  ]
@@ -3403,19 +3403,16 @@ wheels = [
3403
3403
 
3404
3404
  [[package]]
3405
3405
  name = "tree-sitter-language-pack"
3406
- version = "1.8.1"
3406
+ version = "1.0.0"
3407
3407
  source = { registry = "https://pypi.org/simple" }
3408
3408
  dependencies = [
3409
3409
  { name = "tree-sitter" },
3410
3410
  ]
3411
- sdist = { url = "https://files.pythonhosted.org/packages/2c/f3/fc0eabffb192ce49abee47e0bb3fea70fecfeacc1b8159e6f069795d2294/tree_sitter_language_pack-1.8.1.tar.gz", hash = "sha256:800f8a92a2238e1b3abcc25cc86fd3a1b1d3392263c49266640c1b079a8e625e", size = 109775, upload-time = "2026-05-15T09:48:32.281Z" }
3412
3411
  wheels = [
3413
- { url = "https://files.pythonhosted.org/packages/9f/9c/a9faacacdec92026b88bceeb08646be7c32edf05796e6f19d00873cdc1e4/tree_sitter_language_pack-1.8.1-cp310-abi3-macosx_10_12_x86_64.whl", hash = "sha256:b0e3cd56dc359dbd623cc90df09494be4de1605628e53f92b981cd78a7de1a81", size = 2083265, upload-time = "2026-05-15T09:48:19.532Z" },
3414
- { url = "https://files.pythonhosted.org/packages/7c/44/aded4a03575c8b010b03d574fadb5dc705a898a1d940670014634b1d819e/tree_sitter_language_pack-1.8.1-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:a5c378bf1b920fa2470a668a7bf20b2e99a9288641bf6a04c5cfb8051fe91ea1", size = 1943468, upload-time = "2026-05-15T09:48:21.788Z" },
3415
- { url = "https://files.pythonhosted.org/packages/37/e4/732e445d4341e86473c082a9debbca7c46de17ac935284c7060202b068ba/tree_sitter_language_pack-1.8.1-cp310-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:fa15da867ca257353fa4a709fb6c10f2fcc4b8c0899f27b883872c2feeaac61e", size = 2085933, upload-time = "2026-05-15T09:48:24.02Z" },
3416
- { url = "https://files.pythonhosted.org/packages/b5/20/6f0c5b2b40de5a38134a1810b718775b960170b841bd079bd85d8e5b6616/tree_sitter_language_pack-1.8.1-cp310-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:79c5a3ce9a912dfddd08147cc14c91f7baa152ca18d39591eb3db8471e42400d", size = 2197368, upload-time = "2026-05-15T09:48:25.957Z" },
3417
- { url = "https://files.pythonhosted.org/packages/a9/35/c2a05ba39a65008a3c87dcf238ac3c164d349f504b1d8a03295dbdb5e6c7/tree_sitter_language_pack-1.8.1-cp310-abi3-win_amd64.whl", hash = "sha256:572a8c0b1528bd150366399f04deb9e8c8d30c5b5a3ee7dabca898c4eab22a9a", size = 1993818, upload-time = "2026-05-15T09:48:28.228Z" },
3418
- { url = "https://files.pythonhosted.org/packages/50/1b/6c59695ac025bded36d2a099c165cbb95c819b6cfa075229835cdb4211b7/tree_sitter_language_pack-1.8.1-cp310-abi3-win_arm64.whl", hash = "sha256:018d0a60eeb8de1aa79ac5ed1cba42643d93d4da140c77640ac1576b541e68b9", size = 1902157, upload-time = "2026-05-15T09:48:30.203Z" },
3412
+ { url = "https://files.pythonhosted.org/packages/39/14/68ac021fd3dd8ef7741e8a825647e068195627fbe714019114d2dc4ab028/tree_sitter_language_pack-1.0.0-cp310-abi3-macosx_11_0_arm64.whl", hash = "sha256:02f91aeec73268a1cf1697fe7560700435ce1e076cc166c7a2bb627f4fdc2f0f", size = 2001573, upload-time = "2026-03-21T23:18:38.201Z" },
3413
+ { url = "https://files.pythonhosted.org/packages/19/35/226e0a6bd1736ec55b9e865589cf4571c43cd70e5ebe3c35e89d55035fe7/tree_sitter_language_pack-1.0.0-cp310-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:53853d16a55af46c1722dbd4c9adcae11411c8c5a6c5db3968ad98bca125d9db", size = 2175827, upload-time = "2026-03-21T23:18:39.965Z" },
3414
+ { url = "https://files.pythonhosted.org/packages/7e/d3/f5db913afebd54798c7e3d12e6db7dec88e09f3c9782169ec5c0bfb137d4/tree_sitter_language_pack-1.0.0-cp310-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:78ba52ea0b500ba61810743fcb2678023a6850ebb09ed8214665d29fafa044b6", size = 2318525, upload-time = "2026-03-21T23:18:41.761Z" },
3415
+ { url = "https://files.pythonhosted.org/packages/7c/33/9a9bb95d62778ec8f1e710b99a7cf829e4c8b5a4a0474791742bc4108a8f/tree_sitter_language_pack-1.0.0-cp310-abi3-win_amd64.whl", hash = "sha256:76423b911b100e79d3c078e21fd024d2c470db3355e7dc3a3bddc2a2007ce250", size = 2110285, upload-time = "2026-03-21T23:18:43.598Z" },
3419
3416
  ]
3420
3417
 
3421
3418
  [[package]]