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,621 +0,0 @@
1
- /**
2
- * MongoCursor - MongoDB-compatible cursor for iterating over query results
3
- *
4
- * Provides lazy iteration, buffering, and async iterator support.
5
- * Wraps results with MongoDB-style cursor operations.
6
- *
7
- * Features:
8
- * - Lazy evaluation: data is fetched only when needed
9
- * - Streaming support: memory-efficient iteration over large datasets
10
- * - Fluent interface: chainable modifier methods
11
- * - Query plan optimization: modifiers are sent to server when possible
12
- */
13
- import { EventEmitter } from 'events';
14
- /**
15
- * Default stream configuration
16
- */
17
- const DEFAULT_STREAM_CONFIG = {
18
- batchSize: 1000,
19
- highWaterMark: 100,
20
- serverSideModifiers: false,
21
- };
22
- /**
23
- * MongoCursor class providing MongoDB-compatible cursor functionality
24
- *
25
- * @template T - Document type
26
- */
27
- export class MongoCursor extends EventEmitter {
28
- _fetchFn;
29
- _streamFetchFn;
30
- _options;
31
- _streamConfig;
32
- _buffer = [];
33
- _position = 0;
34
- _globalIndex = 0;
35
- _fetched = false;
36
- _exhausted = false;
37
- _closed = false;
38
- _mapFn;
39
- _queryPlan;
40
- /**
41
- * Create a new MongoCursor
42
- * @param fetchFn - Function that fetches documents from data source
43
- * @param options - Initial cursor options
44
- * @param streamConfig - Optional streaming configuration
45
- */
46
- constructor(fetchFn, options = {}, streamConfig = {}) {
47
- super();
48
- this._fetchFn = fetchFn;
49
- this._options = { ...options };
50
- this._streamConfig = { ...DEFAULT_STREAM_CONFIG, ...streamConfig };
51
- }
52
- /**
53
- * Enable streaming mode with a custom stream fetch function
54
- */
55
- withStreamFetch(fn) {
56
- this._streamFetchFn = fn;
57
- return this;
58
- }
59
- /**
60
- * Whether the cursor has been closed
61
- */
62
- get closed() {
63
- return this._closed;
64
- }
65
- /**
66
- * Number of documents currently buffered
67
- */
68
- get bufferedCount() {
69
- return this._closed ? 0 : Math.max(0, this._buffer.length - this._position);
70
- }
71
- /**
72
- * Get the current cursor options (useful for debugging/logging)
73
- */
74
- get options() {
75
- return { ...this._options };
76
- }
77
- /**
78
- * Get the query plan for this cursor
79
- */
80
- get queryPlan() {
81
- return this._queryPlan;
82
- }
83
- /**
84
- * Generate optimized query plan based on cursor options
85
- */
86
- generateQueryPlan() {
87
- const plan = {
88
- serverSideOperations: [],
89
- clientSideOperations: [],
90
- estimatedCost: 0,
91
- };
92
- // Analyze which operations can be pushed to server
93
- if (this._streamConfig.serverSideModifiers) {
94
- // Server can handle these efficiently via SQL
95
- if (this._options.sort) {
96
- plan.serverSideOperations.push({
97
- type: 'sort',
98
- spec: this._options.sort,
99
- sqlHint: this.generateOrderByClause(this._options.sort),
100
- });
101
- }
102
- if (this._options.skip) {
103
- plan.serverSideOperations.push({
104
- type: 'skip',
105
- value: this._options.skip,
106
- sqlHint: `OFFSET ${this._options.skip}`,
107
- });
108
- }
109
- if (this._options.limit) {
110
- plan.serverSideOperations.push({
111
- type: 'limit',
112
- value: this._options.limit,
113
- sqlHint: `LIMIT ${this._options.limit}`,
114
- });
115
- }
116
- if (this._options.projection) {
117
- plan.serverSideOperations.push({
118
- type: 'projection',
119
- spec: this._options.projection,
120
- sqlHint: this.generateProjectionHint(this._options.projection),
121
- });
122
- }
123
- }
124
- else {
125
- // Client-side processing
126
- if (this._options.sort) {
127
- plan.clientSideOperations.push({ type: 'sort', spec: this._options.sort });
128
- plan.estimatedCost += 100; // Sorting is expensive
129
- }
130
- if (this._options.skip) {
131
- plan.clientSideOperations.push({ type: 'skip', value: this._options.skip });
132
- plan.estimatedCost += 10;
133
- }
134
- if (this._options.limit) {
135
- plan.clientSideOperations.push({ type: 'limit', value: this._options.limit });
136
- plan.estimatedCost += 1;
137
- }
138
- if (this._options.projection) {
139
- plan.clientSideOperations.push({ type: 'projection', spec: this._options.projection });
140
- plan.estimatedCost += 20;
141
- }
142
- }
143
- return plan;
144
- }
145
- /**
146
- * Generate SQL ORDER BY clause hint
147
- */
148
- generateOrderByClause(sort) {
149
- return Object.entries(sort)
150
- .map(([field, dir]) => {
151
- const jsonPath = `json_extract(doc, '$.${field}')`;
152
- return `${jsonPath} ${dir === 1 ? 'ASC' : 'DESC'}`;
153
- })
154
- .join(', ');
155
- }
156
- /**
157
- * Generate projection hint for SQL
158
- */
159
- generateProjectionHint(projection) {
160
- const fields = Object.entries(projection)
161
- .filter(([, v]) => v === 1)
162
- .map(([k]) => k);
163
- return fields.length > 0 ? `SELECT ${fields.join(', ')}` : 'SELECT *';
164
- }
165
- /**
166
- * Ensure data has been fetched (or fetch first batch for streaming)
167
- */
168
- async ensureFetched() {
169
- if (this._fetched || this._closed)
170
- return;
171
- // Generate query plan before fetching
172
- this._queryPlan = this.generateQueryPlan();
173
- try {
174
- if (this._streamFetchFn) {
175
- // Streaming mode: fetch first batch
176
- await this.fetchNextBatch();
177
- }
178
- else {
179
- // Full fetch mode
180
- const docs = await this._fetchFn(this._options);
181
- this._buffer = this._streamConfig.serverSideModifiers
182
- ? docs
183
- : this.applyModifiers(docs);
184
- this._exhausted = true;
185
- }
186
- this._fetched = true;
187
- }
188
- catch (error) {
189
- this._closed = true;
190
- throw error;
191
- }
192
- }
193
- /**
194
- * Fetch next batch of documents in streaming mode
195
- */
196
- async fetchNextBatch() {
197
- if (!this._streamFetchFn || this._exhausted || this._closed)
198
- return;
199
- const batchSize = this._options.batchSize ?? this._streamConfig.batchSize;
200
- const result = await this._streamFetchFn(this._options, this._globalIndex, batchSize);
201
- // Clear consumed portion of buffer to save memory
202
- if (this._position > 0) {
203
- this._buffer = this._buffer.slice(this._position);
204
- this._position = 0;
205
- }
206
- // Apply client-side modifiers if needed
207
- const newDocs = this._streamConfig.serverSideModifiers
208
- ? result.documents
209
- : this.applyModifiersStreaming(result.documents);
210
- this._buffer.push(...newDocs);
211
- this._globalIndex += result.documents.length;
212
- this._exhausted = !result.hasMore;
213
- }
214
- /**
215
- * Apply modifiers for streaming (skip/limit aware)
216
- */
217
- applyModifiersStreaming(docs) {
218
- let result = docs;
219
- // Note: sort is handled differently in streaming mode
220
- // We assume server provides sorted data or we buffer everything
221
- // Skip is tricky in streaming - we track globally
222
- // Limit is also tracked globally
223
- // Apply projection (stateless, can always apply)
224
- if (this._options.projection) {
225
- result = this.applyProjectionModifier(result, this._options.projection);
226
- }
227
- return result;
228
- }
229
- /**
230
- * Apply cursor modifiers to the document array
231
- * (for client-side processing when server doesn't handle them)
232
- */
233
- applyModifiers(docs) {
234
- let result = [...docs];
235
- // Apply sort first (must happen before skip/limit)
236
- if (this._options.sort) {
237
- result = this.applySortModifier(result, this._options.sort);
238
- }
239
- // Apply skip
240
- if (this._options.skip && this._options.skip > 0) {
241
- result = result.slice(this._options.skip);
242
- }
243
- // Apply limit
244
- if (this._options.limit !== undefined) {
245
- if (this._options.limit === 0) {
246
- result = [];
247
- }
248
- else if (this._options.limit > 0) {
249
- result = result.slice(0, this._options.limit);
250
- }
251
- }
252
- // Apply projection last
253
- if (this._options.projection) {
254
- result = this.applyProjectionModifier(result, this._options.projection);
255
- }
256
- return result;
257
- }
258
- /**
259
- * Apply sort modifier to documents using optimized comparison
260
- */
261
- applySortModifier(docs, sort) {
262
- const sortFields = Object.entries(sort);
263
- // Pre-compute field paths for efficiency
264
- const fieldPaths = sortFields.map(([field]) => field.split('.'));
265
- return [...docs].sort((a, b) => {
266
- for (let i = 0; i < sortFields.length; i++) {
267
- const sortField = sortFields[i];
268
- const path = fieldPaths[i];
269
- if (!sortField || !path)
270
- continue;
271
- const [, direction] = sortField;
272
- const aVal = this.getFieldValueOptimized(a, path);
273
- const bVal = this.getFieldValueOptimized(b, path);
274
- const comparison = this.compareValues(aVal, bVal);
275
- if (comparison !== 0)
276
- return comparison * direction;
277
- }
278
- return 0;
279
- });
280
- }
281
- /**
282
- * Compare two values with type-aware comparison
283
- */
284
- compareValues(a, b) {
285
- // Handle null/undefined
286
- if (a === null || a === undefined) {
287
- return b === null || b === undefined ? 0 : -1;
288
- }
289
- if (b === null || b === undefined)
290
- return 1;
291
- // Type-specific comparison
292
- if (typeof a === 'string' && typeof b === 'string') {
293
- return a.localeCompare(b);
294
- }
295
- if (a < b)
296
- return -1;
297
- if (a > b)
298
- return 1;
299
- return 0;
300
- }
301
- /**
302
- * Get nested field value from document (optimized version with pre-split path)
303
- */
304
- getFieldValueOptimized(doc, pathParts) {
305
- let value = doc;
306
- for (const part of pathParts) {
307
- if (value === null || value === undefined)
308
- return undefined;
309
- value = value[part];
310
- }
311
- return value;
312
- }
313
- /**
314
- * Apply projection modifier to documents
315
- */
316
- applyProjectionModifier(docs, projection) {
317
- const includeMode = Object.values(projection).some((v) => v === 1);
318
- const excludeId = projection._id === 0;
319
- // Pre-compute inclusion/exclusion sets for efficiency
320
- const includeFields = new Set(Object.entries(projection)
321
- .filter(([, v]) => v === 1)
322
- .map(([k]) => k));
323
- const excludeFields = new Set(Object.entries(projection)
324
- .filter(([, v]) => v === 0)
325
- .map(([k]) => k));
326
- return docs.map((doc) => {
327
- const docObj = doc;
328
- const result = {};
329
- if (includeMode) {
330
- // Include mode: only include specified fields (plus _id unless excluded)
331
- if (!excludeId && '_id' in docObj) {
332
- result._id = docObj._id;
333
- }
334
- for (const field of includeFields) {
335
- if (field !== '_id' && field in docObj) {
336
- result[field] = docObj[field];
337
- }
338
- }
339
- }
340
- else {
341
- // Exclude mode: include all fields except specified ones
342
- for (const [field, value] of Object.entries(docObj)) {
343
- if (field === '_id' && excludeId)
344
- continue;
345
- if (!excludeFields.has(field)) {
346
- result[field] = value;
347
- }
348
- }
349
- }
350
- return result;
351
- });
352
- }
353
- // =====================
354
- // Fluent Interface Methods
355
- // =====================
356
- /**
357
- * Set a limit on the number of documents to return
358
- * @throws Error if limit is negative
359
- */
360
- limit(count) {
361
- if (count < 0) {
362
- throw new Error('Limit must be non-negative');
363
- }
364
- this._options.limit = count;
365
- return this;
366
- }
367
- /**
368
- * Set the number of documents to skip
369
- * @throws Error if skip is negative
370
- */
371
- skip(count) {
372
- if (count < 0) {
373
- throw new Error('Skip must be non-negative');
374
- }
375
- this._options.skip = count;
376
- return this;
377
- }
378
- /**
379
- * Set the sort order for documents
380
- */
381
- sort(spec) {
382
- this._options.sort = spec;
383
- return this;
384
- }
385
- /**
386
- * Set the projection for returned documents
387
- */
388
- project(spec) {
389
- this._options.projection = spec;
390
- return this;
391
- }
392
- /**
393
- * Set the batch size for streaming mode
394
- */
395
- batchSize(size) {
396
- if (size < 1) {
397
- throw new Error('Batch size must be at least 1');
398
- }
399
- this._options.batchSize = size;
400
- return this;
401
- }
402
- /**
403
- * Enable server-side modifier processing
404
- */
405
- serverSide(enabled = true) {
406
- this._streamConfig.serverSideModifiers = enabled;
407
- return this;
408
- }
409
- // =====================
410
- // Iteration Methods
411
- // =====================
412
- /**
413
- * Get the next document from the cursor
414
- * Returns null when exhausted
415
- */
416
- async next() {
417
- if (this._closed)
418
- return null;
419
- await this.ensureFetched();
420
- // Check if we need to fetch more in streaming mode
421
- if (this._streamFetchFn &&
422
- !this._exhausted &&
423
- this._position >= this._buffer.length) {
424
- await this.fetchNextBatch();
425
- }
426
- if (this._position >= this._buffer.length) {
427
- return null;
428
- }
429
- const doc = this._buffer[this._position++];
430
- if (doc === undefined) {
431
- return null;
432
- }
433
- if (this._mapFn) {
434
- return this._mapFn(doc, this._position - 1);
435
- }
436
- return doc;
437
- }
438
- /**
439
- * Check if there are more documents
440
- */
441
- async hasNext() {
442
- if (this._closed)
443
- return false;
444
- await this.ensureFetched();
445
- // Check if we need to fetch more in streaming mode
446
- if (this._streamFetchFn &&
447
- !this._exhausted &&
448
- this._position >= this._buffer.length) {
449
- await this.fetchNextBatch();
450
- }
451
- return this._position < this._buffer.length;
452
- }
453
- /**
454
- * Get all remaining documents as an array
455
- * Memory warning: this loads all documents into memory
456
- */
457
- async toArray() {
458
- if (this._closed)
459
- return [];
460
- await this.ensureFetched();
461
- // For streaming, we need to fetch all remaining batches
462
- if (this._streamFetchFn) {
463
- while (!this._exhausted) {
464
- await this.fetchNextBatch();
465
- }
466
- }
467
- const remaining = this._buffer.slice(this._position);
468
- this._position = this._buffer.length;
469
- // Close cursor after consuming all documents
470
- await this.close();
471
- if (this._mapFn) {
472
- return remaining.map((doc, i) => this._mapFn(doc, i));
473
- }
474
- return remaining;
475
- }
476
- /**
477
- * Iterate over all documents with a callback
478
- * Return false from callback to stop iteration
479
- * Memory-efficient: processes documents as they are fetched
480
- */
481
- async forEach(callback) {
482
- if (this._closed)
483
- return;
484
- await this.ensureFetched();
485
- let index = 0;
486
- let shouldContinue = true;
487
- while (shouldContinue) {
488
- // Process current buffer
489
- while (this._position < this._buffer.length && shouldContinue) {
490
- const doc = this._buffer[this._position++];
491
- if (doc === undefined)
492
- continue;
493
- const mappedDoc = this._mapFn ? this._mapFn(doc, index) : doc;
494
- const result = await callback(mappedDoc, index++);
495
- if (result === false) {
496
- shouldContinue = false;
497
- }
498
- }
499
- // Fetch more if streaming and not exhausted
500
- if (shouldContinue && this._streamFetchFn && !this._exhausted) {
501
- await this.fetchNextBatch();
502
- }
503
- else if (this._position >= this._buffer.length) {
504
- break;
505
- }
506
- }
507
- }
508
- /**
509
- * Transform documents with a mapping function
510
- * Returns a new cursor with the transformation applied
511
- * Lazy: transformation is applied during iteration
512
- */
513
- map(fn) {
514
- const newCursor = new MongoCursor(this._fetchFn, { ...this._options }, { ...this._streamConfig });
515
- // Transfer state
516
- newCursor._fetched = this._fetched;
517
- newCursor._buffer = this._buffer;
518
- newCursor._position = this._position;
519
- newCursor._exhausted = this._exhausted;
520
- newCursor._streamFetchFn = this._streamFetchFn;
521
- // Chain map functions
522
- const existingMapFn = this._mapFn;
523
- newCursor._mapFn = existingMapFn
524
- ? (doc, index) => fn(existingMapFn(doc, index), index)
525
- : (doc, index) => fn(doc, index);
526
- return newCursor;
527
- }
528
- /**
529
- * Filter documents based on a predicate
530
- * Returns a new cursor with the filter applied
531
- */
532
- filter(predicate) {
533
- const originalFetchFn = this._fetchFn;
534
- const filteredFetchFn = async (options) => {
535
- const docs = await originalFetchFn(options);
536
- return docs.filter(predicate);
537
- };
538
- return new MongoCursor(filteredFetchFn, { ...this._options }, { ...this._streamConfig });
539
- }
540
- /**
541
- * Count documents without consuming the cursor
542
- */
543
- async count() {
544
- // Save current position
545
- const savedPosition = this._position;
546
- await this.ensureFetched();
547
- // For streaming, count requires fetching all
548
- if (this._streamFetchFn) {
549
- while (!this._exhausted) {
550
- await this.fetchNextBatch();
551
- }
552
- }
553
- const count = this._buffer.length - savedPosition;
554
- // Restore position if not exhausted
555
- this._position = savedPosition;
556
- return count;
557
- }
558
- /**
559
- * Close the cursor and release resources
560
- */
561
- async close() {
562
- if (this._closed)
563
- return;
564
- this._closed = true;
565
- this._buffer = [];
566
- this._position = 0;
567
- this.emit('close');
568
- }
569
- /**
570
- * Create a readable stream from the cursor
571
- * For use with Node.js stream pipelines
572
- */
573
- toStream() {
574
- return this;
575
- }
576
- /**
577
- * Async iterator implementation
578
- * Supports for-await-of syntax and streaming
579
- */
580
- async *[Symbol.asyncIterator]() {
581
- try {
582
- while (await this.hasNext()) {
583
- const doc = await this.next();
584
- if (doc !== null) {
585
- yield doc;
586
- }
587
- }
588
- }
589
- finally {
590
- await this.close();
591
- }
592
- }
593
- /**
594
- * Register an event listener
595
- */
596
- on(event, listener) {
597
- return super.on(event, listener);
598
- }
599
- /**
600
- * Clone this cursor with the same options
601
- * Useful for re-running the same query
602
- */
603
- clone() {
604
- const cloned = new MongoCursor(this._fetchFn, { ...this._options }, { ...this._streamConfig });
605
- if (this._streamFetchFn) {
606
- cloned._streamFetchFn = this._streamFetchFn;
607
- }
608
- return cloned;
609
- }
610
- /**
611
- * Explain the query plan for this cursor
612
- */
613
- explain() {
614
- if (!this._queryPlan) {
615
- this._queryPlan = this.generateQueryPlan();
616
- }
617
- return this._queryPlan;
618
- }
619
- }
620
- export default MongoCursor;
621
- //# sourceMappingURL=mongo-cursor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mongo-cursor.js","sourceRoot":"","sources":["../../src/client/mongo-cursor.ts"],"names":[],"mappings":"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"}