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,159 +0,0 @@
1
- /**
2
- * Connection types for mongo.do Studio
3
- *
4
- * Types and interfaces for managing database connections
5
- * in the mongo.do Studio UI.
6
- */
7
- import { randomUUID } from 'crypto';
8
- /**
9
- * Default connection form values
10
- */
11
- export const DEFAULT_CONNECTION_FORM_VALUES = {
12
- name: 'New Connection',
13
- connectionMethod: 'uri',
14
- uri: 'mongodo://localhost:27017',
15
- host: 'localhost',
16
- port: 27017,
17
- database: 'test',
18
- authType: 'none',
19
- username: '',
20
- password: '',
21
- authSource: 'admin',
22
- tlsEnabled: false,
23
- tlsAllowInvalidCertificates: false,
24
- connectTimeoutMS: 10000,
25
- maxPoolSize: 100,
26
- };
27
- /**
28
- * Parse a connection URI into form values
29
- */
30
- export function parseConnectionURI(uri) {
31
- try {
32
- const result = { uri };
33
- // Match scheme
34
- const schemeMatch = uri.match(/^(mongodo|mongodb):\/\//);
35
- if (!schemeMatch) {
36
- return result;
37
- }
38
- let remaining = uri.slice(schemeMatch[0].length);
39
- // Extract query string
40
- const queryIndex = remaining.indexOf('?');
41
- if (queryIndex !== -1) {
42
- remaining = remaining.slice(0, queryIndex);
43
- }
44
- // Extract database name
45
- const pathIndex = remaining.indexOf('/');
46
- if (pathIndex !== -1) {
47
- result.database = remaining.slice(pathIndex + 1) || 'test';
48
- remaining = remaining.slice(0, pathIndex);
49
- }
50
- // Check for authentication (user:pass@)
51
- const atIndex = remaining.lastIndexOf('@');
52
- if (atIndex !== -1) {
53
- const authPart = remaining.slice(0, atIndex);
54
- remaining = remaining.slice(atIndex + 1);
55
- const colonIndex = authPart.indexOf(':');
56
- if (colonIndex !== -1) {
57
- result.username = decodeURIComponent(authPart.slice(0, colonIndex));
58
- result.password = decodeURIComponent(authPart.slice(colonIndex + 1));
59
- result.authType = 'basic';
60
- }
61
- else {
62
- result.username = decodeURIComponent(authPart);
63
- result.authType = 'basic';
64
- }
65
- }
66
- // Parse host and port
67
- const colonIndex = remaining.lastIndexOf(':');
68
- if (colonIndex !== -1) {
69
- result.host = remaining.slice(0, colonIndex) || 'localhost';
70
- const portStr = remaining.slice(colonIndex + 1);
71
- if (portStr) {
72
- const port = parseInt(portStr, 10);
73
- if (!isNaN(port)) {
74
- result.port = port;
75
- }
76
- }
77
- }
78
- else {
79
- result.host = remaining || 'localhost';
80
- }
81
- return result;
82
- }
83
- catch {
84
- return { uri };
85
- }
86
- }
87
- /**
88
- * Build a connection URI from form values
89
- */
90
- export function buildConnectionURI(values) {
91
- let uri = 'mongodo://';
92
- // Add authentication if present
93
- if (values.authType === 'basic' && values.username) {
94
- uri += encodeURIComponent(values.username);
95
- if (values.password) {
96
- uri += ':' + encodeURIComponent(values.password);
97
- }
98
- uri += '@';
99
- }
100
- // Add host and port
101
- uri += values.host || 'localhost';
102
- if (values.port && values.port !== 27017) {
103
- uri += ':' + values.port;
104
- }
105
- // Add database
106
- if (values.database) {
107
- uri += '/' + values.database;
108
- }
109
- // Add query parameters
110
- const params = [];
111
- if (values.authSource && values.authType === 'basic') {
112
- params.push(`authSource=${encodeURIComponent(values.authSource)}`);
113
- }
114
- if (values.tlsEnabled) {
115
- params.push('tls=true');
116
- if (values.tlsAllowInvalidCertificates) {
117
- params.push('tlsAllowInvalidCertificates=true');
118
- }
119
- }
120
- if (values.connectTimeoutMS && values.connectTimeoutMS !== 10000) {
121
- params.push(`connectTimeoutMS=${values.connectTimeoutMS}`);
122
- }
123
- if (values.maxPoolSize && values.maxPoolSize !== 100) {
124
- params.push(`maxPoolSize=${values.maxPoolSize}`);
125
- }
126
- if (params.length > 0) {
127
- uri += '?' + params.join('&');
128
- }
129
- return uri;
130
- }
131
- /**
132
- * Generate a unique connection ID
133
- */
134
- export function generateConnectionId() {
135
- return `conn_${randomUUID()}`;
136
- }
137
- /**
138
- * Convert SavedConnection to ConnectionConfig
139
- */
140
- export function savedToConfig(saved) {
141
- return {
142
- ...saved,
143
- createdAt: new Date(saved.createdAt),
144
- updatedAt: new Date(saved.updatedAt),
145
- lastConnectedAt: saved.lastConnectedAt ? new Date(saved.lastConnectedAt) : undefined,
146
- };
147
- }
148
- /**
149
- * Convert ConnectionConfig to SavedConnection
150
- */
151
- export function configToSaved(config) {
152
- return {
153
- ...config,
154
- createdAt: config.createdAt.toISOString(),
155
- updatedAt: config.updatedAt.toISOString(),
156
- lastConnectedAt: config.lastConnectedAt?.toISOString(),
157
- };
158
- }
159
- //# sourceMappingURL=connection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/studio/types/connection.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- declare const _default: import("vite").UserConfig;
2
- export default _default;
3
- //# sourceMappingURL=vitest.config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vitest.config.d.ts","sourceRoot":"","sources":["../../src/studio/vitest.config.ts"],"names":[],"mappings":";AAIA,wBA4BE"}
@@ -1,33 +0,0 @@
1
- import { defineConfig } from 'vitest/config';
2
- import react from '@vitejs/plugin-react';
3
- import { resolve } from 'path';
4
- export default defineConfig({
5
- plugins: [react()],
6
- test: {
7
- environment: 'jsdom',
8
- globals: true,
9
- include: ['**/__tests__/**/*.test.{ts,tsx}'],
10
- setupFiles: [
11
- resolve(__dirname, './components/browser/__tests__/setup.ts'),
12
- resolve(__dirname, './components/connection/__tests__/setup.ts'),
13
- resolve(__dirname, './components/crud/__tests__/setup.ts'),
14
- ],
15
- // Memory optimization: limit concurrent workers to prevent 21GB+ memory usage
16
- poolOptions: {
17
- threads: {
18
- maxThreads: 4,
19
- minThreads: 1,
20
- },
21
- },
22
- },
23
- resolve: {
24
- alias: {
25
- '@': resolve(__dirname, '.'),
26
- '@components': resolve(__dirname, './components'),
27
- '@hooks': resolve(__dirname, './hooks'),
28
- '@stores': resolve(__dirname, './stores'),
29
- '@lib': resolve(__dirname, './lib'),
30
- },
31
- },
32
- });
33
- //# sourceMappingURL=vitest.config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vitest.config.js","sourceRoot":"","sources":["../../src/studio/vitest.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,sBAAsB,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE9B,eAAe,YAAY,CAAC;IAC1B,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,IAAI,EAAE;QACJ,WAAW,EAAE,OAAO;QACpB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC,iCAAiC,CAAC;QAC5C,UAAU,EAAE;YACV,OAAO,CAAC,SAAS,EAAE,yCAAyC,CAAC;YAC7D,OAAO,CAAC,SAAS,EAAE,4CAA4C,CAAC;YAChE,OAAO,CAAC,SAAS,EAAE,sCAAsC,CAAC;SAC3D;QACD,8EAA8E;QAC9E,WAAW,EAAE;YACX,OAAO,EAAE;gBACP,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;aACd;SACF;KACF;IACD,OAAO,EAAE;QACP,KAAK,EAAE;YACL,GAAG,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;YAC5B,aAAa,EAAE,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC;YACjD,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC;YACvC,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC;YACzC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SACpC;KACF;CACF,CAAC,CAAA"}
@@ -1,51 +0,0 @@
1
- /**
2
- * AggregationTranslator - Translates MongoDB aggregation pipelines to SQL
3
- * Uses CTE-based pipeline execution for complex pipelines
4
- * Supports multiple SQL dialects (SQLite, ClickHouse)
5
- */
6
- import type { PipelineStage, AggregationResult } from './stages/types';
7
- import { FacetTranslator } from './stages/facet-stage';
8
- import { type DialectOptions } from './dialect';
9
- export interface TranslatorOptions extends DialectOptions {
10
- /** Enable pipeline optimization (default: true) */
11
- optimize?: boolean;
12
- }
13
- export declare class AggregationTranslator implements FacetTranslator {
14
- private collection;
15
- private readonly options;
16
- private readonly dialect;
17
- constructor(collection: string, options?: TranslatorOptions);
18
- /**
19
- * Translate a MongoDB aggregation pipeline to SQL
20
- */
21
- translate(pipeline: PipelineStage[]): AggregationResult;
22
- /**
23
- * Translate pipeline for use in facet (implements FacetTranslator)
24
- */
25
- translatePipeline(stages: PipelineStage[], collection: string): {
26
- sql: string;
27
- params: unknown[];
28
- };
29
- /**
30
- * Determine if we need CTE-based execution
31
- */
32
- private needsCtePipeline;
33
- /**
34
- * Simple translation without CTEs
35
- */
36
- private translateSimple;
37
- /**
38
- * CTE-based translation for complex pipelines
39
- */
40
- private translateWithCte;
41
- /**
42
- * Get the stage type from a stage object
43
- */
44
- private getStageType;
45
- /**
46
- * Translate a single pipeline stage
47
- */
48
- private translateStage;
49
- }
50
- export type { AggregationResult, PipelineStage };
51
- //# sourceMappingURL=aggregation-translator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregation-translator.d.ts","sourceRoot":"","sources":["../../src/translator/aggregation-translator.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAA6B,aAAa,EAAE,iBAAiB,EAAqD,MAAM,gBAAgB,CAAA;AAYpJ,OAAO,EAAuB,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAG3E,OAAO,EAAmB,KAAK,cAAc,EAAmB,MAAM,WAAW,CAAA;AAEjF,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD,mDAAmD;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,qBAAa,qBAAsB,YAAW,eAAe;IAI/C,OAAO,CAAC,UAAU;IAH9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAY;gBAEhB,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB;IAWvE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,iBAAiB;IAoBvD;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,EAAE,CAAA;KAAE;IAMlG;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkDvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8IxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,cAAc;CAwDvB;AAGD,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAA"}
@@ -1,324 +0,0 @@
1
- /**
2
- * AggregationTranslator - Translates MongoDB aggregation pipelines to SQL
3
- * Uses CTE-based pipeline execution for complex pipelines
4
- * Supports multiple SQL dialects (SQLite, ClickHouse)
5
- */
6
- import { translateMatchStage } from './stages/match-stage';
7
- import { translateProjectStage } from './stages/project-stage';
8
- import { translateGroupStage } from './stages/group-stage';
9
- import { translateSortStage } from './stages/sort-stage';
10
- import { translateLimitStage } from './stages/limit-stage';
11
- import { translateSkipStage } from './stages/skip-stage';
12
- import { translateCountStage } from './stages/count-stage';
13
- import { translateLookupStage } from './stages/lookup-stage';
14
- import { translateUnwindStage } from './stages/unwind-stage';
15
- import { translateAddFieldsStage } from './stages/add-fields-stage';
16
- import { translateBucketStage } from './stages/bucket-stage';
17
- import { translateFacetStage } from './stages/facet-stage';
18
- import { translateSearchStage } from './stages/search-stage';
19
- import { optimizePipeline } from './stages/optimizer';
20
- import { validateDialect } from './dialect';
21
- export class AggregationTranslator {
22
- collection;
23
- options;
24
- dialect;
25
- constructor(collection, options = {}) {
26
- this.collection = collection;
27
- // Validate dialect before merging options
28
- const dialect = validateDialect(options.dialect);
29
- this.dialect = dialect;
30
- this.options = {
31
- optimize: true,
32
- dialect,
33
- ...options
34
- };
35
- }
36
- /**
37
- * Translate a MongoDB aggregation pipeline to SQL
38
- */
39
- translate(pipeline) {
40
- if (pipeline.length === 0) {
41
- throw new Error('Pipeline cannot be empty');
42
- }
43
- // Optionally optimize the pipeline
44
- const optimizedPipeline = this.options.optimize
45
- ? optimizePipeline(pipeline)
46
- : pipeline;
47
- // Analyze pipeline to determine execution strategy
48
- const needsCte = this.needsCtePipeline(optimizedPipeline);
49
- if (needsCte) {
50
- return this.translateWithCte(optimizedPipeline);
51
- }
52
- return this.translateSimple(optimizedPipeline);
53
- }
54
- /**
55
- * Translate pipeline for use in facet (implements FacetTranslator)
56
- */
57
- translatePipeline(stages, collection) {
58
- const translator = new AggregationTranslator(collection);
59
- const result = translator.translate(stages);
60
- return { sql: result.sql, params: result.params };
61
- }
62
- /**
63
- * Determine if we need CTE-based execution
64
- */
65
- needsCtePipeline(pipeline) {
66
- // Need CTEs for:
67
- // 1. Multiple stages that transform data shape
68
- // 2. $lookup, $unwind, $search stages
69
- // 3. $project followed by other stages
70
- let shapeTransformCount = 0;
71
- for (const stage of pipeline) {
72
- const stageType = this.getStageType(stage);
73
- if (['$lookup', '$unwind', '$facet', '$search'].includes(stageType)) {
74
- return true;
75
- }
76
- if (['$project', '$group', '$addFields'].includes(stageType)) {
77
- shapeTransformCount++;
78
- }
79
- }
80
- return shapeTransformCount > 1;
81
- }
82
- /**
83
- * Simple translation without CTEs
84
- */
85
- translateSimple(pipeline) {
86
- const params = [];
87
- let selectClause = 'data';
88
- let whereClause;
89
- let groupByClause;
90
- let orderByClause;
91
- let limitClause;
92
- let offsetClause;
93
- const context = {
94
- collection: this.collection,
95
- cteIndex: 0,
96
- existingParams: params,
97
- dialect: this.dialect,
98
- dialectOptions: this.options
99
- };
100
- for (const stage of pipeline) {
101
- const result = this.translateStage(stage, context);
102
- params.push(...result.params);
103
- if (result.selectClause)
104
- selectClause = result.selectClause;
105
- if (result.whereClause)
106
- whereClause = result.whereClause;
107
- if (result.groupByClause)
108
- groupByClause = result.groupByClause;
109
- if (result.orderByClause)
110
- orderByClause = result.orderByClause;
111
- if (result.limitClause)
112
- limitClause = result.limitClause;
113
- if (result.offsetClause)
114
- offsetClause = result.offsetClause;
115
- if (result.facets) {
116
- return {
117
- sql: '',
118
- params,
119
- facets: result.facets
120
- };
121
- }
122
- }
123
- // Build final SQL
124
- let sql = `SELECT ${selectClause} FROM ${this.collection}`;
125
- if (whereClause)
126
- sql += ` WHERE ${whereClause}`;
127
- if (groupByClause)
128
- sql += ` GROUP BY ${groupByClause}`;
129
- if (orderByClause)
130
- sql += ` ORDER BY ${orderByClause}`;
131
- if (limitClause)
132
- sql += ` ${limitClause}`;
133
- if (offsetClause)
134
- sql += ` ${offsetClause}`;
135
- return { sql, params };
136
- }
137
- /**
138
- * CTE-based translation for complex pipelines
139
- */
140
- translateWithCte(pipeline) {
141
- const params = [];
142
- const ctes = [];
143
- let cteIndex = 0;
144
- let currentSource = this.collection;
145
- // Accumulate simple clauses for current CTE
146
- let pendingClauses = {
147
- select: 'data',
148
- where: undefined,
149
- groupBy: undefined,
150
- orderBy: undefined,
151
- limit: undefined,
152
- offset: undefined
153
- };
154
- const flushPendingCte = () => {
155
- if (pendingClauses.select !== 'data' || pendingClauses.where || pendingClauses.groupBy) {
156
- const cteName = `stage_${cteIndex}`;
157
- let cteSql = `SELECT ${pendingClauses.select} FROM ${currentSource}`;
158
- if (pendingClauses.where)
159
- cteSql += ` WHERE ${pendingClauses.where}`;
160
- if (pendingClauses.groupBy)
161
- cteSql += ` GROUP BY ${pendingClauses.groupBy}`;
162
- if (pendingClauses.orderBy)
163
- cteSql += ` ORDER BY ${pendingClauses.orderBy}`;
164
- if (pendingClauses.limit)
165
- cteSql += ` ${pendingClauses.limit}`;
166
- if (pendingClauses.offset)
167
- cteSql += ` ${pendingClauses.offset}`;
168
- ctes.push(`${cteName} AS (${cteSql})`);
169
- currentSource = cteName;
170
- cteIndex++;
171
- // Reset pending clauses
172
- pendingClauses = {
173
- select: 'data',
174
- where: undefined,
175
- groupBy: undefined,
176
- orderBy: undefined,
177
- limit: undefined,
178
- offset: undefined
179
- };
180
- }
181
- };
182
- const context = {
183
- collection: this.collection,
184
- cteIndex,
185
- existingParams: params,
186
- dialect: this.dialect,
187
- dialectOptions: this.options,
188
- get previousCte() {
189
- return currentSource;
190
- }
191
- };
192
- for (const stage of pipeline) {
193
- const stageType = this.getStageType(stage);
194
- // Stages that require their own CTE
195
- if (['$lookup', '$unwind'].includes(stageType)) {
196
- flushPendingCte();
197
- context.cteIndex = cteIndex;
198
- const result = this.translateStage(stage, context);
199
- params.push(...result.params);
200
- if (result.cteExpression) {
201
- const cteName = result.cteName || `stage_${cteIndex}`;
202
- ctes.push(`${cteName} AS (${result.cteExpression})`);
203
- currentSource = cteName;
204
- cteIndex++;
205
- }
206
- }
207
- else if (stageType === '$search') {
208
- // $search stage requires FTS join - must be first stage
209
- flushPendingCte();
210
- context.cteIndex = cteIndex;
211
- const result = this.translateStage(stage, context);
212
- params.push(...result.params);
213
- // Build CTE with FTS join
214
- const ftsTable = result.ftsTable || `${this.collection}_fts`;
215
- const selectClause = result.selectClause || 'documents.*';
216
- const cteSql = `SELECT ${selectClause} FROM documents JOIN ${ftsTable} ON documents.id = ${ftsTable}.rowid WHERE ${result.whereClause}`;
217
- const cteName = `stage_${cteIndex}`;
218
- ctes.push(`${cteName} AS (${cteSql})`);
219
- currentSource = cteName;
220
- cteIndex++;
221
- }
222
- else if (stageType === '$facet') {
223
- flushPendingCte();
224
- context.cteIndex = cteIndex;
225
- const result = this.translateStage(stage, context);
226
- params.push(...result.params);
227
- if (result.facets) {
228
- // Build CTE for facets
229
- const sql = ctes.length > 0 ? `WITH ${ctes.join(', ')}\n` : '';
230
- return {
231
- sql,
232
- params,
233
- facets: result.facets
234
- };
235
- }
236
- }
237
- else {
238
- // Simple stages that can accumulate
239
- context.cteIndex = cteIndex;
240
- const result = this.translateStage(stage, context);
241
- params.push(...result.params);
242
- // If this stage transforms shape and we already have transforms, flush first
243
- if (result.transformsShape && (pendingClauses.select !== 'data' || pendingClauses.groupBy)) {
244
- flushPendingCte();
245
- context.cteIndex = cteIndex;
246
- }
247
- if (result.selectClause)
248
- pendingClauses.select = result.selectClause;
249
- if (result.whereClause)
250
- pendingClauses.where = result.whereClause;
251
- if (result.groupByClause)
252
- pendingClauses.groupBy = result.groupByClause;
253
- if (result.orderByClause)
254
- pendingClauses.orderBy = result.orderByClause;
255
- if (result.limitClause)
256
- pendingClauses.limit = result.limitClause;
257
- if (result.offsetClause)
258
- pendingClauses.offset = result.offsetClause;
259
- }
260
- }
261
- // Build final query from pending clauses
262
- let finalSql = `SELECT ${pendingClauses.select} FROM ${currentSource}`;
263
- if (pendingClauses.where)
264
- finalSql += ` WHERE ${pendingClauses.where}`;
265
- if (pendingClauses.groupBy)
266
- finalSql += ` GROUP BY ${pendingClauses.groupBy}`;
267
- if (pendingClauses.orderBy)
268
- finalSql += ` ORDER BY ${pendingClauses.orderBy}`;
269
- if (pendingClauses.limit)
270
- finalSql += ` ${pendingClauses.limit}`;
271
- if (pendingClauses.offset)
272
- finalSql += ` ${pendingClauses.offset}`;
273
- // Combine CTEs with final query
274
- const sql = ctes.length > 0
275
- ? `WITH ${ctes.join(', ')} ${finalSql}`
276
- : finalSql;
277
- return { sql, params };
278
- }
279
- /**
280
- * Get the stage type from a stage object
281
- */
282
- getStageType(stage) {
283
- return Object.keys(stage)[0];
284
- }
285
- /**
286
- * Translate a single pipeline stage
287
- */
288
- translateStage(stage, context) {
289
- const stageType = this.getStageType(stage);
290
- const stageValue = stage[stageType];
291
- switch (stageType) {
292
- case '$match':
293
- return translateMatchStage(stageValue, context);
294
- case '$project':
295
- return translateProjectStage(stageValue, context);
296
- case '$group':
297
- return translateGroupStage(stageValue, context);
298
- case '$sort':
299
- return translateSortStage(stageValue, context);
300
- case '$limit':
301
- return translateLimitStage(stageValue, context);
302
- case '$skip':
303
- return translateSkipStage(stageValue, context);
304
- case '$count':
305
- return translateCountStage(stageValue, context);
306
- case '$lookup':
307
- return translateLookupStage(stageValue, context);
308
- case '$unwind':
309
- return translateUnwindStage(stageValue, context);
310
- case '$addFields':
311
- case '$set': // $set is an alias for $addFields
312
- return translateAddFieldsStage(stageValue, context);
313
- case '$bucket':
314
- return translateBucketStage(stageValue, context);
315
- case '$facet':
316
- return translateFacetStage(stageValue, context, this);
317
- case '$search':
318
- return translateSearchStage(stageValue, context);
319
- default:
320
- throw new Error(`Unknown aggregation stage: ${stageType}`);
321
- }
322
- }
323
- }
324
- //# sourceMappingURL=aggregation-translator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregation-translator.js","sourceRoot":"","sources":["../../src/translator/aggregation-translator.ts"],"names":[],"mappings":"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"}