basic-memory 0.18.2__tar.gz → 0.18.4__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 (397) hide show
  1. {basic_memory-0.18.2 → basic_memory-0.18.4}/CHANGELOG.md +11 -0
  2. {basic_memory-0.18.2 → basic_memory-0.18.4}/PKG-INFO +1 -1
  3. {basic_memory-0.18.2 → basic_memory-0.18.4}/server.json +2 -2
  4. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/__init__.py +1 -1
  5. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/rclone_commands.py +5 -3
  6. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/test_rclone_commands.py +8 -9
  7. {basic_memory-0.18.2 → basic_memory-0.18.4}/.claude/commands/release/beta.md +0 -0
  8. {basic_memory-0.18.2 → basic_memory-0.18.4}/.claude/commands/release/changelog.md +0 -0
  9. {basic_memory-0.18.2 → basic_memory-0.18.4}/.claude/commands/release/release-check.md +0 -0
  10. {basic_memory-0.18.2 → basic_memory-0.18.4}/.claude/commands/release/release.md +0 -0
  11. {basic_memory-0.18.2 → basic_memory-0.18.4}/.claude/commands/spec.md +0 -0
  12. {basic_memory-0.18.2 → basic_memory-0.18.4}/.claude/commands/test-live.md +0 -0
  13. {basic_memory-0.18.2 → basic_memory-0.18.4}/.claude/settings.json +0 -0
  14. {basic_memory-0.18.2 → basic_memory-0.18.4}/.dockerignore +0 -0
  15. {basic_memory-0.18.2 → basic_memory-0.18.4}/.env.example +0 -0
  16. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  17. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  18. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  19. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  20. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/dependabot.yml +0 -0
  21. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/workflows/claude-code-review.yml +0 -0
  22. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/workflows/claude-issue-triage.yml +0 -0
  23. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/workflows/claude.yml +0 -0
  24. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/workflows/dev-release.yml +0 -0
  25. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/workflows/docker.yml +0 -0
  26. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/workflows/pr-title.yml +0 -0
  27. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/workflows/release.yml +0 -0
  28. {basic_memory-0.18.2 → basic_memory-0.18.4}/.github/workflows/test.yml +0 -0
  29. {basic_memory-0.18.2 → basic_memory-0.18.4}/.gitignore +0 -0
  30. {basic_memory-0.18.2 → basic_memory-0.18.4}/.python-version +0 -0
  31. {basic_memory-0.18.2 → basic_memory-0.18.4}/AGENTS.md +0 -0
  32. {basic_memory-0.18.2 → basic_memory-0.18.4}/CITATION.cff +0 -0
  33. {basic_memory-0.18.2 → basic_memory-0.18.4}/CLA.md +0 -0
  34. {basic_memory-0.18.2 → basic_memory-0.18.4}/CLAUDE.md +0 -0
  35. {basic_memory-0.18.2 → basic_memory-0.18.4}/CODE_OF_CONDUCT.md +0 -0
  36. {basic_memory-0.18.2 → basic_memory-0.18.4}/CONTRIBUTING.md +0 -0
  37. {basic_memory-0.18.2 → basic_memory-0.18.4}/Dockerfile +0 -0
  38. {basic_memory-0.18.2 → basic_memory-0.18.4}/LICENSE +0 -0
  39. {basic_memory-0.18.2 → basic_memory-0.18.4}/README.md +0 -0
  40. {basic_memory-0.18.2 → basic_memory-0.18.4}/SECURITY.md +0 -0
  41. {basic_memory-0.18.2 → basic_memory-0.18.4}/docker-compose-postgres.yml +0 -0
  42. {basic_memory-0.18.2 → basic_memory-0.18.4}/docker-compose.yml +0 -0
  43. {basic_memory-0.18.2 → basic_memory-0.18.4}/docs/ARCHITECTURE.md +0 -0
  44. {basic_memory-0.18.2 → basic_memory-0.18.4}/docs/Docker.md +0 -0
  45. {basic_memory-0.18.2 → basic_memory-0.18.4}/docs/NOTE-FORMAT.md +0 -0
  46. {basic_memory-0.18.2 → basic_memory-0.18.4}/docs/ai-assistant-guide-extended.md +0 -0
  47. {basic_memory-0.18.2 → basic_memory-0.18.4}/docs/character-handling.md +0 -0
  48. {basic_memory-0.18.2 → basic_memory-0.18.4}/docs/cloud-cli.md +0 -0
  49. {basic_memory-0.18.2 → basic_memory-0.18.4}/docs/testing-coverage.md +0 -0
  50. {basic_memory-0.18.2 → basic_memory-0.18.4}/justfile +0 -0
  51. {basic_memory-0.18.2 → basic_memory-0.18.4}/llms-install.md +0 -0
  52. {basic_memory-0.18.2 → basic_memory-0.18.4}/pyproject.toml +0 -0
  53. {basic_memory-0.18.2 → basic_memory-0.18.4}/smithery.yaml +0 -0
  54. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/alembic.ini +0 -0
  55. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/env.py +0 -0
  56. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/migrations.py +0 -0
  57. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/script.py.mako +0 -0
  58. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/314f1ea54dc4_add_postgres_full_text_search_support_.py +0 -0
  59. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
  60. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
  61. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py +0 -0
  62. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py +0 -0
  63. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/6830751f5fb6_merge_multiple_heads.py +0 -0
  64. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/9d9c1cb7d8f5_add_mtime_and_size_columns_to_entity_.py +0 -0
  65. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/a1b2c3d4e5f6_fix_project_foreign_keys.py +0 -0
  66. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/a2b3c4d5e6f7_add_search_index_entity_cascade.py +0 -0
  67. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
  68. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
  69. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/d7e8f9a0b1c2_add_structured_metadata_indexes.py +0 -0
  70. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/e7e1f4367280_add_scan_watermark_tracking_to_project.py +0 -0
  71. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/f8a9b2c3d4e5_add_pg_trgm_for_fuzzy_link_resolution.py +0 -0
  72. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/alembic/versions/g9a0b3c4d5e6_add_external_id_to_project_and_entity.py +0 -0
  73. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/__init__.py +0 -0
  74. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/app.py +0 -0
  75. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/container.py +0 -0
  76. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/template_loader.py +0 -0
  77. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/__init__.py +0 -0
  78. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/routers/__init__.py +0 -0
  79. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/routers/directory_router.py +0 -0
  80. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/routers/importer_router.py +0 -0
  81. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/routers/knowledge_router.py +0 -0
  82. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/routers/memory_router.py +0 -0
  83. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/routers/project_router.py +0 -0
  84. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/routers/prompt_router.py +0 -0
  85. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/routers/resource_router.py +0 -0
  86. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/routers/search_router.py +0 -0
  87. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/api/v2/utils.py +0 -0
  88. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/__init__.py +0 -0
  89. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/app.py +0 -0
  90. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/auth.py +0 -0
  91. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/__init__.py +0 -0
  92. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/__init__.py +0 -0
  93. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/api_client.py +0 -0
  94. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/bisync_commands.py +0 -0
  95. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/cloud_utils.py +0 -0
  96. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/core_commands.py +0 -0
  97. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/rclone_config.py +0 -0
  98. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/rclone_installer.py +0 -0
  99. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/restore.py +0 -0
  100. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/schemas.py +0 -0
  101. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/snapshot.py +0 -0
  102. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/upload.py +0 -0
  103. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/cloud/upload_command.py +0 -0
  104. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/command_utils.py +0 -0
  105. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/db.py +0 -0
  106. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/doctor.py +0 -0
  107. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/format.py +0 -0
  108. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
  109. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
  110. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
  111. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
  112. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/mcp.py +0 -0
  113. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/project.py +0 -0
  114. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/routing.py +0 -0
  115. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/status.py +0 -0
  116. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/commands/tool.py +0 -0
  117. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/container.py +0 -0
  118. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/cli/main.py +0 -0
  119. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/config.py +0 -0
  120. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/db.py +0 -0
  121. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/deps/__init__.py +0 -0
  122. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/deps/config.py +0 -0
  123. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/deps/db.py +0 -0
  124. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/deps/importers.py +0 -0
  125. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/deps/projects.py +0 -0
  126. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/deps/repositories.py +0 -0
  127. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/deps/services.py +0 -0
  128. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/deps.py +0 -0
  129. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/file_utils.py +0 -0
  130. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/ignore_utils.py +0 -0
  131. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/importers/__init__.py +0 -0
  132. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/importers/base.py +0 -0
  133. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/importers/chatgpt_importer.py +0 -0
  134. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/importers/claude_conversations_importer.py +0 -0
  135. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/importers/claude_projects_importer.py +0 -0
  136. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/importers/memory_json_importer.py +0 -0
  137. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/importers/utils.py +0 -0
  138. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/markdown/__init__.py +0 -0
  139. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/markdown/entity_parser.py +0 -0
  140. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/markdown/markdown_processor.py +0 -0
  141. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/markdown/plugins.py +0 -0
  142. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/markdown/schemas.py +0 -0
  143. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/markdown/utils.py +0 -0
  144. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/__init__.py +0 -0
  145. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/async_client.py +0 -0
  146. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/clients/__init__.py +0 -0
  147. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/clients/directory.py +0 -0
  148. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/clients/knowledge.py +0 -0
  149. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/clients/memory.py +0 -0
  150. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/clients/project.py +0 -0
  151. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/clients/resource.py +0 -0
  152. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/clients/search.py +0 -0
  153. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/container.py +0 -0
  154. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/project_context.py +0 -0
  155. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/prompts/__init__.py +0 -0
  156. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +0 -0
  157. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
  158. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
  159. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/prompts/search.py +0 -0
  160. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/prompts/utils.py +0 -0
  161. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/resources/ai_assistant_guide.md +0 -0
  162. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/resources/project_info.py +0 -0
  163. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/server.py +0 -0
  164. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/__init__.py +0 -0
  165. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/build_context.py +0 -0
  166. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/canvas.py +0 -0
  167. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/chatgpt_tools.py +0 -0
  168. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/delete_note.py +0 -0
  169. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/edit_note.py +0 -0
  170. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/list_directory.py +0 -0
  171. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/move_note.py +0 -0
  172. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/project_management.py +0 -0
  173. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/read_content.py +0 -0
  174. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/read_note.py +0 -0
  175. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/recent_activity.py +0 -0
  176. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/search.py +0 -0
  177. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/utils.py +0 -0
  178. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/view_note.py +0 -0
  179. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/mcp/tools/write_note.py +0 -0
  180. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/models/__init__.py +0 -0
  181. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/models/base.py +0 -0
  182. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/models/knowledge.py +0 -0
  183. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/models/project.py +0 -0
  184. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/models/search.py +0 -0
  185. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/project_resolver.py +0 -0
  186. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/__init__.py +0 -0
  187. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/entity_repository.py +0 -0
  188. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/metadata_filters.py +0 -0
  189. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/observation_repository.py +0 -0
  190. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/postgres_search_repository.py +0 -0
  191. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/project_info_repository.py +0 -0
  192. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/project_repository.py +0 -0
  193. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/relation_repository.py +0 -0
  194. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/repository.py +0 -0
  195. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/search_index_row.py +0 -0
  196. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/search_repository.py +0 -0
  197. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/search_repository_base.py +0 -0
  198. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/repository/sqlite_search_repository.py +0 -0
  199. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/runtime.py +0 -0
  200. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/__init__.py +0 -0
  201. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/base.py +0 -0
  202. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/cloud.py +0 -0
  203. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/delete.py +0 -0
  204. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/directory.py +0 -0
  205. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/importer.py +0 -0
  206. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/memory.py +0 -0
  207. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/project_info.py +0 -0
  208. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/prompt.py +0 -0
  209. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/request.py +0 -0
  210. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/response.py +0 -0
  211. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/search.py +0 -0
  212. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/sync_report.py +0 -0
  213. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/v2/__init__.py +0 -0
  214. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/v2/entity.py +0 -0
  215. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/schemas/v2/resource.py +0 -0
  216. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/__init__.py +0 -0
  217. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/context_service.py +0 -0
  218. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/directory_service.py +0 -0
  219. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/entity_service.py +0 -0
  220. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/exceptions.py +0 -0
  221. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/file_service.py +0 -0
  222. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/initialization.py +0 -0
  223. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/link_resolver.py +0 -0
  224. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/project_service.py +0 -0
  225. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/search_service.py +0 -0
  226. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/services/service.py +0 -0
  227. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/sync/__init__.py +0 -0
  228. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/sync/background_sync.py +0 -0
  229. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/sync/coordinator.py +0 -0
  230. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/sync/sync_service.py +0 -0
  231. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/sync/watch_service.py +0 -0
  232. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/templates/prompts/continue_conversation.hbs +0 -0
  233. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/templates/prompts/search.hbs +0 -0
  234. {basic_memory-0.18.2 → basic_memory-0.18.4}/src/basic_memory/utils.py +0 -0
  235. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/BENCHMARKS.md +0 -0
  236. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/cli/test_cli_tool_json_integration.py +0 -0
  237. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/cli/test_project_commands_integration.py +0 -0
  238. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/cli/test_routing_integration.py +0 -0
  239. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/cli/test_version_integration.py +0 -0
  240. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/conftest.py +0 -0
  241. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_build_context_underscore.py +0 -0
  242. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_build_context_validation.py +0 -0
  243. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_chatgpt_tools_integration.py +0 -0
  244. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_default_project_mode_integration.py +0 -0
  245. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_delete_directory_integration.py +0 -0
  246. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_delete_note_integration.py +0 -0
  247. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_edit_note_integration.py +0 -0
  248. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_lifespan_shutdown_sync_task_cancellation_integration.py +0 -0
  249. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_list_directory_integration.py +0 -0
  250. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_move_directory_integration.py +0 -0
  251. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_move_note_integration.py +0 -0
  252. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_project_management_integration.py +0 -0
  253. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_project_state_sync_integration.py +0 -0
  254. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_read_content_integration.py +0 -0
  255. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_read_note_integration.py +0 -0
  256. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_search_integration.py +0 -0
  257. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_single_project_mcp_integration.py +0 -0
  258. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_smoke_integration.py +0 -0
  259. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/mcp/test_write_note_integration.py +0 -0
  260. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/test_db_wal_mode.py +0 -0
  261. {basic_memory-0.18.2 → basic_memory-0.18.4}/test-int/test_disable_permalinks_integration.py +0 -0
  262. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/Non-MarkdownFileSupport.pdf +0 -0
  263. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/README.md +0 -0
  264. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/Screenshot.png +0 -0
  265. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/__init__.py +0 -0
  266. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/__init__.py +0 -0
  267. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/conftest.py +0 -0
  268. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/test_directory_router.py +0 -0
  269. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/test_importer_router.py +0 -0
  270. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/test_knowledge_router.py +0 -0
  271. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/test_memory_router.py +0 -0
  272. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/test_project_router.py +0 -0
  273. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/test_prompt_router.py +0 -0
  274. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/test_resource_router.py +0 -0
  275. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/api/v2/test_search_router.py +0 -0
  276. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/cloud/test_cloud_api_client_and_utils.py +0 -0
  277. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/cloud/test_rclone_config_and_bmignore_filters.py +0 -0
  278. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/cloud/test_upload_path.py +0 -0
  279. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/conftest.py +0 -0
  280. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_auth_cli_auth.py +0 -0
  281. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_cli_container.py +0 -0
  282. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_cli_exit.py +0 -0
  283. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_cli_tool_exit.py +0 -0
  284. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_cli_tool_json_output.py +0 -0
  285. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_cli_tools.py +0 -0
  286. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_cloud_authentication.py +0 -0
  287. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_ignore_utils.py +0 -0
  288. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_import_chatgpt.py +0 -0
  289. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_import_claude_conversations.py +0 -0
  290. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_import_claude_projects.py +0 -0
  291. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_import_memory_json.py +0 -0
  292. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_project_add_with_local_path.py +0 -0
  293. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_restore_commands.py +0 -0
  294. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_routing.py +0 -0
  295. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_snapshot_commands.py +0 -0
  296. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/cli/test_upload.py +0 -0
  297. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/conftest.py +0 -0
  298. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/db/test_issue_254_foreign_key_constraints.py +0 -0
  299. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/importers/test_conversation_indexing.py +0 -0
  300. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/importers/test_importer_base.py +0 -0
  301. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/importers/test_importer_utils.py +0 -0
  302. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/__init__.py +0 -0
  303. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_date_frontmatter_parsing.py +0 -0
  304. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_entity_parser.py +0 -0
  305. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_entity_parser_error_handling.py +0 -0
  306. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_markdown_plugins.py +0 -0
  307. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_markdown_processor.py +0 -0
  308. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_markdown_utils.py +0 -0
  309. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_observation_edge_cases.py +0 -0
  310. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_parser_edge_cases.py +0 -0
  311. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_relation_edge_cases.py +0 -0
  312. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/markdown/test_task_detection.py +0 -0
  313. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/clients/__init__.py +0 -0
  314. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/clients/test_clients.py +0 -0
  315. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/conftest.py +0 -0
  316. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_async_client_force_local.py +0 -0
  317. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_async_client_modes.py +0 -0
  318. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_mcp_container.py +0 -0
  319. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_obsidian_yaml_formatting.py +0 -0
  320. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_permalink_collision_file_overwrite.py +0 -0
  321. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_project_context.py +0 -0
  322. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_prompts.py +0 -0
  323. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_recent_activity_prompt_modes.py +0 -0
  324. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_resources.py +0 -0
  325. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_server_lifespan_branches.py +0 -0
  326. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_build_context.py +0 -0
  327. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_canvas.py +0 -0
  328. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_contracts.py +0 -0
  329. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_delete_note.py +0 -0
  330. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_edit_note.py +0 -0
  331. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_list_directory.py +0 -0
  332. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_move_note.py +0 -0
  333. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_project_management.py +0 -0
  334. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_read_content.py +0 -0
  335. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_read_note.py +0 -0
  336. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_recent_activity.py +0 -0
  337. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_resource.py +0 -0
  338. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_search.py +0 -0
  339. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_utils.py +0 -0
  340. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_view_note.py +0 -0
  341. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_write_note.py +0 -0
  342. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/test_tool_write_note_kebab_filenames.py +0 -0
  343. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/mcp/tools/test_chatgpt_tools.py +0 -0
  344. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_entity_repository.py +0 -0
  345. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_entity_repository_upsert.py +0 -0
  346. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_entity_upsert_issue_187.py +0 -0
  347. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_metadata_filters.py +0 -0
  348. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_observation_repository.py +0 -0
  349. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_postgres_search_repository.py +0 -0
  350. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_project_info_repository.py +0 -0
  351. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_project_repository.py +0 -0
  352. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_relation_repository.py +0 -0
  353. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_repository.py +0 -0
  354. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_search_repository.py +0 -0
  355. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/repository/test_search_repository_edit_bug_fix.py +0 -0
  356. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/schemas/test_base_timeframe_minimum.py +0 -0
  357. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/schemas/test_memory_serialization.py +0 -0
  358. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/schemas/test_memory_url.py +0 -0
  359. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/schemas/test_memory_url_validation.py +0 -0
  360. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/schemas/test_relation_response_reference_resolution.py +0 -0
  361. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/schemas/test_schemas.py +0 -0
  362. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/schemas/test_search.py +0 -0
  363. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_context_service.py +0 -0
  364. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_directory_service.py +0 -0
  365. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_entity_service.py +0 -0
  366. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_entity_service_disable_permalinks.py +0 -0
  367. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_file_service.py +0 -0
  368. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_initialization.py +0 -0
  369. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_initialization_cloud_mode_branches.py +0 -0
  370. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_link_resolver.py +0 -0
  371. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_project_removal_bug.py +0 -0
  372. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_project_service.py +0 -0
  373. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_project_service_operations.py +0 -0
  374. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/services/test_search_service.py +0 -0
  375. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_character_conflicts.py +0 -0
  376. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_coordinator.py +0 -0
  377. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_sync_service.py +0 -0
  378. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_sync_service_incremental.py +0 -0
  379. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_sync_wikilink_issue.py +0 -0
  380. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_tmp_files.py +0 -0
  381. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_watch_service.py +0 -0
  382. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_watch_service_atomic_adds.py +0 -0
  383. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_watch_service_edge_cases.py +0 -0
  384. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/sync/test_watch_service_reload.py +0 -0
  385. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/test_config.py +0 -0
  386. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/test_deps.py +0 -0
  387. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/test_production_cascade_delete.py +0 -0
  388. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/test_project_resolver.py +0 -0
  389. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/test_runtime.py +0 -0
  390. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/utils/test_file_utils.py +0 -0
  391. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/utils/test_frontmatter_obsidian_compatible.py +0 -0
  392. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/utils/test_parse_tags.py +0 -0
  393. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/utils/test_permalink_formatting.py +0 -0
  394. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/utils/test_timezone_utils.py +0 -0
  395. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/utils/test_utf8_handling.py +0 -0
  396. {basic_memory-0.18.2 → basic_memory-0.18.4}/tests/utils/test_validate_project_path.py +0 -0
  397. {basic_memory-0.18.2 → basic_memory-0.18.4}/uv.lock +0 -0
@@ -1,5 +1,16 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v0.18.4 (2026-02-12)
4
+
5
+ ### Bug Fixes
6
+
7
+ - Use global `--header` flag for Tigris consistency on all rclone transactions
8
+ ([`0eae0e1`](https://github.com/basicmachines-co/basic-memory/commit/0eae0e1))
9
+ - `--header-download` / `--header-upload` only apply to GET/PUT requests, missing S3
10
+ ListObjectsV2 calls that bisync issues first. Non-US users saw stale edge-cached metadata.
11
+ - `--header` applies to ALL HTTP transactions (list, download, upload), fixing bisync for
12
+ users outside the Tigris origin region.
13
+
3
14
  ## v0.18.2 (2026-02-11)
4
15
 
5
16
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: basic-memory
3
- Version: 0.18.2
3
+ Version: 0.18.4
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
@@ -6,12 +6,12 @@
6
6
  "url": "https://github.com/basicmachines-co/basic-memory.git",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.18.2",
9
+ "version": "0.18.4",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "pypi",
13
13
  "identifier": "basic-memory",
14
- "version": "0.18.2",
14
+ "version": "0.18.4",
15
15
  "runtimeHint": "uvx",
16
16
  "runtimeArguments": [
17
17
  {"type": "positional", "value": "basic-memory"},
@@ -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.18.2"
4
+ __version__ = "0.18.4"
5
5
 
6
6
  # API version for FastAPI - independent of package version
7
7
  __api_version__ = "v0"
@@ -28,11 +28,13 @@ console = Console()
28
28
  MIN_RCLONE_VERSION_EMPTY_DIRS = (1, 64, 0)
29
29
 
30
30
  # Tigris edge caching returns stale data for users outside the origin region (iad).
31
- # These headers bypass edge cache and force reads/writes against the origin.
31
+ # --header is rclone's global flag that applies to ALL HTTP transactions (list, download,
32
+ # upload). This is critical because bisync starts with S3 ListObjectsV2, which is neither
33
+ # a download nor upload — so --header-download/--header-upload would miss list requests.
32
34
  # See: https://www.tigrisdata.com/docs/objects/consistency/
33
35
  TIGRIS_CONSISTENCY_HEADERS = [
34
- "--header-download", "X-Tigris-Consistent: true",
35
- "--header-upload", "X-Tigris-Consistent: true",
36
+ "--header",
37
+ "X-Tigris-Consistent: true",
36
38
  ]
37
39
 
38
40
 
@@ -41,15 +41,14 @@ class _Runner:
41
41
 
42
42
 
43
43
  def _assert_has_consistency_headers(cmd: list[str]) -> None:
44
- """Assert the rclone command includes Tigris consistency headers."""
45
- assert "--header-download" in cmd
46
- assert "X-Tigris-Consistent: true" in cmd
47
- assert "--header-upload" in cmd
48
- # Verify upload header value follows --header-upload
49
- upload_idx = cmd.index("--header-upload")
50
- assert cmd[upload_idx + 1] == "X-Tigris-Consistent: true"
51
- download_idx = cmd.index("--header-download")
52
- assert cmd[download_idx + 1] == "X-Tigris-Consistent: true"
44
+ """Assert the rclone command includes Tigris consistency headers.
45
+
46
+ Uses --header (global flag) so the header applies to ALL HTTP transactions,
47
+ including S3 list requests that bisync issues before any download/upload.
48
+ """
49
+ assert "--header" in cmd
50
+ header_idx = cmd.index("--header")
51
+ assert cmd[header_idx + 1] == "X-Tigris-Consistent: true"
53
52
 
54
53
 
55
54
  def _write_filter_file(tmp_path: Path) -> Path:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes