@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/compat.js ADDED
@@ -0,0 +1,387 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.knownClients = exports.ClientType = exports.defaultClientCapabilities = void 0;
4
+ exports.parseEmbeddedJSON = parseEmbeddedJSON;
5
+ exports.truncateToolNames = truncateToolNames;
6
+ exports.removeTopLevelUnions = removeTopLevelUnions;
7
+ exports.findUsedDefs = findUsedDefs;
8
+ exports.inlineRefs = inlineRefs;
9
+ exports.removeAnyOf = removeAnyOf;
10
+ exports.removeFormats = removeFormats;
11
+ exports.applyCompatibilityTransformations = applyCompatibilityTransformations;
12
+ const zod_1 = require("zod");
13
+ exports.defaultClientCapabilities = {
14
+ topLevelUnions: true,
15
+ validJson: true,
16
+ refs: true,
17
+ unions: true,
18
+ formats: true,
19
+ toolNameLength: undefined,
20
+ };
21
+ exports.ClientType = zod_1.z.enum(['openai-agents', 'claude', 'claude-code', 'cursor', 'infer']);
22
+ // Client presets for compatibility
23
+ // Note that these could change over time as models get better, so this is
24
+ // a best effort.
25
+ exports.knownClients = {
26
+ 'openai-agents': {
27
+ topLevelUnions: false,
28
+ validJson: true,
29
+ refs: true,
30
+ unions: true,
31
+ formats: true,
32
+ toolNameLength: undefined,
33
+ },
34
+ claude: {
35
+ topLevelUnions: true,
36
+ validJson: false,
37
+ refs: true,
38
+ unions: true,
39
+ formats: true,
40
+ toolNameLength: undefined,
41
+ },
42
+ 'claude-code': {
43
+ topLevelUnions: false,
44
+ validJson: true,
45
+ refs: true,
46
+ unions: true,
47
+ formats: true,
48
+ toolNameLength: undefined,
49
+ },
50
+ cursor: {
51
+ topLevelUnions: false,
52
+ validJson: true,
53
+ refs: false,
54
+ unions: false,
55
+ formats: false,
56
+ toolNameLength: 50,
57
+ },
58
+ };
59
+ /**
60
+ * Attempts to parse strings into JSON objects
61
+ */
62
+ function parseEmbeddedJSON(args, schema) {
63
+ let updated = false;
64
+ const newArgs = Object.assign({}, args);
65
+ for (const [key, value] of Object.entries(newArgs)) {
66
+ if (typeof value === 'string') {
67
+ try {
68
+ const parsed = JSON.parse(value);
69
+ // Only parse if result is a plain object (not array, null, or primitive)
70
+ if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) {
71
+ newArgs[key] = parsed;
72
+ updated = true;
73
+ }
74
+ }
75
+ catch (e) {
76
+ // Not valid JSON, leave as is
77
+ }
78
+ }
79
+ }
80
+ if (updated) {
81
+ return newArgs;
82
+ }
83
+ return args;
84
+ }
85
+ /**
86
+ * Truncates tool names to the specified length while ensuring uniqueness.
87
+ * If truncation would cause duplicate names, appends a number to make them unique.
88
+ */
89
+ function truncateToolNames(names, maxLength) {
90
+ if (maxLength <= 0) {
91
+ return new Map();
92
+ }
93
+ const renameMap = new Map();
94
+ const usedNames = new Set();
95
+ const toTruncate = names.filter((name) => name.length > maxLength);
96
+ if (toTruncate.length === 0) {
97
+ return renameMap;
98
+ }
99
+ const willCollide = new Set(toTruncate.map((name) => name.slice(0, maxLength - 1))).size < toTruncate.length;
100
+ if (!willCollide) {
101
+ for (const name of toTruncate) {
102
+ const truncatedName = name.slice(0, maxLength);
103
+ renameMap.set(name, truncatedName);
104
+ }
105
+ }
106
+ else {
107
+ const baseLength = maxLength - 1;
108
+ for (const name of toTruncate) {
109
+ const baseName = name.slice(0, baseLength);
110
+ let counter = 1;
111
+ while (usedNames.has(baseName + counter)) {
112
+ counter++;
113
+ }
114
+ const finalName = baseName + counter;
115
+ renameMap.set(name, finalName);
116
+ usedNames.add(finalName);
117
+ }
118
+ }
119
+ return renameMap;
120
+ }
121
+ /**
122
+ * Removes top-level unions from a tool by splitting it into multiple tools,
123
+ * one for each variant in the union.
124
+ */
125
+ function removeTopLevelUnions(tool) {
126
+ const inputSchema = tool.inputSchema;
127
+ const variants = inputSchema.anyOf;
128
+ if (!variants || !Array.isArray(variants) || variants.length === 0) {
129
+ return [tool];
130
+ }
131
+ const defs = inputSchema.$defs || {};
132
+ return variants.map((variant, index) => {
133
+ const variantSchema = {
134
+ ...inputSchema,
135
+ ...variant,
136
+ type: 'object',
137
+ properties: {
138
+ ...(inputSchema.properties || {}),
139
+ ...(variant.properties || {}),
140
+ },
141
+ };
142
+ delete variantSchema.anyOf;
143
+ if (!variantSchema['description']) {
144
+ variantSchema['description'] = tool.description;
145
+ }
146
+ const usedDefs = findUsedDefs(variant, defs);
147
+ if (Object.keys(usedDefs).length > 0) {
148
+ variantSchema.$defs = usedDefs;
149
+ }
150
+ else {
151
+ delete variantSchema.$defs;
152
+ }
153
+ return {
154
+ ...tool,
155
+ name: `${tool.name}_${toSnakeCase(variant['title'] || `variant${index + 1}`)}`,
156
+ description: variant['description'] || tool.description,
157
+ inputSchema: variantSchema,
158
+ };
159
+ });
160
+ }
161
+ function findUsedDefs(schema, defs, visited = new Set()) {
162
+ const usedDefs = {};
163
+ if (typeof schema !== 'object' || schema === null) {
164
+ return usedDefs;
165
+ }
166
+ if (schema.$ref) {
167
+ const refParts = schema.$ref.split('/');
168
+ if (refParts[0] === '#' && refParts[1] === '$defs' && refParts[2]) {
169
+ const defName = refParts[2];
170
+ const def = defs[defName];
171
+ if (def && !visited.has(schema.$ref)) {
172
+ usedDefs[defName] = def;
173
+ visited.add(schema.$ref);
174
+ Object.assign(usedDefs, findUsedDefs(def, defs, visited));
175
+ visited.delete(schema.$ref);
176
+ }
177
+ }
178
+ return usedDefs;
179
+ }
180
+ for (const key in schema) {
181
+ if (key !== '$defs' && typeof schema[key] === 'object' && schema[key] !== null) {
182
+ Object.assign(usedDefs, findUsedDefs(schema[key], defs, visited));
183
+ }
184
+ }
185
+ return usedDefs;
186
+ }
187
+ /**
188
+ * Inlines all $refs in a schema, eliminating $defs.
189
+ * If a circular reference is detected, the circular property is removed.
190
+ */
191
+ function inlineRefs(schema) {
192
+ if (!schema || typeof schema !== 'object') {
193
+ return schema;
194
+ }
195
+ const clonedSchema = { ...schema };
196
+ const defs = schema.$defs || {};
197
+ delete clonedSchema.$defs;
198
+ const result = inlineRefsRecursive(clonedSchema, defs, new Set());
199
+ // The top level can never be null
200
+ return result === null ? {} : result;
201
+ }
202
+ function inlineRefsRecursive(schema, defs, refPath) {
203
+ if (!schema || typeof schema !== 'object') {
204
+ return schema;
205
+ }
206
+ if (Array.isArray(schema)) {
207
+ return schema.map((item) => {
208
+ const processed = inlineRefsRecursive(item, defs, refPath);
209
+ return processed === null ? {} : processed;
210
+ });
211
+ }
212
+ const result = { ...schema };
213
+ if ('$ref' in result && typeof result.$ref === 'string') {
214
+ if (result.$ref.startsWith('#/$defs/')) {
215
+ const refName = result.$ref.split('/').pop();
216
+ const def = defs[refName];
217
+ // If we've already seen this ref in our path, we have a circular reference
218
+ if (refPath.has(result.$ref)) {
219
+ // For circular references, we completely remove the property
220
+ // by returning null. The parent will remove it.
221
+ return null;
222
+ }
223
+ if (def) {
224
+ const newRefPath = new Set(refPath);
225
+ newRefPath.add(result.$ref);
226
+ const inlinedDef = inlineRefsRecursive({ ...def }, defs, newRefPath);
227
+ if (inlinedDef === null) {
228
+ return { ...result };
229
+ }
230
+ // Merge the inlined definition with the original schema's properties
231
+ // but preserve things like description, etc.
232
+ const { $ref, ...rest } = result;
233
+ return { ...inlinedDef, ...rest };
234
+ }
235
+ }
236
+ // Keep external refs as-is
237
+ return result;
238
+ }
239
+ for (const key in result) {
240
+ if (result[key] && typeof result[key] === 'object') {
241
+ const processed = inlineRefsRecursive(result[key], defs, refPath);
242
+ if (processed === null) {
243
+ // Remove properties that would cause circular references
244
+ delete result[key];
245
+ }
246
+ else {
247
+ result[key] = processed;
248
+ }
249
+ }
250
+ }
251
+ return result;
252
+ }
253
+ /**
254
+ * Removes anyOf fields from a schema, using only the first variant.
255
+ */
256
+ function removeAnyOf(schema) {
257
+ if (!schema || typeof schema !== 'object') {
258
+ return schema;
259
+ }
260
+ if (Array.isArray(schema)) {
261
+ return schema.map((item) => removeAnyOf(item));
262
+ }
263
+ const result = { ...schema };
264
+ if ('anyOf' in result && Array.isArray(result.anyOf) && result.anyOf.length > 0) {
265
+ const firstVariant = result.anyOf[0];
266
+ if (firstVariant && typeof firstVariant === 'object') {
267
+ // Special handling for properties to ensure deep merge
268
+ if (firstVariant.properties && result.properties) {
269
+ result.properties = {
270
+ ...result.properties,
271
+ ...firstVariant.properties,
272
+ };
273
+ }
274
+ else if (firstVariant.properties) {
275
+ result.properties = { ...firstVariant.properties };
276
+ }
277
+ for (const key in firstVariant) {
278
+ if (key !== 'properties') {
279
+ result[key] = firstVariant[key];
280
+ }
281
+ }
282
+ }
283
+ delete result.anyOf;
284
+ }
285
+ for (const key in result) {
286
+ if (result[key] && typeof result[key] === 'object') {
287
+ result[key] = removeAnyOf(result[key]);
288
+ }
289
+ }
290
+ return result;
291
+ }
292
+ /**
293
+ * Removes format fields from a schema and appends them to the description.
294
+ */
295
+ function removeFormats(schema, formatsCapability) {
296
+ if (formatsCapability) {
297
+ return schema;
298
+ }
299
+ if (!schema || typeof schema !== 'object') {
300
+ return schema;
301
+ }
302
+ if (Array.isArray(schema)) {
303
+ return schema.map((item) => removeFormats(item, formatsCapability));
304
+ }
305
+ const result = { ...schema };
306
+ if ('format' in result && typeof result['format'] === 'string') {
307
+ const formatStr = `(format: "${result['format']}")`;
308
+ if ('description' in result && typeof result['description'] === 'string') {
309
+ result['description'] = `${result['description']} ${formatStr}`;
310
+ }
311
+ else {
312
+ result['description'] = formatStr;
313
+ }
314
+ delete result['format'];
315
+ }
316
+ for (const key in result) {
317
+ if (result[key] && typeof result[key] === 'object') {
318
+ result[key] = removeFormats(result[key], formatsCapability);
319
+ }
320
+ }
321
+ return result;
322
+ }
323
+ /**
324
+ * Applies all compatibility transformations to the endpoints based on the provided capabilities.
325
+ */
326
+ function applyCompatibilityTransformations(endpoints, capabilities) {
327
+ let transformedEndpoints = [...endpoints];
328
+ // Handle top-level unions first as this changes tool names
329
+ if (!capabilities.topLevelUnions) {
330
+ const newEndpoints = [];
331
+ for (const endpoint of transformedEndpoints) {
332
+ const variantTools = removeTopLevelUnions(endpoint.tool);
333
+ if (variantTools.length === 1) {
334
+ newEndpoints.push(endpoint);
335
+ }
336
+ else {
337
+ for (const variantTool of variantTools) {
338
+ newEndpoints.push({
339
+ ...endpoint,
340
+ tool: variantTool,
341
+ });
342
+ }
343
+ }
344
+ }
345
+ transformedEndpoints = newEndpoints;
346
+ }
347
+ if (capabilities.toolNameLength) {
348
+ const toolNames = transformedEndpoints.map((endpoint) => endpoint.tool.name);
349
+ const renameMap = truncateToolNames(toolNames, capabilities.toolNameLength);
350
+ transformedEndpoints = transformedEndpoints.map((endpoint) => ({
351
+ ...endpoint,
352
+ tool: {
353
+ ...endpoint.tool,
354
+ name: renameMap.get(endpoint.tool.name) ?? endpoint.tool.name,
355
+ },
356
+ }));
357
+ }
358
+ if (!capabilities.refs || !capabilities.unions || !capabilities.formats) {
359
+ transformedEndpoints = transformedEndpoints.map((endpoint) => {
360
+ let schema = endpoint.tool.inputSchema;
361
+ if (!capabilities.refs) {
362
+ schema = inlineRefs(schema);
363
+ }
364
+ if (!capabilities.unions) {
365
+ schema = removeAnyOf(schema);
366
+ }
367
+ if (!capabilities.formats) {
368
+ schema = removeFormats(schema, capabilities.formats);
369
+ }
370
+ return {
371
+ ...endpoint,
372
+ tool: {
373
+ ...endpoint.tool,
374
+ inputSchema: schema,
375
+ },
376
+ };
377
+ });
378
+ }
379
+ return transformedEndpoints;
380
+ }
381
+ function toSnakeCase(str) {
382
+ return str
383
+ .replace(/\s+/g, '_')
384
+ .replace(/([a-z])([A-Z])/g, '$1_$2')
385
+ .toLowerCase();
386
+ }
387
+ //# sourceMappingURL=compat.js.map
package/compat.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compat.js","sourceRoot":"","sources":["src/compat.ts"],"names":[],"mappings":"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"}