basic-memory 0.21.5__tar.gz → 0.22.0__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 (1063) hide show
  1. basic_memory-0.22.0/.agents/plugins/marketplace.json +20 -0
  2. basic_memory-0.22.0/.agents/skills/adversarial-review/SKILL.md +159 -0
  3. basic_memory-0.22.0/.agents/skills/adversarial-review/prompts/refute.md +22 -0
  4. basic_memory-0.22.0/.agents/skills/adversarial-review/prompts/review.md +39 -0
  5. basic_memory-0.22.0/.agents/skills/adversarial-review/schemas/findings.schema.json +52 -0
  6. basic_memory-0.22.0/.agents/skills/adversarial-review/schemas/verdicts.schema.json +38 -0
  7. basic_memory-0.22.0/.agents/skills/code-review/SKILL.md +68 -0
  8. basic_memory-0.22.0/.agents/skills/fix-pr-issues/SKILL.md +48 -0
  9. basic_memory-0.22.0/.agents/skills/fix-pr-issues/agents/openai.yaml +7 -0
  10. basic_memory-0.22.0/.agents/skills/fix-pr-issues/assets/icon.svg +5 -0
  11. basic_memory-0.22.0/.agents/skills/infographics/SKILL.md +247 -0
  12. basic_memory-0.22.0/.agents/skills/infographics/agents/openai.yaml +7 -0
  13. basic_memory-0.22.0/.agents/skills/infographics/assets/icon.svg +5 -0
  14. basic_memory-0.22.0/.agents/skills/infographics/references/prompt-blueprint.md +72 -0
  15. basic_memory-0.22.0/.agents/skills/infographics/references/style-balance.md +42 -0
  16. basic_memory-0.22.0/.agents/skills/pr-create/SKILL.md +114 -0
  17. basic_memory-0.22.0/.agents/skills/pr-create/agents/openai.yaml +7 -0
  18. basic_memory-0.22.0/.agents/skills/pr-create/assets/icon.svg +5 -0
  19. basic_memory-0.22.0/.claude/commands/release/beta.md +96 -0
  20. basic_memory-0.22.0/.claude/commands/release/release.md +207 -0
  21. basic_memory-0.22.0/.claude/skills/basic-machines-review +1 -0
  22. basic_memory-0.22.0/.claude-plugin/marketplace.json +29 -0
  23. basic_memory-0.22.0/.github/basic-memory/SOUL.md +25 -0
  24. basic_memory-0.22.0/.github/basic-memory/config.yml +7 -0
  25. basic_memory-0.22.0/.github/basic-memory/memory-ci-capture.md +64 -0
  26. basic_memory-0.22.0/.github/workflows/basic-memory.yml +75 -0
  27. basic_memory-0.22.0/.github/workflows/claude-code-review.yml +85 -0
  28. basic_memory-0.22.0/.github/workflows/consolidated-packages.yml +110 -0
  29. basic_memory-0.22.0/.github/workflows/docker.yml +59 -0
  30. basic_memory-0.22.0/.github/workflows/pr-title.yml +48 -0
  31. basic_memory-0.22.0/.github/workflows/release.yml +165 -0
  32. basic_memory-0.22.0/.github/workflows/test.yml +407 -0
  33. basic_memory-0.22.0/.gitignore +67 -0
  34. basic_memory-0.22.0/AGENTS.md +540 -0
  35. basic_memory-0.22.0/CHANGELOG.md +2960 -0
  36. basic_memory-0.22.0/PKG-INFO +692 -0
  37. basic_memory-0.22.0/README.md +637 -0
  38. basic_memory-0.22.0/docs/ENGINEERING_STYLE.md +64 -0
  39. basic_memory-0.22.0/docs/cloud-cli.md +1046 -0
  40. basic_memory-0.22.0/docs/litellm-provider.md +300 -0
  41. basic_memory-0.22.0/docs/semantic-search.md +382 -0
  42. basic_memory-0.22.0/glama.json +7 -0
  43. basic_memory-0.22.0/integrations/hermes/.coveragerc +9 -0
  44. basic_memory-0.22.0/integrations/hermes/.github/workflows/integration.yml +48 -0
  45. basic_memory-0.22.0/integrations/hermes/.github/workflows/pr-title.yml +36 -0
  46. basic_memory-0.22.0/integrations/hermes/.github/workflows/release.yml +194 -0
  47. basic_memory-0.22.0/integrations/hermes/.github/workflows/test.yml +39 -0
  48. basic_memory-0.22.0/integrations/hermes/.gitignore +6 -0
  49. basic_memory-0.22.0/integrations/hermes/CHANGELOG.md +133 -0
  50. basic_memory-0.22.0/integrations/hermes/LICENSE +661 -0
  51. basic_memory-0.22.0/integrations/hermes/MONKEYPATCH.md +269 -0
  52. basic_memory-0.22.0/integrations/hermes/README.md +235 -0
  53. basic_memory-0.22.0/integrations/hermes/__init__.py +1874 -0
  54. basic_memory-0.22.0/integrations/hermes/justfile +22 -0
  55. basic_memory-0.22.0/integrations/hermes/plugin.yaml +11 -0
  56. basic_memory-0.22.0/integrations/hermes/pytest.ini +8 -0
  57. basic_memory-0.22.0/integrations/hermes/requirements-dev.txt +1 -0
  58. basic_memory-0.22.0/integrations/hermes/skill/SKILL.md +242 -0
  59. basic_memory-0.22.0/integrations/hermes/tests/conftest.py +167 -0
  60. basic_memory-0.22.0/integrations/hermes/tests/stubs/agent/__init__.py +1 -0
  61. basic_memory-0.22.0/integrations/hermes/tests/stubs/agent/memory_provider.py +5 -0
  62. basic_memory-0.22.0/integrations/hermes/tests/stubs/tools/__init__.py +1 -0
  63. basic_memory-0.22.0/integrations/hermes/tests/stubs/tools/registry.py +9 -0
  64. basic_memory-0.22.0/integrations/hermes/tests/test_actor.py +183 -0
  65. basic_memory-0.22.0/integrations/hermes/tests/test_capture.py +337 -0
  66. basic_memory-0.22.0/integrations/hermes/tests/test_commands.py +725 -0
  67. basic_memory-0.22.0/integrations/hermes/tests/test_helpers.py +531 -0
  68. basic_memory-0.22.0/integrations/hermes/tests/test_integration.py +423 -0
  69. basic_memory-0.22.0/integrations/hermes/tests/test_prefetch.py +296 -0
  70. basic_memory-0.22.0/integrations/hermes/tests/test_provider.py +637 -0
  71. basic_memory-0.22.0/integrations/openclaw/.githooks/pre-commit +11 -0
  72. basic_memory-0.22.0/integrations/openclaw/.github/workflows/ci.yml +37 -0
  73. basic_memory-0.22.0/integrations/openclaw/.github/workflows/release.yml +99 -0
  74. basic_memory-0.22.0/integrations/openclaw/.gitignore +146 -0
  75. basic_memory-0.22.0/integrations/openclaw/AGENTS.md +1 -0
  76. basic_memory-0.22.0/integrations/openclaw/BASIC_MEMORY.md +208 -0
  77. basic_memory-0.22.0/integrations/openclaw/CLAUDE.md +632 -0
  78. basic_memory-0.22.0/integrations/openclaw/CONTEXT_ENGINE_PLAN.md +275 -0
  79. basic_memory-0.22.0/integrations/openclaw/DEVELOPMENT.md +130 -0
  80. basic_memory-0.22.0/integrations/openclaw/LICENSE +21 -0
  81. basic_memory-0.22.0/integrations/openclaw/MEMORY_TASK_FLOW.md +156 -0
  82. basic_memory-0.22.0/integrations/openclaw/README.md +279 -0
  83. basic_memory-0.22.0/integrations/openclaw/SECURITY.md +61 -0
  84. basic_memory-0.22.0/integrations/openclaw/biome.json +97 -0
  85. basic_memory-0.22.0/integrations/openclaw/bm-client.test.ts +696 -0
  86. basic_memory-0.22.0/integrations/openclaw/bm-client.ts +915 -0
  87. basic_memory-0.22.0/integrations/openclaw/bun.lock +807 -0
  88. basic_memory-0.22.0/integrations/openclaw/commands/cli.ts +175 -0
  89. basic_memory-0.22.0/integrations/openclaw/commands/skills.test.ts +125 -0
  90. basic_memory-0.22.0/integrations/openclaw/commands/skills.ts +64 -0
  91. basic_memory-0.22.0/integrations/openclaw/commands/slash.ts +107 -0
  92. basic_memory-0.22.0/integrations/openclaw/config.test.ts +187 -0
  93. basic_memory-0.22.0/integrations/openclaw/config.ts +136 -0
  94. basic_memory-0.22.0/integrations/openclaw/context-engine/basic-memory-context-engine.test.ts +400 -0
  95. basic_memory-0.22.0/integrations/openclaw/context-engine/basic-memory-context-engine.ts +262 -0
  96. basic_memory-0.22.0/integrations/openclaw/hooks/capture.test.ts +244 -0
  97. basic_memory-0.22.0/integrations/openclaw/hooks/capture.ts +107 -0
  98. basic_memory-0.22.0/integrations/openclaw/hooks/recall.test.ts +215 -0
  99. basic_memory-0.22.0/integrations/openclaw/hooks/recall.ts +81 -0
  100. basic_memory-0.22.0/integrations/openclaw/index.test.ts +90 -0
  101. basic_memory-0.22.0/integrations/openclaw/index.ts +172 -0
  102. basic_memory-0.22.0/integrations/openclaw/integration/bm-client.integration.test.ts +225 -0
  103. basic_memory-0.22.0/integrations/openclaw/justfile +68 -0
  104. basic_memory-0.22.0/integrations/openclaw/logger.test.ts +243 -0
  105. basic_memory-0.22.0/integrations/openclaw/logger.ts +47 -0
  106. basic_memory-0.22.0/integrations/openclaw/openclaw.plugin.json +110 -0
  107. basic_memory-0.22.0/integrations/openclaw/package.json +96 -0
  108. basic_memory-0.22.0/integrations/openclaw/schema/conversation-schema.ts +33 -0
  109. basic_memory-0.22.0/integrations/openclaw/schema/task-schema.ts +34 -0
  110. basic_memory-0.22.0/integrations/openclaw/scripts/bm-local.sh +17 -0
  111. basic_memory-0.22.0/integrations/openclaw/scripts/fetch-skills.ts +108 -0
  112. basic_memory-0.22.0/integrations/openclaw/scripts/setup-bm.sh +48 -0
  113. basic_memory-0.22.0/integrations/openclaw/tools/build-context.test.ts +556 -0
  114. basic_memory-0.22.0/integrations/openclaw/tools/build-context.ts +128 -0
  115. basic_memory-0.22.0/integrations/openclaw/tools/delete-note.test.ts +72 -0
  116. basic_memory-0.22.0/integrations/openclaw/tools/delete-note.ts +71 -0
  117. basic_memory-0.22.0/integrations/openclaw/tools/edit-note.test.ts +205 -0
  118. basic_memory-0.22.0/integrations/openclaw/tools/edit-note.ts +123 -0
  119. basic_memory-0.22.0/integrations/openclaw/tools/list-memory-projects.test.ts +161 -0
  120. basic_memory-0.22.0/integrations/openclaw/tools/list-memory-projects.ts +101 -0
  121. basic_memory-0.22.0/integrations/openclaw/tools/list-workspaces.test.ts +146 -0
  122. basic_memory-0.22.0/integrations/openclaw/tools/list-workspaces.ts +80 -0
  123. basic_memory-0.22.0/integrations/openclaw/tools/memory-provider.test.ts +149 -0
  124. basic_memory-0.22.0/integrations/openclaw/tools/memory-provider.ts +335 -0
  125. basic_memory-0.22.0/integrations/openclaw/tools/move-note.test.ts +78 -0
  126. basic_memory-0.22.0/integrations/openclaw/tools/move-note.ts +79 -0
  127. basic_memory-0.22.0/integrations/openclaw/tools/read-note.test.ts +181 -0
  128. basic_memory-0.22.0/integrations/openclaw/tools/read-note.ts +84 -0
  129. basic_memory-0.22.0/integrations/openclaw/tools/schema-diff.test.ts +126 -0
  130. basic_memory-0.22.0/integrations/openclaw/tools/schema-diff.ts +109 -0
  131. basic_memory-0.22.0/integrations/openclaw/tools/schema-infer.test.ts +132 -0
  132. basic_memory-0.22.0/integrations/openclaw/tools/schema-infer.ts +108 -0
  133. basic_memory-0.22.0/integrations/openclaw/tools/schema-validate.test.ts +142 -0
  134. basic_memory-0.22.0/integrations/openclaw/tools/schema-validate.ts +106 -0
  135. basic_memory-0.22.0/integrations/openclaw/tools/search-notes.test.ts +455 -0
  136. basic_memory-0.22.0/integrations/openclaw/tools/search-notes.ts +144 -0
  137. basic_memory-0.22.0/integrations/openclaw/tools/write-note.test.ts +567 -0
  138. basic_memory-0.22.0/integrations/openclaw/tools/write-note.ts +113 -0
  139. basic_memory-0.22.0/integrations/openclaw/tsconfig.build.json +12 -0
  140. basic_memory-0.22.0/integrations/openclaw/tsconfig.json +24 -0
  141. basic_memory-0.22.0/justfile +503 -0
  142. basic_memory-0.22.0/plugins/claude-code/.claude-plugin/marketplace.json +29 -0
  143. basic_memory-0.22.0/plugins/claude-code/.claude-plugin/plugin.json +9 -0
  144. basic_memory-0.22.0/plugins/claude-code/CHANGELOG.md +273 -0
  145. basic_memory-0.22.0/plugins/claude-code/DESIGN.md +625 -0
  146. basic_memory-0.22.0/plugins/claude-code/README.md +142 -0
  147. basic_memory-0.22.0/plugins/claude-code/docs/architecture.md +166 -0
  148. basic_memory-0.22.0/plugins/claude-code/docs/getting-started.md +138 -0
  149. basic_memory-0.22.0/plugins/claude-code/docs/why-combine-memory.md +102 -0
  150. basic_memory-0.22.0/plugins/claude-code/hooks/hooks.json +29 -0
  151. basic_memory-0.22.0/plugins/claude-code/hooks/pre-compact.sh +232 -0
  152. basic_memory-0.22.0/plugins/claude-code/hooks/session-start.sh +293 -0
  153. basic_memory-0.22.0/plugins/claude-code/justfile +21 -0
  154. basic_memory-0.22.0/plugins/claude-code/output-styles/basic-memory.md +55 -0
  155. basic_memory-0.22.0/plugins/claude-code/schemas/decision.md +44 -0
  156. basic_memory-0.22.0/plugins/claude-code/schemas/session.md +48 -0
  157. basic_memory-0.22.0/plugins/claude-code/schemas/task.md +39 -0
  158. basic_memory-0.22.0/plugins/claude-code/settings.example.json +17 -0
  159. basic_memory-0.22.0/plugins/claude-code/skills/bm-remember/SKILL.md +51 -0
  160. basic_memory-0.22.0/plugins/claude-code/skills/bm-setup/SKILL.md +226 -0
  161. basic_memory-0.22.0/plugins/claude-code/skills/bm-share/SKILL.md +61 -0
  162. basic_memory-0.22.0/plugins/claude-code/skills/bm-status/SKILL.md +62 -0
  163. basic_memory-0.22.0/plugins/codex/.codex-plugin/plugin.json +46 -0
  164. basic_memory-0.22.0/plugins/codex/.mcp.json +11 -0
  165. basic_memory-0.22.0/plugins/codex/DEVELOPMENT.md +80 -0
  166. basic_memory-0.22.0/plugins/codex/README.md +93 -0
  167. basic_memory-0.22.0/plugins/codex/assets/app-icon.png +0 -0
  168. basic_memory-0.22.0/plugins/codex/assets/logo.png +0 -0
  169. basic_memory-0.22.0/plugins/codex/hooks/hooks.json +31 -0
  170. basic_memory-0.22.0/plugins/codex/hooks/pre-compact.py +232 -0
  171. basic_memory-0.22.0/plugins/codex/hooks/pre-compact.sh +15 -0
  172. basic_memory-0.22.0/plugins/codex/hooks/session-start.py +237 -0
  173. basic_memory-0.22.0/plugins/codex/hooks/session-start.sh +15 -0
  174. basic_memory-0.22.0/plugins/codex/justfile +19 -0
  175. basic_memory-0.22.0/plugins/codex/schemas/codex-session.md +47 -0
  176. basic_memory-0.22.0/plugins/codex/schemas/decision.md +30 -0
  177. basic_memory-0.22.0/plugins/codex/schemas/task.md +30 -0
  178. basic_memory-0.22.0/plugins/codex/skills/bm-checkpoint/SKILL.md +62 -0
  179. basic_memory-0.22.0/plugins/codex/skills/bm-checkpoint/agents/openai.yaml +7 -0
  180. basic_memory-0.22.0/plugins/codex/skills/bm-checkpoint/assets/icon.svg +6 -0
  181. basic_memory-0.22.0/plugins/codex/skills/bm-decide/SKILL.md +35 -0
  182. basic_memory-0.22.0/plugins/codex/skills/bm-decide/agents/openai.yaml +7 -0
  183. basic_memory-0.22.0/plugins/codex/skills/bm-decide/assets/icon.svg +4 -0
  184. basic_memory-0.22.0/plugins/codex/skills/bm-orient/SKILL.md +36 -0
  185. basic_memory-0.22.0/plugins/codex/skills/bm-orient/agents/openai.yaml +7 -0
  186. basic_memory-0.22.0/plugins/codex/skills/bm-orient/assets/icon.svg +5 -0
  187. basic_memory-0.22.0/plugins/codex/skills/bm-remember/SKILL.md +31 -0
  188. basic_memory-0.22.0/plugins/codex/skills/bm-remember/agents/openai.yaml +7 -0
  189. basic_memory-0.22.0/plugins/codex/skills/bm-remember/assets/icon.svg +5 -0
  190. basic_memory-0.22.0/plugins/codex/skills/bm-setup/SKILL.md +101 -0
  191. basic_memory-0.22.0/plugins/codex/skills/bm-setup/agents/openai.yaml +7 -0
  192. basic_memory-0.22.0/plugins/codex/skills/bm-setup/assets/icon.svg +11 -0
  193. basic_memory-0.22.0/plugins/codex/skills/bm-share/SKILL.md +38 -0
  194. basic_memory-0.22.0/plugins/codex/skills/bm-share/agents/openai.yaml +7 -0
  195. basic_memory-0.22.0/plugins/codex/skills/bm-share/assets/icon.svg +7 -0
  196. basic_memory-0.22.0/plugins/codex/skills/bm-status/SKILL.md +50 -0
  197. basic_memory-0.22.0/plugins/codex/skills/bm-status/agents/openai.yaml +7 -0
  198. basic_memory-0.22.0/plugins/codex/skills/bm-status/assets/icon.svg +4 -0
  199. basic_memory-0.22.0/pyproject.toml +177 -0
  200. basic_memory-0.22.0/scripts/testmon_cache.py +225 -0
  201. basic_memory-0.22.0/scripts/update_versions.py +190 -0
  202. basic_memory-0.22.0/scripts/validate_claude_plugin.py +135 -0
  203. basic_memory-0.22.0/scripts/validate_codex_plugin.py +144 -0
  204. basic_memory-0.22.0/scripts/validate_hermes_plugin.py +60 -0
  205. basic_memory-0.22.0/scripts/validate_skills.py +98 -0
  206. basic_memory-0.22.0/server.json +31 -0
  207. basic_memory-0.22.0/skills/AGENTS.md +1 -0
  208. basic_memory-0.22.0/skills/CLAUDE.md +64 -0
  209. basic_memory-0.22.0/skills/DEVELOPMENT.md +83 -0
  210. basic_memory-0.22.0/skills/README.md +134 -0
  211. basic_memory-0.22.0/skills/justfile +14 -0
  212. basic_memory-0.22.0/skills/memory-capture/SKILL.md +275 -0
  213. basic_memory-0.22.0/skills/memory-ci-capture/SKILL.md +56 -0
  214. basic_memory-0.22.0/skills/memory-continue/SKILL.md +148 -0
  215. basic_memory-0.22.0/skills/memory-curate/SKILL.md +243 -0
  216. basic_memory-0.22.0/skills/memory-defrag/SKILL.md +86 -0
  217. basic_memory-0.22.0/skills/memory-ingest/SKILL.md +309 -0
  218. basic_memory-0.22.0/skills/memory-lifecycle/SKILL.md +182 -0
  219. basic_memory-0.22.0/skills/memory-literary-analysis/SKILL.md +511 -0
  220. basic_memory-0.22.0/skills/memory-metadata-search/SKILL.md +184 -0
  221. basic_memory-0.22.0/skills/memory-notes/SKILL.md +342 -0
  222. basic_memory-0.22.0/skills/memory-reflect/SKILL.md +73 -0
  223. basic_memory-0.22.0/skills/memory-research/SKILL.md +235 -0
  224. basic_memory-0.22.0/skills/memory-schema/SKILL.md +237 -0
  225. basic_memory-0.22.0/skills/memory-tasks/SKILL.md +166 -0
  226. basic_memory-0.22.0/skills/skills-lock.json +50 -0
  227. basic_memory-0.22.0/src/basic_memory/__init__.py +7 -0
  228. basic_memory-0.22.0/src/basic_memory/alembic/env.py +234 -0
  229. basic_memory-0.22.0/src/basic_memory/api/v2/routers/knowledge_router.py +908 -0
  230. basic_memory-0.22.0/src/basic_memory/api/v2/routers/search_router.py +157 -0
  231. basic_memory-0.22.0/src/basic_memory/api/v2/utils.py +280 -0
  232. basic_memory-0.22.0/src/basic_memory/ci/README.md +225 -0
  233. basic_memory-0.22.0/src/basic_memory/ci/__init__.py +1 -0
  234. basic_memory-0.22.0/src/basic_memory/ci/project_updates.py +984 -0
  235. basic_memory-0.22.0/src/basic_memory/cli/app.py +121 -0
  236. basic_memory-0.22.0/src/basic_memory/cli/commands/__init__.py +32 -0
  237. basic_memory-0.22.0/src/basic_memory/cli/commands/ci.py +437 -0
  238. basic_memory-0.22.0/src/basic_memory/cli/commands/cloud/bisync_commands.py +150 -0
  239. basic_memory-0.22.0/src/basic_memory/cli/commands/cloud/core_commands.py +395 -0
  240. basic_memory-0.22.0/src/basic_memory/cli/commands/cloud/project_sync.py +740 -0
  241. basic_memory-0.22.0/src/basic_memory/cli/commands/cloud/rclone_commands.py +756 -0
  242. basic_memory-0.22.0/src/basic_memory/cli/commands/cloud/rclone_config.py +150 -0
  243. basic_memory-0.22.0/src/basic_memory/cli/commands/cloud/workspace.py +123 -0
  244. basic_memory-0.22.0/src/basic_memory/cli/commands/mcp.py +128 -0
  245. basic_memory-0.22.0/src/basic_memory/cli/commands/project.py +1518 -0
  246. basic_memory-0.22.0/src/basic_memory/cli/commands/status.py +277 -0
  247. basic_memory-0.22.0/src/basic_memory/cli/commands/tool.py +919 -0
  248. basic_memory-0.22.0/src/basic_memory/cli/commands/workspace.py +23 -0
  249. basic_memory-0.22.0/src/basic_memory/cli/main.py +41 -0
  250. basic_memory-0.22.0/src/basic_memory/config.py +1159 -0
  251. basic_memory-0.22.0/src/basic_memory/db.py +496 -0
  252. basic_memory-0.22.0/src/basic_memory/ignore_utils.py +311 -0
  253. basic_memory-0.22.0/src/basic_memory/indexing/batch_indexer.py +716 -0
  254. basic_memory-0.22.0/src/basic_memory/mcp/clients/knowledge.py +355 -0
  255. basic_memory-0.22.0/src/basic_memory/mcp/tools/build_context.py +302 -0
  256. basic_memory-0.22.0/src/basic_memory/mcp/tools/delete_note.py +480 -0
  257. basic_memory-0.22.0/src/basic_memory/mcp/tools/edit_note.py +735 -0
  258. basic_memory-0.22.0/src/basic_memory/mcp/tools/move_note.py +992 -0
  259. basic_memory-0.22.0/src/basic_memory/mcp/tools/project_management.py +727 -0
  260. basic_memory-0.22.0/src/basic_memory/mcp/tools/read_note.py +558 -0
  261. basic_memory-0.22.0/src/basic_memory/mcp/tools/recent_activity.py +614 -0
  262. basic_memory-0.22.0/src/basic_memory/mcp/tools/search.py +1139 -0
  263. basic_memory-0.22.0/src/basic_memory/mcp/tools/write_note.py +382 -0
  264. basic_memory-0.22.0/src/basic_memory/models/knowledge.py +322 -0
  265. basic_memory-0.22.0/src/basic_memory/repository/embedding_provider_factory.py +225 -0
  266. basic_memory-0.22.0/src/basic_memory/repository/entity_repository.py +586 -0
  267. basic_memory-0.22.0/src/basic_memory/repository/fastembed_provider.py +325 -0
  268. basic_memory-0.22.0/src/basic_memory/repository/litellm_provider.py +230 -0
  269. basic_memory-0.22.0/src/basic_memory/repository/postgres_search_repository.py +1086 -0
  270. basic_memory-0.22.0/src/basic_memory/repository/project_repository.py +299 -0
  271. basic_memory-0.22.0/src/basic_memory/repository/search_repository.py +163 -0
  272. basic_memory-0.22.0/src/basic_memory/repository/search_repository_base.py +2272 -0
  273. basic_memory-0.22.0/src/basic_memory/repository/sqlite_search_repository.py +1117 -0
  274. basic_memory-0.22.0/src/basic_memory/schemas/search.py +150 -0
  275. basic_memory-0.22.0/src/basic_memory/schemas/v2/__init__.py +43 -0
  276. basic_memory-0.22.0/src/basic_memory/schemas/v2/entity.py +201 -0
  277. basic_memory-0.22.0/src/basic_memory/services/context_service.py +692 -0
  278. basic_memory-0.22.0/src/basic_memory/services/project_service.py +1166 -0
  279. basic_memory-0.22.0/src/basic_memory/services/search_service.py +989 -0
  280. basic_memory-0.22.0/src/basic_memory/sync/sync_service.py +1778 -0
  281. basic_memory-0.22.0/src/basic_memory/utils.py +797 -0
  282. basic_memory-0.22.0/test-int/bughunt_fixes/test_cli_tool_read_note_security_error.py +50 -0
  283. basic_memory-0.22.0/test-int/bughunt_fixes/test_cli_tool_recent_activity_page_size.py +76 -0
  284. basic_memory-0.22.0/test-int/bughunt_fixes/test_cli_tool_search_notes_category.py +73 -0
  285. basic_memory-0.22.0/test-int/bughunt_fixes/test_cli_tool_write_note_parity.py +193 -0
  286. basic_memory-0.22.0/test-int/bughunt_fixes/test_move_note_edge_cases.py +219 -0
  287. basic_memory-0.22.0/test-int/bughunt_fixes/test_navigation_pagination_integration.py +241 -0
  288. basic_memory-0.22.0/test-int/bughunt_fixes/test_parse_tags_comma_split_integration.py +81 -0
  289. basic_memory-0.22.0/test-int/cli/test_cli_tool_delete_note_integration.py +277 -0
  290. basic_memory-0.22.0/test-int/cli/test_cli_tool_write_note_type_integration.py +94 -0
  291. basic_memory-0.22.0/test-int/cli/test_status_wait_integration.py +43 -0
  292. basic_memory-0.22.0/test-int/conftest.py +503 -0
  293. basic_memory-0.22.0/test-int/mcp/test_edit_note_integration.py +828 -0
  294. basic_memory-0.22.0/test-int/mcp/test_move_note_integration.py +994 -0
  295. basic_memory-0.22.0/test-int/mcp/test_observation_permalink_collision_integration.py +141 -0
  296. basic_memory-0.22.0/test-int/mcp/test_param_aliases_integration.py +605 -0
  297. basic_memory-0.22.0/test-int/mcp/test_search_integration.py +551 -0
  298. basic_memory-0.22.0/test-int/mcp/test_search_note_types_case_insensitive.py +98 -0
  299. basic_memory-0.22.0/test-int/mcp/test_write_note_integration.py +612 -0
  300. basic_memory-0.22.0/test-int/mcp/test_write_note_type_integration.py +154 -0
  301. basic_memory-0.22.0/test-int/semantic/litellm_live_harness.py +401 -0
  302. basic_memory-0.22.0/test-int/semantic/test_embedding_provider_reuse.py +123 -0
  303. basic_memory-0.22.0/test-int/semantic/test_litellm_live_harness.py +125 -0
  304. basic_memory-0.22.0/test-int/semantic/test_litellm_live_models.py +55 -0
  305. basic_memory-0.22.0/test-int/test_embedding_status_vec0.py +181 -0
  306. basic_memory-0.22.0/test-int/test_postgres_dispose_cycle.py +69 -0
  307. basic_memory-0.22.0/tests/api/v2/test_knowledge_router.py +1472 -0
  308. basic_memory-0.22.0/tests/api/v2/test_memory_hydration.py +285 -0
  309. basic_memory-0.22.0/tests/cli/cloud/test_project_sync_command.py +748 -0
  310. basic_memory-0.22.0/tests/cli/cloud/test_rclone_config_and_bmignore_filters.py +151 -0
  311. basic_memory-0.22.0/tests/cli/test_ci_commands.py +524 -0
  312. basic_memory-0.22.0/tests/cli/test_cli_exit.py +109 -0
  313. basic_memory-0.22.0/tests/cli/test_cli_telemetry.py +62 -0
  314. basic_memory-0.22.0/tests/cli/test_cli_tool_json_output.py +936 -0
  315. basic_memory-0.22.0/tests/cli/test_cloud_authentication.py +303 -0
  316. basic_memory-0.22.0/tests/cli/test_db_reindex.py +325 -0
  317. basic_memory-0.22.0/tests/cli/test_json_output.py +551 -0
  318. basic_memory-0.22.0/tests/cli/test_project_list_and_ls.py +1068 -0
  319. basic_memory-0.22.0/tests/cli/test_workspace_commands.py +255 -0
  320. basic_memory-0.22.0/tests/cli/test_workspace_stub.py +31 -0
  321. basic_memory-0.22.0/tests/conftest.py +792 -0
  322. basic_memory-0.22.0/tests/db/test_uvloop_policy.py +83 -0
  323. basic_memory-0.22.0/tests/indexing/test_batch_indexer.py +869 -0
  324. basic_memory-0.22.0/tests/markdown/__init__.py +0 -0
  325. basic_memory-0.22.0/tests/mcp/clients/__init__.py +0 -0
  326. basic_memory-0.22.0/tests/mcp/clients/test_clients.py +435 -0
  327. basic_memory-0.22.0/tests/mcp/test_tool_contracts.py +159 -0
  328. basic_memory-0.22.0/tests/mcp/test_tool_edit_note.py +1530 -0
  329. basic_memory-0.22.0/tests/mcp/test_tool_json_output_modes.py +419 -0
  330. basic_memory-0.22.0/tests/mcp/test_tool_move_note.py +1302 -0
  331. basic_memory-0.22.0/tests/mcp/test_tool_project_management.py +1222 -0
  332. basic_memory-0.22.0/tests/mcp/test_tool_read_note.py +1303 -0
  333. basic_memory-0.22.0/tests/mcp/test_tool_search.py +2117 -0
  334. basic_memory-0.22.0/tests/mcp/test_tool_telemetry.py +287 -0
  335. basic_memory-0.22.0/tests/mcp/test_tool_write_note.py +1386 -0
  336. basic_memory-0.22.0/tests/mcp/tools/test_search_notes_multi_project.py +366 -0
  337. basic_memory-0.22.0/tests/repository/test_entity_repository.py +1317 -0
  338. basic_memory-0.22.0/tests/repository/test_fastembed_provider.py +673 -0
  339. basic_memory-0.22.0/tests/repository/test_hybrid_fusion.py +306 -0
  340. basic_memory-0.22.0/tests/repository/test_litellm_provider.py +483 -0
  341. basic_memory-0.22.0/tests/repository/test_observation_repository.py +529 -0
  342. basic_memory-0.22.0/tests/repository/test_openai_provider.py +641 -0
  343. basic_memory-0.22.0/tests/repository/test_postgres_search_repository.py +1003 -0
  344. basic_memory-0.22.0/tests/repository/test_search_repository.py +1126 -0
  345. basic_memory-0.22.0/tests/repository/test_semantic_search_base.py +811 -0
  346. basic_memory-0.22.0/tests/repository/test_sqlite_vector_search_repository.py +587 -0
  347. basic_memory-0.22.0/tests/repository/test_vector_pagination.py +179 -0
  348. basic_memory-0.22.0/tests/repository/test_vector_threshold.py +468 -0
  349. basic_memory-0.22.0/tests/services/test_context_service.py +647 -0
  350. basic_memory-0.22.0/tests/services/test_project_service_embedding_status.py +366 -0
  351. basic_memory-0.22.0/tests/services/test_search_service.py +1523 -0
  352. basic_memory-0.22.0/tests/sync/test_sync_service.py +1894 -0
  353. basic_memory-0.22.0/tests/test_codex_plugin_package.py +130 -0
  354. basic_memory-0.22.0/tests/test_coerce.py +115 -0
  355. basic_memory-0.22.0/tests/test_config.py +1602 -0
  356. basic_memory-0.22.0/tests/test_pr_title_workflow.py +18 -0
  357. basic_memory-0.22.0/tests/test_rclone_commands.py +936 -0
  358. basic_memory-0.22.0/tests/test_update_versions.py +158 -0
  359. basic_memory-0.22.0/tests/utils/test_parse_tags.py +73 -0
  360. basic_memory-0.22.0/uv.lock +4351 -0
  361. basic_memory-0.21.5/.claude/commands/release/beta.md +0 -95
  362. basic_memory-0.21.5/.claude/commands/release/release.md +0 -199
  363. basic_memory-0.21.5/.github/workflows/claude-code-review.yml +0 -86
  364. basic_memory-0.21.5/.github/workflows/docker.yml +0 -61
  365. basic_memory-0.21.5/.github/workflows/pr-title.yml +0 -44
  366. basic_memory-0.21.5/.github/workflows/release.yml +0 -125
  367. basic_memory-0.21.5/.github/workflows/test.yml +0 -294
  368. basic_memory-0.21.5/.gitignore +0 -60
  369. basic_memory-0.21.5/AGENTS.md +0 -486
  370. basic_memory-0.21.5/CHANGELOG.md +0 -2827
  371. basic_memory-0.21.5/PKG-INFO +0 -608
  372. basic_memory-0.21.5/README.md +0 -555
  373. basic_memory-0.21.5/docs/cloud-cli.md +0 -926
  374. basic_memory-0.21.5/docs/semantic-search.md +0 -271
  375. basic_memory-0.21.5/justfile +0 -416
  376. basic_memory-0.21.5/pyproject.toml +0 -165
  377. basic_memory-0.21.5/server.json +0 -25
  378. basic_memory-0.21.5/src/basic_memory/__init__.py +0 -7
  379. basic_memory-0.21.5/src/basic_memory/alembic/env.py +0 -217
  380. basic_memory-0.21.5/src/basic_memory/api/v2/routers/knowledge_router.py +0 -705
  381. basic_memory-0.21.5/src/basic_memory/api/v2/routers/search_router.py +0 -155
  382. basic_memory-0.21.5/src/basic_memory/api/v2/utils.py +0 -278
  383. basic_memory-0.21.5/src/basic_memory/cli/app.py +0 -112
  384. basic_memory-0.21.5/src/basic_memory/cli/commands/__init__.py +0 -29
  385. basic_memory-0.21.5/src/basic_memory/cli/commands/cloud/bisync_commands.py +0 -120
  386. basic_memory-0.21.5/src/basic_memory/cli/commands/cloud/core_commands.py +0 -293
  387. basic_memory-0.21.5/src/basic_memory/cli/commands/cloud/project_sync.py +0 -343
  388. basic_memory-0.21.5/src/basic_memory/cli/commands/cloud/rclone_commands.py +0 -421
  389. basic_memory-0.21.5/src/basic_memory/cli/commands/cloud/rclone_config.py +0 -110
  390. basic_memory-0.21.5/src/basic_memory/cli/commands/cloud/workspace.py +0 -118
  391. basic_memory-0.21.5/src/basic_memory/cli/commands/mcp.py +0 -116
  392. basic_memory-0.21.5/src/basic_memory/cli/commands/project.py +0 -1506
  393. basic_memory-0.21.5/src/basic_memory/cli/commands/status.py +0 -212
  394. basic_memory-0.21.5/src/basic_memory/cli/commands/tool.py +0 -780
  395. basic_memory-0.21.5/src/basic_memory/cli/main.py +0 -39
  396. basic_memory-0.21.5/src/basic_memory/config.py +0 -1133
  397. basic_memory-0.21.5/src/basic_memory/db.py +0 -439
  398. basic_memory-0.21.5/src/basic_memory/ignore_utils.py +0 -302
  399. basic_memory-0.21.5/src/basic_memory/indexing/batch_indexer.py +0 -710
  400. basic_memory-0.21.5/src/basic_memory/mcp/clients/knowledge.py +0 -326
  401. basic_memory-0.21.5/src/basic_memory/mcp/tools/build_context.py +0 -290
  402. basic_memory-0.21.5/src/basic_memory/mcp/tools/delete_note.py +0 -472
  403. basic_memory-0.21.5/src/basic_memory/mcp/tools/edit_note.py +0 -639
  404. basic_memory-0.21.5/src/basic_memory/mcp/tools/move_note.py +0 -884
  405. basic_memory-0.21.5/src/basic_memory/mcp/tools/project_management.py +0 -711
  406. basic_memory-0.21.5/src/basic_memory/mcp/tools/read_note.py +0 -477
  407. basic_memory-0.21.5/src/basic_memory/mcp/tools/recent_activity.py +0 -608
  408. basic_memory-0.21.5/src/basic_memory/mcp/tools/search.py +0 -1021
  409. basic_memory-0.21.5/src/basic_memory/mcp/tools/write_note.py +0 -365
  410. basic_memory-0.21.5/src/basic_memory/models/knowledge.py +0 -311
  411. basic_memory-0.21.5/src/basic_memory/repository/embedding_provider_factory.py +0 -161
  412. basic_memory-0.21.5/src/basic_memory/repository/entity_repository.py +0 -576
  413. basic_memory-0.21.5/src/basic_memory/repository/fastembed_provider.py +0 -138
  414. basic_memory-0.21.5/src/basic_memory/repository/postgres_search_repository.py +0 -1057
  415. basic_memory-0.21.5/src/basic_memory/repository/project_repository.py +0 -278
  416. basic_memory-0.21.5/src/basic_memory/repository/search_repository.py +0 -142
  417. basic_memory-0.21.5/src/basic_memory/repository/search_repository_base.py +0 -2252
  418. basic_memory-0.21.5/src/basic_memory/repository/sqlite_search_repository.py +0 -1089
  419. basic_memory-0.21.5/src/basic_memory/schemas/search.py +0 -146
  420. basic_memory-0.21.5/src/basic_memory/schemas/v2/__init__.py +0 -41
  421. basic_memory-0.21.5/src/basic_memory/schemas/v2/entity.py +0 -185
  422. basic_memory-0.21.5/src/basic_memory/services/context_service.py +0 -653
  423. basic_memory-0.21.5/src/basic_memory/services/project_service.py +0 -1153
  424. basic_memory-0.21.5/src/basic_memory/services/search_service.py +0 -983
  425. basic_memory-0.21.5/src/basic_memory/sync/sync_service.py +0 -1767
  426. basic_memory-0.21.5/src/basic_memory/utils.py +0 -753
  427. basic_memory-0.21.5/test-int/conftest.py +0 -496
  428. basic_memory-0.21.5/test-int/mcp/test_edit_note_integration.py +0 -790
  429. basic_memory-0.21.5/test-int/mcp/test_move_note_integration.py +0 -771
  430. basic_memory-0.21.5/test-int/mcp/test_param_aliases_integration.py +0 -565
  431. basic_memory-0.21.5/test-int/mcp/test_search_integration.py +0 -499
  432. basic_memory-0.21.5/test-int/mcp/test_write_note_integration.py +0 -524
  433. basic_memory-0.21.5/tests/api/v2/test_knowledge_router.py +0 -909
  434. basic_memory-0.21.5/tests/api/v2/test_memory_hydration.py +0 -279
  435. basic_memory-0.21.5/tests/cli/cloud/test_project_sync_command.py +0 -92
  436. basic_memory-0.21.5/tests/cli/cloud/test_rclone_config_and_bmignore_filters.py +0 -113
  437. basic_memory-0.21.5/tests/cli/test_cli_exit.py +0 -105
  438. basic_memory-0.21.5/tests/cli/test_cli_telemetry.py +0 -53
  439. basic_memory-0.21.5/tests/cli/test_cli_tool_json_output.py +0 -737
  440. basic_memory-0.21.5/tests/cli/test_cloud_authentication.py +0 -266
  441. basic_memory-0.21.5/tests/cli/test_db_reindex.py +0 -322
  442. basic_memory-0.21.5/tests/cli/test_json_output.py +0 -420
  443. basic_memory-0.21.5/tests/cli/test_project_list_and_ls.py +0 -1054
  444. basic_memory-0.21.5/tests/cli/test_workspace_commands.py +0 -251
  445. basic_memory-0.21.5/tests/conftest.py +0 -785
  446. basic_memory-0.21.5/tests/indexing/test_batch_indexer.py +0 -797
  447. basic_memory-0.21.5/tests/mcp/clients/test_clients.py +0 -405
  448. basic_memory-0.21.5/tests/mcp/test_tool_contracts.py +0 -156
  449. basic_memory-0.21.5/tests/mcp/test_tool_edit_note.py +0 -1265
  450. basic_memory-0.21.5/tests/mcp/test_tool_json_output_modes.py +0 -384
  451. basic_memory-0.21.5/tests/mcp/test_tool_move_note.py +0 -1154
  452. basic_memory-0.21.5/tests/mcp/test_tool_project_management.py +0 -1199
  453. basic_memory-0.21.5/tests/mcp/test_tool_read_note.py +0 -1003
  454. basic_memory-0.21.5/tests/mcp/test_tool_search.py +0 -1753
  455. basic_memory-0.21.5/tests/mcp/test_tool_telemetry.py +0 -284
  456. basic_memory-0.21.5/tests/mcp/test_tool_write_note.py +0 -1313
  457. basic_memory-0.21.5/tests/mcp/tools/test_search_notes_multi_project.py +0 -368
  458. basic_memory-0.21.5/tests/repository/test_entity_repository.py +0 -1282
  459. basic_memory-0.21.5/tests/repository/test_fastembed_provider.py +0 -150
  460. basic_memory-0.21.5/tests/repository/test_hybrid_fusion.py +0 -304
  461. basic_memory-0.21.5/tests/repository/test_observation_repository.py +0 -468
  462. basic_memory-0.21.5/tests/repository/test_openai_provider.py +0 -580
  463. basic_memory-0.21.5/tests/repository/test_postgres_search_repository.py +0 -818
  464. basic_memory-0.21.5/tests/repository/test_search_repository.py +0 -1046
  465. basic_memory-0.21.5/tests/repository/test_semantic_search_base.py +0 -810
  466. basic_memory-0.21.5/tests/repository/test_sqlite_vector_search_repository.py +0 -562
  467. basic_memory-0.21.5/tests/repository/test_vector_pagination.py +0 -177
  468. basic_memory-0.21.5/tests/repository/test_vector_threshold.py +0 -466
  469. basic_memory-0.21.5/tests/services/test_context_service.py +0 -385
  470. basic_memory-0.21.5/tests/services/test_project_service_embedding_status.py +0 -335
  471. basic_memory-0.21.5/tests/services/test_search_service.py +0 -1387
  472. basic_memory-0.21.5/tests/sync/test_sync_service.py +0 -1814
  473. basic_memory-0.21.5/tests/test_coerce.py +0 -57
  474. basic_memory-0.21.5/tests/test_config.py +0 -1592
  475. basic_memory-0.21.5/tests/test_rclone_commands.py +0 -564
  476. basic_memory-0.21.5/tests/utils/test_parse_tags.py +0 -68
  477. basic_memory-0.21.5/ui/tool-ui-react/.gitignore +0 -2
  478. basic_memory-0.21.5/ui/tool-ui-react/build.mjs +0 -85
  479. basic_memory-0.21.5/ui/tool-ui-react/package-lock.json +0 -2507
  480. basic_memory-0.21.5/ui/tool-ui-react/package.json +0 -25
  481. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/data-table/_adapter.tsx +0 -44
  482. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/data-table/data-table.tsx +0 -869
  483. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/data-table/error-boundary.tsx +0 -19
  484. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/data-table/formatters.tsx +0 -453
  485. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/data-table/index.tsx +0 -31
  486. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/data-table/schema.ts +0 -234
  487. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/data-table/types.ts +0 -285
  488. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/data-table/utilities.ts +0 -186
  489. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/_adapter.tsx +0 -12
  490. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/action-buttons.tsx +0 -100
  491. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/actions-config.ts +0 -48
  492. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/error-boundary.tsx +0 -51
  493. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/index.ts +0 -8
  494. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/media/aspect-ratio.ts +0 -27
  495. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/media/format-utils.ts +0 -35
  496. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/media/index.ts +0 -15
  497. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/media/overlay-gradient.ts +0 -25
  498. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/media/sanitize-href.ts +0 -18
  499. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/parse.ts +0 -37
  500. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/schema.ts +0 -122
  501. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/use-action-buttons.tsx +0 -128
  502. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/use-copy-to-clipboard.ts +0 -63
  503. basic_memory-0.21.5/ui/tool-ui-react/src/components/tool-ui/shared/utils.ts +0 -29
  504. basic_memory-0.21.5/ui/tool-ui-react/src/components/ui/accordion.tsx +0 -76
  505. basic_memory-0.21.5/ui/tool-ui-react/src/components/ui/badge.tsx +0 -48
  506. basic_memory-0.21.5/ui/tool-ui-react/src/components/ui/button.tsx +0 -63
  507. basic_memory-0.21.5/ui/tool-ui-react/src/components/ui/dropdown-menu.tsx +0 -257
  508. basic_memory-0.21.5/ui/tool-ui-react/src/components/ui/table.tsx +0 -90
  509. basic_memory-0.21.5/ui/tool-ui-react/src/components/ui/tooltip.tsx +0 -61
  510. basic_memory-0.21.5/ui/tool-ui-react/src/note-preview.tsx +0 -122
  511. basic_memory-0.21.5/ui/tool-ui-react/src/search-results.tsx +0 -175
  512. basic_memory-0.21.5/ui/tool-ui-react/src/styles.css +0 -74
  513. basic_memory-0.21.5/ui/tool-ui-react/tailwind.config.js +0 -8
  514. basic_memory-0.21.5/uv.lock +0 -3715
  515. {basic_memory-0.21.5 → basic_memory-0.22.0}/.agents/skills/instrumentation/SKILL.md +0 -0
  516. {basic_memory-0.21.5 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/javascript/frameworks.md +0 -0
  517. {basic_memory-0.21.5 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/javascript/patterns.md +0 -0
  518. {basic_memory-0.21.5 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/python/integrations.md +0 -0
  519. {basic_memory-0.21.5 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/python/logging-patterns.md +0 -0
  520. {basic_memory-0.21.5 → basic_memory-0.22.0}/.agents/skills/instrumentation/references/rust/patterns.md +0 -0
  521. {basic_memory-0.21.5 → basic_memory-0.22.0}/.claude/commands/release/changelog.md +0 -0
  522. {basic_memory-0.21.5 → basic_memory-0.22.0}/.claude/commands/release/release-check.md +0 -0
  523. {basic_memory-0.21.5 → basic_memory-0.22.0}/.claude/commands/spec.md +0 -0
  524. {basic_memory-0.21.5 → basic_memory-0.22.0}/.claude/commands/test-live.md +0 -0
  525. {basic_memory-0.21.5 → basic_memory-0.22.0}/.claude/settings.json +0 -0
  526. {basic_memory-0.21.5 → basic_memory-0.22.0}/.dockerignore +0 -0
  527. {basic_memory-0.21.5 → basic_memory-0.22.0}/.env.example +0 -0
  528. {basic_memory-0.21.5 → basic_memory-0.22.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  529. {basic_memory-0.21.5 → basic_memory-0.22.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  530. {basic_memory-0.21.5 → basic_memory-0.22.0}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
  531. {basic_memory-0.21.5 → basic_memory-0.22.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  532. {basic_memory-0.21.5 → basic_memory-0.22.0}/.github/dependabot.yml +0 -0
  533. {basic_memory-0.21.5 → basic_memory-0.22.0}/.github/workflows/claude-issue-triage.yml +0 -0
  534. {basic_memory-0.21.5 → basic_memory-0.22.0}/.github/workflows/claude.yml +0 -0
  535. {basic_memory-0.21.5 → basic_memory-0.22.0}/.github/workflows/dev-release.yml +0 -0
  536. {basic_memory-0.21.5 → basic_memory-0.22.0}/.python-version +0 -0
  537. {basic_memory-0.21.5 → basic_memory-0.22.0}/CITATION.cff +0 -0
  538. {basic_memory-0.21.5 → basic_memory-0.22.0}/CLA.md +0 -0
  539. {basic_memory-0.21.5 → basic_memory-0.22.0}/CLAUDE.md +0 -0
  540. {basic_memory-0.21.5 → basic_memory-0.22.0}/CODE_OF_CONDUCT.md +0 -0
  541. {basic_memory-0.21.5 → basic_memory-0.22.0}/CONTRIBUTING.md +0 -0
  542. {basic_memory-0.21.5 → basic_memory-0.22.0}/Dockerfile +0 -0
  543. {basic_memory-0.21.5 → basic_memory-0.22.0}/LICENSE +0 -0
  544. {basic_memory-0.21.5 → basic_memory-0.22.0}/NOTE-FORMAT.md +0 -0
  545. {basic_memory-0.21.5 → basic_memory-0.22.0}/SECURITY.md +0 -0
  546. {basic_memory-0.21.5 → basic_memory-0.22.0}/docker-compose-postgres.yml +0 -0
  547. {basic_memory-0.21.5 → basic_memory-0.22.0}/docker-compose.yml +0 -0
  548. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/ARCHITECTURE.md +0 -0
  549. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/Docker.md +0 -0
  550. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/NOTE-FORMAT.md +0 -0
  551. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/SPEC-PER-PROJECT-ROUTING.md +0 -0
  552. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/ai-assistant-guide-extended.md +0 -0
  553. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/character-handling.md +0 -0
  554. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/cloud-semantic-search-value.md +0 -0
  555. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/logfire-instrumentation-strategy.md +0 -0
  556. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/mcp-ui-bakeoff-instructions.md +0 -0
  557. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/metadata-search.md +0 -0
  558. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/post-v0.18.0-test-plan.md +0 -0
  559. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/releases/v0.19.0.md +0 -0
  560. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/semantic-search-test-log.md +0 -0
  561. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/specs/SPEC-LOCAL-PLUS-PUBLISH.md +0 -0
  562. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/specs/SPEC-SCHEMA-IMPL.md +0 -0
  563. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/specs/SPEC-SCHEMA.md +0 -0
  564. {basic_memory-0.21.5 → basic_memory-0.22.0}/docs/testing-coverage.md +0 -0
  565. {basic_memory-0.21.5/test-int/semantic → basic_memory-0.22.0/integrations/hermes/tests}/__init__.py +0 -0
  566. {basic_memory-0.21.5 → basic_memory-0.22.0}/llms-install.md +0 -0
  567. {basic_memory-0.21.5 → basic_memory-0.22.0}/skills-lock.json +0 -0
  568. {basic_memory-0.21.5 → basic_memory-0.22.0}/smithery.yaml +0 -0
  569. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/alembic.ini +0 -0
  570. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/migrations.py +0 -0
  571. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/script.py.mako +0 -0
  572. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/314f1ea54dc4_add_postgres_full_text_search_support_.py +0 -0
  573. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
  574. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
  575. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py +0 -0
  576. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py +0 -0
  577. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/6830751f5fb6_merge_multiple_heads.py +0 -0
  578. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/9d9c1cb7d8f5_add_mtime_and_size_columns_to_entity_.py +0 -0
  579. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/a1b2c3d4e5f6_fix_project_foreign_keys.py +0 -0
  580. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/a2b3c4d5e6f7_add_search_index_entity_cascade.py +0 -0
  581. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
  582. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
  583. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/d7e8f9a0b1c2_add_structured_metadata_indexes.py +0 -0
  584. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/e7e1f4367280_add_scan_watermark_tracking_to_project.py +0 -0
  585. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/f8a9b2c3d4e5_add_pg_trgm_for_fuzzy_link_resolution.py +0 -0
  586. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/g9a0b3c4d5e6_add_external_id_to_project_and_entity.py +0 -0
  587. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/h1b2c3d4e5f6_add_postgres_vector_search_tables.py +0 -0
  588. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/i2c3d4e5f6g7_auto_backfill_semantic_embeddings.py +0 -0
  589. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/j3d4e5f6g7h8_rename_entity_type_to_note_type.py +0 -0
  590. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/k4e5f6g7h8i9_add_created_by_and_last_updated_by_to_entity.py +0 -0
  591. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/l5g6h7i8j9k0_add_note_content_table.py +0 -0
  592. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/m6h7i8j9k0l1_add_vector_sync_fingerprints.py +0 -0
  593. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/alembic/versions/n7i8j9k0l1m2_cleanup_sqlite_search_orphans.py +0 -0
  594. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/__init__.py +0 -0
  595. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/app.py +0 -0
  596. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/container.py +0 -0
  597. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/template_loader.py +0 -0
  598. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/v2/__init__.py +0 -0
  599. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/__init__.py +0 -0
  600. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/directory_router.py +0 -0
  601. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/importer_router.py +0 -0
  602. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/memory_router.py +0 -0
  603. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/project_router.py +0 -0
  604. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/prompt_router.py +0 -0
  605. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/resource_router.py +0 -0
  606. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/api/v2/routers/schema_router.py +0 -0
  607. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/__init__.py +0 -0
  608. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/analytics.py +0 -0
  609. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/auth.py +0 -0
  610. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/auto_update.py +0 -0
  611. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/__init__.py +0 -0
  612. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/api_client.py +0 -0
  613. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/cloud_utils.py +0 -0
  614. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/rclone_installer.py +0 -0
  615. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/restore.py +0 -0
  616. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/schemas.py +0 -0
  617. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/snapshot.py +0 -0
  618. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/upload.py +0 -0
  619. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/cloud/upload_command.py +0 -0
  620. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/command_utils.py +0 -0
  621. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/db.py +0 -0
  622. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/doctor.py +0 -0
  623. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/format.py +0 -0
  624. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
  625. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
  626. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
  627. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
  628. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/orphans.py +0 -0
  629. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/routing.py +0 -0
  630. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/schema.py +0 -0
  631. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/commands/update.py +0 -0
  632. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/container.py +0 -0
  633. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/cli/promo.py +0 -0
  634. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/deps/__init__.py +0 -0
  635. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/deps/config.py +0 -0
  636. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/deps/db.py +0 -0
  637. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/deps/importers.py +0 -0
  638. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/deps/projects.py +0 -0
  639. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/deps/repositories.py +0 -0
  640. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/deps/services.py +0 -0
  641. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/deps.py +0 -0
  642. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/file_utils.py +0 -0
  643. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/importers/__init__.py +0 -0
  644. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/importers/base.py +0 -0
  645. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/importers/chatgpt_importer.py +0 -0
  646. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/importers/claude_conversations_importer.py +0 -0
  647. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/importers/claude_projects_importer.py +0 -0
  648. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/importers/memory_json_importer.py +0 -0
  649. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/importers/utils.py +0 -0
  650. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/indexing/__init__.py +0 -0
  651. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/indexing/batching.py +0 -0
  652. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/indexing/models.py +0 -0
  653. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/markdown/__init__.py +0 -0
  654. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/markdown/entity_parser.py +0 -0
  655. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/markdown/markdown_processor.py +0 -0
  656. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/markdown/plugins.py +0 -0
  657. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/markdown/schemas.py +0 -0
  658. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/markdown/utils.py +0 -0
  659. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/__init__.py +0 -0
  660. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/async_client.py +0 -0
  661. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/__init__.py +0 -0
  662. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/directory.py +0 -0
  663. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/memory.py +0 -0
  664. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/project.py +0 -0
  665. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/resource.py +0 -0
  666. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/schema.py +0 -0
  667. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/clients/search.py +0 -0
  668. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/container.py +0 -0
  669. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/formatting.py +0 -0
  670. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/project_context.py +0 -0
  671. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/__init__.py +0 -0
  672. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +0 -0
  673. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
  674. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
  675. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/search.py +0 -0
  676. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/prompts/utils.py +0 -0
  677. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/__init__.py +0 -0
  678. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/ai_assistant_guide.md +0 -0
  679. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/cloud_info.md +0 -0
  680. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/project_info.py +0 -0
  681. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/release_notes.md +0 -0
  682. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/resources/ui.py +0 -0
  683. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/server.py +0 -0
  684. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/__init__.py +0 -0
  685. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/canvas.py +0 -0
  686. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/chatgpt_tools.py +0 -0
  687. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/cloud_info.py +0 -0
  688. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/list_directory.py +0 -0
  689. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/read_content.py +0 -0
  690. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/release_notes.py +0 -0
  691. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/schema.py +0 -0
  692. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/ui_sdk.py +0 -0
  693. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/utils.py +0 -0
  694. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/view_note.py +0 -0
  695. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/tools/workspaces.py +0 -0
  696. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/__init__.py +0 -0
  697. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/note-preview-mcp-ui.html +0 -0
  698. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/note-preview-tool-ui.html +0 -0
  699. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/note-preview-vanilla.html +0 -0
  700. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/search-results-mcp-ui.html +0 -0
  701. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/search-results-tool-ui.html +0 -0
  702. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/html/search-results-vanilla.html +0 -0
  703. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/sdk.py +0 -0
  704. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/mcp/ui/templates.py +0 -0
  705. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/models/__init__.py +0 -0
  706. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/models/base.py +0 -0
  707. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/models/project.py +0 -0
  708. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/models/search.py +0 -0
  709. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/project_resolver.py +0 -0
  710. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/__init__.py +0 -0
  711. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/embedding_provider.py +0 -0
  712. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/metadata_filters.py +0 -0
  713. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/note_content_repository.py +0 -0
  714. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/observation_repository.py +0 -0
  715. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/openai_provider.py +0 -0
  716. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/project_info_repository.py +0 -0
  717. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/relation_repository.py +0 -0
  718. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/repository.py +0 -0
  719. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/search_index_row.py +0 -0
  720. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/repository/semantic_errors.py +0 -0
  721. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/runtime.py +0 -0
  722. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schema/__init__.py +0 -0
  723. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schema/diff.py +0 -0
  724. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schema/inference.py +0 -0
  725. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schema/parser.py +0 -0
  726. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schema/resolver.py +0 -0
  727. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schema/validator.py +0 -0
  728. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/__init__.py +0 -0
  729. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/base.py +0 -0
  730. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/cloud.py +0 -0
  731. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/delete.py +0 -0
  732. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/directory.py +0 -0
  733. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/importer.py +0 -0
  734. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/memory.py +0 -0
  735. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/project_info.py +0 -0
  736. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/prompt.py +0 -0
  737. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/request.py +0 -0
  738. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/response.py +0 -0
  739. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/schema.py +0 -0
  740. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/sync_report.py +0 -0
  741. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/v2/graph.py +0 -0
  742. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/schemas/v2/resource.py +0 -0
  743. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/services/__init__.py +0 -0
  744. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/services/directory_service.py +0 -0
  745. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/services/entity_service.py +0 -0
  746. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/services/exceptions.py +0 -0
  747. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/services/file_service.py +0 -0
  748. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/services/initialization.py +0 -0
  749. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/services/link_resolver.py +0 -0
  750. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/services/service.py +0 -0
  751. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/sync/__init__.py +0 -0
  752. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/sync/background_sync.py +0 -0
  753. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/sync/coordinator.py +0 -0
  754. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/sync/watch_service.py +0 -0
  755. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/telemetry.py +0 -0
  756. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/templates/prompts/continue_conversation.hbs +0 -0
  757. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/templates/prompts/search.hbs +0 -0
  758. {basic_memory-0.21.5 → basic_memory-0.22.0}/src/basic_memory/workspace_context.py +0 -0
  759. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/BENCHMARKS.md +0 -0
  760. {basic_memory-0.21.5/tests/markdown → basic_memory-0.22.0/test-int/bughunt_fixes}/__init__.py +0 -0
  761. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/cli/test_cli_tool_edit_note_integration.py +0 -0
  762. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/cli/test_cli_tool_json_failure_integration.py +0 -0
  763. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/cli/test_cli_tool_json_integration.py +0 -0
  764. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/cli/test_project_commands_integration.py +0 -0
  765. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/cli/test_routing_integration.py +0 -0
  766. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/cli/test_search_notes_meta_integration.py +0 -0
  767. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/cli/test_version_integration.py +0 -0
  768. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/compare_search_benchmarks.py +0 -0
  769. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-01.md +0 -0
  770. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-02.md +0 -0
  771. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-03.md +0 -0
  772. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-04.md +0 -0
  773. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-05.md +0 -0
  774. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-06.md +0 -0
  775. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-07.md +0 -0
  776. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-08.md +0 -0
  777. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-09.md +0 -0
  778. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-10.md +0 -0
  779. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-11.md +0 -0
  780. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-12.md +0 -0
  781. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-13.md +0 -0
  782. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-14.md +0 -0
  783. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-15.md +0 -0
  784. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-16.md +0 -0
  785. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-17.md +0 -0
  786. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-18.md +0 -0
  787. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-19.md +0 -0
  788. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/people/drift-person-20.md +0 -0
  789. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/drift/schema/Person.md +0 -0
  790. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/array-single.md +0 -0
  791. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/empty-note.md +0 -0
  792. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/explicit-overrides-type.md +0 -0
  793. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/inline-and-type.md +0 -0
  794. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/no-frontmatter.md +0 -0
  795. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/relation-only.md +0 -0
  796. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/type-no-schema.md +0 -0
  797. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/edge-cases/unicode-fields.md +0 -0
  798. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/ada-lovelace.md +0 -0
  799. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/alan-turing.md +0 -0
  800. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/anders-hejlsberg.md +0 -0
  801. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/andrej-karpathy.md +0 -0
  802. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/barbara-liskov.md +0 -0
  803. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/bjarne-stroustrup.md +0 -0
  804. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/brendan-eich.md +0 -0
  805. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/claude-shannon.md +0 -0
  806. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/dennis-ritchie.md +0 -0
  807. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/dijkstra.md +0 -0
  808. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/donald-knuth.md +0 -0
  809. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/fei-fei-li.md +0 -0
  810. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/geoffrey-hinton.md +0 -0
  811. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/grace-hopper.md +0 -0
  812. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/guido-van-rossum.md +0 -0
  813. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/james-gosling.md +0 -0
  814. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/john-carmack.md +0 -0
  815. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/ken-thompson.md +0 -0
  816. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/larry-page.md +0 -0
  817. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/leslie-lamport.md +0 -0
  818. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/linus-torvalds.md +0 -0
  819. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/margaret-hamilton.md +0 -0
  820. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/rasmus-lerdorf.md +0 -0
  821. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/richard-stallman.md +0 -0
  822. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/rob-pike.md +0 -0
  823. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/satoshi-nakamoto.md +0 -0
  824. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/tim-berners-lee.md +0 -0
  825. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/vint-cerf.md +0 -0
  826. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/yann-lecun.md +0 -0
  827. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/inference/people/yukihiro-matsumoto.md +0 -0
  828. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/Book.md +0 -0
  829. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/Meeting.md +0 -0
  830. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/Person.md +0 -0
  831. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/SoftwareProject.md +0 -0
  832. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/schemas/StrictSchema.md +0 -0
  833. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/basic-memory.md +0 -0
  834. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/explicit-ref-note.md +0 -0
  835. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/no-schema-note.md +0 -0
  836. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/paul-graham.md +0 -0
  837. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/rich-hickey.md +0 -0
  838. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/valid/standup-2024-01-15.md +0 -0
  839. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/warnings/extra-observations.md +0 -0
  840. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/warnings/missing-multiple.md +0 -0
  841. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/warnings/missing-required.md +0 -0
  842. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/fixtures/schema/warnings/wrong-enum-value.md +0 -0
  843. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_build_context_underscore.py +0 -0
  844. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_build_context_validation.py +0 -0
  845. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_chatgpt_tools_integration.py +0 -0
  846. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_default_project_mode_integration.py +0 -0
  847. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_delete_directory_integration.py +0 -0
  848. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_delete_note_integration.py +0 -0
  849. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_lifespan_shutdown_sync_task_cancellation_integration.py +0 -0
  850. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_list_directory_integration.py +0 -0
  851. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_long_relation_type_integration.py +0 -0
  852. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_move_directory_integration.py +0 -0
  853. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_output_format_json_integration.py +0 -0
  854. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_pagination_integration.py +0 -0
  855. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_permalink_collision_integration.py +0 -0
  856. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_project_management_integration.py +0 -0
  857. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_project_state_sync_integration.py +0 -0
  858. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_read_content_integration.py +0 -0
  859. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_read_note_integration.py +0 -0
  860. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_single_project_mcp_integration.py +0 -0
  861. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_smoke_integration.py +0 -0
  862. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_string_params_integration.py +0 -0
  863. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_ui_sdk_integration.py +0 -0
  864. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/mcp/test_workspace_permalink_integration.py +0 -0
  865. {basic_memory-0.21.5/tests/mcp/clients → basic_memory-0.22.0/test-int/semantic}/__init__.py +0 -0
  866. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/semantic/conftest.py +0 -0
  867. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/semantic/corpus.py +0 -0
  868. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/semantic/metrics.py +0 -0
  869. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/semantic/report.py +0 -0
  870. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/semantic/test_multiterm_semantic_queries.py +0 -0
  871. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/semantic/test_search_diagnostics.py +0 -0
  872. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/semantic/test_semantic_coverage.py +0 -0
  873. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/semantic/test_semantic_quality.py +0 -0
  874. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_db_wal_mode.py +0 -0
  875. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_disable_permalinks_integration.py +0 -0
  876. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_schema/__init__.py +0 -0
  877. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_schema/conftest.py +0 -0
  878. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_schema/helpers.py +0 -0
  879. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_schema/test_diff_integration.py +0 -0
  880. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_schema/test_inference_integration.py +0 -0
  881. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_schema/test_parser_integration.py +0 -0
  882. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_schema/test_validator_integration.py +0 -0
  883. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_search_performance_benchmark.py +0 -0
  884. {basic_memory-0.21.5 → basic_memory-0.22.0}/test-int/test_sync_batching_integration.py +0 -0
  885. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/Non-MarkdownFileSupport.pdf +0 -0
  886. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/README.md +0 -0
  887. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/Screenshot.png +0 -0
  888. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/__init__.py +0 -0
  889. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/__init__.py +0 -0
  890. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/conftest.py +0 -0
  891. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_directory_router.py +0 -0
  892. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_importer_router.py +0 -0
  893. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_knowledge_router_telemetry.py +0 -0
  894. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_memory_router.py +0 -0
  895. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_orphan_router.py +0 -0
  896. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_project_router.py +0 -0
  897. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_prompt_router.py +0 -0
  898. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_resource_router.py +0 -0
  899. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_schema_router.py +0 -0
  900. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_search_hydration.py +0 -0
  901. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_search_router.py +0 -0
  902. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_search_router_telemetry.py +0 -0
  903. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_utils_telemetry.py +0 -0
  904. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/api/v2/test_workspace_permalink_headers.py +0 -0
  905. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/cloud/test_cloud_api_client_and_utils.py +0 -0
  906. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/cloud/test_rclone_installer.py +0 -0
  907. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/cloud/test_upload_command_routing.py +0 -0
  908. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/cloud/test_upload_path.py +0 -0
  909. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/conftest.py +0 -0
  910. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_analytics.py +0 -0
  911. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_auth_cli_auth.py +0 -0
  912. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_auto_update.py +0 -0
  913. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_cli_container.py +0 -0
  914. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_cli_schema.py +0 -0
  915. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_cli_tool_exit.py +0 -0
  916. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_cli_tools.py +0 -0
  917. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_cloud_promo.py +0 -0
  918. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_cloud_status.py +0 -0
  919. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_db_reset_exit.py +0 -0
  920. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_db_reset_zombie_check.py +0 -0
  921. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_ignore_utils.py +0 -0
  922. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_import_chatgpt.py +0 -0
  923. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_import_claude_conversations.py +0 -0
  924. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_import_claude_projects.py +0 -0
  925. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_import_memory_json.py +0 -0
  926. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_orphans_command.py +0 -0
  927. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_project_add_with_local_path.py +0 -0
  928. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_project_info_cloud_status.py +0 -0
  929. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_project_info_errors.py +0 -0
  930. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_project_set_cloud_local.py +0 -0
  931. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_restore_commands.py +0 -0
  932. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_routing.py +0 -0
  933. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_snapshot_commands.py +0 -0
  934. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_update_command.py +0 -0
  935. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/cli/test_upload.py +0 -0
  936. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/db/test_issue_254_foreign_key_constraints.py +0 -0
  937. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/deps/test_task_failure_callback.py +0 -0
  938. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/importers/test_conversation_indexing.py +0 -0
  939. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/importers/test_importer_base.py +0 -0
  940. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/importers/test_importer_utils.py +0 -0
  941. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/indexing/test_batching.py +0 -0
  942. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_date_frontmatter_parsing.py +0 -0
  943. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_entity_parser.py +0 -0
  944. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_entity_parser_error_handling.py +0 -0
  945. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_markdown_plugins.py +0 -0
  946. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_markdown_processor.py +0 -0
  947. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_markdown_utils.py +0 -0
  948. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_observation_edge_cases.py +0 -0
  949. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_parser_edge_cases.py +0 -0
  950. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_relation_edge_cases.py +0 -0
  951. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/markdown/test_task_detection.py +0 -0
  952. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/conftest.py +0 -0
  953. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_async_client_force_local.py +0 -0
  954. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_async_client_modes.py +0 -0
  955. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_async_client_telemetry.py +0 -0
  956. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_client_schema.py +0 -0
  957. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_client_telemetry.py +0 -0
  958. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_mcp_container.py +0 -0
  959. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_obsidian_yaml_formatting.py +0 -0
  960. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_permalink_collision_file_overwrite.py +0 -0
  961. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_project_context.py +0 -0
  962. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_project_context_telemetry.py +0 -0
  963. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_prompt_tool_delegation.py +0 -0
  964. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_prompts.py +0 -0
  965. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_recent_activity_prompt_modes.py +0 -0
  966. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_resources.py +0 -0
  967. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_server_lifespan_branches.py +0 -0
  968. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_server_telemetry.py +0 -0
  969. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_build_context.py +0 -0
  970. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_canvas.py +0 -0
  971. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_cloud_discovery.py +0 -0
  972. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_delete_note.py +0 -0
  973. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_list_directory.py +0 -0
  974. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_read_content.py +0 -0
  975. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_recent_activity.py +0 -0
  976. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_resource.py +0 -0
  977. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_schema.py +0 -0
  978. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_utils.py +0 -0
  979. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_utils_cloud_auth.py +0 -0
  980. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_view_note.py +0 -0
  981. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_workspace_management.py +0 -0
  982. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_write_note_kebab_filenames.py +0 -0
  983. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_tool_write_note_metadata.py +0 -0
  984. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_ui_resources.py +0 -0
  985. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_ui_sdk.py +0 -0
  986. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_ui_templates.py +0 -0
  987. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/test_workspace_permalink_resolution.py +0 -0
  988. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/mcp/tools/test_chatgpt_tools.py +0 -0
  989. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_distance_to_similarity.py +0 -0
  990. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_entity_repository_upsert.py +0 -0
  991. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_entity_upsert_issue_187.py +0 -0
  992. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_metadata_filters.py +0 -0
  993. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_metadata_filters_edge_cases.py +0 -0
  994. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_note_content_repository.py +0 -0
  995. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_postgres_search_repository_unit.py +0 -0
  996. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_project_info_repository.py +0 -0
  997. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_project_repository.py +0 -0
  998. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_relation_repository.py +0 -0
  999. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_repository.py +0 -0
  1000. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_search_index_row.py +0 -0
  1001. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_search_repository_edit_bug_fix.py +0 -0
  1002. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/repository/test_search_text_with_metadata_filters.py +0 -0
  1003. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schema/__init__.py +0 -0
  1004. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schema/test_diff.py +0 -0
  1005. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schema/test_inference.py +0 -0
  1006. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schema/test_parser.py +0 -0
  1007. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schema/test_resolver.py +0 -0
  1008. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schema/test_validator.py +0 -0
  1009. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schemas/test_base_timeframe_minimum.py +0 -0
  1010. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schemas/test_memory_serialization.py +0 -0
  1011. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schemas/test_memory_url.py +0 -0
  1012. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schemas/test_memory_url_validation.py +0 -0
  1013. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schemas/test_relation_response_reference_resolution.py +0 -0
  1014. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schemas/test_schemas.py +0 -0
  1015. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/schemas/test_search.py +0 -0
  1016. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_directory_service.py +0 -0
  1017. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_entity_service.py +0 -0
  1018. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_entity_service_disable_permalinks.py +0 -0
  1019. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_entity_service_prepare.py +0 -0
  1020. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_entity_service_telemetry.py +0 -0
  1021. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_entity_service_write_result.py +0 -0
  1022. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_file_service.py +0 -0
  1023. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_initialization.py +0 -0
  1024. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_initialization_cloud_mode_branches.py +0 -0
  1025. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_link_resolver.py +0 -0
  1026. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_project_removal_bug.py +0 -0
  1027. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_project_service.py +0 -0
  1028. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_project_service_cloud_info.py +0 -0
  1029. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_project_service_operations.py +0 -0
  1030. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_search_service_telemetry.py +0 -0
  1031. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_semantic_search.py +0 -0
  1032. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_task_scheduler_semantic.py +0 -0
  1033. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/services/test_upsert_entity_optimization.py +0 -0
  1034. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_character_conflicts.py +0 -0
  1035. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_coordinator.py +0 -0
  1036. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_sync_one_markdown_file.py +0 -0
  1037. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_sync_service_batching.py +0 -0
  1038. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_sync_service_incremental.py +0 -0
  1039. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_sync_service_subprocess.py +0 -0
  1040. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_sync_service_telemetry.py +0 -0
  1041. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_sync_wikilink_issue.py +0 -0
  1042. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_tmp_files.py +0 -0
  1043. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_watch_service.py +0 -0
  1044. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_watch_service_atomic_adds.py +0 -0
  1045. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_watch_service_edge_cases.py +0 -0
  1046. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_watch_service_reload.py +0 -0
  1047. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/sync/test_watch_service_stress.py +0 -0
  1048. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/test_alembic_env.py +0 -0
  1049. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/test_deps.py +0 -0
  1050. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/test_note_content_migration.py +0 -0
  1051. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/test_permalink_utils.py +0 -0
  1052. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/test_production_cascade_delete.py +0 -0
  1053. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/test_project_resolver.py +0 -0
  1054. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/test_runtime.py +0 -0
  1055. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/test_telemetry.py +0 -0
  1056. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/utils/test_file_utils.py +0 -0
  1057. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/utils/test_frontmatter_obsidian_compatible.py +0 -0
  1058. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/utils/test_permalink_formatting.py +0 -0
  1059. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/utils/test_setup_logging.py +0 -0
  1060. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/utils/test_timezone_utils.py +0 -0
  1061. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/utils/test_utf8_handling.py +0 -0
  1062. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/utils/test_validate_project_path.py +0 -0
  1063. {basic_memory-0.21.5 → basic_memory-0.22.0}/tests/utils/test_workspace_context.py +0 -0
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "basic-memory-local",
3
+ "interface": {
4
+ "displayName": "Basic Memory Local"
5
+ },
6
+ "plugins": [
7
+ {
8
+ "name": "codex",
9
+ "source": {
10
+ "source": "local",
11
+ "path": "./plugins/codex"
12
+ },
13
+ "policy": {
14
+ "installation": "AVAILABLE",
15
+ "authentication": "ON_INSTALL"
16
+ },
17
+ "category": "Developer Tools"
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,159 @@
1
+ ---
2
+ name: adversarial-review
3
+ description: Cross-vendor adversarial code review of the current branch. Two different model families (Claude + Codex/GPT) review the diff independently, then try to refute each other's findings; survivors are reported by confidence. Runs from either Claude Code or Codex. Use when the user asks for an adversarial review, a cross-model / second-opinion review, or wants high-confidence findings before merging. Report-only — never auto-applies fixes.
4
+ license: MIT
5
+ ---
6
+
7
+ # Adversarial code review
8
+
9
+ Two reviewers from **different model families** — **Claude** and **Codex/GPT** — review the
10
+ same diff independently, then each tries to **refute** the other's findings. A finding's
11
+ confidence comes from whether it survives that cross-examination. This kills the two failure
12
+ modes of solo LLM review: self-ratification (a model won't critique its own work) and
13
+ confident false positives.
14
+
15
+ ## You are the orchestrator — and one of the two reviewers
16
+
17
+ This skill runs from **either** Claude Code **or** Codex. First, **identify which model
18
+ family you are** (Claude or Codex/GPT). Then:
19
+
20
+ - **You** are reviewer #1. You review **natively**, in this session, using your own tools.
21
+ - **The other family** is reviewer #2. You invoke it as a **subprocess CLI** for an
22
+ independent pass: a fresh process, no shared context — that independence is the point.
23
+
24
+ The CLI for "the other model":
25
+
26
+ | If you are… | Invoke the other via… |
27
+ |-------------|------------------------|
28
+ | **Claude** | `codex exec` (GPT) |
29
+ | **Codex** | `claude -p` (Claude) |
30
+
31
+ Everything else in the flow is symmetric. Resolve the `prompts/` and `schemas/` paths
32
+ below relative to **this skill's own directory** (where this SKILL.md lives).
33
+
34
+ ## Inputs
35
+
36
+ Two independent, optional inputs:
37
+
38
+ - `BASE` — the ref to diff against. Default `main`.
39
+ - `SCOPE` — a pathspec to narrow the review (e.g. `src/basic_memory`). Default: none (whole diff).
40
+
41
+ These are separate: a ref and a pathspec are not interchangeable. Build the **canonical diff
42
+ command** once in preflight and reuse it everywhere below — never re-spell the diff inline
43
+ (the scattered, inconsistent spelling is what broke earlier). Build it as an **argv array**,
44
+ not a string, so a `$SCOPE` containing spaces or glob characters survives intact:
45
+
46
+ ```bash
47
+ BASE="${BASE:-main}"
48
+ DIFF=(git diff "$BASE...HEAD") # argv array — never a scalar string
49
+ [ -n "$SCOPE" ] && DIFF+=(-- "$SCOPE") # pathspec stays one argument even with spaces
50
+ DIFF_STR=$(printf '%q ' "${DIFF[@]}") # shell-quoted rendering, for embedding in a prompt
51
+ ```
52
+
53
+ To **run** it, use `"${DIFF[@]}"` (quoted, no word-splitting). To **embed** it as text inside
54
+ a subprocess prompt, use `$DIFF_STR`.
55
+
56
+ ## Preflight
57
+
58
+ 0. Set `SKILL_DIR` to the directory this SKILL.md lives in. Canonical location is
59
+ `.agents/skills/adversarial-review` (the shared agent-skills store); Claude Code reaches it
60
+ via the `.claude/skills/adversarial-review` symlink, Codex via its own skills path. The
61
+ `prompts/` and `schemas/` subdirs are siblings of this file in every case.
62
+ 1. Confirm the *other* model's CLI is on PATH (`codex` if you're Claude, `claude` if you're
63
+ Codex). If it's missing, tell the user the panel falls back to single-model (which loses
64
+ the cross-vendor benefit) and ask whether to proceed or stop.
65
+ 2. Run `"${DIFF[@]}"`. If it prints nothing, report "nothing to review against $BASE"
66
+ (mention `$SCOPE` if set) and stop.
67
+ 3. `RUN=$(mktemp -d)` — scratch dir for the other model's output. Transient, never committed.
68
+ No persisted artifacts, no state file.
69
+
70
+ ## Phase 0 — Deterministic gates (before the models)
71
+
72
+ Models are statistically blind to negation ("never do X"). Enforce mechanical house rules
73
+ with tools, not prompts, and treat hits as high-confidence facts (reported separately from
74
+ model findings):
75
+
76
+ - `just lint` and `just typecheck` if the diff touches `src/`.
77
+ - Grep the diff for catchable house-rule violations: `getattr(.*,.*,` defaults, bare
78
+ `except:` / `except Exception: pass`, function-scope imports.
79
+
80
+ ## Phase 1 — Independent review (you + the other model, concurrently)
81
+
82
+ Both reviewers get the same brief: `prompts/review.md` + the repo's `CLAUDE.md` house rules,
83
+ reviewing the diff from `"${DIFF[@]}"`. Both emit findings matching `schemas/findings.schema.json`.
84
+
85
+ **Your native pass:** review as yourself, following `prompts/review.md`. Hold your findings
86
+ as that JSON shape.
87
+
88
+ **The other model's pass** — run, from the repo root, the row that matches you:
89
+
90
+ Always redirect `codex` stdin from `/dev/null` — if stdin is a pipe (e.g. the call gets
91
+ backgrounded), `codex exec` blocks "Reading additional input from stdin..." and fails.
92
+
93
+ ```bash
94
+ # You are Claude → run Codex:
95
+ codex exec -s read-only \
96
+ --output-schema "$SKILL_DIR/schemas/findings.schema.json" \
97
+ -o "$RUN/other_findings.json" \
98
+ "$(cat "$SKILL_DIR/prompts/review.md")
99
+
100
+ Review the diff: $DIFF_STR" </dev/null
101
+
102
+ # You are Codex → run Claude (read-only via plan mode; parse the JSON block it returns):
103
+ claude -p --permission-mode plan --output-format json \
104
+ "$(cat "$SKILL_DIR/prompts/review.md")
105
+
106
+ Review the diff: $DIFF_STR
107
+ Return ONLY a JSON object matching this schema:
108
+ $(cat "$SKILL_DIR/schemas/findings.schema.json")" </dev/null > "$RUN/other_raw.json"
109
+ # claude --output-format json output shape varies by CLI version: it may be a JSON ARRAY
110
+ # of event objects, OR a single result object. Normalize before reading: if it's an array,
111
+ # take the element with type=='result'; otherwise use the object as-is. Then read its
112
+ # .result string, strip the ```json fence if present, and parse that.
113
+ # (Verified empirically: the CLI in this environment emits the array form.)
114
+ ```
115
+
116
+ > Runtime note for Codex orchestrating: `claude -p` needs network access, which Codex's
117
+ > default sandbox blocks. Run it from a Codex session whose project is trusted with network
118
+ > allowed (or approve the `claude` call when prompted). Keep Codex's own sandbox on — do not
119
+ > bypass it just to reach the network.
120
+
121
+ Tag each finding with its origin (`claude` / `codex`).
122
+
123
+ ## Phase 2 — Cross-refute
124
+
125
+ Each model tries to refute the *other's* findings, per `prompts/refute.md`
126
+ (verdicts match `schemas/verdicts.schema.json`).
127
+
128
+ - **You** refute the other model's findings natively.
129
+ - **The other model** refutes *your* findings — invoke it again the same way (swap
130
+ `prompts/review.md` for `prompts/refute.md`, append your findings JSON **and `$DIFF_STR`**
131
+ so it judges against the right base and scope, and for Codex use
132
+ `--output-schema "$SKILL_DIR/schemas/verdicts.schema.json"`).
133
+
134
+ Match verdicts to findings by `id`.
135
+
136
+ ## Phase 3 — Synthesize and report (no auto-fix)
137
+
138
+ Merge, dedupe (same file + overlapping lines + same root cause = one finding), assign
139
+ confidence from provenance:
140
+
141
+ - **High** — both models raised it independently, OR one raised it and the other upheld it.
142
+ - **Medium** — one raised it; the other could not refute it but did not independently find it.
143
+ - **Low / contested** — one raised it and the other **refuted** it. Keep it, show both sides,
144
+ let the human judge. Never silently drop a contested finding.
145
+ - Deterministic-gate hits are reported as facts, separate from the model panel.
146
+
147
+ Rank by `severity × confidence`. Present a compact table: `severity | confidence | file:line
148
+ | claim | found-by / upheld-or-refuted-by`. Expand the high-confidence ones with `why` and
149
+ any suggested fix.
150
+
151
+ End by asking which findings, if any, to fix. **Do not edit code until the user picks.**
152
+ Convergence between the models is not correctness — your job is to surface a ranked,
153
+ cross-examined list, not to declare the branch clean.
154
+
155
+ ## Deliberately NOT done
156
+
157
+ - No loop-until-both-agree (models converge by going silent, not by being right).
158
+ - No persisted artifacts / state machine — the scratch dir is thrown away.
159
+ - No auto-applying fixes.
@@ -0,0 +1,22 @@
1
+ # Refute the other reviewer
2
+
3
+ A different reviewer (a different model family) produced the findings below against the
4
+ same diff under review (the exact `git diff` command is provided with the findings). Your
5
+ job is to try to **refute** each one.
6
+
7
+ Default to skepticism: assume a finding is wrong until the code proves it right. A finding
8
+ that survives a genuine attempt to disprove it is worth far more than one nobody checked.
9
+
10
+ For each finding, read the actual code it points at and return a verdict:
11
+
12
+ - **refuted** — the claim is wrong, the code does not do what the finding says, the case
13
+ cannot occur, or it is pure style with no correctness impact. Cite the specific code or
14
+ fact that disproves it.
15
+ - **upheld** — you tried to refute it and could not; the finding is real.
16
+ - **partial** — the underlying issue is real but the finding mis-states the severity or
17
+ scope. Explain, and set `corrected_severity` if the severity should change.
18
+
19
+ Do not be agreeable for its own sake, and do not refute for its own sake. Follow the code.
20
+
21
+ Return ONLY the structured verdicts object conforming to the provided schema. Every
22
+ verdict's `id` must match the `id` of the finding it judges.
@@ -0,0 +1,39 @@
1
+ # Adversarial reviewer
2
+
3
+ You are an independent, skeptical code reviewer. Another agent wrote this code; your
4
+ job is to find what is actually wrong with it — not to praise it, not to rubber-stamp it.
5
+
6
+ You are reviewing a specific diff — the exact `git diff` command to run is provided at the
7
+ end of this prompt by the orchestrator. Run it, then read the changed files in full for
8
+ context, not just the hunks.
9
+
10
+ ## What to look for, in priority order
11
+
12
+ 1. **Correctness** — logic errors, wrong conditions, off-by-one, unhandled `None`,
13
+ broken async/await, races, resource leaks, incorrect error handling.
14
+ 2. **Security** — injection, path traversal, secret leakage, missing authz, unsafe
15
+ deserialization.
16
+ 3. **House rules** (this repo's `CLAUDE.md`/`AGENTS.md` — these are hard rules):
17
+ - No swallowed exceptions / no silent fallback logic. Code must fail fast.
18
+ - Imports at the top of the file unless deferral is justified in a comment.
19
+ - No speculative `getattr(obj, "attr", default)` to paper over unknown attributes.
20
+ - Repository pattern for data access; MCP tools talk to API routers via the httpx
21
+ ASGI client, not directly to services.
22
+ - 100-char lines; full type annotations; async SQLAlchemy 2.0; Pydantic v2.
23
+ - New code needs tests (coverage stays at 100%).
24
+ 4. **Performance** — N+1 queries, work inside hot loops, sync I/O on the async path.
25
+ 5. **Maintainability** — only when it materially risks a bug. Do not report pure style.
26
+
27
+ ## Rules of engagement
28
+
29
+ - Every finding MUST be falsifiable: cite the specific file, line, and the code that
30
+ triggers it. "This could be cleaner" is not a finding.
31
+ - Do not invent issues to seem thorough. An empty findings list is a valid, good result.
32
+ - Watch your own negation blindness: when a rule says "never do X," check the diff for X
33
+ explicitly rather than trusting a gestalt impression.
34
+ - Prefer few high-confidence findings over many speculative ones.
35
+ - Assign severity honestly: `critical` = data loss/security/crash in normal use;
36
+ `high` = wrong behavior on a common path; `medium` = wrong on an edge case or a real
37
+ house-rule violation; `low` = minor.
38
+
39
+ Return ONLY the structured findings object conforming to the provided schema.
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "AdversarialReviewFindings",
4
+ "description": "Structured output for one reviewer's pass over a diff.",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["findings"],
8
+ "properties": {
9
+ "findings": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "object",
13
+ "additionalProperties": false,
14
+ "required": ["id", "file", "line", "severity", "category", "claim", "why", "suggested_fix"],
15
+ "properties": {
16
+ "id": {
17
+ "type": "string",
18
+ "description": "Short stable slug for this finding, e.g. 'swallowed-exc-sync-service'."
19
+ },
20
+ "file": {
21
+ "type": "string",
22
+ "description": "Path relative to repo root."
23
+ },
24
+ "line": {
25
+ "type": "integer",
26
+ "description": "Best line number in the new file, or 0 if not line-specific."
27
+ },
28
+ "severity": {
29
+ "type": "string",
30
+ "enum": ["critical", "high", "medium", "low"]
31
+ },
32
+ "category": {
33
+ "type": "string",
34
+ "enum": ["correctness", "security", "house-rule", "performance", "maintainability"]
35
+ },
36
+ "claim": {
37
+ "type": "string",
38
+ "description": "One sentence: what is wrong."
39
+ },
40
+ "why": {
41
+ "type": "string",
42
+ "description": "Concrete reasoning + the specific code that triggers it. Must be falsifiable, not vibes."
43
+ },
44
+ "suggested_fix": {
45
+ "type": ["string", "null"],
46
+ "description": "The smallest change that resolves it, or null if none is obvious."
47
+ }
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,38 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "AdversarialReviewVerdicts",
4
+ "description": "One reviewer's attempt to refute another reviewer's findings.",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["verdicts"],
8
+ "properties": {
9
+ "verdicts": {
10
+ "type": "array",
11
+ "items": {
12
+ "type": "object",
13
+ "additionalProperties": false,
14
+ "required": ["id", "verdict", "reasoning", "corrected_severity"],
15
+ "properties": {
16
+ "id": {
17
+ "type": "string",
18
+ "description": "The id of the finding being judged (must match the input finding's id)."
19
+ },
20
+ "verdict": {
21
+ "type": "string",
22
+ "enum": ["upheld", "refuted", "partial"],
23
+ "description": "upheld = the finding is real; refuted = it is wrong or a non-issue; partial = real but mis-scoped/wrong-severity."
24
+ },
25
+ "reasoning": {
26
+ "type": "string",
27
+ "description": "Why. For refuted, cite the specific code or fact that disproves the claim."
28
+ },
29
+ "corrected_severity": {
30
+ "type": ["string", "null"],
31
+ "enum": ["critical", "high", "medium", "low", null],
32
+ "description": "Set only when verdict is 'partial' and severity should change; otherwise null."
33
+ }
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: code-review
3
+ description: Use when reviewing Basic Machines code for house style, architecture risk, pre-merge hardening, or whether a change fits basic-memory/basic-memory-cloud conventions.
4
+ license: MIT
5
+ ---
6
+
7
+ # Basic Machines Review
8
+
9
+ Use this skill for repo-local review passes where ordinary code review needs Basic Machines
10
+ house style and architecture judgment. Report findings only; do not edit code unless the user
11
+ asks you to fix specific findings.
12
+
13
+ ## Scope
14
+
15
+ Review the current diff or named files against:
16
+
17
+ - The repo's `AGENTS.md` / `CLAUDE.md`
18
+ - `docs/ENGINEERING_STYLE.md`
19
+ - The touched code paths and tests
20
+
21
+ Apply only the guidance for the active repo. In `basic-memory`, prioritize local-first
22
+ file/database/MCP boundaries. In `basic-memory-cloud`, prioritize tenant/workspace isolation,
23
+ cloud worker behavior, and web-v2 state/runtime boundaries.
24
+
25
+ ## Review Rubric
26
+
27
+ Report only concrete, falsifiable risks:
28
+
29
+ - **Cognitive load:** Is the change harder to understand than the problem requires?
30
+ - **Change propagation:** Will one product change force edits across unrelated layers?
31
+ - **Knowledge duplication:** Is the same rule encoded in multiple places that can drift?
32
+ - **Accidental complexity:** Did the change add abstractions, fallbacks, or state without need?
33
+ - **Dependency direction:** Are API/MCP/CLI, services, repositories, and UI stores respecting
34
+ their intended boundaries?
35
+ - **Domain model distortion:** Do names and types still match the product concept, or did a
36
+ transport/storage detail leak into the domain?
37
+ - **Test oracle quality:** Would the tests fail for the bug or regression the change claims to
38
+ protect against?
39
+
40
+ ## House Rules To Check Explicitly
41
+
42
+ - No speculative `getattr(obj, "attr", default)` for unknown model shapes.
43
+ - No broad exception swallowing, warning-only failure paths, or hidden fallback behavior.
44
+ - No casts or `Any` that hide an unclear type relationship.
45
+ - Dataclasses for internal value/result objects; Pydantic at validation/serialization
46
+ boundaries.
47
+ - Narrow `Protocol`s when only a capability is needed.
48
+ - Explicit async/resource ownership, cancellation, and cleanup.
49
+ - Meaningful regression tests or verification for risky changes.
50
+ - Comments explain why, not what.
51
+
52
+ ## Reporting Format
53
+
54
+ Lead with findings ordered by severity. Each finding should include:
55
+
56
+ | Severity | Use for |
57
+ | -------- | ------- |
58
+ | `high` | A likely correctness, security, data-loss, or tenant/workspace isolation failure |
59
+ | `medium` | A concrete maintainability or boundary risk that can cause future defects |
60
+ | `low` | A minor consistency issue, ambiguous guidance, or review-only cleanup |
61
+
62
+ ```text
63
+ severity | file:line | risk category | claim
64
+ Why: concrete behavior or code path that proves the risk.
65
+ Fix: smallest practical change, or "none obvious" if the risk needs product input.
66
+ ```
67
+
68
+ If there are no findings, say so and note any verification gaps that remain.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: fix-pr-issues
3
+ description: Use when addressing Basic Memory pull request feedback, failed checks, or BM Bossbot blockers from Codex.
4
+ ---
5
+
6
+ # Fix Basic Memory PR Issues
7
+
8
+ Resolve PR feedback and failed checks, then wait for BM Bossbot to approve the
9
+ new head SHA. This skill never merges a PR.
10
+
11
+ ## Gather
12
+
13
+ 1. Identify the PR:
14
+ - `gh pr view --json number,url,headRefOid,mergeStateStatus,statusCheckRollup`
15
+
16
+ 2. Collect feedback:
17
+ - PR comments and review summaries
18
+ - inline review comments and unresolved review threads
19
+ - failed GitHub Actions jobs and relevant logs
20
+ - the managed `BM_BOSSBOT_SUMMARY` block in the PR body
21
+
22
+ 3. Build a short issue ledger:
23
+ - source
24
+ - concrete problem
25
+ - expected fix
26
+ - verification needed
27
+
28
+ ## Fix
29
+
30
+ 1. Address one ledger item at a time.
31
+ 2. Read each file in full before editing it.
32
+ 3. Keep diffs narrow and preserve unrelated user changes.
33
+ 4. Run the smallest meaningful verification first, then widen as needed.
34
+ 5. Commit with `git commit -s` when code or docs changed.
35
+
36
+ ## Push And Recheck
37
+
38
+ 1. Push the branch.
39
+ 2. Watch checks for the new `headRefOid`.
40
+ 3. Wait for the required `BM Bossbot Approval` status to pass on that exact SHA.
41
+ 4. If BM Bossbot reviews an older SHA, treat the approval as stale and keep
42
+ waiting for the current one.
43
+
44
+ ## Reply
45
+
46
+ For each addressed comment or blocker, reply with the fix commit, verification
47
+ run, and current BM Bossbot status. Do not resolve or dismiss substantive
48
+ feedback without evidence.
@@ -0,0 +1,7 @@
1
+ interface:
2
+ display_name: "Fix PR Issues"
3
+ short_description: "Address PR feedback and BM Bossbot blockers"
4
+ icon_small: "./assets/icon.svg"
5
+ icon_large: "./assets/icon.svg"
6
+ brand_color: "#2563EB"
7
+ default_prompt: "Use $fix-pr-issues to address PR feedback and wait for BM Bossbot Approval on the latest head SHA."
@@ -0,0 +1,5 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="128" height="128" viewBox="0 0 24 24" fill="none" stroke="#111827" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round">
2
+ <path d="M3 12h4l2-6 4 12 2-6h6"/>
3
+ <path d="M4 20h16"/>
4
+ </svg>
5
+