@imagekit/api-mcp 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (531) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +351 -0
  3. package/code-tool-paths.cjs +6 -0
  4. package/code-tool-paths.cjs.map +1 -0
  5. package/code-tool-paths.d.cts +2 -0
  6. package/code-tool-paths.d.cts.map +1 -0
  7. package/code-tool-types.d.mts +14 -0
  8. package/code-tool-types.d.mts.map +1 -0
  9. package/code-tool-types.d.ts +14 -0
  10. package/code-tool-types.d.ts.map +1 -0
  11. package/code-tool-types.js +4 -0
  12. package/code-tool-types.js.map +1 -0
  13. package/code-tool-types.mjs +3 -0
  14. package/code-tool-types.mjs.map +1 -0
  15. package/code-tool-worker.d.mts +5 -0
  16. package/code-tool-worker.d.mts.map +1 -0
  17. package/code-tool-worker.d.ts +5 -0
  18. package/code-tool-worker.d.ts.map +1 -0
  19. package/code-tool-worker.js +45 -0
  20. package/code-tool-worker.js.map +1 -0
  21. package/code-tool-worker.mjs +40 -0
  22. package/code-tool-worker.mjs.map +1 -0
  23. package/code-tool.d.mts +12 -0
  24. package/code-tool.d.mts.map +1 -0
  25. package/code-tool.d.ts +12 -0
  26. package/code-tool.d.ts.map +1 -0
  27. package/code-tool.js +159 -0
  28. package/code-tool.js.map +1 -0
  29. package/code-tool.mjs +123 -0
  30. package/code-tool.mjs.map +1 -0
  31. package/compat.d.mts +58 -0
  32. package/compat.d.mts.map +1 -0
  33. package/compat.d.ts +58 -0
  34. package/compat.d.ts.map +1 -0
  35. package/compat.js +387 -0
  36. package/compat.js.map +1 -0
  37. package/compat.mjs +378 -0
  38. package/compat.mjs.map +1 -0
  39. package/docs-search-tool.d.mts +44 -0
  40. package/docs-search-tool.d.mts.map +1 -0
  41. package/docs-search-tool.d.ts +44 -0
  42. package/docs-search-tool.d.ts.map +1 -0
  43. package/docs-search-tool.js +43 -0
  44. package/docs-search-tool.js.map +1 -0
  45. package/docs-search-tool.mjs +39 -0
  46. package/docs-search-tool.mjs.map +1 -0
  47. package/dynamic-tools.d.mts +12 -0
  48. package/dynamic-tools.d.mts.map +1 -0
  49. package/dynamic-tools.d.ts +12 -0
  50. package/dynamic-tools.d.ts.map +1 -0
  51. package/dynamic-tools.js +135 -0
  52. package/dynamic-tools.js.map +1 -0
  53. package/dynamic-tools.mjs +132 -0
  54. package/dynamic-tools.mjs.map +1 -0
  55. package/filtering.d.mts +2 -0
  56. package/filtering.d.mts.map +1 -0
  57. package/filtering.d.ts +2 -0
  58. package/filtering.d.ts.map +1 -0
  59. package/filtering.js +20 -0
  60. package/filtering.js.map +1 -0
  61. package/filtering.mjs +13 -0
  62. package/filtering.mjs.map +1 -0
  63. package/headers.d.mts +4 -0
  64. package/headers.d.mts.map +1 -0
  65. package/headers.d.ts +4 -0
  66. package/headers.d.ts.map +1 -0
  67. package/headers.js +29 -0
  68. package/headers.js.map +1 -0
  69. package/headers.mjs +25 -0
  70. package/headers.mjs.map +1 -0
  71. package/http.d.mts +9 -0
  72. package/http.d.mts.map +1 -0
  73. package/http.d.ts +9 -0
  74. package/http.d.ts.map +1 -0
  75. package/http.js +108 -0
  76. package/http.js.map +1 -0
  77. package/http.mjs +100 -0
  78. package/http.mjs.map +1 -0
  79. package/index.d.mts +3 -0
  80. package/index.d.mts.map +1 -0
  81. package/index.d.ts +3 -0
  82. package/index.d.ts.map +1 -0
  83. package/index.js +91 -0
  84. package/index.js.map +1 -0
  85. package/index.mjs +89 -0
  86. package/index.mjs.map +1 -0
  87. package/options.d.mts +20 -0
  88. package/options.d.mts.map +1 -0
  89. package/options.d.ts +20 -0
  90. package/options.d.ts.map +1 -0
  91. package/options.js +424 -0
  92. package/options.js.map +1 -0
  93. package/options.mjs +417 -0
  94. package/options.mjs.map +1 -0
  95. package/package.json +216 -0
  96. package/server.d.mts +35 -0
  97. package/server.d.mts.map +1 -0
  98. package/server.d.ts +35 -0
  99. package/server.d.ts.map +1 -0
  100. package/server.js +174 -0
  101. package/server.js.map +1 -0
  102. package/server.mjs +160 -0
  103. package/server.mjs.map +1 -0
  104. package/src/code-tool-paths.cts +3 -0
  105. package/src/code-tool-types.ts +14 -0
  106. package/src/code-tool-worker.ts +46 -0
  107. package/src/code-tool.ts +148 -0
  108. package/src/compat.ts +483 -0
  109. package/src/docs-search-tool.ts +48 -0
  110. package/src/dynamic-tools.ts +153 -0
  111. package/src/filtering.ts +14 -0
  112. package/src/headers.ts +31 -0
  113. package/src/http.ts +127 -0
  114. package/src/index.ts +108 -0
  115. package/src/options.ts +466 -0
  116. package/src/server.ts +207 -0
  117. package/src/stdio.ts +13 -0
  118. package/src/tools/accounts/origins/create-accounts-origins.ts +318 -0
  119. package/src/tools/accounts/origins/delete-accounts-origins.ts +43 -0
  120. package/src/tools/accounts/origins/get-accounts-origins.ts +41 -0
  121. package/src/tools/accounts/origins/list-accounts-origins.ts +35 -0
  122. package/src/tools/accounts/origins/update-accounts-origins.ts +360 -0
  123. package/src/tools/accounts/url-endpoints/create-accounts-url-endpoints.ts +103 -0
  124. package/src/tools/accounts/url-endpoints/delete-accounts-url-endpoints.ts +43 -0
  125. package/src/tools/accounts/url-endpoints/get-accounts-url-endpoints.ts +49 -0
  126. package/src/tools/accounts/url-endpoints/list-accounts-url-endpoints.ts +44 -0
  127. package/src/tools/accounts/url-endpoints/update-accounts-url-endpoints.ts +112 -0
  128. package/src/tools/accounts/usage/get-accounts-usage.ts +56 -0
  129. package/src/tools/assets/list-assets.ts +94 -0
  130. package/src/tools/beta/v2/files/upload-v2-beta-files.ts +316 -0
  131. package/src/tools/cache/invalidation/create-cache-invalidation.ts +46 -0
  132. package/src/tools/cache/invalidation/get-cache-invalidation.ts +47 -0
  133. package/src/tools/custom-metadata-fields/create-custom-metadata-fields.ts +154 -0
  134. package/src/tools/custom-metadata-fields/delete-custom-metadata-fields.ts +47 -0
  135. package/src/tools/custom-metadata-fields/list-custom-metadata-fields.ts +53 -0
  136. package/src/tools/custom-metadata-fields/update-custom-metadata-fields.ts +150 -0
  137. package/src/tools/files/bulk/add-tags-files-bulk.ts +56 -0
  138. package/src/tools/files/bulk/delete-files-bulk.ts +49 -0
  139. package/src/tools/files/bulk/remove-ai-tags-files-bulk.ts +56 -0
  140. package/src/tools/files/bulk/remove-tags-files-bulk.ts +56 -0
  141. package/src/tools/files/copy-files.ts +55 -0
  142. package/src/tools/files/delete-files.ts +41 -0
  143. package/src/tools/files/get-files.ts +47 -0
  144. package/src/tools/files/metadata/get-files-metadata.ts +47 -0
  145. package/src/tools/files/metadata/get-from-url-files-metadata.ts +48 -0
  146. package/src/tools/files/move-files.ts +50 -0
  147. package/src/tools/files/rename-files.ts +58 -0
  148. package/src/tools/files/update-files.ts +196 -0
  149. package/src/tools/files/upload-files.ts +332 -0
  150. package/src/tools/files/versions/delete-files-versions.ts +52 -0
  151. package/src/tools/files/versions/get-files-versions.ts +50 -0
  152. package/src/tools/files/versions/list-files-versions.ts +47 -0
  153. package/src/tools/files/versions/restore-files-versions.ts +52 -0
  154. package/src/tools/folders/copy-folders.ts +55 -0
  155. package/src/tools/folders/create-folders.ts +52 -0
  156. package/src/tools/folders/delete-folders.ts +48 -0
  157. package/src/tools/folders/job/get-folders-job.ts +47 -0
  158. package/src/tools/folders/move-folders.ts +50 -0
  159. package/src/tools/folders/rename-folders.ts +56 -0
  160. package/src/tools/index.ts +153 -0
  161. package/src/tools/types.ts +103 -0
  162. package/src/tools.ts +1 -0
  163. package/src/tsconfig.json +11 -0
  164. package/stdio.d.mts +3 -0
  165. package/stdio.d.mts.map +1 -0
  166. package/stdio.d.ts +3 -0
  167. package/stdio.d.ts.map +1 -0
  168. package/stdio.js +14 -0
  169. package/stdio.js.map +1 -0
  170. package/stdio.mjs +10 -0
  171. package/stdio.mjs.map +1 -0
  172. package/tools/accounts/origins/create-accounts-origins.d.mts +45 -0
  173. package/tools/accounts/origins/create-accounts-origins.d.mts.map +1 -0
  174. package/tools/accounts/origins/create-accounts-origins.d.ts +45 -0
  175. package/tools/accounts/origins/create-accounts-origins.d.ts.map +1 -0
  176. package/tools/accounts/origins/create-accounts-origins.js +314 -0
  177. package/tools/accounts/origins/create-accounts-origins.js.map +1 -0
  178. package/tools/accounts/origins/create-accounts-origins.mjs +310 -0
  179. package/tools/accounts/origins/create-accounts-origins.mjs.map +1 -0
  180. package/tools/accounts/origins/delete-accounts-origins.d.mts +45 -0
  181. package/tools/accounts/origins/delete-accounts-origins.d.mts.map +1 -0
  182. package/tools/accounts/origins/delete-accounts-origins.d.ts +45 -0
  183. package/tools/accounts/origins/delete-accounts-origins.d.ts.map +1 -0
  184. package/tools/accounts/origins/delete-accounts-origins.js +38 -0
  185. package/tools/accounts/origins/delete-accounts-origins.js.map +1 -0
  186. package/tools/accounts/origins/delete-accounts-origins.mjs +34 -0
  187. package/tools/accounts/origins/delete-accounts-origins.mjs.map +1 -0
  188. package/tools/accounts/origins/get-accounts-origins.d.mts +45 -0
  189. package/tools/accounts/origins/get-accounts-origins.d.mts.map +1 -0
  190. package/tools/accounts/origins/get-accounts-origins.d.ts +45 -0
  191. package/tools/accounts/origins/get-accounts-origins.d.ts.map +1 -0
  192. package/tools/accounts/origins/get-accounts-origins.js +37 -0
  193. package/tools/accounts/origins/get-accounts-origins.js.map +1 -0
  194. package/tools/accounts/origins/get-accounts-origins.mjs +33 -0
  195. package/tools/accounts/origins/get-accounts-origins.mjs.map +1 -0
  196. package/tools/accounts/origins/list-accounts-origins.d.mts +45 -0
  197. package/tools/accounts/origins/list-accounts-origins.d.mts.map +1 -0
  198. package/tools/accounts/origins/list-accounts-origins.d.ts +45 -0
  199. package/tools/accounts/origins/list-accounts-origins.d.ts.map +1 -0
  200. package/tools/accounts/origins/list-accounts-origins.js +31 -0
  201. package/tools/accounts/origins/list-accounts-origins.js.map +1 -0
  202. package/tools/accounts/origins/list-accounts-origins.mjs +27 -0
  203. package/tools/accounts/origins/list-accounts-origins.mjs.map +1 -0
  204. package/tools/accounts/origins/update-accounts-origins.d.mts +45 -0
  205. package/tools/accounts/origins/update-accounts-origins.d.mts.map +1 -0
  206. package/tools/accounts/origins/update-accounts-origins.d.ts +45 -0
  207. package/tools/accounts/origins/update-accounts-origins.d.ts.map +1 -0
  208. package/tools/accounts/origins/update-accounts-origins.js +348 -0
  209. package/tools/accounts/origins/update-accounts-origins.js.map +1 -0
  210. package/tools/accounts/origins/update-accounts-origins.mjs +344 -0
  211. package/tools/accounts/origins/update-accounts-origins.mjs.map +1 -0
  212. package/tools/accounts/url-endpoints/create-accounts-url-endpoints.d.mts +45 -0
  213. package/tools/accounts/url-endpoints/create-accounts-url-endpoints.d.mts.map +1 -0
  214. package/tools/accounts/url-endpoints/create-accounts-url-endpoints.d.ts +45 -0
  215. package/tools/accounts/url-endpoints/create-accounts-url-endpoints.d.ts.map +1 -0
  216. package/tools/accounts/url-endpoints/create-accounts-url-endpoints.js +95 -0
  217. package/tools/accounts/url-endpoints/create-accounts-url-endpoints.js.map +1 -0
  218. package/tools/accounts/url-endpoints/create-accounts-url-endpoints.mjs +91 -0
  219. package/tools/accounts/url-endpoints/create-accounts-url-endpoints.mjs.map +1 -0
  220. package/tools/accounts/url-endpoints/delete-accounts-url-endpoints.d.mts +45 -0
  221. package/tools/accounts/url-endpoints/delete-accounts-url-endpoints.d.mts.map +1 -0
  222. package/tools/accounts/url-endpoints/delete-accounts-url-endpoints.d.ts +45 -0
  223. package/tools/accounts/url-endpoints/delete-accounts-url-endpoints.d.ts.map +1 -0
  224. package/tools/accounts/url-endpoints/delete-accounts-url-endpoints.js +38 -0
  225. package/tools/accounts/url-endpoints/delete-accounts-url-endpoints.js.map +1 -0
  226. package/tools/accounts/url-endpoints/delete-accounts-url-endpoints.mjs +34 -0
  227. package/tools/accounts/url-endpoints/delete-accounts-url-endpoints.mjs.map +1 -0
  228. package/tools/accounts/url-endpoints/get-accounts-url-endpoints.d.mts +45 -0
  229. package/tools/accounts/url-endpoints/get-accounts-url-endpoints.d.mts.map +1 -0
  230. package/tools/accounts/url-endpoints/get-accounts-url-endpoints.d.ts +45 -0
  231. package/tools/accounts/url-endpoints/get-accounts-url-endpoints.d.ts.map +1 -0
  232. package/tools/accounts/url-endpoints/get-accounts-url-endpoints.js +43 -0
  233. package/tools/accounts/url-endpoints/get-accounts-url-endpoints.js.map +1 -0
  234. package/tools/accounts/url-endpoints/get-accounts-url-endpoints.mjs +39 -0
  235. package/tools/accounts/url-endpoints/get-accounts-url-endpoints.mjs.map +1 -0
  236. package/tools/accounts/url-endpoints/list-accounts-url-endpoints.d.mts +45 -0
  237. package/tools/accounts/url-endpoints/list-accounts-url-endpoints.d.mts.map +1 -0
  238. package/tools/accounts/url-endpoints/list-accounts-url-endpoints.d.ts +45 -0
  239. package/tools/accounts/url-endpoints/list-accounts-url-endpoints.d.ts.map +1 -0
  240. package/tools/accounts/url-endpoints/list-accounts-url-endpoints.js +39 -0
  241. package/tools/accounts/url-endpoints/list-accounts-url-endpoints.js.map +1 -0
  242. package/tools/accounts/url-endpoints/list-accounts-url-endpoints.mjs +35 -0
  243. package/tools/accounts/url-endpoints/list-accounts-url-endpoints.mjs.map +1 -0
  244. package/tools/accounts/url-endpoints/update-accounts-url-endpoints.d.mts +45 -0
  245. package/tools/accounts/url-endpoints/update-accounts-url-endpoints.d.mts.map +1 -0
  246. package/tools/accounts/url-endpoints/update-accounts-url-endpoints.d.ts +45 -0
  247. package/tools/accounts/url-endpoints/update-accounts-url-endpoints.d.ts.map +1 -0
  248. package/tools/accounts/url-endpoints/update-accounts-url-endpoints.js +101 -0
  249. package/tools/accounts/url-endpoints/update-accounts-url-endpoints.js.map +1 -0
  250. package/tools/accounts/url-endpoints/update-accounts-url-endpoints.mjs +97 -0
  251. package/tools/accounts/url-endpoints/update-accounts-url-endpoints.mjs.map +1 -0
  252. package/tools/accounts/usage/get-accounts-usage.d.mts +45 -0
  253. package/tools/accounts/usage/get-accounts-usage.d.mts.map +1 -0
  254. package/tools/accounts/usage/get-accounts-usage.d.ts +45 -0
  255. package/tools/accounts/usage/get-accounts-usage.d.ts.map +1 -0
  256. package/tools/accounts/usage/get-accounts-usage.js +49 -0
  257. package/tools/accounts/usage/get-accounts-usage.js.map +1 -0
  258. package/tools/accounts/usage/get-accounts-usage.mjs +45 -0
  259. package/tools/accounts/usage/get-accounts-usage.mjs.map +1 -0
  260. package/tools/assets/list-assets.d.mts +45 -0
  261. package/tools/assets/list-assets.d.mts.map +1 -0
  262. package/tools/assets/list-assets.d.ts +45 -0
  263. package/tools/assets/list-assets.d.ts.map +1 -0
  264. package/tools/assets/list-assets.js +85 -0
  265. package/tools/assets/list-assets.js.map +1 -0
  266. package/tools/assets/list-assets.mjs +81 -0
  267. package/tools/assets/list-assets.mjs.map +1 -0
  268. package/tools/beta/v2/files/upload-v2-beta-files.d.mts +45 -0
  269. package/tools/beta/v2/files/upload-v2-beta-files.d.mts.map +1 -0
  270. package/tools/beta/v2/files/upload-v2-beta-files.d.ts +45 -0
  271. package/tools/beta/v2/files/upload-v2-beta-files.d.ts.map +1 -0
  272. package/tools/beta/v2/files/upload-v2-beta-files.js +286 -0
  273. package/tools/beta/v2/files/upload-v2-beta-files.js.map +1 -0
  274. package/tools/beta/v2/files/upload-v2-beta-files.mjs +282 -0
  275. package/tools/beta/v2/files/upload-v2-beta-files.mjs.map +1 -0
  276. package/tools/cache/invalidation/create-cache-invalidation.d.mts +45 -0
  277. package/tools/cache/invalidation/create-cache-invalidation.d.mts.map +1 -0
  278. package/tools/cache/invalidation/create-cache-invalidation.d.ts +45 -0
  279. package/tools/cache/invalidation/create-cache-invalidation.d.ts.map +1 -0
  280. package/tools/cache/invalidation/create-cache-invalidation.js +41 -0
  281. package/tools/cache/invalidation/create-cache-invalidation.js.map +1 -0
  282. package/tools/cache/invalidation/create-cache-invalidation.mjs +37 -0
  283. package/tools/cache/invalidation/create-cache-invalidation.mjs.map +1 -0
  284. package/tools/cache/invalidation/get-cache-invalidation.d.mts +45 -0
  285. package/tools/cache/invalidation/get-cache-invalidation.d.mts.map +1 -0
  286. package/tools/cache/invalidation/get-cache-invalidation.d.ts +45 -0
  287. package/tools/cache/invalidation/get-cache-invalidation.d.ts.map +1 -0
  288. package/tools/cache/invalidation/get-cache-invalidation.js +42 -0
  289. package/tools/cache/invalidation/get-cache-invalidation.js.map +1 -0
  290. package/tools/cache/invalidation/get-cache-invalidation.mjs +38 -0
  291. package/tools/cache/invalidation/get-cache-invalidation.mjs.map +1 -0
  292. package/tools/custom-metadata-fields/create-custom-metadata-fields.d.mts +45 -0
  293. package/tools/custom-metadata-fields/create-custom-metadata-fields.d.mts.map +1 -0
  294. package/tools/custom-metadata-fields/create-custom-metadata-fields.d.ts +45 -0
  295. package/tools/custom-metadata-fields/create-custom-metadata-fields.d.ts.map +1 -0
  296. package/tools/custom-metadata-fields/create-custom-metadata-fields.js +139 -0
  297. package/tools/custom-metadata-fields/create-custom-metadata-fields.js.map +1 -0
  298. package/tools/custom-metadata-fields/create-custom-metadata-fields.mjs +135 -0
  299. package/tools/custom-metadata-fields/create-custom-metadata-fields.mjs.map +1 -0
  300. package/tools/custom-metadata-fields/delete-custom-metadata-fields.d.mts +45 -0
  301. package/tools/custom-metadata-fields/delete-custom-metadata-fields.d.mts.map +1 -0
  302. package/tools/custom-metadata-fields/delete-custom-metadata-fields.d.ts +45 -0
  303. package/tools/custom-metadata-fields/delete-custom-metadata-fields.d.ts.map +1 -0
  304. package/tools/custom-metadata-fields/delete-custom-metadata-fields.js +42 -0
  305. package/tools/custom-metadata-fields/delete-custom-metadata-fields.js.map +1 -0
  306. package/tools/custom-metadata-fields/delete-custom-metadata-fields.mjs +38 -0
  307. package/tools/custom-metadata-fields/delete-custom-metadata-fields.mjs.map +1 -0
  308. package/tools/custom-metadata-fields/list-custom-metadata-fields.d.mts +45 -0
  309. package/tools/custom-metadata-fields/list-custom-metadata-fields.d.mts.map +1 -0
  310. package/tools/custom-metadata-fields/list-custom-metadata-fields.d.ts +45 -0
  311. package/tools/custom-metadata-fields/list-custom-metadata-fields.d.ts.map +1 -0
  312. package/tools/custom-metadata-fields/list-custom-metadata-fields.js +47 -0
  313. package/tools/custom-metadata-fields/list-custom-metadata-fields.js.map +1 -0
  314. package/tools/custom-metadata-fields/list-custom-metadata-fields.mjs +43 -0
  315. package/tools/custom-metadata-fields/list-custom-metadata-fields.mjs.map +1 -0
  316. package/tools/custom-metadata-fields/update-custom-metadata-fields.d.mts +45 -0
  317. package/tools/custom-metadata-fields/update-custom-metadata-fields.d.mts.map +1 -0
  318. package/tools/custom-metadata-fields/update-custom-metadata-fields.d.ts +45 -0
  319. package/tools/custom-metadata-fields/update-custom-metadata-fields.d.ts.map +1 -0
  320. package/tools/custom-metadata-fields/update-custom-metadata-fields.js +133 -0
  321. package/tools/custom-metadata-fields/update-custom-metadata-fields.js.map +1 -0
  322. package/tools/custom-metadata-fields/update-custom-metadata-fields.mjs +129 -0
  323. package/tools/custom-metadata-fields/update-custom-metadata-fields.mjs.map +1 -0
  324. package/tools/files/bulk/add-tags-files-bulk.d.mts +45 -0
  325. package/tools/files/bulk/add-tags-files-bulk.d.mts.map +1 -0
  326. package/tools/files/bulk/add-tags-files-bulk.d.ts +45 -0
  327. package/tools/files/bulk/add-tags-files-bulk.d.ts.map +1 -0
  328. package/tools/files/bulk/add-tags-files-bulk.js +51 -0
  329. package/tools/files/bulk/add-tags-files-bulk.js.map +1 -0
  330. package/tools/files/bulk/add-tags-files-bulk.mjs +47 -0
  331. package/tools/files/bulk/add-tags-files-bulk.mjs.map +1 -0
  332. package/tools/files/bulk/delete-files-bulk.d.mts +45 -0
  333. package/tools/files/bulk/delete-files-bulk.d.mts.map +1 -0
  334. package/tools/files/bulk/delete-files-bulk.d.ts +45 -0
  335. package/tools/files/bulk/delete-files-bulk.d.ts.map +1 -0
  336. package/tools/files/bulk/delete-files-bulk.js +44 -0
  337. package/tools/files/bulk/delete-files-bulk.js.map +1 -0
  338. package/tools/files/bulk/delete-files-bulk.mjs +40 -0
  339. package/tools/files/bulk/delete-files-bulk.mjs.map +1 -0
  340. package/tools/files/bulk/remove-ai-tags-files-bulk.d.mts +45 -0
  341. package/tools/files/bulk/remove-ai-tags-files-bulk.d.mts.map +1 -0
  342. package/tools/files/bulk/remove-ai-tags-files-bulk.d.ts +45 -0
  343. package/tools/files/bulk/remove-ai-tags-files-bulk.d.ts.map +1 -0
  344. package/tools/files/bulk/remove-ai-tags-files-bulk.js +51 -0
  345. package/tools/files/bulk/remove-ai-tags-files-bulk.js.map +1 -0
  346. package/tools/files/bulk/remove-ai-tags-files-bulk.mjs +47 -0
  347. package/tools/files/bulk/remove-ai-tags-files-bulk.mjs.map +1 -0
  348. package/tools/files/bulk/remove-tags-files-bulk.d.mts +45 -0
  349. package/tools/files/bulk/remove-tags-files-bulk.d.mts.map +1 -0
  350. package/tools/files/bulk/remove-tags-files-bulk.d.ts +45 -0
  351. package/tools/files/bulk/remove-tags-files-bulk.d.ts.map +1 -0
  352. package/tools/files/bulk/remove-tags-files-bulk.js +51 -0
  353. package/tools/files/bulk/remove-tags-files-bulk.js.map +1 -0
  354. package/tools/files/bulk/remove-tags-files-bulk.mjs +47 -0
  355. package/tools/files/bulk/remove-tags-files-bulk.mjs.map +1 -0
  356. package/tools/files/copy-files.d.mts +45 -0
  357. package/tools/files/copy-files.d.mts.map +1 -0
  358. package/tools/files/copy-files.d.ts +45 -0
  359. package/tools/files/copy-files.d.ts.map +1 -0
  360. package/tools/files/copy-files.js +49 -0
  361. package/tools/files/copy-files.js.map +1 -0
  362. package/tools/files/copy-files.mjs +45 -0
  363. package/tools/files/copy-files.mjs.map +1 -0
  364. package/tools/files/delete-files.d.mts +45 -0
  365. package/tools/files/delete-files.d.mts.map +1 -0
  366. package/tools/files/delete-files.d.ts +45 -0
  367. package/tools/files/delete-files.d.ts.map +1 -0
  368. package/tools/files/delete-files.js +37 -0
  369. package/tools/files/delete-files.js.map +1 -0
  370. package/tools/files/delete-files.mjs +33 -0
  371. package/tools/files/delete-files.mjs.map +1 -0
  372. package/tools/files/get-files.d.mts +45 -0
  373. package/tools/files/get-files.d.mts.map +1 -0
  374. package/tools/files/get-files.d.ts +45 -0
  375. package/tools/files/get-files.d.ts.map +1 -0
  376. package/tools/files/get-files.js +42 -0
  377. package/tools/files/get-files.js.map +1 -0
  378. package/tools/files/get-files.mjs +38 -0
  379. package/tools/files/get-files.mjs.map +1 -0
  380. package/tools/files/metadata/get-files-metadata.d.mts +45 -0
  381. package/tools/files/metadata/get-files-metadata.d.mts.map +1 -0
  382. package/tools/files/metadata/get-files-metadata.d.ts +45 -0
  383. package/tools/files/metadata/get-files-metadata.d.ts.map +1 -0
  384. package/tools/files/metadata/get-files-metadata.js +42 -0
  385. package/tools/files/metadata/get-files-metadata.js.map +1 -0
  386. package/tools/files/metadata/get-files-metadata.mjs +38 -0
  387. package/tools/files/metadata/get-files-metadata.mjs.map +1 -0
  388. package/tools/files/metadata/get-from-url-files-metadata.d.mts +45 -0
  389. package/tools/files/metadata/get-from-url-files-metadata.d.mts.map +1 -0
  390. package/tools/files/metadata/get-from-url-files-metadata.d.ts +45 -0
  391. package/tools/files/metadata/get-from-url-files-metadata.d.ts.map +1 -0
  392. package/tools/files/metadata/get-from-url-files-metadata.js +43 -0
  393. package/tools/files/metadata/get-from-url-files-metadata.js.map +1 -0
  394. package/tools/files/metadata/get-from-url-files-metadata.mjs +39 -0
  395. package/tools/files/metadata/get-from-url-files-metadata.mjs.map +1 -0
  396. package/tools/files/move-files.d.mts +45 -0
  397. package/tools/files/move-files.d.mts.map +1 -0
  398. package/tools/files/move-files.d.ts +45 -0
  399. package/tools/files/move-files.d.ts.map +1 -0
  400. package/tools/files/move-files.js +45 -0
  401. package/tools/files/move-files.js.map +1 -0
  402. package/tools/files/move-files.mjs +41 -0
  403. package/tools/files/move-files.mjs.map +1 -0
  404. package/tools/files/rename-files.d.mts +45 -0
  405. package/tools/files/rename-files.d.mts.map +1 -0
  406. package/tools/files/rename-files.d.ts +45 -0
  407. package/tools/files/rename-files.d.ts.map +1 -0
  408. package/tools/files/rename-files.js +51 -0
  409. package/tools/files/rename-files.js.map +1 -0
  410. package/tools/files/rename-files.mjs +47 -0
  411. package/tools/files/rename-files.mjs.map +1 -0
  412. package/tools/files/update-files.d.mts +45 -0
  413. package/tools/files/update-files.d.mts.map +1 -0
  414. package/tools/files/update-files.d.ts +45 -0
  415. package/tools/files/update-files.d.ts.map +1 -0
  416. package/tools/files/update-files.js +181 -0
  417. package/tools/files/update-files.js.map +1 -0
  418. package/tools/files/update-files.mjs +177 -0
  419. package/tools/files/update-files.mjs.map +1 -0
  420. package/tools/files/upload-files.d.mts +45 -0
  421. package/tools/files/upload-files.d.mts.map +1 -0
  422. package/tools/files/upload-files.d.ts +45 -0
  423. package/tools/files/upload-files.d.ts.map +1 -0
  424. package/tools/files/upload-files.js +298 -0
  425. package/tools/files/upload-files.js.map +1 -0
  426. package/tools/files/upload-files.mjs +294 -0
  427. package/tools/files/upload-files.mjs.map +1 -0
  428. package/tools/files/versions/delete-files-versions.d.mts +45 -0
  429. package/tools/files/versions/delete-files-versions.d.mts.map +1 -0
  430. package/tools/files/versions/delete-files-versions.d.ts +45 -0
  431. package/tools/files/versions/delete-files-versions.d.ts.map +1 -0
  432. package/tools/files/versions/delete-files-versions.js +45 -0
  433. package/tools/files/versions/delete-files-versions.js.map +1 -0
  434. package/tools/files/versions/delete-files-versions.mjs +41 -0
  435. package/tools/files/versions/delete-files-versions.mjs.map +1 -0
  436. package/tools/files/versions/get-files-versions.d.mts +45 -0
  437. package/tools/files/versions/get-files-versions.d.mts.map +1 -0
  438. package/tools/files/versions/get-files-versions.d.ts +45 -0
  439. package/tools/files/versions/get-files-versions.d.ts.map +1 -0
  440. package/tools/files/versions/get-files-versions.js +45 -0
  441. package/tools/files/versions/get-files-versions.js.map +1 -0
  442. package/tools/files/versions/get-files-versions.mjs +41 -0
  443. package/tools/files/versions/get-files-versions.mjs.map +1 -0
  444. package/tools/files/versions/list-files-versions.d.mts +45 -0
  445. package/tools/files/versions/list-files-versions.d.mts.map +1 -0
  446. package/tools/files/versions/list-files-versions.d.ts +45 -0
  447. package/tools/files/versions/list-files-versions.d.ts.map +1 -0
  448. package/tools/files/versions/list-files-versions.js +42 -0
  449. package/tools/files/versions/list-files-versions.js.map +1 -0
  450. package/tools/files/versions/list-files-versions.mjs +38 -0
  451. package/tools/files/versions/list-files-versions.mjs.map +1 -0
  452. package/tools/files/versions/restore-files-versions.d.mts +45 -0
  453. package/tools/files/versions/restore-files-versions.d.mts.map +1 -0
  454. package/tools/files/versions/restore-files-versions.d.ts +45 -0
  455. package/tools/files/versions/restore-files-versions.d.ts.map +1 -0
  456. package/tools/files/versions/restore-files-versions.js +45 -0
  457. package/tools/files/versions/restore-files-versions.js.map +1 -0
  458. package/tools/files/versions/restore-files-versions.mjs +41 -0
  459. package/tools/files/versions/restore-files-versions.mjs.map +1 -0
  460. package/tools/folders/copy-folders.d.mts +45 -0
  461. package/tools/folders/copy-folders.d.mts.map +1 -0
  462. package/tools/folders/copy-folders.d.ts +45 -0
  463. package/tools/folders/copy-folders.d.ts.map +1 -0
  464. package/tools/folders/copy-folders.js +49 -0
  465. package/tools/folders/copy-folders.js.map +1 -0
  466. package/tools/folders/copy-folders.mjs +45 -0
  467. package/tools/folders/copy-folders.mjs.map +1 -0
  468. package/tools/folders/create-folders.d.mts +45 -0
  469. package/tools/folders/create-folders.d.mts.map +1 -0
  470. package/tools/folders/create-folders.d.ts +45 -0
  471. package/tools/folders/create-folders.d.ts.map +1 -0
  472. package/tools/folders/create-folders.js +45 -0
  473. package/tools/folders/create-folders.js.map +1 -0
  474. package/tools/folders/create-folders.mjs +41 -0
  475. package/tools/folders/create-folders.mjs.map +1 -0
  476. package/tools/folders/delete-folders.d.mts +45 -0
  477. package/tools/folders/delete-folders.d.mts.map +1 -0
  478. package/tools/folders/delete-folders.d.ts +45 -0
  479. package/tools/folders/delete-folders.d.ts.map +1 -0
  480. package/tools/folders/delete-folders.js +43 -0
  481. package/tools/folders/delete-folders.js.map +1 -0
  482. package/tools/folders/delete-folders.mjs +39 -0
  483. package/tools/folders/delete-folders.mjs.map +1 -0
  484. package/tools/folders/job/get-folders-job.d.mts +45 -0
  485. package/tools/folders/job/get-folders-job.d.mts.map +1 -0
  486. package/tools/folders/job/get-folders-job.d.ts +45 -0
  487. package/tools/folders/job/get-folders-job.d.ts.map +1 -0
  488. package/tools/folders/job/get-folders-job.js +42 -0
  489. package/tools/folders/job/get-folders-job.js.map +1 -0
  490. package/tools/folders/job/get-folders-job.mjs +38 -0
  491. package/tools/folders/job/get-folders-job.mjs.map +1 -0
  492. package/tools/folders/move-folders.d.mts +45 -0
  493. package/tools/folders/move-folders.d.mts.map +1 -0
  494. package/tools/folders/move-folders.d.ts +45 -0
  495. package/tools/folders/move-folders.d.ts.map +1 -0
  496. package/tools/folders/move-folders.js +45 -0
  497. package/tools/folders/move-folders.js.map +1 -0
  498. package/tools/folders/move-folders.mjs +41 -0
  499. package/tools/folders/move-folders.mjs.map +1 -0
  500. package/tools/folders/rename-folders.d.mts +45 -0
  501. package/tools/folders/rename-folders.d.mts.map +1 -0
  502. package/tools/folders/rename-folders.d.ts +45 -0
  503. package/tools/folders/rename-folders.d.ts.map +1 -0
  504. package/tools/folders/rename-folders.js +49 -0
  505. package/tools/folders/rename-folders.js.map +1 -0
  506. package/tools/folders/rename-folders.mjs +45 -0
  507. package/tools/folders/rename-folders.mjs.map +1 -0
  508. package/tools/index.d.mts +10 -0
  509. package/tools/index.d.mts.map +1 -0
  510. package/tools/index.d.ts +10 -0
  511. package/tools/index.d.ts.map +1 -0
  512. package/tools/index.js +137 -0
  513. package/tools/index.js.map +1 -0
  514. package/tools/index.mjs +130 -0
  515. package/tools/index.mjs.map +1 -0
  516. package/tools/types.d.mts +51 -0
  517. package/tools/types.d.mts.map +1 -0
  518. package/tools/types.d.ts +51 -0
  519. package/tools/types.d.ts.map +1 -0
  520. package/tools/types.js +46 -0
  521. package/tools/types.js.map +1 -0
  522. package/tools/types.mjs +42 -0
  523. package/tools/types.mjs.map +1 -0
  524. package/tools.d.mts +2 -0
  525. package/tools.d.mts.map +1 -0
  526. package/tools.d.ts +2 -0
  527. package/tools.d.ts.map +1 -0
  528. package/tools.js +18 -0
  529. package/tools.js.map +1 -0
  530. package/tools.mjs +2 -0
  531. 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 '@imagekit/nodejs';
6
+ import ImageKit from '@imagekit/nodejs';
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 '@imagekit/nodejs';
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: ImageKit, 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,kBAAkB;OACzC,QAAQ,MAAM,kBAAkB;OAChC,EAEL,kBAAkB,EAInB;OAIM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,kBAAkB;OACzC,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,QAAQ,EAChB,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 '@imagekit/nodejs';
6
+ import ImageKit from '@imagekit/nodejs';
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 '@imagekit/nodejs';
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: ImageKit, 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,kBAAkB;OACzC,QAAQ,MAAM,kBAAkB;OAChC,EAEL,kBAAkB,EAInB;OAIM,EAAE,UAAU,EAAE;OAEd,EAAE,UAAU,EAAE;OACd,EAAE,UAAU,EAAE;OACd,EAAE,MAAM,EAAE;OACV,EAAE,aAAa,EAAE,MAAM,kBAAkB;OACzC,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,QAAQ,EAChB,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 nodejs_1 = __importDefault(require("@imagekit/nodejs"));
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: 'imagekit_nodejs_api',
25
+ version: '7.1.1',
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 nodejs_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 ImageKit from '@imagekit/nodejs';
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: 'imagekit_nodejs_api',
14
+ version: '7.1.1',
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 ImageKit({
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":"AAAA,sFAAsF;OAG/E,EAAE,SAAS,EAAE,MAAM,yCAAyC;OAC5D,EAAY,SAAS,EAAmB,KAAK,EAAE;OAC/C,EACL,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,GAGtB,MAAM,oCAAoC;OAEpC,QAAQ,MAAM,kBAAkB;OAChC,EACL,iCAAiC,EAEjC,yBAAyB,EACzB,YAAY,EACZ,iBAAiB,GAClB;OACM,EAAE,YAAY,EAAE;OAChB,EAAE,QAAQ,EAAE;OACZ,cAAc;OAId,EAAE,UAAU,EAAE;OAGd,EAAE,SAAS,EAAE;AAEpB,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAC/B,IAAI,SAAS,CACX;IACE,IAAI,EAAE,qBAAqB;IAC3B,OAAO,EAAE,OAAO;CACjB,EACD,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,CAC7C,CAAC;AAEJ,yBAAyB;AACzB,MAAM,CAAC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,MAI7B;IACC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,YAAY,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACzF,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAE3C,IAAI,iBAAiB,GAAsB,IAAI,CAAC;IAChD,IAAI,WAAW,GAAoC,IAAI,CAAC;IAExD,MAAM,SAAS,GAAG,KAAK,EAAE,cAA+B,EAAE,EAAE;QAC1D,IAAI,cAAc,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,EAAE,CAAC;YAC5E,UAAU,CAAC,MAAM;gBACf,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;oBAC/D,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ;wBACjE,CAAC,CAAC,SAAS,CAAC;YACd,UAAU,CAAC,YAAY,GAAG;gBACxB,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACzD,GAAG,UAAU,CAAC,YAAY;aAC3B,CAAC;QACJ,CAAC;QACD,iBAAiB,KAAjB,iBAAiB,GAAK,MAAM,WAAW,CAAC,SAAS,EAAE,UAAU,CAAC,EAAC;QAC/D,WAAW,KAAX,WAAW,GAAK,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAC;IAC1G,CAAC,CAAC;IAEF,MAAM,UAAU,GACd,CAAC,KAA6C,EAAE,EAAE,CAClD,CAAC,OAAe,EAAE,GAAG,IAAe,EAAE,EAAE;QACtC,KAAK,MAAM,CAAC,kBAAkB,CAAC;YAC7B,KAAK;YACL,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SACxB,CAAC,CAAC;IACL,CAAC,CAAC;IACJ,MAAM,MAAM,GAAG;QACb,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;QAC1B,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;QACxB,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC;QAC3B,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC;KAC3B,CAAC;IAEF,IAAI,MAAM,GAAG,IAAI,QAAQ,CAAC;QACxB,MAAM;QACN,GAAG,MAAM,CAAC,aAAa;QACvB,cAAc,EAAE;YACd,GAAG,MAAM,CAAC,aAAa,EAAE,cAAc;YACvC,iBAAiB,EAAE,MAAM;SAC1B;KACF,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QAC1D,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,MAAM,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO;YACL,KAAK,EAAE,iBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;SAC3D,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,MAAM,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACjD,MAAM,QAAQ,GAAG,WAAY,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACjC,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,OAAO;gBACV,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnD,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS;gBACZ,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;gBAClD,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;gBACnD,MAAM;YACR;gBACE,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBACjD,MAAM;QACV,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,SAAqB,EAAE,OAAoB;IAC3E,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IAEnE,IAAI,aAAa,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC;IAE9C,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;YACjC,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;SAAM,CAAC;QACN,IAAI,OAAO,EAAE,eAAe,EAAE,CAAC;YAC7B,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;aAAM,IAAI,OAAO,EAAE,mBAAmB,EAAE,CAAC;YACxC,aAAa,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;YACrC,aAAa,GAAG,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,gBAAgB,IAAI,IAAI,EAAE,CAAC;QACtC,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,YAAY,GAAG,EAAE,GAAG,yBAAyB,EAAE,GAAG,OAAO,EAAE,YAAY,EAAE,CAAC;IAChF,OAAO,iCAAiC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAU,EACV,OAAwB,EACxB,MAAgB,EAChB,IAAyC,EACzC,oBAAkD;IAElD,MAAM,OAAO,GAAG,EAAE,GAAG,yBAAyB,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC1E,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,OAAO,MAAM,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAW,EAAsB,EAAE;IACzD,IAAI,OAAQ,UAAkB,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;QACvD,OAAQ,UAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IACxD,CAAC;SAAM,IAAI,OAAQ,UAAkB,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC3D,OAAQ,UAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC;IACD,OAAO;AACT,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE;IACpD,IAAI,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,aAAa,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ export const workerPath = require.resolve('./code-tool-worker.mjs');
@@ -0,0 +1,14 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { ClientOptions } from '@imagekit/nodejs';
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 = { message: string | undefined };
@@ -0,0 +1,46 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import util from 'node:util';
4
+ import { WorkerInput, WorkerSuccess, WorkerError } from './code-tool-types';
5
+ import { ImageKit } from '@imagekit/nodejs';
6
+
7
+ const fetch = async (req: Request): Promise<Response> => {
8
+ const { opts, code } = (await req.json()) as WorkerInput;
9
+ const client = new ImageKit({
10
+ ...opts,
11
+ });
12
+
13
+ const logLines: string[] = [];
14
+ const errLines: string[] = [];
15
+ const console = {
16
+ log: (...args: unknown[]) => {
17
+ logLines.push(util.format(...args));
18
+ },
19
+ error: (...args: unknown[]) => {
20
+ errLines.push(util.format(...args));
21
+ },
22
+ };
23
+ try {
24
+ let run_ = async (client: any) => {};
25
+ eval(`
26
+ ${code}
27
+ run_ = run;
28
+ `);
29
+ const result = await run_(client);
30
+ return Response.json({
31
+ result,
32
+ logLines,
33
+ errLines,
34
+ } satisfies WorkerSuccess);
35
+ } catch (e) {
36
+ const message = e instanceof Error ? e.message : undefined;
37
+ return Response.json(
38
+ {
39
+ message,
40
+ } satisfies WorkerError,
41
+ { status: 400, statusText: 'Code execution error' },
42
+ );
43
+ }
44
+ };
45
+
46
+ export default { fetch };
@@ -0,0 +1,148 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { dirname } from 'node:path';
4
+ import { pathToFileURL } from 'node:url';
5
+ import ImageKit, { ClientOptions } from '@imagekit/nodejs';
6
+ import { Endpoint, ContentBlock, Metadata } from './tools/types';
7
+
8
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
9
+
10
+ import { WorkerInput, WorkerError, WorkerSuccess } from './code-tool-types';
11
+
12
+ /**
13
+ * A tool that runs code against a copy of the SDK.
14
+ *
15
+ * Instead of exposing every endpoint as it's own tool, which uses up too many tokens for LLMs to use at once,
16
+ * we expose a single tool that can be used to search for endpoints by name, resource, operation, or tag, and then
17
+ * a generic endpoint that can be used to invoke any endpoint with the provided arguments.
18
+ *
19
+ * @param endpoints - The endpoints to include in the list.
20
+ */
21
+ export async function codeTool(): Promise<Endpoint> {
22
+ const metadata: Metadata = { resource: 'all', operation: 'write', tags: [] };
23
+ const tool: Tool = {
24
+ name: 'execute',
25
+ description:
26
+ 'Runs Typescript code to interact with the API.\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 client, and it will be run.\nDo not initialize a client, but instead use the client that you are given as a parameter.\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.',
27
+ inputSchema: { type: 'object', properties: { code: { type: 'string' } } },
28
+ };
29
+
30
+ // Import dynamically to avoid failing at import time in cases where the environment is not well-supported.
31
+ const { newDenoHTTPWorker } = await import('@valtown/deno-http-worker');
32
+ const { workerPath } = await import('./code-tool-paths.cjs');
33
+
34
+ const handler = async (client: ImageKit, args: unknown) => {
35
+ const baseURLHostname = new URL(client.baseURL).hostname;
36
+ const { code } = args as { code: string };
37
+
38
+ const worker = await newDenoHTTPWorker(pathToFileURL(workerPath), {
39
+ runFlags: [
40
+ `--node-modules-dir=manual`,
41
+ `--allow-read=code-tool-worker.mjs,${workerPath.replace(/([\/\\]node_modules)[\/\\].+$/, '$1')}/`,
42
+ `--allow-net=${baseURLHostname}`,
43
+ // Allow environment variables because instantiating the client will try to read from them,
44
+ // even though they are not set.
45
+ '--allow-env',
46
+ ],
47
+ printOutput: true,
48
+ spawnOptions: {
49
+ cwd: dirname(workerPath),
50
+ },
51
+ });
52
+
53
+ try {
54
+ const resp = await new Promise<Response>((resolve, reject) => {
55
+ worker.addEventListener('exit', (exitCode) => {
56
+ reject(new Error(`Worker exited with code ${exitCode}`));
57
+ });
58
+
59
+ const opts: ClientOptions = {
60
+ baseURL: client.baseURL,
61
+ privateKey: client.privateKey,
62
+ password: client.password,
63
+ webhookSecret: client.webhookSecret,
64
+ defaultHeaders: {
65
+ 'X-Stainless-MCP': 'true',
66
+ },
67
+ };
68
+
69
+ const req = worker.request(
70
+ 'http://localhost',
71
+ {
72
+ headers: {
73
+ 'content-type': 'application/json',
74
+ },
75
+ method: 'POST',
76
+ },
77
+ (resp) => {
78
+ const body: Uint8Array[] = [];
79
+ resp.on('error', (err) => {
80
+ reject(err);
81
+ });
82
+ resp.on('data', (chunk) => {
83
+ body.push(chunk);
84
+ });
85
+ resp.on('end', () => {
86
+ resolve(
87
+ new Response(Buffer.concat(body).toString(), {
88
+ status: resp.statusCode ?? 200,
89
+ headers: resp.headers as any,
90
+ }),
91
+ );
92
+ });
93
+ },
94
+ );
95
+
96
+ const body = JSON.stringify({
97
+ opts,
98
+ code,
99
+ } satisfies WorkerInput);
100
+
101
+ req.write(body, (err) => {
102
+ if (err !== null && err !== undefined) {
103
+ reject(err);
104
+ }
105
+ });
106
+
107
+ req.end();
108
+ });
109
+
110
+ if (resp.status === 200) {
111
+ const { result, logLines, errLines } = (await resp.json()) as WorkerSuccess;
112
+ const returnOutput: ContentBlock | null =
113
+ result === null ? null
114
+ : result === undefined ? null
115
+ : {
116
+ type: 'text',
117
+ text: typeof result === 'string' ? (result as string) : JSON.stringify(result),
118
+ };
119
+ const logOutput: ContentBlock | null =
120
+ logLines.length === 0 ?
121
+ null
122
+ : {
123
+ type: 'text',
124
+ text: logLines.join('\n'),
125
+ };
126
+ const errOutput: ContentBlock | null =
127
+ errLines.length === 0 ?
128
+ null
129
+ : {
130
+ type: 'text',
131
+ text: 'Error output:\n' + errLines.join('\n'),
132
+ };
133
+ return {
134
+ content: [returnOutput, logOutput, errOutput].filter((block) => block !== null),
135
+ };
136
+ } else {
137
+ const { message } = (await resp.json()) as WorkerError;
138
+ throw new Error(message);
139
+ }
140
+ } catch (e) {
141
+ throw e;
142
+ } finally {
143
+ worker.terminate();
144
+ }
145
+ };
146
+
147
+ return { metadata, tool, handler };
148
+ }