@open-mercato/search 0.4.2-canary-c02407ff85

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 (237) hide show
  1. package/AGENTS.md +678 -0
  2. package/build.mjs +92 -0
  3. package/dist/di.js +157 -0
  4. package/dist/di.js.map +7 -0
  5. package/dist/fulltext/drivers/index.js +21 -0
  6. package/dist/fulltext/drivers/index.js.map +7 -0
  7. package/dist/fulltext/drivers/meilisearch/index.js +320 -0
  8. package/dist/fulltext/drivers/meilisearch/index.js.map +7 -0
  9. package/dist/fulltext/index.js +7 -0
  10. package/dist/fulltext/index.js.map +7 -0
  11. package/dist/fulltext/types.js +1 -0
  12. package/dist/fulltext/types.js.map +7 -0
  13. package/dist/index.js +12 -0
  14. package/dist/index.js.map +7 -0
  15. package/dist/indexer/index.js +8 -0
  16. package/dist/indexer/index.js.map +7 -0
  17. package/dist/indexer/search-indexer.js +848 -0
  18. package/dist/indexer/search-indexer.js.map +7 -0
  19. package/dist/indexer/subscribers/delete.js +41 -0
  20. package/dist/indexer/subscribers/delete.js.map +7 -0
  21. package/dist/lib/debug.js +34 -0
  22. package/dist/lib/debug.js.map +7 -0
  23. package/dist/lib/fallback-presenter.js +107 -0
  24. package/dist/lib/fallback-presenter.js.map +7 -0
  25. package/dist/lib/field-policy.js +75 -0
  26. package/dist/lib/field-policy.js.map +7 -0
  27. package/dist/lib/index.js +19 -0
  28. package/dist/lib/index.js.map +7 -0
  29. package/dist/lib/merger.js +93 -0
  30. package/dist/lib/merger.js.map +7 -0
  31. package/dist/lib/presenter-enricher.js +192 -0
  32. package/dist/lib/presenter-enricher.js.map +7 -0
  33. package/dist/modules/search/acl.js +14 -0
  34. package/dist/modules/search/acl.js.map +7 -0
  35. package/dist/modules/search/ai-tools.js +284 -0
  36. package/dist/modules/search/ai-tools.js.map +7 -0
  37. package/dist/modules/search/api/embeddings/reindex/cancel/route.js +65 -0
  38. package/dist/modules/search/api/embeddings/reindex/cancel/route.js.map +7 -0
  39. package/dist/modules/search/api/embeddings/reindex/route.js +165 -0
  40. package/dist/modules/search/api/embeddings/reindex/route.js.map +7 -0
  41. package/dist/modules/search/api/embeddings/route.js +246 -0
  42. package/dist/modules/search/api/embeddings/route.js.map +7 -0
  43. package/dist/modules/search/api/index/route.js +245 -0
  44. package/dist/modules/search/api/index/route.js.map +7 -0
  45. package/dist/modules/search/api/reindex/cancel/route.js +65 -0
  46. package/dist/modules/search/api/reindex/cancel/route.js.map +7 -0
  47. package/dist/modules/search/api/reindex/route.js +332 -0
  48. package/dist/modules/search/api/reindex/route.js.map +7 -0
  49. package/dist/modules/search/api/search/global/route.js +100 -0
  50. package/dist/modules/search/api/search/global/route.js.map +7 -0
  51. package/dist/modules/search/api/search/route.js +101 -0
  52. package/dist/modules/search/api/search/route.js.map +7 -0
  53. package/dist/modules/search/api/settings/fulltext/route.js +55 -0
  54. package/dist/modules/search/api/settings/fulltext/route.js.map +7 -0
  55. package/dist/modules/search/api/settings/global-search/route.js +80 -0
  56. package/dist/modules/search/api/settings/global-search/route.js.map +7 -0
  57. package/dist/modules/search/api/settings/route.js +118 -0
  58. package/dist/modules/search/api/settings/route.js.map +7 -0
  59. package/dist/modules/search/api/settings/vector-store/route.js +77 -0
  60. package/dist/modules/search/api/settings/vector-store/route.js.map +7 -0
  61. package/dist/modules/search/backend/config/search/page.js +10 -0
  62. package/dist/modules/search/backend/config/search/page.js.map +7 -0
  63. package/dist/modules/search/backend/config/search/page.meta.js +24 -0
  64. package/dist/modules/search/backend/config/search/page.meta.js.map +7 -0
  65. package/dist/modules/search/cli.js +698 -0
  66. package/dist/modules/search/cli.js.map +7 -0
  67. package/dist/modules/search/di.js +32 -0
  68. package/dist/modules/search/di.js.map +7 -0
  69. package/dist/modules/search/frontend/components/GlobalSearchDialog.js +357 -0
  70. package/dist/modules/search/frontend/components/GlobalSearchDialog.js.map +7 -0
  71. package/dist/modules/search/frontend/components/HybridSearchTable.js +343 -0
  72. package/dist/modules/search/frontend/components/HybridSearchTable.js.map +7 -0
  73. package/dist/modules/search/frontend/components/SearchSettingsPageClient.js +303 -0
  74. package/dist/modules/search/frontend/components/SearchSettingsPageClient.js.map +7 -0
  75. package/dist/modules/search/frontend/components/sections/FulltextSearchSection.js +360 -0
  76. package/dist/modules/search/frontend/components/sections/FulltextSearchSection.js.map +7 -0
  77. package/dist/modules/search/frontend/components/sections/GlobalSearchSection.js +101 -0
  78. package/dist/modules/search/frontend/components/sections/GlobalSearchSection.js.map +7 -0
  79. package/dist/modules/search/frontend/components/sections/VectorSearchSection.js +608 -0
  80. package/dist/modules/search/frontend/components/sections/VectorSearchSection.js.map +7 -0
  81. package/dist/modules/search/frontend/index.js +9 -0
  82. package/dist/modules/search/frontend/index.js.map +7 -0
  83. package/dist/modules/search/frontend/utils.js +41 -0
  84. package/dist/modules/search/frontend/utils.js.map +7 -0
  85. package/dist/modules/search/i18n/de.json +61 -0
  86. package/dist/modules/search/i18n/en.json +72 -0
  87. package/dist/modules/search/i18n/es.json +61 -0
  88. package/dist/modules/search/i18n/pl.json +61 -0
  89. package/dist/modules/search/index.js +11 -0
  90. package/dist/modules/search/index.js.map +7 -0
  91. package/dist/modules/search/lib/auto-indexing.js +29 -0
  92. package/dist/modules/search/lib/auto-indexing.js.map +7 -0
  93. package/dist/modules/search/lib/embedding-config.js +131 -0
  94. package/dist/modules/search/lib/embedding-config.js.map +7 -0
  95. package/dist/modules/search/lib/global-search-config.js +45 -0
  96. package/dist/modules/search/lib/global-search-config.js.map +7 -0
  97. package/dist/modules/search/lib/reindex-lock.js +99 -0
  98. package/dist/modules/search/lib/reindex-lock.js.map +7 -0
  99. package/dist/modules/search/subscribers/fulltext_upsert.js +64 -0
  100. package/dist/modules/search/subscribers/fulltext_upsert.js.map +7 -0
  101. package/dist/modules/search/subscribers/vector_delete.js +58 -0
  102. package/dist/modules/search/subscribers/vector_delete.js.map +7 -0
  103. package/dist/modules/search/subscribers/vector_purge.js +142 -0
  104. package/dist/modules/search/subscribers/vector_purge.js.map +7 -0
  105. package/dist/modules/search/subscribers/vector_upsert.js +58 -0
  106. package/dist/modules/search/subscribers/vector_upsert.js.map +7 -0
  107. package/dist/modules/search/workers/fulltext-index.worker.js +240 -0
  108. package/dist/modules/search/workers/fulltext-index.worker.js.map +7 -0
  109. package/dist/modules/search/workers/vector-index.worker.js +234 -0
  110. package/dist/modules/search/workers/vector-index.worker.js.map +7 -0
  111. package/dist/queue/fulltext-indexing.js +15 -0
  112. package/dist/queue/fulltext-indexing.js.map +7 -0
  113. package/dist/queue/index.js +3 -0
  114. package/dist/queue/index.js.map +7 -0
  115. package/dist/queue/vector-indexing.js +15 -0
  116. package/dist/queue/vector-indexing.js.map +7 -0
  117. package/dist/service.js +286 -0
  118. package/dist/service.js.map +7 -0
  119. package/dist/strategies/fulltext.strategy.js +116 -0
  120. package/dist/strategies/fulltext.strategy.js.map +7 -0
  121. package/dist/strategies/index.js +12 -0
  122. package/dist/strategies/index.js.map +7 -0
  123. package/dist/strategies/token.strategy.js +80 -0
  124. package/dist/strategies/token.strategy.js.map +7 -0
  125. package/dist/strategies/vector.strategy.js +137 -0
  126. package/dist/strategies/vector.strategy.js.map +7 -0
  127. package/dist/types.js +1 -0
  128. package/dist/types.js.map +7 -0
  129. package/dist/vector/drivers/chromadb/index.js +44 -0
  130. package/dist/vector/drivers/chromadb/index.js.map +7 -0
  131. package/dist/vector/drivers/index.js +9 -0
  132. package/dist/vector/drivers/index.js.map +7 -0
  133. package/dist/vector/drivers/pgvector/index.js +509 -0
  134. package/dist/vector/drivers/pgvector/index.js.map +7 -0
  135. package/dist/vector/drivers/qdrant/index.js +44 -0
  136. package/dist/vector/drivers/qdrant/index.js.map +7 -0
  137. package/dist/vector/index.js +4 -0
  138. package/dist/vector/index.js.map +7 -0
  139. package/dist/vector/lib/vector-logs.js +33 -0
  140. package/dist/vector/lib/vector-logs.js.map +7 -0
  141. package/dist/vector/services/checksum.js +20 -0
  142. package/dist/vector/services/checksum.js.map +7 -0
  143. package/dist/vector/services/embedding.js +222 -0
  144. package/dist/vector/services/embedding.js.map +7 -0
  145. package/dist/vector/services/index.js +4 -0
  146. package/dist/vector/services/index.js.map +7 -0
  147. package/dist/vector/services/vector-index.service.js +960 -0
  148. package/dist/vector/services/vector-index.service.js.map +7 -0
  149. package/dist/vector/types/pg.d.js +1 -0
  150. package/dist/vector/types/pg.d.js.map +7 -0
  151. package/dist/vector/types.js +75 -0
  152. package/dist/vector/types.js.map +7 -0
  153. package/jest.config.cjs +19 -0
  154. package/package.json +142 -0
  155. package/src/__tests__/queue.test.ts +148 -0
  156. package/src/__tests__/service.test.ts +345 -0
  157. package/src/__tests__/workers.test.ts +319 -0
  158. package/src/di.ts +291 -0
  159. package/src/fulltext/drivers/index.ts +41 -0
  160. package/src/fulltext/drivers/meilisearch/index.ts +410 -0
  161. package/src/fulltext/index.ts +13 -0
  162. package/src/fulltext/types.ts +115 -0
  163. package/src/index.ts +36 -0
  164. package/src/indexer/index.ts +13 -0
  165. package/src/indexer/search-indexer.ts +1141 -0
  166. package/src/indexer/subscribers/delete.ts +49 -0
  167. package/src/lib/debug.ts +46 -0
  168. package/src/lib/fallback-presenter.ts +106 -0
  169. package/src/lib/field-policy.ts +169 -0
  170. package/src/lib/index.ts +13 -0
  171. package/src/lib/merger.ts +159 -0
  172. package/src/lib/presenter-enricher.ts +323 -0
  173. package/src/modules/search/README.md +694 -0
  174. package/src/modules/search/acl.ts +10 -0
  175. package/src/modules/search/ai-tools.ts +467 -0
  176. package/src/modules/search/api/embeddings/reindex/cancel/route.ts +77 -0
  177. package/src/modules/search/api/embeddings/reindex/route.ts +197 -0
  178. package/src/modules/search/api/embeddings/route.ts +304 -0
  179. package/src/modules/search/api/index/route.ts +297 -0
  180. package/src/modules/search/api/reindex/cancel/route.ts +77 -0
  181. package/src/modules/search/api/reindex/route.ts +419 -0
  182. package/src/modules/search/api/search/global/route.ts +120 -0
  183. package/src/modules/search/api/search/route.ts +121 -0
  184. package/src/modules/search/api/settings/fulltext/route.ts +82 -0
  185. package/src/modules/search/api/settings/global-search/route.ts +91 -0
  186. package/src/modules/search/api/settings/route.ts +187 -0
  187. package/src/modules/search/api/settings/vector-store/route.ts +105 -0
  188. package/src/modules/search/backend/config/search/page.meta.ts +22 -0
  189. package/src/modules/search/backend/config/search/page.tsx +12 -0
  190. package/src/modules/search/cli.ts +818 -0
  191. package/src/modules/search/di.ts +50 -0
  192. package/src/modules/search/frontend/components/GlobalSearchDialog.tsx +436 -0
  193. package/src/modules/search/frontend/components/HybridSearchTable.tsx +418 -0
  194. package/src/modules/search/frontend/components/SearchSettingsPageClient.tsx +476 -0
  195. package/src/modules/search/frontend/components/sections/FulltextSearchSection.tsx +624 -0
  196. package/src/modules/search/frontend/components/sections/GlobalSearchSection.tsx +124 -0
  197. package/src/modules/search/frontend/components/sections/VectorSearchSection.tsx +943 -0
  198. package/src/modules/search/frontend/index.ts +3 -0
  199. package/src/modules/search/frontend/utils.ts +82 -0
  200. package/src/modules/search/i18n/de.json +61 -0
  201. package/src/modules/search/i18n/en.json +72 -0
  202. package/src/modules/search/i18n/es.json +61 -0
  203. package/src/modules/search/i18n/pl.json +61 -0
  204. package/src/modules/search/index.ts +9 -0
  205. package/src/modules/search/lib/auto-indexing.ts +35 -0
  206. package/src/modules/search/lib/embedding-config.ts +161 -0
  207. package/src/modules/search/lib/global-search-config.ts +69 -0
  208. package/src/modules/search/lib/reindex-lock.ts +201 -0
  209. package/src/modules/search/subscribers/fulltext_upsert.ts +83 -0
  210. package/src/modules/search/subscribers/vector_delete.ts +75 -0
  211. package/src/modules/search/subscribers/vector_purge.ts +161 -0
  212. package/src/modules/search/subscribers/vector_upsert.ts +75 -0
  213. package/src/modules/search/workers/fulltext-index.worker.ts +318 -0
  214. package/src/modules/search/workers/vector-index.worker.ts +292 -0
  215. package/src/queue/fulltext-indexing.ts +87 -0
  216. package/src/queue/index.ts +2 -0
  217. package/src/queue/vector-indexing.ts +66 -0
  218. package/src/service.ts +397 -0
  219. package/src/strategies/fulltext.strategy.ts +155 -0
  220. package/src/strategies/index.ts +17 -0
  221. package/src/strategies/token.strategy.ts +153 -0
  222. package/src/strategies/vector.strategy.ts +234 -0
  223. package/src/types.ts +38 -0
  224. package/src/vector/drivers/chromadb/index.ts +49 -0
  225. package/src/vector/drivers/index.ts +4 -0
  226. package/src/vector/drivers/pgvector/index.ts +627 -0
  227. package/src/vector/drivers/qdrant/index.ts +49 -0
  228. package/src/vector/index.ts +3 -0
  229. package/src/vector/lib/vector-logs.ts +46 -0
  230. package/src/vector/services/checksum.ts +18 -0
  231. package/src/vector/services/embedding.ts +275 -0
  232. package/src/vector/services/index.ts +3 -0
  233. package/src/vector/services/vector-index.service.ts +1234 -0
  234. package/src/vector/types/pg.d.ts +1 -0
  235. package/src/vector/types.ts +220 -0
  236. package/tsconfig.json +9 -0
  237. package/watch.mjs +6 -0
@@ -0,0 +1 @@
1
+ declare module 'pg';
@@ -0,0 +1,220 @@
1
+ import type { EntityId } from '@open-mercato/shared/modules/entities'
2
+ import type {
3
+ VectorDriverId,
4
+ VectorIndexSource,
5
+ VectorModuleConfig,
6
+ VectorEntityConfig,
7
+ VectorLinkDescriptor,
8
+ VectorResultPresenter,
9
+ VectorSearchHit,
10
+ VectorQueryRequest,
11
+ VectorIndexEntry,
12
+ } from '@open-mercato/shared/modules/vector'
13
+
14
+ export type {
15
+ VectorDriverId,
16
+ VectorIndexSource,
17
+ VectorModuleConfig,
18
+ VectorEntityConfig,
19
+ VectorLinkDescriptor,
20
+ VectorResultPresenter,
21
+ VectorSearchHit,
22
+ VectorQueryRequest,
23
+ VectorIndexEntry,
24
+ }
25
+
26
+ export type VectorDriverDocument = {
27
+ entityId: EntityId
28
+ recordId: string
29
+ tenantId: string
30
+ organizationId?: string | null
31
+ checksum: string
32
+ embedding: number[]
33
+ url?: string | null
34
+ presenter?: VectorResultPresenter | null
35
+ links?: VectorLinkDescriptor[] | null
36
+ payload?: Record<string, unknown> | null
37
+ driverId: VectorDriverId
38
+ resultTitle: string
39
+ resultSubtitle?: string | null
40
+ resultIcon?: string | null
41
+ resultBadge?: string | null
42
+ resultSnapshot?: string | null
43
+ primaryLinkHref?: string | null
44
+ primaryLinkLabel?: string | null
45
+ }
46
+
47
+ export type VectorDriverQuery = {
48
+ vector: number[]
49
+ limit?: number
50
+ filter?: {
51
+ entityIds?: EntityId[]
52
+ organizationId?: string | null
53
+ tenantId: string
54
+ }
55
+ }
56
+
57
+ export type VectorDriverQueryResult = {
58
+ entityId: EntityId
59
+ recordId: string
60
+ organizationId?: string | null
61
+ score: number
62
+ checksum: string
63
+ url?: string | null
64
+ presenter?: VectorResultPresenter | null
65
+ links?: VectorLinkDescriptor[] | null
66
+ payload?: Record<string, unknown> | null
67
+ resultTitle: string
68
+ resultSubtitle?: string | null
69
+ resultIcon?: string | null
70
+ resultBadge?: string | null
71
+ resultSnapshot?: string | null
72
+ primaryLinkHref?: string | null
73
+ primaryLinkLabel?: string | null
74
+ }
75
+
76
+ export type VectorDriverListParams = {
77
+ tenantId: string
78
+ organizationId?: string | null
79
+ entityId?: EntityId
80
+ limit?: number
81
+ offset?: number
82
+ orderBy?: 'created' | 'updated'
83
+ }
84
+
85
+ export type VectorDriverCountParams = {
86
+ tenantId: string
87
+ organizationId?: string | null
88
+ entityId?: EntityId
89
+ }
90
+
91
+ export type VectorDriverRemoveOrphansParams = {
92
+ entityId: EntityId
93
+ tenantId?: string | null
94
+ organizationId?: string | null
95
+ olderThan: Date
96
+ }
97
+
98
+ export interface VectorDriver {
99
+ readonly id: VectorDriverId
100
+ ensureReady(): Promise<void>
101
+ upsert(doc: VectorDriverDocument): Promise<void>
102
+ delete(entityId: EntityId, recordId: string, tenantId: string): Promise<void>
103
+ query(input: VectorDriverQuery): Promise<VectorDriverQueryResult[]>
104
+ getChecksum(entityId: EntityId, recordId: string, tenantId: string): Promise<string | null>
105
+ purge?(entityId: EntityId, tenantId: string): Promise<void>
106
+ list?(params: VectorDriverListParams): Promise<VectorIndexEntry[]>
107
+ count?(params: VectorDriverCountParams): Promise<number>
108
+ removeOrphans?(params: VectorDriverRemoveOrphansParams): Promise<number | void>
109
+ getTableDimension?(): Promise<number | null>
110
+ recreateWithDimension?(newDimension: number): Promise<void>
111
+ }
112
+
113
+ // ============================================================================
114
+ // Embedding Provider Configuration Types
115
+ // ============================================================================
116
+
117
+ export type EmbeddingProviderId =
118
+ | 'openai'
119
+ | 'google'
120
+ | 'mistral'
121
+ | 'cohere'
122
+ | 'bedrock'
123
+ | 'ollama'
124
+
125
+ export type EmbeddingProviderConfig = {
126
+ providerId: EmbeddingProviderId
127
+ model: string
128
+ dimension: number
129
+ outputDimensionality?: number
130
+ baseUrl?: string
131
+ updatedAt: string
132
+ }
133
+
134
+ export type EmbeddingModelInfo = {
135
+ id: string
136
+ name: string
137
+ dimension: number
138
+ configurableDimension?: boolean
139
+ minDimension?: number
140
+ maxDimension?: number
141
+ }
142
+
143
+ export type EmbeddingProviderInfo = {
144
+ name: string
145
+ envKeyRequired: string
146
+ defaultModel: string
147
+ models: EmbeddingModelInfo[]
148
+ }
149
+
150
+ export const EMBEDDING_PROVIDERS: Record<EmbeddingProviderId, EmbeddingProviderInfo> = {
151
+ openai: {
152
+ name: 'OpenAI',
153
+ envKeyRequired: 'OPENAI_API_KEY',
154
+ defaultModel: 'text-embedding-3-small',
155
+ models: [
156
+ { id: 'text-embedding-3-small', name: 'text-embedding-3-small', dimension: 1536 },
157
+ { id: 'text-embedding-3-large', name: 'text-embedding-3-large', dimension: 3072, configurableDimension: true, minDimension: 256, maxDimension: 3072 },
158
+ { id: 'text-embedding-ada-002', name: 'text-embedding-ada-002', dimension: 1536 },
159
+ ],
160
+ },
161
+ google: {
162
+ name: 'Google Generative AI',
163
+ envKeyRequired: 'GOOGLE_GENERATIVE_AI_API_KEY',
164
+ defaultModel: 'text-embedding-004',
165
+ models: [
166
+ { id: 'text-embedding-004', name: 'text-embedding-004', dimension: 768, configurableDimension: true, minDimension: 1, maxDimension: 768 },
167
+ { id: 'embedding-001', name: 'embedding-001', dimension: 768 },
168
+ ],
169
+ },
170
+ mistral: {
171
+ name: 'Mistral',
172
+ envKeyRequired: 'MISTRAL_API_KEY',
173
+ defaultModel: 'mistral-embed',
174
+ models: [
175
+ { id: 'mistral-embed', name: 'mistral-embed', dimension: 1024 },
176
+ ],
177
+ },
178
+ cohere: {
179
+ name: 'Cohere',
180
+ envKeyRequired: 'COHERE_API_KEY',
181
+ defaultModel: 'embed-english-v3.0',
182
+ models: [
183
+ { id: 'embed-english-v3.0', name: 'embed-english-v3.0', dimension: 1024 },
184
+ { id: 'embed-multilingual-v3.0', name: 'embed-multilingual-v3.0', dimension: 1024 },
185
+ { id: 'embed-english-light-v3.0', name: 'embed-english-light-v3.0', dimension: 384 },
186
+ { id: 'embed-multilingual-light-v3.0', name: 'embed-multilingual-light-v3.0', dimension: 384 },
187
+ ],
188
+ },
189
+ bedrock: {
190
+ name: 'Amazon Bedrock',
191
+ envKeyRequired: 'AWS_ACCESS_KEY_ID',
192
+ defaultModel: 'amazon.titan-embed-text-v2:0',
193
+ models: [
194
+ { id: 'amazon.titan-embed-text-v2:0', name: 'Titan Embed Text v2', dimension: 1024, configurableDimension: true, minDimension: 256, maxDimension: 1024 },
195
+ { id: 'amazon.titan-embed-text-v1', name: 'Titan Embed Text v1', dimension: 1536 },
196
+ { id: 'cohere.embed-english-v3', name: 'Cohere Embed English v3', dimension: 1024 },
197
+ { id: 'cohere.embed-multilingual-v3', name: 'Cohere Embed Multilingual v3', dimension: 1024 },
198
+ ],
199
+ },
200
+ ollama: {
201
+ name: 'Ollama (Local)',
202
+ envKeyRequired: 'OLLAMA_BASE_URL',
203
+ defaultModel: 'nomic-embed-text',
204
+ models: [
205
+ { id: 'nomic-embed-text', name: 'nomic-embed-text', dimension: 768 },
206
+ { id: 'mxbai-embed-large', name: 'mxbai-embed-large', dimension: 1024 },
207
+ { id: 'all-minilm', name: 'all-minilm', dimension: 384 },
208
+ { id: 'snowflake-arctic-embed', name: 'snowflake-arctic-embed', dimension: 1024 },
209
+ ],
210
+ },
211
+ }
212
+
213
+ export const EMBEDDING_CONFIG_KEY = 'embedding_provider'
214
+
215
+ export const DEFAULT_EMBEDDING_CONFIG: EmbeddingProviderConfig = {
216
+ providerId: 'openai',
217
+ model: 'text-embedding-3-small',
218
+ dimension: 1536,
219
+ updatedAt: new Date().toISOString(),
220
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/tsconfig",
3
+ "extends": "../../tsconfig.base.json",
4
+ "compilerOptions": {
5
+ "noEmit": true
6
+ },
7
+ "include": ["src/**/*"],
8
+ "exclude": ["node_modules", "dist", "**/__tests__/**"]
9
+ }
package/watch.mjs ADDED
@@ -0,0 +1,6 @@
1
+ import { watch } from '../../scripts/watch.mjs'
2
+ import { dirname } from 'node:path'
3
+ import { fileURLToPath } from 'node:url'
4
+
5
+ const __dirname = dirname(fileURLToPath(import.meta.url))
6
+ watch(__dirname)