basic-memory 0.23.2.dev3__tar.gz → 0.23.3.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.2.dev3 → basic_memory-0.23.3.dev2}/.claude-plugin/marketplace.json +2 -2
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/PKG-INFO +1 -2
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/__init__.py +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/plugin.yaml +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/package.json +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/.claude-plugin/marketplace.json +2 -2
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/.claude-plugin/plugin.json +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/hooks/pre_compact.py +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/hooks/session_start.py +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/.codex-plugin/plugin.json +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/hooks/pre_compact.py +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/hooks/session_start.py +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/pyproject.toml +0 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/server.json +2 -2
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/__init__.py +1 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/env.py +8 -18
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/deps/config.py +5 -1
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/deps/read_cache.py +6 -2
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/markdown/plugins.py +123 -22
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cli_exit.py +39 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_relation_edge_cases.py +64 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_alembic_env.py +14 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_deps.py +59 -9
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/uv.lock +0 -11
- basic_memory-0.23.2.dev3/src/basic_memory/migration_loop.py +0 -34
- basic_memory-0.23.2.dev3/tests/test_migration_loop.py +0 -33
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/plugins/marketplace.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/adversarial-review/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/adversarial-review/prompts/refute.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/adversarial-review/prompts/review.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/adversarial-review/schemas/findings.schema.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/adversarial-review/schemas/verdicts.schema.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux/references/handles-and-identify.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux/references/panes-surfaces.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux/references/trigger-flash-and-health.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux/references/windows-workspaces.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-markdown/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-markdown/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-markdown/references/commands.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-markdown/references/live-reload.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-settings/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-settings/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-settings/references/all-keys.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-settings/references/shortcut-actions.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-settings/scripts/cmux-settings +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-workspace/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-workspace/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/cmux-workspace/references/commands.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/code-review/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/fix-pr-issues/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/fix-pr-issues/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/fix-pr-issues/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/infographics/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/infographics/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/infographics/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/infographics/references/prompt-blueprint.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/infographics/references/style-balance.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/instrumentation/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/instrumentation/references/javascript/frameworks.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/instrumentation/references/javascript/patterns.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/instrumentation/references/python/integrations.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/instrumentation/references/python/logging-patterns.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/instrumentation/references/rust/patterns.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pr-create/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pr-create/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pr-create/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pr-description/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pr-description/references/pr-body-template.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pr-review-loop/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pull-request/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/evals/context/AGENTS.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/evals/context/pyproject.toml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/evals/evals.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/evals/files/accepted_preparation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/evals/files/accepted_snapshot.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/evals/files/shared_runtime_ownership.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/evals/files/test_accepted_preparation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/evals/files/test_accepted_snapshot.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/justfile +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.agents/skills/pythonic-code/scripts/run_evals.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.claude/commands/release/beta.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.claude/commands/release/changelog.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.claude/commands/release/release-check.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.claude/commands/release/release.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.claude/commands/spec.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.claude/commands/test-live.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.claude/settings.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.codex/basic-memory.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.dockerignore +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.env.example +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.gitattributes +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/ISSUE_TEMPLATE/documentation.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/basic-memory/SOUL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/basic-memory/config.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/basic-memory/memory-ci-capture.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/dependabot.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/claude-code-review.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/claude-issue-triage.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/claude.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/consolidated-packages.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/dev-release.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/docker.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/mcp-registry-publish.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/pr-title.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/publish-skills.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/release.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.github/workflows/test.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.gitignore +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/.python-version +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/AGENTS.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/CHANGELOG.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/CITATION.cff +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/CLA.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/CLAUDE.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/CODE_OF_CONDUCT.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/CONTRIBUTING.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/Dockerfile +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/LICENSE +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/NOTE-FORMAT.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/SECURITY.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/.github/workflows/benchmark-nightly.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/.github/workflows/benchmark-smoke.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/.gitignore +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/.python-version +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/AGENTS.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/datasets/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/datasets/locomo/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/datasets/locomo/download.sh +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/datasets/locomo/source.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/datasets/longmemeval/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/datasets/longmemeval/download.sh +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/results/matrix-v1.2-summary.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/results/matrix-v2-summary.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/results/structured-ingestion-findings.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/synthetic/docs/agent-memory.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/synthetic/docs/auth-memory.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/synthetic/docs/sync-memory.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/benchmarks/synthetic/queries.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/docs/benchmarks.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/docs/read-load-benchmark.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/docs/write-load-benchmark.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/justfile +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/pyproject.toml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/scripts/read_load_bench.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/scripts/write_load_bench.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/__main__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/bm_runtime.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/cli.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/concurrent_write.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/converters/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/converters/convomem_to_corpus.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/converters/locomo_to_corpus.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/converters/longmemeval_to_corpus.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/converters/structure_corpus.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/convomem.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/locomo.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/locomo_audit.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/datasets/longmemeval.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/exceptions.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/fairness.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/llm/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/llm/runners.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/models.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/providers/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/providers/base.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/providers/baseline_fullcontext.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/providers/baseline_grep.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/providers/bm_cloud.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/providers/bm_local.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/providers/mem0_local.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/providers/supermemory_local.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/providers/zep_reference.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/reporting/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/reporting/artifacts.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/reporting/compare.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/diagnose.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/qa.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/retrieval.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/scoring/review.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/src/basic_memory_benchmarks/utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/test-int/test_compare_regression.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/test-int/test_runner_orchestration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/converters/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/converters/test_convomem_converter.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/converters/test_locomo_audit_corrections.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/converters/test_longmemeval_converter.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/llm/test_runners.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/providers/test_baseline_providers.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/providers/test_bm_local_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/providers/test_mem0_normalization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/providers/test_supermemory_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_cli_surface.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_concurrent_write.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_diagnose.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_fairness.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_manifest_schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_qa_scoring.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_retrieval_metrics.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_review.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_runner_grouped.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/tests/test_structure_corpus.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/benchmarks/uv.lock +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docker-compose-postgres.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docker-compose.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/ARCHITECTURE.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/DOMAIN_MODEL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/Docker.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/ENGINEERING_STYLE.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/NOTE-FORMAT.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/REDIS_READ_CACHE_PLAN.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/SPEC-PER-PROJECT-ROUTING.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/TRANSACTION_ISOLATION.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/ai-assistant-guide-extended.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/auto-bm-webhook-test.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/character-handling.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/cloud-cli.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/cloud-semantic-search-value.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/litellm-provider.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/logfire-instrumentation-strategy.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/manual-pages.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/mcp-ui-bakeoff-instructions.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/metadata-search.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/post-v0.18.0-test-plan.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/releases/v0.19.0.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/semantic-search-test-log.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/semantic-search.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/specs/SPEC-LOCAL-PLUS-PUBLISH.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/specs/SPEC-SCHEMA-IMPL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/specs/SPEC-SCHEMA.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/docs/testing-coverage.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/glama.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/.coveragerc +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/.github/workflows/integration.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/.github/workflows/pr-title.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/.github/workflows/release.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/.github/workflows/test.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/.gitignore +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/CHANGELOG.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/LICENSE +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/MONKEYPATCH.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/justfile +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/pytest.ini +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/requirements-dev.txt +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/skill/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/stubs/agent/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/stubs/agent/memory_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/stubs/tools/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/stubs/tools/registry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/test_actor.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/test_capture.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/test_child_env.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/test_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/test_helpers.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/test_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/test_lifecycle.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/test_prefetch.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/hermes/tests/test_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/.githooks/pre-commit +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/.github/workflows/ci.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/.github/workflows/release.yml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/.gitignore +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/AGENTS.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/BASIC_MEMORY.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/CLAUDE.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/CONTEXT_ENGINE_PLAN.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/DEVELOPMENT.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/LICENSE +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/MEMORY_TASK_FLOW.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/SECURITY.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/biome.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/bm-client.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/bm-client.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/bun.lock +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/commands/cli.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/commands/skills.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/commands/skills.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/commands/slash.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/config.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/config.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/context-engine/basic-memory-context-engine.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/context-engine/basic-memory-context-engine.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/hooks/capture.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/hooks/capture.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/hooks/recall.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/hooks/recall.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/index.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/index.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/integration/bm-client.integration.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/justfile +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/logger.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/logger.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/openclaw.plugin.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/schema/conversation-schema.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/schema/task-schema.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/scripts/bm-local.sh +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/scripts/fetch-skills.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/scripts/setup-bm.sh +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/build-context.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/build-context.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/delete-note.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/delete-note.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/edit-note.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/edit-note.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/list-memory-projects.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/list-memory-projects.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/list-workspaces.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/list-workspaces.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/memory-provider.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/memory-provider.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/move-note.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/move-note.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/read-note.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/read-note.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/schema-diff.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/schema-diff.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/schema-infer.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/schema-infer.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/schema-validate.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/schema-validate.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/search-notes.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/search-notes.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/write-note.test.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tools/write-note.ts +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tsconfig.build.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/integrations/openclaw/tsconfig.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/justfile +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/llms-install.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/CHANGELOG.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/DESIGN.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/docs/architecture.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/docs/getting-started.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/docs/why-combine-memory.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/hooks/hooks.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/hooks/test_claude_pre_compact.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/hooks/test_claude_session_start.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/justfile +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/output-styles/basic-memory.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/schemas/coding-session.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/schemas/decision.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/schemas/manpage.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/schemas/session.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/schemas/task.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/settings.example.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/skills/bm-checkpoint/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/skills/bm-decide/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/skills/bm-orient/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/skills/bm-remember/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/skills/bm-setup/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/skills/bm-share/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/skills/bm-status/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/skills/bm-writing/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/.mcp.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/DEVELOPMENT.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/assets/app-icon.png +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/assets/logo.png +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/hooks/hooks.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/hooks/test_codex_pre_compact.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/hooks/test_codex_session_start.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/justfile +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/schemas/codex-session.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/schemas/coding-session.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/schemas/decision.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/schemas/task.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-checkpoint/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-checkpoint/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-checkpoint/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-decide/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-decide/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-decide/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-orient/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-orient/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-orient/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-remember/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-remember/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-remember/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-setup/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-setup/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-setup/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-share/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-share/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-share/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-status/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-status/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-status/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-writing/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-writing/agents/openai.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/codex/skills/bm-writing/assets/icon.svg +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/scripts/build_skills_dist.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/scripts/edit-issue-labels.sh +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/scripts/testmon_cache.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/scripts/update_versions.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/scripts/validate_claude_plugin.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/scripts/validate_codex_plugin.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/scripts/validate_hermes_plugin.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/scripts/validate_skills.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/AGENTS.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/CLAUDE.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/DEVELOPMENT.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/justfile +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-capture/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-ci-capture/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-continue/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-curate/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-defrag/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-ingest/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-lifecycle/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-literary-analysis/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-metadata-search/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-notes/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-onboarding/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-onboarding/evals/evals.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-onboarding/references/assistant-setup.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-onboarding/references/conventions.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-onboarding/references/domain-playbooks.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-onboarding/references/schema-guide.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-reflect/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-research/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-schema/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/memory-tasks/SKILL.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills/skills-lock.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/skills-lock.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/smithery.yaml +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/alembic.ini +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/migrations.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/script.py.mako +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/2d26b287813b_dedupe_observations_and_purge_stale_.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/314f1ea54dc4_add_postgres_full_text_search_support_.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/3dae7c7b1564_initial_schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/502b60eaa905_remove_required_from_entity_permalink.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/5fe1ab1ccebe_add_projects_table.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/647e7a75e2cd_project_constraint_fix.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/6830751f5fb6_merge_multiple_heads.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/7f6a2b8c9d10_index_full_postgres_note_content.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/9d9c1cb7d8f5_add_mtime_and_size_columns_to_entity_.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/a1b2c3d4e5f6_fix_project_foreign_keys.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/a2b3c4d5e6f7_add_search_index_entity_cascade.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/b3c3938bacdb_relation_to_name_unique_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/cc7172b46608_update_search_index_schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/d7e8f9a0b1c2_add_structured_metadata_indexes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/e7e1f4367280_add_scan_watermark_tracking_to_project.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/f8a9b2c3d4e5_add_pg_trgm_for_fuzzy_link_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/g9a0b3c4d5e6_add_external_id_to_project_and_entity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/h1b2c3d4e5f6_add_postgres_vector_search_tables.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/i2c3d4e5f6g7_auto_backfill_semantic_embeddings.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/j3d4e5f6g7h8_rename_entity_type_to_note_type.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/k4e5f6g7h8i9_add_created_by_and_last_updated_by_to_entity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/l5g6h7i8j9k0_add_note_content_table.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/m6h7i8j9k0l1_add_vector_sync_fingerprints.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/n7i8j9k0l1m2_cleanup_sqlite_search_orphans.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/o8j9k0l1m2n3_add_note_file_vacate_table.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/p9k0l1m2n3o4_add_vector_index_manifest_state.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/q0l1m2n3o4p5_add_relation_search_refresh_table.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/alembic/versions/r1m2n3o4p5q6_add_relation_generation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/app.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/container.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/template_loader.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/directory_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/importer_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/inspect_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/knowledge_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/memory_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/project_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/prompt_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/resource_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/schema_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/routers/search_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/api/v2/utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/ci/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/ci/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/ci/project_updates.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/analytics.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/app.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/auth.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/auto_update.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/ci.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/api_client.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/bisync_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/cloud_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/core_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/project_sync.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/rclone_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/rclone_config.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/rclone_installer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/restore.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/schemas.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/shares.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/snapshot.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/transfer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/upload.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/upload_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/webdav.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/webdav_transfer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/cloud/workspace.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/command_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/config.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/db.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/doctor.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/format.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/hook.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/import_chatgpt.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/import_claude_conversations.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/import_claude_projects.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/import_memory_json.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/inspect.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/man.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/mcp.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/orphans.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/project.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/routing.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/status.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/tool.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/update.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/commands/workspace.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/container.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/main.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/cli/promo.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/config.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/config_logging.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/config_migrations.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/config_models.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/db.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/deps/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/deps/db.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/deps/importers.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/deps/projects.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/deps/repositories.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/deps/services.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/file_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/_uuid7.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/adapters/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/adapters/base.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/adapters/claude.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/adapters/codex.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/archive.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/envelope.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/inbox.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/hooks/project_ref.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/ignore_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/importers/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/importers/base.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/importers/chatgpt_importer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/importers/claude_conversations_importer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/importers/claude_projects_importer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/importers/memory_json_importer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/importers/project_zip_import.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/importers/utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/event_operations.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/filesystem.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/inline_operations.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/local_dependencies.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/local_moves.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/local_notes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/local_project.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/local_runtime.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/local_schedulers.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/local_watch.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/note_content_materialization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/project_indexing.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/repository_project_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/schedulers.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/storage_events.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/watch_coordinator.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/index/watch_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/accepted_note_enqueue_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/accepted_note_mutation_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/accepted_note_search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/accepted_note_write_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/batch_indexer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/batching.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/change_detector.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/change_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/directory_delete_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/embedding_index_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/external_file_delete_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/file_batch_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/file_index_checking.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/file_index_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/file_indexer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/forward_reference_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/index_batch_runtime.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/index_file_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/index_file_runtime.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/input_file_adaptation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/job_payloads.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/link_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/models.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/note_content_batch_reconciliation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/note_content_read_repair_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/note_content_reconciler.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/note_content_reconciliation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/note_file_delete_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/note_materialization_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/orphan_cleanup.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/progress.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_delete_acceptance.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_delete_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_index_coordinator.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_index_maintenance.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_index_progress.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_index_runtime.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_index_workflow.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_index_workflow_models.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_index_workflow_stale.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/project_index_workflow_updates.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/relation_persistence.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/indexing/relation_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/man/basic-memory.1 +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/man/bm.1 +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/markdown/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/markdown/entity_parser.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/markdown/markdown_processor.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/markdown/schemas.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/markdown/utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/async_client.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/client_info.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/clients/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/clients/directory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/clients/inspect.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/clients/knowledge.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/clients/memory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/clients/project.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/clients/resource.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/clients/schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/clients/search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/container.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/note_reads.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/project_context.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/project_context_identifiers.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/prompts/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/prompts/ai_assistant_guide.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/prompts/continue_conversation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/prompts/getting_started.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/prompts/recent_activity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/prompts/search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/prompts/utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/resources/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/resources/ai_assistant_guide.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/resources/project_info.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/server.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/basic_memory_diagnostics.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/build_context.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/chatgpt_tools.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/delete_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/edit_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/list_directory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/move_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/project_management.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/read_content.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/read_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/recent_activity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/ui_sdk.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/view_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/workspaces.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/tools/write_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/ui/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/ui/html/note-preview-mcp-ui.html +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/ui/html/note-preview-tool-ui.html +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/ui/html/note-preview-vanilla.html +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/ui/html/search-results-mcp-ui.html +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/ui/html/search-results-tool-ui.html +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/ui/html/search-results-vanilla.html +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/ui/sdk.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/ui/templates.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/mcp/workspace_project_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/models/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/models/base.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/models/knowledge.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/models/project.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/models/relation_search_refresh.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/models/search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/picoschema/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/picoschema/diff.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/picoschema/inference.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/picoschema/parser.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/picoschema/resolver.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/picoschema/validator.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/project_resolver.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/read_cache/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/read_cache/contract.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/read_cache/invalidation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/read_cache/keys.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/read_cache/lifecycle.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/read_cache/policy.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/read_cache/read_through.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/read_cache/redis.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/redaction.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/accepted_note_repositories.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/accepted_note_search_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/accepted_note_search_row.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/accepted_note_vector_cleanup.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/embedding_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/embedding_provider_factory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/entity_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/fastembed_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/fastembed_rerank_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/litellm_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/litellm_rerank_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/metadata_filters.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/milvus_config.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/milvus_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/milvus_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/note_content_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/note_file_vacate_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/observation_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/openai_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/pgvector_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/postgres_search_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/prefixing_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/project_info_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/project_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/relation_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/rerank_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/rerank_provider_factory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/search_index_row.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/search_query.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/search_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/search_repository_base.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/search_trace.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/semantic_chunking.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/semantic_errors.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/semantic_vector_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/semantic_vector_index_factory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/semantic_vector_sync.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/sqlite_search_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/repository/sqlite_vec_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/accepted_note_changes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/cleanup.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/job_payloads.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/jobs.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/mode.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/note_content.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/note_content_deletes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/note_content_reads.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/note_content_responses.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/note_file_guards.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/note_materialization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/note_materialization_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/note_move.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/note_object_metadata.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/observed_index_files.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/process.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/projects.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/sample_notes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/storage.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/storage_events.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/storage_project_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/vector_sync.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/runtime/workflows.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/base.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/cloud.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/delete.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/directory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/importer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/inspect.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/memory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/project_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/project_info.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/prompt.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/request.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/response.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/v2/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/v2/entity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/v2/graph.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/schemas/v2/project_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/bulk_link_resolver.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/composition.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/context_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/directory_deletes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/directory_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/entity_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/exceptions.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/file_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/initialization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/link_resolver.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/note_content_reads.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/note_content_writes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/note_preparation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/project_deletes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/project_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/retrieval_inspect.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/search_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/services/service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/templates/prompts/continue_conversation.hbs +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/templates/prompts/search.hbs +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/src/basic_memory/workspace_context.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/BENCHMARKS.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/bughunt_fixes/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/bughunt_fixes/test_cli_tool_read_note_security_error.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/bughunt_fixes/test_cli_tool_recent_activity_page_size.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/bughunt_fixes/test_cli_tool_search_notes_category.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/bughunt_fixes/test_cli_tool_write_note_parity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/bughunt_fixes/test_move_note_edge_cases.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/bughunt_fixes/test_navigation_pagination_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/bughunt_fixes/test_parse_tags_comma_split_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_cli_tool_delete_note_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_cli_tool_edit_note_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_cli_tool_json_failure_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_cli_tool_json_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_cli_tool_write_note_type_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_project_commands_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_routing_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_search_notes_meta_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_status_wait_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/cli/test_version_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/compare_search_benchmarks.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-01.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-02.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-03.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-04.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-05.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-06.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-07.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-08.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-09.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-10.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-11.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-12.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-13.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-14.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-15.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-16.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-17.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-18.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-19.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/people/drift-person-20.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/drift/schema/Person.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/edge-cases/array-single.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/edge-cases/empty-note.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/edge-cases/explicit-overrides-type.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/edge-cases/inline-and-type.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/edge-cases/no-frontmatter.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/edge-cases/relation-only.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/edge-cases/type-no-schema.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/edge-cases/unicode-fields.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/ada-lovelace.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/alan-turing.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/anders-hejlsberg.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/andrej-karpathy.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/barbara-liskov.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/bjarne-stroustrup.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/brendan-eich.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/claude-shannon.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/dennis-ritchie.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/dijkstra.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/donald-knuth.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/fei-fei-li.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/geoffrey-hinton.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/grace-hopper.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/guido-van-rossum.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/james-gosling.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/john-carmack.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/ken-thompson.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/larry-page.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/leslie-lamport.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/linus-torvalds.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/margaret-hamilton.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/rasmus-lerdorf.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/richard-stallman.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/rob-pike.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/satoshi-nakamoto.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/tim-berners-lee.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/vint-cerf.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/yann-lecun.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/inference/people/yukihiro-matsumoto.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/schemas/Book.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/schemas/InvalidOffSchema.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/schemas/Meeting.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/schemas/Person.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/schemas/SoftwareProject.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/schemas/StrictSchema.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/valid/basic-memory.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/valid/explicit-ref-note.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/valid/no-schema-note.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/valid/paul-graham.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/valid/rich-hickey.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/valid/standup-2024-01-15.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/warnings/extra-observations.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/warnings/missing-multiple.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/warnings/missing-required.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/fixtures/schema/warnings/wrong-enum-value.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_build_context_underscore.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_build_context_validation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_chatgpt_tools_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_concurrent_write_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_default_project_mode_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_delete_directory_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_delete_note_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_edit_note_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_lifespan_shutdown_sync_task_cancellation_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_list_directory_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_long_relation_type_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_move_directory_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_move_note_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_observation_permalink_collision_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_output_format_json_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_pagination_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_param_aliases_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_permalink_collision_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_project_management_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_project_state_sync_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_read_content_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_read_note_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_recreate_project_indexing_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_search_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_search_note_types_case_insensitive.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_single_project_mcp_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_smoke_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_string_params_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_ui_sdk_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_workspace_permalink_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_write_note_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/mcp/test_write_note_type_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/read_cache/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/read_cache/test_api_read_cache.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/read_cache/test_materialization_invalidation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/read_cache/test_mcp_read_cache.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/read_cache/test_read_cache_benchmark.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/read_cache/test_redis_read_cache.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/read_cache/test_runtime_invalidation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/read_cache/test_search_read_cache.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/corpus.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/litellm_live_harness.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/metrics.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/report.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_embedding_provider_reuse.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_litellm_live_harness.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_litellm_live_models.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_milvus_lite.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_multiterm_semantic_queries.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_real_fastembed_reranker.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_reranker_latency.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_reranker_quality.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_search_diagnostics.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_semantic_coverage.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/semantic/test_semantic_quality.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_db_wal_mode.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_embedding_status_vec0.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_note_file_vacate_atomicity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_note_materialization_lock_order.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_picoschema/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_picoschema/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_picoschema/helpers.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_picoschema/test_diff_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_picoschema/test_inference_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_picoschema/test_parser_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_picoschema/test_validator_integration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_postgres_dispose_cycle.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_project_index_delete_materialization_race.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_relation_generation_concurrency.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/test-int/test_search_performance_benchmark.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/Non-MarkdownFileSupport.pdf +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/README.md +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/Screenshot.png +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/test_container.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_accepted_note_atomicity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_directory_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_entity_observation_lock_order.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_importer_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_inspect_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_knowledge_resolution_contract.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_knowledge_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_knowledge_router_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_memory_hydration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_memory_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_orphan_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_project_index_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_project_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_prompt_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_resource_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_schema_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_search_hydration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_search_router.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_search_router_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_utils_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/api/v2/test_workspace_permalink_headers.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/cloud/test_bmignore_sync_filter_refresh.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/cloud/test_cloud_api_client_and_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/cloud/test_project_sync_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/cloud/test_rclone_config_and_bmignore_filters.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/cloud/test_rclone_installer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/cloud/test_upload_command_routing.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/cloud/test_upload_path.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/cloud/test_webdav_client.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/cloud/test_webdav_transfer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_analytics.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_auth_cli_auth.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_auto_update.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_ci_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cli_container.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cli_schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cli_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cli_tool_exit.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cli_tool_json_output.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cli_tool_rich_output.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cli_tools.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cloud_authentication.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cloud_promo.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_cloud_status.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_coding_session_context.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_command_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_config_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_db_reindex.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_db_reset_exit.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_db_reset_zombie_check.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_doctor_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_hook_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_ignore_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_import_chatgpt.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_import_claude_conversations.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_import_claude_projects.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_import_memory_json.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_inspect_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_json_output.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_man_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_orphans_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_project_add_with_local_path.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_project_info_cloud_status.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_project_info_errors.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_project_list_and_ls.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_project_remove_errors.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_project_set_cloud_local.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_restore_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_routing.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_share_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_snapshot_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_status_wait_timeout.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_update_command.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_upload.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_workspace_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cli/test_workspace_stub.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cloud/test_cloud_services.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cloud/test_note_content_materialization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cloud/test_note_content_read_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/cloud/test_project_deletes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/db/test_issue_254_foreign_key_constraints.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/db/test_memory_db_session_isolation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/db/test_semantic_search_startup.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/db/test_uvloop_policy.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/fixtures/claude_pre_compact.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/fixtures/claude_session_start.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/fixtures/codex_pre_compact.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/fixtures/codex_session_start.json +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/test_adapters.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/test_archive.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/test_envelope.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/test_inbox.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/hooks/test_uuid7.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/importers/test_conversation_indexing.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/importers/test_importer_base.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/importers/test_importer_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/importers/test_project_zip_import.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_filesystem_events.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_inline_storage_event_processor.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_accepted_note_repositories.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_inline_result_recorder.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_markdown_file_indexer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_move_content_updates.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_project_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_project_scan_parity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_project_vector_cleaner_wiring.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_reconcile_file_reader.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_runtime.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_scheduler_task_failure.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_schedulers.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_watch_ignore_parity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_watch_orchestration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_watch_regular_file_parity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_watch_semantic_embedding.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_local_watch_stress_parity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_project_index_surface.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_repository_storage_event_project_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_storage_event_operation_processor.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_storage_event_orchestration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_watch_coordinator.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/index/test_watch_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_accepted_note_enqueue_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_accepted_note_mutation_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_accepted_note_search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_accepted_note_write_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_batch_index_search_writer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_batch_indexer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_batching.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_change_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_directory_delete_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_embedding_index_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_external_file_delete_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_file_batch_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_file_index_checking.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_file_index_models.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_file_index_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_file_indexer.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_forward_reference_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_index_batch_runtime.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_index_file_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_indexing_job_payloads.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_input_file_adaptation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_link_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_models.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_note_content_batch_reconciliation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_note_content_read_repair_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_note_content_reconciler.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_note_content_reconciliation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_note_file_delete_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_note_materialization_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_orphan_cleanup.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_progress_models.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_project_delete_acceptance.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_project_delete_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_project_index_coordinator.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_project_index_maintenance.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_project_index_progress.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_project_index_runner.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_project_index_runtime.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_project_index_workflow.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_relation_persistence.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_relation_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_relation_resolution_scaling.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_relation_search_refresh_retry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/indexing/test_vector_sync_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_date_frontmatter_parsing.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_entity_parser.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_entity_parser_error_handling.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_markdown_plugins.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_markdown_processor.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_markdown_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_observation_edge_cases.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_parser_edge_cases.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_task_detection.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/clients/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/clients/test_clients.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/conftest.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_async_client_force_local.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_async_client_modes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_async_client_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_client_info.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_client_schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_client_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_first_connect_onboarding.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_mcp_container.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_mcp_note_type_normalization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_obsidian_yaml_formatting.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_project_context.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_project_context_scoped_key.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_project_context_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_prompt_tool_delegation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_prompts.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_read_note_request_counts.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_recent_activity_prompt_modes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_resources.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_search_total_exactness.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_server_lifespan_branches.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_server_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_basic_memory_diagnostics.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_build_context.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_contracts.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_delete_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_edit_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_json_output_modes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_list_directory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_move_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_project_management.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_read_content.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_read_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_recent_activity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_resource.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_schema.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_utils_cloud_auth.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_view_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_workspace_management.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_write_note.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_write_note_kebab_filenames.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_tool_write_note_metadata.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_ui_sdk.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_ui_templates.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/test_workspace_permalink_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/tools/test_chatgpt_tools.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/tools/test_mutating_memory_url_routing.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/mcp/tools/test_search_notes_multi_project.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/picoschema/__init__.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/picoschema/test_diff.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/picoschema/test_inference.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/picoschema/test_parser.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/picoschema/test_resolver.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/picoschema/test_validator.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_accepted_note_search_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_accepted_pending_entity_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_chunk_inspection.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_distance_to_similarity.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_entity_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_entity_repository_upsert.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_entity_upsert_issue_187.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_explicit_session_transactions.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_external_vector_cleanup.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_fastembed_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_fastembed_rerank_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_hybrid_fusion.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_litellm_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_litellm_rerank_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_metadata_filters.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_metadata_filters_edge_cases.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_milvus_config.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_milvus_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_milvus_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_note_content_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_note_file_vacate_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_observation_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_openai_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_pgvector_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_postgres_search_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_postgres_search_repository_unit.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_prefixing_provider.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_project_info_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_project_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_relation_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_rerank_pipeline.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_rerank_provider_factory.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_search_index_row.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_search_relaxation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_search_relaxation_unicode_classes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_search_relaxed_rendering.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_search_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_search_repository_edit_bug_fix.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_search_text_with_metadata_filters.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_search_trace.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_semantic_chunking.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_semantic_search_base.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_semantic_vector_index.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_semantic_vector_sync.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_sqlite_vector_search_repository.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_vector_manifest_generation_ownership.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_vector_pagination.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/repository/test_vector_threshold.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_accepted_note_response_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_accepted_note_write_guards.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_deleted_note_file_checksum.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_deleted_note_response.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_job_request_contracts.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_note_content_read_planning.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_note_content_store_materialization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_note_materialization_request_matching.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_note_move_destination.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_pending_note_materialization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_previous_materialized_note_file_delete.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_process.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_runtime_job_payloads.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_sample_notes.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/runtime/test_workflow_metadata.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/schemas/test_base_timeframe_minimum.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/schemas/test_memory_serialization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/schemas/test_memory_url.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/schemas/test_memory_url_validation.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/schemas/test_relation_response_reference_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/schemas/test_schemas.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/schemas/test_search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_bulk_link_resolver.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_context_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_directory_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_entity_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_entity_service_disable_permalinks.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_entity_service_heading_boundaries.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_entity_service_prepare.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_entity_service_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_entity_service_write_result.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_file_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_initialization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_initialization_cloud_mode_branches.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_link_resolver.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_note_type_normalization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_project_removal_bug.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_project_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_project_service_cloud_info.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_project_service_composition.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_project_service_embedding_status.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_project_service_operations.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_search_service.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_search_service_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_semantic_search.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_semantic_timestamp_surfaces.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/services/test_upsert_entity_optimization.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_architecture_boundaries.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_claude_issue_triage.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_claude_plugin_hooks.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_codex_plugin_package.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_coerce.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_config.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_config_load_side_effects.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_note_content_migration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_permalink_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_postgres_full_content_search_migration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_pr_title_workflow.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_production_cascade_delete.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_project_resolver.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_rclone_commands.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_read_cache_lifecycle.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_read_cache_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_read_load_bench.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_runtime.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_runtime_observed_index_files.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_runtime_storage_events.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_runtime_storage_project_resolution.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_semantic_vector_index_migration.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_telemetry.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/test_update_versions.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_file_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_frontmatter_obsidian_compatible.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_parse_tags.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_permalink_formatting.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_resolve_directory_casing.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_setup_logging.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_timezone_utils.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_utf8_handling.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_validate_project_path.py +0 -0
- {basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/utils/test_workspace_context.py +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.2"
|
|
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.2",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Basic Machines"
|
|
19
19
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: basic-memory
|
|
3
|
-
Version: 0.23.
|
|
3
|
+
Version: 0.23.3.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
|
|
@@ -29,7 +29,6 @@ Requires-Dist: mcp<3,>=2
|
|
|
29
29
|
Requires-Dist: mdformat-frontmatter>=2.0.8
|
|
30
30
|
Requires-Dist: mdformat-gfm>=0.3.7
|
|
31
31
|
Requires-Dist: mdformat>=0.7.22
|
|
32
|
-
Requires-Dist: nest-asyncio>=1.6.0
|
|
33
32
|
Requires-Dist: openai>=1.100.2
|
|
34
33
|
Requires-Dist: pillow>=11.1.0
|
|
35
34
|
Requires-Dist: psutil>=5.9.0
|
|
@@ -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.2"
|
|
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.2",
|
|
17
17
|
"author": {
|
|
18
18
|
"name": "Basic Machines"
|
|
19
19
|
},
|
{basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/plugins/claude-code/.claude-plugin/plugin.json
RENAMED
|
@@ -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.2",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Basic Machines"
|
|
7
7
|
},
|
{basic_memory-0.23.2.dev3 → basic_memory-0.23.3.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.2",
|
|
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.2.dev3 → basic_memory-0.23.3.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.2",
|
|
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.2",
|
|
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.2",
|
|
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.2",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "pypi",
|
|
13
13
|
"identifier": "basic-memory",
|
|
14
|
-
"version": "0.23.
|
|
14
|
+
"version": "0.23.2",
|
|
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.2"
|
|
5
5
|
|
|
6
6
|
# API version for FastAPI - independent of package version
|
|
7
7
|
__api_version__ = "v2"
|
|
@@ -2,34 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
import asyncio
|
|
4
4
|
import os
|
|
5
|
-
import sys
|
|
6
5
|
from contextlib import suppress
|
|
7
6
|
from logging.config import fileConfig
|
|
8
7
|
|
|
9
|
-
from loguru import logger
|
|
10
8
|
from sqlalchemy import engine_from_config, pool
|
|
11
9
|
from sqlalchemy.ext.asyncio import AsyncEngine, create_async_engine
|
|
12
10
|
|
|
13
11
|
from alembic import context
|
|
14
12
|
|
|
15
13
|
from basic_memory.config import ConfigManager
|
|
16
|
-
from basic_memory.migration_loop import running_on_uvloop
|
|
17
14
|
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
#
|
|
21
|
-
#
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
nest_asyncio.apply()
|
|
27
|
-
except (ImportError, ValueError) as exc:
|
|
28
|
-
# Trigger: nest_asyncio is absent (ImportError) or refuses to patch the
|
|
29
|
-
# running loop (ValueError).
|
|
30
|
-
# Outcome: log at DEBUG (observable, not noisy) and fall through to the
|
|
31
|
-
# thread-based migration fallback.
|
|
32
|
-
logger.debug(f"nest_asyncio not applied ({exc!r}); using thread-based migration fallback")
|
|
15
|
+
# Constraint: never apply nest_asyncio here. It replaces asyncio.run and
|
|
16
|
+
# run_until_complete process-wide, and its run_until_complete returns the moment
|
|
17
|
+
# the root task finishes without running that task's done-callbacks. anyio stops
|
|
18
|
+
# its worker threads from exactly such a callback, so any request that touched
|
|
19
|
+
# the thread pool left a non-daemon worker parked forever and one-shot CLI
|
|
20
|
+
# commands hung at interpreter exit on Python < 3.14 (#1333, #1345). Callers
|
|
21
|
+
# already inside a running loop (pytest-asyncio, the API lifespan) take the
|
|
22
|
+
# thread fallback in run_migrations_online(), the only path 3.14 ever used.
|
|
33
23
|
|
|
34
24
|
# Trigger: only set test env when actually running under pytest
|
|
35
25
|
# Why: alembic/env.py is imported during normal operations (MCP server startup, migrations)
|
|
@@ -12,12 +12,16 @@ from fastapi import Depends, Request
|
|
|
12
12
|
from basic_memory.config import BasicMemoryConfig
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
def get_app_config(request: Request) -> BasicMemoryConfig:
|
|
15
|
+
async def get_app_config(request: Request) -> BasicMemoryConfig:
|
|
16
16
|
"""Resolve the application configuration from the composition root.
|
|
17
17
|
|
|
18
18
|
API requests read the container the lifespan stored on ``app.state``.
|
|
19
19
|
Requests served without a lifespan (the CLI/MCP local ASGI flow) fall back
|
|
20
20
|
to the API composition root, which creates a container on demand.
|
|
21
|
+
|
|
22
|
+
Declared ``async`` although it never awaits: FastAPI runs *sync* dependencies
|
|
23
|
+
on anyio's worker-thread pool, and an attribute read is not worth a thread
|
|
24
|
+
hop per request — nor the non-daemon worker it leaves parked (#1345).
|
|
21
25
|
"""
|
|
22
26
|
container = getattr(request.app.state, "container", None)
|
|
23
27
|
if container is not None:
|
|
@@ -12,8 +12,12 @@ from basic_memory.read_cache.policy import (
|
|
|
12
12
|
)
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
def get_read_cache(request: Request) -> ReadCache | None:
|
|
16
|
-
"""Return the optional host-injected cache backend.
|
|
15
|
+
async def get_read_cache(request: Request) -> ReadCache | None:
|
|
16
|
+
"""Return the optional host-injected cache backend.
|
|
17
|
+
|
|
18
|
+
``async`` for the same reason as ``get_app_config``: a sync dependency would
|
|
19
|
+
hop to anyio's worker pool just to read an attribute (#1345).
|
|
20
|
+
"""
|
|
17
21
|
try:
|
|
18
22
|
container = request.app.state.container
|
|
19
23
|
except AttributeError:
|
|
@@ -5,6 +5,7 @@ from typing import List, Any, Dict
|
|
|
5
5
|
|
|
6
6
|
from basic_memory.utils import normalize_project_reference
|
|
7
7
|
from markdown_it import MarkdownIt
|
|
8
|
+
from markdown_it.rules_inline.backticks import backtick
|
|
8
9
|
from markdown_it.token import Token
|
|
9
10
|
|
|
10
11
|
# Transcript timecodes like [00:00:11] or [1:02:03.500] share the bracket shape of
|
|
@@ -127,6 +128,84 @@ def parse_observation(token: Token) -> Dict[str, Any]:
|
|
|
127
128
|
|
|
128
129
|
|
|
129
130
|
# Relation handling functions
|
|
131
|
+
def _relation_content(token: Token) -> str:
|
|
132
|
+
"""Return the source content of an inline token."""
|
|
133
|
+
return token.tag or token.content
|
|
134
|
+
|
|
135
|
+
|
|
136
|
+
_CODE_SPANS_KEY = "basic_memory_code_spans"
|
|
137
|
+
_CODE_SPAN_PARSER = MarkdownIt()
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
def _record_inline_code_span(state: Any, silent: bool) -> bool:
|
|
141
|
+
"""Delegate to MarkdownIt and retain exact source spans for code tokens."""
|
|
142
|
+
start = state.pos
|
|
143
|
+
token_count = len(state.tokens)
|
|
144
|
+
matched = backtick(state, silent)
|
|
145
|
+
if matched and not silent and len(state.tokens) > token_count:
|
|
146
|
+
if state.tokens[-1].type == "code_inline":
|
|
147
|
+
state.env[_CODE_SPANS_KEY].append((start, state.pos))
|
|
148
|
+
return matched
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
_CODE_SPAN_PARSER.inline.ruler.at("backticks", _record_inline_code_span)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def _inline_code_spans(content: str) -> list[tuple[int, int]]:
|
|
155
|
+
"""Return source ranges that MarkdownIt classifies as inline code.
|
|
156
|
+
|
|
157
|
+
This delegates delimiter and escape handling to the same MarkdownIt inline
|
|
158
|
+
rule used by the document parser instead of duplicating CommonMark's
|
|
159
|
+
backtick scanner. It also preserves MarkdownIt's linear-time cache for
|
|
160
|
+
unmatched delimiter runs.
|
|
161
|
+
"""
|
|
162
|
+
if "`" not in content:
|
|
163
|
+
return []
|
|
164
|
+
|
|
165
|
+
spans: list[tuple[int, int]] = []
|
|
166
|
+
_CODE_SPAN_PARSER.inline.parse(content, _CODE_SPAN_PARSER, {_CODE_SPANS_KEY: spans}, [])
|
|
167
|
+
return spans
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
def _mask_wikilinks_in_inline_code(content: str, code_spans: list[tuple[int, int]]) -> str:
|
|
171
|
+
"""Mask only brackets in code spans, retaining all non-link source text."""
|
|
172
|
+
if not code_spans:
|
|
173
|
+
return content
|
|
174
|
+
|
|
175
|
+
masked = list(content)
|
|
176
|
+
for start, end in code_spans:
|
|
177
|
+
for position in range(start, end):
|
|
178
|
+
if masked[position] in "[]":
|
|
179
|
+
masked[position] = " "
|
|
180
|
+
|
|
181
|
+
return "".join(masked)
|
|
182
|
+
|
|
183
|
+
|
|
184
|
+
def _remove_links_to_directive_outside_inline_code(
|
|
185
|
+
content: str, code_spans: list[tuple[int, int]]
|
|
186
|
+
) -> tuple[str, bool]:
|
|
187
|
+
"""Remove a terminal directive only when MarkdownIt parsed it as non-code."""
|
|
188
|
+
directive_content = list(content)
|
|
189
|
+
for start, end in code_spans:
|
|
190
|
+
directive_content[start:end] = " " * (end - start)
|
|
191
|
+
|
|
192
|
+
match = _LINKS_TO_DIRECTIVE.search("".join(directive_content))
|
|
193
|
+
if not match:
|
|
194
|
+
return content, False
|
|
195
|
+
return content[: match.start()].rstrip(), True
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
def _relation_parsing_content(token: Token) -> tuple[str, str, list[tuple[int, int]]]:
|
|
199
|
+
"""Build source-preserving relation input from MarkdownIt's code spans."""
|
|
200
|
+
source_content = _relation_content(token)
|
|
201
|
+
code_spans = _inline_code_spans(source_content)
|
|
202
|
+
return (
|
|
203
|
+
source_content,
|
|
204
|
+
_mask_wikilinks_in_inline_code(source_content, code_spans),
|
|
205
|
+
code_spans,
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
|
|
130
209
|
def parse_relation_type(content: str) -> str | None:
|
|
131
210
|
"""Return the explicit relation label before the first wikilink, if any."""
|
|
132
211
|
before_link = content.partition("[[")[0].strip()
|
|
@@ -154,15 +233,17 @@ def is_explicit_relation(token: Token) -> bool:
|
|
|
154
233
|
if token.type != "inline": # pragma: no cover
|
|
155
234
|
return False
|
|
156
235
|
|
|
157
|
-
|
|
158
|
-
content = (token.tag or token.content).strip()
|
|
236
|
+
_, content, _ = _relation_parsing_content(token)
|
|
159
237
|
if "[[" not in content or "]]" not in content:
|
|
160
238
|
return False
|
|
161
239
|
return _parse_explicit_relation(content) is not None
|
|
162
240
|
|
|
163
241
|
|
|
164
|
-
def _parse_explicit_relation(
|
|
242
|
+
def _parse_explicit_relation(
|
|
243
|
+
content: str, source_content: str | None = None
|
|
244
|
+
) -> Dict[str, Any] | None:
|
|
165
245
|
"""Parse ``type [[target]] (context)``, rejecting lines with a prose tail."""
|
|
246
|
+
source_content = source_content or content
|
|
166
247
|
rel_type = parse_relation_type(content)
|
|
167
248
|
if rel_type is None:
|
|
168
249
|
return None
|
|
@@ -172,7 +253,7 @@ def _parse_explicit_relation(content: str) -> Dict[str, Any] | None:
|
|
|
172
253
|
if start == -1 or end == -1:
|
|
173
254
|
return None
|
|
174
255
|
|
|
175
|
-
target = normalize_project_reference(
|
|
256
|
+
target = normalize_project_reference(source_content[start + 2 : end].strip())
|
|
176
257
|
if not target:
|
|
177
258
|
return None
|
|
178
259
|
|
|
@@ -189,7 +270,8 @@ def _parse_explicit_relation(content: str) -> Dict[str, Any] | None:
|
|
|
189
270
|
if after:
|
|
190
271
|
if not _is_single_parenthesized(after):
|
|
191
272
|
return None
|
|
192
|
-
|
|
273
|
+
source_after = source_content[end + 2 :].strip()
|
|
274
|
+
context = source_after[1:-1].strip() or None
|
|
193
275
|
|
|
194
276
|
return {"type": rel_type, "target": target, "context": context}
|
|
195
277
|
|
|
@@ -217,13 +299,23 @@ def _is_single_parenthesized(text: str) -> bool:
|
|
|
217
299
|
|
|
218
300
|
def parse_relation(token: Token) -> Dict[str, Any] | None:
|
|
219
301
|
"""Extract relation parts from token."""
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
302
|
+
source_content, content, _ = _relation_parsing_content(token)
|
|
303
|
+
return _parse_explicit_relation(content, source_content)
|
|
304
|
+
|
|
223
305
|
|
|
306
|
+
def _is_escaped(content: str, position: int) -> bool:
|
|
307
|
+
"""Whether the character at ``position`` is escaped by an odd slash run."""
|
|
308
|
+
slash_count = 0
|
|
309
|
+
position -= 1
|
|
310
|
+
while position >= 0 and content[position] == "\\":
|
|
311
|
+
slash_count += 1
|
|
312
|
+
position -= 1
|
|
313
|
+
return slash_count % 2 == 1
|
|
224
314
|
|
|
225
|
-
|
|
226
|
-
|
|
315
|
+
|
|
316
|
+
def parse_inline_relations(content: str, source_content: str | None = None) -> List[Dict[str, Any]]:
|
|
317
|
+
"""Find wiki-style links, extracting targets from the original source."""
|
|
318
|
+
source_content = content if source_content is None else source_content
|
|
227
319
|
relations = []
|
|
228
320
|
start = 0
|
|
229
321
|
|
|
@@ -232,6 +324,9 @@ def parse_inline_relations(content: str) -> List[Dict[str, Any]]:
|
|
|
232
324
|
start = content.find("[[", start)
|
|
233
325
|
if start == -1: # pragma: no cover
|
|
234
326
|
break
|
|
327
|
+
if _is_escaped(content, start):
|
|
328
|
+
start += 2
|
|
329
|
+
continue
|
|
235
330
|
|
|
236
331
|
# Find matching ]]
|
|
237
332
|
depth = 1
|
|
@@ -239,10 +334,10 @@ def parse_inline_relations(content: str) -> List[Dict[str, Any]]:
|
|
|
239
334
|
end = -1
|
|
240
335
|
|
|
241
336
|
while pos < len(content):
|
|
242
|
-
if content[pos : pos + 2] == "[[":
|
|
337
|
+
if content[pos : pos + 2] == "[[" and not _is_escaped(content, pos):
|
|
243
338
|
depth += 1
|
|
244
339
|
pos += 2
|
|
245
|
-
elif content[pos : pos + 2] == "]]":
|
|
340
|
+
elif content[pos : pos + 2] == "]]" and not _is_escaped(content, pos):
|
|
246
341
|
depth -= 1
|
|
247
342
|
if depth == 0:
|
|
248
343
|
end = pos
|
|
@@ -255,7 +350,7 @@ def parse_inline_relations(content: str) -> List[Dict[str, Any]]:
|
|
|
255
350
|
# No matching ]] found
|
|
256
351
|
break
|
|
257
352
|
|
|
258
|
-
target = normalize_project_reference(
|
|
353
|
+
target = normalize_project_reference(source_content[start + 2 : end].strip())
|
|
259
354
|
if target:
|
|
260
355
|
relations.append({"type": "links_to", "target": target, "context": None})
|
|
261
356
|
|
|
@@ -336,21 +431,27 @@ def relation_plugin(md: MarkdownIt) -> None:
|
|
|
336
431
|
|
|
337
432
|
# Only process inline tokens
|
|
338
433
|
if token.type == "inline":
|
|
339
|
-
|
|
340
|
-
|
|
434
|
+
source_content = _relation_content(token)
|
|
435
|
+
if "[[" not in source_content:
|
|
436
|
+
continue
|
|
437
|
+
|
|
438
|
+
code_spans = _inline_code_spans(source_content)
|
|
439
|
+
relation_content = _mask_wikilinks_in_inline_code(source_content, code_spans)
|
|
440
|
+
content_without_directive, has_directive = (
|
|
441
|
+
_remove_links_to_directive_outside_inline_code(relation_content, code_spans)
|
|
442
|
+
)
|
|
341
443
|
|
|
342
444
|
# Check for explicit relations in list items
|
|
343
|
-
if in_list_item and not has_directive
|
|
344
|
-
rel =
|
|
445
|
+
if in_list_item and not has_directive:
|
|
446
|
+
rel = _parse_explicit_relation(relation_content, source_content)
|
|
345
447
|
if rel:
|
|
346
448
|
token.meta["relations"] = [rel]
|
|
449
|
+
continue
|
|
347
450
|
|
|
348
451
|
# Always check for inline links in any text
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
if rels:
|
|
353
|
-
token.meta["relations"] = token.meta.get("relations", []) + rels
|
|
452
|
+
rels = parse_inline_relations(content_without_directive, source_content)
|
|
453
|
+
if rels:
|
|
454
|
+
token.meta["relations"] = token.meta.get("relations", []) + rels
|
|
354
455
|
|
|
355
456
|
# Add the rule after inline processing
|
|
356
457
|
md.core.ruler.after("inline", "relations", relation_rule)
|
|
@@ -4,10 +4,49 @@ These tests verify that CLI commands exit cleanly without hanging,
|
|
|
4
4
|
which was a bug fixed in the database initialization refactor.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
+
import os
|
|
7
8
|
import subprocess
|
|
8
9
|
from pathlib import Path
|
|
9
10
|
|
|
10
11
|
|
|
12
|
+
def test_bm_schema_validate_exits_cleanly(tmp_path):
|
|
13
|
+
"""Regression test (#1333, #1345): a command that drives the API in-process must exit.
|
|
14
|
+
|
|
15
|
+
``bm schema validate`` runs migrations (importing alembic/env.py) and then
|
|
16
|
+
serves one request over the local ASGI transport. On Python < 3.14 the
|
|
17
|
+
interpreter used to block at shutdown on a non-daemon anyio worker thread
|
|
18
|
+
that nest_asyncio's patched event loop never stopped.
|
|
19
|
+
"""
|
|
20
|
+
home = tmp_path / "home"
|
|
21
|
+
home.mkdir()
|
|
22
|
+
# A pristine profile: the developer's or CI's Basic Memory settings must not
|
|
23
|
+
# leak in, and the promo/analytics path stays out of the picture.
|
|
24
|
+
env = {
|
|
25
|
+
key: value
|
|
26
|
+
for key, value in os.environ.items()
|
|
27
|
+
if not key.startswith("BASIC_MEMORY_") and key != "PYTEST_CURRENT_TEST"
|
|
28
|
+
}
|
|
29
|
+
env.update(
|
|
30
|
+
HOME=str(home),
|
|
31
|
+
USERPROFILE=str(home),
|
|
32
|
+
BASIC_MEMORY_HOME=str(home / "basic-memory"),
|
|
33
|
+
BASIC_MEMORY_CONFIG_DIR=str(home / ".basic-memory"),
|
|
34
|
+
BASIC_MEMORY_NO_PROMOS="1",
|
|
35
|
+
)
|
|
36
|
+
result = subprocess.run(
|
|
37
|
+
["uv", "run", "bm", "schema", "validate", "--json", "--local"],
|
|
38
|
+
capture_output=True,
|
|
39
|
+
text=True,
|
|
40
|
+
env=env,
|
|
41
|
+
# Guards against a hang, not a performance budget: migrations plus one
|
|
42
|
+
# in-process request take a few seconds on a loaded CI runner.
|
|
43
|
+
timeout=90,
|
|
44
|
+
cwd=Path(__file__).parent.parent.parent,
|
|
45
|
+
)
|
|
46
|
+
assert result.returncode == 0, result.stderr
|
|
47
|
+
assert result.stdout.lstrip().startswith("{"), result.stdout
|
|
48
|
+
|
|
49
|
+
|
|
11
50
|
def test_bm_version_exits_cleanly():
|
|
12
51
|
"""Test that 'bm --version' exits cleanly within timeout."""
|
|
13
52
|
# Use uv run to ensure correct environment
|
{basic_memory-0.23.2.dev3 → basic_memory-0.23.3.dev2}/tests/markdown/test_relation_edge_cases.py
RENAMED
|
@@ -104,6 +104,70 @@ def test_inline_relations():
|
|
|
104
104
|
assert len(token.meta["relations"]) == 3
|
|
105
105
|
|
|
106
106
|
|
|
107
|
+
def test_inline_code_wikilinks_do_not_create_relations():
|
|
108
|
+
"""CommonMark code spans quote wikilinks instead of linking notes (#1332)."""
|
|
109
|
+
code = "`"
|
|
110
|
+
cases = [
|
|
111
|
+
(
|
|
112
|
+
f"The template is {code}[[Inline Target]]{code}; prose [[Real Target]].",
|
|
113
|
+
["Real Target"],
|
|
114
|
+
),
|
|
115
|
+
(
|
|
116
|
+
f"{code}{code}literal {code} and [[Double Backtick Target]]{code}{code}",
|
|
117
|
+
[],
|
|
118
|
+
),
|
|
119
|
+
]
|
|
120
|
+
|
|
121
|
+
for source, expected_targets in cases:
|
|
122
|
+
parsed = parse(source)
|
|
123
|
+
assert [relation.target for relation in parsed.relations] == expected_targets
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def test_inline_code_mask_keeps_source_outside_code_spans():
|
|
127
|
+
"""Masking code must not normalize escapes or discard relation context (#1332)."""
|
|
128
|
+
escaped = parse(r"\[[Literal]]")
|
|
129
|
+
assert escaped.relations == []
|
|
130
|
+
|
|
131
|
+
escaped_backticks = parse(r"\`see [[Target]]\`")
|
|
132
|
+
assert [relation.target for relation in escaped_backticks.relations] == ["Target"]
|
|
133
|
+
|
|
134
|
+
md = MarkdownIt().use(relation_plugin)
|
|
135
|
+
tokens = md.parse("- implemented_by [[Parser]] (`parse()`)")
|
|
136
|
+
token = next(t for t in tokens if t.type == "inline")
|
|
137
|
+
assert parse_relation(token) == {
|
|
138
|
+
"type": "implemented_by",
|
|
139
|
+
"target": "Parser",
|
|
140
|
+
"context": "`parse()`",
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
tokens = md.parse("- `example` implemented_by [[Parser]]")
|
|
144
|
+
token = next(t for t in tokens if t.type == "inline")
|
|
145
|
+
assert parse_relation(token) is None
|
|
146
|
+
assert token.meta["relations"] == [{"type": "links_to", "target": "Parser", "context": None}]
|
|
147
|
+
|
|
148
|
+
tokens = md.parse("- calls [[Parser]] `parse()`")
|
|
149
|
+
token = next(t for t in tokens if t.type == "inline")
|
|
150
|
+
assert parse_relation(token) is None
|
|
151
|
+
assert token.meta["relations"] == [{"type": "links_to", "target": "Parser", "context": None}]
|
|
152
|
+
|
|
153
|
+
literal_directive = parse("`#bm:links_to` [[Target]]")
|
|
154
|
+
assert [relation.target for relation in literal_directive.relations] == ["Target"]
|
|
155
|
+
|
|
156
|
+
for source, target in [
|
|
157
|
+
("[[API `[v2]`]]", "API `[v2]`"),
|
|
158
|
+
("[[Outer `[[literal]]` Target]]", "Outer `[[literal]]` Target"),
|
|
159
|
+
]:
|
|
160
|
+
parsed = parse(source)
|
|
161
|
+
assert [relation.target for relation in parsed.relations] == [target]
|
|
162
|
+
|
|
163
|
+
|
|
164
|
+
def test_many_unmatched_backtick_runs_keep_a_real_wikilink():
|
|
165
|
+
"""MarkdownIt's cached scanner avoids quadratic work on unmatched runs (#1332)."""
|
|
166
|
+
source = " ".join("`" * width for width in range(1, 801)) + " [[Target]]"
|
|
167
|
+
parsed = parse(source)
|
|
168
|
+
assert [relation.target for relation in parsed.relations] == ["Target"]
|
|
169
|
+
|
|
170
|
+
|
|
107
171
|
def test_prose_tail_falls_back_to_inline_link():
|
|
108
172
|
"""A sentence containing a wikilink must not mint a typed relation (#1260).
|
|
109
173
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"""Regression tests for Alembic env async migration helpers."""
|
|
2
2
|
|
|
3
|
+
import asyncio
|
|
3
4
|
import importlib.util
|
|
4
5
|
import uuid
|
|
5
6
|
from contextlib import nullcontext
|
|
@@ -61,6 +62,19 @@ def load_alembic_env_module(monkeypatch, tmp_path):
|
|
|
61
62
|
return module
|
|
62
63
|
|
|
63
64
|
|
|
65
|
+
def test_env_import_leaves_asyncio_unpatched(monkeypatch, tmp_path):
|
|
66
|
+
"""env.py must not apply nest_asyncio (#1333, #1345).
|
|
67
|
+
|
|
68
|
+
nest_asyncio swaps asyncio.run/run_until_complete process-wide and its loop
|
|
69
|
+
skips the root task's done-callbacks — the hook anyio uses to stop its worker
|
|
70
|
+
threads — so a CLI process that ran migrations hung at interpreter exit.
|
|
71
|
+
"""
|
|
72
|
+
load_alembic_env_module(monkeypatch, tmp_path)
|
|
73
|
+
|
|
74
|
+
assert not getattr(asyncio, "_nest_patched", False)
|
|
75
|
+
assert asyncio.run.__module__ == "asyncio.runners"
|
|
76
|
+
|
|
77
|
+
|
|
64
78
|
def test_asyncio_run_failure_closes_migration_coroutine(monkeypatch, tmp_path):
|
|
65
79
|
"""The running-loop fallback should not leak an un-awaited coroutine."""
|
|
66
80
|
env_module = load_alembic_env_module(monkeypatch, tmp_path)
|