@steno-ai/supabase-adapter 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/client.d.ts +7 -0
  2. package/dist/client.d.ts.map +1 -0
  3. package/dist/client.js +8 -0
  4. package/dist/client.js.map +1 -0
  5. package/dist/index.d.ts +3 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +3 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/storage.d.ts +126 -0
  10. package/dist/storage.d.ts.map +1 -0
  11. package/dist/storage.js +990 -0
  12. package/dist/storage.js.map +1 -0
  13. package/package.json +33 -0
  14. package/src/client.d.ts +7 -0
  15. package/src/client.d.ts.map +1 -0
  16. package/src/client.js +8 -0
  17. package/src/client.js.map +1 -0
  18. package/src/client.ts +13 -0
  19. package/src/index.d.ts +3 -0
  20. package/src/index.d.ts.map +1 -0
  21. package/src/index.js +3 -0
  22. package/src/index.js.map +1 -0
  23. package/src/index.ts +2 -0
  24. package/src/migrations/001_extensions.sql +4 -0
  25. package/src/migrations/002_create_tenants.sql +14 -0
  26. package/src/migrations/003_create_api_keys.sql +15 -0
  27. package/src/migrations/004_create_sessions.sql +18 -0
  28. package/src/migrations/005_create_extractions.sql +34 -0
  29. package/src/migrations/006_create_facts.sql +68 -0
  30. package/src/migrations/007_create_entities.sql +26 -0
  31. package/src/migrations/008_create_fact_entities.sql +9 -0
  32. package/src/migrations/009_create_edges.sql +22 -0
  33. package/src/migrations/010_create_triggers.sql +18 -0
  34. package/src/migrations/011_create_memory_accesses.sql +20 -0
  35. package/src/migrations/012_create_usage_records.sql +16 -0
  36. package/src/migrations/013_create_functions.sql +19 -0
  37. package/src/migrations/014_create_rls_policies.sql +50 -0
  38. package/src/migrations/015_create_rpc_functions.sql +109 -0
  39. package/src/migrations/016_alter_source_ref.sql +2 -0
  40. package/src/migrations/017_keyword_search_rpc.sql +75 -0
  41. package/src/migrations/018_graph_traverse_rpc.sql +106 -0
  42. package/src/migrations/019_create_webhooks.sql +22 -0
  43. package/src/migrations/020_compound_search_rpc.sql +100 -0
  44. package/src/migrations/021_match_entities_rpc.sql +39 -0
  45. package/src/migrations/022_get_facts_for_entities_rpc.sql +123 -0
  46. package/src/migrations/023_add_event_date.sql +8 -0
  47. package/src/migrations/024_add_source_chunk.sql +3 -0
  48. package/src/migrations/025_update_edge_types_add_signing_key.sql +14 -0
  49. package/src/storage.d.ts +126 -0
  50. package/src/storage.d.ts.map +1 -0
  51. package/src/storage.js +990 -0
  52. package/src/storage.js.map +1 -0
  53. package/src/storage.ts +1180 -0
@@ -0,0 +1,7 @@
1
+ import { type SupabaseClient } from '@supabase/supabase-js';
2
+ export interface SupabaseConfig {
3
+ url: string;
4
+ serviceRoleKey: string;
5
+ }
6
+ export declare function createSupabaseClient(config: SupabaseConfig): SupabaseClient;
7
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE1E,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAK3E"}
package/dist/client.js ADDED
@@ -0,0 +1,8 @@
1
+ import { createClient } from '@supabase/supabase-js';
2
+ export function createSupabaseClient(config) {
3
+ return createClient(config.url, config.serviceRoleKey, {
4
+ auth: { persistSession: false },
5
+ db: { schema: 'public' },
6
+ });
7
+ }
8
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,uBAAuB,CAAC;AAO1E,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,OAAO,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE;QACrD,IAAI,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE;QAC/B,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;KACzB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { SupabaseStorageAdapter } from './storage.js';
2
+ export { createSupabaseClient, type SupabaseConfig } from './client.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,3 @@
1
+ export { SupabaseStorageAdapter } from './storage.js';
2
+ export { createSupabaseClient } from './client.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAuB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,126 @@
1
+ import type { SupabaseClient } from '@supabase/supabase-js';
2
+ import type { StorageAdapter, PaginationOptions, PaginatedResult, VectorSearchOptions, VectorSearchResult, KeywordSearchOptions, KeywordSearchResult, CompoundSearchOptions, CompoundSearchResult, GraphTraversalOptions, GraphTraversalResult } from '@steno-ai/engine';
3
+ import type { Fact, CreateFact, Entity, CreateEntity, Edge, CreateEdge, Trigger, CreateTrigger, MemoryAccess, CreateMemoryAccess, Extraction, CreateExtraction, Session, CreateSession, Tenant, CreateTenant, ApiKey, CreateApiKey, UsageRecord, Webhook, CreateWebhook } from '@steno-ai/engine';
4
+ /**
5
+ * Convert all top-level keys of a plain object from camelCase to snake_case.
6
+ * Nested objects (metadata, config, properties, condition) are preserved as-is.
7
+ * Arrays and null values are preserved.
8
+ */
9
+ export declare function toSnakeCase(obj: Record<string, unknown>): Record<string, unknown>;
10
+ /**
11
+ * Convert all top-level keys of a plain object from snake_case to camelCase.
12
+ * Nested objects (metadata, config, properties, condition) are preserved as-is.
13
+ * Arrays and null values are preserved.
14
+ */
15
+ export declare function toCamelCase(obj: Record<string, unknown>): Record<string, unknown>;
16
+ export declare class SupabaseStorageAdapter implements StorageAdapter {
17
+ private client;
18
+ constructor(client: SupabaseClient);
19
+ ping(): Promise<boolean>;
20
+ createTenant(tenant: CreateTenant & {
21
+ id: string;
22
+ }): Promise<Tenant>;
23
+ getTenant(id: string): Promise<Tenant | null>;
24
+ getTenantBySlug(slug: string): Promise<Tenant | null>;
25
+ updateTenant(id: string, updates: Partial<Tenant>): Promise<Tenant>;
26
+ createApiKey(apiKey: CreateApiKey & {
27
+ id: string;
28
+ keyHash: string;
29
+ keyPrefix: string;
30
+ }): Promise<ApiKey>;
31
+ getApiKeyByPrefix(prefix: string): Promise<ApiKey | null>;
32
+ getApiKeysForTenant(tenantId: string): Promise<ApiKey[]>;
33
+ revokeApiKey(tenantId: string, id: string): Promise<void>;
34
+ updateApiKeyLastUsed(id: string): Promise<void>;
35
+ createExtraction(extraction: CreateExtraction & {
36
+ id: string;
37
+ }): Promise<Extraction>;
38
+ getExtraction(tenantId: string, id: string): Promise<Extraction | null>;
39
+ updateExtraction(tenantId: string, id: string, updates: Partial<Extraction>): Promise<Extraction>;
40
+ getExtractionByHash(tenantId: string, inputHash: string): Promise<Extraction | null>;
41
+ getExtractionsByTenant(tenantId: string, options: PaginationOptions): Promise<PaginatedResult<Extraction>>;
42
+ createFact(fact: CreateFact & {
43
+ id: string;
44
+ lineageId: string;
45
+ embeddingModel: string;
46
+ embeddingDim: number;
47
+ embedding?: number[];
48
+ }): Promise<Fact>;
49
+ getFact(tenantId: string, id: string): Promise<Fact | null>;
50
+ getFactsByIds(tenantId: string, ids: string[]): Promise<Fact[]>;
51
+ getFactsByLineage(tenantId: string, lineageId: string): Promise<Fact[]>;
52
+ invalidateFact(tenantId: string, id: string): Promise<void>;
53
+ createEntity(entity: CreateEntity & {
54
+ id: string;
55
+ embedding?: number[];
56
+ embeddingModel?: string;
57
+ embeddingDim?: number;
58
+ }): Promise<Entity>;
59
+ getEntity(tenantId: string, id: string): Promise<Entity | null>;
60
+ findEntityByCanonicalName(tenantId: string, canonicalName: string, entityType: string): Promise<Entity | null>;
61
+ findEntitiesByEmbedding(tenantId: string, embedding: number[], limit: number, minSimilarity?: number): Promise<Array<{
62
+ entity: Entity;
63
+ similarity: number;
64
+ }>>;
65
+ linkFactEntity(factId: string, entityId: string, role: string): Promise<void>;
66
+ createEdge(edge: CreateEdge & {
67
+ id: string;
68
+ }): Promise<Edge>;
69
+ vectorSearch(options: VectorSearchOptions): Promise<VectorSearchResult[]>;
70
+ incrementUsage(tenantId: string, tokens: number, queries: number, extractions: number, costUsd: number): Promise<void>;
71
+ getUsage(tenantId: string, periodStart: Date): Promise<UsageRecord | null>;
72
+ getCurrentUsage(tenantId: string): Promise<UsageRecord | null>;
73
+ getFactsByScope(tenantId: string, scope: string, scopeId: string, options: PaginationOptions): Promise<PaginatedResult<Fact>>;
74
+ purgeFacts(tenantId: string, scope: string, scopeId: string): Promise<number>;
75
+ updateDecayScores(tenantId: string, facts: Array<{
76
+ id: string;
77
+ decayScore: number;
78
+ lastAccessed?: Date;
79
+ frequency?: number;
80
+ importance?: number;
81
+ }>): Promise<void>;
82
+ keywordSearch(options: KeywordSearchOptions): Promise<KeywordSearchResult[]>;
83
+ compoundSearch(options: CompoundSearchOptions): Promise<CompoundSearchResult[]>;
84
+ getEntitiesForTenant(tenantId: string, options: PaginationOptions): Promise<PaginatedResult<Entity>>;
85
+ getEntitiesForFact(factId: string): Promise<Entity[]>;
86
+ getFactsForEntity(tenantId: string, entityId: string, options: PaginationOptions): Promise<PaginatedResult<Fact>>;
87
+ getFactsForEntities(tenantId: string, entityIds: string[], perEntityLimit: number): Promise<Array<{
88
+ entityId: string;
89
+ fact: Fact;
90
+ }>>;
91
+ getEdgesForEntity(tenantId: string, entityId: string): Promise<Edge[]>;
92
+ graphTraversal(options: GraphTraversalOptions): Promise<GraphTraversalResult>;
93
+ createTrigger(trigger: CreateTrigger & {
94
+ id: string;
95
+ }): Promise<Trigger>;
96
+ getTrigger(tenantId: string, id: string): Promise<Trigger | null>;
97
+ getActiveTriggers(tenantId: string, scope: string, scopeId: string): Promise<Trigger[]>;
98
+ updateTrigger(tenantId: string, id: string, updates: Partial<Trigger>): Promise<Trigger>;
99
+ deleteTrigger(tenantId: string, id: string): Promise<void>;
100
+ incrementTriggerFired(tenantId: string, id: string): Promise<void>;
101
+ createMemoryAccess(access: CreateMemoryAccess & {
102
+ id: string;
103
+ }): Promise<MemoryAccess>;
104
+ updateFeedback(tenantId: string, factId: string, feedback: {
105
+ wasUseful: boolean;
106
+ feedbackType: string;
107
+ feedbackDetail?: string;
108
+ wasCorrected?: boolean;
109
+ }): Promise<void>;
110
+ createSession(session: CreateSession & {
111
+ id: string;
112
+ }): Promise<Session>;
113
+ getSession(tenantId: string, id: string): Promise<Session | null>;
114
+ endSession(tenantId: string, id: string, summary?: string, topics?: string[]): Promise<Session>;
115
+ getSessionsByScope(tenantId: string, scope: string, scopeId: string, options: PaginationOptions): Promise<PaginatedResult<Session>>;
116
+ createWebhook(webhook: CreateWebhook & {
117
+ id: string;
118
+ secretHash: string;
119
+ signingKey: string;
120
+ }): Promise<Webhook>;
121
+ getWebhook(tenantId: string, id: string): Promise<Webhook | null>;
122
+ getWebhooksForTenant(tenantId: string): Promise<Webhook[]>;
123
+ getWebhooksByEvent(tenantId: string, event: string): Promise<Webhook[]>;
124
+ deleteWebhook(tenantId: string, id: string): Promise<void>;
125
+ }
126
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}