diff options
| author | Fuwn <[email protected]> | 2026-02-03 21:46:26 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-02-03 21:46:26 -0800 |
| commit | dcaa0a42d1cca1b0f04cf5c8c9aeb212efe289f0 (patch) | |
| tree | b0b0970e0f4a206507bf60a8e40bd085d8c3359d /packages | |
| parent | refactor(web): Use self-documenting variable names (diff) | |
| download | archived-imemio-dcaa0a42d1cca1b0f04cf5c8c9aeb212efe289f0.tar.xz archived-imemio-dcaa0a42d1cca1b0f04cf5c8c9aeb212efe289f0.zip | |
feat(sdk): Support variable embedding dimensions
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/sdk/src/supabase-store.ts | 5 | ||||
| -rw-r--r-- | packages/sdk/src/types.ts | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/packages/sdk/src/supabase-store.ts b/packages/sdk/src/supabase-store.ts index 7f69791..386c3cb 100644 --- a/packages/sdk/src/supabase-store.ts +++ b/packages/sdk/src/supabase-store.ts @@ -20,6 +20,7 @@ type MemoryRow = { tags: Tag[]; metadata: Record<string, unknown>; embedding: unknown; + embedding_dimensions: number | null; created_at: string; updated_at: string; }; @@ -88,6 +89,8 @@ export class SupabaseStore implements MemoryStore { if (input.embedding) { insertData.embedding = input.embedding; + insertData.embedding_dimensions = + input.embeddingDimensions ?? input.embedding.length; } const { data, error } = await this.client @@ -142,6 +145,8 @@ export class SupabaseStore implements MemoryStore { if (input.embedding !== undefined) { updates.embedding = input.embedding; + updates.embedding_dimensions = + input.embeddingDimensions ?? input.embedding.length; } const { data, error } = await this.client diff --git a/packages/sdk/src/types.ts b/packages/sdk/src/types.ts index 76a63de..4586ecd 100644 --- a/packages/sdk/src/types.ts +++ b/packages/sdk/src/types.ts @@ -42,6 +42,7 @@ export type MemoryCreateInput = { tags?: Tag[]; metadata?: MemoryMetadata; embedding?: number[]; + embeddingDimensions?: number; }; export type MemoryUpdateInput = { @@ -50,6 +51,7 @@ export type MemoryUpdateInput = { tags?: Tag[]; metadata?: MemoryMetadata; embedding?: number[]; + embeddingDimensions?: number; }; export type MemoryFilter = { |