basic-memory 0.23.0__tar.gz → 0.23.1__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 (1371) hide show
  1. {basic_memory-0.23.0 → basic_memory-0.23.1}/.claude-plugin/marketplace.json +2 -2
  2. basic_memory-0.23.1/.github/workflows/mcp-registry-publish.yml +36 -0
  3. {basic_memory-0.23.0 → basic_memory-0.23.1}/CHANGELOG.md +47 -0
  4. {basic_memory-0.23.0 → basic_memory-0.23.1}/PKG-INFO +1 -1
  5. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/NOTE-FORMAT.md +11 -0
  6. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/__init__.py +1 -1
  7. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/plugin.yaml +1 -1
  8. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/package.json +1 -1
  9. {basic_memory-0.23.0 → basic_memory-0.23.1}/justfile +4 -1
  10. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/.claude-plugin/marketplace.json +2 -2
  11. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/.claude-plugin/plugin.json +1 -1
  12. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/hooks/pre_compact.py +8 -1
  13. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/hooks/session_start.py +8 -1
  14. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/hooks/test_claude_pre_compact.py +1 -1
  15. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/hooks/test_claude_session_start.py +1 -1
  16. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/.codex-plugin/plugin.json +1 -1
  17. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/hooks/pre_compact.py +5 -1
  18. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/hooks/session_start.py +5 -1
  19. {basic_memory-0.23.0 → basic_memory-0.23.1}/scripts/update_versions.py +2 -2
  20. {basic_memory-0.23.0 → basic_memory-0.23.1}/scripts/validate_claude_plugin.py +23 -1
  21. {basic_memory-0.23.0 → basic_memory-0.23.1}/server.json +2 -2
  22. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/__init__.py +1 -1
  23. basic_memory-0.23.1/src/basic_memory/alembic/versions/7f6a2b8c9d10_index_full_postgres_note_content.py +133 -0
  24. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/project_router.py +22 -0
  25. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/auto_update.py +35 -3
  26. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/doctor.py +37 -7
  27. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/update.py +8 -6
  28. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/markdown/plugins.py +16 -3
  29. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/clients/project.py +7 -0
  30. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/write_note.py +3 -0
  31. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/models/search.py +29 -1
  32. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/postgres_search_repository.py +234 -6
  33. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/search_repository.py +4 -0
  34. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/search_repository_base.py +15 -0
  35. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/project_service.py +36 -22
  36. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/search_service.py +11 -3
  37. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/conftest.py +4 -0
  38. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/conftest.py +4 -0
  39. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_project_router.py +45 -0
  40. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_auto_update.py +68 -0
  41. basic_memory-0.23.1/tests/cli/test_doctor_command.py +110 -0
  42. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/conftest.py +4 -0
  43. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_relation_edge_cases.py +60 -1
  44. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/clients/test_clients.py +30 -0
  45. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_postgres_search_repository.py +183 -0
  46. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_search_repository.py +2 -0
  47. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_project_service.py +85 -0
  48. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_search_service.py +74 -0
  49. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_claude_plugin_hooks.py +1 -1
  50. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_codex_plugin_package.py +18 -0
  51. basic_memory-0.23.1/tests/test_postgres_full_content_search_migration.py +64 -0
  52. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_update_versions.py +4 -1
  53. basic_memory-0.23.0/tests/cli/test_doctor_command.py +0 -51
  54. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/plugins/marketplace.json +0 -0
  55. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/adversarial-review/SKILL.md +0 -0
  56. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/adversarial-review/prompts/refute.md +0 -0
  57. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/adversarial-review/prompts/review.md +0 -0
  58. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/adversarial-review/schemas/findings.schema.json +0 -0
  59. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/adversarial-review/schemas/verdicts.schema.json +0 -0
  60. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux/SKILL.md +0 -0
  61. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux/agents/openai.yaml +0 -0
  62. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux/references/handles-and-identify.md +0 -0
  63. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux/references/panes-surfaces.md +0 -0
  64. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux/references/trigger-flash-and-health.md +0 -0
  65. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux/references/windows-workspaces.md +0 -0
  66. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-markdown/SKILL.md +0 -0
  67. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-markdown/agents/openai.yaml +0 -0
  68. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-markdown/references/commands.md +0 -0
  69. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-markdown/references/live-reload.md +0 -0
  70. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-settings/SKILL.md +0 -0
  71. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-settings/agents/openai.yaml +0 -0
  72. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-settings/references/all-keys.md +0 -0
  73. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-settings/references/shortcut-actions.md +0 -0
  74. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-settings/scripts/cmux-settings +0 -0
  75. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-workspace/SKILL.md +0 -0
  76. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-workspace/agents/openai.yaml +0 -0
  77. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/cmux-workspace/references/commands.md +0 -0
  78. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/code-review/SKILL.md +0 -0
  79. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/fix-pr-issues/SKILL.md +0 -0
  80. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/fix-pr-issues/agents/openai.yaml +0 -0
  81. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/fix-pr-issues/assets/icon.svg +0 -0
  82. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/infographics/SKILL.md +0 -0
  83. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/infographics/agents/openai.yaml +0 -0
  84. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/infographics/assets/icon.svg +0 -0
  85. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/infographics/references/prompt-blueprint.md +0 -0
  86. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/infographics/references/style-balance.md +0 -0
  87. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/instrumentation/SKILL.md +0 -0
  88. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/instrumentation/references/javascript/frameworks.md +0 -0
  89. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/instrumentation/references/javascript/patterns.md +0 -0
  90. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/instrumentation/references/python/integrations.md +0 -0
  91. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/instrumentation/references/python/logging-patterns.md +0 -0
  92. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/instrumentation/references/rust/patterns.md +0 -0
  93. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pr-create/SKILL.md +0 -0
  94. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pr-create/agents/openai.yaml +0 -0
  95. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pr-create/assets/icon.svg +0 -0
  96. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pr-description/SKILL.md +0 -0
  97. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pr-description/references/pr-body-template.md +0 -0
  98. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pr-review-loop/SKILL.md +0 -0
  99. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pull-request/SKILL.md +0 -0
  100. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/SKILL.md +0 -0
  101. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/agents/openai.yaml +0 -0
  102. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/evals/context/AGENTS.md +0 -0
  103. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/evals/context/pyproject.toml +0 -0
  104. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/evals/evals.json +0 -0
  105. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/evals/files/accepted_preparation.py +0 -0
  106. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/evals/files/accepted_snapshot.py +0 -0
  107. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/evals/files/shared_runtime_ownership.md +0 -0
  108. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/evals/files/test_accepted_preparation.py +0 -0
  109. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/evals/files/test_accepted_snapshot.py +0 -0
  110. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/justfile +0 -0
  111. {basic_memory-0.23.0 → basic_memory-0.23.1}/.agents/skills/pythonic-code/scripts/run_evals.py +0 -0
  112. {basic_memory-0.23.0 → basic_memory-0.23.1}/.claude/commands/release/beta.md +0 -0
  113. {basic_memory-0.23.0 → basic_memory-0.23.1}/.claude/commands/release/changelog.md +0 -0
  114. {basic_memory-0.23.0 → basic_memory-0.23.1}/.claude/commands/release/release-check.md +0 -0
  115. {basic_memory-0.23.0 → basic_memory-0.23.1}/.claude/commands/release/release.md +0 -0
  116. {basic_memory-0.23.0 → basic_memory-0.23.1}/.claude/commands/spec.md +0 -0
  117. {basic_memory-0.23.0 → basic_memory-0.23.1}/.claude/commands/test-live.md +0 -0
  118. {basic_memory-0.23.0 → basic_memory-0.23.1}/.claude/settings.json +0 -0
  119. {basic_memory-0.23.0 → basic_memory-0.23.1}/.codex/basic-memory.json +0 -0
  120. {basic_memory-0.23.0 → basic_memory-0.23.1}/.dockerignore +0 -0
  121. {basic_memory-0.23.0 → basic_memory-0.23.1}/.env.example +0 -0
  122. {basic_memory-0.23.0 → basic_memory-0.23.1}/.gitattributes +0 -0
  123. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  124. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  125. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  126. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  127. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/basic-memory/SOUL.md +0 -0
  128. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/basic-memory/config.yml +0 -0
  129. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/basic-memory/memory-ci-capture.md +0 -0
  130. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/dependabot.yml +0 -0
  131. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/claude-code-review.yml +0 -0
  132. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/claude-issue-triage.yml +0 -0
  133. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/claude.yml +0 -0
  134. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/consolidated-packages.yml +0 -0
  135. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/dev-release.yml +0 -0
  136. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/docker.yml +0 -0
  137. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/pr-title.yml +0 -0
  138. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/publish-skills.yml +0 -0
  139. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/release.yml +0 -0
  140. {basic_memory-0.23.0 → basic_memory-0.23.1}/.github/workflows/test.yml +0 -0
  141. {basic_memory-0.23.0 → basic_memory-0.23.1}/.gitignore +0 -0
  142. {basic_memory-0.23.0 → basic_memory-0.23.1}/.python-version +0 -0
  143. {basic_memory-0.23.0 → basic_memory-0.23.1}/AGENTS.md +0 -0
  144. {basic_memory-0.23.0 → basic_memory-0.23.1}/CITATION.cff +0 -0
  145. {basic_memory-0.23.0 → basic_memory-0.23.1}/CLA.md +0 -0
  146. {basic_memory-0.23.0 → basic_memory-0.23.1}/CLAUDE.md +0 -0
  147. {basic_memory-0.23.0 → basic_memory-0.23.1}/CODE_OF_CONDUCT.md +0 -0
  148. {basic_memory-0.23.0 → basic_memory-0.23.1}/CONTRIBUTING.md +0 -0
  149. {basic_memory-0.23.0 → basic_memory-0.23.1}/Dockerfile +0 -0
  150. {basic_memory-0.23.0 → basic_memory-0.23.1}/LICENSE +0 -0
  151. {basic_memory-0.23.0 → basic_memory-0.23.1}/NOTE-FORMAT.md +0 -0
  152. {basic_memory-0.23.0 → basic_memory-0.23.1}/README.md +0 -0
  153. {basic_memory-0.23.0 → basic_memory-0.23.1}/SECURITY.md +0 -0
  154. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/.github/workflows/benchmark-nightly.yml +0 -0
  155. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/.github/workflows/benchmark-smoke.yml +0 -0
  156. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/.gitignore +0 -0
  157. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/.python-version +0 -0
  158. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/AGENTS.md +0 -0
  159. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/README.md +0 -0
  160. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/datasets/README.md +0 -0
  161. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/datasets/locomo/README.md +0 -0
  162. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/datasets/locomo/download.sh +0 -0
  163. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/datasets/locomo/source.json +0 -0
  164. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/datasets/longmemeval/README.md +0 -0
  165. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/datasets/longmemeval/download.sh +0 -0
  166. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/results/matrix-v1.2-summary.md +0 -0
  167. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/results/matrix-v2-summary.md +0 -0
  168. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/results/structured-ingestion-findings.md +0 -0
  169. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/synthetic/docs/agent-memory.md +0 -0
  170. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/synthetic/docs/auth-memory.md +0 -0
  171. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/synthetic/docs/sync-memory.md +0 -0
  172. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/benchmarks/synthetic/queries.json +0 -0
  173. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/docs/benchmarks.md +0 -0
  174. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/docs/read-load-benchmark.md +0 -0
  175. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/docs/write-load-benchmark.md +0 -0
  176. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/justfile +0 -0
  177. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/pyproject.toml +0 -0
  178. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/scripts/read_load_bench.py +0 -0
  179. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/scripts/write_load_bench.py +0 -0
  180. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/__init__.py +0 -0
  181. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/__main__.py +0 -0
  182. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/bm_runtime.py +0 -0
  183. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/cli.py +0 -0
  184. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/concurrent_write.py +0 -0
  185. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/converters/__init__.py +0 -0
  186. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/converters/convomem_to_corpus.py +0 -0
  187. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/converters/locomo_to_corpus.py +0 -0
  188. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/converters/longmemeval_to_corpus.py +0 -0
  189. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/converters/structure_corpus.py +0 -0
  190. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/datasets/__init__.py +0 -0
  191. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/datasets/convomem.py +0 -0
  192. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/datasets/locomo.py +0 -0
  193. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/datasets/locomo_audit.py +0 -0
  194. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/datasets/longmemeval.py +0 -0
  195. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/exceptions.py +0 -0
  196. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/fairness.py +0 -0
  197. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/llm/__init__.py +0 -0
  198. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/llm/runners.py +0 -0
  199. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/models.py +0 -0
  200. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/providers/__init__.py +0 -0
  201. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/providers/base.py +0 -0
  202. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/providers/baseline_fullcontext.py +0 -0
  203. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/providers/baseline_grep.py +0 -0
  204. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/providers/bm_cloud.py +0 -0
  205. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/providers/bm_local.py +0 -0
  206. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/providers/mem0_local.py +0 -0
  207. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/providers/supermemory_local.py +0 -0
  208. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/providers/zep_reference.py +0 -0
  209. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/reporting/__init__.py +0 -0
  210. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/reporting/artifacts.py +0 -0
  211. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/reporting/compare.py +0 -0
  212. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/runner.py +0 -0
  213. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/scoring/__init__.py +0 -0
  214. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/scoring/diagnose.py +0 -0
  215. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/scoring/qa.py +0 -0
  216. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/scoring/retrieval.py +0 -0
  217. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/scoring/review.py +0 -0
  218. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/src/basic_memory_benchmarks/utils.py +0 -0
  219. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/test-int/test_compare_regression.py +0 -0
  220. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/test-int/test_runner_orchestration.py +0 -0
  221. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/converters/__init__.py +0 -0
  222. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/converters/test_convomem_converter.py +0 -0
  223. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/converters/test_locomo_audit_corrections.py +0 -0
  224. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/converters/test_longmemeval_converter.py +0 -0
  225. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/llm/test_runners.py +0 -0
  226. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/providers/test_baseline_providers.py +0 -0
  227. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/providers/test_bm_local_provider.py +0 -0
  228. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/providers/test_mem0_normalization.py +0 -0
  229. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/providers/test_supermemory_provider.py +0 -0
  230. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_cli_surface.py +0 -0
  231. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_concurrent_write.py +0 -0
  232. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_diagnose.py +0 -0
  233. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_fairness.py +0 -0
  234. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_manifest_schema.py +0 -0
  235. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_qa_scoring.py +0 -0
  236. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_retrieval_metrics.py +0 -0
  237. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_review.py +0 -0
  238. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_runner_grouped.py +0 -0
  239. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/tests/test_structure_corpus.py +0 -0
  240. {basic_memory-0.23.0 → basic_memory-0.23.1}/benchmarks/uv.lock +0 -0
  241. {basic_memory-0.23.0 → basic_memory-0.23.1}/docker-compose-postgres.yml +0 -0
  242. {basic_memory-0.23.0 → basic_memory-0.23.1}/docker-compose.yml +0 -0
  243. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/ARCHITECTURE.md +0 -0
  244. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/DOMAIN_MODEL.md +0 -0
  245. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/Docker.md +0 -0
  246. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/ENGINEERING_STYLE.md +0 -0
  247. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/REDIS_READ_CACHE_PLAN.md +0 -0
  248. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/SPEC-PER-PROJECT-ROUTING.md +0 -0
  249. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/TRANSACTION_ISOLATION.md +0 -0
  250. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/ai-assistant-guide-extended.md +0 -0
  251. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/auto-bm-webhook-test.md +0 -0
  252. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/character-handling.md +0 -0
  253. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/cloud-cli.md +0 -0
  254. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/cloud-semantic-search-value.md +0 -0
  255. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/litellm-provider.md +0 -0
  256. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/logfire-instrumentation-strategy.md +0 -0
  257. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/manual-pages.md +0 -0
  258. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/mcp-ui-bakeoff-instructions.md +0 -0
  259. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/metadata-search.md +0 -0
  260. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/post-v0.18.0-test-plan.md +0 -0
  261. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/releases/v0.19.0.md +0 -0
  262. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/semantic-search-test-log.md +0 -0
  263. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/semantic-search.md +0 -0
  264. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/specs/SPEC-LOCAL-PLUS-PUBLISH.md +0 -0
  265. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/specs/SPEC-SCHEMA-IMPL.md +0 -0
  266. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/specs/SPEC-SCHEMA.md +0 -0
  267. {basic_memory-0.23.0 → basic_memory-0.23.1}/docs/testing-coverage.md +0 -0
  268. {basic_memory-0.23.0 → basic_memory-0.23.1}/glama.json +0 -0
  269. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/.coveragerc +0 -0
  270. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/.github/workflows/integration.yml +0 -0
  271. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/.github/workflows/pr-title.yml +0 -0
  272. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/.github/workflows/release.yml +0 -0
  273. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/.github/workflows/test.yml +0 -0
  274. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/.gitignore +0 -0
  275. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/CHANGELOG.md +0 -0
  276. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/LICENSE +0 -0
  277. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/MONKEYPATCH.md +0 -0
  278. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/README.md +0 -0
  279. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/justfile +0 -0
  280. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/pytest.ini +0 -0
  281. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/requirements-dev.txt +0 -0
  282. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/skill/SKILL.md +0 -0
  283. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/__init__.py +0 -0
  284. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/conftest.py +0 -0
  285. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/stubs/agent/__init__.py +0 -0
  286. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/stubs/agent/memory_provider.py +0 -0
  287. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/stubs/tools/__init__.py +0 -0
  288. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/stubs/tools/registry.py +0 -0
  289. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/test_actor.py +0 -0
  290. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/test_capture.py +0 -0
  291. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/test_child_env.py +0 -0
  292. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/test_commands.py +0 -0
  293. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/test_helpers.py +0 -0
  294. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/test_integration.py +0 -0
  295. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/test_lifecycle.py +0 -0
  296. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/test_prefetch.py +0 -0
  297. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/hermes/tests/test_provider.py +0 -0
  298. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/.githooks/pre-commit +0 -0
  299. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/.github/workflows/ci.yml +0 -0
  300. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/.github/workflows/release.yml +0 -0
  301. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/.gitignore +0 -0
  302. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/AGENTS.md +0 -0
  303. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/BASIC_MEMORY.md +0 -0
  304. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/CLAUDE.md +0 -0
  305. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/CONTEXT_ENGINE_PLAN.md +0 -0
  306. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/DEVELOPMENT.md +0 -0
  307. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/LICENSE +0 -0
  308. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/MEMORY_TASK_FLOW.md +0 -0
  309. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/README.md +0 -0
  310. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/SECURITY.md +0 -0
  311. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/biome.json +0 -0
  312. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/bm-client.test.ts +0 -0
  313. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/bm-client.ts +0 -0
  314. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/bun.lock +0 -0
  315. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/commands/cli.ts +0 -0
  316. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/commands/skills.test.ts +0 -0
  317. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/commands/skills.ts +0 -0
  318. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/commands/slash.ts +0 -0
  319. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/config.test.ts +0 -0
  320. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/config.ts +0 -0
  321. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/context-engine/basic-memory-context-engine.test.ts +0 -0
  322. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/context-engine/basic-memory-context-engine.ts +0 -0
  323. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/hooks/capture.test.ts +0 -0
  324. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/hooks/capture.ts +0 -0
  325. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/hooks/recall.test.ts +0 -0
  326. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/hooks/recall.ts +0 -0
  327. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/index.test.ts +0 -0
  328. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/index.ts +0 -0
  329. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/integration/bm-client.integration.test.ts +0 -0
  330. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/justfile +0 -0
  331. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/logger.test.ts +0 -0
  332. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/logger.ts +0 -0
  333. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/openclaw.plugin.json +0 -0
  334. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/schema/conversation-schema.ts +0 -0
  335. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/schema/task-schema.ts +0 -0
  336. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/scripts/bm-local.sh +0 -0
  337. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/scripts/fetch-skills.ts +0 -0
  338. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/scripts/setup-bm.sh +0 -0
  339. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/build-context.test.ts +0 -0
  340. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/build-context.ts +0 -0
  341. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/delete-note.test.ts +0 -0
  342. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/delete-note.ts +0 -0
  343. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/edit-note.test.ts +0 -0
  344. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/edit-note.ts +0 -0
  345. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/list-memory-projects.test.ts +0 -0
  346. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/list-memory-projects.ts +0 -0
  347. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/list-workspaces.test.ts +0 -0
  348. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/list-workspaces.ts +0 -0
  349. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/memory-provider.test.ts +0 -0
  350. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/memory-provider.ts +0 -0
  351. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/move-note.test.ts +0 -0
  352. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/move-note.ts +0 -0
  353. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/read-note.test.ts +0 -0
  354. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/read-note.ts +0 -0
  355. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/schema-diff.test.ts +0 -0
  356. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/schema-diff.ts +0 -0
  357. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/schema-infer.test.ts +0 -0
  358. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/schema-infer.ts +0 -0
  359. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/schema-validate.test.ts +0 -0
  360. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/schema-validate.ts +0 -0
  361. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/search-notes.test.ts +0 -0
  362. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/search-notes.ts +0 -0
  363. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/write-note.test.ts +0 -0
  364. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tools/write-note.ts +0 -0
  365. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tsconfig.build.json +0 -0
  366. {basic_memory-0.23.0 → basic_memory-0.23.1}/integrations/openclaw/tsconfig.json +0 -0
  367. {basic_memory-0.23.0 → basic_memory-0.23.1}/llms-install.md +0 -0
  368. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/CHANGELOG.md +0 -0
  369. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/DESIGN.md +0 -0
  370. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/README.md +0 -0
  371. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/docs/architecture.md +0 -0
  372. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/docs/getting-started.md +0 -0
  373. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/docs/why-combine-memory.md +0 -0
  374. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/hooks/hooks.json +0 -0
  375. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/justfile +0 -0
  376. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/output-styles/basic-memory.md +0 -0
  377. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/schemas/coding-session.md +0 -0
  378. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/schemas/decision.md +0 -0
  379. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/schemas/manpage.md +0 -0
  380. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/schemas/session.md +0 -0
  381. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/schemas/task.md +0 -0
  382. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/settings.example.json +0 -0
  383. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/skills/bm-checkpoint/SKILL.md +0 -0
  384. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/skills/bm-decide/SKILL.md +0 -0
  385. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/skills/bm-orient/SKILL.md +0 -0
  386. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/skills/bm-remember/SKILL.md +0 -0
  387. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/skills/bm-setup/SKILL.md +0 -0
  388. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/skills/bm-share/SKILL.md +0 -0
  389. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/skills/bm-status/SKILL.md +0 -0
  390. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/claude-code/skills/bm-writing/SKILL.md +0 -0
  391. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/.mcp.json +0 -0
  392. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/DEVELOPMENT.md +0 -0
  393. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/README.md +0 -0
  394. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/assets/app-icon.png +0 -0
  395. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/assets/logo.png +0 -0
  396. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/hooks/hooks.json +0 -0
  397. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/hooks/test_codex_pre_compact.py +0 -0
  398. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/hooks/test_codex_session_start.py +0 -0
  399. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/justfile +0 -0
  400. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/schemas/codex-session.md +0 -0
  401. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/schemas/coding-session.md +0 -0
  402. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/schemas/decision.md +0 -0
  403. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/schemas/task.md +0 -0
  404. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-checkpoint/SKILL.md +0 -0
  405. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-checkpoint/agents/openai.yaml +0 -0
  406. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-checkpoint/assets/icon.svg +0 -0
  407. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-decide/SKILL.md +0 -0
  408. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-decide/agents/openai.yaml +0 -0
  409. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-decide/assets/icon.svg +0 -0
  410. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-orient/SKILL.md +0 -0
  411. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-orient/agents/openai.yaml +0 -0
  412. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-orient/assets/icon.svg +0 -0
  413. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-remember/SKILL.md +0 -0
  414. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-remember/agents/openai.yaml +0 -0
  415. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-remember/assets/icon.svg +0 -0
  416. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-setup/SKILL.md +0 -0
  417. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-setup/agents/openai.yaml +0 -0
  418. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-setup/assets/icon.svg +0 -0
  419. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-share/SKILL.md +0 -0
  420. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-share/agents/openai.yaml +0 -0
  421. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-share/assets/icon.svg +0 -0
  422. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-status/SKILL.md +0 -0
  423. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-status/agents/openai.yaml +0 -0
  424. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-status/assets/icon.svg +0 -0
  425. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-writing/SKILL.md +0 -0
  426. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-writing/agents/openai.yaml +0 -0
  427. {basic_memory-0.23.0 → basic_memory-0.23.1}/plugins/codex/skills/bm-writing/assets/icon.svg +0 -0
  428. {basic_memory-0.23.0 → basic_memory-0.23.1}/pyproject.toml +0 -0
  429. {basic_memory-0.23.0 → basic_memory-0.23.1}/scripts/build_skills_dist.py +0 -0
  430. {basic_memory-0.23.0 → basic_memory-0.23.1}/scripts/edit-issue-labels.sh +0 -0
  431. {basic_memory-0.23.0 → basic_memory-0.23.1}/scripts/testmon_cache.py +0 -0
  432. {basic_memory-0.23.0 → basic_memory-0.23.1}/scripts/validate_codex_plugin.py +0 -0
  433. {basic_memory-0.23.0 → basic_memory-0.23.1}/scripts/validate_hermes_plugin.py +0 -0
  434. {basic_memory-0.23.0 → basic_memory-0.23.1}/scripts/validate_skills.py +0 -0
  435. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/AGENTS.md +0 -0
  436. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/CLAUDE.md +0 -0
  437. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/DEVELOPMENT.md +0 -0
  438. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/README.md +0 -0
  439. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/justfile +0 -0
  440. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-capture/SKILL.md +0 -0
  441. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-ci-capture/SKILL.md +0 -0
  442. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-continue/SKILL.md +0 -0
  443. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-curate/SKILL.md +0 -0
  444. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-defrag/SKILL.md +0 -0
  445. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-ingest/SKILL.md +0 -0
  446. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-lifecycle/SKILL.md +0 -0
  447. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-literary-analysis/SKILL.md +0 -0
  448. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-metadata-search/SKILL.md +0 -0
  449. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-notes/SKILL.md +0 -0
  450. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-onboarding/SKILL.md +0 -0
  451. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-onboarding/evals/evals.json +0 -0
  452. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-onboarding/references/assistant-setup.md +0 -0
  453. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-onboarding/references/conventions.md +0 -0
  454. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-onboarding/references/domain-playbooks.md +0 -0
  455. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-onboarding/references/schema-guide.md +0 -0
  456. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-reflect/SKILL.md +0 -0
  457. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-research/SKILL.md +0 -0
  458. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-schema/SKILL.md +0 -0
  459. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/memory-tasks/SKILL.md +0 -0
  460. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills/skills-lock.json +0 -0
  461. {basic_memory-0.23.0 → basic_memory-0.23.1}/skills-lock.json +0 -0
  462. {basic_memory-0.23.0 → basic_memory-0.23.1}/smithery.yaml +0 -0
  463. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/alembic.ini +0 -0
  464. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/env.py +0 -0
  465. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/migrations.py +0 -0
  466. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/script.py.mako +0 -0
  467. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/2d26b287813b_dedupe_observations_and_purge_stale_.py +0 -0
  468. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/314f1ea54dc4_add_postgres_full_text_search_support_.py +0 -0
  469. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
  470. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
  471. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py +0 -0
  472. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py +0 -0
  473. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/6830751f5fb6_merge_multiple_heads.py +0 -0
  474. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/9d9c1cb7d8f5_add_mtime_and_size_columns_to_entity_.py +0 -0
  475. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/a1b2c3d4e5f6_fix_project_foreign_keys.py +0 -0
  476. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/a2b3c4d5e6f7_add_search_index_entity_cascade.py +0 -0
  477. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
  478. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
  479. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/d7e8f9a0b1c2_add_structured_metadata_indexes.py +0 -0
  480. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/e7e1f4367280_add_scan_watermark_tracking_to_project.py +0 -0
  481. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/f8a9b2c3d4e5_add_pg_trgm_for_fuzzy_link_resolution.py +0 -0
  482. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/g9a0b3c4d5e6_add_external_id_to_project_and_entity.py +0 -0
  483. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/h1b2c3d4e5f6_add_postgres_vector_search_tables.py +0 -0
  484. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/i2c3d4e5f6g7_auto_backfill_semantic_embeddings.py +0 -0
  485. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/j3d4e5f6g7h8_rename_entity_type_to_note_type.py +0 -0
  486. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/k4e5f6g7h8i9_add_created_by_and_last_updated_by_to_entity.py +0 -0
  487. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/l5g6h7i8j9k0_add_note_content_table.py +0 -0
  488. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/m6h7i8j9k0l1_add_vector_sync_fingerprints.py +0 -0
  489. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/n7i8j9k0l1m2_cleanup_sqlite_search_orphans.py +0 -0
  490. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/o8j9k0l1m2n3_add_note_file_vacate_table.py +0 -0
  491. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/p9k0l1m2n3o4_add_vector_index_manifest_state.py +0 -0
  492. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/q0l1m2n3o4p5_add_relation_search_refresh_table.py +0 -0
  493. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/alembic/versions/r1m2n3o4p5q6_add_relation_generation.py +0 -0
  494. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/__init__.py +0 -0
  495. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/app.py +0 -0
  496. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/container.py +0 -0
  497. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/template_loader.py +0 -0
  498. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/__init__.py +0 -0
  499. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/__init__.py +0 -0
  500. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/directory_router.py +0 -0
  501. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/importer_router.py +0 -0
  502. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/inspect_router.py +0 -0
  503. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/knowledge_router.py +0 -0
  504. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/memory_router.py +0 -0
  505. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/prompt_router.py +0 -0
  506. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/resource_router.py +0 -0
  507. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/schema_router.py +0 -0
  508. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/routers/search_router.py +0 -0
  509. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/api/v2/utils.py +0 -0
  510. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/ci/README.md +0 -0
  511. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/ci/__init__.py +0 -0
  512. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/ci/project_updates.py +0 -0
  513. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/__init__.py +0 -0
  514. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/analytics.py +0 -0
  515. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/app.py +0 -0
  516. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/auth.py +0 -0
  517. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/__init__.py +0 -0
  518. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/ci.py +0 -0
  519. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/__init__.py +0 -0
  520. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/api_client.py +0 -0
  521. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/bisync_commands.py +0 -0
  522. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/cloud_utils.py +0 -0
  523. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/core_commands.py +0 -0
  524. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/project_sync.py +0 -0
  525. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/rclone_commands.py +0 -0
  526. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/rclone_config.py +0 -0
  527. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/rclone_installer.py +0 -0
  528. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/restore.py +0 -0
  529. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/schemas.py +0 -0
  530. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/shares.py +0 -0
  531. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/snapshot.py +0 -0
  532. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/transfer.py +0 -0
  533. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/upload.py +0 -0
  534. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/upload_command.py +0 -0
  535. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/webdav.py +0 -0
  536. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/webdav_transfer.py +0 -0
  537. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/cloud/workspace.py +0 -0
  538. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/command_utils.py +0 -0
  539. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/config.py +0 -0
  540. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/db.py +0 -0
  541. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/format.py +0 -0
  542. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/hook.py +0 -0
  543. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
  544. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
  545. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
  546. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
  547. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/inspect.py +0 -0
  548. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/man.py +0 -0
  549. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/mcp.py +0 -0
  550. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/orphans.py +0 -0
  551. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/project.py +0 -0
  552. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/routing.py +0 -0
  553. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/schema.py +0 -0
  554. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/status.py +0 -0
  555. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/tool.py +0 -0
  556. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/commands/workspace.py +0 -0
  557. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/container.py +0 -0
  558. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/main.py +0 -0
  559. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/cli/promo.py +0 -0
  560. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/config.py +0 -0
  561. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/config_logging.py +0 -0
  562. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/config_migrations.py +0 -0
  563. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/config_models.py +0 -0
  564. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/db.py +0 -0
  565. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/deps/__init__.py +0 -0
  566. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/deps/config.py +0 -0
  567. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/deps/db.py +0 -0
  568. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/deps/importers.py +0 -0
  569. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/deps/projects.py +0 -0
  570. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/deps/read_cache.py +0 -0
  571. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/deps/repositories.py +0 -0
  572. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/deps/services.py +0 -0
  573. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/file_utils.py +0 -0
  574. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/__init__.py +0 -0
  575. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/_uuid7.py +0 -0
  576. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/adapters/__init__.py +0 -0
  577. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/adapters/base.py +0 -0
  578. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/adapters/claude.py +0 -0
  579. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/adapters/codex.py +0 -0
  580. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/archive.py +0 -0
  581. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/envelope.py +0 -0
  582. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/inbox.py +0 -0
  583. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/hooks/project_ref.py +0 -0
  584. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/ignore_utils.py +0 -0
  585. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/importers/__init__.py +0 -0
  586. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/importers/base.py +0 -0
  587. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/importers/chatgpt_importer.py +0 -0
  588. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/importers/claude_conversations_importer.py +0 -0
  589. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/importers/claude_projects_importer.py +0 -0
  590. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/importers/memory_json_importer.py +0 -0
  591. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/importers/project_zip_import.py +0 -0
  592. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/importers/utils.py +0 -0
  593. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/__init__.py +0 -0
  594. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/event_operations.py +0 -0
  595. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/filesystem.py +0 -0
  596. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/inline_operations.py +0 -0
  597. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/local_dependencies.py +0 -0
  598. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/local_moves.py +0 -0
  599. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/local_notes.py +0 -0
  600. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/local_project.py +0 -0
  601. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/local_runtime.py +0 -0
  602. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/local_schedulers.py +0 -0
  603. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/local_watch.py +0 -0
  604. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/note_content_materialization.py +0 -0
  605. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/project_indexing.py +0 -0
  606. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/repository_project_resolution.py +0 -0
  607. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/schedulers.py +0 -0
  608. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/storage_events.py +0 -0
  609. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/watch_coordinator.py +0 -0
  610. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/index/watch_service.py +0 -0
  611. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/__init__.py +0 -0
  612. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/accepted_note_enqueue_runner.py +0 -0
  613. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/accepted_note_mutation_runner.py +0 -0
  614. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/accepted_note_search.py +0 -0
  615. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/accepted_note_write_runner.py +0 -0
  616. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/batch_indexer.py +0 -0
  617. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/batching.py +0 -0
  618. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/change_detector.py +0 -0
  619. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/change_planning.py +0 -0
  620. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/directory_delete_runner.py +0 -0
  621. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/embedding_index_planning.py +0 -0
  622. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/external_file_delete_runner.py +0 -0
  623. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/file_batch_runner.py +0 -0
  624. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/file_index_checking.py +0 -0
  625. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/file_index_planning.py +0 -0
  626. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/file_indexer.py +0 -0
  627. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/forward_reference_resolution.py +0 -0
  628. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/index_batch_runtime.py +0 -0
  629. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/index_file_runner.py +0 -0
  630. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/index_file_runtime.py +0 -0
  631. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/input_file_adaptation.py +0 -0
  632. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/job_payloads.py +0 -0
  633. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/link_resolution.py +0 -0
  634. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/models.py +0 -0
  635. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/note_content_batch_reconciliation.py +0 -0
  636. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/note_content_read_repair_runner.py +0 -0
  637. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/note_content_reconciler.py +0 -0
  638. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/note_content_reconciliation.py +0 -0
  639. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/note_file_delete_runner.py +0 -0
  640. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/note_materialization_runner.py +0 -0
  641. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/orphan_cleanup.py +0 -0
  642. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/progress.py +0 -0
  643. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_delete_acceptance.py +0 -0
  644. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_delete_runner.py +0 -0
  645. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_index_coordinator.py +0 -0
  646. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_index_maintenance.py +0 -0
  647. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_index_progress.py +0 -0
  648. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_index_runtime.py +0 -0
  649. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_index_workflow.py +0 -0
  650. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_index_workflow_models.py +0 -0
  651. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_index_workflow_stale.py +0 -0
  652. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/project_index_workflow_updates.py +0 -0
  653. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/relation_persistence.py +0 -0
  654. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/indexing/relation_resolution.py +0 -0
  655. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/man/basic-memory.1 +0 -0
  656. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/man/bm.1 +0 -0
  657. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/markdown/__init__.py +0 -0
  658. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/markdown/entity_parser.py +0 -0
  659. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/markdown/markdown_processor.py +0 -0
  660. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/markdown/schemas.py +0 -0
  661. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/markdown/utils.py +0 -0
  662. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/__init__.py +0 -0
  663. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/async_client.py +0 -0
  664. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/client_info.py +0 -0
  665. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/clients/__init__.py +0 -0
  666. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/clients/directory.py +0 -0
  667. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/clients/inspect.py +0 -0
  668. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/clients/knowledge.py +0 -0
  669. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/clients/memory.py +0 -0
  670. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/clients/resource.py +0 -0
  671. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/clients/schema.py +0 -0
  672. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/clients/search.py +0 -0
  673. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/container.py +0 -0
  674. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/note_reads.py +0 -0
  675. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/project_context.py +0 -0
  676. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/project_context_identifiers.py +0 -0
  677. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/prompts/__init__.py +0 -0
  678. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +0 -0
  679. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
  680. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/prompts/getting_started.py +0 -0
  681. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
  682. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/prompts/search.py +0 -0
  683. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/prompts/utils.py +0 -0
  684. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/resources/__init__.py +0 -0
  685. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/resources/ai_assistant_guide.md +0 -0
  686. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/resources/project_info.py +0 -0
  687. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/server.py +0 -0
  688. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/__init__.py +0 -0
  689. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/basic_memory_diagnostics.py +0 -0
  690. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/build_context.py +0 -0
  691. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/chatgpt_tools.py +0 -0
  692. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/delete_note.py +0 -0
  693. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/edit_note.py +0 -0
  694. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/list_directory.py +0 -0
  695. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/move_note.py +0 -0
  696. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/project_management.py +0 -0
  697. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/read_content.py +0 -0
  698. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/read_note.py +0 -0
  699. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/recent_activity.py +0 -0
  700. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/schema.py +0 -0
  701. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/search.py +0 -0
  702. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/ui_sdk.py +0 -0
  703. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/utils.py +0 -0
  704. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/view_note.py +0 -0
  705. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/tools/workspaces.py +0 -0
  706. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/ui/__init__.py +0 -0
  707. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/ui/html/note-preview-mcp-ui.html +0 -0
  708. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/ui/html/note-preview-tool-ui.html +0 -0
  709. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/ui/html/note-preview-vanilla.html +0 -0
  710. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/ui/html/search-results-mcp-ui.html +0 -0
  711. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/ui/html/search-results-tool-ui.html +0 -0
  712. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/ui/html/search-results-vanilla.html +0 -0
  713. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/ui/sdk.py +0 -0
  714. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/ui/templates.py +0 -0
  715. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/mcp/workspace_project_index.py +0 -0
  716. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/migration_loop.py +0 -0
  717. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/models/__init__.py +0 -0
  718. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/models/base.py +0 -0
  719. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/models/knowledge.py +0 -0
  720. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/models/project.py +0 -0
  721. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/models/relation_search_refresh.py +0 -0
  722. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/picoschema/__init__.py +0 -0
  723. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/picoschema/diff.py +0 -0
  724. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/picoschema/inference.py +0 -0
  725. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/picoschema/parser.py +0 -0
  726. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/picoschema/resolver.py +0 -0
  727. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/picoschema/validator.py +0 -0
  728. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/project_resolver.py +0 -0
  729. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/read_cache/__init__.py +0 -0
  730. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/read_cache/contract.py +0 -0
  731. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/read_cache/invalidation.py +0 -0
  732. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/read_cache/keys.py +0 -0
  733. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/read_cache/lifecycle.py +0 -0
  734. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/read_cache/policy.py +0 -0
  735. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/read_cache/read_through.py +0 -0
  736. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/read_cache/redis.py +0 -0
  737. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/redaction.py +0 -0
  738. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/__init__.py +0 -0
  739. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/accepted_note_repositories.py +0 -0
  740. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/accepted_note_search_repository.py +0 -0
  741. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/accepted_note_search_row.py +0 -0
  742. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/accepted_note_vector_cleanup.py +0 -0
  743. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/embedding_provider.py +0 -0
  744. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/embedding_provider_factory.py +0 -0
  745. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/entity_repository.py +0 -0
  746. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/fastembed_provider.py +0 -0
  747. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/fastembed_rerank_provider.py +0 -0
  748. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/litellm_provider.py +0 -0
  749. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/litellm_rerank_provider.py +0 -0
  750. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/metadata_filters.py +0 -0
  751. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/milvus_config.py +0 -0
  752. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/milvus_index.py +0 -0
  753. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/milvus_repository.py +0 -0
  754. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/note_content_repository.py +0 -0
  755. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/note_file_vacate_repository.py +0 -0
  756. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/observation_repository.py +0 -0
  757. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/openai_provider.py +0 -0
  758. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/pgvector_index.py +0 -0
  759. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/prefixing_provider.py +0 -0
  760. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/project_info_repository.py +0 -0
  761. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/project_repository.py +0 -0
  762. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/relation_repository.py +0 -0
  763. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/repository.py +0 -0
  764. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/rerank_provider.py +0 -0
  765. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/rerank_provider_factory.py +0 -0
  766. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/search_index_row.py +0 -0
  767. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/search_query.py +0 -0
  768. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/search_trace.py +0 -0
  769. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/semantic_chunking.py +0 -0
  770. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/semantic_errors.py +0 -0
  771. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/semantic_vector_index.py +0 -0
  772. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/semantic_vector_index_factory.py +0 -0
  773. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/semantic_vector_sync.py +0 -0
  774. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/sqlite_search_repository.py +0 -0
  775. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/repository/sqlite_vec_index.py +0 -0
  776. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/__init__.py +0 -0
  777. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/accepted_note_changes.py +0 -0
  778. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/cleanup.py +0 -0
  779. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/job_payloads.py +0 -0
  780. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/jobs.py +0 -0
  781. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/mode.py +0 -0
  782. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/note_content.py +0 -0
  783. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/note_content_deletes.py +0 -0
  784. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/note_content_reads.py +0 -0
  785. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/note_content_responses.py +0 -0
  786. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/note_file_guards.py +0 -0
  787. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/note_materialization.py +0 -0
  788. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/note_materialization_planning.py +0 -0
  789. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/note_move.py +0 -0
  790. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/note_object_metadata.py +0 -0
  791. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/observed_index_files.py +0 -0
  792. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/process.py +0 -0
  793. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/projects.py +0 -0
  794. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/sample_notes.py +0 -0
  795. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/storage.py +0 -0
  796. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/storage_events.py +0 -0
  797. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/storage_project_resolution.py +0 -0
  798. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/vector_sync.py +0 -0
  799. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/runtime/workflows.py +0 -0
  800. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/__init__.py +0 -0
  801. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/base.py +0 -0
  802. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/cloud.py +0 -0
  803. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/delete.py +0 -0
  804. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/directory.py +0 -0
  805. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/importer.py +0 -0
  806. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/inspect.py +0 -0
  807. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/memory.py +0 -0
  808. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/project_index.py +0 -0
  809. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/project_info.py +0 -0
  810. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/prompt.py +0 -0
  811. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/request.py +0 -0
  812. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/response.py +0 -0
  813. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/schema.py +0 -0
  814. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/search.py +0 -0
  815. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/v2/__init__.py +0 -0
  816. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/v2/entity.py +0 -0
  817. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/v2/graph.py +0 -0
  818. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/schemas/v2/project_index.py +0 -0
  819. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/__init__.py +0 -0
  820. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/bulk_link_resolver.py +0 -0
  821. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/composition.py +0 -0
  822. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/context_service.py +0 -0
  823. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/directory_deletes.py +0 -0
  824. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/directory_service.py +0 -0
  825. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/entity_service.py +0 -0
  826. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/exceptions.py +0 -0
  827. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/file_service.py +0 -0
  828. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/initialization.py +0 -0
  829. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/link_resolver.py +0 -0
  830. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/note_content_reads.py +0 -0
  831. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/note_content_writes.py +0 -0
  832. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/note_preparation.py +0 -0
  833. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/project_deletes.py +0 -0
  834. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/retrieval_inspect.py +0 -0
  835. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/services/service.py +0 -0
  836. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/telemetry.py +0 -0
  837. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/templates/prompts/continue_conversation.hbs +0 -0
  838. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/templates/prompts/search.hbs +0 -0
  839. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/utils.py +0 -0
  840. {basic_memory-0.23.0 → basic_memory-0.23.1}/src/basic_memory/workspace_context.py +0 -0
  841. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/BENCHMARKS.md +0 -0
  842. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/bughunt_fixes/__init__.py +0 -0
  843. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/bughunt_fixes/test_cli_tool_read_note_security_error.py +0 -0
  844. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/bughunt_fixes/test_cli_tool_recent_activity_page_size.py +0 -0
  845. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/bughunt_fixes/test_cli_tool_search_notes_category.py +0 -0
  846. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/bughunt_fixes/test_cli_tool_write_note_parity.py +0 -0
  847. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/bughunt_fixes/test_move_note_edge_cases.py +0 -0
  848. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/bughunt_fixes/test_navigation_pagination_integration.py +0 -0
  849. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/bughunt_fixes/test_parse_tags_comma_split_integration.py +0 -0
  850. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_cli_tool_delete_note_integration.py +0 -0
  851. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_cli_tool_edit_note_integration.py +0 -0
  852. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_cli_tool_json_failure_integration.py +0 -0
  853. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_cli_tool_json_integration.py +0 -0
  854. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_cli_tool_write_note_type_integration.py +0 -0
  855. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_project_commands_integration.py +0 -0
  856. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_routing_integration.py +0 -0
  857. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_search_notes_meta_integration.py +0 -0
  858. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_status_wait_integration.py +0 -0
  859. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/cli/test_version_integration.py +0 -0
  860. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/compare_search_benchmarks.py +0 -0
  861. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-01.md +0 -0
  862. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-02.md +0 -0
  863. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-03.md +0 -0
  864. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-04.md +0 -0
  865. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-05.md +0 -0
  866. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-06.md +0 -0
  867. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-07.md +0 -0
  868. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-08.md +0 -0
  869. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-09.md +0 -0
  870. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-10.md +0 -0
  871. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-11.md +0 -0
  872. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-12.md +0 -0
  873. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-13.md +0 -0
  874. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-14.md +0 -0
  875. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-15.md +0 -0
  876. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-16.md +0 -0
  877. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-17.md +0 -0
  878. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-18.md +0 -0
  879. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-19.md +0 -0
  880. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/people/drift-person-20.md +0 -0
  881. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/drift/schema/Person.md +0 -0
  882. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/edge-cases/array-single.md +0 -0
  883. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/edge-cases/empty-note.md +0 -0
  884. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/edge-cases/explicit-overrides-type.md +0 -0
  885. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/edge-cases/inline-and-type.md +0 -0
  886. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/edge-cases/no-frontmatter.md +0 -0
  887. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/edge-cases/relation-only.md +0 -0
  888. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/edge-cases/type-no-schema.md +0 -0
  889. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/edge-cases/unicode-fields.md +0 -0
  890. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/ada-lovelace.md +0 -0
  891. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/alan-turing.md +0 -0
  892. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/anders-hejlsberg.md +0 -0
  893. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/andrej-karpathy.md +0 -0
  894. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/barbara-liskov.md +0 -0
  895. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/bjarne-stroustrup.md +0 -0
  896. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/brendan-eich.md +0 -0
  897. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/claude-shannon.md +0 -0
  898. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/dennis-ritchie.md +0 -0
  899. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/dijkstra.md +0 -0
  900. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/donald-knuth.md +0 -0
  901. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/fei-fei-li.md +0 -0
  902. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/geoffrey-hinton.md +0 -0
  903. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/grace-hopper.md +0 -0
  904. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/guido-van-rossum.md +0 -0
  905. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/james-gosling.md +0 -0
  906. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/john-carmack.md +0 -0
  907. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/ken-thompson.md +0 -0
  908. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/larry-page.md +0 -0
  909. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/leslie-lamport.md +0 -0
  910. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/linus-torvalds.md +0 -0
  911. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/margaret-hamilton.md +0 -0
  912. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/rasmus-lerdorf.md +0 -0
  913. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/richard-stallman.md +0 -0
  914. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/rob-pike.md +0 -0
  915. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/satoshi-nakamoto.md +0 -0
  916. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/tim-berners-lee.md +0 -0
  917. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/vint-cerf.md +0 -0
  918. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/yann-lecun.md +0 -0
  919. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/inference/people/yukihiro-matsumoto.md +0 -0
  920. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/schemas/Book.md +0 -0
  921. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/schemas/InvalidOffSchema.md +0 -0
  922. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/schemas/Meeting.md +0 -0
  923. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/schemas/Person.md +0 -0
  924. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/schemas/SoftwareProject.md +0 -0
  925. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/schemas/StrictSchema.md +0 -0
  926. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/valid/basic-memory.md +0 -0
  927. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/valid/explicit-ref-note.md +0 -0
  928. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/valid/no-schema-note.md +0 -0
  929. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/valid/paul-graham.md +0 -0
  930. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/valid/rich-hickey.md +0 -0
  931. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/valid/standup-2024-01-15.md +0 -0
  932. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/warnings/extra-observations.md +0 -0
  933. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/warnings/missing-multiple.md +0 -0
  934. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/warnings/missing-required.md +0 -0
  935. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/fixtures/schema/warnings/wrong-enum-value.md +0 -0
  936. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_build_context_underscore.py +0 -0
  937. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_build_context_validation.py +0 -0
  938. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_chatgpt_tools_integration.py +0 -0
  939. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_concurrent_write_integration.py +0 -0
  940. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_default_project_mode_integration.py +0 -0
  941. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_delete_directory_integration.py +0 -0
  942. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_delete_note_integration.py +0 -0
  943. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_edit_note_integration.py +0 -0
  944. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_lifespan_shutdown_sync_task_cancellation_integration.py +0 -0
  945. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_list_directory_integration.py +0 -0
  946. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_long_relation_type_integration.py +0 -0
  947. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_move_directory_integration.py +0 -0
  948. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_move_note_integration.py +0 -0
  949. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_observation_permalink_collision_integration.py +0 -0
  950. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_output_format_json_integration.py +0 -0
  951. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_pagination_integration.py +0 -0
  952. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_param_aliases_integration.py +0 -0
  953. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_permalink_collision_integration.py +0 -0
  954. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_project_management_integration.py +0 -0
  955. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_project_state_sync_integration.py +0 -0
  956. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_read_content_integration.py +0 -0
  957. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_read_note_integration.py +0 -0
  958. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_recreate_project_indexing_integration.py +0 -0
  959. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_search_integration.py +0 -0
  960. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_search_note_types_case_insensitive.py +0 -0
  961. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_single_project_mcp_integration.py +0 -0
  962. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_smoke_integration.py +0 -0
  963. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_string_params_integration.py +0 -0
  964. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_ui_sdk_integration.py +0 -0
  965. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_workspace_permalink_integration.py +0 -0
  966. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_write_note_integration.py +0 -0
  967. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/mcp/test_write_note_type_integration.py +0 -0
  968. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/read_cache/conftest.py +0 -0
  969. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/read_cache/test_api_read_cache.py +0 -0
  970. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/read_cache/test_materialization_invalidation.py +0 -0
  971. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/read_cache/test_mcp_read_cache.py +0 -0
  972. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/read_cache/test_read_cache_benchmark.py +0 -0
  973. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/read_cache/test_redis_read_cache.py +0 -0
  974. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/read_cache/test_runtime_invalidation.py +0 -0
  975. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/read_cache/test_search_read_cache.py +0 -0
  976. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/__init__.py +0 -0
  977. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/corpus.py +0 -0
  978. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/litellm_live_harness.py +0 -0
  979. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/metrics.py +0 -0
  980. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/report.py +0 -0
  981. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_embedding_provider_reuse.py +0 -0
  982. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_litellm_live_harness.py +0 -0
  983. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_litellm_live_models.py +0 -0
  984. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_milvus_lite.py +0 -0
  985. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_multiterm_semantic_queries.py +0 -0
  986. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_real_fastembed_reranker.py +0 -0
  987. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_reranker_latency.py +0 -0
  988. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_reranker_quality.py +0 -0
  989. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_search_diagnostics.py +0 -0
  990. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_semantic_coverage.py +0 -0
  991. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/semantic/test_semantic_quality.py +0 -0
  992. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_db_wal_mode.py +0 -0
  993. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_embedding_status_vec0.py +0 -0
  994. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_note_file_vacate_atomicity.py +0 -0
  995. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_note_materialization_lock_order.py +0 -0
  996. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_picoschema/__init__.py +0 -0
  997. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_picoschema/conftest.py +0 -0
  998. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_picoschema/helpers.py +0 -0
  999. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_picoschema/test_diff_integration.py +0 -0
  1000. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_picoschema/test_inference_integration.py +0 -0
  1001. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_picoschema/test_parser_integration.py +0 -0
  1002. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_picoschema/test_validator_integration.py +0 -0
  1003. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_postgres_dispose_cycle.py +0 -0
  1004. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_project_index_delete_materialization_race.py +0 -0
  1005. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_relation_generation_concurrency.py +0 -0
  1006. {basic_memory-0.23.0 → basic_memory-0.23.1}/test-int/test_search_performance_benchmark.py +0 -0
  1007. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/Non-MarkdownFileSupport.pdf +0 -0
  1008. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/README.md +0 -0
  1009. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/Screenshot.png +0 -0
  1010. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/__init__.py +0 -0
  1011. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/test_container.py +0 -0
  1012. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/__init__.py +0 -0
  1013. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/conftest.py +0 -0
  1014. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_accepted_note_atomicity.py +0 -0
  1015. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_directory_router.py +0 -0
  1016. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_entity_observation_lock_order.py +0 -0
  1017. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_importer_router.py +0 -0
  1018. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_inspect_router.py +0 -0
  1019. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_knowledge_resolution_contract.py +0 -0
  1020. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_knowledge_router.py +0 -0
  1021. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_knowledge_router_telemetry.py +0 -0
  1022. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_memory_hydration.py +0 -0
  1023. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_memory_router.py +0 -0
  1024. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_orphan_router.py +0 -0
  1025. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_project_index_command.py +0 -0
  1026. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_prompt_router.py +0 -0
  1027. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_resource_router.py +0 -0
  1028. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_schema_router.py +0 -0
  1029. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_search_hydration.py +0 -0
  1030. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_search_router.py +0 -0
  1031. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_search_router_telemetry.py +0 -0
  1032. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_utils_telemetry.py +0 -0
  1033. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/api/v2/test_workspace_permalink_headers.py +0 -0
  1034. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/cloud/test_bmignore_sync_filter_refresh.py +0 -0
  1035. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/cloud/test_cloud_api_client_and_utils.py +0 -0
  1036. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/cloud/test_project_sync_command.py +0 -0
  1037. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/cloud/test_rclone_config_and_bmignore_filters.py +0 -0
  1038. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/cloud/test_rclone_installer.py +0 -0
  1039. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/cloud/test_upload_command_routing.py +0 -0
  1040. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/cloud/test_upload_path.py +0 -0
  1041. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/cloud/test_webdav_client.py +0 -0
  1042. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/cloud/test_webdav_transfer.py +0 -0
  1043. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/conftest.py +0 -0
  1044. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_analytics.py +0 -0
  1045. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_auth_cli_auth.py +0 -0
  1046. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_ci_commands.py +0 -0
  1047. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cli_container.py +0 -0
  1048. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cli_exit.py +0 -0
  1049. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cli_schema.py +0 -0
  1050. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cli_telemetry.py +0 -0
  1051. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cli_tool_exit.py +0 -0
  1052. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cli_tool_json_output.py +0 -0
  1053. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cli_tool_rich_output.py +0 -0
  1054. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cli_tools.py +0 -0
  1055. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cloud_authentication.py +0 -0
  1056. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cloud_promo.py +0 -0
  1057. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_cloud_status.py +0 -0
  1058. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_coding_session_context.py +0 -0
  1059. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_command_utils.py +0 -0
  1060. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_config_command.py +0 -0
  1061. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_db_reindex.py +0 -0
  1062. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_db_reset_exit.py +0 -0
  1063. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_db_reset_zombie_check.py +0 -0
  1064. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_hook_command.py +0 -0
  1065. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_ignore_utils.py +0 -0
  1066. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_import_chatgpt.py +0 -0
  1067. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_import_claude_conversations.py +0 -0
  1068. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_import_claude_projects.py +0 -0
  1069. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_import_memory_json.py +0 -0
  1070. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_inspect_command.py +0 -0
  1071. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_json_output.py +0 -0
  1072. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_man_command.py +0 -0
  1073. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_orphans_command.py +0 -0
  1074. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_project_add_with_local_path.py +0 -0
  1075. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_project_info_cloud_status.py +0 -0
  1076. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_project_info_errors.py +0 -0
  1077. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_project_list_and_ls.py +0 -0
  1078. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_project_remove_errors.py +0 -0
  1079. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_project_set_cloud_local.py +0 -0
  1080. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_restore_commands.py +0 -0
  1081. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_routing.py +0 -0
  1082. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_share_commands.py +0 -0
  1083. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_snapshot_commands.py +0 -0
  1084. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_status_wait_timeout.py +0 -0
  1085. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_update_command.py +0 -0
  1086. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_upload.py +0 -0
  1087. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_workspace_commands.py +0 -0
  1088. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cli/test_workspace_stub.py +0 -0
  1089. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cloud/test_cloud_services.py +0 -0
  1090. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cloud/test_note_content_materialization.py +0 -0
  1091. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cloud/test_note_content_read_service.py +0 -0
  1092. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/cloud/test_project_deletes.py +0 -0
  1093. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/db/test_issue_254_foreign_key_constraints.py +0 -0
  1094. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/db/test_memory_db_session_isolation.py +0 -0
  1095. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/db/test_semantic_search_startup.py +0 -0
  1096. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/db/test_uvloop_policy.py +0 -0
  1097. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/conftest.py +0 -0
  1098. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/fixtures/claude_pre_compact.json +0 -0
  1099. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/fixtures/claude_session_start.json +0 -0
  1100. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/fixtures/codex_pre_compact.json +0 -0
  1101. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/fixtures/codex_session_start.json +0 -0
  1102. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/test_adapters.py +0 -0
  1103. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/test_archive.py +0 -0
  1104. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/test_envelope.py +0 -0
  1105. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/test_inbox.py +0 -0
  1106. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/hooks/test_uuid7.py +0 -0
  1107. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/importers/test_conversation_indexing.py +0 -0
  1108. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/importers/test_importer_base.py +0 -0
  1109. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/importers/test_importer_utils.py +0 -0
  1110. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/importers/test_project_zip_import.py +0 -0
  1111. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_filesystem_events.py +0 -0
  1112. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_inline_storage_event_processor.py +0 -0
  1113. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_accepted_note_repositories.py +0 -0
  1114. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_inline_result_recorder.py +0 -0
  1115. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_markdown_file_indexer.py +0 -0
  1116. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_move_content_updates.py +0 -0
  1117. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_project_index.py +0 -0
  1118. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_project_scan_parity.py +0 -0
  1119. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_project_vector_cleaner_wiring.py +0 -0
  1120. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_reconcile_file_reader.py +0 -0
  1121. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_runtime.py +0 -0
  1122. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_scheduler_task_failure.py +0 -0
  1123. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_schedulers.py +0 -0
  1124. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_watch_ignore_parity.py +0 -0
  1125. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_watch_orchestration.py +0 -0
  1126. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_watch_regular_file_parity.py +0 -0
  1127. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_watch_semantic_embedding.py +0 -0
  1128. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_local_watch_stress_parity.py +0 -0
  1129. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_project_index_surface.py +0 -0
  1130. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_repository_storage_event_project_resolution.py +0 -0
  1131. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_storage_event_operation_processor.py +0 -0
  1132. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_storage_event_orchestration.py +0 -0
  1133. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_watch_coordinator.py +0 -0
  1134. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/index/test_watch_service.py +0 -0
  1135. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_accepted_note_enqueue_runner.py +0 -0
  1136. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_accepted_note_mutation_runner.py +0 -0
  1137. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_accepted_note_search.py +0 -0
  1138. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_accepted_note_write_runner.py +0 -0
  1139. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_batch_index_search_writer.py +0 -0
  1140. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_batch_indexer.py +0 -0
  1141. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_batching.py +0 -0
  1142. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_change_planning.py +0 -0
  1143. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_directory_delete_runner.py +0 -0
  1144. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_embedding_index_planning.py +0 -0
  1145. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_external_file_delete_runner.py +0 -0
  1146. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_file_batch_runner.py +0 -0
  1147. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_file_index_checking.py +0 -0
  1148. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_file_index_models.py +0 -0
  1149. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_file_index_planning.py +0 -0
  1150. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_file_indexer.py +0 -0
  1151. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_forward_reference_resolution.py +0 -0
  1152. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_index_batch_runtime.py +0 -0
  1153. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_index_file_runner.py +0 -0
  1154. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_indexing_job_payloads.py +0 -0
  1155. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_input_file_adaptation.py +0 -0
  1156. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_link_resolution.py +0 -0
  1157. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_models.py +0 -0
  1158. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_note_content_batch_reconciliation.py +0 -0
  1159. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_note_content_read_repair_runner.py +0 -0
  1160. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_note_content_reconciler.py +0 -0
  1161. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_note_content_reconciliation.py +0 -0
  1162. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_note_file_delete_runner.py +0 -0
  1163. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_note_materialization_runner.py +0 -0
  1164. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_orphan_cleanup.py +0 -0
  1165. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_progress_models.py +0 -0
  1166. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_project_delete_acceptance.py +0 -0
  1167. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_project_delete_runner.py +0 -0
  1168. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_project_index_coordinator.py +0 -0
  1169. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_project_index_maintenance.py +0 -0
  1170. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_project_index_progress.py +0 -0
  1171. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_project_index_runner.py +0 -0
  1172. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_project_index_runtime.py +0 -0
  1173. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_project_index_workflow.py +0 -0
  1174. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_relation_persistence.py +0 -0
  1175. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_relation_resolution.py +0 -0
  1176. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_relation_resolution_scaling.py +0 -0
  1177. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_relation_search_refresh_retry.py +0 -0
  1178. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/indexing/test_vector_sync_planning.py +0 -0
  1179. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/__init__.py +0 -0
  1180. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_date_frontmatter_parsing.py +0 -0
  1181. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_entity_parser.py +0 -0
  1182. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_entity_parser_error_handling.py +0 -0
  1183. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_markdown_plugins.py +0 -0
  1184. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_markdown_processor.py +0 -0
  1185. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_markdown_utils.py +0 -0
  1186. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_observation_edge_cases.py +0 -0
  1187. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_parser_edge_cases.py +0 -0
  1188. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/markdown/test_task_detection.py +0 -0
  1189. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/clients/__init__.py +0 -0
  1190. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/conftest.py +0 -0
  1191. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_async_client_force_local.py +0 -0
  1192. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_async_client_modes.py +0 -0
  1193. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_async_client_telemetry.py +0 -0
  1194. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_client_info.py +0 -0
  1195. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_client_schema.py +0 -0
  1196. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_client_telemetry.py +0 -0
  1197. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_first_connect_onboarding.py +0 -0
  1198. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_mcp_container.py +0 -0
  1199. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_mcp_note_type_normalization.py +0 -0
  1200. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_obsidian_yaml_formatting.py +0 -0
  1201. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_project_context.py +0 -0
  1202. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_project_context_scoped_key.py +0 -0
  1203. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_project_context_telemetry.py +0 -0
  1204. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_prompt_tool_delegation.py +0 -0
  1205. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_prompts.py +0 -0
  1206. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_read_note_request_counts.py +0 -0
  1207. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_recent_activity_prompt_modes.py +0 -0
  1208. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_resources.py +0 -0
  1209. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_search_total_exactness.py +0 -0
  1210. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_server_lifespan_branches.py +0 -0
  1211. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_server_telemetry.py +0 -0
  1212. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_basic_memory_diagnostics.py +0 -0
  1213. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_build_context.py +0 -0
  1214. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_contracts.py +0 -0
  1215. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_delete_note.py +0 -0
  1216. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_edit_note.py +0 -0
  1217. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_json_output_modes.py +0 -0
  1218. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_list_directory.py +0 -0
  1219. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_move_note.py +0 -0
  1220. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_project_management.py +0 -0
  1221. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_read_content.py +0 -0
  1222. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_read_note.py +0 -0
  1223. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_recent_activity.py +0 -0
  1224. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_resource.py +0 -0
  1225. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_schema.py +0 -0
  1226. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_search.py +0 -0
  1227. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_telemetry.py +0 -0
  1228. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_utils.py +0 -0
  1229. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_utils_cloud_auth.py +0 -0
  1230. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_view_note.py +0 -0
  1231. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_workspace_management.py +0 -0
  1232. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_write_note.py +0 -0
  1233. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_write_note_kebab_filenames.py +0 -0
  1234. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_tool_write_note_metadata.py +0 -0
  1235. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_ui_sdk.py +0 -0
  1236. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_ui_templates.py +0 -0
  1237. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/test_workspace_permalink_resolution.py +0 -0
  1238. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/tools/test_chatgpt_tools.py +0 -0
  1239. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/tools/test_mutating_memory_url_routing.py +0 -0
  1240. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/mcp/tools/test_search_notes_multi_project.py +0 -0
  1241. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/picoschema/__init__.py +0 -0
  1242. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/picoschema/test_diff.py +0 -0
  1243. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/picoschema/test_inference.py +0 -0
  1244. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/picoschema/test_parser.py +0 -0
  1245. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/picoschema/test_resolver.py +0 -0
  1246. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/picoschema/test_validator.py +0 -0
  1247. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_accepted_note_search_repository.py +0 -0
  1248. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_accepted_pending_entity_repository.py +0 -0
  1249. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_chunk_inspection.py +0 -0
  1250. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_distance_to_similarity.py +0 -0
  1251. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_entity_repository.py +0 -0
  1252. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_entity_repository_upsert.py +0 -0
  1253. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_entity_upsert_issue_187.py +0 -0
  1254. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_explicit_session_transactions.py +0 -0
  1255. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_external_vector_cleanup.py +0 -0
  1256. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_fastembed_provider.py +0 -0
  1257. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_fastembed_rerank_provider.py +0 -0
  1258. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_hybrid_fusion.py +0 -0
  1259. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_litellm_provider.py +0 -0
  1260. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_litellm_rerank_provider.py +0 -0
  1261. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_metadata_filters.py +0 -0
  1262. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_metadata_filters_edge_cases.py +0 -0
  1263. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_milvus_config.py +0 -0
  1264. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_milvus_index.py +0 -0
  1265. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_milvus_repository.py +0 -0
  1266. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_note_content_repository.py +0 -0
  1267. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_note_file_vacate_repository.py +0 -0
  1268. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_observation_repository.py +0 -0
  1269. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_openai_provider.py +0 -0
  1270. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_pgvector_index.py +0 -0
  1271. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_postgres_search_repository_unit.py +0 -0
  1272. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_prefixing_provider.py +0 -0
  1273. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_project_info_repository.py +0 -0
  1274. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_project_repository.py +0 -0
  1275. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_relation_repository.py +0 -0
  1276. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_repository.py +0 -0
  1277. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_rerank_pipeline.py +0 -0
  1278. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_rerank_provider_factory.py +0 -0
  1279. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_search_index_row.py +0 -0
  1280. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_search_relaxation.py +0 -0
  1281. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_search_relaxation_unicode_classes.py +0 -0
  1282. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_search_relaxed_rendering.py +0 -0
  1283. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_search_repository_edit_bug_fix.py +0 -0
  1284. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_search_text_with_metadata_filters.py +0 -0
  1285. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_search_trace.py +0 -0
  1286. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_semantic_chunking.py +0 -0
  1287. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_semantic_search_base.py +0 -0
  1288. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_semantic_vector_index.py +0 -0
  1289. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_semantic_vector_sync.py +0 -0
  1290. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_sqlite_vector_search_repository.py +0 -0
  1291. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_vector_manifest_generation_ownership.py +0 -0
  1292. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_vector_pagination.py +0 -0
  1293. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/repository/test_vector_threshold.py +0 -0
  1294. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_accepted_note_response_planning.py +0 -0
  1295. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_accepted_note_write_guards.py +0 -0
  1296. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_deleted_note_file_checksum.py +0 -0
  1297. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_deleted_note_response.py +0 -0
  1298. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_job_request_contracts.py +0 -0
  1299. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_note_content_read_planning.py +0 -0
  1300. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_note_content_store_materialization.py +0 -0
  1301. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_note_materialization_request_matching.py +0 -0
  1302. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_note_move_destination.py +0 -0
  1303. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_pending_note_materialization.py +0 -0
  1304. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_previous_materialized_note_file_delete.py +0 -0
  1305. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_process.py +0 -0
  1306. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_runtime_job_payloads.py +0 -0
  1307. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_sample_notes.py +0 -0
  1308. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/runtime/test_workflow_metadata.py +0 -0
  1309. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/schemas/test_base_timeframe_minimum.py +0 -0
  1310. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/schemas/test_memory_serialization.py +0 -0
  1311. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/schemas/test_memory_url.py +0 -0
  1312. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/schemas/test_memory_url_validation.py +0 -0
  1313. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/schemas/test_relation_response_reference_resolution.py +0 -0
  1314. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/schemas/test_schemas.py +0 -0
  1315. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/schemas/test_search.py +0 -0
  1316. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_bulk_link_resolver.py +0 -0
  1317. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_context_service.py +0 -0
  1318. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_directory_service.py +0 -0
  1319. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_entity_service.py +0 -0
  1320. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_entity_service_disable_permalinks.py +0 -0
  1321. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_entity_service_heading_boundaries.py +0 -0
  1322. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_entity_service_prepare.py +0 -0
  1323. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_entity_service_telemetry.py +0 -0
  1324. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_entity_service_write_result.py +0 -0
  1325. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_file_service.py +0 -0
  1326. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_initialization.py +0 -0
  1327. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_initialization_cloud_mode_branches.py +0 -0
  1328. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_link_resolver.py +0 -0
  1329. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_note_type_normalization.py +0 -0
  1330. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_project_removal_bug.py +0 -0
  1331. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_project_service_cloud_info.py +0 -0
  1332. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_project_service_composition.py +0 -0
  1333. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_project_service_embedding_status.py +0 -0
  1334. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_project_service_operations.py +0 -0
  1335. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_search_service_telemetry.py +0 -0
  1336. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_semantic_search.py +0 -0
  1337. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_semantic_timestamp_surfaces.py +0 -0
  1338. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/services/test_upsert_entity_optimization.py +0 -0
  1339. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_alembic_env.py +0 -0
  1340. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_architecture_boundaries.py +0 -0
  1341. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_claude_issue_triage.py +0 -0
  1342. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_coerce.py +0 -0
  1343. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_config.py +0 -0
  1344. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_config_load_side_effects.py +0 -0
  1345. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_deps.py +0 -0
  1346. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_migration_loop.py +0 -0
  1347. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_note_content_migration.py +0 -0
  1348. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_permalink_utils.py +0 -0
  1349. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_pr_title_workflow.py +0 -0
  1350. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_production_cascade_delete.py +0 -0
  1351. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_project_resolver.py +0 -0
  1352. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_rclone_commands.py +0 -0
  1353. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_read_cache_lifecycle.py +0 -0
  1354. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_read_cache_telemetry.py +0 -0
  1355. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_read_load_bench.py +0 -0
  1356. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_runtime.py +0 -0
  1357. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_runtime_observed_index_files.py +0 -0
  1358. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_runtime_storage_events.py +0 -0
  1359. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_runtime_storage_project_resolution.py +0 -0
  1360. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_semantic_vector_index_migration.py +0 -0
  1361. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/test_telemetry.py +0 -0
  1362. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/utils/test_file_utils.py +0 -0
  1363. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/utils/test_frontmatter_obsidian_compatible.py +0 -0
  1364. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/utils/test_parse_tags.py +0 -0
  1365. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/utils/test_permalink_formatting.py +0 -0
  1366. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/utils/test_setup_logging.py +0 -0
  1367. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/utils/test_timezone_utils.py +0 -0
  1368. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/utils/test_utf8_handling.py +0 -0
  1369. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/utils/test_validate_project_path.py +0 -0
  1370. {basic_memory-0.23.0 → basic_memory-0.23.1}/tests/utils/test_workspace_context.py +0 -0
  1371. {basic_memory-0.23.0 → basic_memory-0.23.1}/uv.lock +0 -0
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Official Basic Memory plugins from the canonical basic-memory repository",
9
- "version": "0.23.0"
9
+ "version": "0.23.1"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "basic-memory",
14
14
  "source": "./plugins/claude-code",
15
15
  "description": "The bridge between Claude's working memory and Basic Memory's durable knowledge graph \u2014 session briefings, pre-compaction checkpoints, and capture reflexes",
16
- "version": "0.23.0",
16
+ "version": "0.23.1",
17
17
  "author": {
18
18
  "name": "Basic Machines"
19
19
  },
@@ -0,0 +1,36 @@
1
+ name: MCP Registry Publish
2
+
3
+ # Publishes server.json to the official MCP Registry. GitHub Actions OIDC
4
+ # authenticates this workflow as the repository owner, which grants the
5
+ # io.github.basicmachines-co/* namespace directly — no personal login or
6
+ # public-org-membership derivation involved (the manual `mcp-publisher login
7
+ # github` path proved flaky there; see the v0.23.0 release notes on #1288).
8
+ #
9
+ # Run manually after a release, once the version is live on PyPI.
10
+
11
+ on:
12
+ workflow_dispatch:
13
+
14
+ env:
15
+ FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true"
16
+
17
+ jobs:
18
+ publish:
19
+ runs-on: ubuntu-latest
20
+ permissions:
21
+ contents: read
22
+ id-token: write
23
+
24
+ steps:
25
+ - uses: actions/checkout@v6
26
+
27
+ - name: Install mcp-publisher
28
+ run: |
29
+ curl -fsSL "https://github.com/modelcontextprotocol/registry/releases/latest/download/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/').tar.gz" \
30
+ | tar xz mcp-publisher
31
+ sudo mv mcp-publisher /usr/local/bin/
32
+
33
+ - name: Publish server.json
34
+ run: |
35
+ mcp-publisher login github-oidc
36
+ mcp-publisher publish
@@ -2,6 +2,53 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## v0.23.1 (2026-08-25)
6
+
7
+ Fast-follow patch to v0.23.0 focused on PostgreSQL search parity and a
8
+ search-destroying reindex bug. Postgres now indexes complete note bodies for
9
+ full-text search (previously only titles and capped content stems, unlike
10
+ SQLite), and the per-project search reindex no longer wipes every other
11
+ project's search rows in the same database. Also adds a `#bm:links_to`
12
+ directive for disambiguating prose wiki-links, and hardens `bm update` output
13
+ after in-place upgrades.
14
+
15
+ ### Features
16
+
17
+ - Added the `#bm:links_to` directive: ending a list item with `#bm:links_to`
18
+ forces the reference to the implicit `links_to` relation, so a single-token
19
+ prose prefix (`- Mother [[Alice]] #bm:links_to`) is not parsed as an
20
+ explicit relation type. The directive stays in the source file but is
21
+ stripped from indexed observation and relation content.
22
+
23
+ ### Bug Fixes
24
+
25
+ - PostgreSQL full-text search now covers complete note bodies. Note content is
26
+ indexed as bounded, overlapping chunks in a new `search_index_fts_chunks`
27
+ table (a migration backfills existing notes), so deep content matches on
28
+ Postgres the way it always has on SQLite FTS5. The work includes correct
29
+ Boolean AND/NOT semantics across chunk boundaries, apostrophe and
30
+ punctuated-operand handling (`can't`, `v0.13.0b2`, `auth-service`),
31
+ metadata-filter composition, 100+ operand queries, and candidate
32
+ preselection so both GIN indexes stay in play.
33
+ - The per-project search reindex (`POST /search/reindex`) no longer drops the
34
+ shared `search_index` table. Dropping it destroyed every project's search
35
+ rows in the same database — and on Postgres nothing outside migrations
36
+ recreates the table, so cloud tenants lost search entirely until manual
37
+ repair. The rebuild now deletes only the reindexed project's rows (chunk
38
+ rows cascade), and the chunks migration recreates a missing `search_index`
39
+ so databases hit by the old behavior migrate cleanly.
40
+ - **#1316**: `bm update` status output no longer crashes after an in-place
41
+ upgrade removes the running install's files: rich's deferred Unicode width
42
+ table is preloaded before upgrading, and status lines fall back to plain
43
+ output instead of failing a completed update.
44
+ - **#1323**: `bm doctor` no longer fails when `BASIC_MEMORY_PROJECT_ROOT`
45
+ points at an existing project's directory. Doctor now asks the server for a
46
+ disposable `doctor-*` project under the configured root — the only
47
+ sanctioned exception to the nested-project guard — and cleanup deletes the
48
+ project's directory along with its registration.
49
+ - `bm doctor` waits for deferred note materialization before verifying the
50
+ API-written file, matching the accepted-write contract instead of racing it.
51
+
5
52
  ## v0.23.0 (2026-08-23)
6
53
 
7
54
  Semantic search grows up and concurrent writes stop deadlocking. Search gains
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: basic-memory
3
- Version: 0.23.0
3
+ Version: 0.23.1
4
4
  Summary: Local-first knowledge management combining Zettelkasten with knowledge graphs
5
5
  Project-URL: Homepage, https://github.com/basicmachines-co/basic-memory
6
6
  Project-URL: Repository, https://github.com/basicmachines-co/basic-memory
@@ -166,6 +166,17 @@ Explicit relations:
166
166
  - 'in response to' [[Incident Review]]
167
167
  ```
168
168
 
169
+ When the text before `[[` is ordinary prose rather than a relation type, add
170
+ `#bm:links_to` to force the reference to use the implicit `links_to` relation:
171
+
172
+ ```markdown
173
+ - Mother [[Alice]] #bm:links_to
174
+ ```
175
+
176
+ The directive is parser metadata and is not included in the observation or
177
+ relation context. It is especially useful when a single-token prose prefix
178
+ would otherwise be interpreted as an explicit relation type.
179
+
169
180
  Bare wiki links and prose list items create implicit `links_to` relations:
170
181
 
171
182
  ```markdown
@@ -39,7 +39,7 @@ from typing import Any, Callable
39
39
  from agent.memory_provider import MemoryProvider
40
40
  from tools.registry import tool_error
41
41
 
42
- __version__ = "0.23.0"
42
+ __version__ = "0.23.1"
43
43
 
44
44
  logger = logging.getLogger("hermes.memory.basic-memory")
45
45
 
@@ -1,5 +1,5 @@
1
1
  name: basic-memory
2
- version: 0.23.0
2
+ version: 0.23.1
3
3
  description: "Basic Memory — persistent knowledge graph backed by the basic-memory MCP server"
4
4
  manifest_version: 2
5
5
  api_version: 1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@basicmemory/openclaw-basic-memory",
3
- "version": "0.23.0",
3
+ "version": "0.23.1",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -521,7 +521,6 @@ doctor:
521
521
  TMP_HOME=$(mktemp -d)
522
522
  TMP_CONFIG=$(mktemp -d)
523
523
  HOME="$TMP_HOME" \
524
- BASIC_MEMORY_ENV=test \
525
524
  BASIC_MEMORY_HOME="$TMP_HOME/basic-memory" \
526
525
  BASIC_MEMORY_CONFIG_DIR="$TMP_CONFIG" \
527
526
  ./.venv/bin/python -m basic_memory.cli.main doctor --local
@@ -706,6 +705,8 @@ release version:
706
705
  .claude-plugin/marketplace.json \
707
706
  plugins/claude-code/.claude-plugin/plugin.json \
708
707
  plugins/claude-code/.claude-plugin/marketplace.json \
708
+ plugins/claude-code/hooks/session_start.py \
709
+ plugins/claude-code/hooks/pre_compact.py \
709
710
  plugins/codex/.codex-plugin/plugin.json \
710
711
  plugins/codex/hooks/session_start.py \
711
712
  plugins/codex/hooks/pre_compact.py \
@@ -826,6 +827,8 @@ beta version:
826
827
  .claude-plugin/marketplace.json \
827
828
  plugins/claude-code/.claude-plugin/plugin.json \
828
829
  plugins/claude-code/.claude-plugin/marketplace.json \
830
+ plugins/claude-code/hooks/session_start.py \
831
+ plugins/claude-code/hooks/pre_compact.py \
829
832
  plugins/codex/.codex-plugin/plugin.json \
830
833
  plugins/codex/hooks/session_start.py \
831
834
  plugins/codex/hooks/pre_compact.py \
@@ -6,14 +6,14 @@
6
6
  },
7
7
  "metadata": {
8
8
  "description": "Official plugins from Basic Machines for knowledge management and AI-assisted development",
9
- "version": "0.23.0"
9
+ "version": "0.23.1"
10
10
  },
11
11
  "plugins": [
12
12
  {
13
13
  "name": "basic-memory",
14
14
  "source": "./",
15
15
  "description": "The bridge between Claude's working memory and Basic Memory's durable knowledge graph \u2014 session briefings, pre-compaction checkpoints, and capture reflexes",
16
- "version": "0.23.0",
16
+ "version": "0.23.1",
17
17
  "author": {
18
18
  "name": "Basic Machines"
19
19
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "basic-memory",
3
3
  "description": "The bridge between Claude's working memory and Basic Memory's durable knowledge graph \u2014 session briefings, pre-compaction checkpoints, and capture reflexes",
4
- "version": "0.23.0",
4
+ "version": "0.23.1",
5
5
  "author": {
6
6
  "name": "Basic Machines"
7
7
  },
@@ -1,7 +1,14 @@
1
1
  #!/usr/bin/env -S uv run --quiet --script
2
2
  # /// script
3
3
  # requires-python = ">=3.12"
4
- # dependencies = ["basic-memory>=0.22.1"]
4
+ # dependencies = [
5
+ # "basic-memory>=0.23.1",
6
+ # # Direct pre-release pin so old uv resolves basic-memory (which
7
+ # # requires this exact beta transitively) without enabling
8
+ # # pre-releases for basic-memory itself. Keep in lockstep with
9
+ # # core pyproject's fastmcp pin.
10
+ # "fastmcp==4.0.0b1",
11
+ # ]
5
12
  # ///
6
13
  """PreCompact hook — the entire hook. All logic (settings resolution, the
7
14
  extractive checkpoint note, lifecycle-envelope capture) lives in the released
@@ -1,7 +1,14 @@
1
1
  #!/usr/bin/env -S uv run --quiet --script
2
2
  # /// script
3
3
  # requires-python = ">=3.12"
4
- # dependencies = ["basic-memory>=0.22.1"]
4
+ # dependencies = [
5
+ # "basic-memory>=0.23.1",
6
+ # # Direct pre-release pin so old uv resolves basic-memory (which
7
+ # # requires this exact beta transitively) without enabling
8
+ # # pre-releases for basic-memory itself. Keep in lockstep with
9
+ # # core pyproject's fastmcp pin.
10
+ # "fastmcp==4.0.0b1",
11
+ # ]
5
12
  # ///
6
13
  """SessionStart hook — the entire hook. All logic (settings resolution, the
7
14
  context brief, lifecycle-envelope capture) lives in the released basic-memory
@@ -119,7 +119,7 @@ def test_dependency_floor_matches_package_version() -> None:
119
119
  # scripts/update_versions.py bumps this line at release; drift between the
120
120
  # script floor and the package version fails here, before a release lands.
121
121
  text = SCRIPT.read_text(encoding="utf-8")
122
- floors = re.findall(r'^# dependencies = \["basic-memory>=([^"]+)"\]$', text, re.MULTILINE)
122
+ floors = re.findall(r'^# "basic-memory>=([^"]+)",$', text, re.MULTILINE)
123
123
 
124
124
  assert floors == [__version__]
125
125
 
@@ -119,7 +119,7 @@ def test_dependency_floor_matches_package_version() -> None:
119
119
  # scripts/update_versions.py bumps this line at release; drift between the
120
120
  # script floor and the package version fails here, before a release lands.
121
121
  text = SCRIPT.read_text(encoding="utf-8")
122
- floors = re.findall(r'^# dependencies = \["basic-memory>=([^"]+)"\]$', text, re.MULTILINE)
122
+ floors = re.findall(r'^# "basic-memory>=([^"]+)",$', text, re.MULTILINE)
123
123
 
124
124
  assert floors == [__version__]
125
125
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codex",
3
- "version": "0.23.0",
3
+ "version": "0.23.1",
4
4
  "description": "A Codex-native bridge to Basic Memory for durable engineering context, decisions, and resumable checkpoints.",
5
5
  "author": {
6
6
  "name": "Basic Machines",
@@ -2,7 +2,11 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.12"
4
4
  # dependencies = [
5
- # "basic-memory @ git+https://github.com/basicmachines-co/basic-memory@v0.23.0",
5
+ # "basic-memory @ git+https://github.com/basicmachines-co/basic-memory@v0.23.1",
6
+ # # Direct pre-release pin so old uv resolves basic-memory (which
7
+ # # requires this exact beta transitively) without enabling
8
+ # # pre-releases broadly. Keep in lockstep with core pyproject.
9
+ # "fastmcp==4.0.0b1",
6
10
  # ]
7
11
  # ///
8
12
  """PreCompact hook launcher backed by a pinned Basic Memory revision.
@@ -2,7 +2,11 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.12"
4
4
  # dependencies = [
5
- # "basic-memory @ git+https://github.com/basicmachines-co/basic-memory@v0.23.0",
5
+ # "basic-memory @ git+https://github.com/basicmachines-co/basic-memory@v0.23.1",
6
+ # # Direct pre-release pin so old uv resolves basic-memory (which
7
+ # # requires this exact beta transitively) without enabling
8
+ # # pre-releases broadly. Keep in lockstep with core pyproject.
9
+ # "fastmcp==4.0.0b1",
6
10
  # ]
7
11
  # ///
8
12
  """SessionStart hook launcher backed by a pinned Basic Memory revision.
@@ -153,8 +153,8 @@ def _update_packages(version: str, *, dry_run: bool) -> None:
153
153
  for script in HOOK_SCRIPTS:
154
154
  update_text(
155
155
  script,
156
- r'^# dependencies = \["basic-memory>=[^"]+"\]$',
157
- f'# dependencies = ["basic-memory>={version}"]',
156
+ r'^# "basic-memory>=[^"]+",$',
157
+ f'# "basic-memory>={version}",',
158
158
  dry_run=dry_run,
159
159
  )
160
160
  update_text(
@@ -137,6 +137,20 @@ def validate_claude_plugin(plugin_dir: Path) -> None:
137
137
  for event in REQUIRED_HOOK_EVENTS:
138
138
  if event not in hooks:
139
139
  raise SystemExit(f"hooks/hooks.json: missing {event} hook")
140
+ # Trigger: the shims pin core's exact fastmcp beta so older uv can resolve
141
+ # basic-memory (pre-release transitives are refused there) without
142
+ # enabling pre-releases for basic-memory itself.
143
+ # Why: nothing else keeps the shim pin and core's pyproject in lockstep,
144
+ # and drift makes shim resolution conflict — which the fail-open contract
145
+ # turns into a silent hook no-op.
146
+ # Outcome: validation fails loudly when core moves its fastmcp pin without
147
+ # the shims following.
148
+ core_pyproject = (ROOT / "pyproject.toml").read_text(encoding="utf-8")
149
+ core_match = re.search(r'^\s*"fastmcp==([^"]+)",$', core_pyproject, re.MULTILINE)
150
+ if not core_match:
151
+ raise SystemExit("pyproject.toml: no exact fastmcp pin found")
152
+ core_fastmcp_pin = core_match.group(1)
153
+
140
154
  for rel in REQUIRED_HOOK_SCRIPTS:
141
155
  script = plugin_dir / rel
142
156
  if not script.exists():
@@ -145,9 +159,17 @@ def validate_claude_plugin(plugin_dir: Path) -> None:
145
159
  raise SystemExit(f"Hook script is not executable: {script}")
146
160
  text = script.read_text(encoding="utf-8")
147
161
  if "# /// script" not in text or not re.search(
148
- r'^# dependencies = \["basic-memory>=[^"]+"\]$', text, re.MULTILINE
162
+ r'^# "basic-memory>=[^"]+",$', text, re.MULTILINE
149
163
  ):
150
164
  raise SystemExit(f"Hook script missing PEP 723 basic-memory floor: {script}")
165
+ shim_pins = re.findall(r'^# "fastmcp==([^"]+)",$', text, re.MULTILINE)
166
+ if len(shim_pins) != 1:
167
+ raise SystemExit(f"Hook script missing exact fastmcp pin: {script}")
168
+ if shim_pins[0] != core_fastmcp_pin:
169
+ raise SystemExit(
170
+ f"{script}: fastmcp pin {shim_pins[0]} does not match "
171
+ f"core pyproject pin {core_fastmcp_pin}"
172
+ )
151
173
 
152
174
  # --- Output style ---
153
175
  output_style = plugin_dir / "output-styles/basic-memory.md"
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/basicmachines-co/basic-memory.git",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.23.0",
9
+ "version": "0.23.1",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "pypi",
13
13
  "identifier": "basic-memory",
14
- "version": "0.23.0",
14
+ "version": "0.23.1",
15
15
  "runtimeHint": "uvx",
16
16
  "runtimeArguments": [
17
17
  {
@@ -1,7 +1,7 @@
1
1
  """basic-memory - Local-first knowledge management combining Zettelkasten with knowledge graphs"""
2
2
 
3
3
  # Package version - updated by release automation
4
- __version__ = "0.23.0"
4
+ __version__ = "0.23.1"
5
5
 
6
6
  # API version for FastAPI - independent of package version
7
7
  __api_version__ = "v2"
@@ -0,0 +1,133 @@
1
+ """Index complete PostgreSQL note content for full-text search.
2
+
3
+ Revision ID: 7f6a2b8c9d10
4
+ Revises: 2d26b287813b
5
+ Create Date: 2026-08-24 22:00:00.000000
6
+
7
+ """
8
+
9
+ from typing import Sequence, Union
10
+
11
+ from alembic import op
12
+
13
+
14
+ # revision identifiers, used by Alembic.
15
+ revision: str = "7f6a2b8c9d10"
16
+ down_revision: Union[str, None] = "2d26b287813b"
17
+ branch_labels: Union[str, Sequence[str], None] = None
18
+ depends_on: Union[str, Sequence[str], None] = None
19
+
20
+
21
+ def upgrade() -> None:
22
+ """Index complete note bodies as bounded PostgreSQL FTS chunks."""
23
+ connection = op.get_bind()
24
+ if connection.dialect.name == "postgresql":
25
+ # --- Repair: recreate search_index if a destructive reindex removed it ---
26
+ # Trigger: search_index does not exist. Through v0.23.0, the per-project
27
+ # search reindex ran DROP TABLE IF EXISTS search_index, and on Postgres
28
+ # nothing outside migrations recreates that table.
29
+ # Why: the chunk backfill below reads search_index and the chunks table
30
+ # declares a foreign key to it, so without repair this migration fails
31
+ # permanently and blocks the database from ever reaching head.
32
+ # Outcome: healthy databases no-op on IF NOT EXISTS; a repaired database
33
+ # gets an empty index that the next full reindex repopulates. The DDL
34
+ # mirrors the current schema in models/search.py.
35
+ op.execute("""
36
+ CREATE TABLE IF NOT EXISTS search_index (
37
+ id INTEGER NOT NULL,
38
+ project_id INTEGER NOT NULL,
39
+ title TEXT,
40
+ content_stems TEXT,
41
+ content_snippet TEXT,
42
+ permalink VARCHAR,
43
+ file_path VARCHAR,
44
+ type VARCHAR,
45
+ from_id INTEGER,
46
+ to_id INTEGER,
47
+ relation_type VARCHAR,
48
+ entity_id INTEGER,
49
+ category VARCHAR,
50
+ metadata JSONB,
51
+ created_at TIMESTAMP WITH TIME ZONE,
52
+ updated_at TIMESTAMP WITH TIME ZONE,
53
+ textsearchable_index_col tsvector GENERATED ALWAYS AS (
54
+ to_tsvector(
55
+ 'english',
56
+ coalesce(title, '') || ' ' ||
57
+ coalesce(content_stems, '')
58
+ )
59
+ ) STORED,
60
+ PRIMARY KEY (id, type, project_id),
61
+ FOREIGN KEY (project_id) REFERENCES project(id) ON DELETE CASCADE
62
+ )
63
+ """)
64
+ op.execute("""
65
+ CREATE INDEX IF NOT EXISTS ix_search_index_project_id
66
+ ON search_index (project_id)
67
+ """)
68
+ op.execute("""
69
+ CREATE INDEX IF NOT EXISTS idx_search_index_fts
70
+ ON search_index USING gin(textsearchable_index_col)
71
+ """)
72
+ op.execute("""
73
+ CREATE INDEX IF NOT EXISTS idx_search_index_metadata_gin
74
+ ON search_index USING gin(metadata jsonb_path_ops)
75
+ """)
76
+ op.execute("""
77
+ CREATE UNIQUE INDEX IF NOT EXISTS uix_search_index_permalink_project
78
+ ON search_index (permalink, project_id)
79
+ WHERE permalink IS NOT NULL
80
+ """)
81
+ op.execute("""
82
+ CREATE TABLE search_index_fts_chunks (
83
+ project_id INTEGER NOT NULL,
84
+ search_index_id INTEGER NOT NULL,
85
+ search_index_type VARCHAR NOT NULL,
86
+ chunk_index INTEGER NOT NULL,
87
+ chunk_text TEXT NOT NULL,
88
+ textsearchable_index_col tsvector GENERATED ALWAYS AS (
89
+ to_tsvector('english', chunk_text)
90
+ ) STORED,
91
+ PRIMARY KEY (project_id, search_index_id, search_index_type, chunk_index),
92
+ FOREIGN KEY (search_index_id, search_index_type, project_id)
93
+ REFERENCES search_index(id, type, project_id)
94
+ ON UPDATE CASCADE ON DELETE CASCADE
95
+ )
96
+ """)
97
+ op.execute("""
98
+ -- PostgreSQL ignores lexemes at 2 KiB and above. Stepping 5,952
99
+ -- characters leaves a conservative 2,048-character overlap, so
100
+ -- every indexable lexeme split at one edge is complete in the next.
101
+ INSERT INTO search_index_fts_chunks (
102
+ project_id,
103
+ search_index_id,
104
+ search_index_type,
105
+ chunk_index,
106
+ chunk_text
107
+ )
108
+ SELECT
109
+ search_index.project_id,
110
+ search_index.id,
111
+ search_index.type,
112
+ (chunk_start - 1) / 5952,
113
+ substring(search_index.content_snippet FROM chunk_start FOR 8000)
114
+ FROM search_index
115
+ CROSS JOIN LATERAL generate_series(
116
+ 1,
117
+ length(search_index.content_snippet),
118
+ 5952
119
+ ) AS chunk_start
120
+ WHERE search_index.content_snippet IS NOT NULL
121
+ AND search_index.content_snippet <> ''
122
+ """)
123
+ op.execute("""
124
+ CREATE INDEX idx_search_index_fts_chunks_fts
125
+ ON search_index_fts_chunks USING gin(textsearchable_index_col)
126
+ """)
127
+
128
+
129
+ def downgrade() -> None:
130
+ """Remove the bounded full-content PostgreSQL FTS chunks."""
131
+ connection = op.get_bind()
132
+ if connection.dialect.name == "postgresql":
133
+ op.execute("DROP TABLE IF EXISTS search_index_fts_chunks")
@@ -221,6 +221,28 @@ async def add_project(
221
221
  raise HTTPException(status_code=400, detail=str(e))
222
222
 
223
223
 
224
+ @router.post("/doctor", response_model=ProjectStatusResponse, status_code=201)
225
+ async def add_doctor_project(project_service: ProjectServiceDep) -> ProjectStatusResponse:
226
+ """Create a server-generated disposable project for the local doctor check."""
227
+ try:
228
+ new_project = await project_service.add_doctor_project()
229
+ except ValueError as e:
230
+ raise HTTPException(status_code=400, detail=str(e))
231
+
232
+ return ProjectStatusResponse(
233
+ message=f"Project '{new_project.name}' added successfully",
234
+ status="success",
235
+ default=new_project.is_default or False,
236
+ new_project=ProjectItem(
237
+ id=new_project.id,
238
+ external_id=new_project.external_id,
239
+ name=new_project.name,
240
+ path=new_project.path,
241
+ is_default=new_project.is_default or False,
242
+ ),
243
+ )
244
+
245
+
224
246
  @router.post("/config/sync", response_model=ProjectStatusResponse)
225
247
  async def synchronize_projects(
226
248
  project_service: ProjectServiceDep,
@@ -221,6 +221,38 @@ def _preload_lazy_console_modules() -> None:
221
221
  """
222
222
  import rich._emoji_codes # noqa: F401
223
223
  import typer.rich_utils # noqa: F401
224
+ from rich.cells import cell_len
225
+
226
+ # Trigger: rich defers its Unicode cell-width table (`rich._unicode_data.
227
+ # unicode<version>`) until the first character it cannot measure with the
228
+ # ASCII fast path in `_cell_len`.
229
+ # Why: status messages echo captured `brew`/`uv` output, which carries
230
+ # non-ASCII characters (curly quotes, em dashes, warning glyphs), so the
231
+ # deferred import lands after the upgrade removed our files. Importing the
232
+ # module by name would hard-code a table version; calling `cell_len` uses
233
+ # rich's own resolution and honors UNICODE_VERSION like the print path does.
234
+ # Outcome: the table rich will reach for is resolved and cached up front.
235
+ cell_len("\u2500\u2018\u2713")
236
+
237
+
238
+ def print_update_status(console: Console, text: str, style: str) -> None:
239
+ """Print an update status line that cannot fail the command.
240
+
241
+ Trigger: the line is printed after an in-place upgrade may already have
242
+ replaced this installation on disk.
243
+ Why: `_preload_lazy_console_modules` can only preload the deferred imports
244
+ we know about today, and rich/typer are free to add more. By the time this
245
+ prints, the upgrade has already succeeded -- a status line must never be
246
+ what turns it into a traceback and a non-zero exit.
247
+ Outcome: fall back to a plain, unstyled write that needs no new imports.
248
+ """
249
+ try:
250
+ console.print(f"[{style}]{text}[/{style}]")
251
+ except Exception as exc:
252
+ logger.warning(
253
+ f"Rich console print failed after update, falling back to plain output: {exc}"
254
+ )
255
+ print(text)
224
256
 
225
257
 
226
258
  def _save_last_checked_timestamp(config_manager: ConfigManager, checked_at: datetime) -> None:
@@ -468,11 +500,11 @@ def maybe_run_periodic_auto_update(
468
500
  }:
469
501
  out = console or Console()
470
502
  if result.status == AutoUpdateStatus.UPDATED:
471
- out.print(f"[green]{result.message}[/green]")
503
+ print_update_status(out, f"{result.message}", "green")
472
504
  elif result.status == AutoUpdateStatus.FAILED:
473
505
  error_detail = f" {result.error}" if result.error else ""
474
- out.print(f"[yellow]{result.message}{error_detail}[/yellow]")
506
+ print_update_status(out, f"{result.message}{error_detail}", "yellow")
475
507
  elif result.message:
476
- out.print(f"[cyan]{result.message}[/cyan]")
508
+ print_update_status(out, f"{result.message}", "cyan")
477
509
 
478
510
  return result