@metronome/mcp 0.3.0 → 2.0.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 (709) hide show
  1. package/README.md +1062 -76
  2. package/code-tool-paths.cjs +6 -0
  3. package/code-tool-paths.cjs.map +1 -0
  4. package/code-tool-paths.d.cts +2 -0
  5. package/code-tool-paths.d.cts.map +1 -0
  6. package/code-tool-types.d.mts +14 -0
  7. package/code-tool-types.d.mts.map +1 -0
  8. package/code-tool-types.d.ts +14 -0
  9. package/code-tool-types.d.ts.map +1 -0
  10. package/code-tool-types.js +4 -0
  11. package/code-tool-types.js.map +1 -0
  12. package/code-tool-types.mjs +3 -0
  13. package/code-tool-types.mjs.map +1 -0
  14. package/code-tool-worker.d.mts +5 -0
  15. package/code-tool-worker.d.mts.map +1 -0
  16. package/code-tool-worker.d.ts +5 -0
  17. package/code-tool-worker.d.ts.map +1 -0
  18. package/code-tool-worker.js +45 -0
  19. package/code-tool-worker.js.map +1 -0
  20. package/code-tool-worker.mjs +40 -0
  21. package/code-tool-worker.mjs.map +1 -0
  22. package/code-tool.d.mts +12 -0
  23. package/code-tool.d.mts.map +1 -0
  24. package/code-tool.d.ts +12 -0
  25. package/code-tool.d.ts.map +1 -0
  26. package/code-tool.js +158 -0
  27. package/code-tool.js.map +1 -0
  28. package/code-tool.mjs +122 -0
  29. package/code-tool.mjs.map +1 -0
  30. package/compat.d.mts +4 -2
  31. package/compat.d.mts.map +1 -1
  32. package/compat.d.ts +4 -2
  33. package/compat.d.ts.map +1 -1
  34. package/compat.js +3 -1
  35. package/compat.js.map +1 -1
  36. package/compat.mjs +2 -0
  37. package/compat.mjs.map +1 -1
  38. package/docs-search-tool.d.mts +44 -0
  39. package/docs-search-tool.d.mts.map +1 -0
  40. package/docs-search-tool.d.ts +44 -0
  41. package/docs-search-tool.d.ts.map +1 -0
  42. package/docs-search-tool.js +43 -0
  43. package/docs-search-tool.js.map +1 -0
  44. package/docs-search-tool.mjs +39 -0
  45. package/docs-search-tool.mjs.map +1 -0
  46. package/dynamic-tools.js +3 -3
  47. package/dynamic-tools.js.map +1 -1
  48. package/dynamic-tools.mjs +3 -3
  49. package/dynamic-tools.mjs.map +1 -1
  50. package/headers.d.mts +1 -1
  51. package/headers.d.mts.map +1 -1
  52. package/headers.d.ts +1 -1
  53. package/headers.d.ts.map +1 -1
  54. package/headers.js +1 -1
  55. package/headers.js.map +1 -1
  56. package/headers.mjs +1 -1
  57. package/headers.mjs.map +1 -1
  58. package/http.d.mts +6 -3
  59. package/http.d.mts.map +1 -1
  60. package/http.d.ts +6 -3
  61. package/http.d.ts.map +1 -1
  62. package/http.js +25 -10
  63. package/http.js.map +1 -1
  64. package/http.mjs +25 -10
  65. package/http.mjs.map +1 -1
  66. package/index.js +6 -6
  67. package/index.js.map +1 -1
  68. package/index.mjs +7 -7
  69. package/index.mjs.map +1 -1
  70. package/options.d.mts +9 -6
  71. package/options.d.mts.map +1 -1
  72. package/options.d.ts +9 -6
  73. package/options.d.ts.map +1 -1
  74. package/options.js +126 -16
  75. package/options.js.map +1 -1
  76. package/options.mjs +125 -16
  77. package/options.mjs.map +1 -1
  78. package/package.json +171 -10
  79. package/server.d.mts +3 -16
  80. package/server.d.mts.map +1 -1
  81. package/server.d.ts +3 -16
  82. package/server.d.ts.map +1 -1
  83. package/server.js +87 -25
  84. package/server.js.map +1 -1
  85. package/server.mjs +86 -24
  86. package/server.mjs.map +1 -1
  87. package/src/code-tool-paths.cts +3 -0
  88. package/src/code-tool-types.ts +14 -0
  89. package/src/code-tool-worker.ts +46 -0
  90. package/src/code-tool.ts +147 -0
  91. package/src/compat.ts +4 -2
  92. package/src/docs-search-tool.ts +48 -0
  93. package/src/dynamic-tools.ts +3 -3
  94. package/src/headers.ts +2 -3
  95. package/src/http.ts +54 -26
  96. package/src/index.ts +7 -7
  97. package/src/options.ts +147 -22
  98. package/src/server.ts +99 -36
  99. package/src/stdio.ts +3 -4
  100. package/src/tools/index.ts +12 -0
  101. package/src/tools/v1/alerts/archive-v1-alerts.ts +3 -3
  102. package/src/tools/v1/alerts/create-v1-alerts.ts +15 -14
  103. package/src/tools/v1/audit-logs/list-v1-audit-logs.ts +1 -1
  104. package/src/tools/v1/billable-metrics/archive-v1-billable-metrics.ts +1 -1
  105. package/src/tools/v1/billable-metrics/create-v1-billable-metrics.ts +1 -1
  106. package/src/tools/v1/billable-metrics/list-v1-billable-metrics.ts +1 -1
  107. package/src/tools/v1/billable-metrics/retrieve-v1-billable-metrics.ts +1 -1
  108. package/src/tools/v1/contracts/add-manual-balance-entry-v1-contracts.ts +2 -1
  109. package/src/tools/v1/contracts/amend-v1-contracts.ts +86 -143
  110. package/src/tools/v1/contracts/archive-v1-contracts.ts +1 -1
  111. package/src/tools/v1/contracts/create-historical-invoices-v1-contracts.ts +3 -1
  112. package/src/tools/v1/contracts/create-v1-contracts.ts +258 -517
  113. package/src/tools/v1/contracts/list-balances-v1-contracts.ts +4 -2
  114. package/src/tools/v1/contracts/list-v1-contracts.ts +1 -1
  115. package/src/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.ts +1 -1
  116. package/src/tools/v1/contracts/products/archive-contracts-v1-products.ts +1 -1
  117. package/src/tools/v1/contracts/products/create-contracts-v1-products.ts +2 -1
  118. package/src/tools/v1/contracts/products/list-contracts-v1-products.ts +1 -1
  119. package/src/tools/v1/contracts/products/retrieve-contracts-v1-products.ts +1 -1
  120. package/src/tools/v1/contracts/products/update-contracts-v1-products.ts +1 -1
  121. package/src/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.ts +1 -1
  122. package/src/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.ts +2 -1
  123. package/src/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.ts +1 -1
  124. package/src/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.ts +1 -1
  125. package/src/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.ts +1 -1
  126. package/src/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.ts +1 -1
  127. package/src/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.ts +25 -22
  128. package/src/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.ts +25 -22
  129. package/src/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.ts +1 -1
  130. package/src/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.ts +1 -1
  131. package/src/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.ts +1 -1
  132. package/src/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.ts +1 -1
  133. package/src/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.ts +1 -1
  134. package/src/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.ts +1 -1
  135. package/src/tools/v1/contracts/set-usage-filter-v1-contracts.ts +2 -1
  136. package/src/tools/v1/contracts/update-end-date-v1-contracts.ts +1 -1
  137. package/src/tools/v1/credit-grants/create-v1-credit-grants.ts +1 -1
  138. package/src/tools/v1/credit-grants/edit-v1-credit-grants.ts +1 -1
  139. package/src/tools/v1/credit-grants/list-entries-v1-credit-grants.ts +3 -2
  140. package/src/tools/v1/credit-grants/list-v1-credit-grants.ts +1 -1
  141. package/src/tools/v1/credit-grants/void-v1-credit-grants.ts +1 -1
  142. package/src/tools/v1/custom-fields/add-key-v1-custom-fields.ts +1 -1
  143. package/src/tools/v1/custom-fields/delete-values-v1-custom-fields.ts +2 -1
  144. package/src/tools/v1/custom-fields/list-keys-v1-custom-fields.ts +3 -2
  145. package/src/tools/v1/custom-fields/remove-key-v1-custom-fields.ts +2 -1
  146. package/src/tools/v1/custom-fields/set-values-v1-custom-fields.ts +2 -1
  147. package/src/tools/v1/customers/alerts/list-customers-v1-alerts.ts +5 -3
  148. package/src/tools/v1/customers/alerts/reset-customers-v1-alerts.ts +3 -2
  149. package/src/tools/v1/customers/alerts/retrieve-customers-v1-alerts.ts +24 -12
  150. package/src/tools/v1/customers/archive-v1-customers.ts +1 -1
  151. package/src/tools/v1/customers/billing-config/create-customers-v1-billing-config.ts +6 -1
  152. package/src/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.ts +1 -1
  153. package/src/tools/v1/customers/commits/create-customers-v1-commits.ts +32 -33
  154. package/src/tools/v1/customers/commits/list-customers-v1-commits.ts +4 -2
  155. package/src/tools/v1/customers/commits/update-end-date-customers-v1-commits.ts +1 -1
  156. package/src/tools/v1/customers/create-v1-customers.ts +14 -2
  157. package/src/tools/v1/customers/credits/create-customers-v1-credits.ts +30 -24
  158. package/src/tools/v1/customers/credits/list-customers-v1-credits.ts +4 -2
  159. package/src/tools/v1/customers/credits/update-end-date-customers-v1-credits.ts +1 -1
  160. package/src/tools/v1/customers/invoices/add-charge-customers-v1-invoices.ts +1 -1
  161. package/src/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.ts +1 -1
  162. package/src/tools/v1/customers/invoices/list-customers-v1-invoices.ts +1 -1
  163. package/src/tools/v1/customers/invoices/retrieve-customers-v1-invoices.ts +2 -1
  164. package/src/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.ts +43 -0
  165. package/src/tools/v1/customers/list-billable-metrics-v1-customers.ts +1 -1
  166. package/src/tools/v1/customers/list-costs-v1-customers.ts +1 -1
  167. package/src/tools/v1/customers/list-v1-customers.ts +1 -1
  168. package/src/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.ts +1 -1
  169. package/src/tools/v1/customers/plans/add-customers-v1-plans.ts +1 -1
  170. package/src/tools/v1/customers/plans/end-customers-v1-plans.ts +1 -1
  171. package/src/tools/v1/customers/plans/list-customers-v1-plans.ts +1 -1
  172. package/src/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.ts +1 -1
  173. package/src/tools/v1/customers/preview-events-v1-customers.ts +2 -7
  174. package/src/tools/v1/customers/retrieve-billing-configurations-v1-customers.ts +50 -0
  175. package/src/tools/v1/customers/retrieve-v1-customers.ts +1 -1
  176. package/src/tools/v1/customers/set-billing-configurations-v1-customers.ts +85 -0
  177. package/src/tools/v1/customers/set-ingest-aliases-v1-customers.ts +1 -1
  178. package/src/tools/v1/customers/set-name-v1-customers.ts +1 -1
  179. package/src/tools/v1/customers/update-config-v1-customers.ts +2 -1
  180. package/src/tools/v1/dashboards/get-embeddable-url-v1-dashboards.ts +1 -1
  181. package/src/tools/v1/invoices/regenerate-v1-invoices.ts +1 -1
  182. package/src/tools/v1/invoices/void-v1-invoices.ts +1 -1
  183. package/src/tools/v1/payments/attempt-v1-payments.ts +48 -0
  184. package/src/tools/v1/payments/cancel-v1-payments.ts +48 -0
  185. package/src/tools/v1/payments/list-v1-payments.ts +69 -0
  186. package/src/tools/v1/plans/get-details-v1-plans.ts +1 -1
  187. package/src/tools/v1/plans/list-charges-v1-plans.ts +1 -1
  188. package/src/tools/v1/plans/list-customers-v1-plans.ts +1 -1
  189. package/src/tools/v1/plans/list-v1-plans.ts +1 -1
  190. package/src/tools/v1/pricing-units/list-v1-pricing-units.ts +1 -1
  191. package/src/tools/v1/services/list-v1-services.ts +1 -1
  192. package/src/tools/v1/usage/ingest-v1-usage.ts +2 -2
  193. package/src/tools/v1/usage/list-v1-usage.ts +3 -2
  194. package/src/tools/v1/usage/list-with-groups-v1-usage.ts +1 -1
  195. package/src/tools/v1/usage/search-v1-usage.ts +1 -1
  196. package/src/tools/v2/contracts/edit-commit-v2-contracts.ts +84 -24
  197. package/src/tools/v2/contracts/edit-credit-v2-contracts.ts +84 -24
  198. package/src/tools/v2/contracts/edit-v2-contracts.ts +314 -782
  199. package/src/tools/v2/contracts/get-edit-history-v2-contracts.ts +1 -1
  200. package/src/tools/v2/contracts/list-v2-contracts.ts +1 -1
  201. package/src/tools/v2/contracts/retrieve-v2-contracts.ts +2 -1
  202. package/stdio.d.mts +1 -2
  203. package/stdio.d.mts.map +1 -1
  204. package/stdio.d.ts +1 -2
  205. package/stdio.d.ts.map +1 -1
  206. package/stdio.js +2 -2
  207. package/stdio.js.map +1 -1
  208. package/stdio.mjs +3 -3
  209. package/stdio.mjs.map +1 -1
  210. package/tools/index.d.mts.map +1 -1
  211. package/tools/index.d.ts.map +1 -1
  212. package/tools/index.js +12 -0
  213. package/tools/index.js.map +1 -1
  214. package/tools/index.mjs +12 -0
  215. package/tools/index.mjs.map +1 -1
  216. package/tools/v1/alerts/archive-v1-alerts.js +3 -3
  217. package/tools/v1/alerts/archive-v1-alerts.js.map +1 -1
  218. package/tools/v1/alerts/archive-v1-alerts.mjs +3 -3
  219. package/tools/v1/alerts/archive-v1-alerts.mjs.map +1 -1
  220. package/tools/v1/alerts/create-v1-alerts.d.mts.map +1 -1
  221. package/tools/v1/alerts/create-v1-alerts.d.ts.map +1 -1
  222. package/tools/v1/alerts/create-v1-alerts.js +14 -14
  223. package/tools/v1/alerts/create-v1-alerts.js.map +1 -1
  224. package/tools/v1/alerts/create-v1-alerts.mjs +14 -14
  225. package/tools/v1/alerts/create-v1-alerts.mjs.map +1 -1
  226. package/tools/v1/audit-logs/list-v1-audit-logs.js +1 -1
  227. package/tools/v1/audit-logs/list-v1-audit-logs.js.map +1 -1
  228. package/tools/v1/audit-logs/list-v1-audit-logs.mjs +1 -1
  229. package/tools/v1/audit-logs/list-v1-audit-logs.mjs.map +1 -1
  230. package/tools/v1/billable-metrics/archive-v1-billable-metrics.js +1 -1
  231. package/tools/v1/billable-metrics/archive-v1-billable-metrics.js.map +1 -1
  232. package/tools/v1/billable-metrics/archive-v1-billable-metrics.mjs +1 -1
  233. package/tools/v1/billable-metrics/archive-v1-billable-metrics.mjs.map +1 -1
  234. package/tools/v1/billable-metrics/create-v1-billable-metrics.js +1 -1
  235. package/tools/v1/billable-metrics/create-v1-billable-metrics.js.map +1 -1
  236. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs +1 -1
  237. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs.map +1 -1
  238. package/tools/v1/billable-metrics/list-v1-billable-metrics.js +1 -1
  239. package/tools/v1/billable-metrics/list-v1-billable-metrics.js.map +1 -1
  240. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs +1 -1
  241. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs.map +1 -1
  242. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js +1 -1
  243. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js.map +1 -1
  244. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs +1 -1
  245. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs.map +1 -1
  246. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.d.mts.map +1 -1
  247. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.d.ts.map +1 -1
  248. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.js +1 -1
  249. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.js.map +1 -1
  250. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.mjs +1 -1
  251. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.mjs.map +1 -1
  252. package/tools/v1/contracts/amend-v1-contracts.d.mts.map +1 -1
  253. package/tools/v1/contracts/amend-v1-contracts.d.ts.map +1 -1
  254. package/tools/v1/contracts/amend-v1-contracts.js +85 -139
  255. package/tools/v1/contracts/amend-v1-contracts.js.map +1 -1
  256. package/tools/v1/contracts/amend-v1-contracts.mjs +85 -139
  257. package/tools/v1/contracts/amend-v1-contracts.mjs.map +1 -1
  258. package/tools/v1/contracts/archive-v1-contracts.js +1 -1
  259. package/tools/v1/contracts/archive-v1-contracts.js.map +1 -1
  260. package/tools/v1/contracts/archive-v1-contracts.mjs +1 -1
  261. package/tools/v1/contracts/archive-v1-contracts.mjs.map +1 -1
  262. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.mts.map +1 -1
  263. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.ts.map +1 -1
  264. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js +2 -1
  265. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js.map +1 -1
  266. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs +2 -1
  267. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs.map +1 -1
  268. package/tools/v1/contracts/create-v1-contracts.d.mts.map +1 -1
  269. package/tools/v1/contracts/create-v1-contracts.d.ts.map +1 -1
  270. package/tools/v1/contracts/create-v1-contracts.js +241 -485
  271. package/tools/v1/contracts/create-v1-contracts.js.map +1 -1
  272. package/tools/v1/contracts/create-v1-contracts.mjs +241 -485
  273. package/tools/v1/contracts/create-v1-contracts.mjs.map +1 -1
  274. package/tools/v1/contracts/list-balances-v1-contracts.d.mts.map +1 -1
  275. package/tools/v1/contracts/list-balances-v1-contracts.d.ts.map +1 -1
  276. package/tools/v1/contracts/list-balances-v1-contracts.js +3 -2
  277. package/tools/v1/contracts/list-balances-v1-contracts.js.map +1 -1
  278. package/tools/v1/contracts/list-balances-v1-contracts.mjs +3 -2
  279. package/tools/v1/contracts/list-balances-v1-contracts.mjs.map +1 -1
  280. package/tools/v1/contracts/list-v1-contracts.js +1 -1
  281. package/tools/v1/contracts/list-v1-contracts.js.map +1 -1
  282. package/tools/v1/contracts/list-v1-contracts.mjs +1 -1
  283. package/tools/v1/contracts/list-v1-contracts.mjs.map +1 -1
  284. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.js +1 -1
  285. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.js.map +1 -1
  286. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.mjs +1 -1
  287. package/tools/v1/contracts/named-schedules/retrieve-contracts-v1-named-schedules.mjs.map +1 -1
  288. package/tools/v1/contracts/products/archive-contracts-v1-products.js +1 -1
  289. package/tools/v1/contracts/products/archive-contracts-v1-products.js.map +1 -1
  290. package/tools/v1/contracts/products/archive-contracts-v1-products.mjs +1 -1
  291. package/tools/v1/contracts/products/archive-contracts-v1-products.mjs.map +1 -1
  292. package/tools/v1/contracts/products/create-contracts-v1-products.d.mts.map +1 -1
  293. package/tools/v1/contracts/products/create-contracts-v1-products.d.ts.map +1 -1
  294. package/tools/v1/contracts/products/create-contracts-v1-products.js +2 -1
  295. package/tools/v1/contracts/products/create-contracts-v1-products.js.map +1 -1
  296. package/tools/v1/contracts/products/create-contracts-v1-products.mjs +2 -1
  297. package/tools/v1/contracts/products/create-contracts-v1-products.mjs.map +1 -1
  298. package/tools/v1/contracts/products/list-contracts-v1-products.js +1 -1
  299. package/tools/v1/contracts/products/list-contracts-v1-products.js.map +1 -1
  300. package/tools/v1/contracts/products/list-contracts-v1-products.mjs +1 -1
  301. package/tools/v1/contracts/products/list-contracts-v1-products.mjs.map +1 -1
  302. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js +1 -1
  303. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js.map +1 -1
  304. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs +1 -1
  305. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs.map +1 -1
  306. package/tools/v1/contracts/products/update-contracts-v1-products.js +1 -1
  307. package/tools/v1/contracts/products/update-contracts-v1-products.js.map +1 -1
  308. package/tools/v1/contracts/products/update-contracts-v1-products.mjs +1 -1
  309. package/tools/v1/contracts/products/update-contracts-v1-products.mjs.map +1 -1
  310. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.js +1 -1
  311. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.js.map +1 -1
  312. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.mjs +1 -1
  313. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.mjs.map +1 -1
  314. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.mts.map +1 -1
  315. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.ts.map +1 -1
  316. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js +2 -1
  317. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js.map +1 -1
  318. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs +2 -1
  319. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs.map +1 -1
  320. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js +1 -1
  321. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js.map +1 -1
  322. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs +1 -1
  323. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs.map +1 -1
  324. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.js +1 -1
  325. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.js.map +1 -1
  326. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.mjs +1 -1
  327. package/tools/v1/contracts/rate-cards/named-schedules/retrieve-rate-cards-contracts-v1-named-schedules.mjs.map +1 -1
  328. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.js +1 -1
  329. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.js.map +1 -1
  330. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.mjs +1 -1
  331. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.mjs.map +1 -1
  332. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.js +1 -1
  333. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.js.map +1 -1
  334. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.mjs +1 -1
  335. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.mjs.map +1 -1
  336. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  337. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  338. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js +24 -21
  339. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js.map +1 -1
  340. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs +24 -21
  341. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs.map +1 -1
  342. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  343. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  344. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js +24 -21
  345. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js.map +1 -1
  346. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs +24 -21
  347. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs.map +1 -1
  348. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js +1 -1
  349. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js.map +1 -1
  350. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs +1 -1
  351. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs.map +1 -1
  352. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js +1 -1
  353. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js.map +1 -1
  354. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs +1 -1
  355. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs.map +1 -1
  356. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js +1 -1
  357. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js.map +1 -1
  358. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs +1 -1
  359. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs.map +1 -1
  360. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.js +1 -1
  361. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.js.map +1 -1
  362. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.mjs +1 -1
  363. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.mjs.map +1 -1
  364. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js +1 -1
  365. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js.map +1 -1
  366. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs +1 -1
  367. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs.map +1 -1
  368. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.js +1 -1
  369. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.js.map +1 -1
  370. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.mjs +1 -1
  371. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.mjs.map +1 -1
  372. package/tools/v1/contracts/set-usage-filter-v1-contracts.d.mts.map +1 -1
  373. package/tools/v1/contracts/set-usage-filter-v1-contracts.d.ts.map +1 -1
  374. package/tools/v1/contracts/set-usage-filter-v1-contracts.js +1 -1
  375. package/tools/v1/contracts/set-usage-filter-v1-contracts.js.map +1 -1
  376. package/tools/v1/contracts/set-usage-filter-v1-contracts.mjs +1 -1
  377. package/tools/v1/contracts/set-usage-filter-v1-contracts.mjs.map +1 -1
  378. package/tools/v1/contracts/update-end-date-v1-contracts.js +1 -1
  379. package/tools/v1/contracts/update-end-date-v1-contracts.js.map +1 -1
  380. package/tools/v1/contracts/update-end-date-v1-contracts.mjs +1 -1
  381. package/tools/v1/contracts/update-end-date-v1-contracts.mjs.map +1 -1
  382. package/tools/v1/credit-grants/create-v1-credit-grants.js +1 -1
  383. package/tools/v1/credit-grants/create-v1-credit-grants.js.map +1 -1
  384. package/tools/v1/credit-grants/create-v1-credit-grants.mjs +1 -1
  385. package/tools/v1/credit-grants/create-v1-credit-grants.mjs.map +1 -1
  386. package/tools/v1/credit-grants/edit-v1-credit-grants.js +1 -1
  387. package/tools/v1/credit-grants/edit-v1-credit-grants.js.map +1 -1
  388. package/tools/v1/credit-grants/edit-v1-credit-grants.mjs +1 -1
  389. package/tools/v1/credit-grants/edit-v1-credit-grants.mjs.map +1 -1
  390. package/tools/v1/credit-grants/list-entries-v1-credit-grants.d.mts.map +1 -1
  391. package/tools/v1/credit-grants/list-entries-v1-credit-grants.d.ts.map +1 -1
  392. package/tools/v1/credit-grants/list-entries-v1-credit-grants.js +3 -2
  393. package/tools/v1/credit-grants/list-entries-v1-credit-grants.js.map +1 -1
  394. package/tools/v1/credit-grants/list-entries-v1-credit-grants.mjs +3 -2
  395. package/tools/v1/credit-grants/list-entries-v1-credit-grants.mjs.map +1 -1
  396. package/tools/v1/credit-grants/list-v1-credit-grants.js +1 -1
  397. package/tools/v1/credit-grants/list-v1-credit-grants.js.map +1 -1
  398. package/tools/v1/credit-grants/list-v1-credit-grants.mjs +1 -1
  399. package/tools/v1/credit-grants/list-v1-credit-grants.mjs.map +1 -1
  400. package/tools/v1/credit-grants/void-v1-credit-grants.js +1 -1
  401. package/tools/v1/credit-grants/void-v1-credit-grants.js.map +1 -1
  402. package/tools/v1/credit-grants/void-v1-credit-grants.mjs +1 -1
  403. package/tools/v1/credit-grants/void-v1-credit-grants.mjs.map +1 -1
  404. package/tools/v1/custom-fields/add-key-v1-custom-fields.js +1 -1
  405. package/tools/v1/custom-fields/add-key-v1-custom-fields.js.map +1 -1
  406. package/tools/v1/custom-fields/add-key-v1-custom-fields.mjs +1 -1
  407. package/tools/v1/custom-fields/add-key-v1-custom-fields.mjs.map +1 -1
  408. package/tools/v1/custom-fields/delete-values-v1-custom-fields.d.mts.map +1 -1
  409. package/tools/v1/custom-fields/delete-values-v1-custom-fields.d.ts.map +1 -1
  410. package/tools/v1/custom-fields/delete-values-v1-custom-fields.js +1 -1
  411. package/tools/v1/custom-fields/delete-values-v1-custom-fields.js.map +1 -1
  412. package/tools/v1/custom-fields/delete-values-v1-custom-fields.mjs +1 -1
  413. package/tools/v1/custom-fields/delete-values-v1-custom-fields.mjs.map +1 -1
  414. package/tools/v1/custom-fields/list-keys-v1-custom-fields.d.mts.map +1 -1
  415. package/tools/v1/custom-fields/list-keys-v1-custom-fields.d.ts.map +1 -1
  416. package/tools/v1/custom-fields/list-keys-v1-custom-fields.js +3 -2
  417. package/tools/v1/custom-fields/list-keys-v1-custom-fields.js.map +1 -1
  418. package/tools/v1/custom-fields/list-keys-v1-custom-fields.mjs +3 -2
  419. package/tools/v1/custom-fields/list-keys-v1-custom-fields.mjs.map +1 -1
  420. package/tools/v1/custom-fields/remove-key-v1-custom-fields.d.mts.map +1 -1
  421. package/tools/v1/custom-fields/remove-key-v1-custom-fields.d.ts.map +1 -1
  422. package/tools/v1/custom-fields/remove-key-v1-custom-fields.js +1 -1
  423. package/tools/v1/custom-fields/remove-key-v1-custom-fields.js.map +1 -1
  424. package/tools/v1/custom-fields/remove-key-v1-custom-fields.mjs +1 -1
  425. package/tools/v1/custom-fields/remove-key-v1-custom-fields.mjs.map +1 -1
  426. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.mts.map +1 -1
  427. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.ts.map +1 -1
  428. package/tools/v1/custom-fields/set-values-v1-custom-fields.js +2 -1
  429. package/tools/v1/custom-fields/set-values-v1-custom-fields.js.map +1 -1
  430. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs +2 -1
  431. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs.map +1 -1
  432. package/tools/v1/customers/alerts/list-customers-v1-alerts.d.mts.map +1 -1
  433. package/tools/v1/customers/alerts/list-customers-v1-alerts.d.ts.map +1 -1
  434. package/tools/v1/customers/alerts/list-customers-v1-alerts.js +4 -3
  435. package/tools/v1/customers/alerts/list-customers-v1-alerts.js.map +1 -1
  436. package/tools/v1/customers/alerts/list-customers-v1-alerts.mjs +4 -3
  437. package/tools/v1/customers/alerts/list-customers-v1-alerts.mjs.map +1 -1
  438. package/tools/v1/customers/alerts/reset-customers-v1-alerts.d.mts.map +1 -1
  439. package/tools/v1/customers/alerts/reset-customers-v1-alerts.d.ts.map +1 -1
  440. package/tools/v1/customers/alerts/reset-customers-v1-alerts.js +2 -2
  441. package/tools/v1/customers/alerts/reset-customers-v1-alerts.js.map +1 -1
  442. package/tools/v1/customers/alerts/reset-customers-v1-alerts.mjs +2 -2
  443. package/tools/v1/customers/alerts/reset-customers-v1-alerts.mjs.map +1 -1
  444. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.d.mts.map +1 -1
  445. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.d.ts.map +1 -1
  446. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.js +22 -11
  447. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.js.map +1 -1
  448. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.mjs +22 -11
  449. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.mjs.map +1 -1
  450. package/tools/v1/customers/archive-v1-customers.js +1 -1
  451. package/tools/v1/customers/archive-v1-customers.js.map +1 -1
  452. package/tools/v1/customers/archive-v1-customers.mjs +1 -1
  453. package/tools/v1/customers/archive-v1-customers.mjs.map +1 -1
  454. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.d.mts.map +1 -1
  455. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.d.ts.map +1 -1
  456. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.js +6 -1
  457. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.js.map +1 -1
  458. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.mjs +6 -1
  459. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.mjs.map +1 -1
  460. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.js +1 -1
  461. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.js.map +1 -1
  462. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.mjs +1 -1
  463. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.mjs.map +1 -1
  464. package/tools/v1/customers/commits/create-customers-v1-commits.d.mts.map +1 -1
  465. package/tools/v1/customers/commits/create-customers-v1-commits.d.ts.map +1 -1
  466. package/tools/v1/customers/commits/create-customers-v1-commits.js +31 -31
  467. package/tools/v1/customers/commits/create-customers-v1-commits.js.map +1 -1
  468. package/tools/v1/customers/commits/create-customers-v1-commits.mjs +31 -31
  469. package/tools/v1/customers/commits/create-customers-v1-commits.mjs.map +1 -1
  470. package/tools/v1/customers/commits/list-customers-v1-commits.d.mts.map +1 -1
  471. package/tools/v1/customers/commits/list-customers-v1-commits.d.ts.map +1 -1
  472. package/tools/v1/customers/commits/list-customers-v1-commits.js +3 -2
  473. package/tools/v1/customers/commits/list-customers-v1-commits.js.map +1 -1
  474. package/tools/v1/customers/commits/list-customers-v1-commits.mjs +3 -2
  475. package/tools/v1/customers/commits/list-customers-v1-commits.mjs.map +1 -1
  476. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.js +1 -1
  477. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.js.map +1 -1
  478. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.mjs +1 -1
  479. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.mjs.map +1 -1
  480. package/tools/v1/customers/create-v1-customers.d.mts.map +1 -1
  481. package/tools/v1/customers/create-v1-customers.d.ts.map +1 -1
  482. package/tools/v1/customers/create-v1-customers.js +13 -2
  483. package/tools/v1/customers/create-v1-customers.js.map +1 -1
  484. package/tools/v1/customers/create-v1-customers.mjs +13 -2
  485. package/tools/v1/customers/create-v1-customers.mjs.map +1 -1
  486. package/tools/v1/customers/credits/create-customers-v1-credits.d.mts.map +1 -1
  487. package/tools/v1/customers/credits/create-customers-v1-credits.d.ts.map +1 -1
  488. package/tools/v1/customers/credits/create-customers-v1-credits.js +29 -23
  489. package/tools/v1/customers/credits/create-customers-v1-credits.js.map +1 -1
  490. package/tools/v1/customers/credits/create-customers-v1-credits.mjs +29 -23
  491. package/tools/v1/customers/credits/create-customers-v1-credits.mjs.map +1 -1
  492. package/tools/v1/customers/credits/list-customers-v1-credits.d.mts.map +1 -1
  493. package/tools/v1/customers/credits/list-customers-v1-credits.d.ts.map +1 -1
  494. package/tools/v1/customers/credits/list-customers-v1-credits.js +3 -2
  495. package/tools/v1/customers/credits/list-customers-v1-credits.js.map +1 -1
  496. package/tools/v1/customers/credits/list-customers-v1-credits.mjs +3 -2
  497. package/tools/v1/customers/credits/list-customers-v1-credits.mjs.map +1 -1
  498. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.js +1 -1
  499. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.js.map +1 -1
  500. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.mjs +1 -1
  501. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.mjs.map +1 -1
  502. package/tools/v1/customers/invoices/add-charge-customers-v1-invoices.js +1 -1
  503. package/tools/v1/customers/invoices/add-charge-customers-v1-invoices.js.map +1 -1
  504. package/tools/v1/customers/invoices/add-charge-customers-v1-invoices.mjs +1 -1
  505. package/tools/v1/customers/invoices/add-charge-customers-v1-invoices.mjs.map +1 -1
  506. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.js +1 -1
  507. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.js.map +1 -1
  508. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.mjs +1 -1
  509. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.mjs.map +1 -1
  510. package/tools/v1/customers/invoices/list-customers-v1-invoices.js +1 -1
  511. package/tools/v1/customers/invoices/list-customers-v1-invoices.js.map +1 -1
  512. package/tools/v1/customers/invoices/list-customers-v1-invoices.mjs +1 -1
  513. package/tools/v1/customers/invoices/list-customers-v1-invoices.mjs.map +1 -1
  514. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.d.mts.map +1 -1
  515. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.d.ts.map +1 -1
  516. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.js +1 -1
  517. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.js.map +1 -1
  518. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.mjs +1 -1
  519. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.mjs.map +1 -1
  520. package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.d.mts +45 -0
  521. package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.d.mts.map +1 -0
  522. package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.d.ts +45 -0
  523. package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.d.ts.map +1 -0
  524. package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.js +39 -0
  525. package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.js.map +1 -0
  526. package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.mjs +35 -0
  527. package/tools/v1/customers/invoices/retrieve-pdf-customers-v1-invoices.mjs.map +1 -0
  528. package/tools/v1/customers/list-billable-metrics-v1-customers.js +1 -1
  529. package/tools/v1/customers/list-billable-metrics-v1-customers.js.map +1 -1
  530. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs +1 -1
  531. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs.map +1 -1
  532. package/tools/v1/customers/list-costs-v1-customers.js +1 -1
  533. package/tools/v1/customers/list-costs-v1-customers.js.map +1 -1
  534. package/tools/v1/customers/list-costs-v1-customers.mjs +1 -1
  535. package/tools/v1/customers/list-costs-v1-customers.mjs.map +1 -1
  536. package/tools/v1/customers/list-v1-customers.js +1 -1
  537. package/tools/v1/customers/list-v1-customers.js.map +1 -1
  538. package/tools/v1/customers/list-v1-customers.mjs +1 -1
  539. package/tools/v1/customers/list-v1-customers.mjs.map +1 -1
  540. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.js +1 -1
  541. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.js.map +1 -1
  542. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.mjs +1 -1
  543. package/tools/v1/customers/named-schedules/retrieve-customers-v1-named-schedules.mjs.map +1 -1
  544. package/tools/v1/customers/plans/add-customers-v1-plans.js +1 -1
  545. package/tools/v1/customers/plans/add-customers-v1-plans.js.map +1 -1
  546. package/tools/v1/customers/plans/add-customers-v1-plans.mjs +1 -1
  547. package/tools/v1/customers/plans/add-customers-v1-plans.mjs.map +1 -1
  548. package/tools/v1/customers/plans/end-customers-v1-plans.js +1 -1
  549. package/tools/v1/customers/plans/end-customers-v1-plans.js.map +1 -1
  550. package/tools/v1/customers/plans/end-customers-v1-plans.mjs +1 -1
  551. package/tools/v1/customers/plans/end-customers-v1-plans.mjs.map +1 -1
  552. package/tools/v1/customers/plans/list-customers-v1-plans.js +1 -1
  553. package/tools/v1/customers/plans/list-customers-v1-plans.js.map +1 -1
  554. package/tools/v1/customers/plans/list-customers-v1-plans.mjs +1 -1
  555. package/tools/v1/customers/plans/list-customers-v1-plans.mjs.map +1 -1
  556. package/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.js +1 -1
  557. package/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.js.map +1 -1
  558. package/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.mjs +1 -1
  559. package/tools/v1/customers/plans/list-price-adjustments-customers-v1-plans.mjs.map +1 -1
  560. package/tools/v1/customers/preview-events-v1-customers.d.mts.map +1 -1
  561. package/tools/v1/customers/preview-events-v1-customers.d.ts.map +1 -1
  562. package/tools/v1/customers/preview-events-v1-customers.js +2 -6
  563. package/tools/v1/customers/preview-events-v1-customers.js.map +1 -1
  564. package/tools/v1/customers/preview-events-v1-customers.mjs +2 -6
  565. package/tools/v1/customers/preview-events-v1-customers.mjs.map +1 -1
  566. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.mts +45 -0
  567. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.mts.map +1 -0
  568. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.ts +45 -0
  569. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.ts.map +1 -0
  570. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.js +43 -0
  571. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.js.map +1 -0
  572. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.mjs +39 -0
  573. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.mjs.map +1 -0
  574. package/tools/v1/customers/retrieve-v1-customers.js +1 -1
  575. package/tools/v1/customers/retrieve-v1-customers.js.map +1 -1
  576. package/tools/v1/customers/retrieve-v1-customers.mjs +1 -1
  577. package/tools/v1/customers/retrieve-v1-customers.mjs.map +1 -1
  578. package/tools/v1/customers/set-billing-configurations-v1-customers.d.mts +45 -0
  579. package/tools/v1/customers/set-billing-configurations-v1-customers.d.mts.map +1 -0
  580. package/tools/v1/customers/set-billing-configurations-v1-customers.d.ts +45 -0
  581. package/tools/v1/customers/set-billing-configurations-v1-customers.d.ts.map +1 -0
  582. package/tools/v1/customers/set-billing-configurations-v1-customers.js +77 -0
  583. package/tools/v1/customers/set-billing-configurations-v1-customers.js.map +1 -0
  584. package/tools/v1/customers/set-billing-configurations-v1-customers.mjs +73 -0
  585. package/tools/v1/customers/set-billing-configurations-v1-customers.mjs.map +1 -0
  586. package/tools/v1/customers/set-ingest-aliases-v1-customers.js +1 -1
  587. package/tools/v1/customers/set-ingest-aliases-v1-customers.js.map +1 -1
  588. package/tools/v1/customers/set-ingest-aliases-v1-customers.mjs +1 -1
  589. package/tools/v1/customers/set-ingest-aliases-v1-customers.mjs.map +1 -1
  590. package/tools/v1/customers/set-name-v1-customers.js +1 -1
  591. package/tools/v1/customers/set-name-v1-customers.js.map +1 -1
  592. package/tools/v1/customers/set-name-v1-customers.mjs +1 -1
  593. package/tools/v1/customers/set-name-v1-customers.mjs.map +1 -1
  594. package/tools/v1/customers/update-config-v1-customers.d.mts.map +1 -1
  595. package/tools/v1/customers/update-config-v1-customers.d.ts.map +1 -1
  596. package/tools/v1/customers/update-config-v1-customers.js +1 -1
  597. package/tools/v1/customers/update-config-v1-customers.js.map +1 -1
  598. package/tools/v1/customers/update-config-v1-customers.mjs +1 -1
  599. package/tools/v1/customers/update-config-v1-customers.mjs.map +1 -1
  600. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js +1 -1
  601. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js.map +1 -1
  602. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs +1 -1
  603. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs.map +1 -1
  604. package/tools/v1/invoices/regenerate-v1-invoices.js +1 -1
  605. package/tools/v1/invoices/regenerate-v1-invoices.js.map +1 -1
  606. package/tools/v1/invoices/regenerate-v1-invoices.mjs +1 -1
  607. package/tools/v1/invoices/regenerate-v1-invoices.mjs.map +1 -1
  608. package/tools/v1/invoices/void-v1-invoices.js +1 -1
  609. package/tools/v1/invoices/void-v1-invoices.js.map +1 -1
  610. package/tools/v1/invoices/void-v1-invoices.mjs +1 -1
  611. package/tools/v1/invoices/void-v1-invoices.mjs.map +1 -1
  612. package/tools/v1/payments/attempt-v1-payments.d.mts +45 -0
  613. package/tools/v1/payments/attempt-v1-payments.d.mts.map +1 -0
  614. package/tools/v1/payments/attempt-v1-payments.d.ts +45 -0
  615. package/tools/v1/payments/attempt-v1-payments.d.ts.map +1 -0
  616. package/tools/v1/payments/attempt-v1-payments.js +43 -0
  617. package/tools/v1/payments/attempt-v1-payments.js.map +1 -0
  618. package/tools/v1/payments/attempt-v1-payments.mjs +39 -0
  619. package/tools/v1/payments/attempt-v1-payments.mjs.map +1 -0
  620. package/tools/v1/payments/cancel-v1-payments.d.mts +45 -0
  621. package/tools/v1/payments/cancel-v1-payments.d.mts.map +1 -0
  622. package/tools/v1/payments/cancel-v1-payments.d.ts +45 -0
  623. package/tools/v1/payments/cancel-v1-payments.d.ts.map +1 -0
  624. package/tools/v1/payments/cancel-v1-payments.js +43 -0
  625. package/tools/v1/payments/cancel-v1-payments.js.map +1 -0
  626. package/tools/v1/payments/cancel-v1-payments.mjs +39 -0
  627. package/tools/v1/payments/cancel-v1-payments.mjs.map +1 -0
  628. package/tools/v1/payments/list-v1-payments.d.mts +45 -0
  629. package/tools/v1/payments/list-v1-payments.d.mts.map +1 -0
  630. package/tools/v1/payments/list-v1-payments.d.ts +45 -0
  631. package/tools/v1/payments/list-v1-payments.d.ts.map +1 -0
  632. package/tools/v1/payments/list-v1-payments.js +64 -0
  633. package/tools/v1/payments/list-v1-payments.js.map +1 -0
  634. package/tools/v1/payments/list-v1-payments.mjs +60 -0
  635. package/tools/v1/payments/list-v1-payments.mjs.map +1 -0
  636. package/tools/v1/plans/get-details-v1-plans.js +1 -1
  637. package/tools/v1/plans/get-details-v1-plans.js.map +1 -1
  638. package/tools/v1/plans/get-details-v1-plans.mjs +1 -1
  639. package/tools/v1/plans/get-details-v1-plans.mjs.map +1 -1
  640. package/tools/v1/plans/list-charges-v1-plans.js +1 -1
  641. package/tools/v1/plans/list-charges-v1-plans.js.map +1 -1
  642. package/tools/v1/plans/list-charges-v1-plans.mjs +1 -1
  643. package/tools/v1/plans/list-charges-v1-plans.mjs.map +1 -1
  644. package/tools/v1/plans/list-customers-v1-plans.js +1 -1
  645. package/tools/v1/plans/list-customers-v1-plans.js.map +1 -1
  646. package/tools/v1/plans/list-customers-v1-plans.mjs +1 -1
  647. package/tools/v1/plans/list-customers-v1-plans.mjs.map +1 -1
  648. package/tools/v1/plans/list-v1-plans.js +1 -1
  649. package/tools/v1/plans/list-v1-plans.js.map +1 -1
  650. package/tools/v1/plans/list-v1-plans.mjs +1 -1
  651. package/tools/v1/plans/list-v1-plans.mjs.map +1 -1
  652. package/tools/v1/pricing-units/list-v1-pricing-units.js +1 -1
  653. package/tools/v1/pricing-units/list-v1-pricing-units.js.map +1 -1
  654. package/tools/v1/pricing-units/list-v1-pricing-units.mjs +1 -1
  655. package/tools/v1/pricing-units/list-v1-pricing-units.mjs.map +1 -1
  656. package/tools/v1/services/list-v1-services.js +1 -1
  657. package/tools/v1/services/list-v1-services.js.map +1 -1
  658. package/tools/v1/services/list-v1-services.mjs +1 -1
  659. package/tools/v1/services/list-v1-services.mjs.map +1 -1
  660. package/tools/v1/usage/ingest-v1-usage.js +2 -2
  661. package/tools/v1/usage/ingest-v1-usage.js.map +1 -1
  662. package/tools/v1/usage/ingest-v1-usage.mjs +2 -2
  663. package/tools/v1/usage/ingest-v1-usage.mjs.map +1 -1
  664. package/tools/v1/usage/list-v1-usage.d.mts.map +1 -1
  665. package/tools/v1/usage/list-v1-usage.d.ts.map +1 -1
  666. package/tools/v1/usage/list-v1-usage.js +3 -2
  667. package/tools/v1/usage/list-v1-usage.js.map +1 -1
  668. package/tools/v1/usage/list-v1-usage.mjs +3 -2
  669. package/tools/v1/usage/list-v1-usage.mjs.map +1 -1
  670. package/tools/v1/usage/list-with-groups-v1-usage.js +1 -1
  671. package/tools/v1/usage/list-with-groups-v1-usage.js.map +1 -1
  672. package/tools/v1/usage/list-with-groups-v1-usage.mjs +1 -1
  673. package/tools/v1/usage/list-with-groups-v1-usage.mjs.map +1 -1
  674. package/tools/v1/usage/search-v1-usage.js +1 -1
  675. package/tools/v1/usage/search-v1-usage.js.map +1 -1
  676. package/tools/v1/usage/search-v1-usage.mjs +1 -1
  677. package/tools/v1/usage/search-v1-usage.mjs.map +1 -1
  678. package/tools/v2/contracts/edit-commit-v2-contracts.d.mts.map +1 -1
  679. package/tools/v2/contracts/edit-commit-v2-contracts.d.ts.map +1 -1
  680. package/tools/v2/contracts/edit-commit-v2-contracts.js +82 -23
  681. package/tools/v2/contracts/edit-commit-v2-contracts.js.map +1 -1
  682. package/tools/v2/contracts/edit-commit-v2-contracts.mjs +82 -23
  683. package/tools/v2/contracts/edit-commit-v2-contracts.mjs.map +1 -1
  684. package/tools/v2/contracts/edit-credit-v2-contracts.d.mts.map +1 -1
  685. package/tools/v2/contracts/edit-credit-v2-contracts.d.ts.map +1 -1
  686. package/tools/v2/contracts/edit-credit-v2-contracts.js +82 -23
  687. package/tools/v2/contracts/edit-credit-v2-contracts.js.map +1 -1
  688. package/tools/v2/contracts/edit-credit-v2-contracts.mjs +82 -23
  689. package/tools/v2/contracts/edit-credit-v2-contracts.mjs.map +1 -1
  690. package/tools/v2/contracts/edit-v2-contracts.d.mts.map +1 -1
  691. package/tools/v2/contracts/edit-v2-contracts.d.ts.map +1 -1
  692. package/tools/v2/contracts/edit-v2-contracts.js +303 -741
  693. package/tools/v2/contracts/edit-v2-contracts.js.map +1 -1
  694. package/tools/v2/contracts/edit-v2-contracts.mjs +303 -741
  695. package/tools/v2/contracts/edit-v2-contracts.mjs.map +1 -1
  696. package/tools/v2/contracts/get-edit-history-v2-contracts.js +1 -1
  697. package/tools/v2/contracts/get-edit-history-v2-contracts.js.map +1 -1
  698. package/tools/v2/contracts/get-edit-history-v2-contracts.mjs +1 -1
  699. package/tools/v2/contracts/get-edit-history-v2-contracts.mjs.map +1 -1
  700. package/tools/v2/contracts/list-v2-contracts.js +1 -1
  701. package/tools/v2/contracts/list-v2-contracts.js.map +1 -1
  702. package/tools/v2/contracts/list-v2-contracts.mjs +1 -1
  703. package/tools/v2/contracts/list-v2-contracts.mjs.map +1 -1
  704. package/tools/v2/contracts/retrieve-v2-contracts.d.mts.map +1 -1
  705. package/tools/v2/contracts/retrieve-v2-contracts.d.ts.map +1 -1
  706. package/tools/v2/contracts/retrieve-v2-contracts.js +1 -1
  707. package/tools/v2/contracts/retrieve-v2-contracts.js.map +1 -1
  708. package/tools/v2/contracts/retrieve-v2-contracts.mjs +1 -1
  709. package/tools/v2/contracts/retrieve-v2-contracts.mjs.map +1 -1
package/server.js CHANGED
@@ -4,9 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.readEnvOrError = exports.readEnv = exports.server = exports.newMcpServer = exports.endpoints = void 0;
7
+ exports.readEnvOrError = exports.readEnv = exports.server = exports.newMcpServer = exports.endpoints = exports.ClientType = void 0;
8
8
  exports.initMcpServer = initMcpServer;
9
- exports.init = init;
10
9
  exports.selectTools = selectTools;
11
10
  exports.executeHandler = executeHandler;
12
11
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
@@ -15,11 +14,15 @@ const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
15
14
  const sdk_1 = __importDefault(require("@metronome/sdk"));
16
15
  const compat_1 = require("./compat.js");
17
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; } });
18
21
  var tools_2 = require("./tools.js");
19
22
  Object.defineProperty(exports, "endpoints", { enumerable: true, get: function () { return tools_2.endpoints; } });
20
23
  const newMcpServer = () => new mcp_js_1.McpServer({
21
24
  name: 'metronome_sdk_api',
22
- version: '0.3.0',
25
+ version: '2.0.0',
23
26
  }, { capabilities: { tools: {}, logging: {} } });
24
27
  exports.newMcpServer = newMcpServer;
25
28
  // Create server instance
@@ -29,56 +32,115 @@ exports.server = (0, exports.newMcpServer)();
29
32
  * If not provided, the default client, tools and handlers will be used.
30
33
  */
31
34
  function initMcpServer(params) {
32
- const transformedEndpoints = selectTools(tools_1.endpoints, params.mcpOptions);
33
- const client = new sdk_1.default(params.clientOptions);
34
- const capabilities = {
35
- ...compat_1.defaultClientCapabilities,
36
- ...(params.mcpOptions.client ? compat_1.knownClients[params.mcpOptions.client] : params.mcpOptions.capabilities),
37
- };
38
- init({ server: params.server, client, endpoints: transformedEndpoints, capabilities });
39
- }
40
- function init(params) {
41
35
  const server = params.server instanceof mcp_js_1.McpServer ? params.server.server : params.server;
42
- const providedEndpoints = params.endpoints || tools_1.endpoints;
43
- const endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
44
- const client = params.client || new sdk_1.default({ defaultHeaders: { 'X-Stainless-MCP': 'true' } });
36
+ const mcpOptions = params.mcpOptions ?? {};
37
+ let providedEndpoints = null;
38
+ let endpointMap = null;
39
+ const initTools = async (implementation) => {
40
+ if (implementation && (!mcpOptions.client || mcpOptions.client === 'infer')) {
41
+ mcpOptions.client =
42
+ implementation.name.toLowerCase().includes('claude') ? 'claude'
43
+ : implementation.name.toLowerCase().includes('cursor') ? 'cursor'
44
+ : undefined;
45
+ mcpOptions.capabilities = {
46
+ ...(mcpOptions.client && compat_1.knownClients[mcpOptions.client]),
47
+ ...mcpOptions.capabilities,
48
+ };
49
+ }
50
+ providedEndpoints ?? (providedEndpoints = await selectTools(tools_1.endpoints, mcpOptions));
51
+ endpointMap ?? (endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint])));
52
+ };
53
+ const logAtLevel = (level) => (message, ...rest) => {
54
+ void server.sendLoggingMessage({
55
+ level,
56
+ data: { message, rest },
57
+ });
58
+ };
59
+ const logger = {
60
+ debug: logAtLevel('debug'),
61
+ info: logAtLevel('info'),
62
+ warn: logAtLevel('warning'),
63
+ error: logAtLevel('error'),
64
+ };
65
+ let client = new sdk_1.default({
66
+ logger,
67
+ ...params.clientOptions,
68
+ defaultHeaders: {
69
+ ...params.clientOptions?.defaultHeaders,
70
+ 'X-Stainless-MCP': 'true',
71
+ },
72
+ });
45
73
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
74
+ if (providedEndpoints === null) {
75
+ await initTools(server.getClientVersion());
76
+ }
46
77
  return {
47
78
  tools: providedEndpoints.map((endpoint) => endpoint.tool),
48
79
  };
49
80
  });
50
81
  server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
82
+ if (endpointMap === null) {
83
+ await initTools(server.getClientVersion());
84
+ }
51
85
  const { name, arguments: args } = request.params;
52
86
  const endpoint = endpointMap[name];
53
87
  if (!endpoint) {
54
88
  throw new Error(`Unknown tool: ${name}`);
55
89
  }
56
- return executeHandler(endpoint.tool, endpoint.handler, client, args, params.capabilities);
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 {};
57
113
  });
58
114
  }
59
115
  /**
60
116
  * Selects the tools to include in the MCP Server based on the provided options.
61
117
  */
62
- function selectTools(endpoints, options) {
63
- const filteredEndpoints = (0, tools_1.query)(options.filters, endpoints);
64
- let includedTools = filteredEndpoints;
118
+ async function selectTools(endpoints, options) {
119
+ const filteredEndpoints = (0, tools_1.query)(options?.filters ?? [], endpoints);
120
+ let includedTools = filteredEndpoints.slice();
65
121
  if (includedTools.length > 0) {
66
- if (options.includeDynamicTools) {
122
+ if (options?.includeDynamicTools) {
67
123
  includedTools = (0, dynamic_tools_1.dynamicTools)(includedTools);
68
124
  }
69
125
  }
70
126
  else {
71
- if (options.includeAllTools) {
72
- includedTools = endpoints;
127
+ if (options?.includeAllTools) {
128
+ includedTools = endpoints.slice();
73
129
  }
74
- else if (options.includeDynamicTools) {
130
+ else if (options?.includeDynamicTools) {
75
131
  includedTools = (0, dynamic_tools_1.dynamicTools)(endpoints);
76
132
  }
133
+ else if (options?.includeCodeTools) {
134
+ includedTools = [await (0, code_tool_1.codeTool)()];
135
+ }
77
136
  else {
78
- includedTools = endpoints;
137
+ includedTools = endpoints.slice();
79
138
  }
80
139
  }
81
- const capabilities = { ...compat_1.defaultClientCapabilities, ...options.capabilities };
140
+ if (options?.includeDocsTools ?? true) {
141
+ includedTools.push(docs_search_tool_1.default);
142
+ }
143
+ const capabilities = { ...compat_1.defaultClientCapabilities, ...options?.capabilities };
82
144
  return (0, compat_1.applyCompatibilityTransformations)(includedTools, capabilities);
83
145
  }
84
146
  /**
package/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
package/server.mjs CHANGED
@@ -1,14 +1,17 @@
1
1
  // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
2
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
3
3
  import { endpoints, query } from "./tools.mjs";
4
- import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
4
+ import { CallToolRequestSchema, ListToolsRequestSchema, SetLevelRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
5
5
  import Metronome from '@metronome/sdk';
6
6
  import { applyCompatibilityTransformations, defaultClientCapabilities, knownClients, parseEmbeddedJSON, } from "./compat.mjs";
7
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";
8
11
  export { endpoints } from "./tools.mjs";
9
12
  export const newMcpServer = () => new McpServer({
10
13
  name: 'metronome_sdk_api',
11
- version: '0.3.0',
14
+ version: '2.0.0',
12
15
  }, { capabilities: { tools: {}, logging: {} } });
13
16
  // Create server instance
14
17
  export const server = newMcpServer();
@@ -17,56 +20,115 @@ export const server = newMcpServer();
17
20
  * If not provided, the default client, tools and handlers will be used.
18
21
  */
19
22
  export function initMcpServer(params) {
20
- const transformedEndpoints = selectTools(endpoints, params.mcpOptions);
21
- const client = new Metronome(params.clientOptions);
22
- const capabilities = {
23
- ...defaultClientCapabilities,
24
- ...(params.mcpOptions.client ? knownClients[params.mcpOptions.client] : params.mcpOptions.capabilities),
25
- };
26
- init({ server: params.server, client, endpoints: transformedEndpoints, capabilities });
27
- }
28
- export function init(params) {
29
23
  const server = params.server instanceof McpServer ? params.server.server : params.server;
30
- const providedEndpoints = params.endpoints || endpoints;
31
- const endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
32
- const client = params.client || new Metronome({ defaultHeaders: { 'X-Stainless-MCP': 'true' } });
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 Metronome({
54
+ logger,
55
+ ...params.clientOptions,
56
+ defaultHeaders: {
57
+ ...params.clientOptions?.defaultHeaders,
58
+ 'X-Stainless-MCP': 'true',
59
+ },
60
+ });
33
61
  server.setRequestHandler(ListToolsRequestSchema, async () => {
62
+ if (providedEndpoints === null) {
63
+ await initTools(server.getClientVersion());
64
+ }
34
65
  return {
35
66
  tools: providedEndpoints.map((endpoint) => endpoint.tool),
36
67
  };
37
68
  });
38
69
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
70
+ if (endpointMap === null) {
71
+ await initTools(server.getClientVersion());
72
+ }
39
73
  const { name, arguments: args } = request.params;
40
74
  const endpoint = endpointMap[name];
41
75
  if (!endpoint) {
42
76
  throw new Error(`Unknown tool: ${name}`);
43
77
  }
44
- return executeHandler(endpoint.tool, endpoint.handler, client, args, params.capabilities);
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 {};
45
101
  });
46
102
  }
47
103
  /**
48
104
  * Selects the tools to include in the MCP Server based on the provided options.
49
105
  */
50
- export function selectTools(endpoints, options) {
51
- const filteredEndpoints = query(options.filters, endpoints);
52
- let includedTools = filteredEndpoints;
106
+ export async function selectTools(endpoints, options) {
107
+ const filteredEndpoints = query(options?.filters ?? [], endpoints);
108
+ let includedTools = filteredEndpoints.slice();
53
109
  if (includedTools.length > 0) {
54
- if (options.includeDynamicTools) {
110
+ if (options?.includeDynamicTools) {
55
111
  includedTools = dynamicTools(includedTools);
56
112
  }
57
113
  }
58
114
  else {
59
- if (options.includeAllTools) {
60
- includedTools = endpoints;
115
+ if (options?.includeAllTools) {
116
+ includedTools = endpoints.slice();
61
117
  }
62
- else if (options.includeDynamicTools) {
118
+ else if (options?.includeDynamicTools) {
63
119
  includedTools = dynamicTools(endpoints);
64
120
  }
121
+ else if (options?.includeCodeTools) {
122
+ includedTools = [await codeTool()];
123
+ }
65
124
  else {
66
- includedTools = endpoints;
125
+ includedTools = endpoints.slice();
67
126
  }
68
127
  }
69
- const capabilities = { ...defaultClientCapabilities, ...options.capabilities };
128
+ if (options?.includeDocsTools ?? true) {
129
+ includedTools.push(docsSearchTool);
130
+ }
131
+ const capabilities = { ...defaultClientCapabilities, ...options?.capabilities };
70
132
  return applyCompatibilityTransformations(includedTools, capabilities);
71
133
  }
72
134
  /**
package/server.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.mjs","sourceRoot":"","sources":["src/server.ts"],"names":[],"mappings":"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"}
@@ -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 '@metronome/sdk';
4
+
5
+ export type WorkerInput = {
6
+ opts: ClientOptions;
7
+ code: string;
8
+ };
9
+ export type WorkerSuccess = {
10
+ result: unknown | null;
11
+ logLines: string[];
12
+ errLines: string[];
13
+ };
14
+ export type WorkerError = { 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 { Metronome } from '@metronome/sdk';
6
+
7
+ const fetch = async (req: Request): Promise<Response> => {
8
+ const { opts, code } = (await req.json()) as WorkerInput;
9
+ const client = new Metronome({
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,147 @@
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 Metronome, { ClientOptions } from '@metronome/sdk';
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: Metronome, 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
+ bearerToken: client.bearerToken,
62
+ webhookSecret: client.webhookSecret,
63
+ defaultHeaders: {
64
+ 'X-Stainless-MCP': 'true',
65
+ },
66
+ };
67
+
68
+ const req = worker.request(
69
+ 'http://localhost',
70
+ {
71
+ headers: {
72
+ 'content-type': 'application/json',
73
+ },
74
+ method: 'POST',
75
+ },
76
+ (resp) => {
77
+ const body: Uint8Array[] = [];
78
+ resp.on('error', (err) => {
79
+ reject(err);
80
+ });
81
+ resp.on('data', (chunk) => {
82
+ body.push(chunk);
83
+ });
84
+ resp.on('end', () => {
85
+ resolve(
86
+ new Response(Buffer.concat(body).toString(), {
87
+ status: resp.statusCode ?? 200,
88
+ headers: resp.headers as any,
89
+ }),
90
+ );
91
+ });
92
+ },
93
+ );
94
+
95
+ const body = JSON.stringify({
96
+ opts,
97
+ code,
98
+ } satisfies WorkerInput);
99
+
100
+ req.write(body, (err) => {
101
+ if (err !== null && err !== undefined) {
102
+ reject(err);
103
+ }
104
+ });
105
+
106
+ req.end();
107
+ });
108
+
109
+ if (resp.status === 200) {
110
+ const { result, logLines, errLines } = (await resp.json()) as WorkerSuccess;
111
+ const returnOutput: ContentBlock | null =
112
+ result === null ? null
113
+ : result === undefined ? null
114
+ : {
115
+ type: 'text',
116
+ text: typeof result === 'string' ? (result as string) : JSON.stringify(result),
117
+ };
118
+ const logOutput: ContentBlock | null =
119
+ logLines.length === 0 ?
120
+ null
121
+ : {
122
+ type: 'text',
123
+ text: logLines.join('\n'),
124
+ };
125
+ const errOutput: ContentBlock | null =
126
+ errLines.length === 0 ?
127
+ null
128
+ : {
129
+ type: 'text',
130
+ text: 'Error output:\n' + errLines.join('\n'),
131
+ };
132
+ return {
133
+ content: [returnOutput, logOutput, errOutput].filter((block) => block !== null),
134
+ };
135
+ } else {
136
+ const { message } = (await resp.json()) as WorkerError;
137
+ throw new Error(message);
138
+ }
139
+ } catch (e) {
140
+ throw e;
141
+ } finally {
142
+ worker.terminate();
143
+ }
144
+ };
145
+
146
+ return { metadata, tool, handler };
147
+ }
package/src/compat.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { Tool } from '@modelcontextprotocol/sdk/types.js';
2
+ import { z } from 'zod';
2
3
  import { Endpoint } from './tools';
3
4
 
4
5
  export interface ClientCapabilities {
@@ -19,12 +20,13 @@ export const defaultClientCapabilities: ClientCapabilities = {
19
20
  toolNameLength: undefined,
20
21
  };
21
22
 
22
- export type ClientType = 'openai-agents' | 'claude' | 'claude-code' | 'cursor';
23
+ export const ClientType = z.enum(['openai-agents', 'claude', 'claude-code', 'cursor', 'infer']);
24
+ export type ClientType = z.infer<typeof ClientType>;
23
25
 
24
26
  // Client presets for compatibility
25
27
  // Note that these could change over time as models get better, so this is
26
28
  // a best effort.
27
- export const knownClients: Record<ClientType, ClientCapabilities> = {
29
+ export const knownClients: Record<Exclude<ClientType, 'infer'>, ClientCapabilities> = {
28
30
  'openai-agents': {
29
31
  topLevelUnions: false,
30
32
  validJson: true,