@traqr/memory 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 (156) hide show
  1. package/README.md +135 -0
  2. package/dist/index.d.ts +34 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +38 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/auth.d.ts +18 -0
  7. package/dist/lib/auth.d.ts.map +1 -0
  8. package/dist/lib/auth.js +31 -0
  9. package/dist/lib/auth.js.map +1 -0
  10. package/dist/lib/auto-derive.d.ts +35 -0
  11. package/dist/lib/auto-derive.js +261 -0
  12. package/dist/lib/auto-derive.js.map +1 -0
  13. package/dist/lib/borderline.d.ts +26 -0
  14. package/dist/lib/borderline.js +121 -0
  15. package/dist/lib/borderline.js.map +1 -0
  16. package/dist/lib/client.d.ts +28 -0
  17. package/dist/lib/client.d.ts.map +1 -0
  18. package/dist/lib/client.js +60 -0
  19. package/dist/lib/client.js.map +1 -0
  20. package/dist/lib/context.d.ts +38 -0
  21. package/dist/lib/context.d.ts.map +1 -0
  22. package/dist/lib/context.js +334 -0
  23. package/dist/lib/context.js.map +1 -0
  24. package/dist/lib/embeddings.d.ts +60 -0
  25. package/dist/lib/embeddings.d.ts.map +1 -0
  26. package/dist/lib/embeddings.js +229 -0
  27. package/dist/lib/embeddings.js.map +1 -0
  28. package/dist/lib/entity-pipeline.d.ts +23 -0
  29. package/dist/lib/entity-pipeline.js +151 -0
  30. package/dist/lib/entity-pipeline.js.map +1 -0
  31. package/dist/lib/formatting.d.ts +13 -0
  32. package/dist/lib/formatting.d.ts.map +1 -0
  33. package/dist/lib/formatting.js +60 -0
  34. package/dist/lib/formatting.js.map +1 -0
  35. package/dist/lib/learning-extractor.d.ts +144 -0
  36. package/dist/lib/learning-extractor.d.ts.map +1 -0
  37. package/dist/lib/learning-extractor.js +921 -0
  38. package/dist/lib/learning-extractor.js.map +1 -0
  39. package/dist/lib/lifecycle.d.ts +45 -0
  40. package/dist/lib/lifecycle.js +84 -0
  41. package/dist/lib/lifecycle.js.map +1 -0
  42. package/dist/lib/memory.d.ts +128 -0
  43. package/dist/lib/memory.d.ts.map +1 -0
  44. package/dist/lib/memory.js +590 -0
  45. package/dist/lib/memory.js.map +1 -0
  46. package/dist/lib/quality-gate.d.ts +32 -0
  47. package/dist/lib/quality-gate.js +158 -0
  48. package/dist/lib/quality-gate.js.map +1 -0
  49. package/dist/lib/quality-gate.test.d.ts +7 -0
  50. package/dist/lib/quality-gate.test.js +75 -0
  51. package/dist/lib/quality-gate.test.js.map +1 -0
  52. package/dist/lib/rerank.d.ts +22 -0
  53. package/dist/lib/rerank.js +61 -0
  54. package/dist/lib/rerank.js.map +1 -0
  55. package/dist/lib/retrieval.d.ts +75 -0
  56. package/dist/lib/retrieval.js +380 -0
  57. package/dist/lib/retrieval.js.map +1 -0
  58. package/dist/migrate.d.ts +17 -0
  59. package/dist/migrate.d.ts.map +1 -0
  60. package/dist/migrate.js +81 -0
  61. package/dist/migrate.js.map +1 -0
  62. package/dist/routes/analyze-codebase.d.ts +9 -0
  63. package/dist/routes/analyze-codebase.d.ts.map +1 -0
  64. package/dist/routes/analyze-codebase.js +70 -0
  65. package/dist/routes/analyze-codebase.js.map +1 -0
  66. package/dist/routes/analyze-voice.d.ts +9 -0
  67. package/dist/routes/analyze-voice.d.ts.map +1 -0
  68. package/dist/routes/analyze-voice.js +63 -0
  69. package/dist/routes/analyze-voice.js.map +1 -0
  70. package/dist/routes/assemble-context.d.ts +9 -0
  71. package/dist/routes/assemble-context.d.ts.map +1 -0
  72. package/dist/routes/assemble-context.js +68 -0
  73. package/dist/routes/assemble-context.js.map +1 -0
  74. package/dist/routes/bootstrap.d.ts +12 -0
  75. package/dist/routes/bootstrap.d.ts.map +1 -0
  76. package/dist/routes/bootstrap.js +102 -0
  77. package/dist/routes/bootstrap.js.map +1 -0
  78. package/dist/routes/browse.d.ts +11 -0
  79. package/dist/routes/browse.js +85 -0
  80. package/dist/routes/browse.js.map +1 -0
  81. package/dist/routes/capture-thought.d.ts +13 -0
  82. package/dist/routes/capture-thought.d.ts.map +1 -0
  83. package/dist/routes/capture-thought.js +178 -0
  84. package/dist/routes/capture-thought.js.map +1 -0
  85. package/dist/routes/capture.d.ts +13 -0
  86. package/dist/routes/capture.d.ts.map +1 -0
  87. package/dist/routes/capture.js +86 -0
  88. package/dist/routes/capture.js.map +1 -0
  89. package/dist/routes/cite.d.ts +9 -0
  90. package/dist/routes/cite.d.ts.map +1 -0
  91. package/dist/routes/cite.js +49 -0
  92. package/dist/routes/cite.js.map +1 -0
  93. package/dist/routes/crud.d.ts +11 -0
  94. package/dist/routes/crud.d.ts.map +1 -0
  95. package/dist/routes/crud.js +176 -0
  96. package/dist/routes/crud.js.map +1 -0
  97. package/dist/routes/dashboard.d.ts +9 -0
  98. package/dist/routes/dashboard.d.ts.map +1 -0
  99. package/dist/routes/dashboard.js +85 -0
  100. package/dist/routes/dashboard.js.map +1 -0
  101. package/dist/routes/entity-cron.d.ts +8 -0
  102. package/dist/routes/entity-cron.js +31 -0
  103. package/dist/routes/entity-cron.js.map +1 -0
  104. package/dist/routes/export.d.ts +8 -0
  105. package/dist/routes/export.d.ts.map +1 -0
  106. package/dist/routes/export.js +69 -0
  107. package/dist/routes/export.js.map +1 -0
  108. package/dist/routes/extract-pr-learnings.d.ts +12 -0
  109. package/dist/routes/extract-pr-learnings.d.ts.map +1 -0
  110. package/dist/routes/extract-pr-learnings.js +127 -0
  111. package/dist/routes/extract-pr-learnings.js.map +1 -0
  112. package/dist/routes/forget-cron.d.ts +9 -0
  113. package/dist/routes/forget-cron.js +30 -0
  114. package/dist/routes/forget-cron.js.map +1 -0
  115. package/dist/routes/learnings.d.ts +9 -0
  116. package/dist/routes/learnings.d.ts.map +1 -0
  117. package/dist/routes/learnings.js +237 -0
  118. package/dist/routes/learnings.js.map +1 -0
  119. package/dist/routes/pulse.d.ts +9 -0
  120. package/dist/routes/pulse.d.ts.map +1 -0
  121. package/dist/routes/pulse.js +133 -0
  122. package/dist/routes/pulse.js.map +1 -0
  123. package/dist/routes/search.d.ts +8 -0
  124. package/dist/routes/search.d.ts.map +1 -0
  125. package/dist/routes/search.js +107 -0
  126. package/dist/routes/search.js.map +1 -0
  127. package/dist/routes/store.d.ts +8 -0
  128. package/dist/routes/store.d.ts.map +1 -0
  129. package/dist/routes/store.js +89 -0
  130. package/dist/routes/store.js.map +1 -0
  131. package/dist/routes/sync.d.ts +12 -0
  132. package/dist/routes/sync.d.ts.map +1 -0
  133. package/dist/routes/sync.js +83 -0
  134. package/dist/routes/sync.js.map +1 -0
  135. package/dist/routes/voice-profile.d.ts +9 -0
  136. package/dist/routes/voice-profile.d.ts.map +1 -0
  137. package/dist/routes/voice-profile.js +124 -0
  138. package/dist/routes/voice-profile.js.map +1 -0
  139. package/dist/server.d.ts +37 -0
  140. package/dist/server.d.ts.map +1 -0
  141. package/dist/server.js +99 -0
  142. package/dist/server.js.map +1 -0
  143. package/dist/vectordb/index.d.ts +17 -0
  144. package/dist/vectordb/index.d.ts.map +1 -0
  145. package/dist/vectordb/index.js +39 -0
  146. package/dist/vectordb/index.js.map +1 -0
  147. package/dist/vectordb/supabase.d.ts +62 -0
  148. package/dist/vectordb/supabase.d.ts.map +1 -0
  149. package/dist/vectordb/supabase.js +711 -0
  150. package/dist/vectordb/supabase.js.map +1 -0
  151. package/dist/vectordb/types.d.ts +217 -0
  152. package/dist/vectordb/types.d.ts.map +1 -0
  153. package/dist/vectordb/types.js +28 -0
  154. package/dist/vectordb/types.js.map +1 -0
  155. package/package.json +49 -0
  156. package/setup.sql +1037 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * VectorDB Provider Factory
3
+ *
4
+ * Abstraction layer for vector database operations.
5
+ * Currently supports Supabase pgvector.
6
+ */
7
+ import type { VectorDBProvider, ProviderConfig } from './types.js';
8
+ export * from './types.js';
9
+ /**
10
+ * Get the configured vector database provider
11
+ */
12
+ export declare function getVectorDB(config?: ProviderConfig): VectorDBProvider;
13
+ /**
14
+ * Reset the provider instance (useful for testing)
15
+ */
16
+ export declare function resetVectorDB(): void;
17
+ export default getVectorDB;
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/vectordb/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAGlE,cAAc,YAAY,CAAA;AAK1B;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAkBrE;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * VectorDB Provider Factory
3
+ *
4
+ * Abstraction layer for vector database operations.
5
+ * Currently supports Supabase pgvector.
6
+ */
7
+ import { SupabaseVectorProvider } from './supabase.js';
8
+ // Re-export types for convenience
9
+ export * from './types.js';
10
+ // Singleton instance
11
+ let providerInstance = null;
12
+ /**
13
+ * Get the configured vector database provider
14
+ */
15
+ export function getVectorDB(config) {
16
+ if (providerInstance)
17
+ return providerInstance;
18
+ const providerType = config?.type || 'supabase';
19
+ switch (providerType) {
20
+ case 'supabase':
21
+ providerInstance = new SupabaseVectorProvider();
22
+ break;
23
+ case 'pinecone':
24
+ throw new Error('Pinecone provider not yet implemented');
25
+ case 'qdrant':
26
+ throw new Error('Qdrant provider not yet implemented');
27
+ default:
28
+ throw new Error(`Unknown provider type: ${providerType}`);
29
+ }
30
+ return providerInstance;
31
+ }
32
+ /**
33
+ * Reset the provider instance (useful for testing)
34
+ */
35
+ export function resetVectorDB() {
36
+ providerInstance = null;
37
+ }
38
+ export default getVectorDB;
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/vectordb/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAGtD,kCAAkC;AAClC,cAAc,YAAY,CAAA;AAE1B,qBAAqB;AACrB,IAAI,gBAAgB,GAA4B,IAAI,CAAA;AAEpD;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,MAAuB;IACjD,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAA;IAE7C,MAAM,YAAY,GAAG,MAAM,EAAE,IAAI,IAAI,UAAU,CAAA;IAE/C,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,UAAU;YACb,gBAAgB,GAAG,IAAI,sBAAsB,EAAE,CAAA;YAC/C,MAAK;QACP,KAAK,UAAU;YACb,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;QAC1D,KAAK,QAAQ;YACX,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAA;QACxD;YACE,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAA;IAC7D,CAAC;IAED,OAAO,gBAAgB,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,gBAAgB,GAAG,IAAI,CAAA;AACzB,CAAC;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Supabase VectorDB Provider
3
+ *
4
+ * Implementation of VectorDBProvider using Supabase with pgvector.
5
+ * All memory operations go through the configured Supabase instance.
6
+ */
7
+ import type { VectorDBProvider, Memory, MemoryInput, MemorySearchResult, MemoryUpdate, MemoryExport, MemoryDomain, SearchOptions, BM25SearchResult, TemporalSearchResult, GraphSearchResult } from './types.js';
8
+ export declare class SupabaseVectorProvider implements VectorDBProvider {
9
+ store(input: MemoryInput, domainId?: string): Promise<Memory>;
10
+ search(query: string, options?: SearchOptions & {
11
+ precomputedEmbedding?: string;
12
+ }): Promise<MemorySearchResult[]>;
13
+ getById(id: string): Promise<Memory | null>;
14
+ update(id: string, updates: MemoryUpdate): Promise<Memory>;
15
+ delete(id: string): Promise<void>;
16
+ validate(id: string): Promise<Memory>;
17
+ invalidate(id: string): Promise<void>;
18
+ supersede(id: string): Promise<void>;
19
+ archive(id: string, reason?: string): Promise<Memory>;
20
+ unarchive(id: string): Promise<Memory>;
21
+ exportAll(domainId?: string): Promise<MemoryExport[]>;
22
+ importBulk(memories: MemoryExport[], domainId: string): Promise<number>;
23
+ createDomain(name: string, description?: string, userId?: string): Promise<MemoryDomain>;
24
+ getDomain(name: string): Promise<MemoryDomain | null>;
25
+ getDefaultDomain(): Promise<MemoryDomain>;
26
+ bm25Search(queryText: string, options?: {
27
+ projectId?: string;
28
+ domain?: string;
29
+ category?: string;
30
+ limit?: number;
31
+ minScore?: number;
32
+ }): Promise<BM25SearchResult[]>;
33
+ temporalSearch(query: string, dateStart: Date, dateEnd: Date, options?: {
34
+ projectId?: string;
35
+ similarityThreshold?: number;
36
+ limit?: number;
37
+ precomputedEmbedding?: string;
38
+ }): Promise<TemporalSearchResult[]>;
39
+ graphSearch(seedIds: string[], options?: {
40
+ edgeTypes?: string[];
41
+ maxDepth?: number;
42
+ limit?: number;
43
+ }): Promise<GraphSearchResult[]>;
44
+ findEntityByName(name: string, entityType: string): Promise<any | null>;
45
+ findEntityByNameFuzzy(name: string, entityType: string): Promise<any | null>;
46
+ findEntityByEmbedding(embeddingStr: string, entityType: string, threshold?: number): Promise<any | null>;
47
+ createEntity(entity: {
48
+ name: string;
49
+ entityType: string;
50
+ embedding?: string;
51
+ userId?: string;
52
+ }): Promise<any>;
53
+ incrementEntityMentions(entityId: string): Promise<void>;
54
+ linkMemoryToEntity(memoryId: string, entityId: string, role?: string): Promise<void>;
55
+ findEntitiesByNames(names: string[]): Promise<{
56
+ id: string;
57
+ name: string;
58
+ }[]>;
59
+ findOrphanedEntities(): Promise<string[]>;
60
+ archiveEntities(ids: string[]): Promise<number>;
61
+ ping(): Promise<boolean>;
62
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supabase.d.ts","sourceRoot":"","sources":["../../src/vectordb/supabase.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EACV,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,aAAa,EAGd,MAAM,YAAY,CAAA;AA0FnB,qBAAa,sBAAuB,YAAW,gBAAgB;IACvD,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA4C7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IA6CjF,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAkB3C,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAoD1D,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqBrC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBrD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBtC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IA2CrD,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAiDvE,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA+BxF,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IA0BrD,gBAAgB,IAAI,OAAO,CAAC,YAAY,CAAC;IAyBzC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;CAS/B"}