basic-memory 0.23.1.dev27__tar.gz → 0.23.2.dev2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.claude-plugin/marketplace.json +2 -2
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/CHANGELOG.md +10 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/PKG-INFO +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/__init__.py +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/plugin.yaml +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/package.json +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/.claude-plugin/marketplace.json +2 -2
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/.claude-plugin/plugin.json +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/pre_compact.py +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/session_start.py +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/.codex-plugin/plugin.json +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/pre_compact.py +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/session_start.py +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/server.json +2 -2
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/__init__.py +1 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/accepted_note_mutation_runner.py +99 -7
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/move_note.py +12 -1
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/utils.py +46 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_knowledge_router.py +110 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_accepted_note_mutation_runner.py +260 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_move_note.py +69 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_write_note.py +25 -0
- basic_memory-0.23.2.dev2/tests/utils/test_resolve_directory_casing.py +63 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/plugins/marketplace.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/prompts/refute.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/prompts/review.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/schemas/findings.schema.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/adversarial-review/schemas/verdicts.schema.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/references/handles-and-identify.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/references/panes-surfaces.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/references/trigger-flash-and-health.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux/references/windows-workspaces.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-markdown/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-markdown/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-markdown/references/commands.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-markdown/references/live-reload.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/references/all-keys.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/references/shortcut-actions.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-settings/scripts/cmux-settings +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-workspace/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-workspace/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/cmux-workspace/references/commands.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/code-review/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/fix-pr-issues/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/fix-pr-issues/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/fix-pr-issues/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/references/prompt-blueprint.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/infographics/references/style-balance.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/javascript/frameworks.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/javascript/patterns.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/python/integrations.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/python/logging-patterns.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/instrumentation/references/rust/patterns.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pr-create/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pr-create/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pr-create/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pr-description/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pr-description/references/pr-body-template.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pr-review-loop/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pull-request/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/context/AGENTS.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/context/pyproject.toml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/evals.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/accepted_preparation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/accepted_snapshot.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/shared_runtime_ownership.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/test_accepted_preparation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/evals/files/test_accepted_snapshot.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/justfile +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.agents/skills/pythonic-code/scripts/run_evals.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.claude/commands/release/beta.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.claude/commands/release/changelog.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.claude/commands/release/release-check.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.claude/commands/release/release.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.claude/commands/spec.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.claude/commands/test-live.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.claude/settings.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.codex/basic-memory.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.dockerignore +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.env.example +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.gitattributes +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/basic-memory/SOUL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/basic-memory/config.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/basic-memory/memory-ci-capture.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/dependabot.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/claude-code-review.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/claude-issue-triage.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/claude.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/consolidated-packages.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/dev-release.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/docker.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/mcp-registry-publish.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/pr-title.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/publish-skills.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/release.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.github/workflows/test.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.gitignore +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/.python-version +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/AGENTS.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/CITATION.cff +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/CLA.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/CLAUDE.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/CODE_OF_CONDUCT.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/CONTRIBUTING.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/Dockerfile +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/LICENSE +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/NOTE-FORMAT.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/SECURITY.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/.github/workflows/benchmark-nightly.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/.github/workflows/benchmark-smoke.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/.gitignore +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/.python-version +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/AGENTS.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/locomo/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/locomo/download.sh +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/locomo/source.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/longmemeval/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/datasets/longmemeval/download.sh +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/results/matrix-v1.2-summary.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/results/matrix-v2-summary.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/results/structured-ingestion-findings.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/synthetic/docs/agent-memory.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/synthetic/docs/auth-memory.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/synthetic/docs/sync-memory.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/benchmarks/synthetic/queries.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/docs/benchmarks.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/docs/read-load-benchmark.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/docs/write-load-benchmark.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/justfile +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/pyproject.toml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/scripts/read_load_bench.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/scripts/write_load_bench.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/__main__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/bm_runtime.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/cli.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/concurrent_write.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/convomem_to_corpus.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/locomo_to_corpus.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/longmemeval_to_corpus.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/converters/structure_corpus.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/convomem.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/locomo.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/locomo_audit.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/longmemeval.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/exceptions.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/fairness.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/llm/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/llm/runners.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/models.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/base.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/baseline_fullcontext.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/baseline_grep.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/bm_cloud.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/bm_local.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/mem0_local.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/supermemory_local.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/providers/zep_reference.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/reporting/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/reporting/artifacts.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/reporting/compare.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/diagnose.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/qa.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/retrieval.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/review.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/src/basic_memory_benchmarks/utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/test-int/test_compare_regression.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/test-int/test_runner_orchestration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/converters/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/converters/test_convomem_converter.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/converters/test_locomo_audit_corrections.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/converters/test_longmemeval_converter.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/llm/test_runners.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/providers/test_baseline_providers.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/providers/test_bm_local_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/providers/test_mem0_normalization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/providers/test_supermemory_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_cli_surface.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_concurrent_write.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_diagnose.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_fairness.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_manifest_schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_qa_scoring.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_retrieval_metrics.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_review.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_runner_grouped.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/tests/test_structure_corpus.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/benchmarks/uv.lock +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docker-compose-postgres.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docker-compose.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/ARCHITECTURE.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/DOMAIN_MODEL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/Docker.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/ENGINEERING_STYLE.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/NOTE-FORMAT.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/REDIS_READ_CACHE_PLAN.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/SPEC-PER-PROJECT-ROUTING.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/TRANSACTION_ISOLATION.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/ai-assistant-guide-extended.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/auto-bm-webhook-test.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/character-handling.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/cloud-cli.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/cloud-semantic-search-value.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/litellm-provider.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/logfire-instrumentation-strategy.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/manual-pages.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/mcp-ui-bakeoff-instructions.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/metadata-search.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/post-v0.18.0-test-plan.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/releases/v0.19.0.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/semantic-search-test-log.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/semantic-search.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/specs/SPEC-LOCAL-PLUS-PUBLISH.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/specs/SPEC-SCHEMA-IMPL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/specs/SPEC-SCHEMA.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/docs/testing-coverage.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/glama.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/.coveragerc +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/.github/workflows/integration.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/.github/workflows/pr-title.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/.github/workflows/release.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/.github/workflows/test.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/.gitignore +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/CHANGELOG.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/LICENSE +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/MONKEYPATCH.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/justfile +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/pytest.ini +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/requirements-dev.txt +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/skill/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/stubs/agent/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/stubs/agent/memory_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/stubs/tools/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/stubs/tools/registry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_actor.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_capture.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_child_env.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_helpers.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_lifecycle.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_prefetch.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/hermes/tests/test_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/.githooks/pre-commit +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/.github/workflows/ci.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/.github/workflows/release.yml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/.gitignore +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/AGENTS.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/BASIC_MEMORY.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/CLAUDE.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/CONTEXT_ENGINE_PLAN.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/DEVELOPMENT.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/LICENSE +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/MEMORY_TASK_FLOW.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/SECURITY.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/biome.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/bm-client.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/bm-client.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/bun.lock +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/commands/cli.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/commands/skills.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/commands/skills.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/commands/slash.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/config.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/config.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/context-engine/basic-memory-context-engine.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/context-engine/basic-memory-context-engine.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/hooks/capture.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/hooks/capture.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/hooks/recall.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/hooks/recall.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/index.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/index.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/integration/bm-client.integration.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/justfile +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/logger.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/logger.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/openclaw.plugin.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/schema/conversation-schema.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/schema/task-schema.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/scripts/bm-local.sh +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/scripts/fetch-skills.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/scripts/setup-bm.sh +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/build-context.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/build-context.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/delete-note.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/delete-note.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/edit-note.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/edit-note.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/list-memory-projects.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/list-memory-projects.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/list-workspaces.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/list-workspaces.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/memory-provider.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/memory-provider.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/move-note.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/move-note.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/read-note.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/read-note.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-diff.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-diff.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-infer.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-infer.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-validate.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/schema-validate.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/search-notes.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/search-notes.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/write-note.test.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tools/write-note.ts +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tsconfig.build.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/integrations/openclaw/tsconfig.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/justfile +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/llms-install.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/CHANGELOG.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/DESIGN.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/docs/architecture.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/docs/getting-started.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/docs/why-combine-memory.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/hooks.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/test_claude_pre_compact.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/test_claude_session_start.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/justfile +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/output-styles/basic-memory.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/coding-session.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/decision.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/manpage.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/session.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/schemas/task.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/settings.example.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-checkpoint/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-decide/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-orient/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-remember/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-setup/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-share/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-status/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/skills/bm-writing/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/.mcp.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/DEVELOPMENT.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/assets/app-icon.png +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/assets/logo.png +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/hooks.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/test_codex_pre_compact.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/hooks/test_codex_session_start.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/justfile +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/schemas/codex-session.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/schemas/coding-session.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/schemas/decision.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/schemas/task.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-checkpoint/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-checkpoint/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-checkpoint/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-decide/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-decide/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-decide/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-orient/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-orient/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-orient/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-remember/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-remember/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-remember/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-setup/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-setup/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-setup/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-share/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-share/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-share/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-status/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-status/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-status/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-writing/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-writing/agents/openai.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/codex/skills/bm-writing/assets/icon.svg +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/pyproject.toml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/scripts/build_skills_dist.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/scripts/edit-issue-labels.sh +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/scripts/testmon_cache.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/scripts/update_versions.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/scripts/validate_claude_plugin.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/scripts/validate_codex_plugin.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/scripts/validate_hermes_plugin.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/scripts/validate_skills.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/AGENTS.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/CLAUDE.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/DEVELOPMENT.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/justfile +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-capture/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-ci-capture/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-continue/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-curate/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-defrag/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-ingest/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-lifecycle/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-literary-analysis/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-metadata-search/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-notes/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/evals/evals.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/references/assistant-setup.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/references/conventions.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/references/domain-playbooks.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-onboarding/references/schema-guide.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-reflect/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-research/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-schema/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/memory-tasks/SKILL.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills/skills-lock.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/skills-lock.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/smithery.yaml +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/alembic.ini +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/env.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/migrations.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/script.py.mako +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/2d26b287813b_dedupe_observations_and_purge_stale_.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/314f1ea54dc4_add_postgres_full_text_search_support_.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/6830751f5fb6_merge_multiple_heads.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/7f6a2b8c9d10_index_full_postgres_note_content.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/9d9c1cb7d8f5_add_mtime_and_size_columns_to_entity_.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/a1b2c3d4e5f6_fix_project_foreign_keys.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/a2b3c4d5e6f7_add_search_index_entity_cascade.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/d7e8f9a0b1c2_add_structured_metadata_indexes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/e7e1f4367280_add_scan_watermark_tracking_to_project.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/f8a9b2c3d4e5_add_pg_trgm_for_fuzzy_link_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/g9a0b3c4d5e6_add_external_id_to_project_and_entity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/h1b2c3d4e5f6_add_postgres_vector_search_tables.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/i2c3d4e5f6g7_auto_backfill_semantic_embeddings.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/j3d4e5f6g7h8_rename_entity_type_to_note_type.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/k4e5f6g7h8i9_add_created_by_and_last_updated_by_to_entity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/l5g6h7i8j9k0_add_note_content_table.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/m6h7i8j9k0l1_add_vector_sync_fingerprints.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/n7i8j9k0l1m2_cleanup_sqlite_search_orphans.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/o8j9k0l1m2n3_add_note_file_vacate_table.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/p9k0l1m2n3o4_add_vector_index_manifest_state.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/q0l1m2n3o4p5_add_relation_search_refresh_table.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/alembic/versions/r1m2n3o4p5q6_add_relation_generation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/app.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/container.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/template_loader.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/directory_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/importer_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/inspect_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/knowledge_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/memory_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/project_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/prompt_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/resource_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/schema_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/routers/search_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/api/v2/utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/ci/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/ci/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/ci/project_updates.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/analytics.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/app.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/auth.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/auto_update.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/ci.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/api_client.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/bisync_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/cloud_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/core_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/project_sync.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/rclone_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/rclone_config.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/rclone_installer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/restore.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/schemas.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/shares.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/snapshot.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/transfer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/upload.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/upload_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/webdav.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/webdav_transfer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/cloud/workspace.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/command_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/config.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/db.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/doctor.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/format.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/hook.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/inspect.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/man.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/mcp.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/orphans.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/project.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/routing.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/status.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/tool.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/update.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/commands/workspace.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/container.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/main.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/cli/promo.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/config.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/config_logging.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/config_migrations.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/config_models.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/db.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/config.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/db.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/importers.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/projects.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/read_cache.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/repositories.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/deps/services.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/file_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/_uuid7.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/adapters/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/adapters/base.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/adapters/claude.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/adapters/codex.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/archive.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/envelope.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/inbox.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/hooks/project_ref.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/ignore_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/base.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/chatgpt_importer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/claude_conversations_importer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/claude_projects_importer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/memory_json_importer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/project_zip_import.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/importers/utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/event_operations.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/filesystem.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/inline_operations.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_dependencies.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_moves.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_notes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_project.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_runtime.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_schedulers.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/local_watch.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/note_content_materialization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/project_indexing.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/repository_project_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/schedulers.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/storage_events.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/watch_coordinator.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/index/watch_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/accepted_note_enqueue_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/accepted_note_search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/accepted_note_write_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/batch_indexer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/batching.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/change_detector.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/change_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/directory_delete_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/embedding_index_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/external_file_delete_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/file_batch_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/file_index_checking.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/file_index_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/file_indexer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/forward_reference_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/index_batch_runtime.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/index_file_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/index_file_runtime.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/input_file_adaptation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/job_payloads.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/link_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/models.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_content_batch_reconciliation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_content_read_repair_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_content_reconciler.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_content_reconciliation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_file_delete_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/note_materialization_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/orphan_cleanup.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/progress.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_delete_acceptance.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_delete_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_coordinator.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_maintenance.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_progress.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_runtime.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_workflow.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_workflow_models.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_workflow_stale.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/project_index_workflow_updates.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/relation_persistence.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/indexing/relation_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/man/basic-memory.1 +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/man/bm.1 +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/entity_parser.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/markdown_processor.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/plugins.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/schemas.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/markdown/utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/async_client.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/client_info.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/directory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/inspect.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/knowledge.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/memory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/project.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/resource.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/clients/search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/container.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/note_reads.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/project_context.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/project_context_identifiers.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/getting_started.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/prompts/utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/resources/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/resources/ai_assistant_guide.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/resources/project_info.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/server.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/basic_memory_diagnostics.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/build_context.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/chatgpt_tools.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/delete_note.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/edit_note.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/list_directory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/project_management.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/read_content.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/read_note.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/recent_activity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/ui_sdk.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/view_note.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/workspaces.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/write_note.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/note-preview-mcp-ui.html +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/note-preview-tool-ui.html +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/note-preview-vanilla.html +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/search-results-mcp-ui.html +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/search-results-tool-ui.html +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/html/search-results-vanilla.html +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/sdk.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/ui/templates.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/workspace_project_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/migration_loop.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/models/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/models/base.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/models/knowledge.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/models/project.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/models/relation_search_refresh.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/models/search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/diff.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/inference.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/parser.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/resolver.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/picoschema/validator.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/project_resolver.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/contract.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/invalidation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/keys.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/lifecycle.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/policy.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/read_through.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/read_cache/redis.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/redaction.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/accepted_note_repositories.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/accepted_note_search_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/accepted_note_search_row.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/accepted_note_vector_cleanup.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/embedding_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/embedding_provider_factory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/entity_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/fastembed_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/fastembed_rerank_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/litellm_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/litellm_rerank_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/metadata_filters.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/milvus_config.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/milvus_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/milvus_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/note_content_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/note_file_vacate_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/observation_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/openai_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/pgvector_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/postgres_search_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/prefixing_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/project_info_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/project_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/relation_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/rerank_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/rerank_provider_factory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_index_row.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_query.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_repository_base.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/search_trace.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_chunking.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_errors.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_vector_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_vector_index_factory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/semantic_vector_sync.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/sqlite_search_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/repository/sqlite_vec_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/accepted_note_changes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/cleanup.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/job_payloads.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/jobs.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/mode.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_content.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_content_deletes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_content_reads.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_content_responses.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_file_guards.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_materialization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_materialization_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_move.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/note_object_metadata.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/observed_index_files.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/process.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/projects.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/sample_notes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/storage.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/storage_events.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/storage_project_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/vector_sync.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/runtime/workflows.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/base.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/cloud.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/delete.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/directory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/importer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/inspect.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/memory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/project_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/project_info.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/prompt.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/request.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/response.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/v2/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/v2/entity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/v2/graph.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/schemas/v2/project_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/bulk_link_resolver.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/composition.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/context_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/directory_deletes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/directory_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/entity_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/exceptions.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/file_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/initialization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/link_resolver.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/note_content_reads.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/note_content_writes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/note_preparation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/project_deletes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/project_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/retrieval_inspect.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/search_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/services/service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/templates/prompts/continue_conversation.hbs +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/templates/prompts/search.hbs +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/workspace_context.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/BENCHMARKS.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_cli_tool_read_note_security_error.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_cli_tool_recent_activity_page_size.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_cli_tool_search_notes_category.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_cli_tool_write_note_parity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_move_note_edge_cases.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_navigation_pagination_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/bughunt_fixes/test_parse_tags_comma_split_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_delete_note_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_edit_note_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_json_failure_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_json_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_cli_tool_write_note_type_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_project_commands_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_routing_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_search_notes_meta_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_status_wait_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/cli/test_version_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/compare_search_benchmarks.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-01.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-02.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-03.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-04.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-05.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-06.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-07.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-08.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-09.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-10.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-11.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-12.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-13.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-14.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-15.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-16.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-17.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-18.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-19.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/people/drift-person-20.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/drift/schema/Person.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/array-single.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/empty-note.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/explicit-overrides-type.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/inline-and-type.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/no-frontmatter.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/relation-only.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/type-no-schema.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/edge-cases/unicode-fields.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/ada-lovelace.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/alan-turing.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/anders-hejlsberg.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/andrej-karpathy.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/barbara-liskov.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/bjarne-stroustrup.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/brendan-eich.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/claude-shannon.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/dennis-ritchie.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/dijkstra.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/donald-knuth.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/fei-fei-li.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/geoffrey-hinton.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/grace-hopper.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/guido-van-rossum.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/james-gosling.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/john-carmack.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/ken-thompson.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/larry-page.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/leslie-lamport.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/linus-torvalds.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/margaret-hamilton.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/rasmus-lerdorf.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/richard-stallman.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/rob-pike.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/satoshi-nakamoto.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/tim-berners-lee.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/vint-cerf.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/yann-lecun.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/inference/people/yukihiro-matsumoto.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/Book.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/InvalidOffSchema.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/Meeting.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/Person.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/SoftwareProject.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/schemas/StrictSchema.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/basic-memory.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/explicit-ref-note.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/no-schema-note.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/paul-graham.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/rich-hickey.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/valid/standup-2024-01-15.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/warnings/extra-observations.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/warnings/missing-multiple.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/warnings/missing-required.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/fixtures/schema/warnings/wrong-enum-value.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_build_context_underscore.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_build_context_validation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_chatgpt_tools_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_concurrent_write_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_default_project_mode_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_delete_directory_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_delete_note_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_edit_note_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_lifespan_shutdown_sync_task_cancellation_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_list_directory_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_long_relation_type_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_move_directory_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_move_note_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_observation_permalink_collision_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_output_format_json_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_pagination_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_param_aliases_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_permalink_collision_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_project_management_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_project_state_sync_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_read_content_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_read_note_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_recreate_project_indexing_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_search_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_search_note_types_case_insensitive.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_single_project_mcp_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_smoke_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_string_params_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_ui_sdk_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_workspace_permalink_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_write_note_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/mcp/test_write_note_type_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/read_cache/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_api_read_cache.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_materialization_invalidation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_mcp_read_cache.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_read_cache_benchmark.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_redis_read_cache.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_runtime_invalidation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/read_cache/test_search_read_cache.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/corpus.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/litellm_live_harness.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/metrics.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/report.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_embedding_provider_reuse.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_litellm_live_harness.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_litellm_live_models.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_milvus_lite.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_multiterm_semantic_queries.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_real_fastembed_reranker.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_reranker_latency.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_reranker_quality.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_search_diagnostics.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_semantic_coverage.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/semantic/test_semantic_quality.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_db_wal_mode.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_embedding_status_vec0.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_note_file_vacate_atomicity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_note_materialization_lock_order.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/helpers.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/test_diff_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/test_inference_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/test_parser_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_picoschema/test_validator_integration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_postgres_dispose_cycle.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_project_index_delete_materialization_race.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_relation_generation_concurrency.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/test-int/test_search_performance_benchmark.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/Non-MarkdownFileSupport.pdf +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/README.md +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/Screenshot.png +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/test_container.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_accepted_note_atomicity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_directory_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_entity_observation_lock_order.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_importer_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_inspect_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_knowledge_resolution_contract.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_knowledge_router_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_memory_hydration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_memory_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_orphan_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_project_index_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_project_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_prompt_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_resource_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_schema_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_search_hydration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_search_router.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_search_router_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_utils_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_workspace_permalink_headers.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_bmignore_sync_filter_refresh.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_cloud_api_client_and_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_project_sync_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_rclone_config_and_bmignore_filters.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_rclone_installer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_upload_command_routing.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_upload_path.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_webdav_client.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/cloud/test_webdav_transfer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_analytics.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_auth_cli_auth.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_auto_update.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_ci_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_container.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_exit.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_tool_exit.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_tool_json_output.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_tool_rich_output.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cli_tools.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cloud_authentication.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cloud_promo.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_cloud_status.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_coding_session_context.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_command_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_config_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_db_reindex.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_db_reset_exit.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_db_reset_zombie_check.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_doctor_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_hook_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_ignore_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_import_chatgpt.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_import_claude_conversations.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_import_claude_projects.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_import_memory_json.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_inspect_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_json_output.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_man_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_orphans_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_project_add_with_local_path.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_project_info_cloud_status.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_project_info_errors.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_project_list_and_ls.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_project_remove_errors.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_project_set_cloud_local.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_restore_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_routing.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_share_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_snapshot_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_status_wait_timeout.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_update_command.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_upload.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_workspace_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cli/test_workspace_stub.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cloud/test_cloud_services.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cloud/test_note_content_materialization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cloud/test_note_content_read_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/cloud/test_project_deletes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/db/test_issue_254_foreign_key_constraints.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/db/test_memory_db_session_isolation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/db/test_semantic_search_startup.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/db/test_uvloop_policy.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/fixtures/claude_pre_compact.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/fixtures/claude_session_start.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/fixtures/codex_pre_compact.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/fixtures/codex_session_start.json +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/test_adapters.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/test_archive.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/test_envelope.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/test_inbox.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/hooks/test_uuid7.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/importers/test_conversation_indexing.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/importers/test_importer_base.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/importers/test_importer_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/importers/test_project_zip_import.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_filesystem_events.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_inline_storage_event_processor.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_accepted_note_repositories.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_inline_result_recorder.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_markdown_file_indexer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_move_content_updates.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_project_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_project_scan_parity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_project_vector_cleaner_wiring.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_reconcile_file_reader.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_runtime.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_scheduler_task_failure.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_schedulers.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_ignore_parity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_orchestration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_regular_file_parity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_semantic_embedding.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_local_watch_stress_parity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_project_index_surface.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_repository_storage_event_project_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_storage_event_operation_processor.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_storage_event_orchestration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_watch_coordinator.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/index/test_watch_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_accepted_note_enqueue_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_accepted_note_search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_accepted_note_write_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_batch_index_search_writer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_batch_indexer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_batching.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_change_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_directory_delete_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_embedding_index_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_external_file_delete_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_batch_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_index_checking.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_index_models.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_index_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_file_indexer.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_forward_reference_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_index_batch_runtime.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_index_file_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_indexing_job_payloads.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_input_file_adaptation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_link_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_models.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_content_batch_reconciliation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_content_read_repair_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_content_reconciler.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_content_reconciliation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_file_delete_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_note_materialization_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_orphan_cleanup.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_progress_models.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_delete_acceptance.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_delete_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_coordinator.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_maintenance.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_progress.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_runner.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_runtime.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_project_index_workflow.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_relation_persistence.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_relation_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_relation_resolution_scaling.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_relation_search_refresh_retry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/indexing/test_vector_sync_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_date_frontmatter_parsing.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_entity_parser.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_entity_parser_error_handling.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_markdown_plugins.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_markdown_processor.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_markdown_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_observation_edge_cases.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_parser_edge_cases.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_relation_edge_cases.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/markdown/test_task_detection.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/clients/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/clients/test_clients.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/conftest.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_async_client_force_local.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_async_client_modes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_async_client_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_client_info.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_client_schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_client_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_first_connect_onboarding.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_mcp_container.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_mcp_note_type_normalization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_obsidian_yaml_formatting.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_project_context.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_project_context_scoped_key.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_project_context_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_prompt_tool_delegation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_prompts.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_read_note_request_counts.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_recent_activity_prompt_modes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_resources.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_search_total_exactness.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_server_lifespan_branches.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_server_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_basic_memory_diagnostics.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_build_context.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_contracts.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_delete_note.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_edit_note.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_json_output_modes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_list_directory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_project_management.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_read_content.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_read_note.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_recent_activity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_resource.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_schema.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_utils_cloud_auth.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_view_note.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_workspace_management.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_write_note_kebab_filenames.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_tool_write_note_metadata.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_ui_sdk.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_ui_templates.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/test_workspace_permalink_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/tools/test_chatgpt_tools.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/tools/test_mutating_memory_url_routing.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/mcp/tools/test_search_notes_multi_project.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/picoschema/__init__.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/picoschema/test_diff.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/picoschema/test_inference.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/picoschema/test_parser.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/picoschema/test_resolver.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/picoschema/test_validator.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_accepted_note_search_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_accepted_pending_entity_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_chunk_inspection.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_distance_to_similarity.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_entity_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_entity_repository_upsert.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_entity_upsert_issue_187.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_explicit_session_transactions.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_external_vector_cleanup.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_fastembed_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_fastembed_rerank_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_hybrid_fusion.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_litellm_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_litellm_rerank_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_metadata_filters.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_metadata_filters_edge_cases.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_milvus_config.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_milvus_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_milvus_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_note_content_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_note_file_vacate_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_observation_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_openai_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_pgvector_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_postgres_search_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_postgres_search_repository_unit.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_prefixing_provider.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_project_info_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_project_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_relation_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_rerank_pipeline.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_rerank_provider_factory.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_search_index_row.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_search_relaxation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_search_relaxation_unicode_classes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_search_relaxed_rendering.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_search_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_search_repository_edit_bug_fix.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_search_text_with_metadata_filters.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_search_trace.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_semantic_chunking.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_semantic_search_base.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_semantic_vector_index.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_semantic_vector_sync.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_sqlite_vector_search_repository.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_vector_manifest_generation_ownership.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_vector_pagination.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/repository/test_vector_threshold.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_accepted_note_response_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_accepted_note_write_guards.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_deleted_note_file_checksum.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_deleted_note_response.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_job_request_contracts.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_note_content_read_planning.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_note_content_store_materialization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_note_materialization_request_matching.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_note_move_destination.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_pending_note_materialization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_previous_materialized_note_file_delete.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_process.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_runtime_job_payloads.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_sample_notes.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/runtime/test_workflow_metadata.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/schemas/test_base_timeframe_minimum.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/schemas/test_memory_serialization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/schemas/test_memory_url.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/schemas/test_memory_url_validation.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/schemas/test_relation_response_reference_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/schemas/test_schemas.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/schemas/test_search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_bulk_link_resolver.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_context_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_directory_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_disable_permalinks.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_heading_boundaries.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_prepare.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_entity_service_write_result.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_file_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_initialization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_initialization_cloud_mode_branches.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_link_resolver.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_note_type_normalization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_project_removal_bug.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_project_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_project_service_cloud_info.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_project_service_composition.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_project_service_embedding_status.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_project_service_operations.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_search_service.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_search_service_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_semantic_search.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_semantic_timestamp_surfaces.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/services/test_upsert_entity_optimization.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_alembic_env.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_architecture_boundaries.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_claude_issue_triage.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_claude_plugin_hooks.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_codex_plugin_package.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_coerce.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_config.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_config_load_side_effects.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_deps.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_migration_loop.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_note_content_migration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_permalink_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_postgres_full_content_search_migration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_pr_title_workflow.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_production_cascade_delete.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_project_resolver.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_rclone_commands.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_read_cache_lifecycle.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_read_cache_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_read_load_bench.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_runtime.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_runtime_observed_index_files.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_runtime_storage_events.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_runtime_storage_project_resolution.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_semantic_vector_index_migration.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_telemetry.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/test_update_versions.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/utils/test_file_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/utils/test_frontmatter_obsidian_compatible.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/utils/test_parse_tags.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/utils/test_permalink_formatting.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/utils/test_setup_logging.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/utils/test_timezone_utils.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/utils/test_utf8_handling.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/utils/test_validate_project_path.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/utils/test_workspace_context.py +0 -0
- {basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/uv.lock +0 -0
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Official Basic Memory plugins from the canonical basic-memory repository",
|
|
9
|
-
"version": "0.23.
|
|
9
|
+
"version": "0.23.1"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "basic-memory",
|
|
14
14
|
"source": "./plugins/claude-code",
|
|
15
15
|
"description": "The bridge between Claude's working memory and Basic Memory's durable knowledge graph \u2014 session briefings, pre-compaction checkpoints, and capture reflexes",
|
|
16
|
-
"version": "0.23.
|
|
16
|
+
"version": "0.23.1",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Basic Machines"
|
|
19
19
|
},
|
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
- `write_note` and `move_note` no longer create case-duplicate folders
|
|
8
|
+
(`schemas/` beside an existing `Schemas/`). When a requested directory is
|
|
9
|
+
not an existing folder but matches exactly one existing folder
|
|
10
|
+
case-insensitively, the note lands in the existing folder; unknown folders
|
|
11
|
+
are still created as given, and existing case-variant siblings keep today's
|
|
12
|
+
exact behavior. Folders are resolved from the indexed database paths, so
|
|
13
|
+
local and cloud runtimes behave identically. (#1326)
|
|
14
|
+
|
|
5
15
|
## v0.23.1 (2026-08-25)
|
|
6
16
|
|
|
7
17
|
Fast-follow patch to v0.23.0 focused on PostgreSQL search parity and a
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: basic-memory
|
|
3
|
-
Version: 0.23.
|
|
3
|
+
Version: 0.23.2.dev2
|
|
4
4
|
Summary: Local-first knowledge management combining Zettelkasten with knowledge graphs
|
|
5
5
|
Project-URL: Homepage, https://github.com/basicmachines-co/basic-memory
|
|
6
6
|
Project-URL: Repository, https://github.com/basicmachines-co/basic-memory
|
|
@@ -6,14 +6,14 @@
|
|
|
6
6
|
},
|
|
7
7
|
"metadata": {
|
|
8
8
|
"description": "Official plugins from Basic Machines for knowledge management and AI-assisted development",
|
|
9
|
-
"version": "0.23.
|
|
9
|
+
"version": "0.23.1"
|
|
10
10
|
},
|
|
11
11
|
"plugins": [
|
|
12
12
|
{
|
|
13
13
|
"name": "basic-memory",
|
|
14
14
|
"source": "./",
|
|
15
15
|
"description": "The bridge between Claude's working memory and Basic Memory's durable knowledge graph \u2014 session briefings, pre-compaction checkpoints, and capture reflexes",
|
|
16
|
-
"version": "0.23.
|
|
16
|
+
"version": "0.23.1",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Basic Machines"
|
|
19
19
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "basic-memory",
|
|
3
3
|
"description": "The bridge between Claude's working memory and Basic Memory's durable knowledge graph \u2014 session briefings, pre-compaction checkpoints, and capture reflexes",
|
|
4
|
-
"version": "0.23.
|
|
4
|
+
"version": "0.23.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Basic Machines"
|
|
7
7
|
},
|
{basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/pre_compact.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# /// script
|
|
3
3
|
# requires-python = ">=3.12"
|
|
4
4
|
# dependencies = [
|
|
5
|
-
# "basic-memory>=0.23.
|
|
5
|
+
# "basic-memory>=0.23.1",
|
|
6
6
|
# # Direct pre-release pin so old uv resolves basic-memory (which
|
|
7
7
|
# # requires this exact beta transitively) without enabling
|
|
8
8
|
# # pre-releases for basic-memory itself. Keep in lockstep with
|
{basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/plugins/claude-code/hooks/session_start.py
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# /// script
|
|
3
3
|
# requires-python = ">=3.12"
|
|
4
4
|
# dependencies = [
|
|
5
|
-
# "basic-memory>=0.23.
|
|
5
|
+
# "basic-memory>=0.23.1",
|
|
6
6
|
# # Direct pre-release pin so old uv resolves basic-memory (which
|
|
7
7
|
# # requires this exact beta transitively) without enabling
|
|
8
8
|
# # pre-releases for basic-memory itself. Keep in lockstep with
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# /// script
|
|
3
3
|
# requires-python = ">=3.12"
|
|
4
4
|
# dependencies = [
|
|
5
|
-
# "basic-memory @ git+https://github.com/basicmachines-co/basic-memory@v0.23.
|
|
5
|
+
# "basic-memory @ git+https://github.com/basicmachines-co/basic-memory@v0.23.1",
|
|
6
6
|
# # Direct pre-release pin so old uv resolves basic-memory (which
|
|
7
7
|
# # requires this exact beta transitively) without enabling
|
|
8
8
|
# # pre-releases broadly. Keep in lockstep with core pyproject.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# /// script
|
|
3
3
|
# requires-python = ">=3.12"
|
|
4
4
|
# dependencies = [
|
|
5
|
-
# "basic-memory @ git+https://github.com/basicmachines-co/basic-memory@v0.23.
|
|
5
|
+
# "basic-memory @ git+https://github.com/basicmachines-co/basic-memory@v0.23.1",
|
|
6
6
|
# # Direct pre-release pin so old uv resolves basic-memory (which
|
|
7
7
|
# # requires this exact beta transitively) without enabling
|
|
8
8
|
# # pre-releases broadly. Keep in lockstep with core pyproject.
|
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
"url": "https://github.com/basicmachines-co/basic-memory.git",
|
|
7
7
|
"source": "github"
|
|
8
8
|
},
|
|
9
|
-
"version": "0.23.
|
|
9
|
+
"version": "0.23.1",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "pypi",
|
|
13
13
|
"identifier": "basic-memory",
|
|
14
|
-
"version": "0.23.
|
|
14
|
+
"version": "0.23.1",
|
|
15
15
|
"runtimeHint": "uvx",
|
|
16
16
|
"runtimeArguments": [
|
|
17
17
|
{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"""basic-memory - Local-first knowledge management combining Zettelkasten with knowledge graphs"""
|
|
2
2
|
|
|
3
3
|
# Package version - updated by release automation
|
|
4
|
-
__version__ = "0.23.
|
|
4
|
+
__version__ = "0.23.1"
|
|
5
5
|
|
|
6
6
|
# API version for FastAPI - independent of package version
|
|
7
7
|
__api_version__ = "v2"
|
|
@@ -60,6 +60,7 @@ from basic_memory.runtime.storage import (
|
|
|
60
60
|
)
|
|
61
61
|
from basic_memory.schemas.base import Entity as EntitySchema
|
|
62
62
|
from basic_memory.schemas.request import EditEntityRequest
|
|
63
|
+
from basic_memory.utils import resolve_directory_casing
|
|
63
64
|
|
|
64
65
|
type AcceptedNoteMutationChange = RuntimeAcceptedNoteChange[RuntimeNoteContentResponsePayload]
|
|
65
66
|
type AcceptedNoteMutationUserProfileId = UUID
|
|
@@ -233,6 +234,11 @@ class AcceptedNoteMutationEntityRepository(Protocol):
|
|
|
233
234
|
load_relations: bool = False,
|
|
234
235
|
) -> Entity | None: ...
|
|
235
236
|
|
|
237
|
+
async def get_distinct_directories(
|
|
238
|
+
self,
|
|
239
|
+
session: AsyncSession,
|
|
240
|
+
) -> list[str]: ...
|
|
241
|
+
|
|
236
242
|
|
|
237
243
|
class AcceptedNoteMutationNoteContentRepository(Protocol):
|
|
238
244
|
"""note_content lookup capability for accepted-note mutations."""
|
|
@@ -379,6 +385,58 @@ async def resolve_accepted_note_source_checksum(
|
|
|
379
385
|
)
|
|
380
386
|
|
|
381
387
|
|
|
388
|
+
async def resolve_accepted_note_directory(
|
|
389
|
+
session: AsyncSession,
|
|
390
|
+
*,
|
|
391
|
+
project_id: ProjectId,
|
|
392
|
+
directory: str,
|
|
393
|
+
dependencies: AcceptedNoteMutationDependencies,
|
|
394
|
+
) -> str:
|
|
395
|
+
"""Resolve a requested note directory against existing folder casing (#1326).
|
|
396
|
+
|
|
397
|
+
Trigger: the requested directory is not an existing folder but matches
|
|
398
|
+
exactly one existing folder case-insensitively.
|
|
399
|
+
Why: LLM callers guess plausible casing ("schemas" beside an existing
|
|
400
|
+
"Schemas/"); on case-sensitive storage (cloud object storage) the guess
|
|
401
|
+
silently creates a case-duplicate sibling folder. Folders are derived
|
|
402
|
+
from indexed entity file paths in the DB, never by probing storage, so
|
|
403
|
+
local and cloud runtimes resolve identically.
|
|
404
|
+
Outcome: a unique case-insensitive match adopts the existing folder's
|
|
405
|
+
casing; exact matches, unknown folders, and ambiguous case-variant
|
|
406
|
+
siblings keep the requested casing unchanged.
|
|
407
|
+
"""
|
|
408
|
+
if not directory:
|
|
409
|
+
return directory
|
|
410
|
+
entity_repository = dependencies.lookup_repositories.entity_repository(project_id)
|
|
411
|
+
existing_directories = await entity_repository.get_distinct_directories(session)
|
|
412
|
+
return resolve_directory_casing(directory, existing_directories)
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
async def resolve_accepted_note_schema_directory(
|
|
416
|
+
session: AsyncSession,
|
|
417
|
+
*,
|
|
418
|
+
project_id: ProjectId,
|
|
419
|
+
data: EntitySchema,
|
|
420
|
+
dependencies: AcceptedNoteMutationDependencies,
|
|
421
|
+
) -> EntitySchema:
|
|
422
|
+
"""Return the write schema with its directory resolved to existing casing.
|
|
423
|
+
|
|
424
|
+
The schema's ``file_path`` is computed from ``directory``, so adjusting the
|
|
425
|
+
directory redirects the conflict lookup, preparation, and permalink
|
|
426
|
+
resolution downstream. The caller's schema is never mutated: a resolved
|
|
427
|
+
directory yields a copy so route-owned request data stays as received.
|
|
428
|
+
"""
|
|
429
|
+
resolved_directory = await resolve_accepted_note_directory(
|
|
430
|
+
session,
|
|
431
|
+
project_id=project_id,
|
|
432
|
+
directory=data.directory,
|
|
433
|
+
dependencies=dependencies,
|
|
434
|
+
)
|
|
435
|
+
if resolved_directory == data.directory:
|
|
436
|
+
return data
|
|
437
|
+
return data.model_copy(update={"directory": resolved_directory})
|
|
438
|
+
|
|
439
|
+
|
|
382
440
|
async def run_accepted_note_create(
|
|
383
441
|
session: AsyncSession,
|
|
384
442
|
*,
|
|
@@ -501,10 +559,16 @@ async def _run_accepted_note_create(
|
|
|
501
559
|
dependencies=dependencies,
|
|
502
560
|
)
|
|
503
561
|
|
|
562
|
+
data = await resolve_accepted_note_schema_directory(
|
|
563
|
+
session,
|
|
564
|
+
project_id=project.id,
|
|
565
|
+
data=request.data,
|
|
566
|
+
dependencies=dependencies,
|
|
567
|
+
)
|
|
504
568
|
entity_repository = dependencies.lookup_repositories.entity_repository(project.id)
|
|
505
569
|
conflicting_entity = await entity_repository.get_by_file_path(
|
|
506
570
|
session,
|
|
507
|
-
|
|
571
|
+
data.file_path,
|
|
508
572
|
load_relations=False,
|
|
509
573
|
)
|
|
510
574
|
reject_accepted_note_file_path_conflict(
|
|
@@ -515,7 +579,7 @@ async def _run_accepted_note_create(
|
|
|
515
579
|
preparer = dependencies.preparer_factory.create_note_preparer(project)
|
|
516
580
|
prepared_write = await prepare_create_or_reject(
|
|
517
581
|
preparer,
|
|
518
|
-
|
|
582
|
+
data,
|
|
519
583
|
check_storage_exists=dependencies.verify_storage_absent_on_create,
|
|
520
584
|
session=session,
|
|
521
585
|
)
|
|
@@ -579,10 +643,26 @@ async def _run_accepted_note_update(
|
|
|
579
643
|
existing_file_path = entity.file_path if entity is not None else None
|
|
580
644
|
vacated_source: tuple[RuntimeFilePath, RuntimeFileChecksum | None] | None = None
|
|
581
645
|
|
|
646
|
+
# Trigger: the addressed entity already lives in the exact requested directory.
|
|
647
|
+
# Why: casing resolution scans every distinct entity file_path in the project,
|
|
648
|
+
# and content-only PUTs (e.g. repeated collaboration-relay saves of the
|
|
649
|
+
# same note) are the hot path where the directory cannot change; an exact
|
|
650
|
+
# match would resolve to itself anyway because exact match always wins.
|
|
651
|
+
# Outcome: only case-variant or relocating PUTs pay for the directory scan.
|
|
652
|
+
current_directory = existing_file_path.rpartition("/")[0] if existing_file_path else None
|
|
653
|
+
if current_directory == request.data.directory:
|
|
654
|
+
data = request.data
|
|
655
|
+
else:
|
|
656
|
+
data = await resolve_accepted_note_schema_directory(
|
|
657
|
+
session,
|
|
658
|
+
project_id=project.id,
|
|
659
|
+
data=request.data,
|
|
660
|
+
dependencies=dependencies,
|
|
661
|
+
)
|
|
582
662
|
await reject_conflicting_accepted_note_file_path(
|
|
583
663
|
session,
|
|
584
664
|
project_id=project.id,
|
|
585
|
-
file_path=
|
|
665
|
+
file_path=data.file_path,
|
|
586
666
|
allowed_entity_external_id=request.entity_external_id,
|
|
587
667
|
dependencies=dependencies,
|
|
588
668
|
)
|
|
@@ -600,7 +680,7 @@ async def _run_accepted_note_update(
|
|
|
600
680
|
reject_stale_base_checksum(current_db_checksum=None)
|
|
601
681
|
prepared_write = await prepare_create_or_reject(
|
|
602
682
|
preparer,
|
|
603
|
-
|
|
683
|
+
data,
|
|
604
684
|
check_storage_exists=dependencies.verify_storage_absent_on_create,
|
|
605
685
|
session=session,
|
|
606
686
|
)
|
|
@@ -630,7 +710,7 @@ async def _run_accepted_note_update(
|
|
|
630
710
|
try:
|
|
631
711
|
await preparer.verify_move_destination_absent(
|
|
632
712
|
source_file_path=entity.file_path,
|
|
633
|
-
destination_file_path=
|
|
713
|
+
destination_file_path=data.file_path,
|
|
634
714
|
)
|
|
635
715
|
except EntityAlreadyExistsError as error:
|
|
636
716
|
reject_accepted_note_mutation(AcceptedNoteMutationRejectKind.conflict, str(error))
|
|
@@ -644,7 +724,7 @@ async def _run_accepted_note_update(
|
|
|
644
724
|
# A PUT replacement may also rename the note. Capture the exact source bytes before
|
|
645
725
|
# persistence mutates the entity and note_content to the destination version so delayed
|
|
646
726
|
# cleanup cannot let a later project index recreate the old path as a ghost.
|
|
647
|
-
if
|
|
727
|
+
if data.file_path != entity.file_path:
|
|
648
728
|
vacated_source = (
|
|
649
729
|
entity.file_path,
|
|
650
730
|
await resolve_accepted_note_source_checksum(
|
|
@@ -693,7 +773,7 @@ async def _run_accepted_note_update(
|
|
|
693
773
|
preparer,
|
|
694
774
|
session,
|
|
695
775
|
entity=entity,
|
|
696
|
-
data=
|
|
776
|
+
data=data,
|
|
697
777
|
current_note_content=current_note_content,
|
|
698
778
|
user_profile_value=user_profile_value,
|
|
699
779
|
)
|
|
@@ -825,6 +905,18 @@ async def _run_accepted_note_move(
|
|
|
825
905
|
dependencies=dependencies,
|
|
826
906
|
)
|
|
827
907
|
existing_file_path = entity.file_path
|
|
908
|
+
# The destination filename keeps its requested casing; only the parent
|
|
909
|
+
# directory resolves against existing folders (issue #1326). The path is
|
|
910
|
+
# posix-normalized above, so rpartition splits directory from filename.
|
|
911
|
+
destination_directory, _, destination_filename = accepted_file_path.rpartition("/")
|
|
912
|
+
resolved_directory = await resolve_accepted_note_directory(
|
|
913
|
+
session,
|
|
914
|
+
project_id=project.id,
|
|
915
|
+
directory=destination_directory,
|
|
916
|
+
dependencies=dependencies,
|
|
917
|
+
)
|
|
918
|
+
if resolved_directory != destination_directory:
|
|
919
|
+
accepted_file_path = f"{resolved_directory}/{destination_filename}"
|
|
828
920
|
# Same-path moves fail fast everywhere by decision (2026-07-14): cloud's
|
|
829
921
|
# pre-unification route returned a 200 no-op, local rejected — the unified
|
|
830
922
|
# runner keeps the rejection so a mistaken identity move surfaces instead
|
{basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/src/basic_memory/mcp/tools/move_note.py
RENAMED
|
@@ -947,9 +947,20 @@ move_note("{identifier}", destination_folder="notes")
|
|
|
947
947
|
# the up-front detection: any divergence the caller did not ask for
|
|
948
948
|
# surfaces as a failure rather than a fake success.
|
|
949
949
|
# Outcome: report failure with the actual landing path instead of "✅".
|
|
950
|
+
# A case-only difference in the PARENT directories is the server resolving
|
|
951
|
+
# the destination folder to an existing folder's casing (#1326), not a
|
|
952
|
+
# boundary degradation — the success message below reports the actual
|
|
953
|
+
# landing path either way. The server always preserves the requested
|
|
954
|
+
# filename verbatim, so a basename divergence (even case-only) still
|
|
955
|
+
# reports the honest failure.
|
|
950
956
|
normalized_requested = PureWindowsPath(destination_path).as_posix().strip("/")
|
|
951
957
|
normalized_actual = PureWindowsPath(result.file_path).as_posix().strip("/")
|
|
952
|
-
|
|
958
|
+
requested_parent, _, requested_name = normalized_requested.rpartition("/")
|
|
959
|
+
actual_parent, _, actual_name = normalized_actual.rpartition("/")
|
|
960
|
+
diverged = normalized_actual != normalized_requested and not (
|
|
961
|
+
actual_name == requested_name and actual_parent.lower() == requested_parent.lower()
|
|
962
|
+
)
|
|
963
|
+
if diverged:
|
|
953
964
|
logger.warning(
|
|
954
965
|
f"Move outcome diverged from intent: requested={destination_path} "
|
|
955
966
|
f"actual={result.file_path}"
|
|
@@ -776,6 +776,52 @@ def detect_potential_file_conflicts(file_path: str, existing_paths: List[str]) -
|
|
|
776
776
|
return conflicts
|
|
777
777
|
|
|
778
778
|
|
|
779
|
+
def resolve_directory_casing(directory: str, existing_directories: List[str]) -> str:
|
|
780
|
+
"""Resolve a requested directory to the casing of existing folders (#1326).
|
|
781
|
+
|
|
782
|
+
LLM callers guess plausible-but-wrong casing ("schemas" beside an existing
|
|
783
|
+
"Schemas/"), and case-sensitive storage backends then grow case-duplicate
|
|
784
|
+
sibling folders. Each path segment resolves against the folders that exist
|
|
785
|
+
under the already-resolved parent:
|
|
786
|
+
|
|
787
|
+
- Exact match wins: the requested segment casing is kept unchanged.
|
|
788
|
+
- Unique case-insensitive match: the existing folder's casing is adopted.
|
|
789
|
+
- No match: the segment is kept as given (a new folder).
|
|
790
|
+
- Multiple case-variant folders exist: ambiguous, the segment is kept as
|
|
791
|
+
given (today's exact behavior).
|
|
792
|
+
|
|
793
|
+
Args:
|
|
794
|
+
directory: Requested directory path relative to the project root
|
|
795
|
+
("" means the root itself).
|
|
796
|
+
existing_directories: Known project folders derived from indexed entity
|
|
797
|
+
file paths (see EntityRepository.get_distinct_directories).
|
|
798
|
+
|
|
799
|
+
Returns:
|
|
800
|
+
The directory path with each segment resolved to existing casing.
|
|
801
|
+
"""
|
|
802
|
+
if not directory:
|
|
803
|
+
return directory
|
|
804
|
+
|
|
805
|
+
existing = set(existing_directories)
|
|
806
|
+
resolved_prefix = ""
|
|
807
|
+
for segment in directory.split("/"):
|
|
808
|
+
candidate = f"{resolved_prefix}/{segment}" if resolved_prefix else segment
|
|
809
|
+
if candidate in existing:
|
|
810
|
+
resolved_prefix = candidate
|
|
811
|
+
continue
|
|
812
|
+
# Candidates are constrained to children of the already-resolved parent:
|
|
813
|
+
# once a parent segment stays ambiguous (kept as requested), a deeper
|
|
814
|
+
# existing folder under a *different* parent casing must not be spliced in.
|
|
815
|
+
matches = [
|
|
816
|
+
existing_directory
|
|
817
|
+
for existing_directory in existing
|
|
818
|
+
if existing_directory.lower() == candidate.lower()
|
|
819
|
+
and existing_directory.rpartition("/")[0] == resolved_prefix
|
|
820
|
+
]
|
|
821
|
+
resolved_prefix = matches[0] if len(matches) == 1 else candidate
|
|
822
|
+
return resolved_prefix
|
|
823
|
+
|
|
824
|
+
|
|
779
825
|
def valid_project_path_value(path: str):
|
|
780
826
|
"""Ensure project path is valid."""
|
|
781
827
|
# Allow empty strings as they resolve to the project root
|
{basic_memory-0.23.1.dev27 → basic_memory-0.23.2.dev2}/tests/api/v2/test_knowledge_router.py
RENAMED
|
@@ -394,6 +394,88 @@ async def test_create_entity(client: AsyncClient, file_service, v2_project_url):
|
|
|
394
394
|
assert data["content"] in file_content
|
|
395
395
|
|
|
396
396
|
|
|
397
|
+
@pytest.mark.asyncio
|
|
398
|
+
async def test_create_entity_resolves_directory_casing(
|
|
399
|
+
client: AsyncClient, file_service, v2_project_url
|
|
400
|
+
):
|
|
401
|
+
"""A unique case-insensitive folder match adopts the existing casing (#1326)."""
|
|
402
|
+
seed = await client.post(
|
|
403
|
+
f"{v2_project_url}/knowledge/entities",
|
|
404
|
+
json={"title": "Call", "directory": "Schemas", "content": "Call schema"},
|
|
405
|
+
)
|
|
406
|
+
assert seed.status_code == 202
|
|
407
|
+
|
|
408
|
+
response = await client.post(
|
|
409
|
+
f"{v2_project_url}/knowledge/entities",
|
|
410
|
+
json={"title": "Research", "directory": "schemas", "content": "Research schema"},
|
|
411
|
+
)
|
|
412
|
+
|
|
413
|
+
assert response.status_code == 202
|
|
414
|
+
entity = EntityResponseV2.model_validate(response.json())
|
|
415
|
+
assert entity.file_path == "Schemas/Research.md"
|
|
416
|
+
|
|
417
|
+
file_content, _ = await file_service.read_file("Schemas/Research.md")
|
|
418
|
+
assert "Research schema" in file_content
|
|
419
|
+
|
|
420
|
+
|
|
421
|
+
@pytest.mark.asyncio
|
|
422
|
+
async def test_create_entity_resolves_nested_directory_casing(client: AsyncClient, v2_project_url):
|
|
423
|
+
"""Each nested path segment resolves against existing folders (#1326)."""
|
|
424
|
+
seed = await client.post(
|
|
425
|
+
f"{v2_project_url}/knowledge/entities",
|
|
426
|
+
json={"title": "Seed", "directory": "Schemas/Drafts", "content": "Seed"},
|
|
427
|
+
)
|
|
428
|
+
assert seed.status_code == 202
|
|
429
|
+
|
|
430
|
+
response = await client.post(
|
|
431
|
+
f"{v2_project_url}/knowledge/entities",
|
|
432
|
+
json={"title": "Nested", "directory": "schemas/drafts", "content": "Nested"},
|
|
433
|
+
)
|
|
434
|
+
|
|
435
|
+
assert response.status_code == 202
|
|
436
|
+
entity = EntityResponseV2.model_validate(response.json())
|
|
437
|
+
assert entity.file_path == "Schemas/Drafts/Nested.md"
|
|
438
|
+
|
|
439
|
+
|
|
440
|
+
@pytest.mark.asyncio
|
|
441
|
+
async def test_create_entity_keeps_ambiguous_directory_casing(
|
|
442
|
+
client: AsyncClient,
|
|
443
|
+
v2_project_url,
|
|
444
|
+
test_project: Project,
|
|
445
|
+
entity_repository,
|
|
446
|
+
session_maker,
|
|
447
|
+
):
|
|
448
|
+
"""Existing case-variant sibling folders keep today's exact behavior (#1326)."""
|
|
449
|
+
now = datetime.now(timezone.utc)
|
|
450
|
+
async with db.scoped_session(session_maker) as session:
|
|
451
|
+
for file_path, permalink in (
|
|
452
|
+
("Schemas/One.md", "schemas/one"),
|
|
453
|
+
("SCHEMAS/Two.md", "schemas/two"),
|
|
454
|
+
):
|
|
455
|
+
await entity_repository.add(
|
|
456
|
+
session,
|
|
457
|
+
EntityModel(
|
|
458
|
+
title=Path(file_path).stem,
|
|
459
|
+
note_type="note",
|
|
460
|
+
content_type="text/markdown",
|
|
461
|
+
file_path=file_path,
|
|
462
|
+
permalink=permalink,
|
|
463
|
+
created_at=now,
|
|
464
|
+
updated_at=now,
|
|
465
|
+
project_id=test_project.id,
|
|
466
|
+
),
|
|
467
|
+
)
|
|
468
|
+
|
|
469
|
+
response = await client.post(
|
|
470
|
+
f"{v2_project_url}/knowledge/entities",
|
|
471
|
+
json={"title": "Three", "directory": "schemas", "content": "Ambiguous"},
|
|
472
|
+
)
|
|
473
|
+
|
|
474
|
+
assert response.status_code == 202
|
|
475
|
+
entity = EntityResponseV2.model_validate(response.json())
|
|
476
|
+
assert entity.file_path == "schemas/Three.md"
|
|
477
|
+
|
|
478
|
+
|
|
397
479
|
@pytest.mark.asyncio
|
|
398
480
|
async def test_create_entity_conflict_returns_409(client: AsyncClient, v2_project_url):
|
|
399
481
|
"""Test creating a duplicate entity returns 409 Conflict."""
|
|
@@ -1318,6 +1400,34 @@ async def test_move_entity(
|
|
|
1318
1400
|
assert note_content.file_write_status == "synced"
|
|
1319
1401
|
|
|
1320
1402
|
|
|
1403
|
+
@pytest.mark.asyncio
|
|
1404
|
+
async def test_move_entity_resolves_destination_directory_casing(
|
|
1405
|
+
client: AsyncClient, v2_project_url
|
|
1406
|
+
):
|
|
1407
|
+
"""A move destination parent adopts the unique existing folder casing (#1326)."""
|
|
1408
|
+
seed = await client.post(
|
|
1409
|
+
f"{v2_project_url}/knowledge/entities",
|
|
1410
|
+
json={"title": "Seed", "directory": "Schemas", "content": "Seed"},
|
|
1411
|
+
)
|
|
1412
|
+
assert seed.status_code == 202
|
|
1413
|
+
|
|
1414
|
+
create = await client.post(
|
|
1415
|
+
f"{v2_project_url}/knowledge/entities",
|
|
1416
|
+
json={"title": "MoveMe", "directory": "test", "content": "Content to move"},
|
|
1417
|
+
)
|
|
1418
|
+
assert create.status_code == 202
|
|
1419
|
+
source_external_id = EntityResponseV2.model_validate(create.json()).external_id
|
|
1420
|
+
|
|
1421
|
+
response = await client.put(
|
|
1422
|
+
f"{v2_project_url}/knowledge/entities/{source_external_id}/move",
|
|
1423
|
+
json={"destination_path": "schemas/MoveMe.md"},
|
|
1424
|
+
)
|
|
1425
|
+
|
|
1426
|
+
assert response.status_code == 202
|
|
1427
|
+
moved = EntityResponseV2.model_validate(response.json())
|
|
1428
|
+
assert moved.file_path == "Schemas/MoveMe.md"
|
|
1429
|
+
|
|
1430
|
+
|
|
1321
1431
|
@pytest.mark.asyncio
|
|
1322
1432
|
async def test_move_entity_rejects_existing_unindexed_destination(
|
|
1323
1433
|
client: AsyncClient, v2_project_url, project_config
|