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,201 +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
- // ============================================================
12
- // Default Constants
13
- // ============================================================
14
- /** Default RRF k constant */
15
- const DEFAULT_RRF_K = 60;
16
- /** Default fusion weights */
17
- const DEFAULT_WEIGHTS = { vector: 0.5, text: 0.5 };
18
- // ============================================================
19
- // $rankFusion Stage Translation
20
- // ============================================================
21
- /**
22
- * Translate a $rankFusion aggregation stage
23
- *
24
- * The $rankFusion stage combines results from multiple search pipelines
25
- * using Reciprocal Rank Fusion (RRF). This algorithm is particularly
26
- * effective for combining results from different ranking systems
27
- * (e.g., vector similarity and BM25 text search).
28
- *
29
- * RRF Formula: score = sum(1 / (k + rank)) for each pipeline
30
- *
31
- * @param spec The $rankFusion stage specification
32
- * @param context Stage context including collection name
33
- * @returns FusionStageResult with pipeline configurations
34
- */
35
- export function translateRankFusionStage(spec, _context) {
36
- // Validate input
37
- if (!spec.input?.pipelines) {
38
- throw new Error('$rankFusion requires input.pipelines');
39
- }
40
- const { pipelines } = spec.input;
41
- if (!pipelines.vector || !pipelines.text) {
42
- throw new Error('$rankFusion requires both vector and text pipelines');
43
- }
44
- // Extract RRF k constant
45
- const rrfK = spec.combination?.k ?? DEFAULT_RRF_K;
46
- const result = {
47
- fusionType: 'rrf',
48
- vectorPipeline: pipelines.vector,
49
- textPipeline: pipelines.text,
50
- rrfK,
51
- params: [],
52
- transformsShape: true,
53
- };
54
- if (spec.limit !== undefined) {
55
- result.limit = spec.limit;
56
- }
57
- return result;
58
- }
59
- // ============================================================
60
- // $scoreFusion Stage Translation
61
- // ============================================================
62
- /**
63
- * Translate a $scoreFusion aggregation stage
64
- *
65
- * The $scoreFusion stage combines results from multiple search pipelines
66
- * using weighted score combination. Scores are optionally normalized
67
- * before combining.
68
- *
69
- * Formula: fusedScore = (vectorWeight * normalizedVectorScore) +
70
- * (textWeight * normalizedTextScore)
71
- *
72
- * @param spec The $scoreFusion stage specification
73
- * @param context Stage context including collection name
74
- * @returns FusionStageResult with pipeline configurations
75
- */
76
- export function translateScoreFusionStage(spec, _context) {
77
- // Validate input
78
- if (!spec.input?.pipelines) {
79
- throw new Error('$scoreFusion requires input.pipelines');
80
- }
81
- const { pipelines } = spec.input;
82
- if (!pipelines.vector || !pipelines.text) {
83
- throw new Error('$scoreFusion requires both vector and text pipelines');
84
- }
85
- // Extract and normalize weights
86
- let weights = spec.combination?.weights ?? { ...DEFAULT_WEIGHTS };
87
- weights = normalizeWeights(weights);
88
- // Extract normalization option
89
- const normalizeScores = spec.combination?.normalizeScores ?? true;
90
- const result = {
91
- fusionType: 'score',
92
- vectorPipeline: pipelines.vector,
93
- textPipeline: pipelines.text,
94
- weights,
95
- normalizeScores,
96
- params: [],
97
- transformsShape: true,
98
- };
99
- if (spec.limit !== undefined) {
100
- result.limit = spec.limit;
101
- }
102
- return result;
103
- }
104
- // ============================================================
105
- // Utility Functions
106
- // ============================================================
107
- /**
108
- * Normalize weights so they sum to 1.0
109
- */
110
- function normalizeWeights(weights) {
111
- const sum = weights.vector + weights.text;
112
- if (sum === 0) {
113
- return { vector: 0.5, text: 0.5 };
114
- }
115
- if (Math.abs(sum - 1) < 0.001) {
116
- // Already normalized (within tolerance)
117
- return weights;
118
- }
119
- return {
120
- vector: weights.vector / sum,
121
- text: weights.text / sum,
122
- };
123
- }
124
- /**
125
- * Build SQL CTE for rank fusion
126
- *
127
- * Creates CTEs that:
128
- * 1. Execute vector search pipeline
129
- * 2. Execute text search pipeline
130
- * 3. Combine results using RRF
131
- */
132
- export function buildRankFusionSQL(result, _collection) {
133
- const k = result.rrfK ?? DEFAULT_RRF_K;
134
- // This is a template - actual implementation will require
135
- // executing both pipelines and combining results in JavaScript
136
- // since SQLite doesn't support row_number() in all contexts
137
- const sql = `
138
- WITH vector_ranked AS (
139
- -- Vector search results will be inserted here
140
- SELECT docId, row_number() OVER (ORDER BY score DESC) as rank
141
- FROM vector_results
142
- ),
143
- text_ranked AS (
144
- -- Text search results will be inserted here
145
- SELECT docId, row_number() OVER (ORDER BY score DESC) as rank
146
- FROM text_results
147
- ),
148
- rrf_scores AS (
149
- SELECT
150
- COALESCE(v.docId, t.docId) as docId,
151
- COALESCE(1.0 / (${k} + v.rank), 0) + COALESCE(1.0 / (${k} + t.rank), 0) as fusedScore
152
- FROM vector_ranked v
153
- FULL OUTER JOIN text_ranked t ON v.docId = t.docId
154
- )
155
- SELECT docId, fusedScore
156
- FROM rrf_scores
157
- ORDER BY fusedScore DESC
158
- ${result.limit ? `LIMIT ${result.limit}` : ''}
159
- `.trim();
160
- return { sql, params: [] };
161
- }
162
- /**
163
- * Build SQL CTE for score fusion
164
- *
165
- * Creates CTEs that:
166
- * 1. Execute vector search pipeline
167
- * 2. Execute text search pipeline
168
- * 3. Normalize scores
169
- * 4. Combine with weights
170
- */
171
- export function buildScoreFusionSQL(result, _collection) {
172
- const { vector: vectorWeight, text: textWeight } = result.weights ?? DEFAULT_WEIGHTS;
173
- // This is a template - actual implementation will require
174
- // executing both pipelines and combining results in JavaScript
175
- const sql = `
176
- WITH vector_scores AS (
177
- -- Vector search results with normalized scores
178
- SELECT docId, score as vectorScore
179
- FROM vector_results
180
- ),
181
- text_scores AS (
182
- -- Text search results with normalized scores
183
- SELECT docId, score as textScore
184
- FROM text_results
185
- ),
186
- fused_scores AS (
187
- SELECT
188
- COALESCE(v.docId, t.docId) as docId,
189
- (${vectorWeight} * COALESCE(v.vectorScore, 0)) +
190
- (${textWeight} * COALESCE(t.textScore, 0)) as fusedScore
191
- FROM vector_scores v
192
- FULL OUTER JOIN text_scores t ON v.docId = t.docId
193
- )
194
- SELECT docId, fusedScore
195
- FROM fused_scores
196
- ORDER BY fusedScore DESC
197
- ${result.limit ? `LIMIT ${result.limit}` : ''}
198
- `.trim();
199
- return { sql, params: [] };
200
- }
201
- //# sourceMappingURL=fusion-stages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fusion-stages.js","sourceRoot":"","sources":["../../../src/translator/stages/fusion-stages.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- /**
2
- * $group stage - Groups documents by a specified expression
3
- * Translates to SQL GROUP BY with aggregate functions
4
- * Supports multiple SQL dialects (SQLite, ClickHouse)
5
- */
6
- import type { StageResult, StageContext, GroupStage } from './types';
7
- export declare function translateGroupStage(group: GroupStage, context: StageContext): StageResult;
8
- //# sourceMappingURL=group-stage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group-stage.d.ts","sourceRoot":"","sources":["../../../src/translator/stages/group-stage.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAKpE,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,YAAY,GACpB,WAAW,CAkEb"}
@@ -1,123 +0,0 @@
1
- /**
2
- * $group stage - Groups documents by a specified expression
3
- * Translates to SQL GROUP BY with aggregate functions
4
- * Supports multiple SQL dialects (SQLite, ClickHouse)
5
- */
6
- import { isFieldReference, getFieldPath, translateExpressionValue } from './expression-translator';
7
- import { validateFieldPath } from '../../utils/sql-safety.js';
8
- import { getAggregationFunctions, jsonExtract as dialectJsonExtract } from '../dialect';
9
- export function translateGroupStage(group, context) {
10
- const params = [];
11
- const dialect = context.dialect || 'sqlite';
12
- // Validate _id is present
13
- if (!('_id' in group)) {
14
- throw new Error('$group requires _id field');
15
- }
16
- const { _id, ...accumulators } = group;
17
- // Build GROUP BY clause
18
- const groupByFields = [];
19
- const selectParts = [];
20
- if (_id === null) {
21
- // Total aggregation - no GROUP BY
22
- selectParts.push("'_id', NULL");
23
- }
24
- else if (typeof _id === 'string' && isFieldReference(_id)) {
25
- // Simple field grouping
26
- const path = getFieldPath(_id);
27
- const fieldExpr = dialectJsonExtract(dialect, 'data', path);
28
- groupByFields.push(fieldExpr);
29
- selectParts.push(`'_id', ${fieldExpr}`);
30
- }
31
- else if (typeof _id === 'object' && _id !== null) {
32
- // Compound _id
33
- const idParts = [];
34
- for (const [key, value] of Object.entries(_id)) {
35
- // Validate key to prevent SQL injection
36
- validateFieldPath(key);
37
- if (typeof value === 'string' && isFieldReference(value)) {
38
- // getFieldPath validates the field reference
39
- const path = getFieldPath(value);
40
- const fieldExpr = dialectJsonExtract(dialect, 'data', path);
41
- groupByFields.push(fieldExpr);
42
- idParts.push(`'${key}', ${fieldExpr}`);
43
- }
44
- }
45
- if (dialect === 'clickhouse') {
46
- selectParts.push(`'_id', tuple(${idParts.join(', ')})`);
47
- }
48
- else {
49
- selectParts.push(`'_id', json_object(${idParts.join(', ')})`);
50
- }
51
- }
52
- // Build accumulators
53
- for (const [field, accumulator] of Object.entries(accumulators)) {
54
- // Validate field name to prevent SQL injection
55
- validateFieldPath(field);
56
- const accSql = translateAccumulator(accumulator, params, dialect);
57
- selectParts.push(`'${field}', ${accSql}`);
58
- }
59
- const selectClause = dialect === 'clickhouse'
60
- ? `tuple(${selectParts.join(', ')}) AS data`
61
- : `json_object(${selectParts.join(', ')}) AS data`;
62
- const result = {
63
- selectClause,
64
- params,
65
- transformsShape: true
66
- };
67
- if (groupByFields.length > 0) {
68
- result.groupByClause = groupByFields.join(', ');
69
- }
70
- return result;
71
- }
72
- function translateAccumulator(accumulator, params, dialect = 'sqlite') {
73
- const operator = Object.keys(accumulator)[0];
74
- const value = accumulator[operator];
75
- const aggFns = getAggregationFunctions(dialect);
76
- switch (operator) {
77
- case '$sum': {
78
- if (typeof value === 'number') {
79
- // $sum: 1 counts documents
80
- if (value === 1) {
81
- return aggFns.count();
82
- }
83
- return aggFns.sum(String(value));
84
- }
85
- const expr = translateExpressionValue(value, params, dialect);
86
- return aggFns.sum(expr);
87
- }
88
- case '$avg': {
89
- const expr = translateExpressionValue(value, params, dialect);
90
- return aggFns.avg(expr);
91
- }
92
- case '$min': {
93
- const expr = translateExpressionValue(value, params, dialect);
94
- return aggFns.min(expr);
95
- }
96
- case '$max': {
97
- const expr = translateExpressionValue(value, params, dialect);
98
- return aggFns.max(expr);
99
- }
100
- case '$count': {
101
- return aggFns.count();
102
- }
103
- case '$first': {
104
- const expr = translateExpressionValue(value, params, dialect);
105
- return aggFns.first(expr);
106
- }
107
- case '$last': {
108
- const expr = translateExpressionValue(value, params, dialect);
109
- return aggFns.last(expr);
110
- }
111
- case '$push': {
112
- const expr = translateExpressionValue(value, params, dialect);
113
- return aggFns.push(expr);
114
- }
115
- case '$addToSet': {
116
- const expr = translateExpressionValue(value, params, dialect);
117
- return aggFns.addToSet(expr);
118
- }
119
- default:
120
- throw new Error(`Unknown accumulator operator: ${operator}`);
121
- }
122
- }
123
- //# sourceMappingURL=group-stage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"group-stage.js","sourceRoot":"","sources":["../../../src/translator/stages/group-stage.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Stage translators index
3
- */
4
- export * from './types';
5
- export * from './expression-translator';
6
- export * from './match-stage';
7
- export * from './project-stage';
8
- export * from './group-stage';
9
- export * from './sort-stage';
10
- export * from './limit-stage';
11
- export * from './skip-stage';
12
- export * from './count-stage';
13
- export * from './lookup-stage';
14
- export * from './unwind-stage';
15
- export * from './add-fields-stage';
16
- export * from './bucket-stage';
17
- export * from './facet-stage';
18
- export * from './search-stage';
19
- export * from './optimizer';
20
- export * from './parallel-facet';
21
- export * from './join-optimizer';
22
- export * from './fusion-stages';
23
- export * from './vector-search-stage';
24
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/translator/stages/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Stage translators index
3
- */
4
- export * from './types';
5
- export * from './expression-translator';
6
- export * from './match-stage';
7
- export * from './project-stage';
8
- export * from './group-stage';
9
- export * from './sort-stage';
10
- export * from './limit-stage';
11
- export * from './skip-stage';
12
- export * from './count-stage';
13
- export * from './lookup-stage';
14
- export * from './unwind-stage';
15
- export * from './add-fields-stage';
16
- export * from './bucket-stage';
17
- export * from './facet-stage';
18
- export * from './search-stage';
19
- export * from './optimizer';
20
- export * from './parallel-facet';
21
- export * from './join-optimizer';
22
- export * from './fusion-stages';
23
- export * from './vector-search-stage';
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/translator/stages/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,SAAS,CAAA;AACvB,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,aAAa,CAAA;AAC3B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA"}
@@ -1,37 +0,0 @@
1
- /**
2
- * Join Optimizer - Optimizes $lookup stages for better performance
3
- *
4
- * Strategies:
5
- * 1. Index hints for join conditions
6
- * 2. Predicate pushdown into subqueries
7
- * 3. Query rewriting for specific patterns
8
- */
9
- import type { LookupStage, PipelineStage } from './types';
10
- export interface JoinOptimization {
11
- /** Suggested index for the lookup */
12
- suggestedIndex?: {
13
- collection: string;
14
- fields: string[];
15
- };
16
- /** Optimized lookup configuration */
17
- optimizedLookup: LookupStage;
18
- /** Pre-filter that can be applied to foreign collection */
19
- foreignPreFilter?: Record<string, unknown>;
20
- }
21
- /**
22
- * Analyze a $lookup stage and suggest optimizations
23
- */
24
- export declare function optimizeLookup(lookup: LookupStage, followingStages: PipelineStage[]): JoinOptimization;
25
- /**
26
- * Check if a lookup can use an index-based strategy
27
- */
28
- export declare function canUseIndexLookup(lookup: LookupStage): boolean;
29
- /**
30
- * Estimate lookup cost based on heuristics
31
- */
32
- export declare function estimateLookupCost(lookup: LookupStage, estimatedDocumentCount?: number): number;
33
- /**
34
- * Suggest a rewritten lookup for specific patterns
35
- */
36
- export declare function suggestLookupRewrite(_lookup: LookupStage): LookupStage | null;
37
- //# sourceMappingURL=join-optimizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"join-optimizer.d.ts","sourceRoot":"","sources":["../../../src/translator/stages/join-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,qCAAqC;IACrC,cAAc,CAAC,EAAE;QACf,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,EAAE,CAAA;KACjB,CAAA;IACD,qCAAqC;IACrC,eAAe,EAAE,WAAW,CAAA;IAC5B,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC3C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,EACnB,eAAe,EAAE,aAAa,EAAE,GAC/B,gBAAgB,CAuDlB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAG9D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,WAAW,EACnB,sBAAsB,GAAE,MAAa,GACpC,MAAM,CAeR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,GACnB,WAAW,GAAG,IAAI,CAQpB"}
@@ -1,93 +0,0 @@
1
- /**
2
- * Join Optimizer - Optimizes $lookup stages for better performance
3
- *
4
- * Strategies:
5
- * 1. Index hints for join conditions
6
- * 2. Predicate pushdown into subqueries
7
- * 3. Query rewriting for specific patterns
8
- */
9
- /**
10
- * Analyze a $lookup stage and suggest optimizations
11
- */
12
- export function optimizeLookup(lookup, followingStages) {
13
- const result = {
14
- optimizedLookup: { ...lookup }
15
- };
16
- // Suggest index for the join condition
17
- if (lookup.foreignField) {
18
- result.suggestedIndex = {
19
- collection: lookup.from,
20
- fields: [lookup.foreignField]
21
- };
22
- }
23
- // Look for $match stages that filter on the lookup result
24
- // These can potentially be pushed into the lookup subquery
25
- for (const stage of followingStages) {
26
- if ('$match' in stage) {
27
- const match = stage.$match;
28
- const lookupFieldPrefix = `${lookup.as}.`;
29
- // Extract conditions that reference the lookup field
30
- const pushableConditions = {};
31
- for (const [field, condition] of Object.entries(match)) {
32
- if (field.startsWith(lookupFieldPrefix)) {
33
- const foreignField = field.substring(lookupFieldPrefix.length);
34
- pushableConditions[foreignField] = condition;
35
- }
36
- }
37
- if (Object.keys(pushableConditions).length > 0) {
38
- result.foreignPreFilter = pushableConditions;
39
- // If we have a pipeline lookup, add the filter to the pipeline
40
- if (lookup.pipeline) {
41
- result.optimizedLookup = {
42
- ...lookup,
43
- pipeline: [
44
- { $match: pushableConditions },
45
- ...lookup.pipeline
46
- ]
47
- };
48
- }
49
- }
50
- // Only check the first $match after the lookup
51
- break;
52
- }
53
- // Stop if we hit a stage that transforms the data
54
- if ('$group' in stage || '$project' in stage || '$unwind' in stage) {
55
- break;
56
- }
57
- }
58
- return result;
59
- }
60
- /**
61
- * Check if a lookup can use an index-based strategy
62
- */
63
- export function canUseIndexLookup(lookup) {
64
- // Simple lookups on _id fields are most efficient
65
- return lookup.foreignField === '_id';
66
- }
67
- /**
68
- * Estimate lookup cost based on heuristics
69
- */
70
- export function estimateLookupCost(lookup, estimatedDocumentCount = 1000) {
71
- let cost = estimatedDocumentCount;
72
- // Nested lookups are more expensive
73
- if (lookup.pipeline) {
74
- // Each pipeline stage adds overhead
75
- cost *= (lookup.pipeline.length + 1);
76
- }
77
- // Lookups on indexed fields are cheaper
78
- if (canUseIndexLookup(lookup)) {
79
- cost *= 0.1;
80
- }
81
- return cost;
82
- }
83
- /**
84
- * Suggest a rewritten lookup for specific patterns
85
- */
86
- export function suggestLookupRewrite(_lookup) {
87
- // Pattern: Simple equality join can be converted to correlated subquery
88
- // This is already what we do, so no change needed
89
- // Pattern: Self-join can sometimes be replaced with window functions
90
- // SQLite doesn't support this well, so skip
91
- return null;
92
- }
93
- //# sourceMappingURL=join-optimizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"join-optimizer.js","sourceRoot":"","sources":["../../../src/translator/stages/join-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAgBH;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAmB,EACnB,eAAgC;IAEhC,MAAM,MAAM,GAAqB;QAC/B,eAAe,EAAE,EAAE,GAAG,MAAM,EAAE;KAC/B,CAAA;IAED,uCAAuC;IACvC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxB,MAAM,CAAC,cAAc,GAAG;YACtB,UAAU,EAAE,MAAM,CAAC,IAAI;YACvB,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;SAC9B,CAAA;IACH,CAAC;IAED,0DAA0D;IAC1D,2DAA2D;IAC3D,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAiC,CAAA;YACrD,MAAM,iBAAiB,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,CAAA;YAEzC,qDAAqD;YACrD,MAAM,kBAAkB,GAA4B,EAAE,CAAA;YACtD,KAAK,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,IAAI,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;oBACxC,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAA;oBAC9D,kBAAkB,CAAC,YAAY,CAAC,GAAG,SAAS,CAAA;gBAC9C,CAAC;YACH,CAAC;YAED,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,CAAC,gBAAgB,GAAG,kBAAkB,CAAA;gBAE5C,+DAA+D;gBAC/D,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBACpB,MAAM,CAAC,eAAe,GAAG;wBACvB,GAAG,MAAM;wBACT,QAAQ,EAAE;4BACR,EAAE,MAAM,EAAE,kBAAkB,EAAmB;4BAC/C,GAAG,MAAM,CAAC,QAAQ;yBACnB;qBACF,CAAA;gBACH,CAAC;YACH,CAAC;YAED,+CAA+C;YAC/C,MAAK;QACP,CAAC;QAED,kDAAkD;QAClD,IAAI,QAAQ,IAAI,KAAK,IAAI,UAAU,IAAI,KAAK,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YACnE,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAmB;IACnD,kDAAkD;IAClD,OAAO,MAAM,CAAC,YAAY,KAAK,KAAK,CAAA;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAmB,EACnB,yBAAiC,IAAI;IAErC,IAAI,IAAI,GAAG,sBAAsB,CAAA;IAEjC,oCAAoC;IACpC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,oCAAoC;QACpC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtC,CAAC;IAED,wCAAwC;IACxC,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,IAAI,IAAI,GAAG,CAAA;IACb,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAoB;IAEpB,wEAAwE;IACxE,kDAAkD;IAElD,qEAAqE;IACrE,4CAA4C;IAE5C,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * $limit stage - Limits the number of documents
3
- * Translates to SQL LIMIT clause
4
- */
5
- import type { StageResult, StageContext } from './types';
6
- export declare function translateLimitStage(limit: number, _context: StageContext): StageResult;
7
- //# sourceMappingURL=limit-stage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"limit-stage.d.ts","sourceRoot":"","sources":["../../../src/translator/stages/limit-stage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAExD,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,YAAY,GACrB,WAAW,CAKb"}
@@ -1,11 +0,0 @@
1
- /**
2
- * $limit stage - Limits the number of documents
3
- * Translates to SQL LIMIT clause
4
- */
5
- export function translateLimitStage(limit, _context) {
6
- return {
7
- limitClause: `LIMIT ${limit}`,
8
- params: []
9
- };
10
- }
11
- //# sourceMappingURL=limit-stage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"limit-stage.js","sourceRoot":"","sources":["../../../src/translator/stages/limit-stage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,UAAU,mBAAmB,CACjC,KAAa,EACb,QAAsB;IAEtB,OAAO;QACL,WAAW,EAAE,SAAS,KAAK,EAAE;QAC7B,MAAM,EAAE,EAAE;KACX,CAAA;AACH,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * $lookup stage - Performs a left outer join with another collection
3
- * Translates to SQL LEFT JOIN or subquery
4
- */
5
- import type { StageResult, StageContext, LookupStage } from './types';
6
- export declare function translateLookupStage(lookup: LookupStage, context: StageContext): StageResult;
7
- //# sourceMappingURL=lookup-stage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lookup-stage.d.ts","sourceRoot":"","sources":["../../../src/translator/stages/lookup-stage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAGrE,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,YAAY,GACpB,WAAW,CAab"}