@metronome/mcp 0.3.0 → 1.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 (600) hide show
  1. package/README.md +1019 -75
  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/dynamic-tools.js +3 -3
  39. package/dynamic-tools.js.map +1 -1
  40. package/dynamic-tools.mjs +3 -3
  41. package/dynamic-tools.mjs.map +1 -1
  42. package/headers.d.mts +1 -1
  43. package/headers.d.mts.map +1 -1
  44. package/headers.d.ts +1 -1
  45. package/headers.d.ts.map +1 -1
  46. package/headers.js +1 -1
  47. package/headers.js.map +1 -1
  48. package/headers.mjs +1 -1
  49. package/headers.mjs.map +1 -1
  50. package/http.d.mts +6 -3
  51. package/http.d.mts.map +1 -1
  52. package/http.d.ts +6 -3
  53. package/http.d.ts.map +1 -1
  54. package/http.js +25 -10
  55. package/http.js.map +1 -1
  56. package/http.mjs +25 -10
  57. package/http.mjs.map +1 -1
  58. package/index.js +6 -6
  59. package/index.js.map +1 -1
  60. package/index.mjs +7 -7
  61. package/index.mjs.map +1 -1
  62. package/options.d.mts +8 -6
  63. package/options.d.mts.map +1 -1
  64. package/options.d.ts +8 -6
  65. package/options.d.ts.map +1 -1
  66. package/options.js +118 -15
  67. package/options.js.map +1 -1
  68. package/options.mjs +117 -15
  69. package/options.mjs.map +1 -1
  70. package/package.json +161 -10
  71. package/server.d.mts +3 -16
  72. package/server.d.mts.map +1 -1
  73. package/server.d.ts +3 -16
  74. package/server.d.ts.map +1 -1
  75. package/server.js +80 -22
  76. package/server.js.map +1 -1
  77. package/server.mjs +79 -21
  78. package/server.mjs.map +1 -1
  79. package/src/code-tool-paths.cts +3 -0
  80. package/src/code-tool-types.ts +14 -0
  81. package/src/code-tool-worker.ts +46 -0
  82. package/src/code-tool.ts +147 -0
  83. package/src/compat.ts +4 -2
  84. package/src/dynamic-tools.ts +3 -3
  85. package/src/headers.ts +2 -3
  86. package/src/http.ts +54 -26
  87. package/src/index.ts +7 -7
  88. package/src/options.ts +136 -21
  89. package/src/server.ts +92 -32
  90. package/src/stdio.ts +3 -4
  91. package/src/tools/index.ts +4 -0
  92. package/src/tools/v1/alerts/archive-v1-alerts.ts +1 -1
  93. package/src/tools/v1/alerts/create-v1-alerts.ts +2 -2
  94. package/src/tools/v1/audit-logs/list-v1-audit-logs.ts +1 -1
  95. package/src/tools/v1/billable-metrics/archive-v1-billable-metrics.ts +1 -1
  96. package/src/tools/v1/billable-metrics/create-v1-billable-metrics.ts +1 -1
  97. package/src/tools/v1/billable-metrics/list-v1-billable-metrics.ts +1 -1
  98. package/src/tools/v1/billable-metrics/retrieve-v1-billable-metrics.ts +1 -1
  99. package/src/tools/v1/contracts/add-manual-balance-entry-v1-contracts.ts +2 -1
  100. package/src/tools/v1/contracts/amend-v1-contracts.ts +85 -142
  101. package/src/tools/v1/contracts/archive-v1-contracts.ts +1 -1
  102. package/src/tools/v1/contracts/create-historical-invoices-v1-contracts.ts +3 -1
  103. package/src/tools/v1/contracts/create-v1-contracts.ts +235 -515
  104. package/src/tools/v1/contracts/list-balances-v1-contracts.ts +4 -2
  105. package/src/tools/v1/contracts/list-v1-contracts.ts +1 -1
  106. package/src/tools/v1/contracts/products/archive-contracts-v1-products.ts +1 -1
  107. package/src/tools/v1/contracts/products/create-contracts-v1-products.ts +2 -1
  108. package/src/tools/v1/contracts/products/list-contracts-v1-products.ts +1 -1
  109. package/src/tools/v1/contracts/products/retrieve-contracts-v1-products.ts +1 -1
  110. package/src/tools/v1/contracts/products/update-contracts-v1-products.ts +1 -1
  111. package/src/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.ts +1 -1
  112. package/src/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.ts +2 -1
  113. package/src/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.ts +1 -1
  114. package/src/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.ts +1 -1
  115. package/src/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.ts +1 -1
  116. package/src/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.ts +24 -21
  117. package/src/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.ts +25 -22
  118. package/src/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.ts +1 -1
  119. package/src/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.ts +1 -1
  120. package/src/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.ts +1 -1
  121. package/src/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.ts +1 -1
  122. package/src/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.ts +1 -1
  123. package/src/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.ts +1 -1
  124. package/src/tools/v1/contracts/set-usage-filter-v1-contracts.ts +2 -1
  125. package/src/tools/v1/contracts/update-end-date-v1-contracts.ts +1 -1
  126. package/src/tools/v1/credit-grants/list-entries-v1-credit-grants.ts +2 -1
  127. package/src/tools/v1/credit-grants/list-v1-credit-grants.ts +1 -1
  128. package/src/tools/v1/custom-fields/add-key-v1-custom-fields.ts +1 -1
  129. package/src/tools/v1/custom-fields/delete-values-v1-custom-fields.ts +2 -1
  130. package/src/tools/v1/custom-fields/list-keys-v1-custom-fields.ts +3 -2
  131. package/src/tools/v1/custom-fields/remove-key-v1-custom-fields.ts +2 -1
  132. package/src/tools/v1/custom-fields/set-values-v1-custom-fields.ts +2 -1
  133. package/src/tools/v1/customers/alerts/list-customers-v1-alerts.ts +3 -2
  134. package/src/tools/v1/customers/alerts/reset-customers-v1-alerts.ts +2 -1
  135. package/src/tools/v1/customers/alerts/retrieve-customers-v1-alerts.ts +20 -1
  136. package/src/tools/v1/customers/archive-v1-customers.ts +1 -1
  137. package/src/tools/v1/customers/billing-config/create-customers-v1-billing-config.ts +6 -1
  138. package/src/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.ts +1 -1
  139. package/src/tools/v1/customers/commits/create-customers-v1-commits.ts +32 -33
  140. package/src/tools/v1/customers/commits/list-customers-v1-commits.ts +4 -2
  141. package/src/tools/v1/customers/commits/update-end-date-customers-v1-commits.ts +1 -1
  142. package/src/tools/v1/customers/create-v1-customers.ts +14 -2
  143. package/src/tools/v1/customers/credits/create-customers-v1-credits.ts +30 -24
  144. package/src/tools/v1/customers/credits/list-customers-v1-credits.ts +4 -2
  145. package/src/tools/v1/customers/credits/update-end-date-customers-v1-credits.ts +1 -1
  146. package/src/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.ts +1 -1
  147. package/src/tools/v1/customers/invoices/list-customers-v1-invoices.ts +1 -1
  148. package/src/tools/v1/customers/invoices/retrieve-customers-v1-invoices.ts +2 -1
  149. package/src/tools/v1/customers/list-billable-metrics-v1-customers.ts +1 -1
  150. package/src/tools/v1/customers/list-v1-customers.ts +1 -1
  151. package/src/tools/v1/customers/plans/list-customers-v1-plans.ts +1 -1
  152. package/src/tools/v1/customers/retrieve-billing-configurations-v1-customers.ts +50 -0
  153. package/src/tools/v1/customers/retrieve-v1-customers.ts +1 -1
  154. package/src/tools/v1/customers/set-billing-configurations-v1-customers.ts +85 -0
  155. package/src/tools/v1/customers/set-ingest-aliases-v1-customers.ts +1 -1
  156. package/src/tools/v1/customers/set-name-v1-customers.ts +1 -1
  157. package/src/tools/v1/customers/update-config-v1-customers.ts +2 -1
  158. package/src/tools/v1/dashboards/get-embeddable-url-v1-dashboards.ts +1 -1
  159. package/src/tools/v1/invoices/regenerate-v1-invoices.ts +1 -1
  160. package/src/tools/v1/invoices/void-v1-invoices.ts +1 -1
  161. package/src/tools/v1/plans/get-details-v1-plans.ts +1 -1
  162. package/src/tools/v1/plans/list-charges-v1-plans.ts +1 -1
  163. package/src/tools/v1/plans/list-customers-v1-plans.ts +1 -1
  164. package/src/tools/v1/plans/list-v1-plans.ts +1 -1
  165. package/src/tools/v1/pricing-units/list-v1-pricing-units.ts +1 -1
  166. package/src/tools/v1/services/list-v1-services.ts +1 -1
  167. package/src/tools/v1/usage/ingest-v1-usage.ts +2 -2
  168. package/src/tools/v1/usage/list-v1-usage.ts +3 -2
  169. package/src/tools/v1/usage/list-with-groups-v1-usage.ts +1 -1
  170. package/src/tools/v1/usage/search-v1-usage.ts +1 -1
  171. package/src/tools/v2/contracts/edit-commit-v2-contracts.ts +35 -24
  172. package/src/tools/v2/contracts/edit-credit-v2-contracts.ts +35 -24
  173. package/src/tools/v2/contracts/edit-v2-contracts.ts +255 -781
  174. package/src/tools/v2/contracts/get-edit-history-v2-contracts.ts +1 -1
  175. package/src/tools/v2/contracts/list-v2-contracts.ts +1 -1
  176. package/src/tools/v2/contracts/retrieve-v2-contracts.ts +2 -1
  177. package/stdio.d.mts +1 -2
  178. package/stdio.d.mts.map +1 -1
  179. package/stdio.d.ts +1 -2
  180. package/stdio.d.ts.map +1 -1
  181. package/stdio.js +2 -2
  182. package/stdio.js.map +1 -1
  183. package/stdio.mjs +3 -3
  184. package/stdio.mjs.map +1 -1
  185. package/tools/index.d.mts.map +1 -1
  186. package/tools/index.d.ts.map +1 -1
  187. package/tools/index.js +4 -0
  188. package/tools/index.js.map +1 -1
  189. package/tools/index.mjs +4 -0
  190. package/tools/index.mjs.map +1 -1
  191. package/tools/v1/alerts/archive-v1-alerts.js +1 -1
  192. package/tools/v1/alerts/archive-v1-alerts.js.map +1 -1
  193. package/tools/v1/alerts/archive-v1-alerts.mjs +1 -1
  194. package/tools/v1/alerts/archive-v1-alerts.mjs.map +1 -1
  195. package/tools/v1/alerts/create-v1-alerts.js +2 -2
  196. package/tools/v1/alerts/create-v1-alerts.js.map +1 -1
  197. package/tools/v1/alerts/create-v1-alerts.mjs +2 -2
  198. package/tools/v1/alerts/create-v1-alerts.mjs.map +1 -1
  199. package/tools/v1/audit-logs/list-v1-audit-logs.js +1 -1
  200. package/tools/v1/audit-logs/list-v1-audit-logs.js.map +1 -1
  201. package/tools/v1/audit-logs/list-v1-audit-logs.mjs +1 -1
  202. package/tools/v1/audit-logs/list-v1-audit-logs.mjs.map +1 -1
  203. package/tools/v1/billable-metrics/archive-v1-billable-metrics.js +1 -1
  204. package/tools/v1/billable-metrics/archive-v1-billable-metrics.js.map +1 -1
  205. package/tools/v1/billable-metrics/archive-v1-billable-metrics.mjs +1 -1
  206. package/tools/v1/billable-metrics/archive-v1-billable-metrics.mjs.map +1 -1
  207. package/tools/v1/billable-metrics/create-v1-billable-metrics.js +1 -1
  208. package/tools/v1/billable-metrics/create-v1-billable-metrics.js.map +1 -1
  209. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs +1 -1
  210. package/tools/v1/billable-metrics/create-v1-billable-metrics.mjs.map +1 -1
  211. package/tools/v1/billable-metrics/list-v1-billable-metrics.js +1 -1
  212. package/tools/v1/billable-metrics/list-v1-billable-metrics.js.map +1 -1
  213. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs +1 -1
  214. package/tools/v1/billable-metrics/list-v1-billable-metrics.mjs.map +1 -1
  215. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js +1 -1
  216. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.js.map +1 -1
  217. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs +1 -1
  218. package/tools/v1/billable-metrics/retrieve-v1-billable-metrics.mjs.map +1 -1
  219. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.d.mts.map +1 -1
  220. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.d.ts.map +1 -1
  221. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.js +1 -1
  222. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.js.map +1 -1
  223. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.mjs +1 -1
  224. package/tools/v1/contracts/add-manual-balance-entry-v1-contracts.mjs.map +1 -1
  225. package/tools/v1/contracts/amend-v1-contracts.d.mts.map +1 -1
  226. package/tools/v1/contracts/amend-v1-contracts.d.ts.map +1 -1
  227. package/tools/v1/contracts/amend-v1-contracts.js +84 -138
  228. package/tools/v1/contracts/amend-v1-contracts.js.map +1 -1
  229. package/tools/v1/contracts/amend-v1-contracts.mjs +84 -138
  230. package/tools/v1/contracts/amend-v1-contracts.mjs.map +1 -1
  231. package/tools/v1/contracts/archive-v1-contracts.js +1 -1
  232. package/tools/v1/contracts/archive-v1-contracts.js.map +1 -1
  233. package/tools/v1/contracts/archive-v1-contracts.mjs +1 -1
  234. package/tools/v1/contracts/archive-v1-contracts.mjs.map +1 -1
  235. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.mts.map +1 -1
  236. package/tools/v1/contracts/create-historical-invoices-v1-contracts.d.ts.map +1 -1
  237. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js +2 -1
  238. package/tools/v1/contracts/create-historical-invoices-v1-contracts.js.map +1 -1
  239. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs +2 -1
  240. package/tools/v1/contracts/create-historical-invoices-v1-contracts.mjs.map +1 -1
  241. package/tools/v1/contracts/create-v1-contracts.d.mts.map +1 -1
  242. package/tools/v1/contracts/create-v1-contracts.d.ts.map +1 -1
  243. package/tools/v1/contracts/create-v1-contracts.js +220 -483
  244. package/tools/v1/contracts/create-v1-contracts.js.map +1 -1
  245. package/tools/v1/contracts/create-v1-contracts.mjs +220 -483
  246. package/tools/v1/contracts/create-v1-contracts.mjs.map +1 -1
  247. package/tools/v1/contracts/list-balances-v1-contracts.d.mts.map +1 -1
  248. package/tools/v1/contracts/list-balances-v1-contracts.d.ts.map +1 -1
  249. package/tools/v1/contracts/list-balances-v1-contracts.js +3 -2
  250. package/tools/v1/contracts/list-balances-v1-contracts.js.map +1 -1
  251. package/tools/v1/contracts/list-balances-v1-contracts.mjs +3 -2
  252. package/tools/v1/contracts/list-balances-v1-contracts.mjs.map +1 -1
  253. package/tools/v1/contracts/list-v1-contracts.js +1 -1
  254. package/tools/v1/contracts/list-v1-contracts.js.map +1 -1
  255. package/tools/v1/contracts/list-v1-contracts.mjs +1 -1
  256. package/tools/v1/contracts/list-v1-contracts.mjs.map +1 -1
  257. package/tools/v1/contracts/products/archive-contracts-v1-products.js +1 -1
  258. package/tools/v1/contracts/products/archive-contracts-v1-products.js.map +1 -1
  259. package/tools/v1/contracts/products/archive-contracts-v1-products.mjs +1 -1
  260. package/tools/v1/contracts/products/archive-contracts-v1-products.mjs.map +1 -1
  261. package/tools/v1/contracts/products/create-contracts-v1-products.d.mts.map +1 -1
  262. package/tools/v1/contracts/products/create-contracts-v1-products.d.ts.map +1 -1
  263. package/tools/v1/contracts/products/create-contracts-v1-products.js +2 -1
  264. package/tools/v1/contracts/products/create-contracts-v1-products.js.map +1 -1
  265. package/tools/v1/contracts/products/create-contracts-v1-products.mjs +2 -1
  266. package/tools/v1/contracts/products/create-contracts-v1-products.mjs.map +1 -1
  267. package/tools/v1/contracts/products/list-contracts-v1-products.js +1 -1
  268. package/tools/v1/contracts/products/list-contracts-v1-products.js.map +1 -1
  269. package/tools/v1/contracts/products/list-contracts-v1-products.mjs +1 -1
  270. package/tools/v1/contracts/products/list-contracts-v1-products.mjs.map +1 -1
  271. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js +1 -1
  272. package/tools/v1/contracts/products/retrieve-contracts-v1-products.js.map +1 -1
  273. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs +1 -1
  274. package/tools/v1/contracts/products/retrieve-contracts-v1-products.mjs.map +1 -1
  275. package/tools/v1/contracts/products/update-contracts-v1-products.js +1 -1
  276. package/tools/v1/contracts/products/update-contracts-v1-products.js.map +1 -1
  277. package/tools/v1/contracts/products/update-contracts-v1-products.mjs +1 -1
  278. package/tools/v1/contracts/products/update-contracts-v1-products.mjs.map +1 -1
  279. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.js +1 -1
  280. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.js.map +1 -1
  281. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.mjs +1 -1
  282. package/tools/v1/contracts/rate-cards/archive-contracts-v1-rate-cards.mjs.map +1 -1
  283. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.mts.map +1 -1
  284. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.d.ts.map +1 -1
  285. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js +2 -1
  286. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.js.map +1 -1
  287. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs +2 -1
  288. package/tools/v1/contracts/rate-cards/create-contracts-v1-rate-cards.mjs.map +1 -1
  289. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js +1 -1
  290. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.js.map +1 -1
  291. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs +1 -1
  292. package/tools/v1/contracts/rate-cards/list-contracts-v1-rate-cards.mjs.map +1 -1
  293. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.js +1 -1
  294. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.js.map +1 -1
  295. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.mjs +1 -1
  296. package/tools/v1/contracts/rate-cards/product-orders/set-rate-cards-contracts-v1-product-orders.mjs.map +1 -1
  297. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.js +1 -1
  298. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.js.map +1 -1
  299. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.mjs +1 -1
  300. package/tools/v1/contracts/rate-cards/product-orders/update-rate-cards-contracts-v1-product-orders.mjs.map +1 -1
  301. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  302. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  303. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js +23 -20
  304. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.js.map +1 -1
  305. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs +23 -20
  306. package/tools/v1/contracts/rate-cards/rates/add-many-rate-cards-contracts-v1-rates.mjs.map +1 -1
  307. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.mts.map +1 -1
  308. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.d.ts.map +1 -1
  309. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js +24 -21
  310. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.js.map +1 -1
  311. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs +24 -21
  312. package/tools/v1/contracts/rate-cards/rates/add-rate-cards-contracts-v1-rates.mjs.map +1 -1
  313. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js +1 -1
  314. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.js.map +1 -1
  315. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs +1 -1
  316. package/tools/v1/contracts/rate-cards/rates/list-rate-cards-contracts-v1-rates.mjs.map +1 -1
  317. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js +1 -1
  318. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.js.map +1 -1
  319. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs +1 -1
  320. package/tools/v1/contracts/rate-cards/retrieve-contracts-v1-rate-cards.mjs.map +1 -1
  321. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js +1 -1
  322. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.js.map +1 -1
  323. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs +1 -1
  324. package/tools/v1/contracts/rate-cards/retrieve-rate-schedule-contracts-v1-rate-cards.mjs.map +1 -1
  325. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.js +1 -1
  326. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.js.map +1 -1
  327. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.mjs +1 -1
  328. package/tools/v1/contracts/rate-cards/update-contracts-v1-rate-cards.mjs.map +1 -1
  329. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js +1 -1
  330. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.js.map +1 -1
  331. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs +1 -1
  332. package/tools/v1/contracts/retrieve-rate-schedule-v1-contracts.mjs.map +1 -1
  333. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.js +1 -1
  334. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.js.map +1 -1
  335. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.mjs +1 -1
  336. package/tools/v1/contracts/retrieve-subscription-quantity-history-v1-contracts.mjs.map +1 -1
  337. package/tools/v1/contracts/set-usage-filter-v1-contracts.d.mts.map +1 -1
  338. package/tools/v1/contracts/set-usage-filter-v1-contracts.d.ts.map +1 -1
  339. package/tools/v1/contracts/set-usage-filter-v1-contracts.js +1 -1
  340. package/tools/v1/contracts/set-usage-filter-v1-contracts.js.map +1 -1
  341. package/tools/v1/contracts/set-usage-filter-v1-contracts.mjs +1 -1
  342. package/tools/v1/contracts/set-usage-filter-v1-contracts.mjs.map +1 -1
  343. package/tools/v1/contracts/update-end-date-v1-contracts.js +1 -1
  344. package/tools/v1/contracts/update-end-date-v1-contracts.js.map +1 -1
  345. package/tools/v1/contracts/update-end-date-v1-contracts.mjs +1 -1
  346. package/tools/v1/contracts/update-end-date-v1-contracts.mjs.map +1 -1
  347. package/tools/v1/credit-grants/list-entries-v1-credit-grants.d.mts.map +1 -1
  348. package/tools/v1/credit-grants/list-entries-v1-credit-grants.d.ts.map +1 -1
  349. package/tools/v1/credit-grants/list-entries-v1-credit-grants.js +2 -1
  350. package/tools/v1/credit-grants/list-entries-v1-credit-grants.js.map +1 -1
  351. package/tools/v1/credit-grants/list-entries-v1-credit-grants.mjs +2 -1
  352. package/tools/v1/credit-grants/list-entries-v1-credit-grants.mjs.map +1 -1
  353. package/tools/v1/credit-grants/list-v1-credit-grants.js +1 -1
  354. package/tools/v1/credit-grants/list-v1-credit-grants.js.map +1 -1
  355. package/tools/v1/credit-grants/list-v1-credit-grants.mjs +1 -1
  356. package/tools/v1/credit-grants/list-v1-credit-grants.mjs.map +1 -1
  357. package/tools/v1/custom-fields/add-key-v1-custom-fields.js +1 -1
  358. package/tools/v1/custom-fields/add-key-v1-custom-fields.js.map +1 -1
  359. package/tools/v1/custom-fields/add-key-v1-custom-fields.mjs +1 -1
  360. package/tools/v1/custom-fields/add-key-v1-custom-fields.mjs.map +1 -1
  361. package/tools/v1/custom-fields/delete-values-v1-custom-fields.d.mts.map +1 -1
  362. package/tools/v1/custom-fields/delete-values-v1-custom-fields.d.ts.map +1 -1
  363. package/tools/v1/custom-fields/delete-values-v1-custom-fields.js +1 -1
  364. package/tools/v1/custom-fields/delete-values-v1-custom-fields.js.map +1 -1
  365. package/tools/v1/custom-fields/delete-values-v1-custom-fields.mjs +1 -1
  366. package/tools/v1/custom-fields/delete-values-v1-custom-fields.mjs.map +1 -1
  367. package/tools/v1/custom-fields/list-keys-v1-custom-fields.d.mts.map +1 -1
  368. package/tools/v1/custom-fields/list-keys-v1-custom-fields.d.ts.map +1 -1
  369. package/tools/v1/custom-fields/list-keys-v1-custom-fields.js +3 -2
  370. package/tools/v1/custom-fields/list-keys-v1-custom-fields.js.map +1 -1
  371. package/tools/v1/custom-fields/list-keys-v1-custom-fields.mjs +3 -2
  372. package/tools/v1/custom-fields/list-keys-v1-custom-fields.mjs.map +1 -1
  373. package/tools/v1/custom-fields/remove-key-v1-custom-fields.d.mts.map +1 -1
  374. package/tools/v1/custom-fields/remove-key-v1-custom-fields.d.ts.map +1 -1
  375. package/tools/v1/custom-fields/remove-key-v1-custom-fields.js +1 -1
  376. package/tools/v1/custom-fields/remove-key-v1-custom-fields.js.map +1 -1
  377. package/tools/v1/custom-fields/remove-key-v1-custom-fields.mjs +1 -1
  378. package/tools/v1/custom-fields/remove-key-v1-custom-fields.mjs.map +1 -1
  379. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.mts.map +1 -1
  380. package/tools/v1/custom-fields/set-values-v1-custom-fields.d.ts.map +1 -1
  381. package/tools/v1/custom-fields/set-values-v1-custom-fields.js +2 -1
  382. package/tools/v1/custom-fields/set-values-v1-custom-fields.js.map +1 -1
  383. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs +2 -1
  384. package/tools/v1/custom-fields/set-values-v1-custom-fields.mjs.map +1 -1
  385. package/tools/v1/customers/alerts/list-customers-v1-alerts.d.mts.map +1 -1
  386. package/tools/v1/customers/alerts/list-customers-v1-alerts.d.ts.map +1 -1
  387. package/tools/v1/customers/alerts/list-customers-v1-alerts.js +3 -2
  388. package/tools/v1/customers/alerts/list-customers-v1-alerts.js.map +1 -1
  389. package/tools/v1/customers/alerts/list-customers-v1-alerts.mjs +3 -2
  390. package/tools/v1/customers/alerts/list-customers-v1-alerts.mjs.map +1 -1
  391. package/tools/v1/customers/alerts/reset-customers-v1-alerts.d.mts.map +1 -1
  392. package/tools/v1/customers/alerts/reset-customers-v1-alerts.d.ts.map +1 -1
  393. package/tools/v1/customers/alerts/reset-customers-v1-alerts.js +1 -1
  394. package/tools/v1/customers/alerts/reset-customers-v1-alerts.js.map +1 -1
  395. package/tools/v1/customers/alerts/reset-customers-v1-alerts.mjs +1 -1
  396. package/tools/v1/customers/alerts/reset-customers-v1-alerts.mjs.map +1 -1
  397. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.d.mts.map +1 -1
  398. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.d.ts.map +1 -1
  399. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.js +18 -1
  400. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.js.map +1 -1
  401. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.mjs +18 -1
  402. package/tools/v1/customers/alerts/retrieve-customers-v1-alerts.mjs.map +1 -1
  403. package/tools/v1/customers/archive-v1-customers.js +1 -1
  404. package/tools/v1/customers/archive-v1-customers.js.map +1 -1
  405. package/tools/v1/customers/archive-v1-customers.mjs +1 -1
  406. package/tools/v1/customers/archive-v1-customers.mjs.map +1 -1
  407. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.d.mts.map +1 -1
  408. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.d.ts.map +1 -1
  409. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.js +6 -1
  410. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.js.map +1 -1
  411. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.mjs +6 -1
  412. package/tools/v1/customers/billing-config/create-customers-v1-billing-config.mjs.map +1 -1
  413. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.js +1 -1
  414. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.js.map +1 -1
  415. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.mjs +1 -1
  416. package/tools/v1/customers/billing-config/retrieve-customers-v1-billing-config.mjs.map +1 -1
  417. package/tools/v1/customers/commits/create-customers-v1-commits.d.mts.map +1 -1
  418. package/tools/v1/customers/commits/create-customers-v1-commits.d.ts.map +1 -1
  419. package/tools/v1/customers/commits/create-customers-v1-commits.js +31 -31
  420. package/tools/v1/customers/commits/create-customers-v1-commits.js.map +1 -1
  421. package/tools/v1/customers/commits/create-customers-v1-commits.mjs +31 -31
  422. package/tools/v1/customers/commits/create-customers-v1-commits.mjs.map +1 -1
  423. package/tools/v1/customers/commits/list-customers-v1-commits.d.mts.map +1 -1
  424. package/tools/v1/customers/commits/list-customers-v1-commits.d.ts.map +1 -1
  425. package/tools/v1/customers/commits/list-customers-v1-commits.js +3 -2
  426. package/tools/v1/customers/commits/list-customers-v1-commits.js.map +1 -1
  427. package/tools/v1/customers/commits/list-customers-v1-commits.mjs +3 -2
  428. package/tools/v1/customers/commits/list-customers-v1-commits.mjs.map +1 -1
  429. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.js +1 -1
  430. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.js.map +1 -1
  431. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.mjs +1 -1
  432. package/tools/v1/customers/commits/update-end-date-customers-v1-commits.mjs.map +1 -1
  433. package/tools/v1/customers/create-v1-customers.d.mts.map +1 -1
  434. package/tools/v1/customers/create-v1-customers.d.ts.map +1 -1
  435. package/tools/v1/customers/create-v1-customers.js +13 -2
  436. package/tools/v1/customers/create-v1-customers.js.map +1 -1
  437. package/tools/v1/customers/create-v1-customers.mjs +13 -2
  438. package/tools/v1/customers/create-v1-customers.mjs.map +1 -1
  439. package/tools/v1/customers/credits/create-customers-v1-credits.d.mts.map +1 -1
  440. package/tools/v1/customers/credits/create-customers-v1-credits.d.ts.map +1 -1
  441. package/tools/v1/customers/credits/create-customers-v1-credits.js +29 -23
  442. package/tools/v1/customers/credits/create-customers-v1-credits.js.map +1 -1
  443. package/tools/v1/customers/credits/create-customers-v1-credits.mjs +29 -23
  444. package/tools/v1/customers/credits/create-customers-v1-credits.mjs.map +1 -1
  445. package/tools/v1/customers/credits/list-customers-v1-credits.d.mts.map +1 -1
  446. package/tools/v1/customers/credits/list-customers-v1-credits.d.ts.map +1 -1
  447. package/tools/v1/customers/credits/list-customers-v1-credits.js +3 -2
  448. package/tools/v1/customers/credits/list-customers-v1-credits.js.map +1 -1
  449. package/tools/v1/customers/credits/list-customers-v1-credits.mjs +3 -2
  450. package/tools/v1/customers/credits/list-customers-v1-credits.mjs.map +1 -1
  451. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.js +1 -1
  452. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.js.map +1 -1
  453. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.mjs +1 -1
  454. package/tools/v1/customers/credits/update-end-date-customers-v1-credits.mjs.map +1 -1
  455. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.js +1 -1
  456. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.js.map +1 -1
  457. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.mjs +1 -1
  458. package/tools/v1/customers/invoices/list-breakdowns-customers-v1-invoices.mjs.map +1 -1
  459. package/tools/v1/customers/invoices/list-customers-v1-invoices.js +1 -1
  460. package/tools/v1/customers/invoices/list-customers-v1-invoices.js.map +1 -1
  461. package/tools/v1/customers/invoices/list-customers-v1-invoices.mjs +1 -1
  462. package/tools/v1/customers/invoices/list-customers-v1-invoices.mjs.map +1 -1
  463. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.d.mts.map +1 -1
  464. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.d.ts.map +1 -1
  465. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.js +1 -1
  466. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.js.map +1 -1
  467. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.mjs +1 -1
  468. package/tools/v1/customers/invoices/retrieve-customers-v1-invoices.mjs.map +1 -1
  469. package/tools/v1/customers/list-billable-metrics-v1-customers.js +1 -1
  470. package/tools/v1/customers/list-billable-metrics-v1-customers.js.map +1 -1
  471. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs +1 -1
  472. package/tools/v1/customers/list-billable-metrics-v1-customers.mjs.map +1 -1
  473. package/tools/v1/customers/list-v1-customers.js +1 -1
  474. package/tools/v1/customers/list-v1-customers.js.map +1 -1
  475. package/tools/v1/customers/list-v1-customers.mjs +1 -1
  476. package/tools/v1/customers/list-v1-customers.mjs.map +1 -1
  477. package/tools/v1/customers/plans/list-customers-v1-plans.js +1 -1
  478. package/tools/v1/customers/plans/list-customers-v1-plans.js.map +1 -1
  479. package/tools/v1/customers/plans/list-customers-v1-plans.mjs +1 -1
  480. package/tools/v1/customers/plans/list-customers-v1-plans.mjs.map +1 -1
  481. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.mts +45 -0
  482. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.mts.map +1 -0
  483. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.ts +45 -0
  484. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.d.ts.map +1 -0
  485. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.js +43 -0
  486. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.js.map +1 -0
  487. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.mjs +39 -0
  488. package/tools/v1/customers/retrieve-billing-configurations-v1-customers.mjs.map +1 -0
  489. package/tools/v1/customers/retrieve-v1-customers.js +1 -1
  490. package/tools/v1/customers/retrieve-v1-customers.js.map +1 -1
  491. package/tools/v1/customers/retrieve-v1-customers.mjs +1 -1
  492. package/tools/v1/customers/retrieve-v1-customers.mjs.map +1 -1
  493. package/tools/v1/customers/set-billing-configurations-v1-customers.d.mts +45 -0
  494. package/tools/v1/customers/set-billing-configurations-v1-customers.d.mts.map +1 -0
  495. package/tools/v1/customers/set-billing-configurations-v1-customers.d.ts +45 -0
  496. package/tools/v1/customers/set-billing-configurations-v1-customers.d.ts.map +1 -0
  497. package/tools/v1/customers/set-billing-configurations-v1-customers.js +77 -0
  498. package/tools/v1/customers/set-billing-configurations-v1-customers.js.map +1 -0
  499. package/tools/v1/customers/set-billing-configurations-v1-customers.mjs +73 -0
  500. package/tools/v1/customers/set-billing-configurations-v1-customers.mjs.map +1 -0
  501. package/tools/v1/customers/set-ingest-aliases-v1-customers.js +1 -1
  502. package/tools/v1/customers/set-ingest-aliases-v1-customers.js.map +1 -1
  503. package/tools/v1/customers/set-ingest-aliases-v1-customers.mjs +1 -1
  504. package/tools/v1/customers/set-ingest-aliases-v1-customers.mjs.map +1 -1
  505. package/tools/v1/customers/set-name-v1-customers.js +1 -1
  506. package/tools/v1/customers/set-name-v1-customers.js.map +1 -1
  507. package/tools/v1/customers/set-name-v1-customers.mjs +1 -1
  508. package/tools/v1/customers/set-name-v1-customers.mjs.map +1 -1
  509. package/tools/v1/customers/update-config-v1-customers.d.mts.map +1 -1
  510. package/tools/v1/customers/update-config-v1-customers.d.ts.map +1 -1
  511. package/tools/v1/customers/update-config-v1-customers.js +1 -1
  512. package/tools/v1/customers/update-config-v1-customers.js.map +1 -1
  513. package/tools/v1/customers/update-config-v1-customers.mjs +1 -1
  514. package/tools/v1/customers/update-config-v1-customers.mjs.map +1 -1
  515. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js +1 -1
  516. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.js.map +1 -1
  517. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs +1 -1
  518. package/tools/v1/dashboards/get-embeddable-url-v1-dashboards.mjs.map +1 -1
  519. package/tools/v1/invoices/regenerate-v1-invoices.js +1 -1
  520. package/tools/v1/invoices/regenerate-v1-invoices.js.map +1 -1
  521. package/tools/v1/invoices/regenerate-v1-invoices.mjs +1 -1
  522. package/tools/v1/invoices/regenerate-v1-invoices.mjs.map +1 -1
  523. package/tools/v1/invoices/void-v1-invoices.js +1 -1
  524. package/tools/v1/invoices/void-v1-invoices.js.map +1 -1
  525. package/tools/v1/invoices/void-v1-invoices.mjs +1 -1
  526. package/tools/v1/invoices/void-v1-invoices.mjs.map +1 -1
  527. package/tools/v1/plans/get-details-v1-plans.js +1 -1
  528. package/tools/v1/plans/get-details-v1-plans.js.map +1 -1
  529. package/tools/v1/plans/get-details-v1-plans.mjs +1 -1
  530. package/tools/v1/plans/get-details-v1-plans.mjs.map +1 -1
  531. package/tools/v1/plans/list-charges-v1-plans.js +1 -1
  532. package/tools/v1/plans/list-charges-v1-plans.js.map +1 -1
  533. package/tools/v1/plans/list-charges-v1-plans.mjs +1 -1
  534. package/tools/v1/plans/list-charges-v1-plans.mjs.map +1 -1
  535. package/tools/v1/plans/list-customers-v1-plans.js +1 -1
  536. package/tools/v1/plans/list-customers-v1-plans.js.map +1 -1
  537. package/tools/v1/plans/list-customers-v1-plans.mjs +1 -1
  538. package/tools/v1/plans/list-customers-v1-plans.mjs.map +1 -1
  539. package/tools/v1/plans/list-v1-plans.js +1 -1
  540. package/tools/v1/plans/list-v1-plans.js.map +1 -1
  541. package/tools/v1/plans/list-v1-plans.mjs +1 -1
  542. package/tools/v1/plans/list-v1-plans.mjs.map +1 -1
  543. package/tools/v1/pricing-units/list-v1-pricing-units.js +1 -1
  544. package/tools/v1/pricing-units/list-v1-pricing-units.js.map +1 -1
  545. package/tools/v1/pricing-units/list-v1-pricing-units.mjs +1 -1
  546. package/tools/v1/pricing-units/list-v1-pricing-units.mjs.map +1 -1
  547. package/tools/v1/services/list-v1-services.js +1 -1
  548. package/tools/v1/services/list-v1-services.js.map +1 -1
  549. package/tools/v1/services/list-v1-services.mjs +1 -1
  550. package/tools/v1/services/list-v1-services.mjs.map +1 -1
  551. package/tools/v1/usage/ingest-v1-usage.js +2 -2
  552. package/tools/v1/usage/ingest-v1-usage.js.map +1 -1
  553. package/tools/v1/usage/ingest-v1-usage.mjs +2 -2
  554. package/tools/v1/usage/ingest-v1-usage.mjs.map +1 -1
  555. package/tools/v1/usage/list-v1-usage.d.mts.map +1 -1
  556. package/tools/v1/usage/list-v1-usage.d.ts.map +1 -1
  557. package/tools/v1/usage/list-v1-usage.js +3 -2
  558. package/tools/v1/usage/list-v1-usage.js.map +1 -1
  559. package/tools/v1/usage/list-v1-usage.mjs +3 -2
  560. package/tools/v1/usage/list-v1-usage.mjs.map +1 -1
  561. package/tools/v1/usage/list-with-groups-v1-usage.js +1 -1
  562. package/tools/v1/usage/list-with-groups-v1-usage.js.map +1 -1
  563. package/tools/v1/usage/list-with-groups-v1-usage.mjs +1 -1
  564. package/tools/v1/usage/list-with-groups-v1-usage.mjs.map +1 -1
  565. package/tools/v1/usage/search-v1-usage.js +1 -1
  566. package/tools/v1/usage/search-v1-usage.js.map +1 -1
  567. package/tools/v1/usage/search-v1-usage.mjs +1 -1
  568. package/tools/v1/usage/search-v1-usage.mjs.map +1 -1
  569. package/tools/v2/contracts/edit-commit-v2-contracts.d.mts.map +1 -1
  570. package/tools/v2/contracts/edit-commit-v2-contracts.d.ts.map +1 -1
  571. package/tools/v2/contracts/edit-commit-v2-contracts.js +33 -23
  572. package/tools/v2/contracts/edit-commit-v2-contracts.js.map +1 -1
  573. package/tools/v2/contracts/edit-commit-v2-contracts.mjs +33 -23
  574. package/tools/v2/contracts/edit-commit-v2-contracts.mjs.map +1 -1
  575. package/tools/v2/contracts/edit-credit-v2-contracts.d.mts.map +1 -1
  576. package/tools/v2/contracts/edit-credit-v2-contracts.d.ts.map +1 -1
  577. package/tools/v2/contracts/edit-credit-v2-contracts.js +33 -23
  578. package/tools/v2/contracts/edit-credit-v2-contracts.js.map +1 -1
  579. package/tools/v2/contracts/edit-credit-v2-contracts.mjs +33 -23
  580. package/tools/v2/contracts/edit-credit-v2-contracts.mjs.map +1 -1
  581. package/tools/v2/contracts/edit-v2-contracts.d.mts.map +1 -1
  582. package/tools/v2/contracts/edit-v2-contracts.d.ts.map +1 -1
  583. package/tools/v2/contracts/edit-v2-contracts.js +238 -730
  584. package/tools/v2/contracts/edit-v2-contracts.js.map +1 -1
  585. package/tools/v2/contracts/edit-v2-contracts.mjs +238 -730
  586. package/tools/v2/contracts/edit-v2-contracts.mjs.map +1 -1
  587. package/tools/v2/contracts/get-edit-history-v2-contracts.js +1 -1
  588. package/tools/v2/contracts/get-edit-history-v2-contracts.js.map +1 -1
  589. package/tools/v2/contracts/get-edit-history-v2-contracts.mjs +1 -1
  590. package/tools/v2/contracts/get-edit-history-v2-contracts.mjs.map +1 -1
  591. package/tools/v2/contracts/list-v2-contracts.js +1 -1
  592. package/tools/v2/contracts/list-v2-contracts.js.map +1 -1
  593. package/tools/v2/contracts/list-v2-contracts.mjs +1 -1
  594. package/tools/v2/contracts/list-v2-contracts.mjs.map +1 -1
  595. package/tools/v2/contracts/retrieve-v2-contracts.d.mts.map +1 -1
  596. package/tools/v2/contracts/retrieve-v2-contracts.d.ts.map +1 -1
  597. package/tools/v2/contracts/retrieve-v2-contracts.js +1 -1
  598. package/tools/v2/contracts/retrieve-v2-contracts.js.map +1 -1
  599. package/tools/v2/contracts/retrieve-v2-contracts.mjs +1 -1
  600. package/tools/v2/contracts/retrieve-v2-contracts.mjs.map +1 -1
package/src/server.ts CHANGED
@@ -3,7 +3,13 @@
3
3
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
4
4
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
5
5
  import { Endpoint, endpoints, HandlerFunction, query } from './tools';
6
- import { CallToolRequestSchema, ListToolsRequestSchema, Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import {
7
+ CallToolRequestSchema,
8
+ ListToolsRequestSchema,
9
+ SetLevelRequestSchema,
10
+ Implementation,
11
+ Tool,
12
+ } from '@modelcontextprotocol/sdk/types.js';
7
13
  import { ClientOptions } from '@metronome/sdk';
8
14
  import Metronome from '@metronome/sdk';
9
15
  import {
@@ -14,6 +20,7 @@ import {
14
20
  parseEmbeddedJSON,
15
21
  } from './compat';
16
22
  import { dynamicTools } from './dynamic-tools';
23
+ import { codeTool } from './code-tool';
17
24
  import { McpOptions } from './options';
18
25
 
19
26
  export { McpOptions } from './options';
@@ -26,7 +33,7 @@ export const newMcpServer = () =>
26
33
  new McpServer(
27
34
  {
28
35
  name: 'metronome_sdk_api',
29
- version: '0.3.0',
36
+ version: '1.0.0',
30
37
  },
31
38
  { capabilities: { tools: {}, logging: {} } },
32
39
  );
@@ -40,72 +47,125 @@ export const server = newMcpServer();
40
47
  */
41
48
  export function initMcpServer(params: {
42
49
  server: Server | McpServer;
43
- clientOptions: ClientOptions;
44
- mcpOptions: McpOptions;
45
- endpoints?: { tool: Tool; handler: HandlerFunction }[];
46
- }) {
47
- const transformedEndpoints = selectTools(endpoints, params.mcpOptions);
48
- const client = new Metronome(params.clientOptions);
49
- const capabilities = {
50
- ...defaultClientCapabilities,
51
- ...(params.mcpOptions.client ? knownClients[params.mcpOptions.client] : params.mcpOptions.capabilities),
52
- };
53
- init({ server: params.server, client, endpoints: transformedEndpoints, capabilities });
54
- }
55
-
56
- export function init(params: {
57
- server: Server | McpServer;
58
- client?: Metronome;
59
- endpoints?: { tool: Tool; handler: HandlerFunction }[];
60
- capabilities?: Partial<ClientCapabilities>;
50
+ clientOptions?: ClientOptions;
51
+ mcpOptions?: McpOptions;
61
52
  }) {
62
53
  const server = params.server instanceof McpServer ? params.server.server : params.server;
63
- const providedEndpoints = params.endpoints || endpoints;
54
+ const mcpOptions = params.mcpOptions ?? {};
55
+
56
+ let providedEndpoints: Endpoint[] | null = null;
57
+ let endpointMap: Record<string, Endpoint> | null = null;
58
+
59
+ const initTools = async (implementation?: Implementation) => {
60
+ if (implementation && (!mcpOptions.client || mcpOptions.client === 'infer')) {
61
+ mcpOptions.client =
62
+ implementation.name.toLowerCase().includes('claude') ? 'claude'
63
+ : implementation.name.toLowerCase().includes('cursor') ? 'cursor'
64
+ : undefined;
65
+ mcpOptions.capabilities = {
66
+ ...(mcpOptions.client && knownClients[mcpOptions.client]),
67
+ ...mcpOptions.capabilities,
68
+ };
69
+ }
70
+ providedEndpoints ??= await selectTools(endpoints, mcpOptions);
71
+ endpointMap ??= Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
72
+ };
64
73
 
65
- const endpointMap = Object.fromEntries(providedEndpoints.map((endpoint) => [endpoint.tool.name, endpoint]));
74
+ const logAtLevel =
75
+ (level: 'debug' | 'info' | 'warning' | 'error') =>
76
+ (message: string, ...rest: unknown[]) => {
77
+ void server.sendLoggingMessage({
78
+ level,
79
+ data: { message, rest },
80
+ });
81
+ };
82
+ const logger = {
83
+ debug: logAtLevel('debug'),
84
+ info: logAtLevel('info'),
85
+ warn: logAtLevel('warning'),
86
+ error: logAtLevel('error'),
87
+ };
66
88
 
67
- const client = params.client || new Metronome({ defaultHeaders: { 'X-Stainless-MCP': 'true' } });
89
+ let client = new Metronome({
90
+ logger,
91
+ ...params.clientOptions,
92
+ defaultHeaders: {
93
+ ...params.clientOptions?.defaultHeaders,
94
+ 'X-Stainless-MCP': 'true',
95
+ },
96
+ });
68
97
 
69
98
  server.setRequestHandler(ListToolsRequestSchema, async () => {
99
+ if (providedEndpoints === null) {
100
+ await initTools(server.getClientVersion());
101
+ }
70
102
  return {
71
- tools: providedEndpoints.map((endpoint) => endpoint.tool),
103
+ tools: providedEndpoints!.map((endpoint) => endpoint.tool),
72
104
  };
73
105
  });
74
106
 
75
107
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
108
+ if (endpointMap === null) {
109
+ await initTools(server.getClientVersion());
110
+ }
76
111
  const { name, arguments: args } = request.params;
77
- const endpoint = endpointMap[name];
112
+ const endpoint = endpointMap![name];
78
113
  if (!endpoint) {
79
114
  throw new Error(`Unknown tool: ${name}`);
80
115
  }
81
116
 
82
- return executeHandler(endpoint.tool, endpoint.handler, client, args, params.capabilities);
117
+ return executeHandler(endpoint.tool, endpoint.handler, client, args, mcpOptions.capabilities);
118
+ });
119
+
120
+ server.setRequestHandler(SetLevelRequestSchema, async (request) => {
121
+ const { level } = request.params;
122
+ switch (level) {
123
+ case 'debug':
124
+ client = client.withOptions({ logLevel: 'debug' });
125
+ break;
126
+ case 'info':
127
+ client = client.withOptions({ logLevel: 'info' });
128
+ break;
129
+ case 'notice':
130
+ case 'warning':
131
+ client = client.withOptions({ logLevel: 'warn' });
132
+ break;
133
+ case 'error':
134
+ client = client.withOptions({ logLevel: 'error' });
135
+ break;
136
+ default:
137
+ client = client.withOptions({ logLevel: 'off' });
138
+ break;
139
+ }
140
+ return {};
83
141
  });
84
142
  }
85
143
 
86
144
  /**
87
145
  * Selects the tools to include in the MCP Server based on the provided options.
88
146
  */
89
- export function selectTools(endpoints: Endpoint[], options: McpOptions): Endpoint[] {
90
- const filteredEndpoints = query(options.filters, endpoints);
147
+ export async function selectTools(endpoints: Endpoint[], options?: McpOptions): Promise<Endpoint[]> {
148
+ const filteredEndpoints = query(options?.filters ?? [], endpoints);
91
149
 
92
150
  let includedTools = filteredEndpoints;
93
151
 
94
152
  if (includedTools.length > 0) {
95
- if (options.includeDynamicTools) {
153
+ if (options?.includeDynamicTools) {
96
154
  includedTools = dynamicTools(includedTools);
97
155
  }
98
156
  } else {
99
- if (options.includeAllTools) {
157
+ if (options?.includeAllTools) {
100
158
  includedTools = endpoints;
101
- } else if (options.includeDynamicTools) {
159
+ } else if (options?.includeDynamicTools) {
102
160
  includedTools = dynamicTools(endpoints);
161
+ } else if (options?.includeCodeTools) {
162
+ includedTools = [await codeTool()];
103
163
  } else {
104
164
  includedTools = endpoints;
105
165
  }
106
166
  }
107
167
 
108
- const capabilities = { ...defaultClientCapabilities, ...options.capabilities };
168
+ const capabilities = { ...defaultClientCapabilities, ...options?.capabilities };
109
169
  return applyCompatibilityTransformations(includedTools, capabilities);
110
170
  }
111
171
 
package/src/stdio.ts CHANGED
@@ -1,12 +1,11 @@
1
1
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
2
- import { init, newMcpServer } from './server';
3
- import { Endpoint } from './tools';
2
+ import { initMcpServer, newMcpServer } from './server';
4
3
  import { McpOptions } from './options';
5
4
 
6
- export const launchStdioServer = async (options: McpOptions, endpoints: Endpoint[]) => {
5
+ export const launchStdioServer = async (options: McpOptions) => {
7
6
  const server = newMcpServer();
8
7
 
9
- init({ server, endpoints });
8
+ initMcpServer({ server, mcpOptions: options });
10
9
 
11
10
  const transport = new StdioServerTransport();
12
11
  await server.connect(transport);
@@ -29,6 +29,8 @@ import archive_v1_customers from './v1/customers/archive-v1-customers';
29
29
  import list_billable_metrics_v1_customers from './v1/customers/list-billable-metrics-v1-customers';
30
30
  import list_costs_v1_customers from './v1/customers/list-costs-v1-customers';
31
31
  import preview_events_v1_customers from './v1/customers/preview-events-v1-customers';
32
+ import retrieve_billing_configurations_v1_customers from './v1/customers/retrieve-billing-configurations-v1-customers';
33
+ import set_billing_configurations_v1_customers from './v1/customers/set-billing-configurations-v1-customers';
32
34
  import set_ingest_aliases_v1_customers from './v1/customers/set-ingest-aliases-v1-customers';
33
35
  import set_name_v1_customers from './v1/customers/set-name-v1-customers';
34
36
  import update_config_v1_customers from './v1/customers/update-config-v1-customers';
@@ -137,6 +139,8 @@ addEndpoint(archive_v1_customers);
137
139
  addEndpoint(list_billable_metrics_v1_customers);
138
140
  addEndpoint(list_costs_v1_customers);
139
141
  addEndpoint(preview_events_v1_customers);
142
+ addEndpoint(retrieve_billing_configurations_v1_customers);
143
+ addEndpoint(set_billing_configurations_v1_customers);
140
144
  addEndpoint(set_ingest_aliases_v1_customers);
141
145
  addEndpoint(set_name_v1_customers);
142
146
  addEndpoint(update_config_v1_customers);
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'archive_v1_alerts',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nArchive an existing alert\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/id'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n id: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nPermanently disable an alert and remove it from active monitoring across all customers. Archived alerts stop evaluating immediately and can optionally release their uniqueness key for reuse in future alert configurations.\n\n### Use this endpoint to:\n- Decommission alerts that are no longer needed\n- Clean up test or deprecated alert configurations\n- Free up uniqueness keys for reuse with new alerts\n- Stop alert evaluations without losing historical configuration data\n- Disable outdated monitoring rules during pricing model transitions\n\n### Key response fields:\n- data: Object containing the archived alert's ID\n- Alert evaluation stops immediately for all affected customers\n- Historical alert data and configurations remain accessible for audit purposes\n\n### Usage guidelines:\n- Irreversible for evaluation: Archived alerts cannot be re-enabled; create a new alert to resume monitoring\n- Uniqueness key handling: Set `release_uniqueness_key` : `true` to reuse the key in future alerts\n- Immediate effect: Alert evaluation stops instantly across all customers\n- Historical preservation: Archive operation maintains alert history and configuration for compliance and auditing\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/id'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n id: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'create_v1_alerts',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate a new alert\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/id'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n id: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate a new alert to monitor customer spending, balances, and billing metrics in real-time. Metronome's alert system provides industry-leading speed with immediate evaluation capabilities, enabling you to proactively manage customer accounts and prevent revenue leakage.\n\nThis endpoint creates configurable alerts that continuously monitor various billing thresholds including spend limits, credit balances, commitment utilization, and invoice totals. Alerts can be configured globally for all customers or targeted to specific customer accounts. Custom fields can be used on certain alert types to further target alerts to groups of customers.\n\n### Use this endpoint to:\n- Proactively monitor customer spending patterns to prevent unexpected overages or credit exhaustion\n- Automate notifications when customers approach commitment limits or credit thresholds\n- Enable real-time intervention for accounts at risk of churn or payment issues\n- Scale billing operations by automating threshold-based workflows and notifications\n\n### Key response fields: \nA successful response returns a CustomerAlert object containing:\n\n- The alert configuration with its unique ID and current status\n- The customer's evaluation status (ok, in_alarm, or evaluating)\n- Alert metadata including type, threshold values, and update timestamps\n\n### Usage guidelines:\n- Immediate evaluation: Set `evaluate_on_create` : `true` (default) for instant evaluation against existing customers\n- Uniqueness constraints: Each alert must have a unique `uniqueness_key` within your organization. Use `release_uniqueness_key` : `true` when archiving to reuse keys\n- Alert type requirements: Different alert types require specific fields (e.g., `billable_metric_id` for usage alerts, `credit_type_id` for credit-based alerts)\n- Webhook delivery: Alerts trigger webhook notifications for real-time integration with your systems. Configure webhook endpoints before creating alerts\n- Performance at scale: Metronome's event-driven architecture processes alert evaluations in real-time as usage events stream in, unlike competitors who rely on periodic polling or batch evaluation cycles\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/id'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n id: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -114,7 +114,7 @@ export const tool: Tool = {
114
114
  type: 'string',
115
115
  },
116
116
  },
117
- required: ['key', 'value'],
117
+ required: ['key'],
118
118
  },
119
119
  },
120
120
  invoice_types_filter: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_v1_audit_logs',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieves a range of audit logs. If no further audit logs are currently available, the data array will be empty. As new audit logs are created, subsequent requests using the same next_page value will be in the returned data array, ensuring a continuous and uninterrupted reading of audit logs.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n request: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n ip: {\n type: 'string'\n },\n user_agent: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n },\n timestamp: {\n type: 'string',\n format: 'date-time'\n },\n action: {\n type: 'string'\n },\n actor: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n email: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n },\n description: {\n type: 'string'\n },\n resource_id: {\n type: 'string'\n },\n resource_type: {\n type: 'string'\n },\n status: {\n type: 'string',\n enum: [ 'success',\n 'failure',\n 'pending'\n ]\n }\n },\n required: [ 'id',\n 'request',\n 'timestamp'\n ]\n }\n },\n next_page: {\n type: 'string',\n description: 'The next_page parameter is always returned to support ongoing log retrieval. It enables continuous querying, even when some requests return no new data. Save the next_page token from each response and use it for future requests to ensure no logs are missed. This setup is ideal for regular updates via automated processes, like cron jobs, to fetch logs continuously as they become available. When you receive an empty data array, it indicates a temporary absence of new logs, but subsequent requests might return new data.'\n }\n },\n required: [ 'data',\n 'next_page'\n ]\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a comprehensive audit trail of all operations performed in your Metronome account, whether initiated through the API, web interface, or automated processes. This endpoint provides detailed logs of who did what and when, enabling compliance reporting, security monitoring, and operational troubleshooting across all interaction channels.\n\n### Use this endpoint to:\n- Monitor all account activity for security and compliance purposes\n- Track configuration changes regardless of source (API, UI, or system)\n- Investigate issues by reviewing historical operations\n\n### Key response fields: \nAn array of AuditLog objects containing:\n- id: Unique identifier for the audit log entry\n- timestamp: When the action occurred (RFC 3339 format)\n- actor: Information about who performed the action\n- request: Details including request ID, IP address, and user agent\n- `resource_type`: The type of resource affected (e.g., customer, contract, invoice)\n- `resource_id`: The specific resource identifier\n- `action`: The operation performed\n- `next_page`: Cursor for continuous log retrieval\n\n### Usage guidelines:\n- Continuous retrieval: The next_page token enables uninterrupted log streaming—save it between requests to ensure no logs are missed\n- Empty responses: An empty data array means no new logs yet; continue polling with the same next_page token\n- Date filtering:\n - `starting_on`: Earliest logs to return (inclusive)\n - `ending_before`: Latest logs to return (exclusive)\n - Cannot be used with `next_page`\n- Resource filtering: Must specify both `resource_type` and `resource_id` together\n- Sort order: Default is `date_asc`; use `date_desc` for newest first\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n request: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n ip: {\n type: 'string'\n },\n user_agent: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n },\n timestamp: {\n type: 'string',\n format: 'date-time'\n },\n action: {\n type: 'string'\n },\n actor: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n },\n name: {\n type: 'string'\n },\n email: {\n type: 'string'\n }\n },\n required: [ 'id',\n 'name'\n ]\n },\n description: {\n type: 'string'\n },\n resource_id: {\n type: 'string'\n },\n resource_type: {\n type: 'string'\n },\n status: {\n type: 'string',\n enum: [ 'success',\n 'failure',\n 'pending'\n ]\n }\n },\n required: [ 'id',\n 'request',\n 'timestamp'\n ]\n }\n },\n next_page: {\n type: 'string',\n description: 'The next_page parameter is always returned to support ongoing log retrieval. It enables continuous querying, even when some requests return no new data. Save the next_page token from each response and use it for future requests to ensure no logs are missed. This setup is ideal for regular updates via automated processes, like cron jobs, to fetch logs continuously as they become available. When you receive an empty data array, it indicates a temporary absence of new logs, but subsequent requests might return new data.'\n }\n },\n required: [ 'data',\n 'next_page'\n ]\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'archive_v1_billable_metrics',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nArchive an existing billable metric.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/id'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n id: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nUse this endpoint to retire billable metrics that are no longer used. After a billable metric is archived, that billable metric can no longer be used in any new Products to define how that product should be metered. If you archive a billable metric that is already associated with a Product, the Product will continue to function as usual, metering based on the definition of the archived billable metric. \n\nArchived billable metrics will be returned on the `getBillableMetric` and `listBillableMetrics` endpoints with a populated `archived_at` field.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/id'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n id: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'create_v1_billable_metrics',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreates a new Billable Metric.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/id'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n id: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate billable metrics programmatically with this endpoint—an essential step in configuring your pricing and packaging in Metronome.\n\nA billable metric is a customizable query that filters and aggregates events from your event stream. These metrics are continuously tracked as usage data enters Metronome through the ingestion pipeline. The ingestion process transforms raw usage data into actionable pricing metrics, enabling accurate metering and billing for your products.\n\n### Use this endpoint to: \n- Create individual or multiple billable metrics as part of a setup workflow.\n- Automate the entire pricing configuration process, from metric creation to customer contract setup.\n- Define metrics using either standard filtering/aggregation or a custom SQL query.\n\n### Key response fields: \n- The ID of the billable metric that was created\n- The created billable metric will be available to be used in Products, usage endpoints, and alerts. \n\n### Usage guidelines: \n- Metrics defined using standard filtering and aggregation are Streaming billable metrics, which have been optimized for ultra low latency and high throughput workflows. \n- Use SQL billable metrics if you require more flexible aggregation options.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n $ref: '#/$defs/id'\n }\n },\n required: [ 'data'\n ],\n $defs: {\n id: {\n type: 'object',\n properties: {\n id: {\n type: 'string'\n }\n },\n required: [ 'id'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_v1_billable_metrics',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all billable metrics.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'ID of the billable metric'\n },\n name: {\n type: 'string',\n description: 'The display name of the billable metric.'\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieves all billable metrics with their complete configurations. Use this for programmatic discovery and management of billable metrics, such as associating metrics to products and auditing for orphaned or archived metrics. \nImportant: Archived metrics are excluded by default; use `include_archived`=`true` parameter to include them.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'array',\n items: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'ID of the billable metric'\n },\n name: {\n type: 'string',\n description: 'The display name of the billable metric.'\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n description: 'Custom fields to be added eg. { \"key1\": \"value1\", \"key2\": \"value2\" }',\n additionalProperties: true\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n next_page: {\n type: 'string'\n }\n },\n required: [ 'data',\n 'next_page'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'retrieve_v1_billable_metrics',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet a billable metric.\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'ID of the billable metric'\n },\n name: {\n type: 'string',\n description: 'The display name of the billable metric.'\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n additionalProperties: true\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n required: [ 'data'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nRetrieves the complete configuration for a specific billable metric by its ID. Use this to review billable metric setup before associating it with products. Returns the metric's `name`, `event_type_filter`, `property_filters`, `aggregation_type`, `aggregation_key`, `group_keys`, `custom fields`, and `SQL query` (if it's a SQL billable metric). \n\nImportant: \n- Archived billable metrics will include an `archived_at` timestamp; they no longer process new usage events but remain accessible for historical reference.\n\n\n# Response Schema\n```json\n{\n type: 'object',\n properties: {\n data: {\n type: 'object',\n properties: {\n id: {\n type: 'string',\n description: 'ID of the billable metric'\n },\n name: {\n type: 'string',\n description: 'The display name of the billable metric.'\n },\n aggregation_key: {\n type: 'string',\n description: 'A key that specifies which property of the event is used to aggregate data. This key must be one of the property filter names and is not applicable when the aggregation type is \\'count\\'.'\n },\n aggregation_type: {\n type: 'string',\n description: 'Specifies the type of aggregation performed on matching events.',\n enum: [ 'COUNT',\n 'LATEST',\n 'MAX',\n 'SUM',\n 'UNIQUE'\n ]\n },\n archived_at: {\n type: 'string',\n description: 'RFC 3339 timestamp indicating when the billable metric was archived. If not provided, the billable metric is not archived.',\n format: 'date-time'\n },\n custom_fields: {\n type: 'object',\n description: 'Custom fields to be added eg. { \"key1\": \"value1\", \"key2\": \"value2\" }',\n additionalProperties: true\n },\n event_type_filter: {\n $ref: '#/$defs/event_type_filter'\n },\n group_keys: {\n type: 'array',\n description: 'Property names that are used to group usage costs on an invoice. Each entry represents a set of properties used to slice events into distinct buckets.',\n items: {\n type: 'array',\n items: {\n type: 'string'\n }\n }\n },\n property_filters: {\n type: 'array',\n description: 'A list of filters to match events to this billable metric. Each filter defines a rule on an event property. All rules must pass for the event to match the billable metric.',\n items: {\n $ref: '#/$defs/property_filter'\n }\n },\n sql: {\n type: 'string',\n description: 'The SQL query associated with the billable metric'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n },\n required: [ 'data'\n ],\n $defs: {\n event_type_filter: {\n type: 'object',\n description: 'An optional filtering rule to match the \\'event_type\\' property of an event.',\n properties: {\n in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly included in the billable metric. If specified, only events of these types will match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'A list of event types that are explicitly excluded from the billable metric. If specified, events of these types will not match the billable metric. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n }\n },\n property_filter: {\n type: 'object',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the event property.'\n },\n exists: {\n type: 'boolean',\n description: 'Determines whether the property must exist in the event. If true, only events with this property will pass the filter. If false, only events without this property will pass the filter. If null or omitted, the existence of the property is optional.'\n },\n in_values: {\n type: 'array',\n description: 'Specifies the allowed values for the property to match an event. An event will pass the filter only if its property value is included in this list. If undefined, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n },\n not_in_values: {\n type: 'array',\n description: 'Specifies the values that prevent an event from matching the filter. An event will not pass the filter if its property value is included in this list. If null or empty, all property values will pass the filter. Must be non-empty if present.',\n items: {\n type: 'string'\n }\n }\n },\n required: [ 'name'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -16,7 +16,8 @@ export const metadata: Metadata = {
16
16
 
17
17
  export const tool: Tool = {
18
18
  name: 'add_manual_balance_entry_v1_contracts',
19
- description: 'Add a manual balance entry\n',
19
+ description:
20
+ 'Manually adjust the available balance on a commit or credit. This entry is appended to the commit ledger as a new event. Optionally include a description that provides the reasoning for the entry.\n\n### Use this endpoint to:\n- Address incorrect usage burn-down caused by malformed usage or invalid config\n- Decrease available balance to account for outages where usage may have not been tracked or sent to Metronome\n- Issue credits to customers in the form of increased balance on existing commit or credit\n\n### Usage guidelines:\nManual ledger entries can be extremely useful for resolving discrepancies in Metronome. However, most corrections to inaccurate billings can be modified upstream of the commit, whether that is via contract editing, rate editing, or other actions that cause an invoice to be recalculated.\n',
20
21
  inputSchema: {
21
22
  type: 'object',
22
23
  properties: {