Skip to content

fix(memory): support Chroma v2 collection endpoints - #1394

Draft
EmersonBraun wants to merge 1 commit into
mainfrom
codex/chroma-v2-compatibility
Draft

fix(memory): support Chroma v2 collection endpoints#1394
EmersonBraun wants to merge 1 commit into
mainfrom
codex/chroma-v2-compatibility

Conversation

@EmersonBraun

Copy link
Copy Markdown
Member

What changed

  • migrate the Chroma vector memory adapter from deprecated /api/v1 collection routes to the current tenant/database-scoped /api/v2 routes
  • resolve a configured collection name to its Chroma collection ID once and cache the result
  • add tenant, database, apiKey, and custom headers configuration
  • normalize controlled headers case-insensitively and keep JSON/token values authoritative
  • document the v2 behavior and add a patch changeset

Why

Current Chroma releases route /api/v1/* to a deprecation response, while collection operations in v2 require tenant, database, and collection ID path segments. The existing adapter therefore looked healthy under permissive mocks but could not complete real operations against Chroma 1.5.9.

Impact

Local Chroma users can keep using only url and collection; the adapter defaults to default_tenant and default_database. Hosted deployments can now provide tenant/database values, an x-chroma-token API key, and additional headers without changing the VectorMemory contract.

Validation

  • pnpm --filter @agentskit/memory test — 218 tests passed
  • pnpm --filter @agentskit/memory test:coverage — 91.06% statements overall; Chroma 100% statements/lines
  • pnpm --filter @agentskit/memory lint
  • pnpm --filter @agentskit/memory build
  • pnpm docs:bridge:gate
  • pnpm check:quality-gates — all 29 gates passed
  • pnpm size@agentskit/memory 13.7 KB / 15 KB
  • disposable chromadb/chroma:1.5.9 lifecycle: create collection, store, search, and delete passed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant