mongo.do 0.1.0 → 0.1.1

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 (706) hide show
  1. package/dist/cli/index.d.ts +1 -15
  2. package/dist/cli/index.js +4083 -196
  3. package/dist/cli/index.js.map +1 -1
  4. package/dist/index.d.ts +2740 -20
  5. package/dist/index.js +9375 -27
  6. package/dist/index.js.map +1 -1
  7. package/dist/worker-entrypoint-BEW23Gmp.d.ts +1331 -0
  8. package/dist/worker.d.ts +6 -5
  9. package/dist/worker.js +5477 -18
  10. package/dist/worker.js.map +1 -1
  11. package/package.json +3 -2
  12. package/dist/agentfs/adapters/anthropic.d.ts +0 -176
  13. package/dist/agentfs/adapters/anthropic.d.ts.map +0 -1
  14. package/dist/agentfs/adapters/anthropic.js +0 -629
  15. package/dist/agentfs/adapters/anthropic.js.map +0 -1
  16. package/dist/agentfs/adapters/index.d.ts +0 -21
  17. package/dist/agentfs/adapters/index.d.ts.map +0 -1
  18. package/dist/agentfs/adapters/index.js +0 -23
  19. package/dist/agentfs/adapters/index.js.map +0 -1
  20. package/dist/agentfs/adapters/vercel.d.ts +0 -260
  21. package/dist/agentfs/adapters/vercel.d.ts.map +0 -1
  22. package/dist/agentfs/adapters/vercel.js +0 -288
  23. package/dist/agentfs/adapters/vercel.js.map +0 -1
  24. package/dist/agentfs/glob.d.ts +0 -116
  25. package/dist/agentfs/glob.d.ts.map +0 -1
  26. package/dist/agentfs/glob.js +0 -270
  27. package/dist/agentfs/glob.js.map +0 -1
  28. package/dist/agentfs/grep.d.ts +0 -83
  29. package/dist/agentfs/grep.d.ts.map +0 -1
  30. package/dist/agentfs/grep.js +0 -193
  31. package/dist/agentfs/grep.js.map +0 -1
  32. package/dist/agentfs/index.d.ts +0 -22
  33. package/dist/agentfs/index.d.ts.map +0 -1
  34. package/dist/agentfs/index.js +0 -18
  35. package/dist/agentfs/index.js.map +0 -1
  36. package/dist/agentfs/kv-store.d.ts +0 -128
  37. package/dist/agentfs/kv-store.d.ts.map +0 -1
  38. package/dist/agentfs/kv-store.js +0 -227
  39. package/dist/agentfs/kv-store.js.map +0 -1
  40. package/dist/agentfs/mondo-agent.d.ts +0 -255
  41. package/dist/agentfs/mondo-agent.d.ts.map +0 -1
  42. package/dist/agentfs/mondo-agent.js +0 -879
  43. package/dist/agentfs/mondo-agent.js.map +0 -1
  44. package/dist/agentfs/toolcalls.d.ts +0 -130
  45. package/dist/agentfs/toolcalls.d.ts.map +0 -1
  46. package/dist/agentfs/toolcalls.js +0 -178
  47. package/dist/agentfs/toolcalls.js.map +0 -1
  48. package/dist/agentfs/types.d.ts +0 -171
  49. package/dist/agentfs/types.d.ts.map +0 -1
  50. package/dist/agentfs/types.js +0 -7
  51. package/dist/agentfs/types.js.map +0 -1
  52. package/dist/agentfs/vfs.d.ts +0 -249
  53. package/dist/agentfs/vfs.d.ts.map +0 -1
  54. package/dist/agentfs/vfs.js +0 -469
  55. package/dist/agentfs/vfs.js.map +0 -1
  56. package/dist/cli/index.d.ts.map +0 -1
  57. package/dist/cli/mcp.d.ts +0 -119
  58. package/dist/cli/mcp.d.ts.map +0 -1
  59. package/dist/cli/mcp.js +0 -418
  60. package/dist/cli/mcp.js.map +0 -1
  61. package/dist/cli/server.d.ts +0 -179
  62. package/dist/cli/server.d.ts.map +0 -1
  63. package/dist/cli/server.js +0 -441
  64. package/dist/cli/server.js.map +0 -1
  65. package/dist/client/Collection.d.ts +0 -199
  66. package/dist/client/Collection.d.ts.map +0 -1
  67. package/dist/client/Collection.js +0 -256
  68. package/dist/client/Collection.js.map +0 -1
  69. package/dist/client/Database.d.ts +0 -68
  70. package/dist/client/Database.d.ts.map +0 -1
  71. package/dist/client/Database.js +0 -105
  72. package/dist/client/Database.js.map +0 -1
  73. package/dist/client/MongoClient.d.ts +0 -165
  74. package/dist/client/MongoClient.d.ts.map +0 -1
  75. package/dist/client/MongoClient.js +0 -307
  76. package/dist/client/MongoClient.js.map +0 -1
  77. package/dist/client/aggregation-cursor.d.ts +0 -210
  78. package/dist/client/aggregation-cursor.d.ts.map +0 -1
  79. package/dist/client/aggregation-cursor.js +0 -509
  80. package/dist/client/aggregation-cursor.js.map +0 -1
  81. package/dist/client/bulk-write.d.ts +0 -216
  82. package/dist/client/bulk-write.d.ts.map +0 -1
  83. package/dist/client/bulk-write.js +0 -63
  84. package/dist/client/bulk-write.js.map +0 -1
  85. package/dist/client/change-stream.d.ts +0 -245
  86. package/dist/client/change-stream.d.ts.map +0 -1
  87. package/dist/client/change-stream.js +0 -429
  88. package/dist/client/change-stream.js.map +0 -1
  89. package/dist/client/cursor.d.ts +0 -85
  90. package/dist/client/cursor.d.ts.map +0 -1
  91. package/dist/client/cursor.js +0 -156
  92. package/dist/client/cursor.js.map +0 -1
  93. package/dist/client/http-cursor.d.ts +0 -233
  94. package/dist/client/http-cursor.d.ts.map +0 -1
  95. package/dist/client/http-cursor.js +0 -496
  96. package/dist/client/http-cursor.js.map +0 -1
  97. package/dist/client/index.d.ts +0 -18
  98. package/dist/client/index.d.ts.map +0 -1
  99. package/dist/client/index.js +0 -24
  100. package/dist/client/index.js.map +0 -1
  101. package/dist/client/mongo-client.d.ts +0 -60
  102. package/dist/client/mongo-client.d.ts.map +0 -1
  103. package/dist/client/mongo-client.js +0 -190
  104. package/dist/client/mongo-client.js.map +0 -1
  105. package/dist/client/mongo-collection.d.ts +0 -359
  106. package/dist/client/mongo-collection.d.ts.map +0 -1
  107. package/dist/client/mongo-collection.js +0 -1641
  108. package/dist/client/mongo-collection.js.map +0 -1
  109. package/dist/client/mongo-cursor.d.ts +0 -257
  110. package/dist/client/mongo-cursor.d.ts.map +0 -1
  111. package/dist/client/mongo-cursor.js +0 -621
  112. package/dist/client/mongo-cursor.js.map +0 -1
  113. package/dist/client/mongo-database.d.ts +0 -88
  114. package/dist/client/mongo-database.d.ts.map +0 -1
  115. package/dist/client/mongo-database.js +0 -139
  116. package/dist/client/mongo-database.js.map +0 -1
  117. package/dist/client/session.d.ts +0 -210
  118. package/dist/client/session.d.ts.map +0 -1
  119. package/dist/client/session.js +0 -326
  120. package/dist/client/session.js.map +0 -1
  121. package/dist/durable-object/index-manager.d.ts +0 -173
  122. package/dist/durable-object/index-manager.d.ts.map +0 -1
  123. package/dist/durable-object/index-manager.js +0 -764
  124. package/dist/durable-object/index-manager.js.map +0 -1
  125. package/dist/durable-object/index.d.ts +0 -12
  126. package/dist/durable-object/index.d.ts.map +0 -1
  127. package/dist/durable-object/index.js +0 -8
  128. package/dist/durable-object/index.js.map +0 -1
  129. package/dist/durable-object/mcp-handler.d.ts +0 -52
  130. package/dist/durable-object/mcp-handler.d.ts.map +0 -1
  131. package/dist/durable-object/mcp-handler.js +0 -186
  132. package/dist/durable-object/mcp-handler.js.map +0 -1
  133. package/dist/durable-object/migrations.d.ts +0 -40
  134. package/dist/durable-object/migrations.d.ts.map +0 -1
  135. package/dist/durable-object/migrations.js +0 -121
  136. package/dist/durable-object/migrations.js.map +0 -1
  137. package/dist/durable-object/mondo-database.d.ts +0 -148
  138. package/dist/durable-object/mondo-database.d.ts.map +0 -1
  139. package/dist/durable-object/mondo-database.js +0 -621
  140. package/dist/durable-object/mondo-database.js.map +0 -1
  141. package/dist/durable-object/schema.d.ts +0 -192
  142. package/dist/durable-object/schema.d.ts.map +0 -1
  143. package/dist/durable-object/schema.js +0 -186
  144. package/dist/durable-object/schema.js.map +0 -1
  145. package/dist/embedding/document-serializer.d.ts +0 -118
  146. package/dist/embedding/document-serializer.d.ts.map +0 -1
  147. package/dist/embedding/document-serializer.js +0 -339
  148. package/dist/embedding/document-serializer.js.map +0 -1
  149. package/dist/embedding/embedding-manager.d.ts +0 -136
  150. package/dist/embedding/embedding-manager.d.ts.map +0 -1
  151. package/dist/embedding/embedding-manager.js +0 -176
  152. package/dist/embedding/embedding-manager.js.map +0 -1
  153. package/dist/embedding/index.d.ts +0 -9
  154. package/dist/embedding/index.d.ts.map +0 -1
  155. package/dist/embedding/index.js +0 -9
  156. package/dist/embedding/index.js.map +0 -1
  157. package/dist/executor/aggregation-executor.d.ts +0 -93
  158. package/dist/executor/aggregation-executor.d.ts.map +0 -1
  159. package/dist/executor/aggregation-executor.js +0 -275
  160. package/dist/executor/aggregation-executor.js.map +0 -1
  161. package/dist/executor/function-executor.d.ts +0 -39
  162. package/dist/executor/function-executor.d.ts.map +0 -1
  163. package/dist/executor/function-executor.js +0 -168
  164. package/dist/executor/function-executor.js.map +0 -1
  165. package/dist/executor/index.d.ts +0 -4
  166. package/dist/executor/index.d.ts.map +0 -1
  167. package/dist/executor/index.js +0 -4
  168. package/dist/executor/index.js.map +0 -1
  169. package/dist/executor/vector-search-executor.d.ts +0 -71
  170. package/dist/executor/vector-search-executor.d.ts.map +0 -1
  171. package/dist/executor/vector-search-executor.js +0 -113
  172. package/dist/executor/vector-search-executor.js.map +0 -1
  173. package/dist/index.d.ts.map +0 -1
  174. package/dist/mcp/adapters/anthropic-adapter.d.ts +0 -256
  175. package/dist/mcp/adapters/anthropic-adapter.d.ts.map +0 -1
  176. package/dist/mcp/adapters/anthropic-adapter.js +0 -409
  177. package/dist/mcp/adapters/anthropic-adapter.js.map +0 -1
  178. package/dist/mcp/adapters/base-adapter.d.ts +0 -164
  179. package/dist/mcp/adapters/base-adapter.d.ts.map +0 -1
  180. package/dist/mcp/adapters/base-adapter.js +0 -277
  181. package/dist/mcp/adapters/base-adapter.js.map +0 -1
  182. package/dist/mcp/adapters/errors.d.ts +0 -173
  183. package/dist/mcp/adapters/errors.d.ts.map +0 -1
  184. package/dist/mcp/adapters/errors.js +0 -305
  185. package/dist/mcp/adapters/errors.js.map +0 -1
  186. package/dist/mcp/adapters/index.d.ts +0 -65
  187. package/dist/mcp/adapters/index.d.ts.map +0 -1
  188. package/dist/mcp/adapters/index.js +0 -92
  189. package/dist/mcp/adapters/index.js.map +0 -1
  190. package/dist/mcp/adapters/streaming.d.ts +0 -200
  191. package/dist/mcp/adapters/streaming.d.ts.map +0 -1
  192. package/dist/mcp/adapters/streaming.js +0 -381
  193. package/dist/mcp/adapters/streaming.js.map +0 -1
  194. package/dist/mcp/adapters/vercel-adapter.d.ts +0 -321
  195. package/dist/mcp/adapters/vercel-adapter.d.ts.map +0 -1
  196. package/dist/mcp/adapters/vercel-adapter.js +0 -487
  197. package/dist/mcp/adapters/vercel-adapter.js.map +0 -1
  198. package/dist/mcp/agent.d.ts +0 -192
  199. package/dist/mcp/agent.d.ts.map +0 -1
  200. package/dist/mcp/agent.js +0 -338
  201. package/dist/mcp/agent.js.map +0 -1
  202. package/dist/mcp/cli.d.ts +0 -71
  203. package/dist/mcp/cli.d.ts.map +0 -1
  204. package/dist/mcp/cli.js +0 -218
  205. package/dist/mcp/cli.js.map +0 -1
  206. package/dist/mcp/index.d.ts +0 -15
  207. package/dist/mcp/index.d.ts.map +0 -1
  208. package/dist/mcp/index.js +0 -20
  209. package/dist/mcp/index.js.map +0 -1
  210. package/dist/mcp/sandbox/database-proxy.d.ts +0 -118
  211. package/dist/mcp/sandbox/database-proxy.d.ts.map +0 -1
  212. package/dist/mcp/sandbox/database-proxy.js +0 -154
  213. package/dist/mcp/sandbox/database-proxy.js.map +0 -1
  214. package/dist/mcp/sandbox/index.d.ts +0 -8
  215. package/dist/mcp/sandbox/index.d.ts.map +0 -1
  216. package/dist/mcp/sandbox/index.js +0 -7
  217. package/dist/mcp/sandbox/index.js.map +0 -1
  218. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +0 -72
  219. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +0 -1
  220. package/dist/mcp/sandbox/miniflare-evaluator.js +0 -379
  221. package/dist/mcp/sandbox/miniflare-evaluator.js.map +0 -1
  222. package/dist/mcp/sandbox/template.d.ts +0 -48
  223. package/dist/mcp/sandbox/template.d.ts.map +0 -1
  224. package/dist/mcp/sandbox/template.js +0 -147
  225. package/dist/mcp/sandbox/template.js.map +0 -1
  226. package/dist/mcp/sandbox/worker-evaluator.d.ts +0 -160
  227. package/dist/mcp/sandbox/worker-evaluator.d.ts.map +0 -1
  228. package/dist/mcp/sandbox/worker-evaluator.js +0 -217
  229. package/dist/mcp/sandbox/worker-evaluator.js.map +0 -1
  230. package/dist/mcp/server.d.ts +0 -75
  231. package/dist/mcp/server.d.ts.map +0 -1
  232. package/dist/mcp/server.js +0 -278
  233. package/dist/mcp/server.js.map +0 -1
  234. package/dist/mcp/tool-call-auditor.d.ts +0 -188
  235. package/dist/mcp/tool-call-auditor.d.ts.map +0 -1
  236. package/dist/mcp/tool-call-auditor.js +0 -198
  237. package/dist/mcp/tool-call-auditor.js.map +0 -1
  238. package/dist/mcp/tools/do.d.ts +0 -51
  239. package/dist/mcp/tools/do.d.ts.map +0 -1
  240. package/dist/mcp/tools/do.js +0 -113
  241. package/dist/mcp/tools/do.js.map +0 -1
  242. package/dist/mcp/tools/fetch.d.ts +0 -43
  243. package/dist/mcp/tools/fetch.d.ts.map +0 -1
  244. package/dist/mcp/tools/fetch.js +0 -127
  245. package/dist/mcp/tools/fetch.js.map +0 -1
  246. package/dist/mcp/tools/index.d.ts +0 -9
  247. package/dist/mcp/tools/index.d.ts.map +0 -1
  248. package/dist/mcp/tools/index.js +0 -9
  249. package/dist/mcp/tools/index.js.map +0 -1
  250. package/dist/mcp/tools/search.d.ts +0 -60
  251. package/dist/mcp/tools/search.d.ts.map +0 -1
  252. package/dist/mcp/tools/search.js +0 -278
  253. package/dist/mcp/tools/search.js.map +0 -1
  254. package/dist/mcp/transport/http.d.ts +0 -144
  255. package/dist/mcp/transport/http.d.ts.map +0 -1
  256. package/dist/mcp/transport/http.js +0 -545
  257. package/dist/mcp/transport/http.js.map +0 -1
  258. package/dist/mcp/transport/index.d.ts +0 -10
  259. package/dist/mcp/transport/index.d.ts.map +0 -1
  260. package/dist/mcp/transport/index.js +0 -12
  261. package/dist/mcp/transport/index.js.map +0 -1
  262. package/dist/mcp/transport/stdio.d.ts +0 -132
  263. package/dist/mcp/transport/stdio.d.ts.map +0 -1
  264. package/dist/mcp/transport/stdio.js +0 -466
  265. package/dist/mcp/transport/stdio.js.map +0 -1
  266. package/dist/mcp/types.d.ts +0 -476
  267. package/dist/mcp/types.d.ts.map +0 -1
  268. package/dist/mcp/types.js +0 -178
  269. package/dist/mcp/types.js.map +0 -1
  270. package/dist/olap/cdc/cdc-buffer.d.ts +0 -92
  271. package/dist/olap/cdc/cdc-buffer.d.ts.map +0 -1
  272. package/dist/olap/cdc/cdc-buffer.js +0 -146
  273. package/dist/olap/cdc/cdc-buffer.js.map +0 -1
  274. package/dist/olap/cdc/cdc-emitter.d.ts +0 -118
  275. package/dist/olap/cdc/cdc-emitter.d.ts.map +0 -1
  276. package/dist/olap/cdc/cdc-emitter.js +0 -217
  277. package/dist/olap/cdc/cdc-emitter.js.map +0 -1
  278. package/dist/olap/cdc/cdc-schema.d.ts +0 -119
  279. package/dist/olap/cdc/cdc-schema.d.ts.map +0 -1
  280. package/dist/olap/cdc/cdc-schema.js +0 -253
  281. package/dist/olap/cdc/cdc-schema.js.map +0 -1
  282. package/dist/olap/cdc/index.d.ts +0 -10
  283. package/dist/olap/cdc/index.d.ts.map +0 -1
  284. package/dist/olap/cdc/index.js +0 -10
  285. package/dist/olap/cdc/index.js.map +0 -1
  286. package/dist/olap/clickhouse/iceberg.d.ts +0 -164
  287. package/dist/olap/clickhouse/iceberg.d.ts.map +0 -1
  288. package/dist/olap/clickhouse/iceberg.js +0 -138
  289. package/dist/olap/clickhouse/iceberg.js.map +0 -1
  290. package/dist/olap/clickhouse/index.d.ts +0 -14
  291. package/dist/olap/clickhouse/index.d.ts.map +0 -1
  292. package/dist/olap/clickhouse/index.js +0 -14
  293. package/dist/olap/clickhouse/index.js.map +0 -1
  294. package/dist/olap/clickhouse/mapper.d.ts +0 -170
  295. package/dist/olap/clickhouse/mapper.d.ts.map +0 -1
  296. package/dist/olap/clickhouse/mapper.js +0 -654
  297. package/dist/olap/clickhouse/mapper.js.map +0 -1
  298. package/dist/olap/clickhouse/olap-backend.d.ts +0 -181
  299. package/dist/olap/clickhouse/olap-backend.d.ts.map +0 -1
  300. package/dist/olap/clickhouse/olap-backend.js +0 -1083
  301. package/dist/olap/clickhouse/olap-backend.js.map +0 -1
  302. package/dist/olap/clickhouse/query-executor.d.ts +0 -163
  303. package/dist/olap/clickhouse/query-executor.d.ts.map +0 -1
  304. package/dist/olap/clickhouse/query-executor.js +0 -560
  305. package/dist/olap/clickhouse/query-executor.js.map +0 -1
  306. package/dist/olap/clickhouse/query.d.ts +0 -134
  307. package/dist/olap/clickhouse/query.d.ts.map +0 -1
  308. package/dist/olap/clickhouse/query.js +0 -512
  309. package/dist/olap/clickhouse/query.js.map +0 -1
  310. package/dist/olap/stage/index.d.ts +0 -6
  311. package/dist/olap/stage/index.d.ts.map +0 -1
  312. package/dist/olap/stage/index.js +0 -6
  313. package/dist/olap/stage/index.js.map +0 -1
  314. package/dist/olap/stage/parser.d.ts +0 -68
  315. package/dist/olap/stage/parser.d.ts.map +0 -1
  316. package/dist/olap/stage/parser.js +0 -293
  317. package/dist/olap/stage/parser.js.map +0 -1
  318. package/dist/olap/stage/router.d.ts +0 -94
  319. package/dist/olap/stage/router.d.ts.map +0 -1
  320. package/dist/olap/stage/router.js +0 -390
  321. package/dist/olap/stage/router.js.map +0 -1
  322. package/dist/rpc/endpoint.d.ts +0 -52
  323. package/dist/rpc/endpoint.d.ts.map +0 -1
  324. package/dist/rpc/endpoint.js +0 -734
  325. package/dist/rpc/endpoint.js.map +0 -1
  326. package/dist/rpc/index.d.ts +0 -34
  327. package/dist/rpc/index.d.ts.map +0 -1
  328. package/dist/rpc/index.js +0 -45
  329. package/dist/rpc/index.js.map +0 -1
  330. package/dist/rpc/rpc-client.d.ts +0 -275
  331. package/dist/rpc/rpc-client.d.ts.map +0 -1
  332. package/dist/rpc/rpc-client.js +0 -735
  333. package/dist/rpc/rpc-client.js.map +0 -1
  334. package/dist/rpc/rpc-target.d.ts +0 -220
  335. package/dist/rpc/rpc-target.d.ts.map +0 -1
  336. package/dist/rpc/rpc-target.js +0 -500
  337. package/dist/rpc/rpc-target.js.map +0 -1
  338. package/dist/rpc/worker-entrypoint.d.ts +0 -159
  339. package/dist/rpc/worker-entrypoint.d.ts.map +0 -1
  340. package/dist/rpc/worker-entrypoint.js +0 -212
  341. package/dist/rpc/worker-entrypoint.js.map +0 -1
  342. package/dist/server.d.ts +0 -18
  343. package/dist/server.d.ts.map +0 -1
  344. package/dist/server.js +0 -129
  345. package/dist/server.js.map +0 -1
  346. package/dist/studio/components/browser/CollectionItem.d.ts +0 -26
  347. package/dist/studio/components/browser/CollectionItem.d.ts.map +0 -1
  348. package/dist/studio/components/browser/CollectionItem.js +0 -143
  349. package/dist/studio/components/browser/CollectionItem.js.map +0 -1
  350. package/dist/studio/components/browser/CollectionTree.d.ts +0 -45
  351. package/dist/studio/components/browser/CollectionTree.d.ts.map +0 -1
  352. package/dist/studio/components/browser/CollectionTree.js +0 -207
  353. package/dist/studio/components/browser/CollectionTree.js.map +0 -1
  354. package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts +0 -51
  355. package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts.map +0 -1
  356. package/dist/studio/components/browser/ConnectedDatabaseBrowser.js +0 -185
  357. package/dist/studio/components/browser/ConnectedDatabaseBrowser.js.map +0 -1
  358. package/dist/studio/components/browser/DatabaseBrowser.d.ts +0 -46
  359. package/dist/studio/components/browser/DatabaseBrowser.d.ts.map +0 -1
  360. package/dist/studio/components/browser/DatabaseBrowser.js +0 -304
  361. package/dist/studio/components/browser/DatabaseBrowser.js.map +0 -1
  362. package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts +0 -5
  363. package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts.map +0 -1
  364. package/dist/studio/components/browser/__tests__/CollectionItem.test.js +0 -169
  365. package/dist/studio/components/browser/__tests__/CollectionItem.test.js.map +0 -1
  366. package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts +0 -5
  367. package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts.map +0 -1
  368. package/dist/studio/components/browser/__tests__/CollectionTree.test.js +0 -203
  369. package/dist/studio/components/browser/__tests__/CollectionTree.test.js.map +0 -1
  370. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts +0 -8
  371. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts.map +0 -1
  372. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js +0 -522
  373. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js.map +0 -1
  374. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts +0 -5
  375. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts.map +0 -1
  376. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js +0 -518
  377. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js.map +0 -1
  378. package/dist/studio/components/browser/__tests__/setup.d.ts +0 -5
  379. package/dist/studio/components/browser/__tests__/setup.d.ts.map +0 -1
  380. package/dist/studio/components/browser/__tests__/setup.js +0 -22
  381. package/dist/studio/components/browser/__tests__/setup.js.map +0 -1
  382. package/dist/studio/components/browser/index.d.ts +0 -15
  383. package/dist/studio/components/browser/index.d.ts.map +0 -1
  384. package/dist/studio/components/browser/index.js +0 -10
  385. package/dist/studio/components/browser/index.js.map +0 -1
  386. package/dist/studio/components/browser/types.d.ts +0 -33
  387. package/dist/studio/components/browser/types.d.ts.map +0 -1
  388. package/dist/studio/components/browser/types.js +0 -5
  389. package/dist/studio/components/browser/types.js.map +0 -1
  390. package/dist/studio/components/connection/ConnectionForm.d.ts +0 -59
  391. package/dist/studio/components/connection/ConnectionForm.d.ts.map +0 -1
  392. package/dist/studio/components/connection/ConnectionForm.js +0 -274
  393. package/dist/studio/components/connection/ConnectionForm.js.map +0 -1
  394. package/dist/studio/components/connection/ConnectionList.d.ts +0 -59
  395. package/dist/studio/components/connection/ConnectionList.d.ts.map +0 -1
  396. package/dist/studio/components/connection/ConnectionList.js +0 -286
  397. package/dist/studio/components/connection/ConnectionList.js.map +0 -1
  398. package/dist/studio/components/connection/ConnectionPanel.d.ts +0 -132
  399. package/dist/studio/components/connection/ConnectionPanel.d.ts.map +0 -1
  400. package/dist/studio/components/connection/ConnectionPanel.js +0 -293
  401. package/dist/studio/components/connection/ConnectionPanel.js.map +0 -1
  402. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts +0 -8
  403. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts.map +0 -1
  404. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js +0 -632
  405. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js.map +0 -1
  406. package/dist/studio/components/connection/__tests__/setup.d.ts +0 -5
  407. package/dist/studio/components/connection/__tests__/setup.d.ts.map +0 -1
  408. package/dist/studio/components/connection/__tests__/setup.js +0 -11
  409. package/dist/studio/components/connection/__tests__/setup.js.map +0 -1
  410. package/dist/studio/components/connection/index.d.ts +0 -10
  411. package/dist/studio/components/connection/index.d.ts.map +0 -1
  412. package/dist/studio/components/connection/index.js +0 -7
  413. package/dist/studio/components/connection/index.js.map +0 -1
  414. package/dist/studio/components/crud/DeleteDocumentDialog.d.ts +0 -91
  415. package/dist/studio/components/crud/DeleteDocumentDialog.d.ts.map +0 -1
  416. package/dist/studio/components/crud/DeleteDocumentDialog.js +0 -273
  417. package/dist/studio/components/crud/DeleteDocumentDialog.js.map +0 -1
  418. package/dist/studio/components/crud/DocumentEditor.d.ts +0 -32
  419. package/dist/studio/components/crud/DocumentEditor.d.ts.map +0 -1
  420. package/dist/studio/components/crud/DocumentEditor.js +0 -546
  421. package/dist/studio/components/crud/DocumentEditor.js.map +0 -1
  422. package/dist/studio/components/crud/InsertDocumentDialog.d.ts +0 -78
  423. package/dist/studio/components/crud/InsertDocumentDialog.d.ts.map +0 -1
  424. package/dist/studio/components/crud/InsertDocumentDialog.js +0 -323
  425. package/dist/studio/components/crud/InsertDocumentDialog.js.map +0 -1
  426. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts +0 -5
  427. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts.map +0 -1
  428. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js +0 -298
  429. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js.map +0 -1
  430. package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts +0 -8
  431. package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts.map +0 -1
  432. package/dist/studio/components/crud/__tests__/DocumentEditor.test.js +0 -368
  433. package/dist/studio/components/crud/__tests__/DocumentEditor.test.js.map +0 -1
  434. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts +0 -2
  435. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts.map +0 -1
  436. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js +0 -352
  437. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js.map +0 -1
  438. package/dist/studio/components/crud/__tests__/setup.d.ts +0 -5
  439. package/dist/studio/components/crud/__tests__/setup.d.ts.map +0 -1
  440. package/dist/studio/components/crud/__tests__/setup.js +0 -22
  441. package/dist/studio/components/crud/__tests__/setup.js.map +0 -1
  442. package/dist/studio/components/crud/index.d.ts +0 -12
  443. package/dist/studio/components/crud/index.d.ts.map +0 -1
  444. package/dist/studio/components/crud/index.js +0 -11
  445. package/dist/studio/components/crud/index.js.map +0 -1
  446. package/dist/studio/hooks/useConnection.d.ts +0 -127
  447. package/dist/studio/hooks/useConnection.d.ts.map +0 -1
  448. package/dist/studio/hooks/useConnection.js +0 -414
  449. package/dist/studio/hooks/useConnection.js.map +0 -1
  450. package/dist/studio/hooks/useDatabaseBrowser.d.ts +0 -107
  451. package/dist/studio/hooks/useDatabaseBrowser.d.ts.map +0 -1
  452. package/dist/studio/hooks/useDatabaseBrowser.js +0 -294
  453. package/dist/studio/hooks/useDatabaseBrowser.js.map +0 -1
  454. package/dist/studio/index.d.ts +0 -16
  455. package/dist/studio/index.d.ts.map +0 -1
  456. package/dist/studio/index.js +0 -14
  457. package/dist/studio/index.js.map +0 -1
  458. package/dist/studio/types/connection.d.ts +0 -266
  459. package/dist/studio/types/connection.d.ts.map +0 -1
  460. package/dist/studio/types/connection.js +0 -159
  461. package/dist/studio/types/connection.js.map +0 -1
  462. package/dist/studio/vitest.config.d.ts +0 -3
  463. package/dist/studio/vitest.config.d.ts.map +0 -1
  464. package/dist/studio/vitest.config.js +0 -33
  465. package/dist/studio/vitest.config.js.map +0 -1
  466. package/dist/translator/aggregation-translator.d.ts +0 -51
  467. package/dist/translator/aggregation-translator.d.ts.map +0 -1
  468. package/dist/translator/aggregation-translator.js +0 -324
  469. package/dist/translator/aggregation-translator.js.map +0 -1
  470. package/dist/translator/dialect.d.ts +0 -131
  471. package/dist/translator/dialect.d.ts.map +0 -1
  472. package/dist/translator/dialect.js +0 -276
  473. package/dist/translator/dialect.js.map +0 -1
  474. package/dist/translator/geo-translator.d.ts +0 -91
  475. package/dist/translator/geo-translator.d.ts.map +0 -1
  476. package/dist/translator/geo-translator.js +0 -587
  477. package/dist/translator/geo-translator.js.map +0 -1
  478. package/dist/translator/hybrid-translator.d.ts +0 -70
  479. package/dist/translator/hybrid-translator.d.ts.map +0 -1
  480. package/dist/translator/hybrid-translator.js +0 -193
  481. package/dist/translator/hybrid-translator.js.map +0 -1
  482. package/dist/translator/index.d.ts +0 -13
  483. package/dist/translator/index.d.ts.map +0 -1
  484. package/dist/translator/index.js +0 -11
  485. package/dist/translator/index.js.map +0 -1
  486. package/dist/translator/query-translator.d.ts +0 -211
  487. package/dist/translator/query-translator.d.ts.map +0 -1
  488. package/dist/translator/query-translator.js +0 -1276
  489. package/dist/translator/query-translator.js.map +0 -1
  490. package/dist/translator/search-highlight.d.ts +0 -83
  491. package/dist/translator/search-highlight.d.ts.map +0 -1
  492. package/dist/translator/search-highlight.js +0 -83
  493. package/dist/translator/search-highlight.js.map +0 -1
  494. package/dist/translator/search-translator.d.ts +0 -155
  495. package/dist/translator/search-translator.d.ts.map +0 -1
  496. package/dist/translator/search-translator.js +0 -241
  497. package/dist/translator/search-translator.js.map +0 -1
  498. package/dist/translator/stages/add-fields-stage.d.ts +0 -7
  499. package/dist/translator/stages/add-fields-stage.d.ts.map +0 -1
  500. package/dist/translator/stages/add-fields-stage.js +0 -72
  501. package/dist/translator/stages/add-fields-stage.js.map +0 -1
  502. package/dist/translator/stages/bucket-stage.d.ts +0 -7
  503. package/dist/translator/stages/bucket-stage.d.ts.map +0 -1
  504. package/dist/translator/stages/bucket-stage.js +0 -87
  505. package/dist/translator/stages/bucket-stage.js.map +0 -1
  506. package/dist/translator/stages/count-stage.d.ts +0 -7
  507. package/dist/translator/stages/count-stage.d.ts.map +0 -1
  508. package/dist/translator/stages/count-stage.js +0 -12
  509. package/dist/translator/stages/count-stage.js.map +0 -1
  510. package/dist/translator/stages/expression-translator.d.ts +0 -68
  511. package/dist/translator/stages/expression-translator.d.ts.map +0 -1
  512. package/dist/translator/stages/expression-translator.js +0 -467
  513. package/dist/translator/stages/expression-translator.js.map +0 -1
  514. package/dist/translator/stages/facet-stage.d.ts +0 -13
  515. package/dist/translator/stages/facet-stage.d.ts.map +0 -1
  516. package/dist/translator/stages/facet-stage.js +0 -26
  517. package/dist/translator/stages/facet-stage.js.map +0 -1
  518. package/dist/translator/stages/fusion-stages.d.ts +0 -118
  519. package/dist/translator/stages/fusion-stages.d.ts.map +0 -1
  520. package/dist/translator/stages/fusion-stages.js +0 -201
  521. package/dist/translator/stages/fusion-stages.js.map +0 -1
  522. package/dist/translator/stages/group-stage.d.ts +0 -8
  523. package/dist/translator/stages/group-stage.d.ts.map +0 -1
  524. package/dist/translator/stages/group-stage.js +0 -123
  525. package/dist/translator/stages/group-stage.js.map +0 -1
  526. package/dist/translator/stages/index.d.ts +0 -24
  527. package/dist/translator/stages/index.d.ts.map +0 -1
  528. package/dist/translator/stages/index.js +0 -24
  529. package/dist/translator/stages/index.js.map +0 -1
  530. package/dist/translator/stages/join-optimizer.d.ts +0 -37
  531. package/dist/translator/stages/join-optimizer.d.ts.map +0 -1
  532. package/dist/translator/stages/join-optimizer.js +0 -93
  533. package/dist/translator/stages/join-optimizer.js.map +0 -1
  534. package/dist/translator/stages/limit-stage.d.ts +0 -7
  535. package/dist/translator/stages/limit-stage.d.ts.map +0 -1
  536. package/dist/translator/stages/limit-stage.js +0 -11
  537. package/dist/translator/stages/limit-stage.js.map +0 -1
  538. package/dist/translator/stages/lookup-stage.d.ts +0 -7
  539. package/dist/translator/stages/lookup-stage.d.ts.map +0 -1
  540. package/dist/translator/stages/lookup-stage.js +0 -73
  541. package/dist/translator/stages/lookup-stage.js.map +0 -1
  542. package/dist/translator/stages/match-stage.d.ts +0 -7
  543. package/dist/translator/stages/match-stage.d.ts.map +0 -1
  544. package/dist/translator/stages/match-stage.js +0 -14
  545. package/dist/translator/stages/match-stage.js.map +0 -1
  546. package/dist/translator/stages/optimizer.d.ts +0 -15
  547. package/dist/translator/stages/optimizer.d.ts.map +0 -1
  548. package/dist/translator/stages/optimizer.js +0 -249
  549. package/dist/translator/stages/optimizer.js.map +0 -1
  550. package/dist/translator/stages/parallel-facet.d.ts +0 -47
  551. package/dist/translator/stages/parallel-facet.d.ts.map +0 -1
  552. package/dist/translator/stages/parallel-facet.js +0 -57
  553. package/dist/translator/stages/parallel-facet.js.map +0 -1
  554. package/dist/translator/stages/project-stage.d.ts +0 -8
  555. package/dist/translator/stages/project-stage.d.ts.map +0 -1
  556. package/dist/translator/stages/project-stage.js +0 -145
  557. package/dist/translator/stages/project-stage.js.map +0 -1
  558. package/dist/translator/stages/search-stage.d.ts +0 -60
  559. package/dist/translator/stages/search-stage.d.ts.map +0 -1
  560. package/dist/translator/stages/search-stage.js +0 -89
  561. package/dist/translator/stages/search-stage.js.map +0 -1
  562. package/dist/translator/stages/skip-stage.d.ts +0 -7
  563. package/dist/translator/stages/skip-stage.d.ts.map +0 -1
  564. package/dist/translator/stages/skip-stage.js +0 -11
  565. package/dist/translator/stages/skip-stage.js.map +0 -1
  566. package/dist/translator/stages/sort-stage.d.ts +0 -7
  567. package/dist/translator/stages/sort-stage.d.ts.map +0 -1
  568. package/dist/translator/stages/sort-stage.js +0 -21
  569. package/dist/translator/stages/sort-stage.js.map +0 -1
  570. package/dist/translator/stages/types.d.ts +0 -136
  571. package/dist/translator/stages/types.d.ts.map +0 -1
  572. package/dist/translator/stages/types.js +0 -5
  573. package/dist/translator/stages/types.js.map +0 -1
  574. package/dist/translator/stages/unwind-stage.d.ts +0 -7
  575. package/dist/translator/stages/unwind-stage.d.ts.map +0 -1
  576. package/dist/translator/stages/unwind-stage.js +0 -61
  577. package/dist/translator/stages/unwind-stage.js.map +0 -1
  578. package/dist/translator/stages/vector-search-stage.d.ts +0 -53
  579. package/dist/translator/stages/vector-search-stage.d.ts.map +0 -1
  580. package/dist/translator/stages/vector-search-stage.js +0 -62
  581. package/dist/translator/stages/vector-search-stage.js.map +0 -1
  582. package/dist/translator/update-translator.d.ts +0 -148
  583. package/dist/translator/update-translator.d.ts.map +0 -1
  584. package/dist/translator/update-translator.js +0 -819
  585. package/dist/translator/update-translator.js.map +0 -1
  586. package/dist/translator/vector-translator.d.ts +0 -89
  587. package/dist/translator/vector-translator.d.ts.map +0 -1
  588. package/dist/translator/vector-translator.js +0 -106
  589. package/dist/translator/vector-translator.js.map +0 -1
  590. package/dist/types/env.d.ts +0 -31
  591. package/dist/types/env.d.ts.map +0 -1
  592. package/dist/types/env.js +0 -5
  593. package/dist/types/env.js.map +0 -1
  594. package/dist/types/function.d.ts +0 -65
  595. package/dist/types/function.d.ts.map +0 -1
  596. package/dist/types/function.js +0 -5
  597. package/dist/types/function.js.map +0 -1
  598. package/dist/types/index.d.ts +0 -137
  599. package/dist/types/index.d.ts.map +0 -1
  600. package/dist/types/index.js +0 -13
  601. package/dist/types/index.js.map +0 -1
  602. package/dist/types/mongodb.d.ts +0 -258
  603. package/dist/types/mongodb.d.ts.map +0 -1
  604. package/dist/types/mongodb.js +0 -5
  605. package/dist/types/mongodb.js.map +0 -1
  606. package/dist/types/objectid.d.ts +0 -130
  607. package/dist/types/objectid.d.ts.map +0 -1
  608. package/dist/types/objectid.js +0 -314
  609. package/dist/types/objectid.js.map +0 -1
  610. package/dist/types/rpc.d.ts +0 -313
  611. package/dist/types/rpc.d.ts.map +0 -1
  612. package/dist/types/rpc.js +0 -136
  613. package/dist/types/rpc.js.map +0 -1
  614. package/dist/types/vectorize.d.ts +0 -136
  615. package/dist/types/vectorize.d.ts.map +0 -1
  616. package/dist/types/vectorize.js +0 -8
  617. package/dist/types/vectorize.js.map +0 -1
  618. package/dist/utils/sql-safety.d.ts +0 -64
  619. package/dist/utils/sql-safety.d.ts.map +0 -1
  620. package/dist/utils/sql-safety.js +0 -112
  621. package/dist/utils/sql-safety.js.map +0 -1
  622. package/dist/validation/document-validator.d.ts +0 -195
  623. package/dist/validation/document-validator.d.ts.map +0 -1
  624. package/dist/validation/document-validator.js +0 -529
  625. package/dist/validation/document-validator.js.map +0 -1
  626. package/dist/vectorize/document-serializer.d.ts +0 -119
  627. package/dist/vectorize/document-serializer.d.ts.map +0 -1
  628. package/dist/vectorize/document-serializer.js +0 -320
  629. package/dist/vectorize/document-serializer.js.map +0 -1
  630. package/dist/wire/auth/index.d.ts +0 -5
  631. package/dist/wire/auth/index.d.ts.map +0 -1
  632. package/dist/wire/auth/index.js +0 -5
  633. package/dist/wire/auth/index.js.map +0 -1
  634. package/dist/wire/auth/scram.d.ts +0 -160
  635. package/dist/wire/auth/scram.d.ts.map +0 -1
  636. package/dist/wire/auth/scram.js +0 -425
  637. package/dist/wire/auth/scram.js.map +0 -1
  638. package/dist/wire/backend/interface.d.ts +0 -168
  639. package/dist/wire/backend/interface.d.ts.map +0 -1
  640. package/dist/wire/backend/interface.js +0 -10
  641. package/dist/wire/backend/interface.js.map +0 -1
  642. package/dist/wire/backend/local-sqlite.d.ts +0 -89
  643. package/dist/wire/backend/local-sqlite.d.ts.map +0 -1
  644. package/dist/wire/backend/local-sqlite.js +0 -1002
  645. package/dist/wire/backend/local-sqlite.js.map +0 -1
  646. package/dist/wire/backend/query-router.d.ts +0 -197
  647. package/dist/wire/backend/query-router.d.ts.map +0 -1
  648. package/dist/wire/backend/query-router.js +0 -590
  649. package/dist/wire/backend/query-router.js.map +0 -1
  650. package/dist/wire/backend/validation.d.ts +0 -26
  651. package/dist/wire/backend/validation.d.ts.map +0 -1
  652. package/dist/wire/backend/validation.js +0 -79
  653. package/dist/wire/backend/validation.js.map +0 -1
  654. package/dist/wire/backend/workers-proxy.d.ts +0 -95
  655. package/dist/wire/backend/workers-proxy.d.ts.map +0 -1
  656. package/dist/wire/backend/workers-proxy.js +0 -429
  657. package/dist/wire/backend/workers-proxy.js.map +0 -1
  658. package/dist/wire/commands/admin.d.ts +0 -49
  659. package/dist/wire/commands/admin.d.ts.map +0 -1
  660. package/dist/wire/commands/admin.js +0 -272
  661. package/dist/wire/commands/admin.js.map +0 -1
  662. package/dist/wire/commands/aggregate.d.ts +0 -15
  663. package/dist/wire/commands/aggregate.d.ts.map +0 -1
  664. package/dist/wire/commands/aggregate.js +0 -98
  665. package/dist/wire/commands/aggregate.js.map +0 -1
  666. package/dist/wire/commands/auth.d.ts +0 -58
  667. package/dist/wire/commands/auth.d.ts.map +0 -1
  668. package/dist/wire/commands/auth.js +0 -158
  669. package/dist/wire/commands/auth.js.map +0 -1
  670. package/dist/wire/commands/crud.d.ts +0 -49
  671. package/dist/wire/commands/crud.d.ts.map +0 -1
  672. package/dist/wire/commands/crud.js +0 -336
  673. package/dist/wire/commands/crud.js.map +0 -1
  674. package/dist/wire/commands/hello.d.ts +0 -35
  675. package/dist/wire/commands/hello.d.ts.map +0 -1
  676. package/dist/wire/commands/hello.js +0 -204
  677. package/dist/wire/commands/hello.js.map +0 -1
  678. package/dist/wire/commands/index.d.ts +0 -24
  679. package/dist/wire/commands/index.d.ts.map +0 -1
  680. package/dist/wire/commands/index.js +0 -145
  681. package/dist/wire/commands/index.js.map +0 -1
  682. package/dist/wire/commands/router.d.ts +0 -46
  683. package/dist/wire/commands/router.d.ts.map +0 -1
  684. package/dist/wire/commands/router.js +0 -151
  685. package/dist/wire/commands/router.js.map +0 -1
  686. package/dist/wire/commands/types.d.ts +0 -51
  687. package/dist/wire/commands/types.d.ts.map +0 -1
  688. package/dist/wire/commands/types.js +0 -15
  689. package/dist/wire/commands/types.js.map +0 -1
  690. package/dist/wire/index.d.ts +0 -15
  691. package/dist/wire/index.d.ts.map +0 -1
  692. package/dist/wire/index.js +0 -19
  693. package/dist/wire/index.js.map +0 -1
  694. package/dist/wire/message.d.ts +0 -49
  695. package/dist/wire/message.d.ts.map +0 -1
  696. package/dist/wire/message.js +0 -299
  697. package/dist/wire/message.js.map +0 -1
  698. package/dist/wire/server.d.ts +0 -145
  699. package/dist/wire/server.d.ts.map +0 -1
  700. package/dist/wire/server.js +0 -284
  701. package/dist/wire/server.js.map +0 -1
  702. package/dist/wire/types.d.ts +0 -140
  703. package/dist/wire/types.d.ts.map +0 -1
  704. package/dist/wire/types.js +0 -64
  705. package/dist/wire/types.js.map +0 -1
  706. package/dist/worker.d.ts.map +0 -1
@@ -1,467 +0,0 @@
1
- /**
2
- * Expression Translator - Translates MongoDB aggregation expressions to SQL
3
- * Handles arithmetic, string, conditional, comparison, and function operators
4
- * Supports multiple SQL dialects (SQLite, ClickHouse)
5
- */
6
- import { validateFieldPath } from '../../utils/sql-safety.js';
7
- import { jsonExtract as dialectJsonExtract, getCastFunctions, getStringFunctions, getDateFunctions, getArrayFunctions, ifNull as dialectIfNull, } from '../dialect';
8
- /**
9
- * Check if a value is a field reference (starts with $)
10
- */
11
- export function isFieldReference(value) {
12
- return typeof value === 'string' && value.startsWith('$') && !value.startsWith('$$');
13
- }
14
- /**
15
- * Get the JSON path for a field reference
16
- *
17
- * SECURITY: Validates field name to prevent SQL injection attacks.
18
- * @throws Error if field contains invalid characters
19
- */
20
- export function getFieldPath(fieldRef) {
21
- // Remove the leading $ and convert to JSON path
22
- const field = fieldRef.substring(1);
23
- // Validate the field path to prevent SQL injection
24
- validateFieldPath(field);
25
- const parts = field.split('.');
26
- let path = '$';
27
- for (const part of parts) {
28
- if (/^\d+$/.test(part)) {
29
- path += `[${part}]`;
30
- }
31
- else {
32
- path += `.${part}`;
33
- }
34
- }
35
- return path;
36
- }
37
- /**
38
- * Translate an expression value (field reference, literal, or expression object)
39
- */
40
- export function translateExpressionValue(value, params, dialect = 'sqlite') {
41
- if (isFieldReference(value)) {
42
- const path = getFieldPath(value);
43
- return dialectJsonExtract(dialect, 'data', path);
44
- }
45
- if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
46
- return translateExpression(value, params, dialect);
47
- }
48
- if (typeof value === 'string') {
49
- params.push(value);
50
- return '?';
51
- }
52
- if (typeof value === 'number' || typeof value === 'boolean') {
53
- return String(value);
54
- }
55
- if (value === null) {
56
- return 'NULL';
57
- }
58
- params.push(JSON.stringify(value));
59
- return '?';
60
- }
61
- /**
62
- * Main expression translator
63
- */
64
- export function translateExpression(expr, params, dialect = 'sqlite') {
65
- const keys = Object.keys(expr);
66
- if (keys.length === 0) {
67
- return 'NULL';
68
- }
69
- const operator = keys[0];
70
- // Arithmetic operators
71
- if (operator === '$add') {
72
- return translateArithmetic(expr.$add, params, '+', dialect);
73
- }
74
- if (operator === '$subtract') {
75
- return translateArithmetic(expr.$subtract, params, '-', dialect);
76
- }
77
- if (operator === '$multiply') {
78
- return translateArithmetic(expr.$multiply, params, '*', dialect);
79
- }
80
- if (operator === '$divide') {
81
- return translateArithmetic(expr.$divide, params, '/', dialect);
82
- }
83
- if (operator === '$mod') {
84
- return translateArithmetic(expr.$mod, params, '%', dialect);
85
- }
86
- // Type conversion operators
87
- const castFns = getCastFunctions(dialect);
88
- if (operator === '$toInt') {
89
- const val = translateExpressionValue(expr.$toInt, params, dialect);
90
- return castFns.toInt(val);
91
- }
92
- if (operator === '$toDouble') {
93
- const val = translateExpressionValue(expr.$toDouble, params, dialect);
94
- return castFns.toDouble(val);
95
- }
96
- if (operator === '$toString') {
97
- const val = translateExpressionValue(expr.$toString, params, dialect);
98
- return castFns.toString(val);
99
- }
100
- if (operator === '$toDate') {
101
- const val = translateExpressionValue(expr.$toDate, params, dialect);
102
- return castFns.toDate(val);
103
- }
104
- if (operator === '$toDecimal') {
105
- const val = translateExpressionValue(expr.$toDecimal, params, dialect);
106
- return castFns.toDecimal(val);
107
- }
108
- // String operators
109
- const strFns = getStringFunctions(dialect);
110
- if (operator === '$concat') {
111
- return translateConcat(expr.$concat, params, dialect);
112
- }
113
- if (operator === '$substr') {
114
- return translateSubstr(expr.$substr, params, dialect);
115
- }
116
- if (operator === '$toLower') {
117
- const val = translateExpressionValue(expr.$toLower, params, dialect);
118
- return strFns.lower(val);
119
- }
120
- if (operator === '$toUpper') {
121
- const val = translateExpressionValue(expr.$toUpper, params, dialect);
122
- return strFns.upper(val);
123
- }
124
- if (operator === '$indexOfBytes') {
125
- const args = expr.$indexOfBytes;
126
- const str = translateExpressionValue(args[0], params, dialect);
127
- const search = translateExpressionValue(args[1], params, dialect);
128
- return strFns.indexOf(str, search);
129
- }
130
- if (operator === '$strLenBytes') {
131
- const val = translateExpressionValue(expr.$strLenBytes, params, dialect);
132
- return strFns.strLength(val);
133
- }
134
- if (operator === '$replaceAll') {
135
- const spec = expr.$replaceAll;
136
- const input = translateExpressionValue(spec.input, params, dialect);
137
- const find = translateExpressionValue(spec.find, params, dialect);
138
- const replacement = translateExpressionValue(spec.replacement, params, dialect);
139
- return strFns.replaceAll(input, find, replacement);
140
- }
141
- // Date operators
142
- const dateFns = getDateFunctions(dialect);
143
- if (operator === '$dateFromString') {
144
- const spec = expr.$dateFromString;
145
- const str = translateExpressionValue(spec.dateString, params, dialect);
146
- return dateFns.fromString(str);
147
- }
148
- if (operator === '$dateToString') {
149
- const spec = expr.$dateToString;
150
- const date = translateExpressionValue(spec.date, params, dialect);
151
- params.push(spec.format);
152
- return dateFns.toString(date, '?');
153
- }
154
- if (operator === '$year') {
155
- const val = translateExpressionValue(expr.$year, params, dialect);
156
- return dateFns.year(val);
157
- }
158
- if (operator === '$month') {
159
- const val = translateExpressionValue(expr.$month, params, dialect);
160
- return dateFns.month(val);
161
- }
162
- if (operator === '$dayOfMonth') {
163
- const val = translateExpressionValue(expr.$dayOfMonth, params, dialect);
164
- return dateFns.day(val);
165
- }
166
- if (operator === '$hour') {
167
- const val = translateExpressionValue(expr.$hour, params, dialect);
168
- return dateFns.hour(val);
169
- }
170
- if (operator === '$minute') {
171
- const val = translateExpressionValue(expr.$minute, params, dialect);
172
- return dateFns.minute(val);
173
- }
174
- if (operator === '$second') {
175
- const val = translateExpressionValue(expr.$second, params, dialect);
176
- return dateFns.second(val);
177
- }
178
- if (operator === '$dateDiff') {
179
- const spec = expr.$dateDiff;
180
- const start = translateExpressionValue(spec.startDate, params, dialect);
181
- const end = translateExpressionValue(spec.endDate, params, dialect);
182
- return dateFns.dateDiff(spec.unit, start, end);
183
- }
184
- if (operator === '$dateAdd') {
185
- const spec = expr.$dateAdd;
186
- const date = translateExpressionValue(spec.startDate, params, dialect);
187
- const amount = translateExpressionValue(spec.amount, params, dialect);
188
- return dateFns.dateAdd(date, spec.unit, amount);
189
- }
190
- if (operator === '$dateTrunc') {
191
- const spec = expr.$dateTrunc;
192
- const date = translateExpressionValue(spec.date, params, dialect);
193
- return dateFns.dateTrunc(date, spec.unit);
194
- }
195
- // Array operators
196
- const arrFns = getArrayFunctions(dialect);
197
- if (operator === '$in') {
198
- const args = expr.$in;
199
- const value = translateExpressionValue(args[0], params, dialect);
200
- const array = translateExpressionValue(args[1], params, dialect);
201
- return arrFns.in(value, array);
202
- }
203
- if (operator === '$concatArrays') {
204
- const args = expr.$concatArrays;
205
- const arrays = args.map(a => translateExpressionValue(a, params, dialect));
206
- return arrFns.concat(arrays);
207
- }
208
- if (operator === '$filter') {
209
- const spec = expr.$filter;
210
- const array = translateExpressionValue(spec.input, params, dialect);
211
- const cond = translateExpressionValue(spec.cond, params, dialect);
212
- return arrFns.filter(array, spec.as || 'this', cond);
213
- }
214
- if (operator === '$map') {
215
- const spec = expr.$map;
216
- const array = translateExpressionValue(spec.input, params, dialect);
217
- const inExpr = translateExpressionValue(spec.in, params, dialect);
218
- return arrFns.map(array, spec.as || 'this', inExpr);
219
- }
220
- if (operator === '$reduce') {
221
- const spec = expr.$reduce;
222
- const array = translateExpressionValue(spec.input, params, dialect);
223
- const initial = translateExpressionValue(spec.initialValue, params, dialect);
224
- const inExpr = translateExpressionValue(spec.in, params, dialect);
225
- return arrFns.reduce(array, initial, 'this', 'value', inExpr);
226
- }
227
- if (operator === '$slice') {
228
- const args = expr.$slice;
229
- const array = translateExpressionValue(args[0], params, dialect);
230
- const count = translateExpressionValue(args[1], params, dialect);
231
- return arrFns.slice(array, '0', count);
232
- }
233
- // Conditional operators
234
- if (operator === '$cond') {
235
- return translateCond(expr.$cond, params, dialect);
236
- }
237
- if (operator === '$ifNull') {
238
- return translateIfNull(expr.$ifNull, params, dialect);
239
- }
240
- if (operator === '$switch') {
241
- return translateSwitch(expr.$switch, params, dialect);
242
- }
243
- // Comparison operators (in expression context)
244
- if (operator === '$eq') {
245
- const args = expr.$eq;
246
- const left = translateExpressionValue(args[0], params, dialect);
247
- const right = translateExpressionValue(args[1], params, dialect);
248
- return `(${left} = ${right})`;
249
- }
250
- if (operator === '$ne') {
251
- const args = expr.$ne;
252
- const left = translateExpressionValue(args[0], params, dialect);
253
- const right = translateExpressionValue(args[1], params, dialect);
254
- return `(${left} != ${right})`;
255
- }
256
- if (operator === '$gt') {
257
- const args = expr.$gt;
258
- const left = translateExpressionValue(args[0], params, dialect);
259
- const right = translateExpressionValue(args[1], params, dialect);
260
- return `(${left} > ${right})`;
261
- }
262
- if (operator === '$gte') {
263
- const args = expr.$gte;
264
- const left = translateExpressionValue(args[0], params, dialect);
265
- const right = translateExpressionValue(args[1], params, dialect);
266
- return `(${left} >= ${right})`;
267
- }
268
- if (operator === '$lt') {
269
- const args = expr.$lt;
270
- const left = translateExpressionValue(args[0], params, dialect);
271
- const right = translateExpressionValue(args[1], params, dialect);
272
- return `(${left} < ${right})`;
273
- }
274
- if (operator === '$lte') {
275
- const args = expr.$lte;
276
- const left = translateExpressionValue(args[0], params, dialect);
277
- const right = translateExpressionValue(args[1], params, dialect);
278
- return `(${left} <= ${right})`;
279
- }
280
- // Logical operators
281
- if (operator === '$and') {
282
- const conditions = expr.$and.map(c => translateExpressionValue(c, params, dialect));
283
- return `(${conditions.join(' AND ')})`;
284
- }
285
- if (operator === '$or') {
286
- const conditions = expr.$or.map(c => translateExpressionValue(c, params, dialect));
287
- return `(${conditions.join(' OR ')})`;
288
- }
289
- if (operator === '$not') {
290
- const val = translateExpressionValue(expr.$not, params, dialect);
291
- return `NOT (${val})`;
292
- }
293
- // $expr for match conditions - extract the inner expression
294
- if (operator === '$expr') {
295
- return translateExpression(expr.$expr, params, dialect);
296
- }
297
- // $function operator - custom JavaScript function execution
298
- if (operator === '$function') {
299
- return translateFunction(expr.$function, params);
300
- }
301
- throw new Error(`Unknown expression operator: ${operator}`);
302
- }
303
- function translateArithmetic(args, params, op, dialect = 'sqlite') {
304
- const parts = args.map(arg => translateExpressionValue(arg, params, dialect));
305
- return `(${parts.join(` ${op} `)})`;
306
- }
307
- function translateConcat(args, params, dialect = 'sqlite') {
308
- const parts = args.map(arg => translateExpressionValue(arg, params, dialect));
309
- const strFns = getStringFunctions(dialect);
310
- return strFns.concat(parts);
311
- }
312
- function translateSubstr(args, params, dialect = 'sqlite') {
313
- const str = translateExpressionValue(args[0], params, dialect);
314
- const start = translateExpressionValue(args[1], params, dialect);
315
- const len = translateExpressionValue(args[2], params, dialect);
316
- const strFns = getStringFunctions(dialect);
317
- return strFns.substr(str, start, len);
318
- }
319
- function translateCond(cond, params, dialect = 'sqlite') {
320
- let ifCond, thenVal, elseVal;
321
- if (Array.isArray(cond)) {
322
- [ifCond, thenVal, elseVal] = cond;
323
- }
324
- else {
325
- ifCond = cond.if;
326
- thenVal = cond.then;
327
- elseVal = cond.else;
328
- }
329
- const condSql = translateExpressionValue(ifCond, params, dialect);
330
- const thenSql = translateExpressionValue(thenVal, params, dialect);
331
- const elseSql = translateExpressionValue(elseVal, params, dialect);
332
- return `CASE WHEN ${condSql} THEN ${thenSql} ELSE ${elseSql} END`;
333
- }
334
- function translateIfNull(args, params, dialect = 'sqlite') {
335
- const parts = args.map(arg => translateExpressionValue(arg, params, dialect));
336
- return dialectIfNull(dialect, parts);
337
- }
338
- function translateSwitch(switchExpr, params, dialect = 'sqlite') {
339
- const branches = switchExpr.branches;
340
- const defaultVal = switchExpr.default;
341
- const whenClauses = branches.map(branch => {
342
- const caseSql = translateExpressionValue(branch.case, params, dialect);
343
- const thenSql = translateExpressionValue(branch.then, params, dialect);
344
- return `WHEN ${caseSql} THEN ${thenSql}`;
345
- });
346
- const elseSql = defaultVal !== undefined
347
- ? translateExpressionValue(defaultVal, params, dialect)
348
- : 'NULL';
349
- return `CASE ${whenClauses.join(' ')} ELSE ${elseSql} END`;
350
- }
351
- /**
352
- * Translate $function operator to a marker for deferred execution
353
- * Returns a JSON marker string that will be processed by the aggregation executor
354
- *
355
- * The $function operator allows custom JavaScript functions in aggregation pipelines.
356
- * Since SQLite cannot execute JavaScript, we:
357
- * 1. Generate a JSON marker embedded in SQL output
358
- * 2. Extract field references from args for document binding
359
- * 3. Store the function expression metadata for post-processing
360
- */
361
- function translateFunction(spec, _params) {
362
- // Validate required fields
363
- if (!spec.body) {
364
- throw new Error('$function requires body');
365
- }
366
- if (!spec.args) {
367
- throw new Error('$function requires args');
368
- }
369
- if (spec.lang !== 'js') {
370
- throw new Error('$function only supports lang: "js"');
371
- }
372
- // Normalize body to string
373
- const body = typeof spec.body === 'function'
374
- ? spec.body.toString()
375
- : spec.body;
376
- // Process arguments - extract field paths and literal positions
377
- const argPaths = [];
378
- const literalArgs = {};
379
- spec.args.forEach((arg, index) => {
380
- if (isFieldReference(arg)) {
381
- argPaths.push(getFieldPath(arg));
382
- }
383
- else {
384
- literalArgs[index] = arg;
385
- }
386
- });
387
- // Create marker object
388
- const marker = {
389
- __type: 'function',
390
- body,
391
- argPaths,
392
- literalArgs,
393
- argOrder: spec.args.map((arg, i) => isFieldReference(arg) ? { type: 'field', path: getFieldPath(arg) } : { type: 'literal', index: i })
394
- };
395
- // Return as a JSON string that can be detected and parsed later
396
- return `'__FUNCTION__${JSON.stringify(marker).replace(/'/g, "''")}'`;
397
- }
398
- /**
399
- * Function ID counter for placeholder identification
400
- * Exported for testing purposes
401
- */
402
- export let functionIdCounter = 0;
403
- /**
404
- * Reset function ID counter (useful for testing)
405
- */
406
- export function resetFunctionIdCounter() {
407
- functionIdCounter = 0;
408
- }
409
- /**
410
- * Check if a value is a $function operator
411
- */
412
- export function isFunctionOperator(value) {
413
- return (typeof value === 'object' &&
414
- value !== null &&
415
- '$function' in value);
416
- }
417
- /**
418
- * Create a FunctionExpression from a $function spec
419
- * Utility for external code that needs to work with function expressions
420
- */
421
- export function createFunctionExpression(spec) {
422
- const bodyStr = typeof spec.body === 'function'
423
- ? spec.body.toString()
424
- : spec.body;
425
- const argPaths = [];
426
- const literalArgs = new Map();
427
- for (let i = 0; i < spec.args.length; i++) {
428
- const arg = spec.args[i];
429
- if (isFieldReference(arg)) {
430
- const path = getFieldPath(arg);
431
- argPaths.push(path);
432
- }
433
- else {
434
- literalArgs.set(i, arg);
435
- }
436
- }
437
- return {
438
- __type: 'function',
439
- body: bodyStr,
440
- argPaths,
441
- literalArgs
442
- };
443
- }
444
- /**
445
- * Parse a function marker from SQL output
446
- * Returns the parsed function expression or null if not a function marker
447
- */
448
- export function parseFunctionPlaceholder(sql) {
449
- const match = sql.match(/'__FUNCTION__(.+?)'/);
450
- if (!match || !match[1])
451
- return null;
452
- try {
453
- // Unescape single quotes and parse JSON
454
- const json = match[1].replace(/''/g, "'");
455
- return JSON.parse(json);
456
- }
457
- catch {
458
- return null;
459
- }
460
- }
461
- /**
462
- * Check if SQL contains function markers
463
- */
464
- export function hasFunctionPlaceholders(sql) {
465
- return /__FUNCTION__/.test(sql);
466
- }
467
- //# sourceMappingURL=expression-translator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"expression-translator.js","sourceRoot":"","sources":["../../../src/translator/stages/expression-translator.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- /**
2
- * $facet stage - Processes multiple aggregation pipelines in a single stage
3
- * Translates to multiple separate queries (can be run in parallel)
4
- */
5
- import type { StageResult, StageContext, PipelineStage } from './types';
6
- export interface FacetTranslator {
7
- translatePipeline(stages: PipelineStage[], collection: string): {
8
- sql: string;
9
- params: unknown[];
10
- };
11
- }
12
- export declare function translateFacetStage(facet: Record<string, PipelineStage[]>, context: StageContext, pipelineTranslator: FacetTranslator): StageResult;
13
- //# sourceMappingURL=facet-stage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"facet-stage.d.ts","sourceRoot":"","sources":["../../../src/translator/stages/facet-stage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEvE,MAAM,WAAW,eAAe;IAC9B,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE,CAAA;CACnG;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,EACtC,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,eAAe,GAClC,WAAW,CAwBb"}
@@ -1,26 +0,0 @@
1
- /**
2
- * $facet stage - Processes multiple aggregation pipelines in a single stage
3
- * Translates to multiple separate queries (can be run in parallel)
4
- */
5
- export function translateFacetStage(facet, context, pipelineTranslator) {
6
- const params = [];
7
- const facets = {};
8
- // Each facet is an independent pipeline
9
- for (const [facetName, pipeline] of Object.entries(facet)) {
10
- // Use the previous CTE or collection as the source for each facet
11
- const source = context.previousCte || context.collection;
12
- // Translate each facet pipeline independently
13
- const result = pipelineTranslator.translatePipeline(pipeline, source);
14
- facets[facetName] = result;
15
- }
16
- // The final result combines all facets
17
- // In practice, this would be assembled in the application layer
18
- // Here we provide the individual queries
19
- return {
20
- facets,
21
- params,
22
- selectClause: 'NULL', // Facets are handled separately
23
- transformsShape: true
24
- };
25
- }
26
- //# sourceMappingURL=facet-stage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"facet-stage.js","sourceRoot":"","sources":["../../../src/translator/stages/facet-stage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,MAAM,UAAU,mBAAmB,CACjC,KAAsC,EACtC,OAAqB,EACrB,kBAAmC;IAEnC,MAAM,MAAM,GAAc,EAAE,CAAA;IAC5B,MAAM,MAAM,GAAuD,EAAE,CAAA;IAErE,wCAAwC;IACxC,KAAK,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,kEAAkE;QAClE,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,UAAU,CAAA;QAExD,8CAA8C;QAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACrE,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAA;IAC5B,CAAC;IAED,uCAAuC;IACvC,gEAAgE;IAChE,yCAAyC;IAEzC,OAAO;QACL,MAAM;QACN,MAAM;QACN,YAAY,EAAE,MAAM,EAAE,gCAAgC;QACtD,eAAe,EAAE,IAAI;KACtB,CAAA;AACH,CAAC"}
@@ -1,118 +0,0 @@
1
- /**
2
- * Fusion Aggregation Stages
3
- *
4
- * Implements $rankFusion and $scoreFusion aggregation stages for hybrid search.
5
- * These stages combine results from vector search and full-text search pipelines.
6
- *
7
- * MongoDB Atlas $rankFusion and $scoreFusion inspired stages:
8
- * - $rankFusion: Reciprocal Rank Fusion (RRF) algorithm
9
- * - $scoreFusion: Weighted score combination with normalization
10
- */
11
- import type { StageResult, StageContext, PipelineStage } from './types';
12
- /**
13
- * Result from a fusion stage translation
14
- */
15
- export interface FusionStageResult extends StageResult {
16
- fusionType: 'rrf' | 'score';
17
- vectorPipeline: PipelineStage[];
18
- textPipeline: PipelineStage[];
19
- limit?: number;
20
- rrfK?: number;
21
- weights?: {
22
- vector: number;
23
- text: number;
24
- };
25
- normalizeScores?: boolean;
26
- }
27
- /**
28
- * Pipeline configuration for fusion stages
29
- */
30
- export interface FusionPipelines {
31
- vector: PipelineStage[];
32
- text: PipelineStage[];
33
- }
34
- /**
35
- * $rankFusion stage specification
36
- */
37
- export interface RankFusionStageSpec {
38
- input: {
39
- pipelines: FusionPipelines;
40
- };
41
- combination?: {
42
- ranker?: 'rrf';
43
- k?: number;
44
- };
45
- limit?: number;
46
- }
47
- /**
48
- * $scoreFusion stage specification
49
- */
50
- export interface ScoreFusionStageSpec {
51
- input: {
52
- pipelines: FusionPipelines;
53
- };
54
- combination?: {
55
- weights?: {
56
- vector: number;
57
- text: number;
58
- };
59
- normalizeScores?: boolean;
60
- };
61
- limit?: number;
62
- }
63
- /**
64
- * Translate a $rankFusion aggregation stage
65
- *
66
- * The $rankFusion stage combines results from multiple search pipelines
67
- * using Reciprocal Rank Fusion (RRF). This algorithm is particularly
68
- * effective for combining results from different ranking systems
69
- * (e.g., vector similarity and BM25 text search).
70
- *
71
- * RRF Formula: score = sum(1 / (k + rank)) for each pipeline
72
- *
73
- * @param spec The $rankFusion stage specification
74
- * @param context Stage context including collection name
75
- * @returns FusionStageResult with pipeline configurations
76
- */
77
- export declare function translateRankFusionStage(spec: RankFusionStageSpec, _context: StageContext): FusionStageResult;
78
- /**
79
- * Translate a $scoreFusion aggregation stage
80
- *
81
- * The $scoreFusion stage combines results from multiple search pipelines
82
- * using weighted score combination. Scores are optionally normalized
83
- * before combining.
84
- *
85
- * Formula: fusedScore = (vectorWeight * normalizedVectorScore) +
86
- * (textWeight * normalizedTextScore)
87
- *
88
- * @param spec The $scoreFusion stage specification
89
- * @param context Stage context including collection name
90
- * @returns FusionStageResult with pipeline configurations
91
- */
92
- export declare function translateScoreFusionStage(spec: ScoreFusionStageSpec, _context: StageContext): FusionStageResult;
93
- /**
94
- * Build SQL CTE for rank fusion
95
- *
96
- * Creates CTEs that:
97
- * 1. Execute vector search pipeline
98
- * 2. Execute text search pipeline
99
- * 3. Combine results using RRF
100
- */
101
- export declare function buildRankFusionSQL(result: FusionStageResult, _collection: string): {
102
- sql: string;
103
- params: unknown[];
104
- };
105
- /**
106
- * Build SQL CTE for score fusion
107
- *
108
- * Creates CTEs that:
109
- * 1. Execute vector search pipeline
110
- * 2. Execute text search pipeline
111
- * 3. Normalize scores
112
- * 4. Combine with weights
113
- */
114
- export declare function buildScoreFusionSQL(result: FusionStageResult, _collection: string): {
115
- sql: string;
116
- params: unknown[];
117
- };
118
- //# sourceMappingURL=fusion-stages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fusion-stages.d.ts","sourceRoot":"","sources":["../../../src/translator/stages/fusion-stages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAMxE;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,WAAW;IACpD,UAAU,EAAE,KAAK,GAAG,OAAO,CAAC;IAC5B,cAAc,EAAE,aAAa,EAAE,CAAC;IAChC,YAAY,EAAE,aAAa,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE;QACL,SAAS,EAAE,eAAe,CAAC;KAC5B,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,MAAM,CAAC,EAAE,KAAK,CAAC;QACf,CAAC,CAAC,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE;QACL,SAAS,EAAE,eAAe,CAAC;KAC5B,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,OAAO,CAAC,EAAE;YACR,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QACF,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAgBD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,mBAAmB,EACzB,QAAQ,EAAE,YAAY,GACrB,iBAAiB,CA2BnB;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,YAAY,GACrB,iBAAiB,CAgCnB;AA8BD;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,GAClB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CA+BpC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,MAAM,GAClB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,EAAE,CAAA;CAAE,CA+BpC"}