|
| 1 | +# Embedded API Parity Matrix |
| 2 | + |
| 3 | +Scope: parity between Chroma capabilities and this repo's embedded (in-process) API. |
| 4 | + |
| 5 | +Legend: |
| 6 | +- `done`: implemented in embedded mode |
| 7 | +- `in-progress`: currently being implemented |
| 8 | +- `planned`: not yet implemented |
| 9 | +- `out-of-scope`: intentionally not exposed in current embedded Go surface |
| 10 | + |
| 11 | +## System and Lifecycle |
| 12 | + |
| 13 | +| Capability | Embedded Status | Notes | |
| 14 | +|---|---|---| |
| 15 | +| Init library | done | `Init` | |
| 16 | +| Start embedded from YAML path/string | done | `StartEmbedded` / `NewEmbedded` | |
| 17 | +| Close embedded handle | done | `(*Embedded).Close()` | |
| 18 | +| Heartbeat | done | `(*Embedded).Heartbeat()` | |
| 19 | +| Max batch size | done | `(*Embedded).MaxBatchSize()` | |
| 20 | +| Reset | done | `(*Embedded).Reset()` | |
| 21 | + |
| 22 | +## Databases |
| 23 | + |
| 24 | +| Capability | Embedded Status | Notes | |
| 25 | +|---|---|---| |
| 26 | +| Create database | done | `(*Embedded).CreateDatabase()` | |
| 27 | +| List databases | done | `(*Embedded).ListDatabases()` | |
| 28 | +| Get database | done | `(*Embedded).GetDatabase()` | |
| 29 | +| Delete database | done | `(*Embedded).DeleteDatabase()` | |
| 30 | + |
| 31 | +## Collections |
| 32 | + |
| 33 | +| Capability | Embedded Status | Notes | |
| 34 | +|---|---|---| |
| 35 | +| Create collection | done | `(*Embedded).CreateCollection()` | |
| 36 | +| List collections | done | `(*Embedded).ListCollections()` | |
| 37 | +| Get collection | done | `(*Embedded).GetCollection()` | |
| 38 | +| Count collections | done | `(*Embedded).CountCollections()` | |
| 39 | +| Update collection | done | `(*Embedded).UpdateCollection()` (rename-focused) | |
| 40 | +| Delete collection | done | `(*Embedded).DeleteCollection()` | |
| 41 | +| Fork collection | done | `(*Embedded).ForkCollection()` (may return unimplemented on local Chroma backend) | |
| 42 | + |
| 43 | +## Records and Query |
| 44 | + |
| 45 | +| Capability | Embedded Status | Notes | |
| 46 | +|---|---|---| |
| 47 | +| Add records | done | `(*Embedded).Add()` | |
| 48 | +| Query records | done | `(*Embedded).Query()` | |
| 49 | +| Get records | done | `(*Embedded).GetRecords()` | |
| 50 | +| Count records | done | `(*Embedded).CountRecords()` | |
| 51 | +| Update records | done | `(*Embedded).UpdateRecords()` | |
| 52 | +| Upsert records | done | `(*Embedded).UpsertRecords()` | |
| 53 | +| Delete records | done | `(*Embedded).DeleteRecords()` (ids and/or filters) | |
| 54 | +| Query/get/delete filters (`where`, `where_document`) | done | Supported in query/get/delete record calls | |
| 55 | + |
| 56 | +## Tenants and Admin |
| 57 | + |
| 58 | +| Capability | Embedded Status | Notes | |
| 59 | +|---|---|---| |
| 60 | +| Create tenant | done | `(*Embedded).CreateTenant()` | |
| 61 | +| Get tenant | done | `(*Embedded).GetTenant()` | |
| 62 | +| Update tenant | done | `(*Embedded).UpdateTenant()` (resource visibility may depend on backend) | |
| 63 | +| Healthcheck | done | `(*Embedded).Healthcheck()` | |
| 64 | +| Indexing status | done | `(*Embedded).IndexingStatus()` (may return unimplemented on local backend) | |
| 65 | + |
| 66 | +## Advanced and Function Management |
| 67 | + |
| 68 | +| Capability | Embedded Status | Notes | |
| 69 | +|---|---|---| |
| 70 | +| Search API (`search`) | planned | Distinct from nearest-neighbor `query` | |
| 71 | +| Get collection by CRN | out-of-scope | Internal/advanced lookup not in current Go surface | |
| 72 | +| Attach function | out-of-scope | Upstream `attach_function` not yet bridged | |
| 73 | +| Get attached function | out-of-scope | Upstream `get_attached_function` not yet bridged | |
| 74 | +| Detach function | out-of-scope | Upstream `detach_function` not yet bridged | |
0 commit comments