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,409 @@
1
+ /**
2
+ * Anthropic SDK Adapter for MCP
3
+ *
4
+ * Adapts MCP server tools to Anthropic's tool calling format.
5
+ * Supports Claude models with tool use capabilities.
6
+ *
7
+ * Features:
8
+ * - Converts MCP tool definitions to Anthropic format
9
+ * - Handles tool call execution with retry and timeout
10
+ * - Supports streaming responses for large outputs
11
+ * - Provides proper error mapping to Anthropic error types
12
+ *
13
+ * @see https://docs.anthropic.com/claude/docs/tool-use
14
+ */
15
+ import { BaseAdapter } from './base-adapter';
16
+ import { McpError, McpErrorCode, ToolNotFoundError } from './errors';
17
+ import { streamTextContent, streamToWebSocket, } from './streaming';
18
+ // =============================================================================
19
+ // Constants
20
+ // =============================================================================
21
+ const DEFAULT_STREAMING_THRESHOLD = 100 * 1024; // 100KB
22
+ const ANTHROPIC_TOOL_NAME_REGEX = /^[a-zA-Z0-9_]+$/;
23
+ // =============================================================================
24
+ // Anthropic Adapter Class
25
+ // =============================================================================
26
+ /**
27
+ * Anthropic SDK Adapter
28
+ *
29
+ * Converts MCP tools to Anthropic's tool format and handles
30
+ * tool execution with proper error handling and streaming support.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * const mcpServer = createMcpServer({ dbAccess })
35
+ * const adapter = new AnthropicAdapter({
36
+ * server: mcpServer,
37
+ * retry: { maxRetries: 3 },
38
+ * timeout: { requestTimeoutMs: 30000 },
39
+ * })
40
+ *
41
+ * await adapter.initialize()
42
+ *
43
+ * // Get tools for Anthropic API
44
+ * const tools = await adapter.getTools()
45
+ *
46
+ * // Handle tool use from Claude response
47
+ * const result = await adapter.handleToolUse(toolUseBlock)
48
+ * ```
49
+ */
50
+ export class AnthropicAdapter extends BaseAdapter {
51
+ streamingThreshold;
52
+ verboseErrors;
53
+ transformToolName;
54
+ toolCache = new Map();
55
+ initialized = false;
56
+ constructor(config) {
57
+ super(config);
58
+ this.streamingThreshold = config.streamingThreshold ?? DEFAULT_STREAMING_THRESHOLD;
59
+ this.verboseErrors = config.verboseErrors ?? process.env.NODE_ENV === 'development';
60
+ this.transformToolName = config.transformToolName ?? this.defaultToolNameTransform.bind(this);
61
+ }
62
+ /**
63
+ * Adapter name for logging
64
+ */
65
+ get adapterName() {
66
+ return 'anthropic';
67
+ }
68
+ // ===========================================================================
69
+ // Lifecycle
70
+ // ===========================================================================
71
+ /**
72
+ * Initialize the adapter
73
+ *
74
+ * Fetches all available tools from the MCP server and converts
75
+ * them to Anthropic format. Caches the converted tools for reuse.
76
+ */
77
+ async initialize() {
78
+ if (this.initialized) {
79
+ return;
80
+ }
81
+ this.log('info', 'Initializing Anthropic adapter');
82
+ try {
83
+ const mcpTools = await this.server.listTools();
84
+ for (const tool of mcpTools) {
85
+ const anthropicTool = this.convertTool(tool);
86
+ this.toolCache.set(tool.name, anthropicTool);
87
+ this.log('debug', `Registered tool: ${tool.name} -> ${anthropicTool.name}`);
88
+ }
89
+ this.initialized = true;
90
+ this.log('info', `Anthropic adapter initialized with ${this.toolCache.size} tools`);
91
+ }
92
+ catch (error) {
93
+ this.log('error', 'Failed to initialize Anthropic adapter', { error });
94
+ throw McpError.fromError(error instanceof Error ? error : new Error(String(error)));
95
+ }
96
+ }
97
+ /**
98
+ * Cleanup adapter resources
99
+ */
100
+ async cleanup() {
101
+ this.toolCache.clear();
102
+ this.initialized = false;
103
+ this.log('info', 'Anthropic adapter cleaned up');
104
+ }
105
+ // ===========================================================================
106
+ // Tool Conversion
107
+ // ===========================================================================
108
+ /**
109
+ * Default tool name transformation
110
+ *
111
+ * Anthropic requires tool names to match [a-zA-Z0-9_]+
112
+ */
113
+ defaultToolNameTransform(name) {
114
+ // Replace invalid characters with underscores
115
+ let transformed = name.replace(/[^a-zA-Z0-9_]/g, '_');
116
+ // Remove leading/trailing underscores
117
+ transformed = transformed.replace(/^_+|_+$/g, '');
118
+ // Ensure it starts with a letter (prepend 'tool_' if needed)
119
+ if (!/^[a-zA-Z]/.test(transformed)) {
120
+ transformed = 'tool_' + transformed;
121
+ }
122
+ return transformed;
123
+ }
124
+ /**
125
+ * Convert MCP tool definition to Anthropic format
126
+ */
127
+ convertTool(mcpTool) {
128
+ const name = this.transformToolName(mcpTool.name);
129
+ if (!ANTHROPIC_TOOL_NAME_REGEX.test(name)) {
130
+ throw new McpError(McpErrorCode.InvalidParams, `Invalid tool name after transformation: ${name}`);
131
+ }
132
+ return {
133
+ name,
134
+ description: mcpTool.description,
135
+ input_schema: this.convertInputSchema(mcpTool.inputSchema),
136
+ };
137
+ }
138
+ /**
139
+ * Convert MCP JSON Schema to Anthropic input schema format
140
+ */
141
+ convertInputSchema(schema) {
142
+ const properties = {};
143
+ if (schema.properties) {
144
+ for (const [key, value] of Object.entries(schema.properties)) {
145
+ properties[key] = this.convertSchemaProperty(value);
146
+ }
147
+ }
148
+ return {
149
+ type: 'object',
150
+ properties,
151
+ ...(schema.required && { required: schema.required }),
152
+ };
153
+ }
154
+ /**
155
+ * Convert a single schema property
156
+ */
157
+ convertSchemaProperty(prop) {
158
+ const param = {
159
+ type: prop.type,
160
+ ...(prop.description && { description: prop.description }),
161
+ };
162
+ if ('enum' in prop && prop.enum) {
163
+ param.enum = prop.enum;
164
+ }
165
+ if ('items' in prop && prop.items) {
166
+ param.items = this.convertSchemaProperty(prop.items);
167
+ }
168
+ if ('properties' in prop && prop.properties) {
169
+ param.properties = {};
170
+ for (const [key, value] of Object.entries(prop.properties)) {
171
+ param.properties[key] = this.convertSchemaProperty(value);
172
+ }
173
+ if ('required' in prop && prop.required) {
174
+ param.required = prop.required;
175
+ }
176
+ }
177
+ return param;
178
+ }
179
+ // ===========================================================================
180
+ // Public API
181
+ // ===========================================================================
182
+ /**
183
+ * Get all tools in Anthropic format
184
+ *
185
+ * Returns an array of tool definitions suitable for use with
186
+ * the Anthropic API's `tools` parameter.
187
+ *
188
+ * @returns Array of Anthropic tool definitions
189
+ *
190
+ * @example
191
+ * ```typescript
192
+ * const tools = await adapter.getTools()
193
+ *
194
+ * const response = await anthropic.messages.create({
195
+ * model: 'claude-3-opus-20240229',
196
+ * tools,
197
+ * messages: [{ role: 'user', content: 'Search for documents' }],
198
+ * })
199
+ * ```
200
+ */
201
+ async getTools() {
202
+ if (!this.initialized) {
203
+ await this.initialize();
204
+ }
205
+ return Array.from(this.toolCache.values());
206
+ }
207
+ /**
208
+ * Handle a tool use block from Claude's response
209
+ *
210
+ * Executes the requested tool and returns a tool result block
211
+ * suitable for inclusion in the next user message.
212
+ *
213
+ * @param toolUse - Tool use block from assistant message
214
+ * @returns Tool result block for user message
215
+ *
216
+ * @example
217
+ * ```typescript
218
+ * // In message handling loop:
219
+ * if (block.type === 'tool_use') {
220
+ * const result = await adapter.handleToolUse(block)
221
+ * userMessage.content.push(result)
222
+ * }
223
+ * ```
224
+ */
225
+ async handleToolUse(toolUse) {
226
+ const startTime = Date.now();
227
+ this.log('debug', `Handling tool use: ${toolUse.name}`, {
228
+ id: toolUse.id,
229
+ hasInput: Object.keys(toolUse.input).length > 0,
230
+ });
231
+ try {
232
+ // Find the original MCP tool name
233
+ const mcpToolName = this.findMcpToolName(toolUse.name);
234
+ if (!mcpToolName) {
235
+ throw new ToolNotFoundError(toolUse.name);
236
+ }
237
+ // Execute the tool
238
+ const response = await this.callTool(mcpToolName, toolUse.input);
239
+ // Convert to Anthropic format
240
+ return this.convertToolResponse(toolUse.id, response);
241
+ }
242
+ catch (error) {
243
+ const mcpError = McpError.fromError(error instanceof Error ? error : new Error(String(error)));
244
+ this.log('error', `Tool use failed: ${toolUse.name}`, {
245
+ id: toolUse.id,
246
+ error: mcpError.message,
247
+ duration: Date.now() - startTime,
248
+ });
249
+ return {
250
+ type: 'tool_result',
251
+ tool_use_id: toolUse.id,
252
+ content: this.formatErrorContent(mcpError),
253
+ is_error: true,
254
+ };
255
+ }
256
+ }
257
+ /**
258
+ * Handle multiple tool uses in parallel
259
+ *
260
+ * Executes multiple tool calls concurrently with configurable
261
+ * concurrency limit.
262
+ *
263
+ * @param toolUses - Array of tool use blocks
264
+ * @param concurrency - Maximum concurrent executions (default: 5)
265
+ * @returns Array of tool result blocks
266
+ */
267
+ async handleToolUses(toolUses, concurrency = 5) {
268
+ const results = [];
269
+ const executing = [];
270
+ for (const toolUse of toolUses) {
271
+ const promise = this.handleToolUse(toolUse).then((result) => {
272
+ results.push(result);
273
+ });
274
+ executing.push(promise);
275
+ if (executing.length >= concurrency) {
276
+ await Promise.race(executing);
277
+ // Remove completed promises by filtering based on Promise.race
278
+ const completed = await Promise.allSettled(executing);
279
+ const stillPending = [];
280
+ for (let i = 0; i < completed.length; i++) {
281
+ if (completed[i].status !== 'fulfilled') {
282
+ stillPending.push(executing[i]);
283
+ }
284
+ }
285
+ executing.length = 0;
286
+ executing.push(...stillPending);
287
+ }
288
+ }
289
+ await Promise.all(executing);
290
+ return results;
291
+ }
292
+ /**
293
+ * Execute a tool with streaming response
294
+ *
295
+ * For large responses, streams the content through a WebSocket
296
+ * or returns an async iterator for custom handling.
297
+ *
298
+ * @param toolUse - Tool use block
299
+ * @param wsConfig - Optional WebSocket configuration for streaming
300
+ * @returns Tool result or stream
301
+ */
302
+ async handleToolUseStreaming(toolUse, wsConfig) {
303
+ const mcpToolName = this.findMcpToolName(toolUse.name);
304
+ if (!mcpToolName) {
305
+ throw new ToolNotFoundError(toolUse.name);
306
+ }
307
+ const response = await this.callTool(mcpToolName, toolUse.input);
308
+ const content = this.extractTextContent(response);
309
+ // Check if streaming is needed
310
+ if (content.length <= this.streamingThreshold) {
311
+ return this.convertToolResponse(toolUse.id, response);
312
+ }
313
+ // Stream the content
314
+ const stream = streamTextContent(content);
315
+ if (wsConfig) {
316
+ await streamToWebSocket(stream, {
317
+ ...wsConfig,
318
+ requestId: wsConfig.requestId ?? toolUse.id,
319
+ });
320
+ return {
321
+ type: 'tool_result',
322
+ tool_use_id: toolUse.id,
323
+ content: '[Content streamed via WebSocket]',
324
+ };
325
+ }
326
+ // Return async iterator for custom handling
327
+ return (async function* () {
328
+ for await (const chunk of streamTextContent(content)) {
329
+ yield chunk.content;
330
+ }
331
+ })();
332
+ }
333
+ // ===========================================================================
334
+ // Helper Methods
335
+ // ===========================================================================
336
+ /**
337
+ * Find the original MCP tool name from an Anthropic tool name
338
+ */
339
+ findMcpToolName(anthropicName) {
340
+ // First, try direct match
341
+ for (const [mcpName, tool] of this.toolCache) {
342
+ if (tool.name === anthropicName) {
343
+ return mcpName;
344
+ }
345
+ }
346
+ return undefined;
347
+ }
348
+ /**
349
+ * Convert MCP tool response to Anthropic format
350
+ */
351
+ convertToolResponse(toolUseId, response) {
352
+ const content = this.extractTextContent(response);
353
+ return {
354
+ type: 'tool_result',
355
+ tool_use_id: toolUseId,
356
+ content,
357
+ ...(response.isError && { is_error: response.isError }),
358
+ };
359
+ }
360
+ /**
361
+ * Extract text content from MCP response
362
+ */
363
+ extractTextContent(response) {
364
+ return response.content
365
+ .filter((c) => c.type === 'text')
366
+ .map((c) => c.text)
367
+ .join('\n');
368
+ }
369
+ /**
370
+ * Format error content for tool result
371
+ */
372
+ formatErrorContent(error) {
373
+ if (this.verboseErrors) {
374
+ return JSON.stringify({
375
+ error: error.message,
376
+ code: error.code,
377
+ retryable: error.retryable,
378
+ data: error.data,
379
+ });
380
+ }
381
+ return JSON.stringify({
382
+ error: error.message,
383
+ });
384
+ }
385
+ }
386
+ // =============================================================================
387
+ // Factory Function
388
+ // =============================================================================
389
+ /**
390
+ * Create an Anthropic adapter for an MCP server
391
+ *
392
+ * @param config - Adapter configuration
393
+ * @returns Configured AnthropicAdapter instance
394
+ *
395
+ * @example
396
+ * ```typescript
397
+ * const adapter = createAnthropicAdapter({
398
+ * server: mcpServer,
399
+ * retry: { maxRetries: 3 },
400
+ * })
401
+ *
402
+ * await adapter.initialize()
403
+ * const tools = await adapter.getTools()
404
+ * ```
405
+ */
406
+ export function createAnthropicAdapter(config) {
407
+ return new AnthropicAdapter(config);
408
+ }
409
+ //# sourceMappingURL=anthropic-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-adapter.js","sourceRoot":"","sources":["../../../src/mcp/adapters/anthropic-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Base SDK Adapter for MCP
3
+ *
4
+ * Provides common functionality for SDK adapters:
5
+ * - Retry logic with exponential backoff
6
+ * - Timeout handling with AbortController
7
+ * - Request/response logging
8
+ * - Error normalization
9
+ *
10
+ * SDK adapters (Anthropic, Vercel) extend this base class.
11
+ */
12
+ import type { McpServer } from '../server';
13
+ import type { McpRequest, McpResponse, McpToolResponse } from '../types';
14
+ /**
15
+ * Retry configuration for transient failures
16
+ */
17
+ export interface RetryConfig {
18
+ /** Maximum number of retry attempts (default: 3) */
19
+ maxRetries: number;
20
+ /** Initial delay between retries in ms (default: 1000) */
21
+ initialDelayMs: number;
22
+ /** Maximum delay between retries in ms (default: 30000) */
23
+ maxDelayMs: number;
24
+ /** Exponential backoff multiplier (default: 2) */
25
+ backoffMultiplier: number;
26
+ /** Add jitter to delay to prevent thundering herd (default: true) */
27
+ jitter: boolean;
28
+ }
29
+ /**
30
+ * Timeout configuration for operations
31
+ */
32
+ export interface TimeoutConfig {
33
+ /** Request timeout in ms (default: 30000) */
34
+ requestTimeoutMs: number;
35
+ /** Connection timeout in ms (default: 10000) */
36
+ connectTimeoutMs: number;
37
+ /** Idle timeout for streaming in ms (default: 60000) */
38
+ idleTimeoutMs: number;
39
+ }
40
+ /**
41
+ * Logging configuration
42
+ */
43
+ export interface LogConfig {
44
+ /** Enable debug logging (default: false) */
45
+ debug: boolean;
46
+ /** Log request bodies (default: false) */
47
+ logRequests: boolean;
48
+ /** Log response bodies (default: false) */
49
+ logResponses: boolean;
50
+ /** Custom logger function */
51
+ logger?: (level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: unknown) => void;
52
+ }
53
+ /**
54
+ * Base adapter configuration
55
+ */
56
+ export interface BaseAdapterConfig {
57
+ /** MCP server instance */
58
+ server: McpServer;
59
+ /** Retry configuration */
60
+ retry?: Partial<RetryConfig>;
61
+ /** Timeout configuration */
62
+ timeout?: Partial<TimeoutConfig>;
63
+ /** Logging configuration */
64
+ log?: Partial<LogConfig>;
65
+ }
66
+ /**
67
+ * Abstract base class for SDK adapters
68
+ *
69
+ * Provides common infrastructure for adapting MCP servers to different SDKs.
70
+ * Subclasses implement SDK-specific tool formatting and request handling.
71
+ *
72
+ * @example
73
+ * ```typescript
74
+ * class MyAdapter extends BaseAdapter {
75
+ * constructor(config: BaseAdapterConfig) {
76
+ * super(config)
77
+ * }
78
+ *
79
+ * async formatTool(definition: McpToolDefinition): Promise<SDKTool> {
80
+ * // Convert MCP tool to SDK format
81
+ * }
82
+ * }
83
+ * ```
84
+ */
85
+ export declare abstract class BaseAdapter {
86
+ protected readonly server: McpServer;
87
+ protected readonly retryConfig: RetryConfig;
88
+ protected readonly timeoutConfig: TimeoutConfig;
89
+ protected readonly logConfig: LogConfig;
90
+ constructor(config: BaseAdapterConfig);
91
+ /**
92
+ * Log a message at the specified level
93
+ */
94
+ protected log(level: 'debug' | 'info' | 'warn' | 'error', message: string, data?: unknown): void;
95
+ /**
96
+ * Calculate delay for retry attempt with exponential backoff
97
+ */
98
+ protected calculateRetryDelay(attempt: number, baseDelay?: number): number;
99
+ /**
100
+ * Execute an operation with retry logic
101
+ *
102
+ * @param operation - Async operation to execute
103
+ * @param context - Context for logging
104
+ * @returns Result of the operation
105
+ * @throws McpError if all retries fail
106
+ */
107
+ protected withRetry<T>(operation: (attempt: number) => Promise<T>, context: string): Promise<T>;
108
+ /**
109
+ * Sleep for a specified duration
110
+ */
111
+ protected sleep(ms: number): Promise<void>;
112
+ /**
113
+ * Execute an operation with timeout
114
+ *
115
+ * @param operation - Async operation to execute
116
+ * @param timeoutMs - Timeout in milliseconds
117
+ * @param context - Context for error messages
118
+ * @returns Result of the operation
119
+ * @throws TimeoutError if operation times out
120
+ */
121
+ protected withTimeout<T>(operation: (signal: AbortSignal) => Promise<T>, timeoutMs: number, context: string): Promise<T>;
122
+ /**
123
+ * Execute an operation with both retry and timeout
124
+ */
125
+ protected withRetryAndTimeout<T>(operation: (signal: AbortSignal) => Promise<T>, context: string, timeoutMs?: number): Promise<T>;
126
+ /**
127
+ * Handle an MCP request with error handling and logging
128
+ */
129
+ protected handleRequest(request: McpRequest): Promise<McpResponse>;
130
+ /**
131
+ * Call a tool with error handling
132
+ */
133
+ protected callTool(name: string, args: Record<string, unknown>): Promise<McpToolResponse>;
134
+ /**
135
+ * Get the adapter name for logging
136
+ */
137
+ abstract get adapterName(): string;
138
+ /**
139
+ * Initialize the adapter
140
+ */
141
+ abstract initialize(): Promise<void>;
142
+ /**
143
+ * Cleanup adapter resources
144
+ */
145
+ abstract cleanup(): Promise<void>;
146
+ }
147
+ /**
148
+ * Result of a tool call with timing information
149
+ */
150
+ export interface ToolCallResult {
151
+ response: McpToolResponse;
152
+ durationMs: number;
153
+ retries: number;
154
+ }
155
+ /**
156
+ * Batch operation options
157
+ */
158
+ export interface BatchOptions {
159
+ /** Maximum concurrent operations */
160
+ concurrency?: number;
161
+ /** Continue on error */
162
+ continueOnError?: boolean;
163
+ }
164
+ //# sourceMappingURL=base-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-adapter.d.ts","sourceRoot":"","sources":["../../../src/mcp/adapters/base-adapter.ts"],"names":[],"mappings":"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"}