@zavudev/sdk-mcp 0.14.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 (472) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +313 -0
  3. package/code-tool-types.d.mts +16 -0
  4. package/code-tool-types.d.mts.map +1 -0
  5. package/code-tool-types.d.ts +16 -0
  6. package/code-tool-types.d.ts.map +1 -0
  7. package/code-tool-types.js +4 -0
  8. package/code-tool-types.js.map +1 -0
  9. package/code-tool-types.mjs +3 -0
  10. package/code-tool-types.mjs.map +1 -0
  11. package/code-tool.d.mts +54 -0
  12. package/code-tool.d.mts.map +1 -0
  13. package/code-tool.d.ts +54 -0
  14. package/code-tool.d.ts.map +1 -0
  15. package/code-tool.js +49 -0
  16. package/code-tool.js.map +1 -0
  17. package/code-tool.mjs +46 -0
  18. package/code-tool.mjs.map +1 -0
  19. package/compat.d.mts +58 -0
  20. package/compat.d.mts.map +1 -0
  21. package/compat.d.ts +58 -0
  22. package/compat.d.ts.map +1 -0
  23. package/compat.js +387 -0
  24. package/compat.js.map +1 -0
  25. package/compat.mjs +378 -0
  26. package/compat.mjs.map +1 -0
  27. package/docs-search-tool.d.mts +50 -0
  28. package/docs-search-tool.d.mts.map +1 -0
  29. package/docs-search-tool.d.ts +50 -0
  30. package/docs-search-tool.d.ts.map +1 -0
  31. package/docs-search-tool.js +51 -0
  32. package/docs-search-tool.js.map +1 -0
  33. package/docs-search-tool.mjs +47 -0
  34. package/docs-search-tool.mjs.map +1 -0
  35. package/dynamic-tools.d.mts +12 -0
  36. package/dynamic-tools.d.mts.map +1 -0
  37. package/dynamic-tools.d.ts +12 -0
  38. package/dynamic-tools.d.ts.map +1 -0
  39. package/dynamic-tools.js +135 -0
  40. package/dynamic-tools.js.map +1 -0
  41. package/dynamic-tools.mjs +132 -0
  42. package/dynamic-tools.mjs.map +1 -0
  43. package/filtering.d.mts +3 -0
  44. package/filtering.d.mts.map +1 -0
  45. package/filtering.d.ts +3 -0
  46. package/filtering.d.ts.map +1 -0
  47. package/filtering.js +24 -0
  48. package/filtering.js.map +1 -0
  49. package/filtering.mjs +16 -0
  50. package/filtering.mjs.map +1 -0
  51. package/headers.d.mts +4 -0
  52. package/headers.d.mts.map +1 -0
  53. package/headers.d.ts +4 -0
  54. package/headers.d.ts.map +1 -0
  55. package/headers.js +22 -0
  56. package/headers.js.map +1 -0
  57. package/headers.mjs +18 -0
  58. package/headers.mjs.map +1 -0
  59. package/http.d.mts +9 -0
  60. package/http.d.mts.map +1 -0
  61. package/http.d.ts +9 -0
  62. package/http.d.ts.map +1 -0
  63. package/http.js +108 -0
  64. package/http.js.map +1 -0
  65. package/http.mjs +100 -0
  66. package/http.mjs.map +1 -0
  67. package/index.d.mts +3 -0
  68. package/index.d.mts.map +1 -0
  69. package/index.d.ts +3 -0
  70. package/index.d.ts.map +1 -0
  71. package/index.js +91 -0
  72. package/index.js.map +1 -0
  73. package/index.mjs +89 -0
  74. package/index.mjs.map +1 -0
  75. package/options.d.mts +20 -0
  76. package/options.d.mts.map +1 -0
  77. package/options.d.ts +20 -0
  78. package/options.d.ts.map +1 -0
  79. package/options.js +427 -0
  80. package/options.js.map +1 -0
  81. package/options.mjs +420 -0
  82. package/options.mjs.map +1 -0
  83. package/package.json +201 -0
  84. package/server.d.mts +35 -0
  85. package/server.d.mts.map +1 -0
  86. package/server.d.ts +35 -0
  87. package/server.d.ts.map +1 -0
  88. package/server.js +174 -0
  89. package/server.js.map +1 -0
  90. package/server.mjs +160 -0
  91. package/server.mjs.map +1 -0
  92. package/src/code-tool-types.ts +18 -0
  93. package/src/code-tool.ts +59 -0
  94. package/src/compat.ts +483 -0
  95. package/src/docs-search-tool.ts +59 -0
  96. package/src/dynamic-tools.ts +153 -0
  97. package/src/filtering.ts +18 -0
  98. package/src/headers.ts +25 -0
  99. package/src/http.ts +127 -0
  100. package/src/index.ts +108 -0
  101. package/src/options.ts +473 -0
  102. package/src/server.ts +207 -0
  103. package/src/stdio.ts +13 -0
  104. package/src/tools/broadcasts/cancel-broadcasts.ts +52 -0
  105. package/src/tools/broadcasts/contacts/add-broadcasts-contacts.ts +73 -0
  106. package/src/tools/broadcasts/contacts/list-broadcasts-contacts.ts +71 -0
  107. package/src/tools/broadcasts/contacts/remove-broadcasts-contacts.ts +43 -0
  108. package/src/tools/broadcasts/create-broadcasts.ts +134 -0
  109. package/src/tools/broadcasts/delete-broadcasts.ts +40 -0
  110. package/src/tools/broadcasts/list-broadcasts.ts +68 -0
  111. package/src/tools/broadcasts/progress-broadcasts.ts +54 -0
  112. package/src/tools/broadcasts/retrieve-broadcasts.ts +54 -0
  113. package/src/tools/broadcasts/send-broadcasts.ts +57 -0
  114. package/src/tools/broadcasts/update-broadcasts.ts +106 -0
  115. package/src/tools/contacts/list-contacts.ts +61 -0
  116. package/src/tools/contacts/retrieve-by-phone-contacts.ts +56 -0
  117. package/src/tools/contacts/retrieve-contacts.ts +54 -0
  118. package/src/tools/contacts/update-contacts.ts +61 -0
  119. package/src/tools/index.ts +143 -0
  120. package/src/tools/introspect/validate-phone-introspect.ts +52 -0
  121. package/src/tools/messages/list-messages.ts +78 -0
  122. package/src/tools/messages/react-messages.ts +59 -0
  123. package/src/tools/messages/retrieve-messages.ts +54 -0
  124. package/src/tools/messages/send-messages.ts +233 -0
  125. package/src/tools/phone-numbers/list-phone-numbers.ts +68 -0
  126. package/src/tools/phone-numbers/purchase-phone-numbers.ts +57 -0
  127. package/src/tools/phone-numbers/release-phone-numbers.ts +40 -0
  128. package/src/tools/phone-numbers/retrieve-phone-numbers.ts +56 -0
  129. package/src/tools/phone-numbers/search-available-phone-numbers.ts +72 -0
  130. package/src/tools/phone-numbers/update-phone-numbers.ts +62 -0
  131. package/src/tools/senders/create-senders.ts +86 -0
  132. package/src/tools/senders/delete-senders.ts +40 -0
  133. package/src/tools/senders/list-senders.ts +58 -0
  134. package/src/tools/senders/regenerate-webhook-secret-senders.ts +54 -0
  135. package/src/tools/senders/retrieve-senders.ts +54 -0
  136. package/src/tools/senders/update-senders.ts +90 -0
  137. package/src/tools/templates/create-templates.ts +74 -0
  138. package/src/tools/templates/delete-templates.ts +40 -0
  139. package/src/tools/templates/list-templates.ts +58 -0
  140. package/src/tools/templates/retrieve-templates.ts +54 -0
  141. package/src/tools/templates/submit-templates.ts +66 -0
  142. package/src/tools/types.ts +115 -0
  143. package/src/tools.ts +1 -0
  144. package/src/tsconfig.json +11 -0
  145. package/stdio.d.mts +3 -0
  146. package/stdio.d.mts.map +1 -0
  147. package/stdio.d.ts +3 -0
  148. package/stdio.d.ts.map +1 -0
  149. package/stdio.js +14 -0
  150. package/stdio.js.map +1 -0
  151. package/stdio.mjs +10 -0
  152. package/stdio.mjs.map +1 -0
  153. package/tools/broadcasts/cancel-broadcasts.d.mts +51 -0
  154. package/tools/broadcasts/cancel-broadcasts.d.mts.map +1 -0
  155. package/tools/broadcasts/cancel-broadcasts.d.ts +51 -0
  156. package/tools/broadcasts/cancel-broadcasts.d.ts.map +1 -0
  157. package/tools/broadcasts/cancel-broadcasts.js +52 -0
  158. package/tools/broadcasts/cancel-broadcasts.js.map +1 -0
  159. package/tools/broadcasts/cancel-broadcasts.mjs +45 -0
  160. package/tools/broadcasts/cancel-broadcasts.mjs.map +1 -0
  161. package/tools/broadcasts/contacts/add-broadcasts-contacts.d.mts +51 -0
  162. package/tools/broadcasts/contacts/add-broadcasts-contacts.d.mts.map +1 -0
  163. package/tools/broadcasts/contacts/add-broadcasts-contacts.d.ts +51 -0
  164. package/tools/broadcasts/contacts/add-broadcasts-contacts.d.ts.map +1 -0
  165. package/tools/broadcasts/contacts/add-broadcasts-contacts.js +71 -0
  166. package/tools/broadcasts/contacts/add-broadcasts-contacts.js.map +1 -0
  167. package/tools/broadcasts/contacts/add-broadcasts-contacts.mjs +64 -0
  168. package/tools/broadcasts/contacts/add-broadcasts-contacts.mjs.map +1 -0
  169. package/tools/broadcasts/contacts/list-broadcasts-contacts.d.mts +51 -0
  170. package/tools/broadcasts/contacts/list-broadcasts-contacts.d.mts.map +1 -0
  171. package/tools/broadcasts/contacts/list-broadcasts-contacts.d.ts +51 -0
  172. package/tools/broadcasts/contacts/list-broadcasts-contacts.d.ts.map +1 -0
  173. package/tools/broadcasts/contacts/list-broadcasts-contacts.js +71 -0
  174. package/tools/broadcasts/contacts/list-broadcasts-contacts.js.map +1 -0
  175. package/tools/broadcasts/contacts/list-broadcasts-contacts.mjs +64 -0
  176. package/tools/broadcasts/contacts/list-broadcasts-contacts.mjs.map +1 -0
  177. package/tools/broadcasts/contacts/remove-broadcasts-contacts.d.mts +51 -0
  178. package/tools/broadcasts/contacts/remove-broadcasts-contacts.d.mts.map +1 -0
  179. package/tools/broadcasts/contacts/remove-broadcasts-contacts.d.ts +51 -0
  180. package/tools/broadcasts/contacts/remove-broadcasts-contacts.d.ts.map +1 -0
  181. package/tools/broadcasts/contacts/remove-broadcasts-contacts.js +40 -0
  182. package/tools/broadcasts/contacts/remove-broadcasts-contacts.js.map +1 -0
  183. package/tools/broadcasts/contacts/remove-broadcasts-contacts.mjs +36 -0
  184. package/tools/broadcasts/contacts/remove-broadcasts-contacts.mjs.map +1 -0
  185. package/tools/broadcasts/create-broadcasts.d.mts +51 -0
  186. package/tools/broadcasts/create-broadcasts.d.mts.map +1 -0
  187. package/tools/broadcasts/create-broadcasts.d.ts +51 -0
  188. package/tools/broadcasts/create-broadcasts.d.ts.map +1 -0
  189. package/tools/broadcasts/create-broadcasts.js +134 -0
  190. package/tools/broadcasts/create-broadcasts.js.map +1 -0
  191. package/tools/broadcasts/create-broadcasts.mjs +127 -0
  192. package/tools/broadcasts/create-broadcasts.mjs.map +1 -0
  193. package/tools/broadcasts/delete-broadcasts.d.mts +51 -0
  194. package/tools/broadcasts/delete-broadcasts.d.mts.map +1 -0
  195. package/tools/broadcasts/delete-broadcasts.d.ts +51 -0
  196. package/tools/broadcasts/delete-broadcasts.d.ts.map +1 -0
  197. package/tools/broadcasts/delete-broadcasts.js +37 -0
  198. package/tools/broadcasts/delete-broadcasts.js.map +1 -0
  199. package/tools/broadcasts/delete-broadcasts.mjs +33 -0
  200. package/tools/broadcasts/delete-broadcasts.mjs.map +1 -0
  201. package/tools/broadcasts/list-broadcasts.d.mts +51 -0
  202. package/tools/broadcasts/list-broadcasts.d.mts.map +1 -0
  203. package/tools/broadcasts/list-broadcasts.d.ts +51 -0
  204. package/tools/broadcasts/list-broadcasts.d.ts.map +1 -0
  205. package/tools/broadcasts/list-broadcasts.js +68 -0
  206. package/tools/broadcasts/list-broadcasts.js.map +1 -0
  207. package/tools/broadcasts/list-broadcasts.mjs +61 -0
  208. package/tools/broadcasts/list-broadcasts.mjs.map +1 -0
  209. package/tools/broadcasts/progress-broadcasts.d.mts +51 -0
  210. package/tools/broadcasts/progress-broadcasts.d.mts.map +1 -0
  211. package/tools/broadcasts/progress-broadcasts.d.ts +51 -0
  212. package/tools/broadcasts/progress-broadcasts.d.ts.map +1 -0
  213. package/tools/broadcasts/progress-broadcasts.js +54 -0
  214. package/tools/broadcasts/progress-broadcasts.js.map +1 -0
  215. package/tools/broadcasts/progress-broadcasts.mjs +47 -0
  216. package/tools/broadcasts/progress-broadcasts.mjs.map +1 -0
  217. package/tools/broadcasts/retrieve-broadcasts.d.mts +51 -0
  218. package/tools/broadcasts/retrieve-broadcasts.d.mts.map +1 -0
  219. package/tools/broadcasts/retrieve-broadcasts.d.ts +51 -0
  220. package/tools/broadcasts/retrieve-broadcasts.d.ts.map +1 -0
  221. package/tools/broadcasts/retrieve-broadcasts.js +54 -0
  222. package/tools/broadcasts/retrieve-broadcasts.js.map +1 -0
  223. package/tools/broadcasts/retrieve-broadcasts.mjs +47 -0
  224. package/tools/broadcasts/retrieve-broadcasts.mjs.map +1 -0
  225. package/tools/broadcasts/send-broadcasts.d.mts +51 -0
  226. package/tools/broadcasts/send-broadcasts.d.mts.map +1 -0
  227. package/tools/broadcasts/send-broadcasts.d.ts +51 -0
  228. package/tools/broadcasts/send-broadcasts.d.ts.map +1 -0
  229. package/tools/broadcasts/send-broadcasts.js +57 -0
  230. package/tools/broadcasts/send-broadcasts.js.map +1 -0
  231. package/tools/broadcasts/send-broadcasts.mjs +50 -0
  232. package/tools/broadcasts/send-broadcasts.mjs.map +1 -0
  233. package/tools/broadcasts/update-broadcasts.d.mts +51 -0
  234. package/tools/broadcasts/update-broadcasts.d.mts.map +1 -0
  235. package/tools/broadcasts/update-broadcasts.d.ts +51 -0
  236. package/tools/broadcasts/update-broadcasts.d.ts.map +1 -0
  237. package/tools/broadcasts/update-broadcasts.js +104 -0
  238. package/tools/broadcasts/update-broadcasts.js.map +1 -0
  239. package/tools/broadcasts/update-broadcasts.mjs +97 -0
  240. package/tools/broadcasts/update-broadcasts.mjs.map +1 -0
  241. package/tools/contacts/list-contacts.d.mts +51 -0
  242. package/tools/contacts/list-contacts.d.mts.map +1 -0
  243. package/tools/contacts/list-contacts.d.ts +51 -0
  244. package/tools/contacts/list-contacts.d.ts.map +1 -0
  245. package/tools/contacts/list-contacts.js +61 -0
  246. package/tools/contacts/list-contacts.js.map +1 -0
  247. package/tools/contacts/list-contacts.mjs +54 -0
  248. package/tools/contacts/list-contacts.mjs.map +1 -0
  249. package/tools/contacts/retrieve-by-phone-contacts.d.mts +51 -0
  250. package/tools/contacts/retrieve-by-phone-contacts.d.mts.map +1 -0
  251. package/tools/contacts/retrieve-by-phone-contacts.d.ts +51 -0
  252. package/tools/contacts/retrieve-by-phone-contacts.d.ts.map +1 -0
  253. package/tools/contacts/retrieve-by-phone-contacts.js +54 -0
  254. package/tools/contacts/retrieve-by-phone-contacts.js.map +1 -0
  255. package/tools/contacts/retrieve-by-phone-contacts.mjs +47 -0
  256. package/tools/contacts/retrieve-by-phone-contacts.mjs.map +1 -0
  257. package/tools/contacts/retrieve-contacts.d.mts +51 -0
  258. package/tools/contacts/retrieve-contacts.d.mts.map +1 -0
  259. package/tools/contacts/retrieve-contacts.d.ts +51 -0
  260. package/tools/contacts/retrieve-contacts.d.ts.map +1 -0
  261. package/tools/contacts/retrieve-contacts.js +54 -0
  262. package/tools/contacts/retrieve-contacts.js.map +1 -0
  263. package/tools/contacts/retrieve-contacts.mjs +47 -0
  264. package/tools/contacts/retrieve-contacts.mjs.map +1 -0
  265. package/tools/contacts/update-contacts.d.mts +51 -0
  266. package/tools/contacts/update-contacts.d.mts.map +1 -0
  267. package/tools/contacts/update-contacts.d.ts +51 -0
  268. package/tools/contacts/update-contacts.d.ts.map +1 -0
  269. package/tools/contacts/update-contacts.js +61 -0
  270. package/tools/contacts/update-contacts.js.map +1 -0
  271. package/tools/contacts/update-contacts.mjs +54 -0
  272. package/tools/contacts/update-contacts.mjs.map +1 -0
  273. package/tools/index.d.mts +10 -0
  274. package/tools/index.d.mts.map +1 -0
  275. package/tools/index.d.ts +10 -0
  276. package/tools/index.d.ts.map +1 -0
  277. package/tools/index.js +127 -0
  278. package/tools/index.js.map +1 -0
  279. package/tools/index.mjs +120 -0
  280. package/tools/index.mjs.map +1 -0
  281. package/tools/introspect/validate-phone-introspect.d.mts +51 -0
  282. package/tools/introspect/validate-phone-introspect.d.mts.map +1 -0
  283. package/tools/introspect/validate-phone-introspect.d.ts +51 -0
  284. package/tools/introspect/validate-phone-introspect.d.ts.map +1 -0
  285. package/tools/introspect/validate-phone-introspect.js +52 -0
  286. package/tools/introspect/validate-phone-introspect.js.map +1 -0
  287. package/tools/introspect/validate-phone-introspect.mjs +45 -0
  288. package/tools/introspect/validate-phone-introspect.mjs.map +1 -0
  289. package/tools/messages/list-messages.d.mts +51 -0
  290. package/tools/messages/list-messages.d.mts.map +1 -0
  291. package/tools/messages/list-messages.d.ts +51 -0
  292. package/tools/messages/list-messages.d.ts.map +1 -0
  293. package/tools/messages/list-messages.js +78 -0
  294. package/tools/messages/list-messages.js.map +1 -0
  295. package/tools/messages/list-messages.mjs +71 -0
  296. package/tools/messages/list-messages.mjs.map +1 -0
  297. package/tools/messages/react-messages.d.mts +51 -0
  298. package/tools/messages/react-messages.d.mts.map +1 -0
  299. package/tools/messages/react-messages.d.ts +51 -0
  300. package/tools/messages/react-messages.d.ts.map +1 -0
  301. package/tools/messages/react-messages.js +59 -0
  302. package/tools/messages/react-messages.js.map +1 -0
  303. package/tools/messages/react-messages.mjs +52 -0
  304. package/tools/messages/react-messages.mjs.map +1 -0
  305. package/tools/messages/retrieve-messages.d.mts +51 -0
  306. package/tools/messages/retrieve-messages.d.mts.map +1 -0
  307. package/tools/messages/retrieve-messages.d.ts +51 -0
  308. package/tools/messages/retrieve-messages.d.ts.map +1 -0
  309. package/tools/messages/retrieve-messages.js +54 -0
  310. package/tools/messages/retrieve-messages.js.map +1 -0
  311. package/tools/messages/retrieve-messages.mjs +47 -0
  312. package/tools/messages/retrieve-messages.mjs.map +1 -0
  313. package/tools/messages/send-messages.d.mts +51 -0
  314. package/tools/messages/send-messages.d.mts.map +1 -0
  315. package/tools/messages/send-messages.d.ts +51 -0
  316. package/tools/messages/send-messages.d.ts.map +1 -0
  317. package/tools/messages/send-messages.js +233 -0
  318. package/tools/messages/send-messages.js.map +1 -0
  319. package/tools/messages/send-messages.mjs +226 -0
  320. package/tools/messages/send-messages.mjs.map +1 -0
  321. package/tools/phone-numbers/list-phone-numbers.d.mts +51 -0
  322. package/tools/phone-numbers/list-phone-numbers.d.mts.map +1 -0
  323. package/tools/phone-numbers/list-phone-numbers.d.ts +51 -0
  324. package/tools/phone-numbers/list-phone-numbers.d.ts.map +1 -0
  325. package/tools/phone-numbers/list-phone-numbers.js +68 -0
  326. package/tools/phone-numbers/list-phone-numbers.js.map +1 -0
  327. package/tools/phone-numbers/list-phone-numbers.mjs +61 -0
  328. package/tools/phone-numbers/list-phone-numbers.mjs.map +1 -0
  329. package/tools/phone-numbers/purchase-phone-numbers.d.mts +51 -0
  330. package/tools/phone-numbers/purchase-phone-numbers.d.mts.map +1 -0
  331. package/tools/phone-numbers/purchase-phone-numbers.d.ts +51 -0
  332. package/tools/phone-numbers/purchase-phone-numbers.d.ts.map +1 -0
  333. package/tools/phone-numbers/purchase-phone-numbers.js +57 -0
  334. package/tools/phone-numbers/purchase-phone-numbers.js.map +1 -0
  335. package/tools/phone-numbers/purchase-phone-numbers.mjs +50 -0
  336. package/tools/phone-numbers/purchase-phone-numbers.mjs.map +1 -0
  337. package/tools/phone-numbers/release-phone-numbers.d.mts +51 -0
  338. package/tools/phone-numbers/release-phone-numbers.d.mts.map +1 -0
  339. package/tools/phone-numbers/release-phone-numbers.d.ts +51 -0
  340. package/tools/phone-numbers/release-phone-numbers.d.ts.map +1 -0
  341. package/tools/phone-numbers/release-phone-numbers.js +37 -0
  342. package/tools/phone-numbers/release-phone-numbers.js.map +1 -0
  343. package/tools/phone-numbers/release-phone-numbers.mjs +33 -0
  344. package/tools/phone-numbers/release-phone-numbers.mjs.map +1 -0
  345. package/tools/phone-numbers/retrieve-phone-numbers.d.mts +51 -0
  346. package/tools/phone-numbers/retrieve-phone-numbers.d.mts.map +1 -0
  347. package/tools/phone-numbers/retrieve-phone-numbers.d.ts +51 -0
  348. package/tools/phone-numbers/retrieve-phone-numbers.d.ts.map +1 -0
  349. package/tools/phone-numbers/retrieve-phone-numbers.js +54 -0
  350. package/tools/phone-numbers/retrieve-phone-numbers.js.map +1 -0
  351. package/tools/phone-numbers/retrieve-phone-numbers.mjs +47 -0
  352. package/tools/phone-numbers/retrieve-phone-numbers.mjs.map +1 -0
  353. package/tools/phone-numbers/search-available-phone-numbers.d.mts +51 -0
  354. package/tools/phone-numbers/search-available-phone-numbers.d.mts.map +1 -0
  355. package/tools/phone-numbers/search-available-phone-numbers.d.ts +51 -0
  356. package/tools/phone-numbers/search-available-phone-numbers.d.ts.map +1 -0
  357. package/tools/phone-numbers/search-available-phone-numbers.js +72 -0
  358. package/tools/phone-numbers/search-available-phone-numbers.js.map +1 -0
  359. package/tools/phone-numbers/search-available-phone-numbers.mjs +65 -0
  360. package/tools/phone-numbers/search-available-phone-numbers.mjs.map +1 -0
  361. package/tools/phone-numbers/update-phone-numbers.d.mts +51 -0
  362. package/tools/phone-numbers/update-phone-numbers.d.mts.map +1 -0
  363. package/tools/phone-numbers/update-phone-numbers.d.ts +51 -0
  364. package/tools/phone-numbers/update-phone-numbers.d.ts.map +1 -0
  365. package/tools/phone-numbers/update-phone-numbers.js +60 -0
  366. package/tools/phone-numbers/update-phone-numbers.js.map +1 -0
  367. package/tools/phone-numbers/update-phone-numbers.mjs +53 -0
  368. package/tools/phone-numbers/update-phone-numbers.mjs.map +1 -0
  369. package/tools/senders/create-senders.d.mts +51 -0
  370. package/tools/senders/create-senders.d.mts.map +1 -0
  371. package/tools/senders/create-senders.d.ts +51 -0
  372. package/tools/senders/create-senders.d.ts.map +1 -0
  373. package/tools/senders/create-senders.js +85 -0
  374. package/tools/senders/create-senders.js.map +1 -0
  375. package/tools/senders/create-senders.mjs +78 -0
  376. package/tools/senders/create-senders.mjs.map +1 -0
  377. package/tools/senders/delete-senders.d.mts +51 -0
  378. package/tools/senders/delete-senders.d.mts.map +1 -0
  379. package/tools/senders/delete-senders.d.ts +51 -0
  380. package/tools/senders/delete-senders.d.ts.map +1 -0
  381. package/tools/senders/delete-senders.js +37 -0
  382. package/tools/senders/delete-senders.js.map +1 -0
  383. package/tools/senders/delete-senders.mjs +33 -0
  384. package/tools/senders/delete-senders.mjs.map +1 -0
  385. package/tools/senders/list-senders.d.mts +51 -0
  386. package/tools/senders/list-senders.d.mts.map +1 -0
  387. package/tools/senders/list-senders.d.ts +51 -0
  388. package/tools/senders/list-senders.d.ts.map +1 -0
  389. package/tools/senders/list-senders.js +58 -0
  390. package/tools/senders/list-senders.js.map +1 -0
  391. package/tools/senders/list-senders.mjs +51 -0
  392. package/tools/senders/list-senders.mjs.map +1 -0
  393. package/tools/senders/regenerate-webhook-secret-senders.d.mts +51 -0
  394. package/tools/senders/regenerate-webhook-secret-senders.d.mts.map +1 -0
  395. package/tools/senders/regenerate-webhook-secret-senders.d.ts +51 -0
  396. package/tools/senders/regenerate-webhook-secret-senders.d.ts.map +1 -0
  397. package/tools/senders/regenerate-webhook-secret-senders.js +52 -0
  398. package/tools/senders/regenerate-webhook-secret-senders.js.map +1 -0
  399. package/tools/senders/regenerate-webhook-secret-senders.mjs +45 -0
  400. package/tools/senders/regenerate-webhook-secret-senders.mjs.map +1 -0
  401. package/tools/senders/retrieve-senders.d.mts +51 -0
  402. package/tools/senders/retrieve-senders.d.mts.map +1 -0
  403. package/tools/senders/retrieve-senders.d.ts +51 -0
  404. package/tools/senders/retrieve-senders.d.ts.map +1 -0
  405. package/tools/senders/retrieve-senders.js +54 -0
  406. package/tools/senders/retrieve-senders.js.map +1 -0
  407. package/tools/senders/retrieve-senders.mjs +47 -0
  408. package/tools/senders/retrieve-senders.mjs.map +1 -0
  409. package/tools/senders/update-senders.d.mts +51 -0
  410. package/tools/senders/update-senders.d.mts.map +1 -0
  411. package/tools/senders/update-senders.d.ts +51 -0
  412. package/tools/senders/update-senders.d.ts.map +1 -0
  413. package/tools/senders/update-senders.js +89 -0
  414. package/tools/senders/update-senders.js.map +1 -0
  415. package/tools/senders/update-senders.mjs +82 -0
  416. package/tools/senders/update-senders.mjs.map +1 -0
  417. package/tools/templates/create-templates.d.mts +51 -0
  418. package/tools/templates/create-templates.d.mts.map +1 -0
  419. package/tools/templates/create-templates.d.ts +51 -0
  420. package/tools/templates/create-templates.d.ts.map +1 -0
  421. package/tools/templates/create-templates.js +74 -0
  422. package/tools/templates/create-templates.js.map +1 -0
  423. package/tools/templates/create-templates.mjs +67 -0
  424. package/tools/templates/create-templates.mjs.map +1 -0
  425. package/tools/templates/delete-templates.d.mts +51 -0
  426. package/tools/templates/delete-templates.d.mts.map +1 -0
  427. package/tools/templates/delete-templates.d.ts +51 -0
  428. package/tools/templates/delete-templates.d.ts.map +1 -0
  429. package/tools/templates/delete-templates.js +37 -0
  430. package/tools/templates/delete-templates.js.map +1 -0
  431. package/tools/templates/delete-templates.mjs +33 -0
  432. package/tools/templates/delete-templates.mjs.map +1 -0
  433. package/tools/templates/list-templates.d.mts +51 -0
  434. package/tools/templates/list-templates.d.mts.map +1 -0
  435. package/tools/templates/list-templates.d.ts +51 -0
  436. package/tools/templates/list-templates.d.ts.map +1 -0
  437. package/tools/templates/list-templates.js +58 -0
  438. package/tools/templates/list-templates.js.map +1 -0
  439. package/tools/templates/list-templates.mjs +51 -0
  440. package/tools/templates/list-templates.mjs.map +1 -0
  441. package/tools/templates/retrieve-templates.d.mts +51 -0
  442. package/tools/templates/retrieve-templates.d.mts.map +1 -0
  443. package/tools/templates/retrieve-templates.d.ts +51 -0
  444. package/tools/templates/retrieve-templates.d.ts.map +1 -0
  445. package/tools/templates/retrieve-templates.js +54 -0
  446. package/tools/templates/retrieve-templates.js.map +1 -0
  447. package/tools/templates/retrieve-templates.mjs +47 -0
  448. package/tools/templates/retrieve-templates.mjs.map +1 -0
  449. package/tools/templates/submit-templates.d.mts +51 -0
  450. package/tools/templates/submit-templates.d.mts.map +1 -0
  451. package/tools/templates/submit-templates.d.ts +51 -0
  452. package/tools/templates/submit-templates.d.ts.map +1 -0
  453. package/tools/templates/submit-templates.js +66 -0
  454. package/tools/templates/submit-templates.js.map +1 -0
  455. package/tools/templates/submit-templates.mjs +59 -0
  456. package/tools/templates/submit-templates.mjs.map +1 -0
  457. package/tools/types.d.mts +52 -0
  458. package/tools/types.d.mts.map +1 -0
  459. package/tools/types.d.ts +52 -0
  460. package/tools/types.d.ts.map +1 -0
  461. package/tools/types.js +58 -0
  462. package/tools/types.js.map +1 -0
  463. package/tools/types.mjs +53 -0
  464. package/tools/types.mjs.map +1 -0
  465. package/tools.d.mts +2 -0
  466. package/tools.d.mts.map +1 -0
  467. package/tools.d.ts +2 -0
  468. package/tools.d.ts.map +1 -0
  469. package/tools.js +18 -0
  470. package/tools.js.map +1 -0
  471. package/tools.mjs +2 -0
  472. package/tools.mjs.map +1 -0
package/server.d.mts ADDED
@@ -0,0 +1,35 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { Endpoint, HandlerFunction } from "./tools.mjs";
4
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ import { ClientOptions } from '@zavudev/sdk';
6
+ import Zavudev from '@zavudev/sdk';
7
+ import { ClientCapabilities } from "./compat.mjs";
8
+ import { McpOptions } from "./options.mjs";
9
+ export { McpOptions } from "./options.mjs";
10
+ export { ClientType } from "./compat.mjs";
11
+ export { Filter } from "./tools.mjs";
12
+ export { ClientOptions } from '@zavudev/sdk';
13
+ export { endpoints } from "./tools.mjs";
14
+ export declare const newMcpServer: () => McpServer;
15
+ export declare const server: McpServer;
16
+ /**
17
+ * Initializes the provided MCP Server with the given tools and handlers.
18
+ * If not provided, the default client, tools and handlers will be used.
19
+ */
20
+ export declare function initMcpServer(params: {
21
+ server: Server | McpServer;
22
+ clientOptions?: ClientOptions;
23
+ mcpOptions?: McpOptions;
24
+ }): void;
25
+ /**
26
+ * Selects the tools to include in the MCP Server based on the provided options.
27
+ */
28
+ export declare function selectTools(endpoints: Endpoint[], options?: McpOptions): Promise<Endpoint[]>;
29
+ /**
30
+ * Runs the provided handler with the given client and arguments.
31
+ */
32
+ export declare function executeHandler(tool: Tool, handler: HandlerFunction, client: Zavudev, args: Record<string, unknown> | undefined, compatibilityOptions?: Partial<ClientCapabilities>): Promise<import("./tools/types").ToolCallResult>;
33
+ export declare const readEnv: (env: string) => string | undefined;
34
+ export declare const readEnvOrError: (env: string) => string;
35
+ //# sourceMappingURL=server.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.mts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAKL,IAAI,EACL,MAAM,oCAAoC;OACpC,EAAE,aAAa,EAAE,MAAM,cAAc;OACrC,OAAO,MAAM,cAAc;OAC3B,EAEL,kBAAkB,EAInB;OAIM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,cAAc;OACrC,EAAE,SAAS,EAAE;AAEpB,eAAO,MAAM,YAAY,iBAOtB,CAAC;AAGJ,eAAO,MAAM,MAAM,WAAiB,CAAC;AAErC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,QA0FA;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAyBlG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,mDAOnD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
package/server.d.ts ADDED
@@ -0,0 +1,35 @@
1
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { Endpoint, HandlerFunction } from "./tools.js";
4
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ import { ClientOptions } from '@zavudev/sdk';
6
+ import Zavudev from '@zavudev/sdk';
7
+ import { ClientCapabilities } from "./compat.js";
8
+ import { McpOptions } from "./options.js";
9
+ export { McpOptions } from "./options.js";
10
+ export { ClientType } from "./compat.js";
11
+ export { Filter } from "./tools.js";
12
+ export { ClientOptions } from '@zavudev/sdk';
13
+ export { endpoints } from "./tools.js";
14
+ export declare const newMcpServer: () => McpServer;
15
+ export declare const server: McpServer;
16
+ /**
17
+ * Initializes the provided MCP Server with the given tools and handlers.
18
+ * If not provided, the default client, tools and handlers will be used.
19
+ */
20
+ export declare function initMcpServer(params: {
21
+ server: Server | McpServer;
22
+ clientOptions?: ClientOptions;
23
+ mcpOptions?: McpOptions;
24
+ }): void;
25
+ /**
26
+ * Selects the tools to include in the MCP Server based on the provided options.
27
+ */
28
+ export declare function selectTools(endpoints: Endpoint[], options?: McpOptions): Promise<Endpoint[]>;
29
+ /**
30
+ * Runs the provided handler with the given client and arguments.
31
+ */
32
+ export declare function executeHandler(tool: Tool, handler: HandlerFunction, client: Zavudev, args: Record<string, unknown> | undefined, compatibilityOptions?: Partial<ClientCapabilities>): Promise<import("./tools/types").ToolCallResult>;
33
+ export declare const readEnv: (env: string) => string | undefined;
34
+ export declare const readEnvOrError: (env: string) => string;
35
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"OAEO,EAAE,MAAM,EAAE,MAAM,2CAA2C;OAC3D,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAE,QAAQ,EAAa,eAAe,EAAS;OAC/C,EAKL,IAAI,EACL,MAAM,oCAAoC;OACpC,EAAE,aAAa,EAAE,MAAM,cAAc;OACrC,OAAO,MAAM,cAAc;OAC3B,EAEL,kBAAkB,EAInB;OAIM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,cAAc;OACrC,EAAE,SAAS,EAAE;AAEpB,eAAO,MAAM,YAAY,iBAOtB,CAAC;AAGJ,eAAO,MAAM,MAAM,WAAiB,CAAC;AAErC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE;IACpC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,QA0FA;AAED;;GAEG;AACH,wBAAsB,WAAW,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAyBlG;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,OAAO,EACf,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACzC,oBAAoB,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,mDAOnD;AAED,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,KAAG,MAAM,GAAG,SAO9C,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,KAAG,MAM5C,CAAC"}
package/server.js ADDED
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.readEnvOrError = exports.readEnv = exports.server = exports.newMcpServer = exports.endpoints = exports.ClientType = void 0;
8
+ exports.initMcpServer = initMcpServer;
9
+ exports.selectTools = selectTools;
10
+ exports.executeHandler = executeHandler;
11
+ const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
12
+ const tools_1 = require("./tools.js");
13
+ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
14
+ const sdk_1 = __importDefault(require("@zavudev/sdk"));
15
+ const compat_1 = require("./compat.js");
16
+ const dynamic_tools_1 = require("./dynamic-tools.js");
17
+ const code_tool_1 = require("./code-tool.js");
18
+ const docs_search_tool_1 = __importDefault(require("./docs-search-tool.js"));
19
+ var compat_2 = require("./compat.js");
20
+ Object.defineProperty(exports, "ClientType", { enumerable: true, get: function () { return compat_2.ClientType; } });
21
+ var tools_2 = require("./tools.js");
22
+ Object.defineProperty(exports, "endpoints", { enumerable: true, get: function () { return tools_2.endpoints; } });
23
+ const newMcpServer = () => new mcp_js_1.McpServer({
24
+ name: 'zavudev_sdk_api',
25
+ version: '0.14.0',
26
+ }, { capabilities: { tools: {}, logging: {} } });
27
+ exports.newMcpServer = newMcpServer;
28
+ // Create server instance
29
+ exports.server = (0, exports.newMcpServer)();
30
+ /**
31
+ * Initializes the provided MCP Server with the given tools and handlers.
32
+ * If not provided, the default client, tools and handlers will be used.
33
+ */
34
+ function initMcpServer(params) {
35
+ const server = params.server instanceof mcp_js_1.McpServer ? params.server.server : params.server;
36
+ const mcpOptions = params.mcpOptions ?? {};
37
+ let providedEndpoints = null;
38
+ let endpointMap = null;
39
+ const initTools = async (implementation) => {
40
+ if (implementation && (!mcpOptions.client || mcpOptions.client === 'infer')) {
41
+ mcpOptions.client =
42
+ implementation.name.toLowerCase().includes('claude') ? 'claude'
43
+ : implementation.name.toLowerCase().includes('cursor') ? 'cursor'
44
+ : undefined;
45
+ mcpOptions.capabilities = {
46
+ ...(mcpOptions.client && compat_1.knownClients[mcpOptions.client]),
47
+ ...mcpOptions.capabilities,
48
+ };
49
+ }
50
+ providedEndpoints ?? (providedEndpoints = await selectTools(tools_1.endpoints, mcpOptions));
51
+ endpointMap ?? (endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint])));
52
+ };
53
+ const logAtLevel = (level) => (message, ...rest) => {
54
+ void server.sendLoggingMessage({
55
+ level,
56
+ data: { message, rest },
57
+ });
58
+ };
59
+ const logger = {
60
+ debug: logAtLevel('debug'),
61
+ info: logAtLevel('info'),
62
+ warn: logAtLevel('warning'),
63
+ error: logAtLevel('error'),
64
+ };
65
+ let client = new sdk_1.default({
66
+ logger,
67
+ ...params.clientOptions,
68
+ defaultHeaders: {
69
+ ...params.clientOptions?.defaultHeaders,
70
+ 'X-Stainless-MCP': 'true',
71
+ },
72
+ });
73
+ server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
74
+ if (providedEndpoints === null) {
75
+ await initTools(server.getClientVersion());
76
+ }
77
+ return {
78
+ tools: providedEndpoints.map((endpoint) => endpoint.tool),
79
+ };
80
+ });
81
+ server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
82
+ if (endpointMap === null) {
83
+ await initTools(server.getClientVersion());
84
+ }
85
+ const { name, arguments: args } = request.params;
86
+ const endpoint = endpointMap[name];
87
+ if (!endpoint) {
88
+ throw new Error(`Unknown tool: ${name}`);
89
+ }
90
+ return executeHandler(endpoint.tool, endpoint.handler, client, args, mcpOptions.capabilities);
91
+ });
92
+ server.setRequestHandler(types_js_1.SetLevelRequestSchema, async (request) => {
93
+ const { level } = request.params;
94
+ switch (level) {
95
+ case 'debug':
96
+ client = client.withOptions({ logLevel: 'debug' });
97
+ break;
98
+ case 'info':
99
+ client = client.withOptions({ logLevel: 'info' });
100
+ break;
101
+ case 'notice':
102
+ case 'warning':
103
+ client = client.withOptions({ logLevel: 'warn' });
104
+ break;
105
+ case 'error':
106
+ client = client.withOptions({ logLevel: 'error' });
107
+ break;
108
+ default:
109
+ client = client.withOptions({ logLevel: 'off' });
110
+ break;
111
+ }
112
+ return {};
113
+ });
114
+ }
115
+ /**
116
+ * Selects the tools to include in the MCP Server based on the provided options.
117
+ */
118
+ async function selectTools(endpoints, options) {
119
+ const filteredEndpoints = (0, tools_1.query)(options?.filters ?? [], endpoints);
120
+ let includedTools = filteredEndpoints.slice();
121
+ if (includedTools.length > 0) {
122
+ if (options?.includeDynamicTools) {
123
+ includedTools = (0, dynamic_tools_1.dynamicTools)(includedTools);
124
+ }
125
+ }
126
+ else {
127
+ if (options?.includeAllTools) {
128
+ includedTools = endpoints.slice();
129
+ }
130
+ else if (options?.includeDynamicTools) {
131
+ includedTools = (0, dynamic_tools_1.dynamicTools)(endpoints);
132
+ }
133
+ else if (options?.includeCodeTools) {
134
+ includedTools = [await (0, code_tool_1.codeTool)()];
135
+ }
136
+ else {
137
+ includedTools = endpoints.slice();
138
+ }
139
+ }
140
+ if (options?.includeDocsTools ?? true) {
141
+ includedTools.push(docs_search_tool_1.default);
142
+ }
143
+ const capabilities = { ...compat_1.defaultClientCapabilities, ...options?.capabilities };
144
+ return (0, compat_1.applyCompatibilityTransformations)(includedTools, capabilities);
145
+ }
146
+ /**
147
+ * Runs the provided handler with the given client and arguments.
148
+ */
149
+ async function executeHandler(tool, handler, client, args, compatibilityOptions) {
150
+ const options = { ...compat_1.defaultClientCapabilities, ...compatibilityOptions };
151
+ if (!options.validJson && args) {
152
+ args = (0, compat_1.parseEmbeddedJSON)(args, tool.inputSchema);
153
+ }
154
+ return await handler(client, args || {});
155
+ }
156
+ const readEnv = (env) => {
157
+ if (typeof globalThis.process !== 'undefined') {
158
+ return globalThis.process.env?.[env]?.trim();
159
+ }
160
+ else if (typeof globalThis.Deno !== 'undefined') {
161
+ return globalThis.Deno.env?.get?.(env)?.trim();
162
+ }
163
+ return;
164
+ };
165
+ exports.readEnv = readEnv;
166
+ const readEnvOrError = (env) => {
167
+ let envValue = (0, exports.readEnv)(env);
168
+ if (envValue === undefined) {
169
+ throw new Error(`Environment variable ${env} is not set`);
170
+ }
171
+ return envValue;
172
+ };
173
+ exports.readEnvOrError = readEnvOrError;
174
+ //# sourceMappingURL=server.js.map
package/server.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
package/server.mjs ADDED
@@ -0,0 +1,160 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
+ import { endpoints, query } from "./tools.mjs";
4
+ import { CallToolRequestSchema, ListToolsRequestSchema, SetLevelRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
5
+ import Zavudev from '@zavudev/sdk';
6
+ import { applyCompatibilityTransformations, defaultClientCapabilities, knownClients, parseEmbeddedJSON, } from "./compat.mjs";
7
+ import { dynamicTools } from "./dynamic-tools.mjs";
8
+ import { codeTool } from "./code-tool.mjs";
9
+ import docsSearchTool from "./docs-search-tool.mjs";
10
+ export { ClientType } from "./compat.mjs";
11
+ export { endpoints } from "./tools.mjs";
12
+ export const newMcpServer = () => new McpServer({
13
+ name: 'zavudev_sdk_api',
14
+ version: '0.14.0',
15
+ }, { capabilities: { tools: {}, logging: {} } });
16
+ // Create server instance
17
+ export const server = newMcpServer();
18
+ /**
19
+ * Initializes the provided MCP Server with the given tools and handlers.
20
+ * If not provided, the default client, tools and handlers will be used.
21
+ */
22
+ export function initMcpServer(params) {
23
+ const server = params.server instanceof McpServer ? params.server.server : params.server;
24
+ const mcpOptions = params.mcpOptions ?? {};
25
+ let providedEndpoints = null;
26
+ let endpointMap = null;
27
+ const initTools = async (implementation) => {
28
+ if (implementation && (!mcpOptions.client || mcpOptions.client === 'infer')) {
29
+ mcpOptions.client =
30
+ implementation.name.toLowerCase().includes('claude') ? 'claude'
31
+ : implementation.name.toLowerCase().includes('cursor') ? 'cursor'
32
+ : undefined;
33
+ mcpOptions.capabilities = {
34
+ ...(mcpOptions.client && knownClients[mcpOptions.client]),
35
+ ...mcpOptions.capabilities,
36
+ };
37
+ }
38
+ providedEndpoints ?? (providedEndpoints = await selectTools(endpoints, mcpOptions));
39
+ endpointMap ?? (endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint])));
40
+ };
41
+ const logAtLevel = (level) => (message, ...rest) => {
42
+ void server.sendLoggingMessage({
43
+ level,
44
+ data: { message, rest },
45
+ });
46
+ };
47
+ const logger = {
48
+ debug: logAtLevel('debug'),
49
+ info: logAtLevel('info'),
50
+ warn: logAtLevel('warning'),
51
+ error: logAtLevel('error'),
52
+ };
53
+ let client = new Zavudev({
54
+ logger,
55
+ ...params.clientOptions,
56
+ defaultHeaders: {
57
+ ...params.clientOptions?.defaultHeaders,
58
+ 'X-Stainless-MCP': 'true',
59
+ },
60
+ });
61
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
62
+ if (providedEndpoints === null) {
63
+ await initTools(server.getClientVersion());
64
+ }
65
+ return {
66
+ tools: providedEndpoints.map((endpoint) => endpoint.tool),
67
+ };
68
+ });
69
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
70
+ if (endpointMap === null) {
71
+ await initTools(server.getClientVersion());
72
+ }
73
+ const { name, arguments: args } = request.params;
74
+ const endpoint = endpointMap[name];
75
+ if (!endpoint) {
76
+ throw new Error(`Unknown tool: ${name}`);
77
+ }
78
+ return executeHandler(endpoint.tool, endpoint.handler, client, args, mcpOptions.capabilities);
79
+ });
80
+ server.setRequestHandler(SetLevelRequestSchema, async (request) => {
81
+ const { level } = request.params;
82
+ switch (level) {
83
+ case 'debug':
84
+ client = client.withOptions({ logLevel: 'debug' });
85
+ break;
86
+ case 'info':
87
+ client = client.withOptions({ logLevel: 'info' });
88
+ break;
89
+ case 'notice':
90
+ case 'warning':
91
+ client = client.withOptions({ logLevel: 'warn' });
92
+ break;
93
+ case 'error':
94
+ client = client.withOptions({ logLevel: 'error' });
95
+ break;
96
+ default:
97
+ client = client.withOptions({ logLevel: 'off' });
98
+ break;
99
+ }
100
+ return {};
101
+ });
102
+ }
103
+ /**
104
+ * Selects the tools to include in the MCP Server based on the provided options.
105
+ */
106
+ export async function selectTools(endpoints, options) {
107
+ const filteredEndpoints = query(options?.filters ?? [], endpoints);
108
+ let includedTools = filteredEndpoints.slice();
109
+ if (includedTools.length > 0) {
110
+ if (options?.includeDynamicTools) {
111
+ includedTools = dynamicTools(includedTools);
112
+ }
113
+ }
114
+ else {
115
+ if (options?.includeAllTools) {
116
+ includedTools = endpoints.slice();
117
+ }
118
+ else if (options?.includeDynamicTools) {
119
+ includedTools = dynamicTools(endpoints);
120
+ }
121
+ else if (options?.includeCodeTools) {
122
+ includedTools = [await codeTool()];
123
+ }
124
+ else {
125
+ includedTools = endpoints.slice();
126
+ }
127
+ }
128
+ if (options?.includeDocsTools ?? true) {
129
+ includedTools.push(docsSearchTool);
130
+ }
131
+ const capabilities = { ...defaultClientCapabilities, ...options?.capabilities };
132
+ return applyCompatibilityTransformations(includedTools, capabilities);
133
+ }
134
+ /**
135
+ * Runs the provided handler with the given client and arguments.
136
+ */
137
+ export async function executeHandler(tool, handler, client, args, compatibilityOptions) {
138
+ const options = { ...defaultClientCapabilities, ...compatibilityOptions };
139
+ if (!options.validJson && args) {
140
+ args = parseEmbeddedJSON(args, tool.inputSchema);
141
+ }
142
+ return await handler(client, args || {});
143
+ }
144
+ export const readEnv = (env) => {
145
+ if (typeof globalThis.process !== 'undefined') {
146
+ return globalThis.process.env?.[env]?.trim();
147
+ }
148
+ else if (typeof globalThis.Deno !== 'undefined') {
149
+ return globalThis.Deno.env?.get?.(env)?.trim();
150
+ }
151
+ return;
152
+ };
153
+ export const readEnvOrError = (env) => {
154
+ let envValue = readEnv(env);
155
+ if (envValue === undefined) {
156
+ throw new Error(`Environment variable ${env} is not set`);
157
+ }
158
+ return envValue;
159
+ };
160
+ //# sourceMappingURL=server.mjs.map
package/server.mjs.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { ClientOptions } from '@zavudev/sdk';
4
+
5
+ export type WorkerInput = {
6
+ opts: ClientOptions;
7
+ code: string;
8
+ };
9
+ export type WorkerSuccess = {
10
+ result: unknown | null;
11
+ logLines: string[];
12
+ errLines: string[];
13
+ };
14
+ export type WorkerError = {
15
+ message: string | undefined;
16
+ logLines: string[];
17
+ errLines: string[];
18
+ };
@@ -0,0 +1,59 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, ToolCallResult, asTextContentResult } from './tools/types';
4
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
5
+ import { readEnv } from './server';
6
+ import { WorkerSuccess } from './code-tool-types';
7
+ /**
8
+ * A tool that runs code against a copy of the SDK.
9
+ *
10
+ * Instead of exposing every endpoint as its own tool, which uses up too many tokens for LLMs to use at once,
11
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
12
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
13
+ *
14
+ * @param endpoints - The endpoints to include in the list.
15
+ */
16
+ export async function codeTool() {
17
+ const metadata: Metadata = { resource: 'all', operation: 'write', tags: [] };
18
+ const tool: Tool = {
19
+ name: 'execute',
20
+ description:
21
+ 'Runs JavaScript code to interact with the API.\n\nYou are a skilled programmer writing code to interface with the service.\nDefine an async function named "run" that takes a single parameter of an initialized SDK client and it will be run.\nWrite code within this template:\n\n```\nasync function run(client) {\n // Fill this out\n}\n```\n\nYou will be returned anything that your function returns, plus the results of any console.log statements.\nIf any code triggers an error, the tool will return an error response, so you do not need to add error handling unless you want to output something more helpful than the raw error.\nIt is not necessary to add comments to code, unless by adding those comments you believe that you can generate better code.\nThis code will run in a container, and you will not be able to use fetch or otherwise interact with the network calls other than through the client you are given.\nAny variables you define won\'t live between successive uses of this call, so make sure to return or log any data you might need later.',
22
+ inputSchema: { type: 'object', properties: { code: { type: 'string' } } },
23
+ };
24
+ const handler = async (_: unknown, args: any): Promise<ToolCallResult> => {
25
+ const code = args.code as string;
26
+
27
+ // this is not required, but passing a Stainless API key for the matching project_name
28
+ // will allow you to run code-mode queries against non-published versions of your SDK.
29
+ const stainlessAPIKey = readEnv('STAINLESS_API_KEY');
30
+ const codeModeEndpoint =
31
+ readEnv('CODE_MODE_ENDPOINT_URL') ?? 'https://api.stainless.com/api/ai/code-tool';
32
+
33
+ const res = await fetch(codeModeEndpoint, {
34
+ method: 'POST',
35
+ headers: {
36
+ ...(stainlessAPIKey && { Authorization: stainlessAPIKey }),
37
+ 'Content-Type': 'application/json',
38
+ client_envs: JSON.stringify({ ZAVUDEV_API_KEY: readEnv('ZAVUDEV_API_KEY') }),
39
+ },
40
+ body: JSON.stringify({
41
+ project_name: 'zavudev',
42
+ client_opts: {},
43
+ code,
44
+ }),
45
+ });
46
+
47
+ if (!res.ok) {
48
+ throw new Error(
49
+ `${res.status}: ${
50
+ res.statusText
51
+ } error when trying to contact Code Tool server. Details: ${await res.text()}`,
52
+ );
53
+ }
54
+
55
+ return asTextContentResult((await res.json()) as WorkerSuccess);
56
+ };
57
+
58
+ return { metadata, tool, handler };
59
+ }