Paul Hernandez
f7304bf553
feat(cli): improve workspace and cloud bisync command discoverability ( #905 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 18:18:17 -05:00
Paul Hernandez
5b034f081d
fix(core): self-heal corrupt FastEmbed model cache ( #900 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:37:30 -05:00
Paul Hernandez
271c883ea8
fix(core): load sqlite-vec for embedding-status query ( #901 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:37:27 -05:00
Paul Hernandez
816ee85fb9
fix(core): prevent asyncpg engine-dispose crash on Postgres backend ( #902 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:37:23 -05:00
Paul Hernandez
3ba3a9504d
fix(mcp): stop move_note reporting false success across boundaries ( #904 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-07 17:37:20 -05:00
Sourish Chakraborty
f916662ff3
fix(core): allow cross-project context traversal
2026-06-06 21:43:21 -05:00
DoubleDeeRuffy
0c9800cd3b
fix(sync): use strict deferred relation resolution
2026-06-06 21:43:09 -05:00
Adit Karode
476239d878
feat(cli): add delete-note tool command
2026-06-06 21:41:46 -05:00
DoubleDeeRuffy
20bb19f4cd
fix(mcp): resolve write-note overwrite conflicts
2026-06-06 21:41:36 -05:00
tk
f6565b9d23
fix(core): L2-normalize FastEmbed vectors ( #843 )
...
L2-normalizes FastEmbed output vectors at the provider boundary so SQLite vector scoring keeps its unit-vector contract for custom FastEmbed models such as multilingual MiniLM variants.
Zero vectors are preserved as-is to avoid division errors, and the provider tests cover both non-unit vectors and zero-vector behavior.
Verification:
- uv run pytest tests/repository/test_fastembed_provider.py -q
- uv run ruff check src/basic_memory/repository/fastembed_provider.py tests/repository/test_fastembed_provider.py
- uv run ruff format --check src/basic_memory/repository/fastembed_provider.py tests/repository/test_fastembed_provider.py
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Signed-off-by: tk-pkm111 <133480534+tk-pkm111@users.noreply.github.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-06 17:15:19 -05:00
Aarish Alam
b6e8c636ce
feat(core): add LiteLLM embedding provider ( #809 )
...
Adds LiteLLM as a semantic embedding provider, including provider configuration, vector normalization, live-provider evaluation tooling, and documentation for OpenAI, Cohere, Azure Foundry, Azure OpenAI, and NVIDIA NIM-style cases.
Maintainer follow-up on this PR added provider hardening, asymmetric document/query embedding support, dimension-forwarding controls, SQLite/Postgres vector invalidation coverage, and the repeatable live LiteLLM harness.
Verification:
- Full base-repo Tests workflow passed for 3d4e092ceb : https://github.com/basicmachines-co/basic-memory/actions/runs/27072071785
- Live LiteLLM harness passed locally for OpenAI, Cohere, and Azure Foundry.
Co-authored-by: Aarish Alam <arishalam121@gmail.com >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
Signed-off-by: RheagalFire <arishalam121@gmail.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-06 17:13:09 -05:00
phernandez
59e865c079
chore: update version to 0.21.6 for v0.21.6 release
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 23:41:42 -05:00
Paul Hernandez
8887267256
fix(ci): improve auto bm note narrative ( #893 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 22:34:57 -05:00
Paul Hernandez
2de8183e85
fix(ci): require all codex synthesis schema fields
...
Fixes the Auto BM Codex structured-output schema guardrail so live synthesis can run.
2026-06-04 20:48:55 -05:00
Paul Hernandez
0adbc12f09
docs(ci): document auto bm dogfood install
...
Documents the temporary checkout install used while dogfooding Auto BM before the next package release.
2026-06-04 20:44:51 -05:00
phernandez
4502bd3c3b
ci(cli): configure auto bm workflow
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 20:27:42 -05:00
phernandez
b386502020
fix(cli): show copyable workspace identifiers
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 20:20:56 -05:00
phernandez
16ba55d7b4
feat(cli): add auto bm github ci
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-06-04 20:14:59 -05:00
Paul Hernandez
fc2ee07076
feat(api): expose owning project on entity resolve
...
Expose project_external_id on v2 entity resolve responses so cloud callers can authorize cross-project targets without a second tenant DB lookup.
2026-06-02 18:01:17 -05:00
phernandez
5365f971ef
chore(integrations): consolidate agent packages
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-30 14:16:04 -05:00
phernandez
8d21a38588
fix(cli): handle non-subscription errors in cloud login
...
`bm cloud login` only caught SubscriptionRequiredError after the
post-login `/proxy/health` subscription check. OAuth succeeds and tokens
are saved, but if that check returns anything else — a 5xx while the
tenant instance is still provisioning, a 403/401 whose body doesn't match
the subscription_required shape, or a transport error — make_api_request
raises a generic CloudAPIError that escaped uncaught, dumping a raw
httpx.raise_for_status traceback. Users read this as "login failed" even
though authentication actually worked.
Add a CloudAPIError handler that prints a clean, actionable message and
exits non-zero. make_api_request wraps every httpx error (status and
transport) in CloudAPIError, so the single handler covers them all.
Fixes #863 .
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-30 14:13:32 -05:00
Drew Cain
f07643d3a8
feat(cli): expose project sync support metadata
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-28 15:00:05 -05:00
Drew Cain
8bf7bdbc0d
fix(cli): limit team workspace guard to bisync
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-28 14:59:48 -05:00
Drew Cain
d0ae373f45
docs(cli): clarify team mirror sync guard
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-28 14:59:48 -05:00
Drew Cain
1acec0a69d
test(cli): cover workspace sync guard branches
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-28 14:59:48 -05:00
Drew Cain
a2276a8a04
fix(cli): block team workspace rclone sync
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-28 14:59:48 -05:00
Drew Cain
ff5d872a8c
chore: update version to 0.21.5 for v0.21.5 release
2026-05-26 10:58:09 -05:00
Drew Cain
b109b7337f
fix(mcp): attach local state to one workspace project row ( #854 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-26 10:54:44 -05:00
Drew Cain
36b51b676e
fix(mcp): return workspace-qualified write permalinks ( #853 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-26 00:33:21 -05:00
Drew Cain
9af320187c
fix(core): load sqlite-vec before vector table cleanup ( #852 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-26 00:27:47 -05:00
Paul Hernandez
5a34a420c9
fix(mcp): preinitialize local ASGI database ( #838 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-25 15:57:00 -05:00
Drew Cain
a7e2368f9e
chore: update version to 0.21.4 for v0.21.4 release
2026-05-23 14:55:49 -05:00
Sean Campbell
c755127317
fix(cli): ignore CancelledError in background task done callback ( #839 ) ( #842 )
...
Signed-off-by: rudi193-cmd <rudi193@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-23 14:27:59 -05:00
Sean Campbell
94c04ee456
fix(mcp): restore write_note overwrite schema for external clients ( #818 ) ( #841 )
...
Signed-off-by: rudi193-cmd <rudi193@gmail.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-23 14:19:43 -05:00
Drew Cain
40ed7129c8
chore: update version to 0.21.3 for v0.21.3 release
2026-05-23 13:46:48 -05:00
Drew Cain
5ae8a733ea
fix(mcp): route mixed local/cloud projects correctly ( #837 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-23 11:31:13 -05:00
Rafael Madriz
b94ef01f82
feat(core): add XDG_CONFIG_HOME support ( #844 )
...
Signed-off-by: Rafael Madriz <rafa@rafaelmadriz.com >
2026-05-22 15:18:06 -05:00
phernandez
60ec6728de
chore: update version to 0.21.1 for v0.21.1 release
2026-05-16 18:56:38 -05:00
phernandez
214a54d740
chore: update version to 0.21.0 for v0.21.0 release
2026-05-16 17:15:53 -05:00
Paul Hernandez
9e3fe26a83
fix(core): purge SQLite search_index on project delete ( #832 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-16 16:47:24 -05:00
Paul Hernandez
47ee982041
perf(cli): defer local ASGI app import ( #828 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-15 17:59:58 -05:00
Paul Hernandez
4d22c398c6
fix(sync): preserve bmignore rclone filters ( #827 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-15 17:48:49 -05:00
Paul Hernandez
3bed6d8890
chore(deps): update deps and harden security ( #825 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-15 10:45:14 -05:00
Paul Hernandez
4cba7ba01c
fix(core): parse prose wikilinks as inline links ( #824 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-14 11:43:11 -05:00
Drew Cain
8eeec64e28
fix: basic-memory project list does not list projects from all workspaces ( #822 )
...
Signed-off-by: Drew Cain <groksrc@gmail.com >
2026-05-14 09:46:02 -05:00
Paul Hernandez
c6fa185bf3
fix(mcp): route edit_note workspace-qualified permalinks ( #813 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-11 12:56:26 -05:00
Paul Hernandez
415c2b3d6e
feat(cli): add orphan entity command ( #816 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-11 12:13:14 -05:00
Paul Hernandez
4aa0cbdd62
fix(sync): ignore hidden paths relative to watched project ( #815 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-11 11:14:03 -05:00
Paul Hernandez
55f314237d
fix(sync): avoid shell for scan subprocesses ( #814 )
...
Signed-off-by: phernandez <paul@basicmachines.co >
2026-05-11 09:20:11 -05:00
Drew Cain
9862ef5411
fix(core): use updated_at for recent_activity filter and ordering ( #812 )
...
Signed-off-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Signed-off-by: Drew Cain <groksrc@gmail.com >
Signed-off-by: phernandez <paul@basicmachines.co >
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
Co-authored-by: phernandez <paul@basicmachines.co >
2026-05-11 09:14:06 -05:00