@metronome/sdk 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 (817) hide show
  1. package/CHANGELOG.md +113 -28
  2. package/README.md +123 -51
  3. package/api-promise.d.mts +2 -0
  4. package/api-promise.d.mts.map +1 -0
  5. package/api-promise.d.ts +2 -0
  6. package/api-promise.d.ts.map +1 -0
  7. package/api-promise.js +6 -0
  8. package/api-promise.js.map +1 -0
  9. package/api-promise.mjs +2 -0
  10. package/api-promise.mjs.map +1 -0
  11. package/bin/cli +46 -0
  12. package/bin/migration-config.json +6 -0
  13. package/client.d.mts +232 -0
  14. package/client.d.mts.map +1 -0
  15. package/client.d.ts +232 -0
  16. package/client.d.ts.map +1 -0
  17. package/client.js +464 -0
  18. package/client.js.map +1 -0
  19. package/client.mjs +460 -0
  20. package/client.mjs.map +1 -0
  21. package/core/api-promise.d.mts +46 -0
  22. package/core/api-promise.d.mts.map +1 -0
  23. package/core/api-promise.d.ts +46 -0
  24. package/core/api-promise.d.ts.map +1 -0
  25. package/core/api-promise.js +74 -0
  26. package/core/api-promise.js.map +1 -0
  27. package/core/api-promise.mjs +70 -0
  28. package/core/api-promise.mjs.map +1 -0
  29. package/core/error.d.mts +46 -0
  30. package/core/error.d.mts.map +1 -0
  31. package/core/error.d.ts +46 -0
  32. package/core/error.d.ts.map +1 -0
  33. package/core/error.js +113 -0
  34. package/core/error.js.map +1 -0
  35. package/core/error.mjs +97 -0
  36. package/core/error.mjs.map +1 -0
  37. package/core/pagination.d.mts +137 -0
  38. package/core/pagination.d.mts.map +1 -0
  39. package/core/pagination.d.ts +137 -0
  40. package/core/pagination.d.ts.map +1 -0
  41. package/core/pagination.js +158 -0
  42. package/core/pagination.js.map +1 -0
  43. package/core/pagination.mjs +150 -0
  44. package/core/pagination.mjs.map +1 -0
  45. package/core/resource.d.mts +6 -0
  46. package/core/resource.d.mts.map +1 -0
  47. package/core/resource.d.ts +6 -0
  48. package/core/resource.d.ts.map +1 -0
  49. package/core/resource.js +11 -0
  50. package/core/resource.js.map +1 -0
  51. package/core/resource.mjs +7 -0
  52. package/core/resource.mjs.map +1 -0
  53. package/core/uploads.d.mts +3 -0
  54. package/core/uploads.d.mts.map +1 -0
  55. package/core/uploads.d.ts +3 -0
  56. package/core/uploads.d.ts.map +1 -0
  57. package/core/uploads.js +6 -0
  58. package/core/uploads.js.map +1 -0
  59. package/core/uploads.mjs +2 -0
  60. package/core/uploads.mjs.map +1 -0
  61. package/error.d.mts +2 -0
  62. package/error.d.mts.map +1 -0
  63. package/error.d.ts +1 -46
  64. package/error.d.ts.map +1 -1
  65. package/error.js +3 -110
  66. package/error.js.map +1 -1
  67. package/error.mjs +1 -96
  68. package/error.mjs.map +1 -1
  69. package/index.d.mts +7 -144
  70. package/index.d.mts.map +1 -0
  71. package/index.d.ts +6 -143
  72. package/index.d.ts.map +1 -1
  73. package/index.js +14 -120
  74. package/index.js.map +1 -1
  75. package/index.mjs +6 -93
  76. package/index.mjs.map +1 -1
  77. package/internal/builtin-types.d.mts +73 -0
  78. package/internal/builtin-types.d.mts.map +1 -0
  79. package/internal/builtin-types.d.ts +73 -0
  80. package/internal/builtin-types.d.ts.map +1 -0
  81. package/internal/builtin-types.js +4 -0
  82. package/internal/builtin-types.js.map +1 -0
  83. package/internal/builtin-types.mjs +3 -0
  84. package/internal/builtin-types.mjs.map +1 -0
  85. package/internal/detect-platform.d.mts +15 -0
  86. package/internal/detect-platform.d.mts.map +1 -0
  87. package/internal/detect-platform.d.ts +15 -0
  88. package/internal/detect-platform.d.ts.map +1 -0
  89. package/internal/detect-platform.js +162 -0
  90. package/internal/detect-platform.js.map +1 -0
  91. package/internal/detect-platform.mjs +157 -0
  92. package/internal/detect-platform.mjs.map +1 -0
  93. package/internal/errors.d.mts +3 -0
  94. package/internal/errors.d.mts.map +1 -0
  95. package/internal/errors.d.ts +3 -0
  96. package/internal/errors.d.ts.map +1 -0
  97. package/internal/errors.js +41 -0
  98. package/internal/errors.js.map +1 -0
  99. package/internal/errors.mjs +36 -0
  100. package/internal/errors.mjs.map +1 -0
  101. package/internal/headers.d.mts +26 -0
  102. package/internal/headers.d.mts.map +1 -0
  103. package/internal/headers.d.ts +26 -0
  104. package/internal/headers.d.ts.map +1 -0
  105. package/internal/headers.js +120 -0
  106. package/internal/headers.js.map +1 -0
  107. package/internal/headers.mjs +112 -0
  108. package/internal/headers.mjs.map +1 -0
  109. package/internal/parse.d.mts +12 -0
  110. package/internal/parse.d.mts.map +1 -0
  111. package/internal/parse.d.ts +12 -0
  112. package/internal/parse.d.ts.map +1 -0
  113. package/internal/parse.js +35 -0
  114. package/internal/parse.js.map +1 -0
  115. package/internal/parse.mjs +32 -0
  116. package/internal/parse.mjs.map +1 -0
  117. package/internal/qs/formats.d.mts +7 -0
  118. package/internal/qs/formats.d.mts.map +1 -0
  119. package/internal/qs/formats.d.ts +1 -0
  120. package/internal/qs/formats.d.ts.map +1 -1
  121. package/internal/qs/formats.js +4 -2
  122. package/internal/qs/formats.js.map +1 -1
  123. package/internal/qs/formats.mjs +2 -1
  124. package/internal/qs/formats.mjs.map +1 -1
  125. package/internal/qs/index.d.mts +10 -0
  126. package/internal/qs/index.d.mts.map +1 -0
  127. package/internal/qs/index.d.ts.map +1 -1
  128. package/internal/qs/stringify.d.mts +3 -0
  129. package/internal/qs/stringify.d.mts.map +1 -0
  130. package/internal/qs/stringify.d.ts.map +1 -1
  131. package/internal/qs/stringify.js +16 -19
  132. package/internal/qs/stringify.js.map +1 -1
  133. package/internal/qs/stringify.mjs +17 -19
  134. package/internal/qs/stringify.mjs.map +1 -1
  135. package/internal/qs/types.d.mts +57 -0
  136. package/internal/qs/types.d.mts.map +1 -0
  137. package/internal/qs/utils.d.mts +15 -0
  138. package/internal/qs/utils.d.mts.map +1 -0
  139. package/internal/qs/utils.d.ts +1 -0
  140. package/internal/qs/utils.d.ts.map +1 -1
  141. package/internal/qs/utils.js +22 -21
  142. package/internal/qs/utils.js.map +1 -1
  143. package/internal/qs/utils.mjs +12 -12
  144. package/internal/qs/utils.mjs.map +1 -1
  145. package/internal/request-options.d.mts +75 -0
  146. package/internal/request-options.d.mts.map +1 -0
  147. package/internal/request-options.d.ts +75 -0
  148. package/internal/request-options.d.ts.map +1 -0
  149. package/internal/request-options.js +14 -0
  150. package/internal/request-options.js.map +1 -0
  151. package/internal/request-options.mjs +10 -0
  152. package/internal/request-options.mjs.map +1 -0
  153. package/internal/shim-types.d.mts +17 -0
  154. package/internal/shim-types.d.mts.map +1 -0
  155. package/internal/shim-types.d.ts +17 -0
  156. package/internal/shim-types.d.ts.map +1 -0
  157. package/internal/shim-types.js +4 -0
  158. package/internal/shim-types.js.map +1 -0
  159. package/internal/shim-types.mjs +3 -0
  160. package/internal/shim-types.mjs.map +1 -0
  161. package/internal/shims.d.mts +20 -0
  162. package/internal/shims.d.mts.map +1 -0
  163. package/internal/shims.d.ts +20 -0
  164. package/internal/shims.d.ts.map +1 -0
  165. package/internal/shims.js +92 -0
  166. package/internal/shims.js.map +1 -0
  167. package/internal/shims.mjs +85 -0
  168. package/internal/shims.mjs.map +1 -0
  169. package/internal/to-file.d.mts +45 -0
  170. package/internal/to-file.d.mts.map +1 -0
  171. package/internal/to-file.d.ts +45 -0
  172. package/internal/to-file.d.ts.map +1 -0
  173. package/internal/to-file.js +91 -0
  174. package/internal/to-file.js.map +1 -0
  175. package/internal/to-file.mjs +88 -0
  176. package/internal/to-file.mjs.map +1 -0
  177. package/internal/tslib.js +81 -0
  178. package/internal/tslib.mjs +17 -0
  179. package/internal/types.d.mts +69 -0
  180. package/internal/types.d.mts.map +1 -0
  181. package/internal/types.d.ts +69 -0
  182. package/internal/types.d.ts.map +1 -0
  183. package/internal/types.js +4 -0
  184. package/internal/types.js.map +1 -0
  185. package/internal/types.mjs +3 -0
  186. package/internal/types.mjs.map +1 -0
  187. package/internal/uploads.d.mts +42 -0
  188. package/internal/uploads.d.mts.map +1 -0
  189. package/internal/uploads.d.ts +42 -0
  190. package/internal/uploads.d.ts.map +1 -0
  191. package/internal/uploads.js +141 -0
  192. package/internal/uploads.js.map +1 -0
  193. package/internal/uploads.mjs +131 -0
  194. package/internal/uploads.mjs.map +1 -0
  195. package/internal/utils/base64.d.mts +3 -0
  196. package/internal/utils/base64.d.mts.map +1 -0
  197. package/internal/utils/base64.d.ts +3 -0
  198. package/internal/utils/base64.d.ts.map +1 -0
  199. package/internal/utils/base64.js +38 -0
  200. package/internal/utils/base64.js.map +1 -0
  201. package/internal/utils/base64.mjs +33 -0
  202. package/internal/utils/base64.mjs.map +1 -0
  203. package/internal/utils/bytes.d.mts +4 -0
  204. package/internal/utils/bytes.d.mts.map +1 -0
  205. package/internal/utils/bytes.d.ts +4 -0
  206. package/internal/utils/bytes.d.ts.map +1 -0
  207. package/internal/utils/bytes.js +31 -0
  208. package/internal/utils/bytes.js.map +1 -0
  209. package/internal/utils/bytes.mjs +26 -0
  210. package/internal/utils/bytes.mjs.map +1 -0
  211. package/internal/utils/env.d.mts +9 -0
  212. package/internal/utils/env.d.mts.map +1 -0
  213. package/internal/utils/env.d.ts +9 -0
  214. package/internal/utils/env.d.ts.map +1 -0
  215. package/internal/utils/env.js +22 -0
  216. package/internal/utils/env.js.map +1 -0
  217. package/internal/utils/env.mjs +18 -0
  218. package/internal/utils/env.mjs.map +1 -0
  219. package/internal/utils/log.d.mts +37 -0
  220. package/internal/utils/log.d.mts.map +1 -0
  221. package/internal/utils/log.d.ts +37 -0
  222. package/internal/utils/log.d.ts.map +1 -0
  223. package/internal/utils/log.js +85 -0
  224. package/internal/utils/log.js.map +1 -0
  225. package/internal/utils/log.mjs +79 -0
  226. package/internal/utils/log.mjs.map +1 -0
  227. package/internal/utils/path.d.mts +15 -0
  228. package/internal/utils/path.d.mts.map +1 -0
  229. package/internal/utils/path.d.ts +15 -0
  230. package/internal/utils/path.d.ts.map +1 -0
  231. package/internal/utils/path.js +79 -0
  232. package/internal/utils/path.js.map +1 -0
  233. package/internal/utils/path.mjs +74 -0
  234. package/internal/utils/path.mjs.map +1 -0
  235. package/internal/utils/sleep.d.mts +2 -0
  236. package/internal/utils/sleep.d.mts.map +1 -0
  237. package/internal/utils/sleep.d.ts +2 -0
  238. package/internal/utils/sleep.d.ts.map +1 -0
  239. package/internal/utils/sleep.js +7 -0
  240. package/internal/utils/sleep.js.map +1 -0
  241. package/internal/utils/sleep.mjs +3 -0
  242. package/internal/utils/sleep.mjs.map +1 -0
  243. package/internal/utils/uuid.d.mts +5 -0
  244. package/internal/utils/uuid.d.mts.map +1 -0
  245. package/internal/utils/uuid.d.ts +5 -0
  246. package/internal/utils/uuid.d.ts.map +1 -0
  247. package/internal/utils/uuid.js +19 -0
  248. package/internal/utils/uuid.js.map +1 -0
  249. package/internal/utils/uuid.mjs +15 -0
  250. package/internal/utils/uuid.mjs.map +1 -0
  251. package/internal/utils/values.d.mts +18 -0
  252. package/internal/utils/values.d.mts.map +1 -0
  253. package/internal/utils/values.d.ts +18 -0
  254. package/internal/utils/values.d.ts.map +1 -0
  255. package/internal/utils/values.js +112 -0
  256. package/internal/utils/values.js.map +1 -0
  257. package/internal/utils/values.mjs +94 -0
  258. package/internal/utils/values.mjs.map +1 -0
  259. package/internal/utils.d.mts +7 -0
  260. package/internal/utils.d.mts.map +1 -0
  261. package/internal/utils.d.ts +7 -0
  262. package/internal/utils.d.ts.map +1 -0
  263. package/internal/utils.js +11 -0
  264. package/internal/utils.js.map +1 -0
  265. package/internal/utils.mjs +8 -0
  266. package/internal/utils.mjs.map +1 -0
  267. package/package.json +113 -64
  268. package/pagination.d.mts +2 -0
  269. package/pagination.d.mts.map +1 -0
  270. package/pagination.d.ts +1 -36
  271. package/pagination.d.ts.map +1 -1
  272. package/pagination.js +3 -40
  273. package/pagination.js.map +1 -1
  274. package/pagination.mjs +1 -38
  275. package/pagination.mjs.map +1 -1
  276. package/resource.d.mts +2 -0
  277. package/resource.d.mts.map +1 -0
  278. package/resource.d.ts +1 -5
  279. package/resource.d.ts.map +1 -1
  280. package/resource.js +3 -8
  281. package/resource.js.map +1 -1
  282. package/resource.mjs +1 -6
  283. package/resource.mjs.map +1 -1
  284. package/resources/index.d.mts +5 -0
  285. package/resources/index.d.mts.map +1 -0
  286. package/resources/index.d.ts.map +1 -1
  287. package/resources/index.js +2 -15
  288. package/resources/index.js.map +1 -1
  289. package/resources/shared.d.mts +2363 -0
  290. package/resources/shared.d.mts.map +1 -0
  291. package/resources/shared.d.ts +1470 -465
  292. package/resources/shared.d.ts.map +1 -1
  293. package/resources/v1/alerts.d.mts +207 -0
  294. package/resources/v1/alerts.d.mts.map +1 -0
  295. package/resources/v1/alerts.d.ts +107 -32
  296. package/resources/v1/alerts.d.ts.map +1 -1
  297. package/resources/v1/alerts.js +74 -3
  298. package/resources/v1/alerts.js.map +1 -1
  299. package/resources/v1/alerts.mjs +74 -3
  300. package/resources/v1/alerts.mjs.map +1 -1
  301. package/resources/v1/audit-logs.d.mts +108 -0
  302. package/resources/v1/audit-logs.d.mts.map +1 -0
  303. package/resources/v1/audit-logs.d.ts +45 -12
  304. package/resources/v1/audit-logs.d.ts.map +1 -1
  305. package/resources/v1/audit-logs.js +53 -12
  306. package/resources/v1/audit-logs.js.map +1 -1
  307. package/resources/v1/audit-logs.mjs +52 -10
  308. package/resources/v1/audit-logs.mjs.map +1 -1
  309. package/resources/v1/billable-metrics.d.mts +293 -0
  310. package/resources/v1/billable-metrics.d.mts.map +1 -0
  311. package/resources/v1/billable-metrics.d.ts +70 -15
  312. package/resources/v1/billable-metrics.d.ts.map +1 -1
  313. package/resources/v1/billable-metrics.js +70 -16
  314. package/resources/v1/billable-metrics.js.map +1 -1
  315. package/resources/v1/billable-metrics.mjs +69 -14
  316. package/resources/v1/billable-metrics.mjs.map +1 -1
  317. package/resources/v1/contracts/contracts.d.mts +3006 -0
  318. package/resources/v1/contracts/contracts.d.mts.map +1 -0
  319. package/resources/v1/contracts/contracts.d.ts +428 -1299
  320. package/resources/v1/contracts/contracts.d.ts.map +1 -1
  321. package/resources/v1/contracts/contracts.js +269 -50
  322. package/resources/v1/contracts/contracts.js.map +1 -1
  323. package/resources/v1/contracts/contracts.mjs +267 -26
  324. package/resources/v1/contracts/contracts.mjs.map +1 -1
  325. package/resources/v1/contracts/index.d.mts +5 -0
  326. package/resources/v1/contracts/index.d.mts.map +1 -0
  327. package/resources/v1/contracts/index.d.ts +3 -3
  328. package/resources/v1/contracts/index.d.ts.map +1 -1
  329. package/resources/v1/contracts/index.js +1 -3
  330. package/resources/v1/contracts/index.js.map +1 -1
  331. package/resources/v1/contracts/index.mjs +2 -2
  332. package/resources/v1/contracts/index.mjs.map +1 -1
  333. package/resources/v1/contracts/named-schedules.d.mts +82 -0
  334. package/resources/v1/contracts/named-schedules.d.mts.map +1 -0
  335. package/resources/v1/contracts/named-schedules.d.ts +5 -4
  336. package/resources/v1/contracts/named-schedules.d.ts.map +1 -1
  337. package/resources/v1/contracts/named-schedules.js +3 -2
  338. package/resources/v1/contracts/named-schedules.js.map +1 -1
  339. package/resources/v1/contracts/named-schedules.mjs +3 -2
  340. package/resources/v1/contracts/named-schedules.mjs.map +1 -1
  341. package/resources/v1/contracts/products.d.mts +502 -0
  342. package/resources/v1/contracts/products.d.mts.map +1 -0
  343. package/resources/v1/contracts/products.d.ts +44 -17
  344. package/resources/v1/contracts/products.d.ts.map +1 -1
  345. package/resources/v1/contracts/products.js +41 -17
  346. package/resources/v1/contracts/products.js.map +1 -1
  347. package/resources/v1/contracts/products.mjs +40 -15
  348. package/resources/v1/contracts/products.mjs.map +1 -1
  349. package/resources/v1/contracts/rate-cards/index.d.mts +5 -0
  350. package/resources/v1/contracts/rate-cards/index.d.mts.map +1 -0
  351. package/resources/v1/contracts/rate-cards/index.d.ts +2 -2
  352. package/resources/v1/contracts/rate-cards/index.d.ts.map +1 -1
  353. package/resources/v1/contracts/rate-cards/index.js +1 -3
  354. package/resources/v1/contracts/rate-cards/index.js.map +1 -1
  355. package/resources/v1/contracts/rate-cards/index.mjs +2 -2
  356. package/resources/v1/contracts/rate-cards/index.mjs.map +1 -1
  357. package/resources/v1/contracts/rate-cards/named-schedules.d.mts +94 -0
  358. package/resources/v1/contracts/rate-cards/named-schedules.d.mts.map +1 -0
  359. package/resources/v1/contracts/rate-cards/named-schedules.d.ts +5 -4
  360. package/resources/v1/contracts/rate-cards/named-schedules.d.ts.map +1 -1
  361. package/resources/v1/contracts/rate-cards/named-schedules.js +3 -2
  362. package/resources/v1/contracts/rate-cards/named-schedules.js.map +1 -1
  363. package/resources/v1/contracts/rate-cards/named-schedules.mjs +3 -2
  364. package/resources/v1/contracts/rate-cards/named-schedules.mjs.map +1 -1
  365. package/resources/v1/contracts/rate-cards/product-orders.d.mts +85 -0
  366. package/resources/v1/contracts/rate-cards/product-orders.d.mts.map +1 -0
  367. package/resources/v1/contracts/rate-cards/product-orders.d.ts +12 -6
  368. package/resources/v1/contracts/rate-cards/product-orders.d.ts.map +1 -1
  369. package/resources/v1/contracts/rate-cards/product-orders.js +8 -3
  370. package/resources/v1/contracts/rate-cards/product-orders.js.map +1 -1
  371. package/resources/v1/contracts/rate-cards/product-orders.mjs +8 -3
  372. package/resources/v1/contracts/rate-cards/product-orders.mjs.map +1 -1
  373. package/resources/v1/contracts/rate-cards/rate-cards.d.mts +452 -0
  374. package/resources/v1/contracts/rate-cards/rate-cards.d.mts.map +1 -0
  375. package/resources/v1/contracts/rate-cards/rate-cards.d.ts +134 -41
  376. package/resources/v1/contracts/rate-cards/rate-cards.d.ts.map +1 -1
  377. package/resources/v1/contracts/rate-cards/rate-cards.js +127 -47
  378. package/resources/v1/contracts/rate-cards/rate-cards.js.map +1 -1
  379. package/resources/v1/contracts/rate-cards/rate-cards.mjs +123 -20
  380. package/resources/v1/contracts/rate-cards/rate-cards.mjs.map +1 -1
  381. package/resources/v1/contracts/rate-cards/rates.d.mts +382 -0
  382. package/resources/v1/contracts/rate-cards/rates.d.mts.map +1 -0
  383. package/resources/v1/contracts/rate-cards/rates.d.ts +25 -82
  384. package/resources/v1/contracts/rate-cards/rates.d.ts.map +1 -1
  385. package/resources/v1/contracts/rate-cards/rates.js +13 -9
  386. package/resources/v1/contracts/rate-cards/rates.js.map +1 -1
  387. package/resources/v1/contracts/rate-cards/rates.mjs +12 -7
  388. package/resources/v1/contracts/rate-cards/rates.mjs.map +1 -1
  389. package/resources/v1/contracts/rate-cards.d.mts +2 -0
  390. package/resources/v1/contracts/rate-cards.d.mts.map +1 -0
  391. package/resources/v1/contracts/rate-cards.d.ts.map +1 -1
  392. package/resources/v1/contracts/rate-cards.js +2 -15
  393. package/resources/v1/contracts/rate-cards.js.map +1 -1
  394. package/resources/v1/contracts.d.mts +2 -0
  395. package/resources/v1/contracts.d.mts.map +1 -0
  396. package/resources/v1/contracts.d.ts.map +1 -1
  397. package/resources/v1/contracts.js +2 -15
  398. package/resources/v1/contracts.js.map +1 -1
  399. package/resources/v1/credit-grants.d.mts +505 -0
  400. package/resources/v1/credit-grants.d.mts.map +1 -0
  401. package/resources/v1/credit-grants.d.ts +73 -74
  402. package/resources/v1/credit-grants.d.ts.map +1 -1
  403. package/resources/v1/credit-grants.js +52 -18
  404. package/resources/v1/credit-grants.js.map +1 -1
  405. package/resources/v1/credit-grants.mjs +51 -16
  406. package/resources/v1/credit-grants.mjs.map +1 -1
  407. package/resources/v1/custom-fields.d.mts +151 -0
  408. package/resources/v1/custom-fields.d.mts.map +1 -0
  409. package/resources/v1/custom-fields.d.ts +69 -38
  410. package/resources/v1/custom-fields.d.ts.map +1 -1
  411. package/resources/v1/custom-fields.js +66 -22
  412. package/resources/v1/custom-fields.js.map +1 -1
  413. package/resources/v1/custom-fields.mjs +66 -22
  414. package/resources/v1/custom-fields.mjs.map +1 -1
  415. package/resources/v1/customers/alerts.d.mts +309 -0
  416. package/resources/v1/customers/alerts.d.mts.map +1 -0
  417. package/resources/v1/customers/alerts.d.ts +176 -50
  418. package/resources/v1/customers/alerts.d.ts.map +1 -1
  419. package/resources/v1/customers/alerts.js +131 -10
  420. package/resources/v1/customers/alerts.js.map +1 -1
  421. package/resources/v1/customers/alerts.mjs +131 -10
  422. package/resources/v1/customers/alerts.mjs.map +1 -1
  423. package/resources/v1/customers/billing-config.d.mts +125 -0
  424. package/resources/v1/customers/billing-config.d.mts.map +1 -0
  425. package/resources/v1/customers/billing-config.d.ts +8 -7
  426. package/resources/v1/customers/billing-config.d.ts.map +1 -1
  427. package/resources/v1/customers/billing-config.js +8 -6
  428. package/resources/v1/customers/billing-config.js.map +1 -1
  429. package/resources/v1/customers/billing-config.mjs +8 -6
  430. package/resources/v1/customers/billing-config.mjs.map +1 -1
  431. package/resources/v1/customers/commits.d.mts +456 -0
  432. package/resources/v1/customers/commits.d.mts.map +1 -0
  433. package/resources/v1/customers/commits.d.ts +139 -47
  434. package/resources/v1/customers/commits.d.ts.map +1 -1
  435. package/resources/v1/customers/commits.js +131 -12
  436. package/resources/v1/customers/commits.js.map +1 -1
  437. package/resources/v1/customers/commits.mjs +131 -12
  438. package/resources/v1/customers/commits.mjs.map +1 -1
  439. package/resources/v1/customers/credits.d.mts +310 -0
  440. package/resources/v1/customers/credits.d.mts.map +1 -0
  441. package/resources/v1/customers/credits.d.ts +124 -46
  442. package/resources/v1/customers/credits.d.ts.map +1 -1
  443. package/resources/v1/customers/credits.js +116 -11
  444. package/resources/v1/customers/credits.js.map +1 -1
  445. package/resources/v1/customers/credits.mjs +116 -11
  446. package/resources/v1/customers/credits.mjs.map +1 -1
  447. package/resources/v1/customers/customers.d.mts +819 -0
  448. package/resources/v1/customers/customers.d.mts.map +1 -0
  449. package/resources/v1/customers/customers.d.ts +319 -55
  450. package/resources/v1/customers/customers.d.ts.map +1 -1
  451. package/resources/v1/customers/customers.js +220 -76
  452. package/resources/v1/customers/customers.js.map +1 -1
  453. package/resources/v1/customers/customers.mjs +213 -44
  454. package/resources/v1/customers/customers.mjs.map +1 -1
  455. package/resources/v1/customers/index.d.mts +9 -0
  456. package/resources/v1/customers/index.d.mts.map +1 -0
  457. package/resources/v1/customers/index.d.ts +6 -6
  458. package/resources/v1/customers/index.d.ts.map +1 -1
  459. package/resources/v1/customers/index.js +1 -8
  460. package/resources/v1/customers/index.js.map +1 -1
  461. package/resources/v1/customers/index.mjs +3 -3
  462. package/resources/v1/customers/index.mjs.map +1 -1
  463. package/resources/v1/customers/invoices.d.mts +825 -0
  464. package/resources/v1/customers/invoices.d.mts.map +1 -0
  465. package/resources/v1/customers/invoices.d.ts +309 -25
  466. package/resources/v1/customers/invoices.d.ts.map +1 -1
  467. package/resources/v1/customers/invoices.js +180 -22
  468. package/resources/v1/customers/invoices.js.map +1 -1
  469. package/resources/v1/customers/invoices.mjs +179 -19
  470. package/resources/v1/customers/invoices.mjs.map +1 -1
  471. package/resources/v1/customers/named-schedules.d.mts +82 -0
  472. package/resources/v1/customers/named-schedules.d.mts.map +1 -0
  473. package/resources/v1/customers/named-schedules.d.ts +5 -4
  474. package/resources/v1/customers/named-schedules.d.ts.map +1 -1
  475. package/resources/v1/customers/named-schedules.js +3 -2
  476. package/resources/v1/customers/named-schedules.js.map +1 -1
  477. package/resources/v1/customers/named-schedules.mjs +3 -2
  478. package/resources/v1/customers/named-schedules.mjs.map +1 -1
  479. package/resources/v1/customers/plans.d.mts +281 -0
  480. package/resources/v1/customers/plans.d.mts.map +1 -0
  481. package/resources/v1/customers/plans.d.ts +14 -12
  482. package/resources/v1/customers/plans.d.ts.map +1 -1
  483. package/resources/v1/customers/plans.js +8 -15
  484. package/resources/v1/customers/plans.js.map +1 -1
  485. package/resources/v1/customers/plans.mjs +7 -12
  486. package/resources/v1/customers/plans.mjs.map +1 -1
  487. package/resources/v1/customers.d.mts +2 -0
  488. package/resources/v1/customers.d.mts.map +1 -0
  489. package/resources/v1/customers.d.ts.map +1 -1
  490. package/resources/v1/customers.js +2 -15
  491. package/resources/v1/customers.js.map +1 -1
  492. package/resources/v1/dashboards.d.mts +133 -0
  493. package/resources/v1/dashboards.d.mts.map +1 -0
  494. package/resources/v1/dashboards.d.ts +33 -6
  495. package/resources/v1/dashboards.d.ts.map +1 -1
  496. package/resources/v1/dashboards.js +30 -4
  497. package/resources/v1/dashboards.js.map +1 -1
  498. package/resources/v1/dashboards.mjs +30 -4
  499. package/resources/v1/dashboards.mjs.map +1 -1
  500. package/resources/v1/index.d.mts +16 -0
  501. package/resources/v1/index.d.mts.map +1 -0
  502. package/resources/v1/index.d.ts +10 -9
  503. package/resources/v1/index.d.ts.map +1 -1
  504. package/resources/v1/index.js +3 -12
  505. package/resources/v1/index.js.map +1 -1
  506. package/resources/v1/index.mjs +8 -7
  507. package/resources/v1/index.mjs.map +1 -1
  508. package/resources/v1/invoices.d.mts +83 -0
  509. package/resources/v1/invoices.d.mts.map +1 -0
  510. package/resources/v1/invoices.d.ts +28 -6
  511. package/resources/v1/invoices.d.ts.map +1 -1
  512. package/resources/v1/invoices.js +24 -3
  513. package/resources/v1/invoices.js.map +1 -1
  514. package/resources/v1/invoices.mjs +24 -3
  515. package/resources/v1/invoices.mjs.map +1 -1
  516. package/resources/v1/payments.d.mts +116 -0
  517. package/resources/v1/payments.d.mts.map +1 -0
  518. package/resources/v1/payments.d.ts +116 -0
  519. package/resources/v1/payments.d.ts.map +1 -0
  520. package/resources/v1/payments.js +71 -0
  521. package/resources/v1/payments.js.map +1 -0
  522. package/resources/v1/payments.mjs +67 -0
  523. package/resources/v1/payments.mjs.map +1 -0
  524. package/resources/v1/plans.d.mts +240 -0
  525. package/resources/v1/plans.d.mts.map +1 -0
  526. package/resources/v1/plans.d.ts +24 -15
  527. package/resources/v1/plans.d.ts.map +1 -1
  528. package/resources/v1/plans.js +19 -26
  529. package/resources/v1/plans.js.map +1 -1
  530. package/resources/v1/plans.mjs +18 -22
  531. package/resources/v1/plans.mjs.map +1 -1
  532. package/resources/v1/pricing-units.d.mts +34 -0
  533. package/resources/v1/pricing-units.d.mts.map +1 -0
  534. package/resources/v1/pricing-units.d.ts +12 -9
  535. package/resources/v1/pricing-units.d.ts.map +1 -1
  536. package/resources/v1/pricing-units.js +20 -12
  537. package/resources/v1/pricing-units.js.map +1 -1
  538. package/resources/v1/pricing-units.mjs +19 -10
  539. package/resources/v1/pricing-units.mjs.map +1 -1
  540. package/resources/v1/services.d.mts +33 -0
  541. package/resources/v1/services.d.mts.map +1 -0
  542. package/resources/v1/services.d.ts +10 -7
  543. package/resources/v1/services.d.ts.map +1 -1
  544. package/resources/v1/services.js +7 -5
  545. package/resources/v1/services.js.map +1 -1
  546. package/resources/v1/services.mjs +7 -5
  547. package/resources/v1/services.mjs.map +1 -1
  548. package/resources/v1/usage.d.mts +490 -0
  549. package/resources/v1/usage.d.mts.map +1 -0
  550. package/resources/v1/usage.d.ts +223 -58
  551. package/resources/v1/usage.d.ts.map +1 -1
  552. package/resources/v1/usage.js +214 -26
  553. package/resources/v1/usage.js.map +1 -1
  554. package/resources/v1/usage.mjs +213 -24
  555. package/resources/v1/usage.mjs.map +1 -1
  556. package/resources/v1/v1.d.mts +62 -0
  557. package/resources/v1/v1.d.mts.map +1 -0
  558. package/resources/v1/v1.d.ts +19 -15
  559. package/resources/v1/v1.d.ts.map +1 -1
  560. package/resources/v1/v1.js +19 -48
  561. package/resources/v1/v1.js.map +1 -1
  562. package/resources/v1/v1.mjs +12 -19
  563. package/resources/v1/v1.mjs.map +1 -1
  564. package/resources/v1.d.mts +2 -0
  565. package/resources/v1.d.mts.map +1 -0
  566. package/resources/v1.d.ts.map +1 -1
  567. package/resources/v1.js +2 -15
  568. package/resources/v1.js.map +1 -1
  569. package/resources/v2/contracts.d.mts +2900 -0
  570. package/resources/v2/contracts.d.mts.map +1 -0
  571. package/resources/v2/contracts.d.ts +399 -3830
  572. package/resources/v2/contracts.d.ts.map +1 -1
  573. package/resources/v2/contracts.js +102 -12
  574. package/resources/v2/contracts.js.map +1 -1
  575. package/resources/v2/contracts.mjs +102 -12
  576. package/resources/v2/contracts.mjs.map +1 -1
  577. package/resources/v2/index.d.mts +3 -0
  578. package/resources/v2/index.d.mts.map +1 -0
  579. package/resources/v2/index.d.ts.map +1 -1
  580. package/resources/v2/v2.d.mts +10 -0
  581. package/resources/v2/v2.d.mts.map +1 -0
  582. package/resources/v2/v2.d.ts +1 -1
  583. package/resources/v2/v2.d.ts.map +1 -1
  584. package/resources/v2/v2.js +3 -25
  585. package/resources/v2/v2.js.map +1 -1
  586. package/resources/v2/v2.mjs +1 -1
  587. package/resources/v2.d.mts +2 -0
  588. package/resources/v2.d.mts.map +1 -0
  589. package/resources/v2.d.ts.map +1 -1
  590. package/resources/v2.js +2 -15
  591. package/resources/v2.js.map +1 -1
  592. package/resources/webhooks.d.mts +22 -0
  593. package/resources/webhooks.d.mts.map +1 -0
  594. package/resources/webhooks.d.ts +1 -1
  595. package/resources/webhooks.d.ts.map +1 -1
  596. package/resources/webhooks.js +3 -3
  597. package/resources/webhooks.js.map +1 -1
  598. package/resources/webhooks.mjs +1 -1
  599. package/resources/webhooks.mjs.map +1 -1
  600. package/resources.d.mts +2 -0
  601. package/resources.d.mts.map +1 -0
  602. package/resources.d.ts.map +1 -1
  603. package/resources.js +2 -15
  604. package/resources.js.map +1 -1
  605. package/src/api-promise.ts +2 -0
  606. package/src/client.ts +809 -0
  607. package/src/core/README.md +3 -0
  608. package/src/core/api-promise.ts +92 -0
  609. package/src/core/error.ts +130 -0
  610. package/src/core/pagination.ts +319 -0
  611. package/src/core/resource.ts +11 -0
  612. package/src/core/uploads.ts +2 -0
  613. package/src/error.ts +2 -130
  614. package/src/index.ts +6 -221
  615. package/src/internal/README.md +3 -0
  616. package/src/internal/builtin-types.ts +93 -0
  617. package/src/internal/detect-platform.ts +196 -0
  618. package/src/internal/errors.ts +33 -0
  619. package/src/internal/headers.ts +144 -0
  620. package/src/internal/parse.ts +50 -0
  621. package/src/internal/qs/formats.ts +3 -2
  622. package/src/internal/qs/index.ts +3 -3
  623. package/src/internal/qs/stringify.ts +18 -21
  624. package/src/internal/qs/utils.ts +16 -16
  625. package/src/internal/request-options.ts +91 -0
  626. package/src/internal/shim-types.ts +26 -0
  627. package/src/internal/shims.ts +107 -0
  628. package/src/internal/to-file.ts +154 -0
  629. package/src/internal/types.ts +95 -0
  630. package/src/internal/uploads.ts +187 -0
  631. package/src/internal/utils/base64.ts +40 -0
  632. package/src/internal/utils/bytes.ts +32 -0
  633. package/src/internal/utils/env.ts +18 -0
  634. package/src/internal/utils/log.ts +126 -0
  635. package/src/internal/utils/path.ts +88 -0
  636. package/src/internal/utils/sleep.ts +3 -0
  637. package/src/internal/utils/uuid.ts +17 -0
  638. package/src/internal/utils/values.ts +105 -0
  639. package/src/internal/utils.ts +8 -0
  640. package/src/pagination.ts +2 -82
  641. package/src/resource.ts +2 -11
  642. package/src/resources/index.ts +4 -4
  643. package/src/resources/shared.ts +1921 -506
  644. package/src/resources/v1/alerts.ts +108 -33
  645. package/src/resources/v1/audit-logs.ts +48 -26
  646. package/src/resources/v1/billable-metrics.ts +79 -34
  647. package/src/resources/v1/contracts/contracts.ts +490 -1632
  648. package/src/resources/v1/contracts/index.ts +7 -6
  649. package/src/resources/v1/contracts/named-schedules.ts +8 -6
  650. package/src/resources/v1/contracts/products.ts +50 -38
  651. package/src/resources/v1/contracts/rate-cards/index.ts +6 -6
  652. package/src/resources/v1/contracts/rate-cards/named-schedules.ts +8 -6
  653. package/src/resources/v1/contracts/rate-cards/product-orders.ts +13 -10
  654. package/src/resources/v1/contracts/rate-cards/rate-cards.ts +145 -72
  655. package/src/resources/v1/contracts/rate-cards/rates.ts +28 -98
  656. package/src/resources/v1/contracts/rate-cards.ts +1 -1
  657. package/src/resources/v1/contracts.ts +1 -1
  658. package/src/resources/v1/credit-grants.ts +100 -112
  659. package/src/resources/v1/custom-fields.ts +106 -74
  660. package/src/resources/v1/customers/alerts.ts +195 -55
  661. package/src/resources/v1/customers/billing-config.ts +27 -13
  662. package/src/resources/v1/customers/commits.ts +146 -54
  663. package/src/resources/v1/customers/credits.ts +131 -53
  664. package/src/resources/v1/customers/customers.ts +407 -115
  665. package/src/resources/v1/customers/index.ts +20 -18
  666. package/src/resources/v1/customers/invoices.ts +343 -42
  667. package/src/resources/v1/customers/named-schedules.ts +8 -6
  668. package/src/resources/v1/customers/plans.ts +24 -22
  669. package/src/resources/v1/customers.ts +1 -1
  670. package/src/resources/v1/dashboards.ts +34 -7
  671. package/src/resources/v1/index.ts +43 -25
  672. package/src/resources/v1/invoices.ts +28 -9
  673. package/src/resources/v1/payments.ts +170 -0
  674. package/src/resources/v1/plans.ts +42 -43
  675. package/src/resources/v1/pricing-units.ts +15 -23
  676. package/src/resources/v1/services.ts +10 -7
  677. package/src/resources/v1/usage.ts +247 -73
  678. package/src/resources/v1/v1.ts +78 -49
  679. package/src/resources/v1.ts +1 -1
  680. package/src/resources/v2/contracts.ts +469 -4930
  681. package/src/resources/v2/index.ts +2 -2
  682. package/src/resources/v2/v2.ts +3 -3
  683. package/src/resources/v2.ts +1 -1
  684. package/src/resources/webhooks.ts +2 -2
  685. package/src/resources.ts +1 -1
  686. package/src/tsconfig.json +2 -2
  687. package/src/uploads.ts +2 -255
  688. package/src/version.ts +1 -1
  689. package/uploads.d.mts +2 -0
  690. package/uploads.d.mts.map +1 -0
  691. package/uploads.d.ts +1 -74
  692. package/uploads.d.ts.map +1 -1
  693. package/uploads.js +3 -168
  694. package/uploads.js.map +1 -1
  695. package/uploads.mjs +1 -157
  696. package/uploads.mjs.map +1 -1
  697. package/version.d.mts +2 -0
  698. package/version.d.mts.map +1 -0
  699. package/version.d.ts +1 -1
  700. package/version.js +1 -1
  701. package/version.mjs +1 -1
  702. package/_shims/MultipartBody.d.ts +0 -9
  703. package/_shims/MultipartBody.d.ts.map +0 -1
  704. package/_shims/MultipartBody.js +0 -16
  705. package/_shims/MultipartBody.js.map +0 -1
  706. package/_shims/MultipartBody.mjs +0 -12
  707. package/_shims/MultipartBody.mjs.map +0 -1
  708. package/_shims/README.md +0 -46
  709. package/_shims/auto/runtime-bun.d.ts +0 -5
  710. package/_shims/auto/runtime-bun.d.ts.map +0 -1
  711. package/_shims/auto/runtime-bun.js +0 -21
  712. package/_shims/auto/runtime-bun.js.map +0 -1
  713. package/_shims/auto/runtime-bun.mjs +0 -2
  714. package/_shims/auto/runtime-bun.mjs.map +0 -1
  715. package/_shims/auto/runtime-node.d.ts +0 -5
  716. package/_shims/auto/runtime-node.d.ts.map +0 -1
  717. package/_shims/auto/runtime-node.js +0 -21
  718. package/_shims/auto/runtime-node.js.map +0 -1
  719. package/_shims/auto/runtime-node.mjs +0 -2
  720. package/_shims/auto/runtime-node.mjs.map +0 -1
  721. package/_shims/auto/runtime.d.ts +0 -5
  722. package/_shims/auto/runtime.d.ts.map +0 -1
  723. package/_shims/auto/runtime.js +0 -21
  724. package/_shims/auto/runtime.js.map +0 -1
  725. package/_shims/auto/runtime.mjs +0 -2
  726. package/_shims/auto/runtime.mjs.map +0 -1
  727. package/_shims/auto/types-node.d.ts +0 -5
  728. package/_shims/auto/types-node.d.ts.map +0 -1
  729. package/_shims/auto/types-node.js +0 -21
  730. package/_shims/auto/types-node.js.map +0 -1
  731. package/_shims/auto/types-node.mjs +0 -2
  732. package/_shims/auto/types-node.mjs.map +0 -1
  733. package/_shims/auto/types.d.ts +0 -101
  734. package/_shims/auto/types.js +0 -3
  735. package/_shims/auto/types.mjs +0 -3
  736. package/_shims/bun-runtime.d.ts +0 -6
  737. package/_shims/bun-runtime.d.ts.map +0 -1
  738. package/_shims/bun-runtime.js +0 -14
  739. package/_shims/bun-runtime.js.map +0 -1
  740. package/_shims/bun-runtime.mjs +0 -10
  741. package/_shims/bun-runtime.mjs.map +0 -1
  742. package/_shims/index.d.ts +0 -83
  743. package/_shims/index.js +0 -17
  744. package/_shims/index.mjs +0 -11
  745. package/_shims/manual-types.d.ts +0 -12
  746. package/_shims/manual-types.js +0 -3
  747. package/_shims/manual-types.mjs +0 -3
  748. package/_shims/node-runtime.d.ts +0 -3
  749. package/_shims/node-runtime.d.ts.map +0 -1
  750. package/_shims/node-runtime.js +0 -89
  751. package/_shims/node-runtime.js.map +0 -1
  752. package/_shims/node-runtime.mjs +0 -56
  753. package/_shims/node-runtime.mjs.map +0 -1
  754. package/_shims/node-types.d.ts +0 -42
  755. package/_shims/node-types.js +0 -3
  756. package/_shims/node-types.mjs +0 -3
  757. package/_shims/registry.d.ts +0 -37
  758. package/_shims/registry.d.ts.map +0 -1
  759. package/_shims/registry.js +0 -41
  760. package/_shims/registry.js.map +0 -1
  761. package/_shims/registry.mjs +0 -37
  762. package/_shims/registry.mjs.map +0 -1
  763. package/_shims/web-runtime.d.ts +0 -5
  764. package/_shims/web-runtime.d.ts.map +0 -1
  765. package/_shims/web-runtime.js +0 -78
  766. package/_shims/web-runtime.js.map +0 -1
  767. package/_shims/web-runtime.mjs +0 -71
  768. package/_shims/web-runtime.mjs.map +0 -1
  769. package/_shims/web-types.d.ts +0 -83
  770. package/_shims/web-types.js +0 -3
  771. package/_shims/web-types.mjs +0 -3
  772. package/core.d.ts +0 -255
  773. package/core.d.ts.map +0 -1
  774. package/core.js +0 -924
  775. package/core.js.map +0 -1
  776. package/core.mjs +0 -892
  777. package/core.mjs.map +0 -1
  778. package/shims/node.d.ts +0 -30
  779. package/shims/node.d.ts.map +0 -1
  780. package/shims/node.js +0 -31
  781. package/shims/node.js.map +0 -1
  782. package/shims/node.mjs +0 -5
  783. package/shims/node.mjs.map +0 -1
  784. package/shims/web.d.ts +0 -26
  785. package/shims/web.d.ts.map +0 -1
  786. package/shims/web.js +0 -31
  787. package/shims/web.js.map +0 -1
  788. package/shims/web.mjs +0 -5
  789. package/shims/web.mjs.map +0 -1
  790. package/src/_shims/MultipartBody.ts +0 -9
  791. package/src/_shims/README.md +0 -46
  792. package/src/_shims/auto/runtime-bun.ts +0 -4
  793. package/src/_shims/auto/runtime-node.ts +0 -4
  794. package/src/_shims/auto/runtime.ts +0 -4
  795. package/src/_shims/auto/types-node.ts +0 -4
  796. package/src/_shims/auto/types.d.ts +0 -101
  797. package/src/_shims/auto/types.js +0 -3
  798. package/src/_shims/auto/types.mjs +0 -3
  799. package/src/_shims/bun-runtime.ts +0 -14
  800. package/src/_shims/index.d.ts +0 -83
  801. package/src/_shims/index.js +0 -17
  802. package/src/_shims/index.mjs +0 -11
  803. package/src/_shims/manual-types.d.ts +0 -12
  804. package/src/_shims/manual-types.js +0 -3
  805. package/src/_shims/manual-types.mjs +0 -3
  806. package/src/_shims/node-runtime.ts +0 -81
  807. package/src/_shims/node-types.d.ts +0 -42
  808. package/src/_shims/node-types.js +0 -3
  809. package/src/_shims/node-types.mjs +0 -3
  810. package/src/_shims/registry.ts +0 -67
  811. package/src/_shims/web-runtime.ts +0 -103
  812. package/src/_shims/web-types.d.ts +0 -83
  813. package/src/_shims/web-types.js +0 -3
  814. package/src/_shims/web-types.mjs +0 -3
  815. package/src/core.ts +0 -1236
  816. package/src/shims/node.ts +0 -50
  817. package/src/shims/web.ts +0 -50
package/CHANGELOG.md CHANGED
@@ -1,46 +1,131 @@
1
1
  # Changelog
2
2
 
3
- ## 0.3.0 (2025-08-15)
3
+ ## 2.0.0 (2025-10-16)
4
+
5
+ Full Changelog: [v1.0.0...v2.0.0](https://github.com/Metronome-Industries/metronome-node/compare/v1.0.0...v2.0.0)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * **api:** Remove customer_id from preview events payload
10
+ * **api:** in getEditHistory endpoint, commit invoice schedule amount, unit price, and quantity are now optional values
11
+ * **api:** Added optional archive_filter param to /notifications/offset/list endpoint
12
+
13
+ ### Features
14
+
15
+ * Add empty handler for cancelPayment ([8a9f2e8](https://github.com/Metronome-Industries/metronome-node/commit/8a9f2e800db4f6d977d8fade405836f91cf0ca9f))
16
+ * Add payment + billing invoice APIs to the API reference docs ([8cd1d7a](https://github.com/Metronome-Industries/metronome-node/commit/8cd1d7a4678a3887a60fe26c6e6bda89fa4b9bec))
17
+ * Add payment APIs to the SDK ([0adfefc](https://github.com/Metronome-Industries/metronome-node/commit/0adfefc9acf0ab3d480041495f2726446efb9cb4))
18
+ * **api:** add billing_periods to Subscription ([9498382](https://github.com/Metronome-Industries/metronome-node/commit/9498382c48d925d2dc52fb5286d302009371751a))
19
+ * **api:** add new payments/attempt v1 api endpoint ([51234ab](https://github.com/Metronome-Industries/metronome-node/commit/51234abdd9de4ed0a2733b3333e936abec7a4301))
20
+ * **api:** Added optional archive_filter param to /notifications/offset/list endpoint ([efb0aa1](https://github.com/Metronome-Industries/metronome-node/commit/efb0aa188a8c2df9ec025e0f666886f3efd381a0))
21
+ * **api:** Remove customer_id from preview events payload ([d80600b](https://github.com/Metronome-Industries/metronome-node/commit/d80600b4f3be4f9cfc3b94f6acbd13184c7e5c31))
22
+ * Bump graphql version and fix type errors ([a6349d5](https://github.com/Metronome-Industries/metronome-node/commit/a6349d555d194b13a8f6fec4092e01dd49a4f7d4))
23
+ * elia/orch 128 add external apis for payments ([637dc77](https://github.com/Metronome-Industries/metronome-node/commit/637dc77cdf4847ab2ab8458fc06f243d878db724))
24
+ * feat(api):Allow clients retrieve archived config via `/notifications/get` ([ab0b0b1](https://github.com/Metronome-Industries/metronome-node/commit/ab0b0b10ab2102da479552ee5fc3155382085dbd))
25
+ * internal: releasing x-mint ([6f0209a](https://github.com/Metronome-Industries/metronome-node/commit/6f0209a8aa776c96b61ca7bc93ad95b0704009b6))
26
+ * internal: Skip retrieve_pdf API SDK tests ([47426e8](https://github.com/Metronome-Industries/metronome-node/commit/47426e8fea7aa2194c3e31d243becbda73295551))
27
+ * internal(docs): adding confluent endpoints ([66682c2](https://github.com/Metronome-Industries/metronome-node/commit/66682c2705aa432cf5b42bf6c02da3aebbbc187b))
28
+ * LAUNCH-516 add getSubscriptionSeatsScheduleHistory api ([87bffd4](https://github.com/Metronome-Industries/metronome-node/commit/87bffd4eef2a8bbe890d1efcdfddfd351236fa22))
29
+ * **mcp:** add docs search tool ([5b2bce7](https://github.com/Metronome-Industries/metronome-node/commit/5b2bce751297111cae257591faa3da4546ff5065))
30
+ * **mcp:** add option for including docs tools ([4e51097](https://github.com/Metronome-Industries/metronome-node/commit/4e51097669b68a0c473659530ff5920272db1559))
31
+ * **mcp:** enable experimental docs search tool ([9f3a19d](https://github.com/Metronome-Industries/metronome-node/commit/9f3a19d6fd24629865c90ec943be13066929724c))
32
+ * rename getSubscriptionSeatsScheduleHistory to getSubscriptionSeatsHistory ([2a45a7e](https://github.com/Metronome-Industries/metronome-node/commit/2a45a7ecf906d1e07d5530385138590f940626f7))
33
+ * Return array of invoices instead of single invoice and handle multipl… ([843ca4c](https://github.com/Metronome-Industries/metronome-node/commit/843ca4c0cbb15c4bcb13a66ce783452adbad9316))
34
+ * Set up contract get and create with new AH info ([2a15df8](https://github.com/Metronome-Industries/metronome-node/commit/2a15df82e9595ba74d5ca3625d8a582bd9838cb6))
35
+ * update api docs ([ddc0510](https://github.com/Metronome-Industries/metronome-node/commit/ddc0510f876f3cdea0456301c0ec6ef4548100b5))
36
+
37
+
38
+ ### Bug Fixes
39
+
40
+ * **api:** in getEditHistory endpoint, commit invoice schedule amount, unit price, and quantity are now optional values ([df927b1](https://github.com/Metronome-Industries/metronome-node/commit/df927b13491689eeb4fa6db96d0989c2e14b76d2))
41
+ * **ci:** set permissions for DXT publish action ([b1bcdad](https://github.com/Metronome-Industries/metronome-node/commit/b1bcdadbf37415497c02cd83e38695be81ac7b44))
42
+ * LAUNCH-1130 remove min and max in api spec for better valiation error message ([20b4d2c](https://github.com/Metronome-Industries/metronome-node/commit/20b4d2cba2d177a71bed7f9db62faabab028cc81))
43
+ * **mcp:** fix cli argument parsing logic ([6db4b4a](https://github.com/Metronome-Industries/metronome-node/commit/6db4b4af661841fe68536cc086a270ea9b93d71f))
44
+
45
+
46
+ ### Performance Improvements
47
+
48
+ * faster formatting ([08badd1](https://github.com/Metronome-Industries/metronome-node/commit/08badd16ee6d0a3594977c68540a233fabac163a))
49
+
50
+
51
+ ### Chores
52
+
53
+ * **codegen:** internal codegen update ([1dc34a9](https://github.com/Metronome-Industries/metronome-node/commit/1dc34a9cc5066a72c19cfd382472d607effcde75))
54
+ * do not install brew dependencies in ./scripts/bootstrap by default ([607b9b0](https://github.com/Metronome-Industries/metronome-node/commit/607b9b0ada5cb004718cd31c074333c6d9870bdf))
55
+ * extract some types in mcp docs ([2f279f4](https://github.com/Metronome-Industries/metronome-node/commit/2f279f4edb3881f5b4b4ab8577497159915c6680))
56
+ * **internal:** codegen related update ([dde1c3b](https://github.com/Metronome-Industries/metronome-node/commit/dde1c3bababf9ce3b224aa0bd8f69e6a395548e3))
57
+ * **internal:** fix incremental formatting in some cases ([e6aa27e](https://github.com/Metronome-Industries/metronome-node/commit/e6aa27e75896fc2b10f8f0c3f890c839c812afc0))
58
+ * **internal:** gitignore .mcpb files ([0e48487](https://github.com/Metronome-Industries/metronome-node/commit/0e48487bcbd06f3230acd0d9ffa44f9d684d2ae5))
59
+ * **internal:** ignore .eslintcache ([63e1f8e](https://github.com/Metronome-Industries/metronome-node/commit/63e1f8e459f108f4f5d10e2e3a93c64ec090b006))
60
+ * **internal:** remove .eslintcache ([68b87db](https://github.com/Metronome-Industries/metronome-node/commit/68b87dbb06b8b2d3ca403a713434b6daf4a6170b))
61
+ * **internal:** remove deprecated `compilerOptions.baseUrl` from tsconfig.json ([da007e0](https://github.com/Metronome-Industries/metronome-node/commit/da007e0a5e459e623ed8fe8f9b255a70f29532d4))
62
+ * **internal:** use npm pack for build uploads ([610d7b1](https://github.com/Metronome-Industries/metronome-node/commit/610d7b191822a83c6afdd9c4b67859a14b05f653))
63
+ * **jsdoc:** fix [@link](https://github.com/link) annotations to refer only to parts of the package‘s public interface ([2192205](https://github.com/Metronome-Industries/metronome-node/commit/21922059a1991ea558e77aea79993685f873167f))
64
+ * **mcp:** allow pointing `docs_search` tool at other URLs ([996112b](https://github.com/Metronome-Industries/metronome-node/commit/996112b87d1cf2cd7421f49143f40762e4b0b656))
65
+ * **mcp:** rename dxt to mcpb ([f57db37](https://github.com/Metronome-Industries/metronome-node/commit/f57db3729eadc05ce4b806ff8748540abb7b04ff))
66
+ * update lockfile ([1657600](https://github.com/Metronome-Industries/metronome-node/commit/16576000f23fe49205c7d4d9842416627a7ffbad))
67
+
68
+ ## 1.0.0 (2025-09-15)
69
+
70
+ Full Changelog: [v0.3.0...v1.0.0](https://github.com/Metronome-Industries/metronome-node/compare/v0.3.0...v1.0.0)
71
+
72
+ ### ⚠ BREAKING CHANGES
73
+
74
+ * **api:** add pagination support to multiple endpoints - Added pagination to CustomerList, AlertList, InvoiceList, CommitList, CreditList, CreditGrantList, CustomerAlerts, UsageList, CustomFields list, and ContractListBalances endpoints.
75
+ * **api:** enhance subscriptions and commits/credits - Added Individual enum to SubscriptionConfig and rate_type enums to UpdateCredit/UpdateCommit.
76
+ * **typescript-sdk:** migrate to latest SDK version - Migrated TypeScript SDK with improved type safety, enhanced error handling, updated method signatures, and restructured package exports. Existing TypeScript SDK integrations will require updates to import paths, method calls, and configuration options. See our Migration Guide for detailed step-by-step instructions.
77
+ * **api:** add comprehensive shared types to SDK - Added 34 new shared types including BaseThresholdCommit, BaseUsageFilter, Commit, CommitHierarchyConfiguration, CommitRate, CommitSpecifier, CommitSpecifierInput, Contract, ContractV2, ContractWithoutAmendments, Credit, CreditTypeData, Discount, EventTypeFilter, HierarchyConfiguration, ID, Override, OverrideTier, OverwriteRate, PaymentGateConfig, PaymentGateConfigV2, PrepaidBalanceThresholdConfiguration, PrepaidBalanceThresholdConfigurationV2, PropertyFilter, ProService, Rate, RecurringCommitSubscriptionConfig, ScheduledCharge, ScheduleDuration, SchedulePointInTime, SpendThresholdConfiguration, SpendThresholdConfigurationV2, Subscription, Tier, and UpdateBaseThresholdCommit.
78
+
79
+ ### Features
80
+
81
+ * **api:** add archived_at field to CustomerBillingConfiguration ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
82
+ * **api:** add comprehensive shared types to SDK - Added 34 new shared types including BaseThresholdCommit, BaseUsageFilter, Commit, CommitHierarchyConfiguration, CommitRate, CommitSpecifier, CommitSpecifierInput, Contract, ContractV2, ContractWithoutAmendments, Credit, CreditTypeData, Discount, EventTypeFilter, HierarchyConfiguration, ID, Override, OverrideTier, OverwriteRate, PaymentGateConfig, PaymentGateConfigV2, PrepaidBalanceThresholdConfiguration, PrepaidBalanceThresholdConfigurationV2, PropertyFilter, ProService, Rate, RecurringCommitSubscriptionConfig, ScheduledCharge, ScheduleDuration, SchedulePointInTime, SpendThresholdConfiguration, SpendThresholdConfigurationV2, Subscription, Tier, and UpdateBaseThresholdCommit. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
83
+ * **api:** add created_at field to Commit ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
84
+ * **api:** add customer billing configuration endpoints - Added set and retrieve endpoints for customer billing configurations. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
85
+ * **api:** add pagination support to multiple endpoints - Added pagination to CustomerList, AlertList, InvoiceList, CommitList, CreditList, CreditGrantList, CustomerAlerts, UsageList, CustomFields list, and ContractListBalances endpoints. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
86
+ * **api:** Add support for granular spend threshold alerts with group key filters. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
87
+ * **api:** enhance subscriptions and commits/credits - Added Individual enum to SubscriptionConfig and rate_type enums to UpdateCredit/UpdateCommit. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
88
+ * **typescript-sdk:** migrate to latest SDK version - Migrated TypeScript SDK with improved type safety, enhanced error handling, updated method signatures, and restructured package exports. Existing TypeScript SDK integrations will require updates to import paths, method calls, and configuration options. See our Migration Guide for detailed step-by-step instructions. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
89
+
90
+
91
+ ### Bug Fixes
92
+
93
+ * **mcp:** fix query options parsing ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
94
+ * **mcp:** fix uploading dxt release assets ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
95
+
96
+
97
+ ### Chores
98
+
99
+ * coerce nullable values to undefined ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
100
+
101
+
102
+ ### Documentation
103
+
104
+ * enhance API documentation - Added more detailed descriptions and styling improvements, and enhanced usage filter documentation with additional context. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
105
+
106
+ ## 0.3.0 (2025-09-15)
4
107
 
5
108
  Full Changelog: [v0.2.0...v0.3.0](https://github.com/Metronome-Industries/metronome-node/compare/v0.2.0...v0.3.0)
6
109
 
7
110
  ### Features
8
111
 
9
- * **api:** api update ([e884b86](https://github.com/Metronome-Industries/metronome-node/commit/e884b866e9c4cae020b420a52a13e3e37af0a0e1))
10
- * **api:** api update ([b35e26a](https://github.com/Metronome-Industries/metronome-node/commit/b35e26a035a6ef7c61bb5291702c93b3ee121d43))
11
- * **api:** api update ([6683cf9](https://github.com/Metronome-Industries/metronome-node/commit/6683cf99275e575b188cc1d6a01d688e53f201b4))
12
- * **api:** api update ([a36d626](https://github.com/Metronome-Industries/metronome-node/commit/a36d62641e01ad7c36f91d7371a4988a2b05f0a4))
13
- * **api:** api update ([c865ee1](https://github.com/Metronome-Industries/metronome-node/commit/c865ee1b48e7cecd86b9ef1bcec61d83e0d8cbde))
14
- * **api:** api update ([62d4fd8](https://github.com/Metronome-Industries/metronome-node/commit/62d4fd845d64b162596d2f2e2ef300daf4d4b5c0))
15
- * **api:** api update ([ce43e12](https://github.com/Metronome-Industries/metronome-node/commit/ce43e1222870d9842786230a2adab43433326e39))
16
- * **api:** api update ([734bfdc](https://github.com/Metronome-Industries/metronome-node/commit/734bfdcdea00e42709d8d655a7f71f532f1db980))
17
- * **api:** api update ([9538819](https://github.com/Metronome-Industries/metronome-node/commit/9538819f0d9289cbdc3f13e8337843af47845194))
18
- * **api:** api update ([7658522](https://github.com/Metronome-Industries/metronome-node/commit/76585227332f5bf7f7640af83cc56a791972afbc))
19
- * **api:** api update ([39508d4](https://github.com/Metronome-Industries/metronome-node/commit/39508d435f1966327cadcf4f208f8e7bbd65e902))
20
- * **mcp:** add logging when environment variable is set ([da446ed](https://github.com/Metronome-Industries/metronome-node/commit/da446ed9e30f4f8b2d75c73346583388f53fda80))
21
- * **mcp:** add unix socket option for remote MCP ([1bb6f63](https://github.com/Metronome-Industries/metronome-node/commit/1bb6f63c9f0c2b7c24d3c768fba5bf1dbd451563))
22
- * **mcp:** remote server with passthru auth ([0c61cb9](https://github.com/Metronome-Industries/metronome-node/commit/0c61cb95a43ba9e4046f2c4026800e95802a76f4))
112
+ * **api:** api update ([6053d58](https://github.com/Metronome-Industries/metronome-node/commit/6053d586c4fc67e770fad2f9bc9de1706ec363a7))
113
+ * **api:** api update ([1be7b2d](https://github.com/Metronome-Industries/metronome-node/commit/1be7b2d4cc78f10f17cd4021287410c4996900ac))
114
+ * **api:** api update ([fcc3172](https://github.com/Metronome-Industries/metronome-node/commit/fcc3172129d07d7da715b4982acbfb96664f7518))
23
115
 
24
116
 
25
117
  ### Bug Fixes
26
118
 
27
- * **mcp:** fix bug in header handling ([bbc7303](https://github.com/Metronome-Industries/metronome-node/commit/bbc730360ef3559a2d261dbf60329d59c4f5fe1a))
28
- * **mcp:** fix jq type bug ([3e1050a](https://github.com/Metronome-Industries/metronome-node/commit/3e1050a46b81373576a6a24118b9feb514d08a2e))
29
- * **mcp:** generate additionalProperties=true for map schemas to avoid validation issues ([4e3ef3f](https://github.com/Metronome-Industries/metronome-node/commit/4e3ef3f3119c7098b2001747fda4ab5320ff03e8))
119
+ * coerce nullable values to undefined ([db26826](https://github.com/Metronome-Industries/metronome-node/commit/db268263220cb5cacfd6a55ff04de39d2477b323))
120
+ * **mcp:** fix query options parsing ([a680969](https://github.com/Metronome-Industries/metronome-node/commit/a68096999d241b3a6dff06115a76e9c1bacb2fbe))
121
+ * **mcp:** fix uploading dxt release assets ([d2bd1f5](https://github.com/Metronome-Industries/metronome-node/commit/d2bd1f5b6640c9bebf047089347401a2786046d4))
30
122
 
31
123
 
32
124
  ### Chores
33
125
 
34
- * **deps:** update dependency node-fetch to v2.6.13 ([9b7cc9f](https://github.com/Metronome-Industries/metronome-node/commit/9b7cc9fb05969c27013f79aa28556620b2b4aaf9))
35
- * **internal:** formatting change ([56e19ef](https://github.com/Metronome-Industries/metronome-node/commit/56e19efd00d1adcd0871f05c4cb4ec4176f7c669))
36
- * **internal:** move publish config ([7fe7728](https://github.com/Metronome-Industries/metronome-node/commit/7fe77288030502d813786a2c2cd90ebd45a5a2ce))
37
- * **internal:** update comment in script ([eb4b678](https://github.com/Metronome-Industries/metronome-node/commit/eb4b6789b92c39cc300b915050f5212684c79b3b))
38
- * **mcp:** bump JQ version ([cd9db46](https://github.com/Metronome-Industries/metronome-node/commit/cd9db463c3def01355a92b724de723c91dfbbce1))
39
- * **mcp:** document remote server in README.md ([4858f2f](https://github.com/Metronome-Industries/metronome-node/commit/4858f2faae46abd6998b931900399a332f46adfa))
40
- * **mcp:** minor cleanup of types and package.json ([b1c81f4](https://github.com/Metronome-Industries/metronome-node/commit/b1c81f46ec293036ae154d3f73fc1563c09f3336))
41
- * **mcp:** refactor streamable http transport ([26ea8ca](https://github.com/Metronome-Industries/metronome-node/commit/26ea8ca90308a338dd46786e68c63c2d37642c59))
42
- * **mcp:** update README ([fd863d9](https://github.com/Metronome-Industries/metronome-node/commit/fd863d9ac0acfbd6743dc5668f0343405a378388))
43
- * update @stainless-api/prism-cli to v5.15.0 ([5ce7a05](https://github.com/Metronome-Industries/metronome-node/commit/5ce7a053d4a88bde83fa560ac1636934f742fe68))
126
+ * **internal:** codegen related update ([191878f](https://github.com/Metronome-Industries/metronome-node/commit/191878f4c0c324365353e04f32dcdb12db6d5308))
127
+ * **mcp:** upload dxt as release asset ([870849d](https://github.com/Metronome-Industries/metronome-node/commit/870849d07517ee4e94c9d5f6afc05c46d1a71958))
128
+ * sync repo ([86f91c5](https://github.com/Metronome-Industries/metronome-node/commit/86f91c5d57c205949c945d058c931353b64147fa))
44
129
 
45
130
  ## 0.2.0 (2025-07-31)
46
131
 
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # Metronome Node API Library
1
+ # Metronome TypeScript API Library
2
2
 
3
- [![NPM version](https://img.shields.io/npm/v/@metronome/sdk.svg)](https://npmjs.org/package/@metronome/sdk) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@metronome/sdk)
3
+ [![NPM version](<https://img.shields.io/npm/v/@metronome/sdk.svg?label=npm%20(stable)>)](https://npmjs.org/package/@metronome/sdk) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/@metronome/sdk)
4
4
 
5
5
  This library provides convenient access to the Metronome REST API from server-side TypeScript or JavaScript.
6
6
 
@@ -24,15 +24,17 @@ const client = new Metronome({
24
24
  bearerToken: process.env['METRONOME_BEARER_TOKEN'], // This is the default and can be omitted
25
25
  });
26
26
 
27
- await client.v1.usage.ingest([
28
- {
29
- transaction_id: '90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72',
30
- customer_id: 'team@example.com',
31
- event_type: 'heartbeat',
32
- timestamp: '2024-01-01T00:00:00Z',
33
- properties: { cluster_id: '42', cpu_seconds: 60, region: 'Europe' },
34
- },
35
- ]);
27
+ await client.v1.usage.ingest({
28
+ usage: [
29
+ {
30
+ transaction_id: '90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72',
31
+ customer_id: 'team@example.com',
32
+ event_type: 'heartbeat',
33
+ timestamp: '2024-01-01T00:00:00Z',
34
+ properties: { cluster_id: '42', cpu_seconds: 60, region: 'Europe' },
35
+ },
36
+ ],
37
+ });
36
38
  ```
37
39
 
38
40
  ### Request & Response types
@@ -168,8 +170,10 @@ while (page.hasNextPage()) {
168
170
  ### Accessing raw Response data (e.g., headers)
169
171
 
170
172
  The "raw" `Response` returned by `fetch()` can be accessed through the `.asResponse()` method on the `APIPromise` type that all methods return.
173
+ This method returns as soon as the headers for a successful response are received and does not consume the response body, so you are free to write custom parsing or streaming logic.
171
174
 
172
175
  You can also use the `.withResponse()` method to get the raw `Response` along with the parsed data.
176
+ Unlike `.asResponse()` this method consumes the body, returning once it is parsed.
173
177
 
174
178
  <!-- prettier-ignore -->
175
179
  ```ts
@@ -188,6 +192,59 @@ console.log(raw.headers.get('X-My-Header'));
188
192
  console.log(contract.data);
189
193
  ```
190
194
 
195
+ ### Logging
196
+
197
+ > [!IMPORTANT]
198
+ > All log messages are intended for debugging only. The format and content of log messages
199
+ > may change between releases.
200
+
201
+ #### Log levels
202
+
203
+ The log level can be configured in two ways:
204
+
205
+ 1. Via the `METRONOME_LOG` environment variable
206
+ 2. Using the `logLevel` client option (overrides the environment variable if set)
207
+
208
+ ```ts
209
+ import Metronome from '@metronome/sdk';
210
+
211
+ const client = new Metronome({
212
+ logLevel: 'debug', // Show all log messages
213
+ });
214
+ ```
215
+
216
+ Available log levels, from most to least verbose:
217
+
218
+ - `'debug'` - Show debug messages, info, warnings, and errors
219
+ - `'info'` - Show info messages, warnings, and errors
220
+ - `'warn'` - Show warnings and errors (default)
221
+ - `'error'` - Show only errors
222
+ - `'off'` - Disable all logging
223
+
224
+ At the `'debug'` level, all HTTP requests and responses are logged, including headers and bodies.
225
+ Some authentication-related headers are redacted, but sensitive data in request and response bodies
226
+ may still be visible.
227
+
228
+ #### Custom logger
229
+
230
+ By default, this library logs to `globalThis.console`. You can also provide a custom logger.
231
+ Most logging libraries are supported, including [pino](https://www.npmjs.com/package/pino), [winston](https://www.npmjs.com/package/winston), [bunyan](https://www.npmjs.com/package/bunyan), [consola](https://www.npmjs.com/package/consola), [signale](https://www.npmjs.com/package/signale), and [@std/log](https://jsr.io/@std/log). If your logger doesn't work, please open an issue.
232
+
233
+ When providing a custom logger, the `logLevel` option still controls which messages are emitted, messages
234
+ below the configured level will not be sent to your logger.
235
+
236
+ ```ts
237
+ import Metronome from '@metronome/sdk';
238
+ import pino from 'pino';
239
+
240
+ const logger = pino();
241
+
242
+ const client = new Metronome({
243
+ logger: logger.child({ name: 'Metronome' }),
244
+ logLevel: 'debug', // Send all messages to pino, allowing it to filter
245
+ });
246
+ ```
247
+
191
248
  ### Making custom/undocumented requests
192
249
 
193
250
  This library is typed for convenient access to the documented API. If you need to access undocumented
@@ -212,9 +269,8 @@ parameter. This library doesn't validate at runtime that the request matches the
212
269
  send will be sent as-is.
213
270
 
214
271
  ```ts
215
- client.foo.create({
216
- foo: 'my_param',
217
- bar: 12,
272
+ client.v1.usage.ingest({
273
+ // ...
218
274
  // @ts-expect-error baz is not yet public
219
275
  baz: 'undocumented option',
220
276
  });
@@ -234,69 +290,85 @@ validate or strip extra properties from the response from the API.
234
290
 
235
291
  ### Customizing the fetch client
236
292
 
237
- By default, this library uses `node-fetch` in Node, and expects a global `fetch` function in other environments.
293
+ By default, this library expects a global `fetch` function is defined.
238
294
 
239
- If you would prefer to use a global, web-standards-compliant `fetch` function even in a Node environment,
240
- (for example, if you are running Node with `--experimental-fetch` or using NextJS which polyfills with `undici`),
241
- add the following import before your first import `from "Metronome"`:
295
+ If you want to use a different `fetch` function, you can either polyfill the global:
242
296
 
243
297
  ```ts
244
- // Tell TypeScript and the package to use the global web fetch instead of node-fetch.
245
- // Note, despite the name, this does not add any polyfills, but expects them to be provided if needed.
246
- import '@metronome/sdk/shims/web';
247
- import Metronome from '@metronome/sdk';
298
+ import fetch from 'my-fetch';
299
+
300
+ globalThis.fetch = fetch;
248
301
  ```
249
302
 
250
- To do the inverse, add `import "@metronome/sdk/shims/node"` (which does import polyfills).
251
- This can also be useful if you are getting the wrong TypeScript types for `Response` ([more details](https://github.com/Metronome-Industries/metronome-node/tree/main/src/_shims#readme)).
303
+ Or pass it to the client:
304
+
305
+ ```ts
306
+ import Metronome from '@metronome/sdk';
307
+ import fetch from 'my-fetch';
308
+
309
+ const client = new Metronome({ fetch });
310
+ ```
252
311
 
253
- ### Logging and middleware
312
+ ### Fetch options
254
313
 
255
- You may also provide a custom `fetch` function when instantiating the client,
256
- which can be used to inspect or alter the `Request` or `Response` before/after each request:
314
+ If you want to set custom `fetch` options without overriding the `fetch` function, you can provide a `fetchOptions` object when instantiating the client or making a request. (Request-specific options override client options.)
257
315
 
258
316
  ```ts
259
- import { fetch } from 'undici'; // as one example
260
317
  import Metronome from '@metronome/sdk';
261
318
 
262
319
  const client = new Metronome({
263
- fetch: async (url: RequestInfo, init?: RequestInit): Promise<Response> => {
264
- console.log('About to make a request', url, init);
265
- const response = await fetch(url, init);
266
- console.log('Got response', response);
267
- return response;
320
+ fetchOptions: {
321
+ // `RequestInit` options
268
322
  },
269
323
  });
270
324
  ```
271
325
 
272
- Note that if given a `DEBUG=true` environment variable, this library will log all requests and responses automatically.
273
- This is intended for debugging purposes only and may change in the future without notice.
326
+ #### Configuring proxies
274
327
 
275
- ### Configuring an HTTP(S) Agent (e.g., for proxies)
328
+ To modify proxy behavior, you can provide custom `fetchOptions` that add runtime-specific proxy
329
+ options to requests:
276
330
 
277
- By default, this library uses a stable agent for all http/https requests to reuse TCP connections, eliminating many TCP & TLS handshakes and shaving around 100ms off most requests.
331
+ <img src="https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/node.svg" align="top" width="18" height="21"> **Node** <sup>[[docs](https://github.com/nodejs/undici/blob/main/docs/docs/api/ProxyAgent.md#example---proxyagent-with-fetch)]</sup>
278
332
 
279
- If you would like to disable or customize this behavior, for example to use the API behind a proxy, you can pass an `httpAgent` which is used for all requests (be they http or https), for example:
333
+ ```ts
334
+ import Metronome from '@metronome/sdk';
335
+ import * as undici from 'undici';
336
+
337
+ const proxyAgent = new undici.ProxyAgent('http://localhost:8888');
338
+ const client = new Metronome({
339
+ fetchOptions: {
340
+ dispatcher: proxyAgent,
341
+ },
342
+ });
343
+ ```
344
+
345
+ <img src="https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/bun.svg" align="top" width="18" height="21"> **Bun** <sup>[[docs](https://bun.sh/guides/http/proxy)]</sup>
280
346
 
281
- <!-- prettier-ignore -->
282
347
  ```ts
283
- import http from 'http';
284
- import { HttpsProxyAgent } from 'https-proxy-agent';
348
+ import Metronome from '@metronome/sdk';
285
349
 
286
- // Configure the default for all requests:
287
350
  const client = new Metronome({
288
- httpAgent: new HttpsProxyAgent(process.env.PROXY_URL),
351
+ fetchOptions: {
352
+ proxy: 'http://localhost:8888',
353
+ },
289
354
  });
355
+ ```
290
356
 
291
- // Override per-request:
292
- await client.v1.contracts.create(
293
- { customer_id: '13117714-3f05-48e5-a6e9-a66093f13b4d', starting_at: '2020-01-01T00:00:00.000Z' },
294
- {
295
- httpAgent: new http.Agent({ keepAlive: false }),
357
+ <img src="https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/deno.svg" align="top" width="18" height="21"> **Deno** <sup>[[docs](https://docs.deno.com/api/deno/~/Deno.createHttpClient)]</sup>
358
+
359
+ ```ts
360
+ import Metronome from 'npm:@metronome/sdk';
361
+
362
+ const httpClient = Deno.createHttpClient({ proxy: { url: 'http://localhost:8888' } });
363
+ const client = new Metronome({
364
+ fetchOptions: {
365
+ client: httpClient,
296
366
  },
297
- );
367
+ });
298
368
  ```
299
369
 
370
+ ## Frequently Asked Questions
371
+
300
372
  ## Semantic versioning
301
373
 
302
374
  This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
@@ -311,12 +383,12 @@ We are keen for your feedback; please open an [issue](https://www.github.com/Met
311
383
 
312
384
  ## Requirements
313
385
 
314
- TypeScript >= 4.5 is supported.
386
+ TypeScript >= 4.9 is supported.
315
387
 
316
388
  The following runtimes are supported:
317
389
 
318
390
  - Web browsers (Up-to-date Chrome, Firefox, Safari, Edge, and more)
319
- - Node.js 18 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.
391
+ - Node.js 20 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.
320
392
  - Deno v1.28.0 or higher.
321
393
  - Bun 1.0 or later.
322
394
  - Cloudflare Workers.
@@ -0,0 +1,2 @@
1
+ export * from "./core/api-promise.mjs";
2
+ //# sourceMappingURL=api-promise.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-promise.d.mts","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from "./core/api-promise.js";
2
+ //# sourceMappingURL=api-promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-promise.d.ts","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":""}
package/api-promise.js ADDED
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("./internal/tslib.js");
4
+ /** @deprecated Import from ./core/api-promise instead */
5
+ tslib_1.__exportStar(require("./core/api-promise.js"), exports);
6
+ //# sourceMappingURL=api-promise.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-promise.js","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,gEAAmC"}
@@ -0,0 +1,2 @@
1
+ export * from "./core/api-promise.mjs";
2
+ //# sourceMappingURL=api-promise.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-promise.mjs","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":""}
package/bin/cli ADDED
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { spawnSync } = require('child_process');
4
+
5
+ const commands = {
6
+ migrate: {
7
+ description: 'Run migrations to update your code using @metronome/sdk@0.3.0 to be compatible with @metronome/sdk@1.0.0',
8
+ fn: () => {
9
+ const result = spawnSync(
10
+ 'npx',
11
+ ['-y', 'https://github.com/stainless-api/migrate-ts/releases/download/0.0.2/stainless-api-migrate-0.0.2-6.tgz', '--migrationConfig', require.resolve('./migration-config.json'), ...process.argv.slice(3)],
12
+ { stdio: 'inherit' },
13
+ );
14
+ if (result.status !== 0) {
15
+ process.exit(result.status);
16
+ }
17
+ }
18
+ }
19
+ }
20
+
21
+ function exitWithHelp() {
22
+ console.log(`Usage: metronome-sdk <subcommand>`);
23
+ console.log();
24
+ console.log('Subcommands:');
25
+
26
+ for (const [name, info] of Object.entries(commands)) {
27
+ console.log(` ${name} ${info.description}`);
28
+ }
29
+
30
+ console.log();
31
+ process.exit(1);
32
+ }
33
+
34
+ if (process.argv.length < 3) {
35
+ exitWithHelp();
36
+ }
37
+
38
+ const commandName = process.argv[2];
39
+
40
+ const command = commands[commandName];
41
+ if (!command) {
42
+ console.log(`Unknown subcommand ${commandName}.`);
43
+ exitWithHelp();
44
+ }
45
+
46
+ command.fn();
@@ -0,0 +1,6 @@
1
+ {
2
+ "pkg": "@metronome/sdk",
3
+ "githubRepo": "https://github.com/Metronome-Industries/metronome-node",
4
+ "clientClass": "Metronome",
5
+ "methods": []
6
+ }