basic-memory 0.23.1.dev24__tar.gz → 0.23.2.dev2__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.1.dev24 → basic_memory-0.23.2.dev2}/.claude-plugin/marketplace.json +2 -2
  2. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/CHANGELOG.md +15 -0
  3. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/PKG-INFO +1 -1
  4. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/__init__.py +1 -1
  5. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/plugin.yaml +1 -1
  6. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/package.json +1 -1
  7. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/.claude-plugin/marketplace.json +2 -2
  8. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/.claude-plugin/plugin.json +1 -1
  9. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/pre_compact.py +1 -1
  10. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/session_start.py +1 -1
  11. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/.codex-plugin/plugin.json +1 -1
  12. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/pre_compact.py +1 -1
  13. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/session_start.py +1 -1
  14. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/server.json +2 -2
  15. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/__init__.py +1 -1
  16. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/project_router.py +22 -0
  17. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/doctor.py +19 -3
  18. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/accepted_note_mutation_runner.py +99 -7
  19. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/project.py +7 -0
  20. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/move_note.py +12 -1
  21. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/project_service.py +36 -22
  22. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/utils.py +46 -0
  23. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_knowledge_router.py +110 -0
  24. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_project_router.py +45 -0
  25. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_doctor_command.py +17 -0
  26. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_accepted_note_mutation_runner.py +260 -0
  27. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/clients/test_clients.py +30 -0
  28. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_move_note.py +69 -0
  29. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_write_note.py +25 -0
  30. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_project_service.py +85 -0
  31. basic_memory-0.23.2.dev2/tests/utils/test_resolve_directory_casing.py +63 -0
  32. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/plugins/marketplace.json +0 -0
  33. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/SKILL.md +0 -0
  34. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/prompts/refute.md +0 -0
  35. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/prompts/review.md +0 -0
  36. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/schemas/findings.schema.json +0 -0
  37. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/schemas/verdicts.schema.json +0 -0
  38. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/SKILL.md +0 -0
  39. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/agents/openai.yaml +0 -0
  40. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/references/handles-and-identify.md +0 -0
  41. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/references/panes-surfaces.md +0 -0
  42. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/references/trigger-flash-and-health.md +0 -0
  43. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/references/windows-workspaces.md +0 -0
  44. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-markdown/SKILL.md +0 -0
  45. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-markdown/agents/openai.yaml +0 -0
  46. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-markdown/references/commands.md +0 -0
  47. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-markdown/references/live-reload.md +0 -0
  48. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/SKILL.md +0 -0
  49. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/agents/openai.yaml +0 -0
  50. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/references/all-keys.md +0 -0
  51. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/references/shortcut-actions.md +0 -0
  52. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/scripts/cmux-settings +0 -0
  53. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-workspace/SKILL.md +0 -0
  54. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-workspace/agents/openai.yaml +0 -0
  55. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-workspace/references/commands.md +0 -0
  56. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/code-review/SKILL.md +0 -0
  57. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/fix-pr-issues/SKILL.md +0 -0
  58. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/fix-pr-issues/agents/openai.yaml +0 -0
  59. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/fix-pr-issues/assets/icon.svg +0 -0
  60. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/SKILL.md +0 -0
  61. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/agents/openai.yaml +0 -0
  62. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/assets/icon.svg +0 -0
  63. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/references/prompt-blueprint.md +0 -0
  64. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/references/style-balance.md +0 -0
  65. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/SKILL.md +0 -0
  66. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/javascript/frameworks.md +0 -0
  67. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/javascript/patterns.md +0 -0
  68. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/python/integrations.md +0 -0
  69. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/python/logging-patterns.md +0 -0
  70. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/rust/patterns.md +0 -0
  71. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pr-create/SKILL.md +0 -0
  72. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pr-create/agents/openai.yaml +0 -0
  73. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pr-create/assets/icon.svg +0 -0
  74. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pr-description/SKILL.md +0 -0
  75. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pr-description/references/pr-body-template.md +0 -0
  76. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pr-review-loop/SKILL.md +0 -0
  77. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pull-request/SKILL.md +0 -0
  78. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/SKILL.md +0 -0
  79. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/agents/openai.yaml +0 -0
  80. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/context/AGENTS.md +0 -0
  81. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/context/pyproject.toml +0 -0
  82. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/evals.json +0 -0
  83. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/accepted_preparation.py +0 -0
  84. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/accepted_snapshot.py +0 -0
  85. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/shared_runtime_ownership.md +0 -0
  86. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/test_accepted_preparation.py +0 -0
  87. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/test_accepted_snapshot.py +0 -0
  88. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/justfile +0 -0
  89. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/scripts/run_evals.py +0 -0
  90. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.claude/commands/release/beta.md +0 -0
  91. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.claude/commands/release/changelog.md +0 -0
  92. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.claude/commands/release/release-check.md +0 -0
  93. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.claude/commands/release/release.md +0 -0
  94. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.claude/commands/spec.md +0 -0
  95. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.claude/commands/test-live.md +0 -0
  96. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.claude/settings.json +0 -0
  97. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.codex/basic-memory.json +0 -0
  98. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.dockerignore +0 -0
  99. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.env.example +0 -0
  100. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.gitattributes +0 -0
  101. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  102. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  103. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  104. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  105. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/basic-memory/SOUL.md +0 -0
  106. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/basic-memory/config.yml +0 -0
  107. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/basic-memory/memory-ci-capture.md +0 -0
  108. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/dependabot.yml +0 -0
  109. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/claude-code-review.yml +0 -0
  110. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/claude-issue-triage.yml +0 -0
  111. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/claude.yml +0 -0
  112. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/consolidated-packages.yml +0 -0
  113. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/dev-release.yml +0 -0
  114. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/docker.yml +0 -0
  115. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/mcp-registry-publish.yml +0 -0
  116. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/pr-title.yml +0 -0
  117. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/publish-skills.yml +0 -0
  118. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/release.yml +0 -0
  119. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.github/workflows/test.yml +0 -0
  120. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.gitignore +0 -0
  121. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/.python-version +0 -0
  122. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/AGENTS.md +0 -0
  123. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/CITATION.cff +0 -0
  124. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/CLA.md +0 -0
  125. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/CLAUDE.md +0 -0
  126. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/CODE_OF_CONDUCT.md +0 -0
  127. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/CONTRIBUTING.md +0 -0
  128. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/Dockerfile +0 -0
  129. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/LICENSE +0 -0
  130. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/NOTE-FORMAT.md +0 -0
  131. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/README.md +0 -0
  132. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/SECURITY.md +0 -0
  133. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/.github/workflows/benchmark-nightly.yml +0 -0
  134. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/.github/workflows/benchmark-smoke.yml +0 -0
  135. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/.gitignore +0 -0
  136. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/.python-version +0 -0
  137. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/AGENTS.md +0 -0
  138. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/README.md +0 -0
  139. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/README.md +0 -0
  140. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/locomo/README.md +0 -0
  141. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/locomo/download.sh +0 -0
  142. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/locomo/source.json +0 -0
  143. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/longmemeval/README.md +0 -0
  144. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/longmemeval/download.sh +0 -0
  145. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/results/matrix-v1.2-summary.md +0 -0
  146. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/results/matrix-v2-summary.md +0 -0
  147. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/results/structured-ingestion-findings.md +0 -0
  148. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/synthetic/docs/agent-memory.md +0 -0
  149. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/synthetic/docs/auth-memory.md +0 -0
  150. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/synthetic/docs/sync-memory.md +0 -0
  151. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/synthetic/queries.json +0 -0
  152. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/docs/benchmarks.md +0 -0
  153. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/docs/read-load-benchmark.md +0 -0
  154. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/docs/write-load-benchmark.md +0 -0
  155. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/justfile +0 -0
  156. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/pyproject.toml +0 -0
  157. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/scripts/read_load_bench.py +0 -0
  158. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/scripts/write_load_bench.py +0 -0
  159. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/__init__.py +0 -0
  160. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/__main__.py +0 -0
  161. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/bm_runtime.py +0 -0
  162. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/cli.py +0 -0
  163. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/concurrent_write.py +0 -0
  164. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/__init__.py +0 -0
  165. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/convomem_to_corpus.py +0 -0
  166. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/locomo_to_corpus.py +0 -0
  167. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/longmemeval_to_corpus.py +0 -0
  168. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/structure_corpus.py +0 -0
  169. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/__init__.py +0 -0
  170. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/convomem.py +0 -0
  171. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/locomo.py +0 -0
  172. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/locomo_audit.py +0 -0
  173. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/longmemeval.py +0 -0
  174. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/exceptions.py +0 -0
  175. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/fairness.py +0 -0
  176. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/llm/__init__.py +0 -0
  177. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/llm/runners.py +0 -0
  178. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/models.py +0 -0
  179. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/__init__.py +0 -0
  180. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/base.py +0 -0
  181. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/baseline_fullcontext.py +0 -0
  182. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/baseline_grep.py +0 -0
  183. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/bm_cloud.py +0 -0
  184. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/bm_local.py +0 -0
  185. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/mem0_local.py +0 -0
  186. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/supermemory_local.py +0 -0
  187. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/zep_reference.py +0 -0
  188. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/reporting/__init__.py +0 -0
  189. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/reporting/artifacts.py +0 -0
  190. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/reporting/compare.py +0 -0
  191. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/runner.py +0 -0
  192. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/__init__.py +0 -0
  193. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/diagnose.py +0 -0
  194. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/qa.py +0 -0
  195. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/retrieval.py +0 -0
  196. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/review.py +0 -0
  197. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/utils.py +0 -0
  198. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/test-int/test_compare_regression.py +0 -0
  199. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/test-int/test_runner_orchestration.py +0 -0
  200. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/converters/__init__.py +0 -0
  201. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/converters/test_convomem_converter.py +0 -0
  202. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/converters/test_locomo_audit_corrections.py +0 -0
  203. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/converters/test_longmemeval_converter.py +0 -0
  204. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/llm/test_runners.py +0 -0
  205. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/providers/test_baseline_providers.py +0 -0
  206. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/providers/test_bm_local_provider.py +0 -0
  207. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/providers/test_mem0_normalization.py +0 -0
  208. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/providers/test_supermemory_provider.py +0 -0
  209. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_cli_surface.py +0 -0
  210. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_concurrent_write.py +0 -0
  211. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_diagnose.py +0 -0
  212. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_fairness.py +0 -0
  213. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_manifest_schema.py +0 -0
  214. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_qa_scoring.py +0 -0
  215. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_retrieval_metrics.py +0 -0
  216. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_review.py +0 -0
  217. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_runner_grouped.py +0 -0
  218. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_structure_corpus.py +0 -0
  219. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/benchmarks/uv.lock +0 -0
  220. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docker-compose-postgres.yml +0 -0
  221. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docker-compose.yml +0 -0
  222. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/ARCHITECTURE.md +0 -0
  223. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/DOMAIN_MODEL.md +0 -0
  224. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/Docker.md +0 -0
  225. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/ENGINEERING_STYLE.md +0 -0
  226. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/NOTE-FORMAT.md +0 -0
  227. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/REDIS_READ_CACHE_PLAN.md +0 -0
  228. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/SPEC-PER-PROJECT-ROUTING.md +0 -0
  229. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/TRANSACTION_ISOLATION.md +0 -0
  230. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/ai-assistant-guide-extended.md +0 -0
  231. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/auto-bm-webhook-test.md +0 -0
  232. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/character-handling.md +0 -0
  233. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/cloud-cli.md +0 -0
  234. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/cloud-semantic-search-value.md +0 -0
  235. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/litellm-provider.md +0 -0
  236. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/logfire-instrumentation-strategy.md +0 -0
  237. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/manual-pages.md +0 -0
  238. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/mcp-ui-bakeoff-instructions.md +0 -0
  239. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/metadata-search.md +0 -0
  240. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/post-v0.18.0-test-plan.md +0 -0
  241. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/releases/v0.19.0.md +0 -0
  242. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/semantic-search-test-log.md +0 -0
  243. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/semantic-search.md +0 -0
  244. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/specs/SPEC-LOCAL-PLUS-PUBLISH.md +0 -0
  245. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/specs/SPEC-SCHEMA-IMPL.md +0 -0
  246. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/specs/SPEC-SCHEMA.md +0 -0
  247. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/docs/testing-coverage.md +0 -0
  248. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/glama.json +0 -0
  249. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/.coveragerc +0 -0
  250. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/.github/workflows/integration.yml +0 -0
  251. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/.github/workflows/pr-title.yml +0 -0
  252. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/.github/workflows/release.yml +0 -0
  253. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/.github/workflows/test.yml +0 -0
  254. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/.gitignore +0 -0
  255. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/CHANGELOG.md +0 -0
  256. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/LICENSE +0 -0
  257. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/MONKEYPATCH.md +0 -0
  258. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/README.md +0 -0
  259. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/justfile +0 -0
  260. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/pytest.ini +0 -0
  261. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/requirements-dev.txt +0 -0
  262. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/skill/SKILL.md +0 -0
  263. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/__init__.py +0 -0
  264. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/conftest.py +0 -0
  265. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/stubs/agent/__init__.py +0 -0
  266. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/stubs/agent/memory_provider.py +0 -0
  267. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/stubs/tools/__init__.py +0 -0
  268. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/stubs/tools/registry.py +0 -0
  269. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_actor.py +0 -0
  270. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_capture.py +0 -0
  271. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_child_env.py +0 -0
  272. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_commands.py +0 -0
  273. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_helpers.py +0 -0
  274. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_integration.py +0 -0
  275. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_lifecycle.py +0 -0
  276. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_prefetch.py +0 -0
  277. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_provider.py +0 -0
  278. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/.githooks/pre-commit +0 -0
  279. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/.github/workflows/ci.yml +0 -0
  280. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/.github/workflows/release.yml +0 -0
  281. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/.gitignore +0 -0
  282. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/AGENTS.md +0 -0
  283. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/BASIC_MEMORY.md +0 -0
  284. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/CLAUDE.md +0 -0
  285. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/CONTEXT_ENGINE_PLAN.md +0 -0
  286. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/DEVELOPMENT.md +0 -0
  287. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/LICENSE +0 -0
  288. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/MEMORY_TASK_FLOW.md +0 -0
  289. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/README.md +0 -0
  290. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/SECURITY.md +0 -0
  291. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/biome.json +0 -0
  292. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/bm-client.test.ts +0 -0
  293. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/bm-client.ts +0 -0
  294. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/bun.lock +0 -0
  295. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/commands/cli.ts +0 -0
  296. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/commands/skills.test.ts +0 -0
  297. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/commands/skills.ts +0 -0
  298. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/commands/slash.ts +0 -0
  299. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/config.test.ts +0 -0
  300. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/config.ts +0 -0
  301. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/context-engine/basic-memory-context-engine.test.ts +0 -0
  302. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/context-engine/basic-memory-context-engine.ts +0 -0
  303. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/hooks/capture.test.ts +0 -0
  304. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/hooks/capture.ts +0 -0
  305. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/hooks/recall.test.ts +0 -0
  306. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/hooks/recall.ts +0 -0
  307. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/index.test.ts +0 -0
  308. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/index.ts +0 -0
  309. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/integration/bm-client.integration.test.ts +0 -0
  310. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/justfile +0 -0
  311. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/logger.test.ts +0 -0
  312. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/logger.ts +0 -0
  313. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/openclaw.plugin.json +0 -0
  314. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/schema/conversation-schema.ts +0 -0
  315. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/schema/task-schema.ts +0 -0
  316. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/scripts/bm-local.sh +0 -0
  317. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/scripts/fetch-skills.ts +0 -0
  318. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/scripts/setup-bm.sh +0 -0
  319. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/build-context.test.ts +0 -0
  320. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/build-context.ts +0 -0
  321. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/delete-note.test.ts +0 -0
  322. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/delete-note.ts +0 -0
  323. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/edit-note.test.ts +0 -0
  324. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/edit-note.ts +0 -0
  325. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/list-memory-projects.test.ts +0 -0
  326. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/list-memory-projects.ts +0 -0
  327. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/list-workspaces.test.ts +0 -0
  328. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/list-workspaces.ts +0 -0
  329. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/memory-provider.test.ts +0 -0
  330. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/memory-provider.ts +0 -0
  331. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/move-note.test.ts +0 -0
  332. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/move-note.ts +0 -0
  333. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/read-note.test.ts +0 -0
  334. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/read-note.ts +0 -0
  335. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-diff.test.ts +0 -0
  336. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-diff.ts +0 -0
  337. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-infer.test.ts +0 -0
  338. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-infer.ts +0 -0
  339. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-validate.test.ts +0 -0
  340. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-validate.ts +0 -0
  341. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/search-notes.test.ts +0 -0
  342. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/search-notes.ts +0 -0
  343. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/write-note.test.ts +0 -0
  344. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/write-note.ts +0 -0
  345. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tsconfig.build.json +0 -0
  346. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/integrations/openclaw/tsconfig.json +0 -0
  347. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/justfile +0 -0
  348. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/llms-install.md +0 -0
  349. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/CHANGELOG.md +0 -0
  350. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/DESIGN.md +0 -0
  351. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/README.md +0 -0
  352. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/docs/architecture.md +0 -0
  353. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/docs/getting-started.md +0 -0
  354. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/docs/why-combine-memory.md +0 -0
  355. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/hooks.json +0 -0
  356. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/test_claude_pre_compact.py +0 -0
  357. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/test_claude_session_start.py +0 -0
  358. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/justfile +0 -0
  359. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/output-styles/basic-memory.md +0 -0
  360. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/coding-session.md +0 -0
  361. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/decision.md +0 -0
  362. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/manpage.md +0 -0
  363. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/session.md +0 -0
  364. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/task.md +0 -0
  365. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/settings.example.json +0 -0
  366. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-checkpoint/SKILL.md +0 -0
  367. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-decide/SKILL.md +0 -0
  368. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-orient/SKILL.md +0 -0
  369. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-remember/SKILL.md +0 -0
  370. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-setup/SKILL.md +0 -0
  371. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-share/SKILL.md +0 -0
  372. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-status/SKILL.md +0 -0
  373. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-writing/SKILL.md +0 -0
  374. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/.mcp.json +0 -0
  375. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/DEVELOPMENT.md +0 -0
  376. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/README.md +0 -0
  377. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/assets/app-icon.png +0 -0
  378. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/assets/logo.png +0 -0
  379. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/hooks.json +0 -0
  380. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/test_codex_pre_compact.py +0 -0
  381. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/test_codex_session_start.py +0 -0
  382. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/justfile +0 -0
  383. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/schemas/codex-session.md +0 -0
  384. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/schemas/coding-session.md +0 -0
  385. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/schemas/decision.md +0 -0
  386. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/schemas/task.md +0 -0
  387. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-checkpoint/SKILL.md +0 -0
  388. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-checkpoint/agents/openai.yaml +0 -0
  389. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-checkpoint/assets/icon.svg +0 -0
  390. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-decide/SKILL.md +0 -0
  391. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-decide/agents/openai.yaml +0 -0
  392. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-decide/assets/icon.svg +0 -0
  393. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-orient/SKILL.md +0 -0
  394. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-orient/agents/openai.yaml +0 -0
  395. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-orient/assets/icon.svg +0 -0
  396. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-remember/SKILL.md +0 -0
  397. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-remember/agents/openai.yaml +0 -0
  398. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-remember/assets/icon.svg +0 -0
  399. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-setup/SKILL.md +0 -0
  400. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-setup/agents/openai.yaml +0 -0
  401. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-setup/assets/icon.svg +0 -0
  402. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-share/SKILL.md +0 -0
  403. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-share/agents/openai.yaml +0 -0
  404. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-share/assets/icon.svg +0 -0
  405. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-status/SKILL.md +0 -0
  406. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-status/agents/openai.yaml +0 -0
  407. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-status/assets/icon.svg +0 -0
  408. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-writing/SKILL.md +0 -0
  409. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-writing/agents/openai.yaml +0 -0
  410. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-writing/assets/icon.svg +0 -0
  411. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/pyproject.toml +0 -0
  412. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/scripts/build_skills_dist.py +0 -0
  413. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/scripts/edit-issue-labels.sh +0 -0
  414. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/scripts/testmon_cache.py +0 -0
  415. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/scripts/update_versions.py +0 -0
  416. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/scripts/validate_claude_plugin.py +0 -0
  417. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/scripts/validate_codex_plugin.py +0 -0
  418. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/scripts/validate_hermes_plugin.py +0 -0
  419. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/scripts/validate_skills.py +0 -0
  420. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/AGENTS.md +0 -0
  421. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/CLAUDE.md +0 -0
  422. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/DEVELOPMENT.md +0 -0
  423. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/README.md +0 -0
  424. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/justfile +0 -0
  425. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-capture/SKILL.md +0 -0
  426. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-ci-capture/SKILL.md +0 -0
  427. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-continue/SKILL.md +0 -0
  428. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-curate/SKILL.md +0 -0
  429. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-defrag/SKILL.md +0 -0
  430. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-ingest/SKILL.md +0 -0
  431. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-lifecycle/SKILL.md +0 -0
  432. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-literary-analysis/SKILL.md +0 -0
  433. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-metadata-search/SKILL.md +0 -0
  434. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-notes/SKILL.md +0 -0
  435. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/SKILL.md +0 -0
  436. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/evals/evals.json +0 -0
  437. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/references/assistant-setup.md +0 -0
  438. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/references/conventions.md +0 -0
  439. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/references/domain-playbooks.md +0 -0
  440. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/references/schema-guide.md +0 -0
  441. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-reflect/SKILL.md +0 -0
  442. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-research/SKILL.md +0 -0
  443. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-schema/SKILL.md +0 -0
  444. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/memory-tasks/SKILL.md +0 -0
  445. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills/skills-lock.json +0 -0
  446. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/skills-lock.json +0 -0
  447. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/smithery.yaml +0 -0
  448. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/alembic.ini +0 -0
  449. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/env.py +0 -0
  450. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/migrations.py +0 -0
  451. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/script.py.mako +0 -0
  452. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/2d26b287813b_dedupe_observations_and_purge_stale_.py +0 -0
  453. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/314f1ea54dc4_add_postgres_full_text_search_support_.py +0 -0
  454. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
  455. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
  456. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py +0 -0
  457. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py +0 -0
  458. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/6830751f5fb6_merge_multiple_heads.py +0 -0
  459. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/7f6a2b8c9d10_index_full_postgres_note_content.py +0 -0
  460. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/9d9c1cb7d8f5_add_mtime_and_size_columns_to_entity_.py +0 -0
  461. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/a1b2c3d4e5f6_fix_project_foreign_keys.py +0 -0
  462. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/a2b3c4d5e6f7_add_search_index_entity_cascade.py +0 -0
  463. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
  464. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
  465. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/d7e8f9a0b1c2_add_structured_metadata_indexes.py +0 -0
  466. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/e7e1f4367280_add_scan_watermark_tracking_to_project.py +0 -0
  467. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/f8a9b2c3d4e5_add_pg_trgm_for_fuzzy_link_resolution.py +0 -0
  468. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/g9a0b3c4d5e6_add_external_id_to_project_and_entity.py +0 -0
  469. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/h1b2c3d4e5f6_add_postgres_vector_search_tables.py +0 -0
  470. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/i2c3d4e5f6g7_auto_backfill_semantic_embeddings.py +0 -0
  471. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/j3d4e5f6g7h8_rename_entity_type_to_note_type.py +0 -0
  472. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/k4e5f6g7h8i9_add_created_by_and_last_updated_by_to_entity.py +0 -0
  473. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/l5g6h7i8j9k0_add_note_content_table.py +0 -0
  474. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/m6h7i8j9k0l1_add_vector_sync_fingerprints.py +0 -0
  475. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/n7i8j9k0l1m2_cleanup_sqlite_search_orphans.py +0 -0
  476. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/o8j9k0l1m2n3_add_note_file_vacate_table.py +0 -0
  477. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/p9k0l1m2n3o4_add_vector_index_manifest_state.py +0 -0
  478. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/q0l1m2n3o4p5_add_relation_search_refresh_table.py +0 -0
  479. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/r1m2n3o4p5q6_add_relation_generation.py +0 -0
  480. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/__init__.py +0 -0
  481. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/app.py +0 -0
  482. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/container.py +0 -0
  483. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/template_loader.py +0 -0
  484. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/__init__.py +0 -0
  485. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/__init__.py +0 -0
  486. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/directory_router.py +0 -0
  487. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/importer_router.py +0 -0
  488. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/inspect_router.py +0 -0
  489. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/knowledge_router.py +0 -0
  490. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/memory_router.py +0 -0
  491. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/prompt_router.py +0 -0
  492. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/resource_router.py +0 -0
  493. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/schema_router.py +0 -0
  494. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/search_router.py +0 -0
  495. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/utils.py +0 -0
  496. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/ci/README.md +0 -0
  497. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/ci/__init__.py +0 -0
  498. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/ci/project_updates.py +0 -0
  499. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/__init__.py +0 -0
  500. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/analytics.py +0 -0
  501. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/app.py +0 -0
  502. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/auth.py +0 -0
  503. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/auto_update.py +0 -0
  504. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/__init__.py +0 -0
  505. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/ci.py +0 -0
  506. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/__init__.py +0 -0
  507. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/api_client.py +0 -0
  508. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/bisync_commands.py +0 -0
  509. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/cloud_utils.py +0 -0
  510. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/core_commands.py +0 -0
  511. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/project_sync.py +0 -0
  512. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/rclone_commands.py +0 -0
  513. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/rclone_config.py +0 -0
  514. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/rclone_installer.py +0 -0
  515. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/restore.py +0 -0
  516. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/schemas.py +0 -0
  517. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/shares.py +0 -0
  518. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/snapshot.py +0 -0
  519. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/transfer.py +0 -0
  520. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/upload.py +0 -0
  521. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/upload_command.py +0 -0
  522. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/webdav.py +0 -0
  523. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/webdav_transfer.py +0 -0
  524. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/workspace.py +0 -0
  525. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/command_utils.py +0 -0
  526. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/config.py +0 -0
  527. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/db.py +0 -0
  528. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/format.py +0 -0
  529. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/hook.py +0 -0
  530. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
  531. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
  532. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
  533. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
  534. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/inspect.py +0 -0
  535. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/man.py +0 -0
  536. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/mcp.py +0 -0
  537. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/orphans.py +0 -0
  538. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/project.py +0 -0
  539. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/routing.py +0 -0
  540. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/schema.py +0 -0
  541. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/status.py +0 -0
  542. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/tool.py +0 -0
  543. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/update.py +0 -0
  544. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/workspace.py +0 -0
  545. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/container.py +0 -0
  546. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/main.py +0 -0
  547. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/promo.py +0 -0
  548. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/config.py +0 -0
  549. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/config_logging.py +0 -0
  550. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/config_migrations.py +0 -0
  551. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/config_models.py +0 -0
  552. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/db.py +0 -0
  553. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/__init__.py +0 -0
  554. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/config.py +0 -0
  555. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/db.py +0 -0
  556. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/importers.py +0 -0
  557. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/projects.py +0 -0
  558. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/read_cache.py +0 -0
  559. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/repositories.py +0 -0
  560. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/services.py +0 -0
  561. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/file_utils.py +0 -0
  562. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/__init__.py +0 -0
  563. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/_uuid7.py +0 -0
  564. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/adapters/__init__.py +0 -0
  565. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/adapters/base.py +0 -0
  566. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/adapters/claude.py +0 -0
  567. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/adapters/codex.py +0 -0
  568. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/archive.py +0 -0
  569. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/envelope.py +0 -0
  570. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/inbox.py +0 -0
  571. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/project_ref.py +0 -0
  572. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/ignore_utils.py +0 -0
  573. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/__init__.py +0 -0
  574. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/base.py +0 -0
  575. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/chatgpt_importer.py +0 -0
  576. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/claude_conversations_importer.py +0 -0
  577. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/claude_projects_importer.py +0 -0
  578. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/memory_json_importer.py +0 -0
  579. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/project_zip_import.py +0 -0
  580. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/utils.py +0 -0
  581. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/__init__.py +0 -0
  582. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/event_operations.py +0 -0
  583. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/filesystem.py +0 -0
  584. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/inline_operations.py +0 -0
  585. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_dependencies.py +0 -0
  586. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_moves.py +0 -0
  587. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_notes.py +0 -0
  588. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_project.py +0 -0
  589. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_runtime.py +0 -0
  590. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_schedulers.py +0 -0
  591. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_watch.py +0 -0
  592. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/note_content_materialization.py +0 -0
  593. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/project_indexing.py +0 -0
  594. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/repository_project_resolution.py +0 -0
  595. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/schedulers.py +0 -0
  596. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/storage_events.py +0 -0
  597. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/watch_coordinator.py +0 -0
  598. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/index/watch_service.py +0 -0
  599. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/__init__.py +0 -0
  600. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/accepted_note_enqueue_runner.py +0 -0
  601. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/accepted_note_search.py +0 -0
  602. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/accepted_note_write_runner.py +0 -0
  603. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/batch_indexer.py +0 -0
  604. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/batching.py +0 -0
  605. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/change_detector.py +0 -0
  606. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/change_planning.py +0 -0
  607. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/directory_delete_runner.py +0 -0
  608. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/embedding_index_planning.py +0 -0
  609. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/external_file_delete_runner.py +0 -0
  610. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/file_batch_runner.py +0 -0
  611. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/file_index_checking.py +0 -0
  612. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/file_index_planning.py +0 -0
  613. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/file_indexer.py +0 -0
  614. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/forward_reference_resolution.py +0 -0
  615. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/index_batch_runtime.py +0 -0
  616. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/index_file_runner.py +0 -0
  617. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/index_file_runtime.py +0 -0
  618. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/input_file_adaptation.py +0 -0
  619. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/job_payloads.py +0 -0
  620. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/link_resolution.py +0 -0
  621. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/models.py +0 -0
  622. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_content_batch_reconciliation.py +0 -0
  623. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_content_read_repair_runner.py +0 -0
  624. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_content_reconciler.py +0 -0
  625. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_content_reconciliation.py +0 -0
  626. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_file_delete_runner.py +0 -0
  627. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_materialization_runner.py +0 -0
  628. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/orphan_cleanup.py +0 -0
  629. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/progress.py +0 -0
  630. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_delete_acceptance.py +0 -0
  631. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_delete_runner.py +0 -0
  632. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_coordinator.py +0 -0
  633. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_maintenance.py +0 -0
  634. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_progress.py +0 -0
  635. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_runtime.py +0 -0
  636. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_workflow.py +0 -0
  637. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_workflow_models.py +0 -0
  638. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_workflow_stale.py +0 -0
  639. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_workflow_updates.py +0 -0
  640. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/relation_persistence.py +0 -0
  641. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/relation_resolution.py +0 -0
  642. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/man/basic-memory.1 +0 -0
  643. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/man/bm.1 +0 -0
  644. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/__init__.py +0 -0
  645. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/entity_parser.py +0 -0
  646. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/markdown_processor.py +0 -0
  647. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/plugins.py +0 -0
  648. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/schemas.py +0 -0
  649. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/utils.py +0 -0
  650. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/__init__.py +0 -0
  651. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/async_client.py +0 -0
  652. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/client_info.py +0 -0
  653. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/__init__.py +0 -0
  654. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/directory.py +0 -0
  655. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/inspect.py +0 -0
  656. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/knowledge.py +0 -0
  657. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/memory.py +0 -0
  658. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/resource.py +0 -0
  659. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/schema.py +0 -0
  660. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/search.py +0 -0
  661. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/container.py +0 -0
  662. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/note_reads.py +0 -0
  663. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/project_context.py +0 -0
  664. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/project_context_identifiers.py +0 -0
  665. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/__init__.py +0 -0
  666. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +0 -0
  667. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
  668. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/getting_started.py +0 -0
  669. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
  670. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/search.py +0 -0
  671. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/utils.py +0 -0
  672. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/resources/__init__.py +0 -0
  673. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/resources/ai_assistant_guide.md +0 -0
  674. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/resources/project_info.py +0 -0
  675. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/server.py +0 -0
  676. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/__init__.py +0 -0
  677. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/basic_memory_diagnostics.py +0 -0
  678. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/build_context.py +0 -0
  679. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/chatgpt_tools.py +0 -0
  680. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/delete_note.py +0 -0
  681. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/edit_note.py +0 -0
  682. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/list_directory.py +0 -0
  683. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/project_management.py +0 -0
  684. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/read_content.py +0 -0
  685. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/read_note.py +0 -0
  686. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/recent_activity.py +0 -0
  687. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/schema.py +0 -0
  688. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/search.py +0 -0
  689. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/ui_sdk.py +0 -0
  690. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/utils.py +0 -0
  691. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/view_note.py +0 -0
  692. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/workspaces.py +0 -0
  693. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/write_note.py +0 -0
  694. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/__init__.py +0 -0
  695. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/note-preview-mcp-ui.html +0 -0
  696. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/note-preview-tool-ui.html +0 -0
  697. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/note-preview-vanilla.html +0 -0
  698. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/search-results-mcp-ui.html +0 -0
  699. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/search-results-tool-ui.html +0 -0
  700. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/search-results-vanilla.html +0 -0
  701. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/sdk.py +0 -0
  702. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/templates.py +0 -0
  703. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/workspace_project_index.py +0 -0
  704. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/migration_loop.py +0 -0
  705. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/models/__init__.py +0 -0
  706. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/models/base.py +0 -0
  707. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/models/knowledge.py +0 -0
  708. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/models/project.py +0 -0
  709. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/models/relation_search_refresh.py +0 -0
  710. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/models/search.py +0 -0
  711. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/__init__.py +0 -0
  712. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/diff.py +0 -0
  713. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/inference.py +0 -0
  714. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/parser.py +0 -0
  715. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/resolver.py +0 -0
  716. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/validator.py +0 -0
  717. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/project_resolver.py +0 -0
  718. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/__init__.py +0 -0
  719. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/contract.py +0 -0
  720. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/invalidation.py +0 -0
  721. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/keys.py +0 -0
  722. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/lifecycle.py +0 -0
  723. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/policy.py +0 -0
  724. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/read_through.py +0 -0
  725. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/redis.py +0 -0
  726. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/redaction.py +0 -0
  727. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/__init__.py +0 -0
  728. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/accepted_note_repositories.py +0 -0
  729. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/accepted_note_search_repository.py +0 -0
  730. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/accepted_note_search_row.py +0 -0
  731. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/accepted_note_vector_cleanup.py +0 -0
  732. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/embedding_provider.py +0 -0
  733. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/embedding_provider_factory.py +0 -0
  734. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/entity_repository.py +0 -0
  735. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/fastembed_provider.py +0 -0
  736. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/fastembed_rerank_provider.py +0 -0
  737. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/litellm_provider.py +0 -0
  738. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/litellm_rerank_provider.py +0 -0
  739. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/metadata_filters.py +0 -0
  740. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/milvus_config.py +0 -0
  741. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/milvus_index.py +0 -0
  742. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/milvus_repository.py +0 -0
  743. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/note_content_repository.py +0 -0
  744. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/note_file_vacate_repository.py +0 -0
  745. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/observation_repository.py +0 -0
  746. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/openai_provider.py +0 -0
  747. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/pgvector_index.py +0 -0
  748. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/postgres_search_repository.py +0 -0
  749. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/prefixing_provider.py +0 -0
  750. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/project_info_repository.py +0 -0
  751. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/project_repository.py +0 -0
  752. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/relation_repository.py +0 -0
  753. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/repository.py +0 -0
  754. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/rerank_provider.py +0 -0
  755. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/rerank_provider_factory.py +0 -0
  756. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_index_row.py +0 -0
  757. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_query.py +0 -0
  758. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_repository.py +0 -0
  759. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_repository_base.py +0 -0
  760. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_trace.py +0 -0
  761. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_chunking.py +0 -0
  762. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_errors.py +0 -0
  763. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_vector_index.py +0 -0
  764. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_vector_index_factory.py +0 -0
  765. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_vector_sync.py +0 -0
  766. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/sqlite_search_repository.py +0 -0
  767. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/sqlite_vec_index.py +0 -0
  768. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/__init__.py +0 -0
  769. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/accepted_note_changes.py +0 -0
  770. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/cleanup.py +0 -0
  771. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/job_payloads.py +0 -0
  772. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/jobs.py +0 -0
  773. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/mode.py +0 -0
  774. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_content.py +0 -0
  775. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_content_deletes.py +0 -0
  776. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_content_reads.py +0 -0
  777. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_content_responses.py +0 -0
  778. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_file_guards.py +0 -0
  779. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_materialization.py +0 -0
  780. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_materialization_planning.py +0 -0
  781. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_move.py +0 -0
  782. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_object_metadata.py +0 -0
  783. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/observed_index_files.py +0 -0
  784. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/process.py +0 -0
  785. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/projects.py +0 -0
  786. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/sample_notes.py +0 -0
  787. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/storage.py +0 -0
  788. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/storage_events.py +0 -0
  789. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/storage_project_resolution.py +0 -0
  790. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/vector_sync.py +0 -0
  791. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/workflows.py +0 -0
  792. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/__init__.py +0 -0
  793. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/base.py +0 -0
  794. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/cloud.py +0 -0
  795. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/delete.py +0 -0
  796. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/directory.py +0 -0
  797. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/importer.py +0 -0
  798. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/inspect.py +0 -0
  799. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/memory.py +0 -0
  800. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/project_index.py +0 -0
  801. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/project_info.py +0 -0
  802. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/prompt.py +0 -0
  803. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/request.py +0 -0
  804. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/response.py +0 -0
  805. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/schema.py +0 -0
  806. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/search.py +0 -0
  807. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/v2/__init__.py +0 -0
  808. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/v2/entity.py +0 -0
  809. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/v2/graph.py +0 -0
  810. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/v2/project_index.py +0 -0
  811. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/__init__.py +0 -0
  812. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/bulk_link_resolver.py +0 -0
  813. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/composition.py +0 -0
  814. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/context_service.py +0 -0
  815. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/directory_deletes.py +0 -0
  816. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/directory_service.py +0 -0
  817. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/entity_service.py +0 -0
  818. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/exceptions.py +0 -0
  819. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/file_service.py +0 -0
  820. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/initialization.py +0 -0
  821. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/link_resolver.py +0 -0
  822. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/note_content_reads.py +0 -0
  823. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/note_content_writes.py +0 -0
  824. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/note_preparation.py +0 -0
  825. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/project_deletes.py +0 -0
  826. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/retrieval_inspect.py +0 -0
  827. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/search_service.py +0 -0
  828. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/services/service.py +0 -0
  829. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/telemetry.py +0 -0
  830. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/templates/prompts/continue_conversation.hbs +0 -0
  831. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/templates/prompts/search.hbs +0 -0
  832. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/src/basic_memory/workspace_context.py +0 -0
  833. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/BENCHMARKS.md +0 -0
  834. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/__init__.py +0 -0
  835. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_cli_tool_read_note_security_error.py +0 -0
  836. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_cli_tool_recent_activity_page_size.py +0 -0
  837. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_cli_tool_search_notes_category.py +0 -0
  838. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_cli_tool_write_note_parity.py +0 -0
  839. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_move_note_edge_cases.py +0 -0
  840. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_navigation_pagination_integration.py +0 -0
  841. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_parse_tags_comma_split_integration.py +0 -0
  842. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_delete_note_integration.py +0 -0
  843. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_edit_note_integration.py +0 -0
  844. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_json_failure_integration.py +0 -0
  845. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_json_integration.py +0 -0
  846. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_write_note_type_integration.py +0 -0
  847. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_project_commands_integration.py +0 -0
  848. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_routing_integration.py +0 -0
  849. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_search_notes_meta_integration.py +0 -0
  850. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_status_wait_integration.py +0 -0
  851. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/cli/test_version_integration.py +0 -0
  852. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/compare_search_benchmarks.py +0 -0
  853. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/conftest.py +0 -0
  854. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-01.md +0 -0
  855. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-02.md +0 -0
  856. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-03.md +0 -0
  857. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-04.md +0 -0
  858. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-05.md +0 -0
  859. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-06.md +0 -0
  860. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-07.md +0 -0
  861. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-08.md +0 -0
  862. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-09.md +0 -0
  863. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-10.md +0 -0
  864. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-11.md +0 -0
  865. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-12.md +0 -0
  866. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-13.md +0 -0
  867. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-14.md +0 -0
  868. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-15.md +0 -0
  869. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-16.md +0 -0
  870. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-17.md +0 -0
  871. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-18.md +0 -0
  872. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-19.md +0 -0
  873. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-20.md +0 -0
  874. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/schema/Person.md +0 -0
  875. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/array-single.md +0 -0
  876. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/empty-note.md +0 -0
  877. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/explicit-overrides-type.md +0 -0
  878. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/inline-and-type.md +0 -0
  879. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/no-frontmatter.md +0 -0
  880. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/relation-only.md +0 -0
  881. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/type-no-schema.md +0 -0
  882. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/unicode-fields.md +0 -0
  883. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/ada-lovelace.md +0 -0
  884. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/alan-turing.md +0 -0
  885. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/anders-hejlsberg.md +0 -0
  886. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/andrej-karpathy.md +0 -0
  887. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/barbara-liskov.md +0 -0
  888. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/bjarne-stroustrup.md +0 -0
  889. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/brendan-eich.md +0 -0
  890. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/claude-shannon.md +0 -0
  891. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/dennis-ritchie.md +0 -0
  892. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/dijkstra.md +0 -0
  893. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/donald-knuth.md +0 -0
  894. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/fei-fei-li.md +0 -0
  895. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/geoffrey-hinton.md +0 -0
  896. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/grace-hopper.md +0 -0
  897. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/guido-van-rossum.md +0 -0
  898. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/james-gosling.md +0 -0
  899. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/john-carmack.md +0 -0
  900. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/ken-thompson.md +0 -0
  901. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/larry-page.md +0 -0
  902. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/leslie-lamport.md +0 -0
  903. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/linus-torvalds.md +0 -0
  904. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/margaret-hamilton.md +0 -0
  905. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/rasmus-lerdorf.md +0 -0
  906. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/richard-stallman.md +0 -0
  907. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/rob-pike.md +0 -0
  908. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/satoshi-nakamoto.md +0 -0
  909. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/tim-berners-lee.md +0 -0
  910. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/vint-cerf.md +0 -0
  911. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/yann-lecun.md +0 -0
  912. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/yukihiro-matsumoto.md +0 -0
  913. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/Book.md +0 -0
  914. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/InvalidOffSchema.md +0 -0
  915. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/Meeting.md +0 -0
  916. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/Person.md +0 -0
  917. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/SoftwareProject.md +0 -0
  918. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/StrictSchema.md +0 -0
  919. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/basic-memory.md +0 -0
  920. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/explicit-ref-note.md +0 -0
  921. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/no-schema-note.md +0 -0
  922. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/paul-graham.md +0 -0
  923. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/rich-hickey.md +0 -0
  924. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/standup-2024-01-15.md +0 -0
  925. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/warnings/extra-observations.md +0 -0
  926. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/warnings/missing-multiple.md +0 -0
  927. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/warnings/missing-required.md +0 -0
  928. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/warnings/wrong-enum-value.md +0 -0
  929. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_build_context_underscore.py +0 -0
  930. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_build_context_validation.py +0 -0
  931. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_chatgpt_tools_integration.py +0 -0
  932. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_concurrent_write_integration.py +0 -0
  933. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_default_project_mode_integration.py +0 -0
  934. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_delete_directory_integration.py +0 -0
  935. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_delete_note_integration.py +0 -0
  936. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_edit_note_integration.py +0 -0
  937. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_lifespan_shutdown_sync_task_cancellation_integration.py +0 -0
  938. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_list_directory_integration.py +0 -0
  939. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_long_relation_type_integration.py +0 -0
  940. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_move_directory_integration.py +0 -0
  941. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_move_note_integration.py +0 -0
  942. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_observation_permalink_collision_integration.py +0 -0
  943. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_output_format_json_integration.py +0 -0
  944. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_pagination_integration.py +0 -0
  945. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_param_aliases_integration.py +0 -0
  946. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_permalink_collision_integration.py +0 -0
  947. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_project_management_integration.py +0 -0
  948. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_project_state_sync_integration.py +0 -0
  949. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_read_content_integration.py +0 -0
  950. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_read_note_integration.py +0 -0
  951. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_recreate_project_indexing_integration.py +0 -0
  952. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_search_integration.py +0 -0
  953. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_search_note_types_case_insensitive.py +0 -0
  954. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_single_project_mcp_integration.py +0 -0
  955. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_smoke_integration.py +0 -0
  956. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_string_params_integration.py +0 -0
  957. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_ui_sdk_integration.py +0 -0
  958. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_workspace_permalink_integration.py +0 -0
  959. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_write_note_integration.py +0 -0
  960. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/mcp/test_write_note_type_integration.py +0 -0
  961. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/read_cache/conftest.py +0 -0
  962. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_api_read_cache.py +0 -0
  963. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_materialization_invalidation.py +0 -0
  964. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_mcp_read_cache.py +0 -0
  965. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_read_cache_benchmark.py +0 -0
  966. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_redis_read_cache.py +0 -0
  967. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_runtime_invalidation.py +0 -0
  968. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_search_read_cache.py +0 -0
  969. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/__init__.py +0 -0
  970. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/conftest.py +0 -0
  971. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/corpus.py +0 -0
  972. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/litellm_live_harness.py +0 -0
  973. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/metrics.py +0 -0
  974. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/report.py +0 -0
  975. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_embedding_provider_reuse.py +0 -0
  976. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_litellm_live_harness.py +0 -0
  977. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_litellm_live_models.py +0 -0
  978. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_milvus_lite.py +0 -0
  979. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_multiterm_semantic_queries.py +0 -0
  980. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_real_fastembed_reranker.py +0 -0
  981. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_reranker_latency.py +0 -0
  982. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_reranker_quality.py +0 -0
  983. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_search_diagnostics.py +0 -0
  984. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_semantic_coverage.py +0 -0
  985. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/semantic/test_semantic_quality.py +0 -0
  986. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_db_wal_mode.py +0 -0
  987. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_embedding_status_vec0.py +0 -0
  988. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_note_file_vacate_atomicity.py +0 -0
  989. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_note_materialization_lock_order.py +0 -0
  990. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/__init__.py +0 -0
  991. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/conftest.py +0 -0
  992. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/helpers.py +0 -0
  993. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/test_diff_integration.py +0 -0
  994. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/test_inference_integration.py +0 -0
  995. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/test_parser_integration.py +0 -0
  996. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/test_validator_integration.py +0 -0
  997. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_postgres_dispose_cycle.py +0 -0
  998. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_project_index_delete_materialization_race.py +0 -0
  999. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_relation_generation_concurrency.py +0 -0
  1000. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/test-int/test_search_performance_benchmark.py +0 -0
  1001. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/Non-MarkdownFileSupport.pdf +0 -0
  1002. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/README.md +0 -0
  1003. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/Screenshot.png +0 -0
  1004. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/__init__.py +0 -0
  1005. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/test_container.py +0 -0
  1006. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/__init__.py +0 -0
  1007. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/conftest.py +0 -0
  1008. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_accepted_note_atomicity.py +0 -0
  1009. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_directory_router.py +0 -0
  1010. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_entity_observation_lock_order.py +0 -0
  1011. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_importer_router.py +0 -0
  1012. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_inspect_router.py +0 -0
  1013. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_knowledge_resolution_contract.py +0 -0
  1014. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_knowledge_router_telemetry.py +0 -0
  1015. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_memory_hydration.py +0 -0
  1016. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_memory_router.py +0 -0
  1017. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_orphan_router.py +0 -0
  1018. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_project_index_command.py +0 -0
  1019. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_prompt_router.py +0 -0
  1020. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_resource_router.py +0 -0
  1021. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_schema_router.py +0 -0
  1022. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_search_hydration.py +0 -0
  1023. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_search_router.py +0 -0
  1024. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_search_router_telemetry.py +0 -0
  1025. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_utils_telemetry.py +0 -0
  1026. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/api/v2/test_workspace_permalink_headers.py +0 -0
  1027. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_bmignore_sync_filter_refresh.py +0 -0
  1028. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_cloud_api_client_and_utils.py +0 -0
  1029. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_project_sync_command.py +0 -0
  1030. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_rclone_config_and_bmignore_filters.py +0 -0
  1031. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_rclone_installer.py +0 -0
  1032. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_upload_command_routing.py +0 -0
  1033. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_upload_path.py +0 -0
  1034. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_webdav_client.py +0 -0
  1035. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_webdav_transfer.py +0 -0
  1036. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/conftest.py +0 -0
  1037. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_analytics.py +0 -0
  1038. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_auth_cli_auth.py +0 -0
  1039. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_auto_update.py +0 -0
  1040. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_ci_commands.py +0 -0
  1041. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_container.py +0 -0
  1042. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_exit.py +0 -0
  1043. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_schema.py +0 -0
  1044. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_telemetry.py +0 -0
  1045. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_tool_exit.py +0 -0
  1046. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_tool_json_output.py +0 -0
  1047. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_tool_rich_output.py +0 -0
  1048. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_tools.py +0 -0
  1049. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cloud_authentication.py +0 -0
  1050. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cloud_promo.py +0 -0
  1051. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_cloud_status.py +0 -0
  1052. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_coding_session_context.py +0 -0
  1053. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_command_utils.py +0 -0
  1054. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_config_command.py +0 -0
  1055. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_db_reindex.py +0 -0
  1056. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_db_reset_exit.py +0 -0
  1057. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_db_reset_zombie_check.py +0 -0
  1058. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_hook_command.py +0 -0
  1059. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_ignore_utils.py +0 -0
  1060. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_import_chatgpt.py +0 -0
  1061. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_import_claude_conversations.py +0 -0
  1062. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_import_claude_projects.py +0 -0
  1063. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_import_memory_json.py +0 -0
  1064. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_inspect_command.py +0 -0
  1065. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_json_output.py +0 -0
  1066. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_man_command.py +0 -0
  1067. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_orphans_command.py +0 -0
  1068. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_project_add_with_local_path.py +0 -0
  1069. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_project_info_cloud_status.py +0 -0
  1070. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_project_info_errors.py +0 -0
  1071. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_project_list_and_ls.py +0 -0
  1072. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_project_remove_errors.py +0 -0
  1073. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_project_set_cloud_local.py +0 -0
  1074. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_restore_commands.py +0 -0
  1075. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_routing.py +0 -0
  1076. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_share_commands.py +0 -0
  1077. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_snapshot_commands.py +0 -0
  1078. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_status_wait_timeout.py +0 -0
  1079. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_update_command.py +0 -0
  1080. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_upload.py +0 -0
  1081. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_workspace_commands.py +0 -0
  1082. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cli/test_workspace_stub.py +0 -0
  1083. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cloud/test_cloud_services.py +0 -0
  1084. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cloud/test_note_content_materialization.py +0 -0
  1085. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cloud/test_note_content_read_service.py +0 -0
  1086. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/cloud/test_project_deletes.py +0 -0
  1087. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/conftest.py +0 -0
  1088. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/db/test_issue_254_foreign_key_constraints.py +0 -0
  1089. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/db/test_memory_db_session_isolation.py +0 -0
  1090. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/db/test_semantic_search_startup.py +0 -0
  1091. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/db/test_uvloop_policy.py +0 -0
  1092. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/conftest.py +0 -0
  1093. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/fixtures/claude_pre_compact.json +0 -0
  1094. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/fixtures/claude_session_start.json +0 -0
  1095. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/fixtures/codex_pre_compact.json +0 -0
  1096. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/fixtures/codex_session_start.json +0 -0
  1097. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/test_adapters.py +0 -0
  1098. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/test_archive.py +0 -0
  1099. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/test_envelope.py +0 -0
  1100. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/test_inbox.py +0 -0
  1101. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/hooks/test_uuid7.py +0 -0
  1102. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/importers/test_conversation_indexing.py +0 -0
  1103. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/importers/test_importer_base.py +0 -0
  1104. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/importers/test_importer_utils.py +0 -0
  1105. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/importers/test_project_zip_import.py +0 -0
  1106. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_filesystem_events.py +0 -0
  1107. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_inline_storage_event_processor.py +0 -0
  1108. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_accepted_note_repositories.py +0 -0
  1109. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_inline_result_recorder.py +0 -0
  1110. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_markdown_file_indexer.py +0 -0
  1111. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_move_content_updates.py +0 -0
  1112. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_project_index.py +0 -0
  1113. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_project_scan_parity.py +0 -0
  1114. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_project_vector_cleaner_wiring.py +0 -0
  1115. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_reconcile_file_reader.py +0 -0
  1116. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_runtime.py +0 -0
  1117. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_scheduler_task_failure.py +0 -0
  1118. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_schedulers.py +0 -0
  1119. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_ignore_parity.py +0 -0
  1120. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_orchestration.py +0 -0
  1121. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_regular_file_parity.py +0 -0
  1122. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_semantic_embedding.py +0 -0
  1123. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_stress_parity.py +0 -0
  1124. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_project_index_surface.py +0 -0
  1125. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_repository_storage_event_project_resolution.py +0 -0
  1126. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_storage_event_operation_processor.py +0 -0
  1127. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_storage_event_orchestration.py +0 -0
  1128. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_watch_coordinator.py +0 -0
  1129. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/index/test_watch_service.py +0 -0
  1130. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_accepted_note_enqueue_runner.py +0 -0
  1131. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_accepted_note_search.py +0 -0
  1132. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_accepted_note_write_runner.py +0 -0
  1133. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_batch_index_search_writer.py +0 -0
  1134. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_batch_indexer.py +0 -0
  1135. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_batching.py +0 -0
  1136. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_change_planning.py +0 -0
  1137. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_directory_delete_runner.py +0 -0
  1138. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_embedding_index_planning.py +0 -0
  1139. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_external_file_delete_runner.py +0 -0
  1140. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_batch_runner.py +0 -0
  1141. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_index_checking.py +0 -0
  1142. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_index_models.py +0 -0
  1143. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_index_planning.py +0 -0
  1144. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_indexer.py +0 -0
  1145. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_forward_reference_resolution.py +0 -0
  1146. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_index_batch_runtime.py +0 -0
  1147. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_index_file_runner.py +0 -0
  1148. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_indexing_job_payloads.py +0 -0
  1149. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_input_file_adaptation.py +0 -0
  1150. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_link_resolution.py +0 -0
  1151. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_models.py +0 -0
  1152. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_content_batch_reconciliation.py +0 -0
  1153. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_content_read_repair_runner.py +0 -0
  1154. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_content_reconciler.py +0 -0
  1155. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_content_reconciliation.py +0 -0
  1156. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_file_delete_runner.py +0 -0
  1157. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_materialization_runner.py +0 -0
  1158. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_orphan_cleanup.py +0 -0
  1159. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_progress_models.py +0 -0
  1160. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_delete_acceptance.py +0 -0
  1161. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_delete_runner.py +0 -0
  1162. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_coordinator.py +0 -0
  1163. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_maintenance.py +0 -0
  1164. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_progress.py +0 -0
  1165. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_runner.py +0 -0
  1166. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_runtime.py +0 -0
  1167. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_workflow.py +0 -0
  1168. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_relation_persistence.py +0 -0
  1169. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_relation_resolution.py +0 -0
  1170. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_relation_resolution_scaling.py +0 -0
  1171. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_relation_search_refresh_retry.py +0 -0
  1172. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/indexing/test_vector_sync_planning.py +0 -0
  1173. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/__init__.py +0 -0
  1174. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_date_frontmatter_parsing.py +0 -0
  1175. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_entity_parser.py +0 -0
  1176. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_entity_parser_error_handling.py +0 -0
  1177. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_markdown_plugins.py +0 -0
  1178. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_markdown_processor.py +0 -0
  1179. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_markdown_utils.py +0 -0
  1180. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_observation_edge_cases.py +0 -0
  1181. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_parser_edge_cases.py +0 -0
  1182. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_relation_edge_cases.py +0 -0
  1183. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/markdown/test_task_detection.py +0 -0
  1184. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/clients/__init__.py +0 -0
  1185. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/conftest.py +0 -0
  1186. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_async_client_force_local.py +0 -0
  1187. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_async_client_modes.py +0 -0
  1188. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_async_client_telemetry.py +0 -0
  1189. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_client_info.py +0 -0
  1190. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_client_schema.py +0 -0
  1191. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_client_telemetry.py +0 -0
  1192. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_first_connect_onboarding.py +0 -0
  1193. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_mcp_container.py +0 -0
  1194. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_mcp_note_type_normalization.py +0 -0
  1195. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_obsidian_yaml_formatting.py +0 -0
  1196. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_project_context.py +0 -0
  1197. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_project_context_scoped_key.py +0 -0
  1198. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_project_context_telemetry.py +0 -0
  1199. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_prompt_tool_delegation.py +0 -0
  1200. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_prompts.py +0 -0
  1201. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_read_note_request_counts.py +0 -0
  1202. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_recent_activity_prompt_modes.py +0 -0
  1203. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_resources.py +0 -0
  1204. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_search_total_exactness.py +0 -0
  1205. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_server_lifespan_branches.py +0 -0
  1206. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_server_telemetry.py +0 -0
  1207. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_basic_memory_diagnostics.py +0 -0
  1208. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_build_context.py +0 -0
  1209. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_contracts.py +0 -0
  1210. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_delete_note.py +0 -0
  1211. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_edit_note.py +0 -0
  1212. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_json_output_modes.py +0 -0
  1213. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_list_directory.py +0 -0
  1214. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_project_management.py +0 -0
  1215. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_read_content.py +0 -0
  1216. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_read_note.py +0 -0
  1217. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_recent_activity.py +0 -0
  1218. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_resource.py +0 -0
  1219. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_schema.py +0 -0
  1220. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_search.py +0 -0
  1221. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_telemetry.py +0 -0
  1222. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_utils.py +0 -0
  1223. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_utils_cloud_auth.py +0 -0
  1224. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_view_note.py +0 -0
  1225. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_workspace_management.py +0 -0
  1226. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_write_note_kebab_filenames.py +0 -0
  1227. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_write_note_metadata.py +0 -0
  1228. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_ui_sdk.py +0 -0
  1229. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_ui_templates.py +0 -0
  1230. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/test_workspace_permalink_resolution.py +0 -0
  1231. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/tools/test_chatgpt_tools.py +0 -0
  1232. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/tools/test_mutating_memory_url_routing.py +0 -0
  1233. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/mcp/tools/test_search_notes_multi_project.py +0 -0
  1234. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/picoschema/__init__.py +0 -0
  1235. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/picoschema/test_diff.py +0 -0
  1236. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/picoschema/test_inference.py +0 -0
  1237. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/picoschema/test_parser.py +0 -0
  1238. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/picoschema/test_resolver.py +0 -0
  1239. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/picoschema/test_validator.py +0 -0
  1240. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_accepted_note_search_repository.py +0 -0
  1241. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_accepted_pending_entity_repository.py +0 -0
  1242. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_chunk_inspection.py +0 -0
  1243. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_distance_to_similarity.py +0 -0
  1244. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_entity_repository.py +0 -0
  1245. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_entity_repository_upsert.py +0 -0
  1246. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_entity_upsert_issue_187.py +0 -0
  1247. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_explicit_session_transactions.py +0 -0
  1248. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_external_vector_cleanup.py +0 -0
  1249. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_fastembed_provider.py +0 -0
  1250. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_fastembed_rerank_provider.py +0 -0
  1251. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_hybrid_fusion.py +0 -0
  1252. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_litellm_provider.py +0 -0
  1253. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_litellm_rerank_provider.py +0 -0
  1254. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_metadata_filters.py +0 -0
  1255. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_metadata_filters_edge_cases.py +0 -0
  1256. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_milvus_config.py +0 -0
  1257. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_milvus_index.py +0 -0
  1258. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_milvus_repository.py +0 -0
  1259. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_note_content_repository.py +0 -0
  1260. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_note_file_vacate_repository.py +0 -0
  1261. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_observation_repository.py +0 -0
  1262. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_openai_provider.py +0 -0
  1263. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_pgvector_index.py +0 -0
  1264. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_postgres_search_repository.py +0 -0
  1265. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_postgres_search_repository_unit.py +0 -0
  1266. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_prefixing_provider.py +0 -0
  1267. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_project_info_repository.py +0 -0
  1268. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_project_repository.py +0 -0
  1269. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_relation_repository.py +0 -0
  1270. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_repository.py +0 -0
  1271. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_rerank_pipeline.py +0 -0
  1272. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_rerank_provider_factory.py +0 -0
  1273. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_search_index_row.py +0 -0
  1274. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_search_relaxation.py +0 -0
  1275. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_search_relaxation_unicode_classes.py +0 -0
  1276. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_search_relaxed_rendering.py +0 -0
  1277. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_search_repository.py +0 -0
  1278. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_search_repository_edit_bug_fix.py +0 -0
  1279. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_search_text_with_metadata_filters.py +0 -0
  1280. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_search_trace.py +0 -0
  1281. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_semantic_chunking.py +0 -0
  1282. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_semantic_search_base.py +0 -0
  1283. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_semantic_vector_index.py +0 -0
  1284. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_semantic_vector_sync.py +0 -0
  1285. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_sqlite_vector_search_repository.py +0 -0
  1286. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_vector_manifest_generation_ownership.py +0 -0
  1287. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_vector_pagination.py +0 -0
  1288. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/repository/test_vector_threshold.py +0 -0
  1289. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_accepted_note_response_planning.py +0 -0
  1290. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_accepted_note_write_guards.py +0 -0
  1291. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_deleted_note_file_checksum.py +0 -0
  1292. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_deleted_note_response.py +0 -0
  1293. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_job_request_contracts.py +0 -0
  1294. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_note_content_read_planning.py +0 -0
  1295. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_note_content_store_materialization.py +0 -0
  1296. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_note_materialization_request_matching.py +0 -0
  1297. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_note_move_destination.py +0 -0
  1298. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_pending_note_materialization.py +0 -0
  1299. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_previous_materialized_note_file_delete.py +0 -0
  1300. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_process.py +0 -0
  1301. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_runtime_job_payloads.py +0 -0
  1302. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_sample_notes.py +0 -0
  1303. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/runtime/test_workflow_metadata.py +0 -0
  1304. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/schemas/test_base_timeframe_minimum.py +0 -0
  1305. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/schemas/test_memory_serialization.py +0 -0
  1306. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/schemas/test_memory_url.py +0 -0
  1307. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/schemas/test_memory_url_validation.py +0 -0
  1308. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/schemas/test_relation_response_reference_resolution.py +0 -0
  1309. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/schemas/test_schemas.py +0 -0
  1310. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/schemas/test_search.py +0 -0
  1311. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_bulk_link_resolver.py +0 -0
  1312. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_context_service.py +0 -0
  1313. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_directory_service.py +0 -0
  1314. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service.py +0 -0
  1315. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_disable_permalinks.py +0 -0
  1316. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_heading_boundaries.py +0 -0
  1317. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_prepare.py +0 -0
  1318. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_telemetry.py +0 -0
  1319. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_write_result.py +0 -0
  1320. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_file_service.py +0 -0
  1321. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_initialization.py +0 -0
  1322. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_initialization_cloud_mode_branches.py +0 -0
  1323. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_link_resolver.py +0 -0
  1324. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_note_type_normalization.py +0 -0
  1325. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_project_removal_bug.py +0 -0
  1326. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_project_service_cloud_info.py +0 -0
  1327. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_project_service_composition.py +0 -0
  1328. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_project_service_embedding_status.py +0 -0
  1329. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_project_service_operations.py +0 -0
  1330. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_search_service.py +0 -0
  1331. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_search_service_telemetry.py +0 -0
  1332. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_semantic_search.py +0 -0
  1333. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_semantic_timestamp_surfaces.py +0 -0
  1334. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/services/test_upsert_entity_optimization.py +0 -0
  1335. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_alembic_env.py +0 -0
  1336. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_architecture_boundaries.py +0 -0
  1337. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_claude_issue_triage.py +0 -0
  1338. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_claude_plugin_hooks.py +0 -0
  1339. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_codex_plugin_package.py +0 -0
  1340. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_coerce.py +0 -0
  1341. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_config.py +0 -0
  1342. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_config_load_side_effects.py +0 -0
  1343. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_deps.py +0 -0
  1344. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_migration_loop.py +0 -0
  1345. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_note_content_migration.py +0 -0
  1346. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_permalink_utils.py +0 -0
  1347. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_postgres_full_content_search_migration.py +0 -0
  1348. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_pr_title_workflow.py +0 -0
  1349. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_production_cascade_delete.py +0 -0
  1350. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_project_resolver.py +0 -0
  1351. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_rclone_commands.py +0 -0
  1352. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_read_cache_lifecycle.py +0 -0
  1353. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_read_cache_telemetry.py +0 -0
  1354. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_read_load_bench.py +0 -0
  1355. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_runtime.py +0 -0
  1356. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_runtime_observed_index_files.py +0 -0
  1357. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_runtime_storage_events.py +0 -0
  1358. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_runtime_storage_project_resolution.py +0 -0
  1359. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_semantic_vector_index_migration.py +0 -0
  1360. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_telemetry.py +0 -0
  1361. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/test_update_versions.py +0 -0
  1362. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/utils/test_file_utils.py +0 -0
  1363. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/utils/test_frontmatter_obsidian_compatible.py +0 -0
  1364. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/utils/test_parse_tags.py +0 -0
  1365. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/utils/test_permalink_formatting.py +0 -0
  1366. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/utils/test_setup_logging.py +0 -0
  1367. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/utils/test_timezone_utils.py +0 -0
  1368. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/utils/test_utf8_handling.py +0 -0
  1369. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/utils/test_validate_project_path.py +0 -0
  1370. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/tests/utils/test_workspace_context.py +0 -0
  1371. {basic_memory-0.23.1.dev24 → basic_memory-0.23.2.dev2}/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
  },
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ### Bug Fixes
6
+
7
+ - `write_note` and `move_note` no longer create case-duplicate folders
8
+ (`schemas/` beside an existing `Schemas/`). When a requested directory is
9
+ not an existing folder but matches exactly one existing folder
10
+ case-insensitively, the note lands in the existing folder; unknown folders
11
+ are still created as given, and existing case-variant siblings keep today's
12
+ exact behavior. Folders are resolved from the indexed database paths, so
13
+ local and cloud runtimes behave identically. (#1326)
14
+
5
15
  ## v0.23.1 (2026-08-25)
6
16
 
7
17
  Fast-follow patch to v0.23.0 focused on PostgreSQL search parity and a
@@ -41,6 +51,11 @@ after in-place upgrades.
41
51
  upgrade removes the running install's files: rich's deferred Unicode width
42
52
  table is preloaded before upgrading, and status lines fall back to plain
43
53
  output instead of failing a completed update.
54
+ - **#1323**: `bm doctor` no longer fails when `BASIC_MEMORY_PROJECT_ROOT`
55
+ points at an existing project's directory. Doctor now asks the server for a
56
+ disposable `doctor-*` project under the configured root — the only
57
+ sanctioned exception to the nested-project guard — and cleanup deletes the
58
+ project's directory along with its registration.
44
59
  - `bm doctor` waits for deferred note materialization before verifying the
45
60
  API-written file, matching the accepted-write contract instead of racing it.
46
61
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: basic-memory
3
- Version: 0.23.1.dev24
3
+ Version: 0.23.2.dev2
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
@@ -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",
@@ -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
  },
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.12"
4
4
  # dependencies = [
5
- # "basic-memory>=0.23.0",
5
+ # "basic-memory>=0.23.1",
6
6
  # # Direct pre-release pin so old uv resolves basic-memory (which
7
7
  # # requires this exact beta transitively) without enabling
8
8
  # # pre-releases for basic-memory itself. Keep in lockstep with
@@ -2,7 +2,7 @@
2
2
  # /// script
3
3
  # requires-python = ">=3.12"
4
4
  # dependencies = [
5
- # "basic-memory>=0.23.0",
5
+ # "basic-memory>=0.23.1",
6
6
  # # Direct pre-release pin so old uv resolves basic-memory (which
7
7
  # # requires this exact beta transitively) without enabling
8
8
  # # pre-releases for basic-memory itself. Keep in lockstep with
@@ -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,7 @@
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
6
  # # Direct pre-release pin so old uv resolves basic-memory (which
7
7
  # # requires this exact beta transitively) without enabling
8
8
  # # pre-releases broadly. Keep in lockstep with core pyproject.
@@ -2,7 +2,7 @@
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
6
  # # Direct pre-release pin so old uv resolves basic-memory (which
7
7
  # # requires this exact beta transitively) without enabling
8
8
  # # pre-releases broadly. Keep in lockstep with core pyproject.
@@ -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"
@@ -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,
@@ -5,6 +5,7 @@ from __future__ import annotations
5
5
  import tempfile
6
6
  import uuid
7
7
  from pathlib import Path
8
+ from typing import Protocol
8
9
 
9
10
  from loguru import logger
10
11
  from rich.console import Console
@@ -23,6 +24,14 @@ from basic_memory.schemas import ProjectIndexRunResponse
23
24
  console = Console()
24
25
 
25
26
 
27
+ class DoctorProjectClient(Protocol):
28
+ """Project-client capability required to clean up doctor state."""
29
+
30
+ async def delete_project(
31
+ self, project_external_id: str, delete_notes: bool = False
32
+ ) -> object: ...
33
+
34
+
26
35
  def _is_default_project_delete_error(error: Exception) -> bool:
27
36
  """Return True only for the API guard that blocks deleting the default project."""
28
37
  error_text = str(error)
@@ -61,14 +70,14 @@ async def _delete_doctor_project_locally(project_name: str, project_id: str) ->
61
70
 
62
71
 
63
72
  async def _delete_doctor_project(
64
- project_client: ProjectClient, project_name: str, project_id: str
73
+ project_client: DoctorProjectClient, project_name: str, project_id: str
65
74
  ) -> None:
66
75
  """Delete the generated doctor project without weakening the public API guard."""
67
76
  # Deferred: ToolError lives in FastMCP's runtime, which must not load at CLI startup (#886).
68
77
  from fastmcp.exceptions import ToolError
69
78
 
70
79
  try:
71
- await project_client.delete_project(project_id)
80
+ await project_client.delete_project(project_id, delete_notes=True)
72
81
  except ToolError as exc:
73
82
  if not _is_default_project_delete_error(exc):
74
83
  raise
@@ -127,9 +136,16 @@ async def run_doctor() -> None:
127
136
  project_id: str | None = None
128
137
 
129
138
  try:
130
- status = await project_client.create_project(project_request.model_dump())
139
+ from basic_memory.config import ConfigManager
140
+
141
+ status = (
142
+ await project_client.create_doctor_project()
143
+ if ConfigManager().config.project_root
144
+ else await project_client.create_project(project_request.model_dump())
145
+ )
131
146
  if not status.new_project:
132
147
  raise ValueError("Failed to create doctor project")
148
+ project_name = status.new_project.name
133
149
  project_id = status.new_project.external_id
134
150
  # Use the resolved path from the server — when project_root is configured,
135
151
  # the actual project directory differs from the requested temp_path
@@ -60,6 +60,7 @@ from basic_memory.runtime.storage import (
60
60
  )
61
61
  from basic_memory.schemas.base import Entity as EntitySchema
62
62
  from basic_memory.schemas.request import EditEntityRequest
63
+ from basic_memory.utils import resolve_directory_casing
63
64
 
64
65
  type AcceptedNoteMutationChange = RuntimeAcceptedNoteChange[RuntimeNoteContentResponsePayload]
65
66
  type AcceptedNoteMutationUserProfileId = UUID
@@ -233,6 +234,11 @@ class AcceptedNoteMutationEntityRepository(Protocol):
233
234
  load_relations: bool = False,
234
235
  ) -> Entity | None: ...
235
236
 
237
+ async def get_distinct_directories(
238
+ self,
239
+ session: AsyncSession,
240
+ ) -> list[str]: ...
241
+
236
242
 
237
243
  class AcceptedNoteMutationNoteContentRepository(Protocol):
238
244
  """note_content lookup capability for accepted-note mutations."""
@@ -379,6 +385,58 @@ async def resolve_accepted_note_source_checksum(
379
385
  )
380
386
 
381
387
 
388
+ async def resolve_accepted_note_directory(
389
+ session: AsyncSession,
390
+ *,
391
+ project_id: ProjectId,
392
+ directory: str,
393
+ dependencies: AcceptedNoteMutationDependencies,
394
+ ) -> str:
395
+ """Resolve a requested note directory against existing folder casing (#1326).
396
+
397
+ Trigger: the requested directory is not an existing folder but matches
398
+ exactly one existing folder case-insensitively.
399
+ Why: LLM callers guess plausible casing ("schemas" beside an existing
400
+ "Schemas/"); on case-sensitive storage (cloud object storage) the guess
401
+ silently creates a case-duplicate sibling folder. Folders are derived
402
+ from indexed entity file paths in the DB, never by probing storage, so
403
+ local and cloud runtimes resolve identically.
404
+ Outcome: a unique case-insensitive match adopts the existing folder's
405
+ casing; exact matches, unknown folders, and ambiguous case-variant
406
+ siblings keep the requested casing unchanged.
407
+ """
408
+ if not directory:
409
+ return directory
410
+ entity_repository = dependencies.lookup_repositories.entity_repository(project_id)
411
+ existing_directories = await entity_repository.get_distinct_directories(session)
412
+ return resolve_directory_casing(directory, existing_directories)
413
+
414
+
415
+ async def resolve_accepted_note_schema_directory(
416
+ session: AsyncSession,
417
+ *,
418
+ project_id: ProjectId,
419
+ data: EntitySchema,
420
+ dependencies: AcceptedNoteMutationDependencies,
421
+ ) -> EntitySchema:
422
+ """Return the write schema with its directory resolved to existing casing.
423
+
424
+ The schema's ``file_path`` is computed from ``directory``, so adjusting the
425
+ directory redirects the conflict lookup, preparation, and permalink
426
+ resolution downstream. The caller's schema is never mutated: a resolved
427
+ directory yields a copy so route-owned request data stays as received.
428
+ """
429
+ resolved_directory = await resolve_accepted_note_directory(
430
+ session,
431
+ project_id=project_id,
432
+ directory=data.directory,
433
+ dependencies=dependencies,
434
+ )
435
+ if resolved_directory == data.directory:
436
+ return data
437
+ return data.model_copy(update={"directory": resolved_directory})
438
+
439
+
382
440
  async def run_accepted_note_create(
383
441
  session: AsyncSession,
384
442
  *,
@@ -501,10 +559,16 @@ async def _run_accepted_note_create(
501
559
  dependencies=dependencies,
502
560
  )
503
561
 
562
+ data = await resolve_accepted_note_schema_directory(
563
+ session,
564
+ project_id=project.id,
565
+ data=request.data,
566
+ dependencies=dependencies,
567
+ )
504
568
  entity_repository = dependencies.lookup_repositories.entity_repository(project.id)
505
569
  conflicting_entity = await entity_repository.get_by_file_path(
506
570
  session,
507
- request.data.file_path,
571
+ data.file_path,
508
572
  load_relations=False,
509
573
  )
510
574
  reject_accepted_note_file_path_conflict(
@@ -515,7 +579,7 @@ async def _run_accepted_note_create(
515
579
  preparer = dependencies.preparer_factory.create_note_preparer(project)
516
580
  prepared_write = await prepare_create_or_reject(
517
581
  preparer,
518
- request.data,
582
+ data,
519
583
  check_storage_exists=dependencies.verify_storage_absent_on_create,
520
584
  session=session,
521
585
  )
@@ -579,10 +643,26 @@ async def _run_accepted_note_update(
579
643
  existing_file_path = entity.file_path if entity is not None else None
580
644
  vacated_source: tuple[RuntimeFilePath, RuntimeFileChecksum | None] | None = None
581
645
 
646
+ # Trigger: the addressed entity already lives in the exact requested directory.
647
+ # Why: casing resolution scans every distinct entity file_path in the project,
648
+ # and content-only PUTs (e.g. repeated collaboration-relay saves of the
649
+ # same note) are the hot path where the directory cannot change; an exact
650
+ # match would resolve to itself anyway because exact match always wins.
651
+ # Outcome: only case-variant or relocating PUTs pay for the directory scan.
652
+ current_directory = existing_file_path.rpartition("/")[0] if existing_file_path else None
653
+ if current_directory == request.data.directory:
654
+ data = request.data
655
+ else:
656
+ data = await resolve_accepted_note_schema_directory(
657
+ session,
658
+ project_id=project.id,
659
+ data=request.data,
660
+ dependencies=dependencies,
661
+ )
582
662
  await reject_conflicting_accepted_note_file_path(
583
663
  session,
584
664
  project_id=project.id,
585
- file_path=request.data.file_path,
665
+ file_path=data.file_path,
586
666
  allowed_entity_external_id=request.entity_external_id,
587
667
  dependencies=dependencies,
588
668
  )
@@ -600,7 +680,7 @@ async def _run_accepted_note_update(
600
680
  reject_stale_base_checksum(current_db_checksum=None)
601
681
  prepared_write = await prepare_create_or_reject(
602
682
  preparer,
603
- request.data,
683
+ data,
604
684
  check_storage_exists=dependencies.verify_storage_absent_on_create,
605
685
  session=session,
606
686
  )
@@ -630,7 +710,7 @@ async def _run_accepted_note_update(
630
710
  try:
631
711
  await preparer.verify_move_destination_absent(
632
712
  source_file_path=entity.file_path,
633
- destination_file_path=request.data.file_path,
713
+ destination_file_path=data.file_path,
634
714
  )
635
715
  except EntityAlreadyExistsError as error:
636
716
  reject_accepted_note_mutation(AcceptedNoteMutationRejectKind.conflict, str(error))
@@ -644,7 +724,7 @@ async def _run_accepted_note_update(
644
724
  # A PUT replacement may also rename the note. Capture the exact source bytes before
645
725
  # persistence mutates the entity and note_content to the destination version so delayed
646
726
  # cleanup cannot let a later project index recreate the old path as a ghost.
647
- if request.data.file_path != entity.file_path:
727
+ if data.file_path != entity.file_path:
648
728
  vacated_source = (
649
729
  entity.file_path,
650
730
  await resolve_accepted_note_source_checksum(
@@ -693,7 +773,7 @@ async def _run_accepted_note_update(
693
773
  preparer,
694
774
  session,
695
775
  entity=entity,
696
- data=request.data,
776
+ data=data,
697
777
  current_note_content=current_note_content,
698
778
  user_profile_value=user_profile_value,
699
779
  )
@@ -825,6 +905,18 @@ async def _run_accepted_note_move(
825
905
  dependencies=dependencies,
826
906
  )
827
907
  existing_file_path = entity.file_path
908
+ # The destination filename keeps its requested casing; only the parent
909
+ # directory resolves against existing folders (issue #1326). The path is
910
+ # posix-normalized above, so rpartition splits directory from filename.
911
+ destination_directory, _, destination_filename = accepted_file_path.rpartition("/")
912
+ resolved_directory = await resolve_accepted_note_directory(
913
+ session,
914
+ project_id=project.id,
915
+ directory=destination_directory,
916
+ dependencies=dependencies,
917
+ )
918
+ if resolved_directory != destination_directory:
919
+ accepted_file_path = f"{resolved_directory}/{destination_filename}"
828
920
  # Same-path moves fail fast everywhere by decision (2026-07-14): cloud's
829
921
  # pre-unification route returned a 200 no-op, local rejected — the unified
830
922
  # runner keeps the rejection so a mistaken identity move surfaces instead
@@ -78,6 +78,13 @@ class ProjectClient:
78
78
  )
79
79
  return ProjectStatusResponse.model_validate(response.json())
80
80
 
81
+ async def create_doctor_project(self) -> ProjectStatusResponse:
82
+ """Create the server-generated disposable project used by doctor."""
83
+ from basic_memory.mcp.tools.utils import call_post
84
+
85
+ response = await call_post(self.http_client, "/v2/projects/doctor")
86
+ return ProjectStatusResponse.model_validate(response.json())
87
+
81
88
  async def delete_project(
82
89
  self, project_external_id: str, delete_notes: bool = False
83
90
  ) -> ProjectStatusResponse:
@@ -947,9 +947,20 @@ move_note("{identifier}", destination_folder="notes")
947
947
  # the up-front detection: any divergence the caller did not ask for
948
948
  # surfaces as a failure rather than a fake success.
949
949
  # Outcome: report failure with the actual landing path instead of "✅".
950
+ # A case-only difference in the PARENT directories is the server resolving
951
+ # the destination folder to an existing folder's casing (#1326), not a
952
+ # boundary degradation — the success message below reports the actual
953
+ # landing path either way. The server always preserves the requested
954
+ # filename verbatim, so a basename divergence (even case-only) still
955
+ # reports the honest failure.
950
956
  normalized_requested = PureWindowsPath(destination_path).as_posix().strip("/")
951
957
  normalized_actual = PureWindowsPath(result.file_path).as_posix().strip("/")
952
- if normalized_actual != normalized_requested:
958
+ requested_parent, _, requested_name = normalized_requested.rpartition("/")
959
+ actual_parent, _, actual_name = normalized_actual.rpartition("/")
960
+ diverged = normalized_actual != normalized_requested and not (
961
+ actual_name == requested_name and actual_parent.lower() == requested_parent.lower()
962
+ )
963
+ if diverged:
953
964
  logger.warning(
954
965
  f"Move outcome diverged from intent: requested={destination_path} "
955
966
  f"actual={result.file_path}"
@@ -4,6 +4,7 @@ import asyncio
4
4
  import json
5
5
  import os
6
6
  import shutil
7
+ import uuid
7
8
  from collections.abc import Callable
8
9
  from datetime import datetime
9
10
  from pathlib import Path
@@ -190,7 +191,9 @@ class ProjectService:
190
191
  # Not nested in either direction
191
192
  return False
192
193
 
193
- async def add_project(self, name: str, path: str, set_default: bool = False) -> None:
194
+ async def add_project(
195
+ self, name: str, path: str, set_default: bool = False, *, allow_nested: bool = False
196
+ ) -> None:
194
197
  """Add a new project to the configuration and database.
195
198
 
196
199
  Args:
@@ -240,27 +243,25 @@ class ProjectService:
240
243
  f"In cloud mode, paths are normalized to lowercase to prevent case-sensitivity issues."
241
244
  ) # pragma: no cover
242
245
 
243
- # Check for nested paths with existing projects
244
- for existing in existing_projects:
245
- if self._check_nested_paths(resolved_path, existing.path):
246
- # Determine which path is nested within which for appropriate error message
247
- p_new = Path(resolved_path).resolve()
248
- p_existing = Path(existing.path).resolve()
249
-
250
- # Check if new path is nested under existing project
251
- if p_new.is_relative_to(p_existing):
252
- raise ValueError(
253
- f"Cannot create project at '{resolved_path}': "
254
- f"path is nested within existing project '{existing.name}' at '{existing.path}'. "
255
- f"Projects cannot share directory trees."
256
- )
257
- else:
258
- # Existing project is nested under new path
259
- raise ValueError(
260
- f"Cannot create project at '{resolved_path}': "
261
- f"existing project '{existing.name}' at '{existing.path}' is nested within this path. "
262
- f"Projects cannot share directory trees."
263
- )
246
+ # Doctor creates a disposable project inside the configured project root.
247
+ # It must be allowed to coexist with the existing root project.
248
+ if not allow_nested:
249
+ for existing in existing_projects:
250
+ if self._check_nested_paths(resolved_path, existing.path):
251
+ p_new = Path(resolved_path).resolve()
252
+ p_existing = Path(existing.path).resolve()
253
+ if p_new.is_relative_to(p_existing):
254
+ raise ValueError(
255
+ f"Cannot create project at '{resolved_path}': "
256
+ f"path is nested within existing project '{existing.name}' at '{existing.path}'. "
257
+ f"Projects cannot share directory trees."
258
+ )
259
+ else:
260
+ raise ValueError(
261
+ f"Cannot create project at '{resolved_path}': "
262
+ f"existing project '{existing.name}' at '{existing.path}' is nested within this path. "
263
+ f"Projects cannot share directory trees."
264
+ )
264
265
 
265
266
  # Ensure the project directory exists on disk.
266
267
  # Trigger: project_root not set means local filesystem mode (not S3/cloud)
@@ -332,6 +333,19 @@ class ProjectService:
332
333
 
333
334
  logger.info(f"Project '{name}' added at {resolved_path}")
334
335
 
336
+ async def add_doctor_project(self) -> Project:
337
+ """Create a server-generated disposable project under the configured root."""
338
+ project_root = self.config_manager.config.project_root
339
+ if not project_root:
340
+ raise ValueError("Doctor projects require BASIC_MEMORY_PROJECT_ROOT")
341
+
342
+ project_name = f"doctor-{uuid.uuid4().hex[:8]}"
343
+ await self.add_project(project_name, project_root, allow_nested=True)
344
+ project = await self.get_project(project_name)
345
+ if project is None: # pragma: no cover
346
+ raise ValueError("Failed to retrieve doctor project")
347
+ return project
348
+
335
349
  async def remove_project(self, name: str, delete_notes: bool = False) -> None:
336
350
  """Remove a project from configuration and database.
337
351
 
@@ -776,6 +776,52 @@ def detect_potential_file_conflicts(file_path: str, existing_paths: List[str]) -
776
776
  return conflicts
777
777
 
778
778
 
779
+ def resolve_directory_casing(directory: str, existing_directories: List[str]) -> str:
780
+ """Resolve a requested directory to the casing of existing folders (#1326).
781
+
782
+ LLM callers guess plausible-but-wrong casing ("schemas" beside an existing
783
+ "Schemas/"), and case-sensitive storage backends then grow case-duplicate
784
+ sibling folders. Each path segment resolves against the folders that exist
785
+ under the already-resolved parent:
786
+
787
+ - Exact match wins: the requested segment casing is kept unchanged.
788
+ - Unique case-insensitive match: the existing folder's casing is adopted.
789
+ - No match: the segment is kept as given (a new folder).
790
+ - Multiple case-variant folders exist: ambiguous, the segment is kept as
791
+ given (today's exact behavior).
792
+
793
+ Args:
794
+ directory: Requested directory path relative to the project root
795
+ ("" means the root itself).
796
+ existing_directories: Known project folders derived from indexed entity
797
+ file paths (see EntityRepository.get_distinct_directories).
798
+
799
+ Returns:
800
+ The directory path with each segment resolved to existing casing.
801
+ """
802
+ if not directory:
803
+ return directory
804
+
805
+ existing = set(existing_directories)
806
+ resolved_prefix = ""
807
+ for segment in directory.split("/"):
808
+ candidate = f"{resolved_prefix}/{segment}" if resolved_prefix else segment
809
+ if candidate in existing:
810
+ resolved_prefix = candidate
811
+ continue
812
+ # Candidates are constrained to children of the already-resolved parent:
813
+ # once a parent segment stays ambiguous (kept as requested), a deeper
814
+ # existing folder under a *different* parent casing must not be spliced in.
815
+ matches = [
816
+ existing_directory
817
+ for existing_directory in existing
818
+ if existing_directory.lower() == candidate.lower()
819
+ and existing_directory.rpartition("/")[0] == resolved_prefix
820
+ ]
821
+ resolved_prefix = matches[0] if len(matches) == 1 else candidate
822
+ return resolved_prefix
823
+
824
+
779
825
  def valid_project_path_value(path: str):
780
826
  """Ensure project path is valid."""
781
827
  # Allow empty strings as they resolve to the project root