mongo.do 0.1.0

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 (707) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +454 -0
  3. package/dist/agentfs/adapters/anthropic.d.ts +176 -0
  4. package/dist/agentfs/adapters/anthropic.d.ts.map +1 -0
  5. package/dist/agentfs/adapters/anthropic.js +629 -0
  6. package/dist/agentfs/adapters/anthropic.js.map +1 -0
  7. package/dist/agentfs/adapters/index.d.ts +21 -0
  8. package/dist/agentfs/adapters/index.d.ts.map +1 -0
  9. package/dist/agentfs/adapters/index.js +23 -0
  10. package/dist/agentfs/adapters/index.js.map +1 -0
  11. package/dist/agentfs/adapters/vercel.d.ts +260 -0
  12. package/dist/agentfs/adapters/vercel.d.ts.map +1 -0
  13. package/dist/agentfs/adapters/vercel.js +288 -0
  14. package/dist/agentfs/adapters/vercel.js.map +1 -0
  15. package/dist/agentfs/glob.d.ts +116 -0
  16. package/dist/agentfs/glob.d.ts.map +1 -0
  17. package/dist/agentfs/glob.js +270 -0
  18. package/dist/agentfs/glob.js.map +1 -0
  19. package/dist/agentfs/grep.d.ts +83 -0
  20. package/dist/agentfs/grep.d.ts.map +1 -0
  21. package/dist/agentfs/grep.js +193 -0
  22. package/dist/agentfs/grep.js.map +1 -0
  23. package/dist/agentfs/index.d.ts +22 -0
  24. package/dist/agentfs/index.d.ts.map +1 -0
  25. package/dist/agentfs/index.js +18 -0
  26. package/dist/agentfs/index.js.map +1 -0
  27. package/dist/agentfs/kv-store.d.ts +128 -0
  28. package/dist/agentfs/kv-store.d.ts.map +1 -0
  29. package/dist/agentfs/kv-store.js +227 -0
  30. package/dist/agentfs/kv-store.js.map +1 -0
  31. package/dist/agentfs/mondo-agent.d.ts +255 -0
  32. package/dist/agentfs/mondo-agent.d.ts.map +1 -0
  33. package/dist/agentfs/mondo-agent.js +879 -0
  34. package/dist/agentfs/mondo-agent.js.map +1 -0
  35. package/dist/agentfs/toolcalls.d.ts +130 -0
  36. package/dist/agentfs/toolcalls.d.ts.map +1 -0
  37. package/dist/agentfs/toolcalls.js +178 -0
  38. package/dist/agentfs/toolcalls.js.map +1 -0
  39. package/dist/agentfs/types.d.ts +171 -0
  40. package/dist/agentfs/types.d.ts.map +1 -0
  41. package/dist/agentfs/types.js +7 -0
  42. package/dist/agentfs/types.js.map +1 -0
  43. package/dist/agentfs/vfs.d.ts +249 -0
  44. package/dist/agentfs/vfs.d.ts.map +1 -0
  45. package/dist/agentfs/vfs.js +469 -0
  46. package/dist/agentfs/vfs.js.map +1 -0
  47. package/dist/cli/index.d.ts +15 -0
  48. package/dist/cli/index.d.ts.map +1 -0
  49. package/dist/cli/index.js +219 -0
  50. package/dist/cli/index.js.map +1 -0
  51. package/dist/cli/mcp.d.ts +119 -0
  52. package/dist/cli/mcp.d.ts.map +1 -0
  53. package/dist/cli/mcp.js +418 -0
  54. package/dist/cli/mcp.js.map +1 -0
  55. package/dist/cli/server.d.ts +179 -0
  56. package/dist/cli/server.d.ts.map +1 -0
  57. package/dist/cli/server.js +441 -0
  58. package/dist/cli/server.js.map +1 -0
  59. package/dist/client/Collection.d.ts +199 -0
  60. package/dist/client/Collection.d.ts.map +1 -0
  61. package/dist/client/Collection.js +256 -0
  62. package/dist/client/Collection.js.map +1 -0
  63. package/dist/client/Database.d.ts +68 -0
  64. package/dist/client/Database.d.ts.map +1 -0
  65. package/dist/client/Database.js +105 -0
  66. package/dist/client/Database.js.map +1 -0
  67. package/dist/client/MongoClient.d.ts +165 -0
  68. package/dist/client/MongoClient.d.ts.map +1 -0
  69. package/dist/client/MongoClient.js +307 -0
  70. package/dist/client/MongoClient.js.map +1 -0
  71. package/dist/client/aggregation-cursor.d.ts +210 -0
  72. package/dist/client/aggregation-cursor.d.ts.map +1 -0
  73. package/dist/client/aggregation-cursor.js +509 -0
  74. package/dist/client/aggregation-cursor.js.map +1 -0
  75. package/dist/client/bulk-write.d.ts +216 -0
  76. package/dist/client/bulk-write.d.ts.map +1 -0
  77. package/dist/client/bulk-write.js +63 -0
  78. package/dist/client/bulk-write.js.map +1 -0
  79. package/dist/client/change-stream.d.ts +245 -0
  80. package/dist/client/change-stream.d.ts.map +1 -0
  81. package/dist/client/change-stream.js +429 -0
  82. package/dist/client/change-stream.js.map +1 -0
  83. package/dist/client/cursor.d.ts +85 -0
  84. package/dist/client/cursor.d.ts.map +1 -0
  85. package/dist/client/cursor.js +156 -0
  86. package/dist/client/cursor.js.map +1 -0
  87. package/dist/client/http-cursor.d.ts +233 -0
  88. package/dist/client/http-cursor.d.ts.map +1 -0
  89. package/dist/client/http-cursor.js +496 -0
  90. package/dist/client/http-cursor.js.map +1 -0
  91. package/dist/client/index.d.ts +18 -0
  92. package/dist/client/index.d.ts.map +1 -0
  93. package/dist/client/index.js +24 -0
  94. package/dist/client/index.js.map +1 -0
  95. package/dist/client/mongo-client.d.ts +60 -0
  96. package/dist/client/mongo-client.d.ts.map +1 -0
  97. package/dist/client/mongo-client.js +190 -0
  98. package/dist/client/mongo-client.js.map +1 -0
  99. package/dist/client/mongo-collection.d.ts +359 -0
  100. package/dist/client/mongo-collection.d.ts.map +1 -0
  101. package/dist/client/mongo-collection.js +1641 -0
  102. package/dist/client/mongo-collection.js.map +1 -0
  103. package/dist/client/mongo-cursor.d.ts +257 -0
  104. package/dist/client/mongo-cursor.d.ts.map +1 -0
  105. package/dist/client/mongo-cursor.js +621 -0
  106. package/dist/client/mongo-cursor.js.map +1 -0
  107. package/dist/client/mongo-database.d.ts +88 -0
  108. package/dist/client/mongo-database.d.ts.map +1 -0
  109. package/dist/client/mongo-database.js +139 -0
  110. package/dist/client/mongo-database.js.map +1 -0
  111. package/dist/client/session.d.ts +210 -0
  112. package/dist/client/session.d.ts.map +1 -0
  113. package/dist/client/session.js +326 -0
  114. package/dist/client/session.js.map +1 -0
  115. package/dist/durable-object/index-manager.d.ts +173 -0
  116. package/dist/durable-object/index-manager.d.ts.map +1 -0
  117. package/dist/durable-object/index-manager.js +764 -0
  118. package/dist/durable-object/index-manager.js.map +1 -0
  119. package/dist/durable-object/index.d.ts +12 -0
  120. package/dist/durable-object/index.d.ts.map +1 -0
  121. package/dist/durable-object/index.js +8 -0
  122. package/dist/durable-object/index.js.map +1 -0
  123. package/dist/durable-object/mcp-handler.d.ts +52 -0
  124. package/dist/durable-object/mcp-handler.d.ts.map +1 -0
  125. package/dist/durable-object/mcp-handler.js +186 -0
  126. package/dist/durable-object/mcp-handler.js.map +1 -0
  127. package/dist/durable-object/migrations.d.ts +40 -0
  128. package/dist/durable-object/migrations.d.ts.map +1 -0
  129. package/dist/durable-object/migrations.js +121 -0
  130. package/dist/durable-object/migrations.js.map +1 -0
  131. package/dist/durable-object/mondo-database.d.ts +148 -0
  132. package/dist/durable-object/mondo-database.d.ts.map +1 -0
  133. package/dist/durable-object/mondo-database.js +621 -0
  134. package/dist/durable-object/mondo-database.js.map +1 -0
  135. package/dist/durable-object/schema.d.ts +192 -0
  136. package/dist/durable-object/schema.d.ts.map +1 -0
  137. package/dist/durable-object/schema.js +186 -0
  138. package/dist/durable-object/schema.js.map +1 -0
  139. package/dist/embedding/document-serializer.d.ts +118 -0
  140. package/dist/embedding/document-serializer.d.ts.map +1 -0
  141. package/dist/embedding/document-serializer.js +339 -0
  142. package/dist/embedding/document-serializer.js.map +1 -0
  143. package/dist/embedding/embedding-manager.d.ts +136 -0
  144. package/dist/embedding/embedding-manager.d.ts.map +1 -0
  145. package/dist/embedding/embedding-manager.js +176 -0
  146. package/dist/embedding/embedding-manager.js.map +1 -0
  147. package/dist/embedding/index.d.ts +9 -0
  148. package/dist/embedding/index.d.ts.map +1 -0
  149. package/dist/embedding/index.js +9 -0
  150. package/dist/embedding/index.js.map +1 -0
  151. package/dist/executor/aggregation-executor.d.ts +93 -0
  152. package/dist/executor/aggregation-executor.d.ts.map +1 -0
  153. package/dist/executor/aggregation-executor.js +275 -0
  154. package/dist/executor/aggregation-executor.js.map +1 -0
  155. package/dist/executor/function-executor.d.ts +39 -0
  156. package/dist/executor/function-executor.d.ts.map +1 -0
  157. package/dist/executor/function-executor.js +168 -0
  158. package/dist/executor/function-executor.js.map +1 -0
  159. package/dist/executor/index.d.ts +4 -0
  160. package/dist/executor/index.d.ts.map +1 -0
  161. package/dist/executor/index.js +4 -0
  162. package/dist/executor/index.js.map +1 -0
  163. package/dist/executor/vector-search-executor.d.ts +71 -0
  164. package/dist/executor/vector-search-executor.d.ts.map +1 -0
  165. package/dist/executor/vector-search-executor.js +113 -0
  166. package/dist/executor/vector-search-executor.js.map +1 -0
  167. package/dist/index.d.ts +21 -0
  168. package/dist/index.d.ts.map +1 -0
  169. package/dist/index.js +28 -0
  170. package/dist/index.js.map +1 -0
  171. package/dist/mcp/adapters/anthropic-adapter.d.ts +256 -0
  172. package/dist/mcp/adapters/anthropic-adapter.d.ts.map +1 -0
  173. package/dist/mcp/adapters/anthropic-adapter.js +409 -0
  174. package/dist/mcp/adapters/anthropic-adapter.js.map +1 -0
  175. package/dist/mcp/adapters/base-adapter.d.ts +164 -0
  176. package/dist/mcp/adapters/base-adapter.d.ts.map +1 -0
  177. package/dist/mcp/adapters/base-adapter.js +277 -0
  178. package/dist/mcp/adapters/base-adapter.js.map +1 -0
  179. package/dist/mcp/adapters/errors.d.ts +173 -0
  180. package/dist/mcp/adapters/errors.d.ts.map +1 -0
  181. package/dist/mcp/adapters/errors.js +305 -0
  182. package/dist/mcp/adapters/errors.js.map +1 -0
  183. package/dist/mcp/adapters/index.d.ts +65 -0
  184. package/dist/mcp/adapters/index.d.ts.map +1 -0
  185. package/dist/mcp/adapters/index.js +92 -0
  186. package/dist/mcp/adapters/index.js.map +1 -0
  187. package/dist/mcp/adapters/streaming.d.ts +200 -0
  188. package/dist/mcp/adapters/streaming.d.ts.map +1 -0
  189. package/dist/mcp/adapters/streaming.js +381 -0
  190. package/dist/mcp/adapters/streaming.js.map +1 -0
  191. package/dist/mcp/adapters/vercel-adapter.d.ts +321 -0
  192. package/dist/mcp/adapters/vercel-adapter.d.ts.map +1 -0
  193. package/dist/mcp/adapters/vercel-adapter.js +487 -0
  194. package/dist/mcp/adapters/vercel-adapter.js.map +1 -0
  195. package/dist/mcp/agent.d.ts +192 -0
  196. package/dist/mcp/agent.d.ts.map +1 -0
  197. package/dist/mcp/agent.js +338 -0
  198. package/dist/mcp/agent.js.map +1 -0
  199. package/dist/mcp/cli.d.ts +71 -0
  200. package/dist/mcp/cli.d.ts.map +1 -0
  201. package/dist/mcp/cli.js +218 -0
  202. package/dist/mcp/cli.js.map +1 -0
  203. package/dist/mcp/index.d.ts +15 -0
  204. package/dist/mcp/index.d.ts.map +1 -0
  205. package/dist/mcp/index.js +20 -0
  206. package/dist/mcp/index.js.map +1 -0
  207. package/dist/mcp/sandbox/database-proxy.d.ts +118 -0
  208. package/dist/mcp/sandbox/database-proxy.d.ts.map +1 -0
  209. package/dist/mcp/sandbox/database-proxy.js +154 -0
  210. package/dist/mcp/sandbox/database-proxy.js.map +1 -0
  211. package/dist/mcp/sandbox/index.d.ts +8 -0
  212. package/dist/mcp/sandbox/index.d.ts.map +1 -0
  213. package/dist/mcp/sandbox/index.js +7 -0
  214. package/dist/mcp/sandbox/index.js.map +1 -0
  215. package/dist/mcp/sandbox/miniflare-evaluator.d.ts +72 -0
  216. package/dist/mcp/sandbox/miniflare-evaluator.d.ts.map +1 -0
  217. package/dist/mcp/sandbox/miniflare-evaluator.js +379 -0
  218. package/dist/mcp/sandbox/miniflare-evaluator.js.map +1 -0
  219. package/dist/mcp/sandbox/template.d.ts +48 -0
  220. package/dist/mcp/sandbox/template.d.ts.map +1 -0
  221. package/dist/mcp/sandbox/template.js +147 -0
  222. package/dist/mcp/sandbox/template.js.map +1 -0
  223. package/dist/mcp/sandbox/worker-evaluator.d.ts +160 -0
  224. package/dist/mcp/sandbox/worker-evaluator.d.ts.map +1 -0
  225. package/dist/mcp/sandbox/worker-evaluator.js +217 -0
  226. package/dist/mcp/sandbox/worker-evaluator.js.map +1 -0
  227. package/dist/mcp/server.d.ts +75 -0
  228. package/dist/mcp/server.d.ts.map +1 -0
  229. package/dist/mcp/server.js +278 -0
  230. package/dist/mcp/server.js.map +1 -0
  231. package/dist/mcp/tool-call-auditor.d.ts +188 -0
  232. package/dist/mcp/tool-call-auditor.d.ts.map +1 -0
  233. package/dist/mcp/tool-call-auditor.js +198 -0
  234. package/dist/mcp/tool-call-auditor.js.map +1 -0
  235. package/dist/mcp/tools/do.d.ts +51 -0
  236. package/dist/mcp/tools/do.d.ts.map +1 -0
  237. package/dist/mcp/tools/do.js +113 -0
  238. package/dist/mcp/tools/do.js.map +1 -0
  239. package/dist/mcp/tools/fetch.d.ts +43 -0
  240. package/dist/mcp/tools/fetch.d.ts.map +1 -0
  241. package/dist/mcp/tools/fetch.js +127 -0
  242. package/dist/mcp/tools/fetch.js.map +1 -0
  243. package/dist/mcp/tools/index.d.ts +9 -0
  244. package/dist/mcp/tools/index.d.ts.map +1 -0
  245. package/dist/mcp/tools/index.js +9 -0
  246. package/dist/mcp/tools/index.js.map +1 -0
  247. package/dist/mcp/tools/search.d.ts +60 -0
  248. package/dist/mcp/tools/search.d.ts.map +1 -0
  249. package/dist/mcp/tools/search.js +278 -0
  250. package/dist/mcp/tools/search.js.map +1 -0
  251. package/dist/mcp/transport/http.d.ts +144 -0
  252. package/dist/mcp/transport/http.d.ts.map +1 -0
  253. package/dist/mcp/transport/http.js +545 -0
  254. package/dist/mcp/transport/http.js.map +1 -0
  255. package/dist/mcp/transport/index.d.ts +10 -0
  256. package/dist/mcp/transport/index.d.ts.map +1 -0
  257. package/dist/mcp/transport/index.js +12 -0
  258. package/dist/mcp/transport/index.js.map +1 -0
  259. package/dist/mcp/transport/stdio.d.ts +132 -0
  260. package/dist/mcp/transport/stdio.d.ts.map +1 -0
  261. package/dist/mcp/transport/stdio.js +466 -0
  262. package/dist/mcp/transport/stdio.js.map +1 -0
  263. package/dist/mcp/types.d.ts +476 -0
  264. package/dist/mcp/types.d.ts.map +1 -0
  265. package/dist/mcp/types.js +178 -0
  266. package/dist/mcp/types.js.map +1 -0
  267. package/dist/olap/cdc/cdc-buffer.d.ts +92 -0
  268. package/dist/olap/cdc/cdc-buffer.d.ts.map +1 -0
  269. package/dist/olap/cdc/cdc-buffer.js +146 -0
  270. package/dist/olap/cdc/cdc-buffer.js.map +1 -0
  271. package/dist/olap/cdc/cdc-emitter.d.ts +118 -0
  272. package/dist/olap/cdc/cdc-emitter.d.ts.map +1 -0
  273. package/dist/olap/cdc/cdc-emitter.js +217 -0
  274. package/dist/olap/cdc/cdc-emitter.js.map +1 -0
  275. package/dist/olap/cdc/cdc-schema.d.ts +119 -0
  276. package/dist/olap/cdc/cdc-schema.d.ts.map +1 -0
  277. package/dist/olap/cdc/cdc-schema.js +253 -0
  278. package/dist/olap/cdc/cdc-schema.js.map +1 -0
  279. package/dist/olap/cdc/index.d.ts +10 -0
  280. package/dist/olap/cdc/index.d.ts.map +1 -0
  281. package/dist/olap/cdc/index.js +10 -0
  282. package/dist/olap/cdc/index.js.map +1 -0
  283. package/dist/olap/clickhouse/iceberg.d.ts +164 -0
  284. package/dist/olap/clickhouse/iceberg.d.ts.map +1 -0
  285. package/dist/olap/clickhouse/iceberg.js +138 -0
  286. package/dist/olap/clickhouse/iceberg.js.map +1 -0
  287. package/dist/olap/clickhouse/index.d.ts +14 -0
  288. package/dist/olap/clickhouse/index.d.ts.map +1 -0
  289. package/dist/olap/clickhouse/index.js +14 -0
  290. package/dist/olap/clickhouse/index.js.map +1 -0
  291. package/dist/olap/clickhouse/mapper.d.ts +170 -0
  292. package/dist/olap/clickhouse/mapper.d.ts.map +1 -0
  293. package/dist/olap/clickhouse/mapper.js +654 -0
  294. package/dist/olap/clickhouse/mapper.js.map +1 -0
  295. package/dist/olap/clickhouse/olap-backend.d.ts +181 -0
  296. package/dist/olap/clickhouse/olap-backend.d.ts.map +1 -0
  297. package/dist/olap/clickhouse/olap-backend.js +1083 -0
  298. package/dist/olap/clickhouse/olap-backend.js.map +1 -0
  299. package/dist/olap/clickhouse/query-executor.d.ts +163 -0
  300. package/dist/olap/clickhouse/query-executor.d.ts.map +1 -0
  301. package/dist/olap/clickhouse/query-executor.js +560 -0
  302. package/dist/olap/clickhouse/query-executor.js.map +1 -0
  303. package/dist/olap/clickhouse/query.d.ts +134 -0
  304. package/dist/olap/clickhouse/query.d.ts.map +1 -0
  305. package/dist/olap/clickhouse/query.js +512 -0
  306. package/dist/olap/clickhouse/query.js.map +1 -0
  307. package/dist/olap/stage/index.d.ts +6 -0
  308. package/dist/olap/stage/index.d.ts.map +1 -0
  309. package/dist/olap/stage/index.js +6 -0
  310. package/dist/olap/stage/index.js.map +1 -0
  311. package/dist/olap/stage/parser.d.ts +68 -0
  312. package/dist/olap/stage/parser.d.ts.map +1 -0
  313. package/dist/olap/stage/parser.js +293 -0
  314. package/dist/olap/stage/parser.js.map +1 -0
  315. package/dist/olap/stage/router.d.ts +94 -0
  316. package/dist/olap/stage/router.d.ts.map +1 -0
  317. package/dist/olap/stage/router.js +390 -0
  318. package/dist/olap/stage/router.js.map +1 -0
  319. package/dist/rpc/endpoint.d.ts +52 -0
  320. package/dist/rpc/endpoint.d.ts.map +1 -0
  321. package/dist/rpc/endpoint.js +734 -0
  322. package/dist/rpc/endpoint.js.map +1 -0
  323. package/dist/rpc/index.d.ts +34 -0
  324. package/dist/rpc/index.d.ts.map +1 -0
  325. package/dist/rpc/index.js +45 -0
  326. package/dist/rpc/index.js.map +1 -0
  327. package/dist/rpc/rpc-client.d.ts +275 -0
  328. package/dist/rpc/rpc-client.d.ts.map +1 -0
  329. package/dist/rpc/rpc-client.js +735 -0
  330. package/dist/rpc/rpc-client.js.map +1 -0
  331. package/dist/rpc/rpc-target.d.ts +220 -0
  332. package/dist/rpc/rpc-target.d.ts.map +1 -0
  333. package/dist/rpc/rpc-target.js +500 -0
  334. package/dist/rpc/rpc-target.js.map +1 -0
  335. package/dist/rpc/worker-entrypoint.d.ts +159 -0
  336. package/dist/rpc/worker-entrypoint.d.ts.map +1 -0
  337. package/dist/rpc/worker-entrypoint.js +212 -0
  338. package/dist/rpc/worker-entrypoint.js.map +1 -0
  339. package/dist/server.d.ts +18 -0
  340. package/dist/server.d.ts.map +1 -0
  341. package/dist/server.js +129 -0
  342. package/dist/server.js.map +1 -0
  343. package/dist/studio/components/browser/CollectionItem.d.ts +26 -0
  344. package/dist/studio/components/browser/CollectionItem.d.ts.map +1 -0
  345. package/dist/studio/components/browser/CollectionItem.js +143 -0
  346. package/dist/studio/components/browser/CollectionItem.js.map +1 -0
  347. package/dist/studio/components/browser/CollectionTree.d.ts +45 -0
  348. package/dist/studio/components/browser/CollectionTree.d.ts.map +1 -0
  349. package/dist/studio/components/browser/CollectionTree.js +207 -0
  350. package/dist/studio/components/browser/CollectionTree.js.map +1 -0
  351. package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts +51 -0
  352. package/dist/studio/components/browser/ConnectedDatabaseBrowser.d.ts.map +1 -0
  353. package/dist/studio/components/browser/ConnectedDatabaseBrowser.js +185 -0
  354. package/dist/studio/components/browser/ConnectedDatabaseBrowser.js.map +1 -0
  355. package/dist/studio/components/browser/DatabaseBrowser.d.ts +46 -0
  356. package/dist/studio/components/browser/DatabaseBrowser.d.ts.map +1 -0
  357. package/dist/studio/components/browser/DatabaseBrowser.js +304 -0
  358. package/dist/studio/components/browser/DatabaseBrowser.js.map +1 -0
  359. package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts +5 -0
  360. package/dist/studio/components/browser/__tests__/CollectionItem.test.d.ts.map +1 -0
  361. package/dist/studio/components/browser/__tests__/CollectionItem.test.js +169 -0
  362. package/dist/studio/components/browser/__tests__/CollectionItem.test.js.map +1 -0
  363. package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts +5 -0
  364. package/dist/studio/components/browser/__tests__/CollectionTree.test.d.ts.map +1 -0
  365. package/dist/studio/components/browser/__tests__/CollectionTree.test.js +203 -0
  366. package/dist/studio/components/browser/__tests__/CollectionTree.test.js.map +1 -0
  367. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts +8 -0
  368. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.d.ts.map +1 -0
  369. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js +522 -0
  370. package/dist/studio/components/browser/__tests__/DatabaseBrowser.e2e.test.js.map +1 -0
  371. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts +5 -0
  372. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.d.ts.map +1 -0
  373. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js +518 -0
  374. package/dist/studio/components/browser/__tests__/DatabaseBrowser.test.js.map +1 -0
  375. package/dist/studio/components/browser/__tests__/setup.d.ts +5 -0
  376. package/dist/studio/components/browser/__tests__/setup.d.ts.map +1 -0
  377. package/dist/studio/components/browser/__tests__/setup.js +22 -0
  378. package/dist/studio/components/browser/__tests__/setup.js.map +1 -0
  379. package/dist/studio/components/browser/index.d.ts +15 -0
  380. package/dist/studio/components/browser/index.d.ts.map +1 -0
  381. package/dist/studio/components/browser/index.js +10 -0
  382. package/dist/studio/components/browser/index.js.map +1 -0
  383. package/dist/studio/components/browser/types.d.ts +33 -0
  384. package/dist/studio/components/browser/types.d.ts.map +1 -0
  385. package/dist/studio/components/browser/types.js +5 -0
  386. package/dist/studio/components/browser/types.js.map +1 -0
  387. package/dist/studio/components/connection/ConnectionForm.d.ts +59 -0
  388. package/dist/studio/components/connection/ConnectionForm.d.ts.map +1 -0
  389. package/dist/studio/components/connection/ConnectionForm.js +274 -0
  390. package/dist/studio/components/connection/ConnectionForm.js.map +1 -0
  391. package/dist/studio/components/connection/ConnectionList.d.ts +59 -0
  392. package/dist/studio/components/connection/ConnectionList.d.ts.map +1 -0
  393. package/dist/studio/components/connection/ConnectionList.js +286 -0
  394. package/dist/studio/components/connection/ConnectionList.js.map +1 -0
  395. package/dist/studio/components/connection/ConnectionPanel.d.ts +132 -0
  396. package/dist/studio/components/connection/ConnectionPanel.d.ts.map +1 -0
  397. package/dist/studio/components/connection/ConnectionPanel.js +293 -0
  398. package/dist/studio/components/connection/ConnectionPanel.js.map +1 -0
  399. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts +8 -0
  400. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.d.ts.map +1 -0
  401. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js +632 -0
  402. package/dist/studio/components/connection/__tests__/ConnectionPanel.test.js.map +1 -0
  403. package/dist/studio/components/connection/__tests__/setup.d.ts +5 -0
  404. package/dist/studio/components/connection/__tests__/setup.d.ts.map +1 -0
  405. package/dist/studio/components/connection/__tests__/setup.js +11 -0
  406. package/dist/studio/components/connection/__tests__/setup.js.map +1 -0
  407. package/dist/studio/components/connection/index.d.ts +10 -0
  408. package/dist/studio/components/connection/index.d.ts.map +1 -0
  409. package/dist/studio/components/connection/index.js +7 -0
  410. package/dist/studio/components/connection/index.js.map +1 -0
  411. package/dist/studio/components/crud/DeleteDocumentDialog.d.ts +91 -0
  412. package/dist/studio/components/crud/DeleteDocumentDialog.d.ts.map +1 -0
  413. package/dist/studio/components/crud/DeleteDocumentDialog.js +273 -0
  414. package/dist/studio/components/crud/DeleteDocumentDialog.js.map +1 -0
  415. package/dist/studio/components/crud/DocumentEditor.d.ts +32 -0
  416. package/dist/studio/components/crud/DocumentEditor.d.ts.map +1 -0
  417. package/dist/studio/components/crud/DocumentEditor.js +546 -0
  418. package/dist/studio/components/crud/DocumentEditor.js.map +1 -0
  419. package/dist/studio/components/crud/InsertDocumentDialog.d.ts +78 -0
  420. package/dist/studio/components/crud/InsertDocumentDialog.d.ts.map +1 -0
  421. package/dist/studio/components/crud/InsertDocumentDialog.js +323 -0
  422. package/dist/studio/components/crud/InsertDocumentDialog.js.map +1 -0
  423. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts +5 -0
  424. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.d.ts.map +1 -0
  425. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js +298 -0
  426. package/dist/studio/components/crud/__tests__/DeleteDocumentDialog.test.js.map +1 -0
  427. package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts +8 -0
  428. package/dist/studio/components/crud/__tests__/DocumentEditor.test.d.ts.map +1 -0
  429. package/dist/studio/components/crud/__tests__/DocumentEditor.test.js +368 -0
  430. package/dist/studio/components/crud/__tests__/DocumentEditor.test.js.map +1 -0
  431. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts +2 -0
  432. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.d.ts.map +1 -0
  433. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js +352 -0
  434. package/dist/studio/components/crud/__tests__/InsertDocumentDialog.test.js.map +1 -0
  435. package/dist/studio/components/crud/__tests__/setup.d.ts +5 -0
  436. package/dist/studio/components/crud/__tests__/setup.d.ts.map +1 -0
  437. package/dist/studio/components/crud/__tests__/setup.js +22 -0
  438. package/dist/studio/components/crud/__tests__/setup.js.map +1 -0
  439. package/dist/studio/components/crud/index.d.ts +12 -0
  440. package/dist/studio/components/crud/index.d.ts.map +1 -0
  441. package/dist/studio/components/crud/index.js +11 -0
  442. package/dist/studio/components/crud/index.js.map +1 -0
  443. package/dist/studio/hooks/useConnection.d.ts +127 -0
  444. package/dist/studio/hooks/useConnection.d.ts.map +1 -0
  445. package/dist/studio/hooks/useConnection.js +414 -0
  446. package/dist/studio/hooks/useConnection.js.map +1 -0
  447. package/dist/studio/hooks/useDatabaseBrowser.d.ts +107 -0
  448. package/dist/studio/hooks/useDatabaseBrowser.d.ts.map +1 -0
  449. package/dist/studio/hooks/useDatabaseBrowser.js +294 -0
  450. package/dist/studio/hooks/useDatabaseBrowser.js.map +1 -0
  451. package/dist/studio/index.d.ts +16 -0
  452. package/dist/studio/index.d.ts.map +1 -0
  453. package/dist/studio/index.js +14 -0
  454. package/dist/studio/index.js.map +1 -0
  455. package/dist/studio/types/connection.d.ts +266 -0
  456. package/dist/studio/types/connection.d.ts.map +1 -0
  457. package/dist/studio/types/connection.js +159 -0
  458. package/dist/studio/types/connection.js.map +1 -0
  459. package/dist/studio/vitest.config.d.ts +3 -0
  460. package/dist/studio/vitest.config.d.ts.map +1 -0
  461. package/dist/studio/vitest.config.js +33 -0
  462. package/dist/studio/vitest.config.js.map +1 -0
  463. package/dist/translator/aggregation-translator.d.ts +51 -0
  464. package/dist/translator/aggregation-translator.d.ts.map +1 -0
  465. package/dist/translator/aggregation-translator.js +324 -0
  466. package/dist/translator/aggregation-translator.js.map +1 -0
  467. package/dist/translator/dialect.d.ts +131 -0
  468. package/dist/translator/dialect.d.ts.map +1 -0
  469. package/dist/translator/dialect.js +276 -0
  470. package/dist/translator/dialect.js.map +1 -0
  471. package/dist/translator/geo-translator.d.ts +91 -0
  472. package/dist/translator/geo-translator.d.ts.map +1 -0
  473. package/dist/translator/geo-translator.js +587 -0
  474. package/dist/translator/geo-translator.js.map +1 -0
  475. package/dist/translator/hybrid-translator.d.ts +70 -0
  476. package/dist/translator/hybrid-translator.d.ts.map +1 -0
  477. package/dist/translator/hybrid-translator.js +193 -0
  478. package/dist/translator/hybrid-translator.js.map +1 -0
  479. package/dist/translator/index.d.ts +13 -0
  480. package/dist/translator/index.d.ts.map +1 -0
  481. package/dist/translator/index.js +11 -0
  482. package/dist/translator/index.js.map +1 -0
  483. package/dist/translator/query-translator.d.ts +211 -0
  484. package/dist/translator/query-translator.d.ts.map +1 -0
  485. package/dist/translator/query-translator.js +1276 -0
  486. package/dist/translator/query-translator.js.map +1 -0
  487. package/dist/translator/search-highlight.d.ts +83 -0
  488. package/dist/translator/search-highlight.d.ts.map +1 -0
  489. package/dist/translator/search-highlight.js +83 -0
  490. package/dist/translator/search-highlight.js.map +1 -0
  491. package/dist/translator/search-translator.d.ts +155 -0
  492. package/dist/translator/search-translator.d.ts.map +1 -0
  493. package/dist/translator/search-translator.js +241 -0
  494. package/dist/translator/search-translator.js.map +1 -0
  495. package/dist/translator/stages/add-fields-stage.d.ts +7 -0
  496. package/dist/translator/stages/add-fields-stage.d.ts.map +1 -0
  497. package/dist/translator/stages/add-fields-stage.js +72 -0
  498. package/dist/translator/stages/add-fields-stage.js.map +1 -0
  499. package/dist/translator/stages/bucket-stage.d.ts +7 -0
  500. package/dist/translator/stages/bucket-stage.d.ts.map +1 -0
  501. package/dist/translator/stages/bucket-stage.js +87 -0
  502. package/dist/translator/stages/bucket-stage.js.map +1 -0
  503. package/dist/translator/stages/count-stage.d.ts +7 -0
  504. package/dist/translator/stages/count-stage.d.ts.map +1 -0
  505. package/dist/translator/stages/count-stage.js +12 -0
  506. package/dist/translator/stages/count-stage.js.map +1 -0
  507. package/dist/translator/stages/expression-translator.d.ts +68 -0
  508. package/dist/translator/stages/expression-translator.d.ts.map +1 -0
  509. package/dist/translator/stages/expression-translator.js +467 -0
  510. package/dist/translator/stages/expression-translator.js.map +1 -0
  511. package/dist/translator/stages/facet-stage.d.ts +13 -0
  512. package/dist/translator/stages/facet-stage.d.ts.map +1 -0
  513. package/dist/translator/stages/facet-stage.js +26 -0
  514. package/dist/translator/stages/facet-stage.js.map +1 -0
  515. package/dist/translator/stages/fusion-stages.d.ts +118 -0
  516. package/dist/translator/stages/fusion-stages.d.ts.map +1 -0
  517. package/dist/translator/stages/fusion-stages.js +201 -0
  518. package/dist/translator/stages/fusion-stages.js.map +1 -0
  519. package/dist/translator/stages/group-stage.d.ts +8 -0
  520. package/dist/translator/stages/group-stage.d.ts.map +1 -0
  521. package/dist/translator/stages/group-stage.js +123 -0
  522. package/dist/translator/stages/group-stage.js.map +1 -0
  523. package/dist/translator/stages/index.d.ts +24 -0
  524. package/dist/translator/stages/index.d.ts.map +1 -0
  525. package/dist/translator/stages/index.js +24 -0
  526. package/dist/translator/stages/index.js.map +1 -0
  527. package/dist/translator/stages/join-optimizer.d.ts +37 -0
  528. package/dist/translator/stages/join-optimizer.d.ts.map +1 -0
  529. package/dist/translator/stages/join-optimizer.js +93 -0
  530. package/dist/translator/stages/join-optimizer.js.map +1 -0
  531. package/dist/translator/stages/limit-stage.d.ts +7 -0
  532. package/dist/translator/stages/limit-stage.d.ts.map +1 -0
  533. package/dist/translator/stages/limit-stage.js +11 -0
  534. package/dist/translator/stages/limit-stage.js.map +1 -0
  535. package/dist/translator/stages/lookup-stage.d.ts +7 -0
  536. package/dist/translator/stages/lookup-stage.d.ts.map +1 -0
  537. package/dist/translator/stages/lookup-stage.js +73 -0
  538. package/dist/translator/stages/lookup-stage.js.map +1 -0
  539. package/dist/translator/stages/match-stage.d.ts +7 -0
  540. package/dist/translator/stages/match-stage.d.ts.map +1 -0
  541. package/dist/translator/stages/match-stage.js +14 -0
  542. package/dist/translator/stages/match-stage.js.map +1 -0
  543. package/dist/translator/stages/optimizer.d.ts +15 -0
  544. package/dist/translator/stages/optimizer.d.ts.map +1 -0
  545. package/dist/translator/stages/optimizer.js +249 -0
  546. package/dist/translator/stages/optimizer.js.map +1 -0
  547. package/dist/translator/stages/parallel-facet.d.ts +47 -0
  548. package/dist/translator/stages/parallel-facet.d.ts.map +1 -0
  549. package/dist/translator/stages/parallel-facet.js +57 -0
  550. package/dist/translator/stages/parallel-facet.js.map +1 -0
  551. package/dist/translator/stages/project-stage.d.ts +8 -0
  552. package/dist/translator/stages/project-stage.d.ts.map +1 -0
  553. package/dist/translator/stages/project-stage.js +145 -0
  554. package/dist/translator/stages/project-stage.js.map +1 -0
  555. package/dist/translator/stages/search-stage.d.ts +60 -0
  556. package/dist/translator/stages/search-stage.d.ts.map +1 -0
  557. package/dist/translator/stages/search-stage.js +89 -0
  558. package/dist/translator/stages/search-stage.js.map +1 -0
  559. package/dist/translator/stages/skip-stage.d.ts +7 -0
  560. package/dist/translator/stages/skip-stage.d.ts.map +1 -0
  561. package/dist/translator/stages/skip-stage.js +11 -0
  562. package/dist/translator/stages/skip-stage.js.map +1 -0
  563. package/dist/translator/stages/sort-stage.d.ts +7 -0
  564. package/dist/translator/stages/sort-stage.d.ts.map +1 -0
  565. package/dist/translator/stages/sort-stage.js +21 -0
  566. package/dist/translator/stages/sort-stage.js.map +1 -0
  567. package/dist/translator/stages/types.d.ts +136 -0
  568. package/dist/translator/stages/types.d.ts.map +1 -0
  569. package/dist/translator/stages/types.js +5 -0
  570. package/dist/translator/stages/types.js.map +1 -0
  571. package/dist/translator/stages/unwind-stage.d.ts +7 -0
  572. package/dist/translator/stages/unwind-stage.d.ts.map +1 -0
  573. package/dist/translator/stages/unwind-stage.js +61 -0
  574. package/dist/translator/stages/unwind-stage.js.map +1 -0
  575. package/dist/translator/stages/vector-search-stage.d.ts +53 -0
  576. package/dist/translator/stages/vector-search-stage.d.ts.map +1 -0
  577. package/dist/translator/stages/vector-search-stage.js +62 -0
  578. package/dist/translator/stages/vector-search-stage.js.map +1 -0
  579. package/dist/translator/update-translator.d.ts +148 -0
  580. package/dist/translator/update-translator.d.ts.map +1 -0
  581. package/dist/translator/update-translator.js +819 -0
  582. package/dist/translator/update-translator.js.map +1 -0
  583. package/dist/translator/vector-translator.d.ts +89 -0
  584. package/dist/translator/vector-translator.d.ts.map +1 -0
  585. package/dist/translator/vector-translator.js +106 -0
  586. package/dist/translator/vector-translator.js.map +1 -0
  587. package/dist/types/env.d.ts +31 -0
  588. package/dist/types/env.d.ts.map +1 -0
  589. package/dist/types/env.js +5 -0
  590. package/dist/types/env.js.map +1 -0
  591. package/dist/types/function.d.ts +65 -0
  592. package/dist/types/function.d.ts.map +1 -0
  593. package/dist/types/function.js +5 -0
  594. package/dist/types/function.js.map +1 -0
  595. package/dist/types/index.d.ts +137 -0
  596. package/dist/types/index.d.ts.map +1 -0
  597. package/dist/types/index.js +13 -0
  598. package/dist/types/index.js.map +1 -0
  599. package/dist/types/mongodb.d.ts +258 -0
  600. package/dist/types/mongodb.d.ts.map +1 -0
  601. package/dist/types/mongodb.js +5 -0
  602. package/dist/types/mongodb.js.map +1 -0
  603. package/dist/types/objectid.d.ts +130 -0
  604. package/dist/types/objectid.d.ts.map +1 -0
  605. package/dist/types/objectid.js +314 -0
  606. package/dist/types/objectid.js.map +1 -0
  607. package/dist/types/rpc.d.ts +313 -0
  608. package/dist/types/rpc.d.ts.map +1 -0
  609. package/dist/types/rpc.js +136 -0
  610. package/dist/types/rpc.js.map +1 -0
  611. package/dist/types/vectorize.d.ts +136 -0
  612. package/dist/types/vectorize.d.ts.map +1 -0
  613. package/dist/types/vectorize.js +8 -0
  614. package/dist/types/vectorize.js.map +1 -0
  615. package/dist/utils/sql-safety.d.ts +64 -0
  616. package/dist/utils/sql-safety.d.ts.map +1 -0
  617. package/dist/utils/sql-safety.js +112 -0
  618. package/dist/utils/sql-safety.js.map +1 -0
  619. package/dist/validation/document-validator.d.ts +195 -0
  620. package/dist/validation/document-validator.d.ts.map +1 -0
  621. package/dist/validation/document-validator.js +529 -0
  622. package/dist/validation/document-validator.js.map +1 -0
  623. package/dist/vectorize/document-serializer.d.ts +119 -0
  624. package/dist/vectorize/document-serializer.d.ts.map +1 -0
  625. package/dist/vectorize/document-serializer.js +320 -0
  626. package/dist/vectorize/document-serializer.js.map +1 -0
  627. package/dist/wire/auth/index.d.ts +5 -0
  628. package/dist/wire/auth/index.d.ts.map +1 -0
  629. package/dist/wire/auth/index.js +5 -0
  630. package/dist/wire/auth/index.js.map +1 -0
  631. package/dist/wire/auth/scram.d.ts +160 -0
  632. package/dist/wire/auth/scram.d.ts.map +1 -0
  633. package/dist/wire/auth/scram.js +425 -0
  634. package/dist/wire/auth/scram.js.map +1 -0
  635. package/dist/wire/backend/interface.d.ts +168 -0
  636. package/dist/wire/backend/interface.d.ts.map +1 -0
  637. package/dist/wire/backend/interface.js +10 -0
  638. package/dist/wire/backend/interface.js.map +1 -0
  639. package/dist/wire/backend/local-sqlite.d.ts +89 -0
  640. package/dist/wire/backend/local-sqlite.d.ts.map +1 -0
  641. package/dist/wire/backend/local-sqlite.js +1002 -0
  642. package/dist/wire/backend/local-sqlite.js.map +1 -0
  643. package/dist/wire/backend/query-router.d.ts +197 -0
  644. package/dist/wire/backend/query-router.d.ts.map +1 -0
  645. package/dist/wire/backend/query-router.js +590 -0
  646. package/dist/wire/backend/query-router.js.map +1 -0
  647. package/dist/wire/backend/validation.d.ts +26 -0
  648. package/dist/wire/backend/validation.d.ts.map +1 -0
  649. package/dist/wire/backend/validation.js +79 -0
  650. package/dist/wire/backend/validation.js.map +1 -0
  651. package/dist/wire/backend/workers-proxy.d.ts +95 -0
  652. package/dist/wire/backend/workers-proxy.d.ts.map +1 -0
  653. package/dist/wire/backend/workers-proxy.js +429 -0
  654. package/dist/wire/backend/workers-proxy.js.map +1 -0
  655. package/dist/wire/commands/admin.d.ts +49 -0
  656. package/dist/wire/commands/admin.d.ts.map +1 -0
  657. package/dist/wire/commands/admin.js +272 -0
  658. package/dist/wire/commands/admin.js.map +1 -0
  659. package/dist/wire/commands/aggregate.d.ts +15 -0
  660. package/dist/wire/commands/aggregate.d.ts.map +1 -0
  661. package/dist/wire/commands/aggregate.js +98 -0
  662. package/dist/wire/commands/aggregate.js.map +1 -0
  663. package/dist/wire/commands/auth.d.ts +58 -0
  664. package/dist/wire/commands/auth.d.ts.map +1 -0
  665. package/dist/wire/commands/auth.js +158 -0
  666. package/dist/wire/commands/auth.js.map +1 -0
  667. package/dist/wire/commands/crud.d.ts +49 -0
  668. package/dist/wire/commands/crud.d.ts.map +1 -0
  669. package/dist/wire/commands/crud.js +336 -0
  670. package/dist/wire/commands/crud.js.map +1 -0
  671. package/dist/wire/commands/hello.d.ts +35 -0
  672. package/dist/wire/commands/hello.d.ts.map +1 -0
  673. package/dist/wire/commands/hello.js +204 -0
  674. package/dist/wire/commands/hello.js.map +1 -0
  675. package/dist/wire/commands/index.d.ts +24 -0
  676. package/dist/wire/commands/index.d.ts.map +1 -0
  677. package/dist/wire/commands/index.js +145 -0
  678. package/dist/wire/commands/index.js.map +1 -0
  679. package/dist/wire/commands/router.d.ts +46 -0
  680. package/dist/wire/commands/router.d.ts.map +1 -0
  681. package/dist/wire/commands/router.js +151 -0
  682. package/dist/wire/commands/router.js.map +1 -0
  683. package/dist/wire/commands/types.d.ts +51 -0
  684. package/dist/wire/commands/types.d.ts.map +1 -0
  685. package/dist/wire/commands/types.js +15 -0
  686. package/dist/wire/commands/types.js.map +1 -0
  687. package/dist/wire/index.d.ts +15 -0
  688. package/dist/wire/index.d.ts.map +1 -0
  689. package/dist/wire/index.js +19 -0
  690. package/dist/wire/index.js.map +1 -0
  691. package/dist/wire/message.d.ts +49 -0
  692. package/dist/wire/message.d.ts.map +1 -0
  693. package/dist/wire/message.js +299 -0
  694. package/dist/wire/message.js.map +1 -0
  695. package/dist/wire/server.d.ts +145 -0
  696. package/dist/wire/server.d.ts.map +1 -0
  697. package/dist/wire/server.js +284 -0
  698. package/dist/wire/server.js.map +1 -0
  699. package/dist/wire/types.d.ts +140 -0
  700. package/dist/wire/types.d.ts.map +1 -0
  701. package/dist/wire/types.js +64 -0
  702. package/dist/wire/types.js.map +1 -0
  703. package/dist/worker.d.ts +17 -0
  704. package/dist/worker.d.ts.map +1 -0
  705. package/dist/worker.js +22 -0
  706. package/dist/worker.js.map +1 -0
  707. package/package.json +82 -0
@@ -0,0 +1,487 @@
1
+ /**
2
+ * Vercel AI SDK Adapter for MCP
3
+ *
4
+ * Adapts MCP server tools to Vercel AI SDK's tool format.
5
+ * Compatible with the Vercel AI SDK's `tool` and `generateText` APIs.
6
+ *
7
+ * Features:
8
+ * - Converts MCP tool definitions to Vercel AI SDK format
9
+ * - Supports both `tool()` and `CoreTool` interfaces
10
+ * - Handles streaming via Vercel's streaming responses
11
+ * - Integrates with `ai` package for Next.js compatibility
12
+ *
13
+ * @see https://sdk.vercel.ai/docs/ai-sdk-core/tools-and-tool-calling
14
+ */
15
+ import { BaseAdapter } from './base-adapter';
16
+ import { McpError } from './errors';
17
+ import { streamTextContent, } from './streaming';
18
+ import { z } from 'zod';
19
+ // =============================================================================
20
+ // Constants
21
+ // =============================================================================
22
+ const DEFAULT_STREAMING_THRESHOLD = 50 * 1024; // 50KB
23
+ // =============================================================================
24
+ // Vercel Adapter Class
25
+ // =============================================================================
26
+ /**
27
+ * Vercel AI SDK Adapter
28
+ *
29
+ * Converts MCP tools to Vercel AI SDK's CoreTool format and handles
30
+ * tool execution with streaming support.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * import { generateText, tool } from 'ai'
35
+ *
36
+ * const mcpServer = createMcpServer({ dbAccess })
37
+ * const adapter = new VercelAdapter({ server: mcpServer })
38
+ *
39
+ * await adapter.initialize()
40
+ *
41
+ * // Get tools for Vercel AI SDK
42
+ * const tools = await adapter.getTools()
43
+ *
44
+ * // Use with generateText
45
+ * const result = await generateText({
46
+ * model: openai('gpt-4'),
47
+ * tools,
48
+ * prompt: 'Search for documents about AI',
49
+ * })
50
+ * ```
51
+ */
52
+ export class VercelAdapter extends BaseAdapter {
53
+ streamingThreshold;
54
+ defaultStreaming;
55
+ formatResult;
56
+ toolCache = new Map();
57
+ mcpToolNames = new Map(); // Vercel name -> MCP name
58
+ initialized = false;
59
+ constructor(config) {
60
+ super(config);
61
+ this.streamingThreshold = config.streamingThreshold ?? DEFAULT_STREAMING_THRESHOLD;
62
+ this.defaultStreaming = config.defaultStreaming ?? true;
63
+ this.formatResult = config.formatResult ?? this.defaultResultFormatter.bind(this);
64
+ }
65
+ /**
66
+ * Adapter name for logging
67
+ */
68
+ get adapterName() {
69
+ return 'vercel';
70
+ }
71
+ // ===========================================================================
72
+ // Lifecycle
73
+ // ===========================================================================
74
+ /**
75
+ * Initialize the adapter
76
+ *
77
+ * Fetches all available tools from the MCP server and converts
78
+ * them to Vercel AI SDK format.
79
+ */
80
+ async initialize() {
81
+ if (this.initialized) {
82
+ return;
83
+ }
84
+ this.log('info', 'Initializing Vercel AI SDK adapter');
85
+ try {
86
+ const mcpTools = await this.server.listTools();
87
+ for (const tool of mcpTools) {
88
+ const vercelTool = this.convertTool(tool);
89
+ this.toolCache.set(tool.name, vercelTool);
90
+ this.mcpToolNames.set(tool.name, tool.name);
91
+ this.log('debug', `Registered tool: ${tool.name}`);
92
+ }
93
+ this.initialized = true;
94
+ this.log('info', `Vercel adapter initialized with ${this.toolCache.size} tools`);
95
+ }
96
+ catch (error) {
97
+ this.log('error', 'Failed to initialize Vercel adapter', { error });
98
+ throw McpError.fromError(error instanceof Error ? error : new Error(String(error)));
99
+ }
100
+ }
101
+ /**
102
+ * Cleanup adapter resources
103
+ */
104
+ async cleanup() {
105
+ this.toolCache.clear();
106
+ this.mcpToolNames.clear();
107
+ this.initialized = false;
108
+ this.log('info', 'Vercel adapter cleaned up');
109
+ }
110
+ // ===========================================================================
111
+ // Tool Conversion
112
+ // ===========================================================================
113
+ /**
114
+ * Convert MCP tool definition to Vercel CoreTool format
115
+ */
116
+ convertTool(mcpTool) {
117
+ const parameters = this.convertToZodSchema(mcpTool.inputSchema);
118
+ const toolName = mcpTool.name;
119
+ return {
120
+ description: mcpTool.description,
121
+ parameters,
122
+ execute: async (params) => {
123
+ const response = await this.callTool(toolName, params);
124
+ return this.formatResult(response);
125
+ },
126
+ };
127
+ }
128
+ /**
129
+ * Convert JSON Schema to Zod schema
130
+ *
131
+ * Creates a Zod schema that validates the same structure as the
132
+ * original JSON Schema from the MCP tool definition.
133
+ */
134
+ convertToZodSchema(schema) {
135
+ const shape = {};
136
+ if (schema.properties) {
137
+ for (const [key, prop] of Object.entries(schema.properties)) {
138
+ shape[key] = this.convertPropertyToZod(prop, schema.required?.includes(key) ?? false);
139
+ }
140
+ }
141
+ return z.object(shape);
142
+ }
143
+ /**
144
+ * Convert a single JSON Schema property to Zod
145
+ */
146
+ convertPropertyToZod(prop, required) {
147
+ let zodType;
148
+ switch (prop.type) {
149
+ case 'string':
150
+ zodType = z.string();
151
+ if (prop.description) {
152
+ zodType = zodType.describe(prop.description);
153
+ }
154
+ if ('enum' in prop && prop.enum) {
155
+ zodType = z.enum(prop.enum);
156
+ }
157
+ break;
158
+ case 'number':
159
+ case 'integer':
160
+ zodType = z.number();
161
+ if (prop.description) {
162
+ zodType = zodType.describe(prop.description);
163
+ }
164
+ break;
165
+ case 'boolean':
166
+ zodType = z.boolean();
167
+ if (prop.description) {
168
+ zodType = zodType.describe(prop.description);
169
+ }
170
+ break;
171
+ case 'array':
172
+ if ('items' in prop && prop.items) {
173
+ zodType = z.array(this.convertPropertyToZod(prop.items, true));
174
+ }
175
+ else {
176
+ zodType = z.array(z.unknown());
177
+ }
178
+ if (prop.description) {
179
+ zodType = zodType.describe(prop.description);
180
+ }
181
+ break;
182
+ case 'object':
183
+ if ('properties' in prop && prop.properties) {
184
+ const nestedShape = {};
185
+ for (const [key, value] of Object.entries(prop.properties)) {
186
+ const isRequired = 'required' in prop && prop.required?.includes(key);
187
+ nestedShape[key] = this.convertPropertyToZod(value, isRequired ?? false);
188
+ }
189
+ zodType = z.object(nestedShape);
190
+ }
191
+ else {
192
+ zodType = z.record(z.string(), z.unknown());
193
+ }
194
+ if (prop.description) {
195
+ zodType = zodType.describe(prop.description);
196
+ }
197
+ break;
198
+ default:
199
+ zodType = z.unknown();
200
+ }
201
+ return required ? zodType : zodType.optional();
202
+ }
203
+ /**
204
+ * Default result formatter
205
+ */
206
+ defaultResultFormatter(response) {
207
+ if (response.isError) {
208
+ return JSON.stringify({ error: this.extractTextContent(response) });
209
+ }
210
+ return this.extractTextContent(response);
211
+ }
212
+ /**
213
+ * Extract text content from MCP response
214
+ */
215
+ extractTextContent(response) {
216
+ return response.content
217
+ .filter((c) => c.type === 'text')
218
+ .map((c) => c.text)
219
+ .join('\n');
220
+ }
221
+ // ===========================================================================
222
+ // Public API
223
+ // ===========================================================================
224
+ /**
225
+ * Get all tools in Vercel AI SDK format
226
+ *
227
+ * Returns a record of tool definitions suitable for use with
228
+ * the Vercel AI SDK's `generateText` or `streamText` functions.
229
+ *
230
+ * @returns Record of tool name to CoreTool
231
+ *
232
+ * @example
233
+ * ```typescript
234
+ * import { generateText } from 'ai'
235
+ *
236
+ * const tools = await adapter.getTools()
237
+ *
238
+ * const result = await generateText({
239
+ * model: openai('gpt-4'),
240
+ * tools,
241
+ * prompt: 'Search for users',
242
+ * })
243
+ * ```
244
+ */
245
+ async getTools() {
246
+ if (!this.initialized) {
247
+ await this.initialize();
248
+ }
249
+ return Object.fromEntries(this.toolCache);
250
+ }
251
+ /**
252
+ * Get a single tool by name
253
+ *
254
+ * @param name - Tool name
255
+ * @returns CoreTool or undefined
256
+ */
257
+ async getTool(name) {
258
+ if (!this.initialized) {
259
+ await this.initialize();
260
+ }
261
+ return this.toolCache.get(name);
262
+ }
263
+ /**
264
+ * Handle a tool call from model response
265
+ *
266
+ * Executes the requested tool and returns a tool result.
267
+ *
268
+ * @param toolCall - Tool call from model
269
+ * @returns Tool result
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * for (const toolCall of result.toolCalls) {
274
+ * const toolResult = await adapter.handleToolCall(toolCall)
275
+ * results.push(toolResult)
276
+ * }
277
+ * ```
278
+ */
279
+ async handleToolCall(toolCall) {
280
+ const startTime = Date.now();
281
+ this.log('debug', `Handling tool call: ${toolCall.toolName}`, {
282
+ id: toolCall.toolCallId,
283
+ });
284
+ try {
285
+ const response = await this.callTool(toolCall.toolName, toolCall.args);
286
+ return {
287
+ toolCallId: toolCall.toolCallId,
288
+ toolName: toolCall.toolName,
289
+ result: this.formatResult(response),
290
+ };
291
+ }
292
+ catch (error) {
293
+ const mcpError = McpError.fromError(error instanceof Error ? error : new Error(String(error)));
294
+ this.log('error', `Tool call failed: ${toolCall.toolName}`, {
295
+ id: toolCall.toolCallId,
296
+ error: mcpError.message,
297
+ duration: Date.now() - startTime,
298
+ });
299
+ return {
300
+ toolCallId: toolCall.toolCallId,
301
+ toolName: toolCall.toolName,
302
+ result: JSON.stringify({
303
+ error: mcpError.message,
304
+ code: mcpError.code,
305
+ }),
306
+ };
307
+ }
308
+ }
309
+ /**
310
+ * Handle multiple tool calls in parallel
311
+ *
312
+ * @param toolCalls - Array of tool calls
313
+ * @param concurrency - Maximum concurrent executions (default: 5)
314
+ * @returns Array of tool results
315
+ */
316
+ async handleToolCalls(toolCalls, concurrency = 5) {
317
+ const results = [];
318
+ const executing = [];
319
+ for (const toolCall of toolCalls) {
320
+ const promise = this.handleToolCall(toolCall).then((result) => {
321
+ results.push(result);
322
+ });
323
+ executing.push(promise);
324
+ if (executing.length >= concurrency) {
325
+ await Promise.race(executing);
326
+ }
327
+ }
328
+ await Promise.all(executing);
329
+ return results;
330
+ }
331
+ /**
332
+ * Create a streaming tool executor
333
+ *
334
+ * Returns a function that executes a tool and streams the response.
335
+ * Compatible with Vercel AI SDK's streaming patterns.
336
+ *
337
+ * @param toolName - Name of the tool
338
+ * @returns Streaming executor function
339
+ *
340
+ * @example
341
+ * ```typescript
342
+ * const searchStream = adapter.createStreamingExecutor('search')
343
+ *
344
+ * const stream = searchStream({ query: 'AI documents' })
345
+ *
346
+ * for await (const chunk of stream) {
347
+ * process.stdout.write(chunk)
348
+ * }
349
+ * ```
350
+ */
351
+ createStreamingExecutor(toolName) {
352
+ return (args, options) => {
353
+ return this.executeWithStreaming(toolName, args, options);
354
+ };
355
+ }
356
+ /**
357
+ * Execute a tool with streaming response
358
+ *
359
+ * @param toolName - Tool name
360
+ * @param args - Tool arguments
361
+ * @param options - Stream options
362
+ * @yields String chunks of the response
363
+ */
364
+ async *executeWithStreaming(toolName, args, options) {
365
+ const response = await this.callTool(toolName, args);
366
+ const content = this.extractTextContent(response);
367
+ const shouldStream = options?.stream ?? this.defaultStreaming;
368
+ const chunkSize = options?.chunkSize ?? 1024;
369
+ if (!shouldStream || content.length <= this.streamingThreshold) {
370
+ yield content;
371
+ return;
372
+ }
373
+ for await (const chunk of streamTextContent(content, {
374
+ chunkSize,
375
+ ...(options?.signal && { signal: options.signal }),
376
+ })) {
377
+ yield chunk.content;
378
+ }
379
+ }
380
+ /**
381
+ * Create a ReadableStream for a tool execution
382
+ *
383
+ * Returns a Web Streams API ReadableStream that can be used
384
+ * with Response objects for HTTP streaming.
385
+ *
386
+ * @param toolName - Tool name
387
+ * @param args - Tool arguments
388
+ * @returns ReadableStream of response chunks
389
+ *
390
+ * @example
391
+ * ```typescript
392
+ * // In a Next.js API route
393
+ * export async function POST(req: Request) {
394
+ * const { toolName, args } = await req.json()
395
+ * const stream = adapter.createReadableStream(toolName, args)
396
+ * return new Response(stream)
397
+ * }
398
+ * ```
399
+ */
400
+ createReadableStream(toolName, args) {
401
+ const encoder = new TextEncoder();
402
+ const adapter = this;
403
+ return new ReadableStream({
404
+ async start(controller) {
405
+ try {
406
+ for await (const chunk of adapter.executeWithStreaming(toolName, args)) {
407
+ controller.enqueue(encoder.encode(chunk));
408
+ }
409
+ controller.close();
410
+ }
411
+ catch (error) {
412
+ controller.error(error);
413
+ }
414
+ },
415
+ });
416
+ }
417
+ /**
418
+ * Create a tool wrapper compatible with Vercel AI SDK's `tool()` helper
419
+ *
420
+ * This creates a tool definition that can be used directly with the
421
+ * `tool()` helper from the `ai` package.
422
+ *
423
+ * @param mcpToolName - MCP tool name
424
+ * @returns Tool configuration object
425
+ *
426
+ * @example
427
+ * ```typescript
428
+ * import { tool } from 'ai'
429
+ *
430
+ * const searchTool = adapter.createToolWrapper('search')
431
+ *
432
+ * // Use with generateText
433
+ * const result = await generateText({
434
+ * model: openai('gpt-4'),
435
+ * tools: { search: searchTool },
436
+ * prompt: 'Find documents',
437
+ * })
438
+ * ```
439
+ */
440
+ createToolWrapper(mcpToolName) {
441
+ return this.toolCache.get(mcpToolName);
442
+ }
443
+ }
444
+ // =============================================================================
445
+ // Factory Function
446
+ // =============================================================================
447
+ /**
448
+ * Create a Vercel AI SDK adapter for an MCP server
449
+ *
450
+ * @param config - Adapter configuration
451
+ * @returns Configured VercelAdapter instance
452
+ *
453
+ * @example
454
+ * ```typescript
455
+ * const adapter = createVercelAdapter({
456
+ * server: mcpServer,
457
+ * retry: { maxRetries: 3 },
458
+ * streamingThreshold: 10000,
459
+ * })
460
+ *
461
+ * await adapter.initialize()
462
+ * const tools = await adapter.getTools()
463
+ * ```
464
+ */
465
+ export function createVercelAdapter(config) {
466
+ return new VercelAdapter(config);
467
+ }
468
+ // =============================================================================
469
+ // Utility Functions
470
+ // =============================================================================
471
+ /**
472
+ * Convert Vercel tool results to continuation messages
473
+ *
474
+ * Formats tool results for inclusion in the next model request.
475
+ *
476
+ * @param results - Array of tool results
477
+ * @returns Formatted tool results for API
478
+ */
479
+ export function formatToolResults(results) {
480
+ return results.map((result) => ({
481
+ type: 'tool-result',
482
+ toolCallId: result.toolCallId,
483
+ toolName: result.toolName,
484
+ result: result.result,
485
+ }));
486
+ }
487
+ //# sourceMappingURL=vercel-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vercel-adapter.js","sourceRoot":"","sources":["../../../src/mcp/adapters/vercel-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * MonDoAgent - Main Entry Point for AI Agents
3
+ *
4
+ * The MonDoAgent orchestrates:
5
+ * - MCP Server for tool handling (search, fetch, do)
6
+ * - AgentFS for file system operations
7
+ * - KV Store for key-value storage
8
+ * - Tool Call Auditing for logging
9
+ * - Code execution via Worker Loader or Miniflare fallback
10
+ */
11
+ import { type CodeLoader, type McpServerConfig } from './server';
12
+ import { type AgentFSDatabase } from '../agentfs/vfs';
13
+ import { type KVStorageBackend } from '../agentfs/kv-store';
14
+ import { type AuditBackend } from '../agentfs/toolcalls';
15
+ import type { DatabaseAccess, McpToolResponse } from './types';
16
+ /**
17
+ * Execution result from tool or code execution
18
+ */
19
+ export interface ExecutionResult<T = unknown> {
20
+ success: boolean;
21
+ value?: T;
22
+ error?: string;
23
+ logs?: string[];
24
+ duration?: number;
25
+ }
26
+ /**
27
+ * Search options for the search method
28
+ */
29
+ export interface SearchOptions {
30
+ collection?: string;
31
+ database?: string;
32
+ limit?: number;
33
+ }
34
+ /**
35
+ * Search result in OpenAI Deep Research format
36
+ */
37
+ export interface SearchResult {
38
+ id: string;
39
+ title: string;
40
+ url: string;
41
+ text: string;
42
+ }
43
+ /**
44
+ * Fetch result with document metadata
45
+ */
46
+ export interface FetchResult {
47
+ id: string;
48
+ title: string;
49
+ url: string;
50
+ text: string;
51
+ metadata: {
52
+ database: string;
53
+ collection: string;
54
+ _id: string;
55
+ };
56
+ }
57
+ /**
58
+ * MCP server interface exposed by the agent
59
+ */
60
+ export interface McpServerLike {
61
+ listTools(): Promise<{
62
+ name: string;
63
+ description: string;
64
+ }[]>;
65
+ callTool(name: string, args: Record<string, unknown>): Promise<McpToolResponse>;
66
+ }
67
+ /**
68
+ * File system interface exposed by the agent
69
+ */
70
+ export interface FileSystemLike {
71
+ readFile(path: string): Promise<string>;
72
+ writeFile(path: string, content: string): Promise<void>;
73
+ deleteFile(path: string): Promise<boolean>;
74
+ exists(path: string): Promise<boolean>;
75
+ stat(path: string): Promise<{
76
+ type: string;
77
+ size: number;
78
+ } | null>;
79
+ readdir(path: string): Promise<string[]>;
80
+ mkdir(path: string): Promise<void>;
81
+ glob(pattern: string): Promise<string[]>;
82
+ }
83
+ /**
84
+ * Key-Value store interface exposed by the agent
85
+ */
86
+ export interface KVStoreLike {
87
+ get<T>(key: string): Promise<T | null>;
88
+ set<T>(key: string, value: T): Promise<void>;
89
+ delete(key: string): Promise<boolean>;
90
+ has(key: string): Promise<boolean>;
91
+ keys(prefix?: string): Promise<string[]>;
92
+ }
93
+ /**
94
+ * Audit log interface exposed by the agent
95
+ */
96
+ export interface AuditLogLike {
97
+ record(tool: string, inputs: unknown, outputs: unknown, durationMs?: number): Promise<string>;
98
+ list(options?: {
99
+ limit?: number;
100
+ offset?: number;
101
+ tool?: string;
102
+ }): Promise<{
103
+ id: string;
104
+ tool: string;
105
+ timestamp: Date;
106
+ }[]>;
107
+ count(): Promise<number>;
108
+ }
109
+ /**
110
+ * Configuration for creating a MonDoAgent
111
+ */
112
+ export interface MonDoAgentConfig {
113
+ /** Unique agent identifier */
114
+ id?: string;
115
+ /** Database access for MCP tools */
116
+ dbAccess: DatabaseAccess;
117
+ /** Optional code loader for 'do' tool */
118
+ codeLoader?: CodeLoader;
119
+ /** Optional custom filesystem database */
120
+ fsDatabase?: AgentFSDatabase;
121
+ /** Optional custom KV storage backend */
122
+ kvBackend?: KVStorageBackend;
123
+ /** Optional custom audit storage backend */
124
+ auditBackend?: AuditBackend;
125
+ }
126
+ /**
127
+ * MonDoAgent - AI Agent interface for mongo.do
128
+ */
129
+ export interface MonDoAgent {
130
+ /** Agent identifier */
131
+ readonly id: string;
132
+ /** Access to MCP server for tool handling */
133
+ readonly mcp: McpServerLike;
134
+ /** Access to virtual filesystem */
135
+ readonly fs: FileSystemLike;
136
+ /** Access to key-value store */
137
+ readonly kv: KVStoreLike;
138
+ /** Access to tool call audit log */
139
+ readonly audit: AuditLogLike;
140
+ /**
141
+ * Execute a tool by name with given arguments
142
+ */
143
+ execute<T = unknown>(toolName: string, args: Record<string, unknown>): Promise<ExecutionResult<T>>;
144
+ /**
145
+ * Execute code in the secure sandbox
146
+ */
147
+ do(code: string, description?: string): Promise<ExecutionResult<unknown>>;
148
+ /**
149
+ * Search for documents
150
+ */
151
+ search(query: string, options?: SearchOptions): Promise<SearchResult[]>;
152
+ /**
153
+ * Fetch a document by ID
154
+ */
155
+ fetch(id: string): Promise<FetchResult | null>;
156
+ /**
157
+ * Dispose agent resources
158
+ */
159
+ dispose(): Promise<void>;
160
+ }
161
+ /**
162
+ * Create a new MonDoAgent instance
163
+ *
164
+ * @param config - Agent configuration
165
+ * @returns MonDoAgent instance
166
+ *
167
+ * @example
168
+ * ```typescript
169
+ * const agent = createMonDoAgent({
170
+ * dbAccess: myDatabaseAccess,
171
+ * codeLoader: myCodeLoader,
172
+ * });
173
+ *
174
+ * // Execute code
175
+ * const result = await agent.do('return await db.collection("users").count()');
176
+ *
177
+ * // Search documents
178
+ * const results = await agent.search('users with admin role');
179
+ *
180
+ * // Use filesystem
181
+ * await agent.fs.writeFile('/data/output.json', JSON.stringify(data));
182
+ *
183
+ * // Use KV store
184
+ * await agent.kv.set('session-state', { step: 1 });
185
+ *
186
+ * // Clean up
187
+ * await agent.dispose();
188
+ * ```
189
+ */
190
+ export declare function createMonDoAgent(config: MonDoAgentConfig): MonDoAgent;
191
+ export type { DatabaseAccess, CodeLoader, McpServerConfig };
192
+ //# sourceMappingURL=agent.d.ts.map