Commit Graph

35 Commits

Author SHA1 Message Date
Paul Hernandez c44291830c chore: rename entity_type to note_type (#600)
Signed-off-by: phernandez <paul@basicmachines.co>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 20:28:57 -06:00
Drew Cain 0023e736ab feat: add context-aware wiki link resolution with source_path support (#527)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 19:11:41 -06:00
Paul Hernandez 4a43d7df4a remove logfire instrumentation
Signed-off-by: phernandez <paul@basicmachines.co>
2025-12-13 15:22:14 -06:00
phernandez a920a9ff29 feat: Add project_id to Relation and Observation for efficient project-scoped queries
Denormalizes project_id onto Relation and Observation tables to enable
efficient project-scoped queries without joins. Migration backfills
from associated entity and adds pg_trgm extension with GIN indexes
for fuzzy link resolution on PostgreSQL.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: phernandez <paul@basicmachines.co>
2025-12-01 21:54:56 -06:00
phernandez 05efe8701c test: Verify update() returns entity with eager-loaded relations
Add test confirming entity_repository.update() returns the entity with
observations and relations eagerly loaded, eliminating the need for a
separate find_by_id() call after update.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: phernandez <paul@basicmachines.co>
2025-12-01 16:22:21 -06:00
phernandez 6f99d2e551 perf: lightweight permalink resolution to avoid eager loading
Add optimized repository methods for resolve_permalink() that skip
eager loading of observations and relations:

- permalink_exists(): Check existence without loading entity
- get_file_path_for_permalink(): Get only file_path column
- get_permalink_for_file_path(): Get only permalink column
- get_all_permalinks(): Get all permalinks as strings
- get_permalink_to_file_path_map(): Bulk lookup mapping
- get_file_path_to_permalink_map(): Reverse mapping

Updated entity_service.resolve_permalink() to use these lightweight
methods instead of loading full entities with all relationships.

Also added logfire instrumentation to markdown utils.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: phernandez <paul@basicmachines.co>
2025-11-30 14:34:31 -06:00
Paul Hernandez e78345ff25 feat: Streaming Foundation & Async I/O Consolidation (SPEC-19) (#384)
Signed-off-by: phernandez <paul@basicmachines.co>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-21 09:03:59 -05:00
Paul Hernandez 00b73b0d08 feat: Optimize directory operations for 10-100x performance improvement (#350)
Signed-off-by: phernandez <paul@basicmachines.co>
Co-authored-by: Claude <noreply@anthropic.com>
2025-10-11 09:11:46 -05:00
bm-claudeai 020957cd76 feat: Multi-project support, OAuth authentication, and major improvements (#119)
Signed-off-by: phernandez <paul@basicmachines.co>
Co-authored-by: phernandez <paul@basicmachines.co>
Co-authored-by: Claude <noreply@anthropic.com>
2025-05-25 10:07:34 -05:00
Paul Hernandez f8078cdd46 Fix: Beta testing fixes (#16)
Co-authored-by: phernandez <phernandez@basicmachines.co>
2025-02-28 20:23:53 -06:00
Paul Hernandez 5b4f0eafcc Pre release fixups (#5)
* configure logging

* set mcp output logging also

* fix type check errors

* fix type check

* rename Permalink schema type

* fix type errors

* add typechecks to ci workflow

* pytest coverage setup

* add tests for status cli

* sync tests coverage

* watch_service test coverage

* tests for tool_utils.py

* clean up imports

* file_utils coverage

* markdown plugins coverage

* 99% test coverage

* more test coverage, remove ObservationCategory

* more tool coverage

* fix type-check

* format, upgrade deps

---------

Co-authored-by: phernandez <phernandez@basicmachines.co>
2025-02-12 08:23:10 -06:00
phernandez c2aa947be9 remove observation, relation services 2025-01-27 17:01:34 -06:00
phernandez 18bd850019 fix updates and save content. remove entity.summary 2025-01-26 00:00:37 -06:00
phernandez 9f35f8b8d2 fix unresolved links on sync 2025-01-22 22:37:34 -06:00
phernandez bd1d91081e use dates from frontmatter on sync 2025-01-22 17:03:21 -06:00
phernandez bc6632732e speed up context query 2025-01-19 10:06:14 -06:00
phernandez 32606d771d fix tests for context and permalinks 2025-01-18 23:54:28 -06:00
phernandez aa8c0a7a36 rework entity_sync 2025-01-13 20:15:06 -06:00
phernandez bdedf53566 add link_resolver.py 2025-01-12 17:44:26 -06:00
phernandez c5d21276de change entity.path_id to entity.permalink 2025-01-12 16:47:21 -06:00
phernandez 90a301d4ce rename entity.name to entity.title 2025-01-12 13:48:16 -06:00
phernandez 761fb708c6 rename entity.name to entity.title 2025-01-12 12:50:03 -06:00
phernandez 1c6836d83f fix tests 2025-01-07 20:29:59 -06:00
phernandez 6686c331a5 refactor entity.entity_type to be freeform, add summary and content_type 2025-01-07 19:00:08 -06:00
phernandez ea359d2484 update entity/repostitory/service 2025-01-06 18:57:04 -06:00
phernandez 0b918ee9e8 move sync dir up to basic_memory.sync 2025-01-04 19:20:54 -06:00
phernandez c59bdbf90e rename incoming/outgoing relations on Entity model 2025-01-04 00:23:02 -06:00
phernandez 12a21d81b6 add select relations to list_by_type tool 2024-12-30 15:05:35 -06:00
phernandez cc0116466a fix entity_repository 2024-12-26 21:24:32 -06:00
phernandez d713097333 fix entity_repository tests 2024-12-24 18:29:51 -06:00
phernandez 0bbcf636f6 change /knowledge endpoints to use ids 2024-12-24 18:15:59 -06:00
phernandez c2d16acb59 fix entity service tests 2024-12-22 12:00:02 -06:00
phernandez ecb46ddceb entity repository tests 2024-12-22 11:10:35 -06:00
phernandez e245ed3708 update main with changes 2024-12-19 19:10:29 -06:00
phernandez fa4e55f75f deletes for repositories 2024-12-15 11:31:51 -06:00