basic-memory 0.13.3__tar.gz → 0.13.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of basic-memory might be problematic. Click here for more details.

Files changed (311) hide show
  1. {basic_memory-0.13.3 → basic_memory-0.13.5}/.claude/commands/release/release.md +6 -0
  2. {basic_memory-0.13.3 → basic_memory-0.13.5}/CHANGELOG.md +68 -0
  3. {basic_memory-0.13.3 → basic_memory-0.13.5}/PKG-INFO +1 -1
  4. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/__init__.py +1 -1
  5. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/config.py +1 -1
  6. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/project_management.py +2 -2
  7. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_project_management_integration.py +25 -25
  8. {basic_memory-0.13.3 → basic_memory-0.13.5}/.claude/commands/check-health.md +0 -0
  9. {basic_memory-0.13.3 → basic_memory-0.13.5}/.claude/commands/commands.md +0 -0
  10. {basic_memory-0.13.3 → basic_memory-0.13.5}/.claude/commands/lint-fix.md +0 -0
  11. {basic_memory-0.13.3 → basic_memory-0.13.5}/.claude/commands/release/beta.md +0 -0
  12. {basic_memory-0.13.3 → basic_memory-0.13.5}/.claude/commands/release/changelog.md +0 -0
  13. {basic_memory-0.13.3 → basic_memory-0.13.5}/.claude/commands/release/release-check.md +0 -0
  14. {basic_memory-0.13.3 → basic_memory-0.13.5}/.claude/commands/test-coverage.md +0 -0
  15. {basic_memory-0.13.3 → basic_memory-0.13.5}/.claude/commands/test-live.md +0 -0
  16. {basic_memory-0.13.3 → basic_memory-0.13.5}/.env.oauth.example +0 -0
  17. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  18. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  19. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  20. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  21. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/dependabot.yml +0 -0
  22. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/workflows/claude.yml +0 -0
  23. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/workflows/dev-release.yml +0 -0
  24. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/workflows/pr-title.yml +0 -0
  25. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/workflows/release.yml +0 -0
  26. {basic_memory-0.13.3 → basic_memory-0.13.5}/.github/workflows/test.yml +0 -0
  27. {basic_memory-0.13.3 → basic_memory-0.13.5}/.gitignore +0 -0
  28. {basic_memory-0.13.3 → basic_memory-0.13.5}/.mcp.json +0 -0
  29. {basic_memory-0.13.3 → basic_memory-0.13.5}/.python-version +0 -0
  30. {basic_memory-0.13.3 → basic_memory-0.13.5}/AUTH.md +0 -0
  31. {basic_memory-0.13.3 → basic_memory-0.13.5}/CITATION.cff +0 -0
  32. {basic_memory-0.13.3 → basic_memory-0.13.5}/CLA.md +0 -0
  33. {basic_memory-0.13.3 → basic_memory-0.13.5}/CLAUDE.md +0 -0
  34. {basic_memory-0.13.3 → basic_memory-0.13.5}/CODE_OF_CONDUCT.md +0 -0
  35. {basic_memory-0.13.3 → basic_memory-0.13.5}/CONTRIBUTING.md +0 -0
  36. {basic_memory-0.13.3 → basic_memory-0.13.5}/Dockerfile +0 -0
  37. {basic_memory-0.13.3 → basic_memory-0.13.5}/LICENSE +0 -0
  38. {basic_memory-0.13.3 → basic_memory-0.13.5}/README.md +0 -0
  39. {basic_memory-0.13.3 → basic_memory-0.13.5}/SECURITY.md +0 -0
  40. {basic_memory-0.13.3 → basic_memory-0.13.5}/basic-memory.md +0 -0
  41. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/AI Assistant Guide.md +0 -0
  42. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/CLI Reference.md +0 -0
  43. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/Canvas.md +0 -0
  44. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/Claude.ai Integration.md +0 -0
  45. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/Getting Started with Basic Memory.md +0 -0
  46. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/Knowledge Format.md +0 -0
  47. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/OAuth Authentication Guide.md +0 -0
  48. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/Obsidian Integration.md +0 -0
  49. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/Supabase OAuth Setup.md +0 -0
  50. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/Technical Information.md +0 -0
  51. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/User Guide.md +0 -0
  52. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/Welcome to Basic memory.md +0 -0
  53. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/attachments/Canvas.png +0 -0
  54. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/attachments/Claude-Obsidian-Demo.mp4 +0 -0
  55. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/attachments/Prompt.png +0 -0
  56. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/attachments/disk-ai-logo-400x400.png +0 -0
  57. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/attachments/disk-ai-logo.png +0 -0
  58. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/attachments/prompt 1.png +0 -0
  59. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/attachments/prompt2.png +0 -0
  60. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/attachments/prompt3.png +0 -0
  61. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/attachments/prompt4.png +0 -0
  62. {basic_memory-0.13.3 → basic_memory-0.13.5}/docs/publish.js +0 -0
  63. {basic_memory-0.13.3 → basic_memory-0.13.5}/examples/Coffee Notes/Brewing Equipment.md +0 -0
  64. {basic_memory-0.13.3 → basic_memory-0.13.5}/examples/Coffee Notes/Coffee Bean Origins.md +0 -0
  65. {basic_memory-0.13.3 → basic_memory-0.13.5}/examples/Coffee Notes/Coffee Brewing Methods.md +0 -0
  66. {basic_memory-0.13.3 → basic_memory-0.13.5}/examples/Coffee Notes/Coffee Flavor Map.md +0 -0
  67. {basic_memory-0.13.3 → basic_memory-0.13.5}/examples/Coffee Notes/Coffee Knowledge Base.md +0 -0
  68. {basic_memory-0.13.3 → basic_memory-0.13.5}/examples/Coffee Notes/Flavor Extraction.md +0 -0
  69. {basic_memory-0.13.3 → basic_memory-0.13.5}/examples/Coffee Notes/Perfect Pour Over Coffee Method.canvas +0 -0
  70. {basic_memory-0.13.3 → basic_memory-0.13.5}/examples/Coffee Notes/Tasting Notes.md +0 -0
  71. {basic_memory-0.13.3 → basic_memory-0.13.5}/examples/testing/Test Note Creation - Basic Functionality.md +0 -0
  72. {basic_memory-0.13.3 → basic_memory-0.13.5}/justfile +0 -0
  73. {basic_memory-0.13.3 → basic_memory-0.13.5}/llms-install.md +0 -0
  74. {basic_memory-0.13.3 → basic_memory-0.13.5}/memory.json +0 -0
  75. {basic_memory-0.13.3 → basic_memory-0.13.5}/pyproject.toml +0 -0
  76. {basic_memory-0.13.3 → basic_memory-0.13.5}/scripts/install.sh +0 -0
  77. {basic_memory-0.13.3 → basic_memory-0.13.5}/smithery.yaml +0 -0
  78. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/alembic.ini +0 -0
  79. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/env.py +0 -0
  80. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/migrations.py +0 -0
  81. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/script.py.mako +0 -0
  82. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
  83. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
  84. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py +0 -0
  85. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py +0 -0
  86. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
  87. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
  88. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/__init__.py +0 -0
  89. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/app.py +0 -0
  90. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/__init__.py +0 -0
  91. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/directory_router.py +0 -0
  92. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/importer_router.py +0 -0
  93. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/knowledge_router.py +0 -0
  94. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/management_router.py +0 -0
  95. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/memory_router.py +0 -0
  96. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/project_router.py +0 -0
  97. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/prompt_router.py +0 -0
  98. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/resource_router.py +0 -0
  99. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/search_router.py +0 -0
  100. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/routers/utils.py +0 -0
  101. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/api/template_loader.py +0 -0
  102. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/__init__.py +0 -0
  103. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/app.py +0 -0
  104. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/__init__.py +0 -0
  105. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/auth.py +0 -0
  106. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/db.py +0 -0
  107. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
  108. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
  109. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
  110. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
  111. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/mcp.py +0 -0
  112. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/project.py +0 -0
  113. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/status.py +0 -0
  114. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/sync.py +0 -0
  115. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/commands/tool.py +0 -0
  116. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/cli/main.py +0 -0
  117. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/db.py +0 -0
  118. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/deps.py +0 -0
  119. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/file_utils.py +0 -0
  120. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/importers/__init__.py +0 -0
  121. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/importers/base.py +0 -0
  122. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/importers/chatgpt_importer.py +0 -0
  123. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/importers/claude_conversations_importer.py +0 -0
  124. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/importers/claude_projects_importer.py +0 -0
  125. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/importers/memory_json_importer.py +0 -0
  126. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/importers/utils.py +0 -0
  127. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/markdown/__init__.py +0 -0
  128. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/markdown/entity_parser.py +0 -0
  129. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/markdown/markdown_processor.py +0 -0
  130. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/markdown/plugins.py +0 -0
  131. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/markdown/schemas.py +0 -0
  132. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/markdown/utils.py +0 -0
  133. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/__init__.py +0 -0
  134. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/async_client.py +0 -0
  135. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/auth_provider.py +0 -0
  136. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/external_auth_provider.py +0 -0
  137. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/project_session.py +0 -0
  138. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/prompts/__init__.py +0 -0
  139. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +0 -0
  140. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
  141. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
  142. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/prompts/search.py +0 -0
  143. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/prompts/sync_status.py +0 -0
  144. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/prompts/utils.py +0 -0
  145. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/resources/ai_assistant_guide.md +0 -0
  146. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/resources/project_info.py +0 -0
  147. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/server.py +0 -0
  148. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/supabase_auth_provider.py +0 -0
  149. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/__init__.py +0 -0
  150. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/build_context.py +0 -0
  151. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/canvas.py +0 -0
  152. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/delete_note.py +0 -0
  153. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/edit_note.py +0 -0
  154. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/list_directory.py +0 -0
  155. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/move_note.py +0 -0
  156. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/read_content.py +0 -0
  157. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/read_note.py +0 -0
  158. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/recent_activity.py +0 -0
  159. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/search.py +0 -0
  160. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/sync_status.py +0 -0
  161. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/utils.py +0 -0
  162. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/view_note.py +0 -0
  163. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/mcp/tools/write_note.py +0 -0
  164. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/models/__init__.py +0 -0
  165. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/models/base.py +0 -0
  166. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/models/knowledge.py +0 -0
  167. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/models/project.py +0 -0
  168. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/models/search.py +0 -0
  169. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/repository/__init__.py +0 -0
  170. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/repository/entity_repository.py +0 -0
  171. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/repository/observation_repository.py +0 -0
  172. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/repository/project_info_repository.py +0 -0
  173. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/repository/project_repository.py +0 -0
  174. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/repository/relation_repository.py +0 -0
  175. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/repository/repository.py +0 -0
  176. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/repository/search_repository.py +0 -0
  177. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/__init__.py +0 -0
  178. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/base.py +0 -0
  179. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/delete.py +0 -0
  180. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/directory.py +0 -0
  181. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/importer.py +0 -0
  182. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/memory.py +0 -0
  183. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/project_info.py +0 -0
  184. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/prompt.py +0 -0
  185. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/request.py +0 -0
  186. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/response.py +0 -0
  187. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/schemas/search.py +0 -0
  188. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/__init__.py +0 -0
  189. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/context_service.py +0 -0
  190. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/directory_service.py +0 -0
  191. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/entity_service.py +0 -0
  192. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/exceptions.py +0 -0
  193. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/file_service.py +0 -0
  194. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/initialization.py +0 -0
  195. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/link_resolver.py +0 -0
  196. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/migration_service.py +0 -0
  197. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/project_service.py +0 -0
  198. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/search_service.py +0 -0
  199. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/service.py +0 -0
  200. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/services/sync_status_service.py +0 -0
  201. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/sync/__init__.py +0 -0
  202. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/sync/background_sync.py +0 -0
  203. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/sync/sync_service.py +0 -0
  204. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/sync/watch_service.py +0 -0
  205. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/templates/prompts/continue_conversation.hbs +0 -0
  206. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/templates/prompts/search.hbs +0 -0
  207. {basic_memory-0.13.3 → basic_memory-0.13.5}/src/basic_memory/utils.py +0 -0
  208. {basic_memory-0.13.3 → basic_memory-0.13.5}/static/ai_assistant_guide.md +0 -0
  209. {basic_memory-0.13.3 → basic_memory-0.13.5}/static/json_canvas_spec_1_0.md +0 -0
  210. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/conftest.py +0 -0
  211. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_build_context_validation.py +0 -0
  212. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_delete_note_integration.py +0 -0
  213. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_edit_note_integration.py +0 -0
  214. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_list_directory_integration.py +0 -0
  215. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_move_note_integration.py +0 -0
  216. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_read_content_integration.py +0 -0
  217. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_read_note_integration.py +0 -0
  218. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_search_integration.py +0 -0
  219. {basic_memory-0.13.3 → basic_memory-0.13.5}/test-int/mcp/test_write_note_integration.py +0 -0
  220. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/Non-MarkdownFileSupport.pdf +0 -0
  221. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/Screenshot.png +0 -0
  222. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/__init__.py +0 -0
  223. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/conftest.py +0 -0
  224. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_continue_conversation_template.py +0 -0
  225. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_directory_router.py +0 -0
  226. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_importer_router.py +0 -0
  227. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_knowledge_router.py +0 -0
  228. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_management_router.py +0 -0
  229. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_memory_router.py +0 -0
  230. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_project_router.py +0 -0
  231. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_project_router_operations.py +0 -0
  232. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_prompt_router.py +0 -0
  233. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_resource_router.py +0 -0
  234. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_search_router.py +0 -0
  235. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_search_template.py +0 -0
  236. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_template_loader.py +0 -0
  237. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/api/test_template_loader_helpers.py +0 -0
  238. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/conftest.py +0 -0
  239. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_auth_commands.py +0 -0
  240. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_cli_tools.py +0 -0
  241. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_import_chatgpt.py +0 -0
  242. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_import_claude_conversations.py +0 -0
  243. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_import_claude_projects.py +0 -0
  244. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_import_memory_json.py +0 -0
  245. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_project_commands.py +0 -0
  246. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_project_info.py +0 -0
  247. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_status.py +0 -0
  248. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_sync.py +0 -0
  249. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/cli/test_version.py +0 -0
  250. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/conftest.py +0 -0
  251. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/importers/test_importer_base.py +0 -0
  252. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/importers/test_importer_utils.py +0 -0
  253. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/markdown/__init__.py +0 -0
  254. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/markdown/test_entity_parser.py +0 -0
  255. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/markdown/test_markdown_plugins.py +0 -0
  256. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/markdown/test_markdown_processor.py +0 -0
  257. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/markdown/test_observation_edge_cases.py +0 -0
  258. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/markdown/test_parser_edge_cases.py +0 -0
  259. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/markdown/test_relation_edge_cases.py +0 -0
  260. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/markdown/test_task_detection.py +0 -0
  261. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/conftest.py +0 -0
  262. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_auth_provider.py +0 -0
  263. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_prompts.py +0 -0
  264. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_resource_project_info.py +0 -0
  265. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_resources.py +0 -0
  266. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_server.py +0 -0
  267. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_build_context.py +0 -0
  268. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_canvas.py +0 -0
  269. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_delete_note.py +0 -0
  270. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_edit_note.py +0 -0
  271. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_list_directory.py +0 -0
  272. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_move_note.py +0 -0
  273. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_read_note.py +0 -0
  274. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_recent_activity.py +0 -0
  275. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_resource.py +0 -0
  276. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_search.py +0 -0
  277. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_sync_status.py +0 -0
  278. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_utils.py +0 -0
  279. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_view_note.py +0 -0
  280. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/mcp/test_tool_write_note.py +0 -0
  281. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/repository/test_entity_repository.py +0 -0
  282. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/repository/test_observation_repository.py +0 -0
  283. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/repository/test_project_info_repository.py +0 -0
  284. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/repository/test_project_repository.py +0 -0
  285. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/repository/test_relation_repository.py +0 -0
  286. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/repository/test_repository.py +0 -0
  287. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/repository/test_search_repository.py +0 -0
  288. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/schemas/test_memory_url.py +0 -0
  289. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/schemas/test_memory_url_validation.py +0 -0
  290. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/schemas/test_schemas.py +0 -0
  291. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/schemas/test_search.py +0 -0
  292. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_context_service.py +0 -0
  293. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_directory_service.py +0 -0
  294. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_entity_service.py +0 -0
  295. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_file_service.py +0 -0
  296. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_initialization.py +0 -0
  297. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_link_resolver.py +0 -0
  298. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_project_service.py +0 -0
  299. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_project_service_operations.py +0 -0
  300. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_search_service.py +0 -0
  301. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/services/test_sync_status_service.py +0 -0
  302. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/sync/test_sync_service.py +0 -0
  303. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/sync/test_sync_wikilink_issue.py +0 -0
  304. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/sync/test_tmp_files.py +0 -0
  305. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/sync/test_watch_service.py +0 -0
  306. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/sync/test_watch_service_edge_cases.py +0 -0
  307. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/utils/test_file_utils.py +0 -0
  308. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/utils/test_parse_tags.py +0 -0
  309. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/utils/test_permalink_formatting.py +0 -0
  310. {basic_memory-0.13.3 → basic_memory-0.13.5}/tests/utils/test_utf8_handling.py +0 -0
  311. {basic_memory-0.13.3 → basic_memory-0.13.5}/uv.lock +0 -0
@@ -20,6 +20,12 @@ You are an expert release manager for the Basic Memory project. When the user ru
20
20
  3. Verify we're on the `main` branch
21
21
  4. Confirm no existing tag with this version
22
22
 
23
+ #### Documentation Validation
24
+ 1. **Changelog Check**
25
+ - CHANGELOG.md contains entry for target version
26
+ - Entry includes all major features and fixes
27
+ - Breaking changes are documented
28
+
23
29
  ### Step 2: Use Justfile Automation
24
30
  Execute the automated release process:
25
31
  ```bash
@@ -1,5 +1,73 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## v0.13.5 (2025-06-11)
4
+
5
+ ### Bug Fixes
6
+
7
+ - **MCP Tools**: Renamed `create_project` tool to `create_memory_project` for namespace isolation
8
+ - **Namespace**: Continued namespace isolation effort to prevent conflicts with other MCP servers
9
+
10
+ ### Changes
11
+
12
+ - Tool functionality remains identical - only the name changed from `create_project` to `create_memory_project`
13
+ - All integration tests updated to use the new tool name
14
+ - Completes namespace isolation for project management tools alongside `list_memory_projects`
15
+
16
+ ## v0.13.4 (2025-06-11)
17
+
18
+ ### Bug Fixes
19
+
20
+ - **MCP Tools**: Renamed `list_projects` tool to `list_memory_projects` to avoid naming conflicts with other MCP servers
21
+ - **Namespace**: Improved tool naming specificity for better MCP server integration and isolation
22
+
23
+ ### Changes
24
+
25
+ - Tool functionality remains identical - only the name changed from `list_projects` to `list_memory_projects`
26
+ - All integration tests updated to use the new tool name
27
+ - Better namespace isolation for Basic Memory MCP tools
28
+
29
+ ## v0.13.3 (2025-06-11)
30
+
31
+ ### Bug Fixes
32
+
33
+ - **Projects**: Fixed case-insensitive project switching where switching succeeded but subsequent operations failed due to session state inconsistency
34
+ - **Config**: Enhanced config manager with case-insensitive project lookup using permalink-based matching
35
+ - **MCP Tools**: Updated project management tools to store canonical project names from database instead of user input
36
+ - **API**: Improved project service to handle both name and permalink lookups consistently
37
+
38
+ ### Technical Improvements
39
+
40
+ - Added comprehensive case-insensitive project switching test coverage with 5 new integration test scenarios
41
+ - Fixed permalink generation inconsistencies where different case inputs could generate different permalinks
42
+ - Enhanced project URL construction to use permalinks consistently across all API calls
43
+ - Improved error handling and session state management for project operations
44
+
45
+ ### Changes
46
+
47
+ - Project switching now preserves canonical project names from database in session state
48
+ - All project operations use permalink-based lookups for case-insensitive matching
49
+ - Enhanced test coverage ensures reliable case-insensitive project operations
50
+
51
+ ## v0.13.2 (2025-06-11)
52
+
53
+ ### Features
54
+
55
+ - **Release Management**: Added automated release management system with version control in `__init__.py`
56
+ - **Automation**: Implemented justfile targets for `release` and `beta` commands with comprehensive quality gates
57
+ - **CI/CD**: Enhanced release process with automatic version updates, git tagging, and GitHub release creation
58
+
59
+ ### Development Experience
60
+
61
+ - Added `.claude/commands/release/` directory with automation documentation
62
+ - Implemented release validation including lint, type-check, and test execution
63
+ - Streamlined release workflow from manual process to single-command automation
64
+
65
+ ### Technical Improvements
66
+
67
+ - Updated package version management to use actual version numbers instead of dynamic versioning
68
+ - Added release process documentation and command references
69
+ - Enhanced justfile with comprehensive release automation targets
70
+
3
71
  ## v0.13.1 (2025-06-11)
4
72
 
5
73
  ### Bug Fixes
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: basic-memory
3
- Version: 0.13.3
3
+ Version: 0.13.5
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
@@ -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.13.3"
4
+ __version__ = "0.13.5"
5
5
 
6
6
  # API version for FastAPI - independent of package version
7
7
  __api_version__ = "v0"
@@ -275,7 +275,7 @@ def get_project_config(project_name: Optional[str] = None) -> ProjectConfig:
275
275
  return ProjectConfig(name=name, home=Path(path))
276
276
 
277
277
  # otherwise raise error
278
- raise ValueError(f"Project '{actual_project_name}' not found")
278
+ raise ValueError(f"Project '{actual_project_name}' not found") # pragma: no cover
279
279
 
280
280
 
281
281
  # Create config manager
@@ -18,7 +18,7 @@ from basic_memory.schemas.project_info import ProjectList, ProjectStatusResponse
18
18
  from basic_memory.utils import generate_permalink
19
19
 
20
20
 
21
- @mcp.tool()
21
+ @mcp.tool("list_memory_projects")
22
22
  async def list_projects(ctx: Context | None = None) -> str:
23
23
  """List all available projects with their status.
24
24
 
@@ -230,7 +230,7 @@ async def set_default_project(project_name: str, ctx: Context | None = None) ->
230
230
  return add_project_metadata(result, session.get_current_project())
231
231
 
232
232
 
233
- @mcp.tool()
233
+ @mcp.tool("create_memory_project")
234
234
  async def create_project(
235
235
  project_name: str, project_path: str, set_default: bool = False, ctx: Context | None = None
236
236
  ) -> str:
@@ -15,7 +15,7 @@ async def test_list_projects_basic_operation(mcp_server, app):
15
15
  async with Client(mcp_server) as client:
16
16
  # List all available projects
17
17
  list_result = await client.call_tool(
18
- "list_projects",
18
+ "list_memory_projects",
19
19
  {},
20
20
  )
21
21
 
@@ -248,7 +248,7 @@ async def test_project_management_workflow(mcp_server, app):
248
248
  assert "test-project" in current_result[0].text
249
249
 
250
250
  # 2. List all projects
251
- list_result = await client.call_tool("list_projects", {})
251
+ list_result = await client.call_tool("list_memory_projects", {})
252
252
  assert "Available projects:" in list_result[0].text
253
253
  assert "test-project" in list_result[0].text
254
254
 
@@ -269,7 +269,7 @@ async def test_project_metadata_consistency(mcp_server, app):
269
269
  # Test all project management tools and verify they include project metadata
270
270
 
271
271
  # list_projects
272
- list_result = await client.call_tool("list_projects", {})
272
+ list_result = await client.call_tool("list_memory_projects", {})
273
273
  assert "Project: test-project" in list_result[0].text
274
274
 
275
275
  # get_current_project
@@ -350,7 +350,7 @@ async def test_create_project_basic_operation(mcp_server, app):
350
350
  async with Client(mcp_server) as client:
351
351
  # Create a new project
352
352
  create_result = await client.call_tool(
353
- "create_project",
353
+ "create_memory_project",
354
354
  {
355
355
  "project_name": "test-new-project",
356
356
  "project_path": "/tmp/test-new-project",
@@ -370,7 +370,7 @@ async def test_create_project_basic_operation(mcp_server, app):
370
370
  assert "Project: test-project" in create_text # Should still show current project
371
371
 
372
372
  # Verify project appears in project list
373
- list_result = await client.call_tool("list_projects", {})
373
+ list_result = await client.call_tool("list_memory_projects", {})
374
374
  list_text = list_result[0].text
375
375
  assert "test-new-project" in list_text
376
376
 
@@ -382,7 +382,7 @@ async def test_create_project_with_default_flag(mcp_server, app):
382
382
  async with Client(mcp_server) as client:
383
383
  # Create a new project and set as default
384
384
  create_result = await client.call_tool(
385
- "create_project",
385
+ "create_memory_project",
386
386
  {
387
387
  "project_name": "test-default-project",
388
388
  "project_path": "/tmp/test-default-project",
@@ -412,7 +412,7 @@ async def test_create_project_duplicate_name(mcp_server, app):
412
412
  async with Client(mcp_server) as client:
413
413
  # First create a project
414
414
  await client.call_tool(
415
- "create_project",
415
+ "create_memory_project",
416
416
  {
417
417
  "project_name": "duplicate-test",
418
418
  "project_path": "/tmp/duplicate-test-1",
@@ -422,7 +422,7 @@ async def test_create_project_duplicate_name(mcp_server, app):
422
422
  # Try to create another project with same name
423
423
  with pytest.raises(Exception) as exc_info:
424
424
  await client.call_tool(
425
- "create_project",
425
+ "create_memory_project",
426
426
  {
427
427
  "project_name": "duplicate-test",
428
428
  "project_path": "/tmp/duplicate-test-2",
@@ -431,7 +431,7 @@ async def test_create_project_duplicate_name(mcp_server, app):
431
431
 
432
432
  # Should show error about duplicate name
433
433
  error_message = str(exc_info.value)
434
- assert "create_project" in error_message
434
+ assert "create_memory_project" in error_message
435
435
  assert (
436
436
  "duplicate-test" in error_message
437
437
  or "already exists" in error_message
@@ -446,7 +446,7 @@ async def test_delete_project_basic_operation(mcp_server, app):
446
446
  async with Client(mcp_server) as client:
447
447
  # First create a project to delete
448
448
  await client.call_tool(
449
- "create_project",
449
+ "create_memory_project",
450
450
  {
451
451
  "project_name": "to-be-deleted",
452
452
  "project_path": "/tmp/to-be-deleted",
@@ -454,7 +454,7 @@ async def test_delete_project_basic_operation(mcp_server, app):
454
454
  )
455
455
 
456
456
  # Verify it exists
457
- list_result = await client.call_tool("list_projects", {})
457
+ list_result = await client.call_tool("list_memory_projects", {})
458
458
  assert "to-be-deleted" in list_result[0].text
459
459
 
460
460
  # Delete the project
@@ -478,7 +478,7 @@ async def test_delete_project_basic_operation(mcp_server, app):
478
478
  assert "Project: test-project" in delete_text # Should show current project
479
479
 
480
480
  # Verify project no longer appears in list
481
- list_result_after = await client.call_tool("list_projects", {})
481
+ list_result_after = await client.call_tool("list_memory_projects", {})
482
482
  assert "to-be-deleted" not in list_result_after[0].text
483
483
 
484
484
 
@@ -540,7 +540,7 @@ async def test_project_lifecycle_workflow(mcp_server, app):
540
540
 
541
541
  # 1. Create new project
542
542
  create_result = await client.call_tool(
543
- "create_project",
543
+ "create_memory_project",
544
544
  {
545
545
  "project_name": project_name,
546
546
  "project_path": project_path,
@@ -595,7 +595,7 @@ async def test_project_lifecycle_workflow(mcp_server, app):
595
595
  assert "removed successfully" in delete_result[0].text
596
596
 
597
597
  # 7. Verify project is gone from list
598
- list_result = await client.call_tool("list_projects", {})
598
+ list_result = await client.call_tool("list_memory_projects", {})
599
599
  assert project_name not in list_result[0].text
600
600
 
601
601
 
@@ -609,7 +609,7 @@ async def test_create_delete_project_edge_cases(mcp_server, app):
609
609
 
610
610
  # Create project with special characters
611
611
  create_result = await client.call_tool(
612
- "create_project",
612
+ "create_memory_project",
613
613
  {
614
614
  "project_name": special_name,
615
615
  "project_path": f"/tmp/{special_name}",
@@ -619,7 +619,7 @@ async def test_create_delete_project_edge_cases(mcp_server, app):
619
619
  assert special_name in create_result[0].text
620
620
 
621
621
  # Verify it appears in list
622
- list_result = await client.call_tool("list_projects", {})
622
+ list_result = await client.call_tool("list_memory_projects", {})
623
623
  assert special_name in list_result[0].text
624
624
 
625
625
  # Delete it
@@ -633,7 +633,7 @@ async def test_create_delete_project_edge_cases(mcp_server, app):
633
633
  assert special_name in delete_result[0].text
634
634
 
635
635
  # Verify it's gone
636
- list_result_after = await client.call_tool("list_projects", {})
636
+ list_result_after = await client.call_tool("list_memory_projects", {})
637
637
  assert special_name not in list_result_after[0].text
638
638
 
639
639
 
@@ -645,7 +645,7 @@ async def test_case_insensitive_project_switching(mcp_server, app):
645
645
  # Create a project with mixed case name
646
646
  project_name = "Personal-Project"
647
647
  create_result = await client.call_tool(
648
- "create_project",
648
+ "create_memory_project",
649
649
  {
650
650
  "project_name": project_name,
651
651
  "project_path": f"/tmp/{project_name}",
@@ -655,7 +655,7 @@ async def test_case_insensitive_project_switching(mcp_server, app):
655
655
  assert project_name in create_result[0].text
656
656
 
657
657
  # Verify project was created with canonical name
658
- list_result = await client.call_tool("list_projects", {})
658
+ list_result = await client.call_tool("list_memory_projects", {})
659
659
  assert project_name in list_result[0].text
660
660
 
661
661
  # Test switching with different case variations
@@ -709,7 +709,7 @@ async def test_case_insensitive_project_operations(mcp_server, app):
709
709
  # Create a project with capital letters
710
710
  project_name = "CamelCase-Project"
711
711
  create_result = await client.call_tool(
712
- "create_project",
712
+ "create_memory_project",
713
713
  {
714
714
  "project_name": project_name,
715
715
  "project_path": f"/tmp/{project_name}",
@@ -809,7 +809,7 @@ async def test_case_preservation_in_project_list(mcp_server, app):
809
809
  # Create all test projects
810
810
  for project_name in test_projects:
811
811
  await client.call_tool(
812
- "create_project",
812
+ "create_memory_project",
813
813
  {
814
814
  "project_name": project_name,
815
815
  "project_path": f"/tmp/{project_name}",
@@ -817,7 +817,7 @@ async def test_case_preservation_in_project_list(mcp_server, app):
817
817
  )
818
818
 
819
819
  # List projects and verify each appears with its original case
820
- list_result = await client.call_tool("list_projects", {})
820
+ list_result = await client.call_tool("list_memory_projects", {})
821
821
  list_text = list_result[0].text
822
822
 
823
823
  for project_name in test_projects:
@@ -854,7 +854,7 @@ async def test_session_state_consistency_after_case_switch(mcp_server, app):
854
854
  # Create a project with specific case
855
855
  project_name = "Session-Test-Project"
856
856
  await client.call_tool(
857
- "create_project",
857
+ "create_memory_project",
858
858
  {
859
859
  "project_name": project_name,
860
860
  "project_path": f"/tmp/{project_name}",
@@ -880,7 +880,7 @@ async def test_session_state_consistency_after_case_switch(mcp_server, app):
880
880
  ),
881
881
  ("get_current_project", {}),
882
882
  ("search_notes", {"query": "session"}),
883
- ("list_projects", {}),
883
+ ("list_memory_projects", {}),
884
884
  ]
885
885
 
886
886
  for op_name, op_params in operations:
@@ -889,7 +889,7 @@ async def test_session_state_consistency_after_case_switch(mcp_server, app):
889
889
  # All operations should work and reference the canonical project name
890
890
  if op_name == "get_current_project":
891
891
  assert f"Current project: {project_name}" in result[0].text
892
- elif op_name == "list_projects":
892
+ elif op_name == "list_memory_projects":
893
893
  assert project_name in result[0].text
894
894
  assert "(current)" in result[0].text or "current" in result[0].text.lower()
895
895
 
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
File without changes
File without changes