Jason Woltje 8a90e78016
Some checks failed
ci/woodpecker/push/build Pipeline failed
feat: full CRUD API + MCP tools for thoughts
REST endpoints:
  GET    /v1/thoughts              — list with ?source=, ?metadata_id=, ?limit=, ?offset=
  GET    /v1/thoughts/{id}         — get by UUID (404 if not found)
  PATCH  /v1/thoughts/{id}         — update content/metadata, re-embeds if content changes
  DELETE /v1/thoughts/{id}         — delete by UUID (204 / 404)
  DELETE /v1/thoughts              — bulk delete by ?source= and/or ?metadata_id=

MCP tools (mirrors REST):
  get(thought_id)
  update(thought_id, content, metadata)
  delete(thought_id)
  delete_where(source, metadata_id)
  list_thoughts(source, metadata_id, limit, offset)

Internal refactor:
  - _row_to_thought() helper eliminates repeated Thought construction
  - UpdateRequest model with all-optional fields (PATCH semantics)
  - UUID validation on all by-id operations returns 404 cleanly

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-02 20:36:42 -06:00
Description
No description provided
66 KiB
Languages
Python 98.3%
Dockerfile 1.7%