@metronome/sdk 1.0.0 → 2.1.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 (192) hide show
  1. package/CHANGELOG.md +101 -0
  2. package/bin/cli +5 -12
  3. package/internal/to-file.d.mts +1 -1
  4. package/internal/to-file.d.ts +1 -1
  5. package/internal/to-file.js +1 -1
  6. package/internal/to-file.mjs +1 -1
  7. package/package.json +1 -1
  8. package/resources/shared.d.mts +157 -7
  9. package/resources/shared.d.mts.map +1 -1
  10. package/resources/shared.d.ts +157 -7
  11. package/resources/shared.d.ts.map +1 -1
  12. package/resources/v1/alerts.d.mts +68 -64
  13. package/resources/v1/alerts.d.mts.map +1 -1
  14. package/resources/v1/alerts.d.ts +68 -64
  15. package/resources/v1/alerts.d.ts.map +1 -1
  16. package/resources/v1/alerts.js +40 -39
  17. package/resources/v1/alerts.js.map +1 -1
  18. package/resources/v1/alerts.mjs +40 -39
  19. package/resources/v1/alerts.mjs.map +1 -1
  20. package/resources/v1/contracts/contracts.d.mts +56 -9
  21. package/resources/v1/contracts/contracts.d.mts.map +1 -1
  22. package/resources/v1/contracts/contracts.d.ts +56 -9
  23. package/resources/v1/contracts/contracts.d.ts.map +1 -1
  24. package/resources/v1/contracts/contracts.js +5 -4
  25. package/resources/v1/contracts/contracts.js.map +1 -1
  26. package/resources/v1/contracts/contracts.mjs +5 -4
  27. package/resources/v1/contracts/contracts.mjs.map +1 -1
  28. package/resources/v1/credit-grants.d.mts +10 -5
  29. package/resources/v1/credit-grants.d.mts.map +1 -1
  30. package/resources/v1/credit-grants.d.ts +10 -5
  31. package/resources/v1/credit-grants.d.ts.map +1 -1
  32. package/resources/v1/credit-grants.js +10 -5
  33. package/resources/v1/credit-grants.js.map +1 -1
  34. package/resources/v1/credit-grants.mjs +10 -5
  35. package/resources/v1/credit-grants.mjs.map +1 -1
  36. package/resources/v1/customers/alerts.d.mts +99 -78
  37. package/resources/v1/customers/alerts.d.mts.map +1 -1
  38. package/resources/v1/customers/alerts.d.ts +99 -78
  39. package/resources/v1/customers/alerts.d.ts.map +1 -1
  40. package/resources/v1/customers/alerts.js +65 -46
  41. package/resources/v1/customers/alerts.js.map +1 -1
  42. package/resources/v1/customers/alerts.mjs +65 -46
  43. package/resources/v1/customers/alerts.mjs.map +1 -1
  44. package/resources/v1/customers/billing-config.d.mts +15 -7
  45. package/resources/v1/customers/billing-config.d.mts.map +1 -1
  46. package/resources/v1/customers/billing-config.d.ts +15 -7
  47. package/resources/v1/customers/billing-config.d.ts.map +1 -1
  48. package/resources/v1/customers/billing-config.js +6 -3
  49. package/resources/v1/customers/billing-config.js.map +1 -1
  50. package/resources/v1/customers/billing-config.mjs +6 -3
  51. package/resources/v1/customers/billing-config.mjs.map +1 -1
  52. package/resources/v1/customers/commits.d.mts +3 -2
  53. package/resources/v1/customers/commits.d.mts.map +1 -1
  54. package/resources/v1/customers/commits.d.ts +3 -2
  55. package/resources/v1/customers/commits.d.ts.map +1 -1
  56. package/resources/v1/customers/commits.js +2 -1
  57. package/resources/v1/customers/commits.js.map +1 -1
  58. package/resources/v1/customers/commits.mjs +2 -1
  59. package/resources/v1/customers/commits.mjs.map +1 -1
  60. package/resources/v1/customers/customers.d.mts +35 -26
  61. package/resources/v1/customers/customers.d.mts.map +1 -1
  62. package/resources/v1/customers/customers.d.ts +35 -26
  63. package/resources/v1/customers/customers.d.ts.map +1 -1
  64. package/resources/v1/customers/customers.js +11 -5
  65. package/resources/v1/customers/customers.js.map +1 -1
  66. package/resources/v1/customers/customers.mjs +11 -5
  67. package/resources/v1/customers/customers.mjs.map +1 -1
  68. package/resources/v1/customers/index.d.mts +1 -1
  69. package/resources/v1/customers/index.d.mts.map +1 -1
  70. package/resources/v1/customers/index.d.ts +1 -1
  71. package/resources/v1/customers/index.d.ts.map +1 -1
  72. package/resources/v1/customers/index.js.map +1 -1
  73. package/resources/v1/customers/index.mjs.map +1 -1
  74. package/resources/v1/customers/invoices.d.mts +169 -5
  75. package/resources/v1/customers/invoices.d.mts.map +1 -1
  76. package/resources/v1/customers/invoices.d.ts +169 -5
  77. package/resources/v1/customers/invoices.d.ts.map +1 -1
  78. package/resources/v1/customers/invoices.js +51 -1
  79. package/resources/v1/customers/invoices.js.map +1 -1
  80. package/resources/v1/customers/invoices.mjs +51 -1
  81. package/resources/v1/customers/invoices.mjs.map +1 -1
  82. package/resources/v1/customers/plans.d.mts +8 -4
  83. package/resources/v1/customers/plans.d.mts.map +1 -1
  84. package/resources/v1/customers/plans.d.ts +8 -4
  85. package/resources/v1/customers/plans.d.ts.map +1 -1
  86. package/resources/v1/customers/plans.js +8 -4
  87. package/resources/v1/customers/plans.js.map +1 -1
  88. package/resources/v1/customers/plans.mjs +8 -4
  89. package/resources/v1/customers/plans.mjs.map +1 -1
  90. package/resources/v1/index.d.mts +2 -0
  91. package/resources/v1/index.d.mts.map +1 -1
  92. package/resources/v1/index.d.ts +2 -0
  93. package/resources/v1/index.d.ts.map +1 -1
  94. package/resources/v1/index.js +5 -1
  95. package/resources/v1/index.js.map +1 -1
  96. package/resources/v1/index.mjs +2 -0
  97. package/resources/v1/index.mjs.map +1 -1
  98. package/resources/v1/payments.d.mts +117 -0
  99. package/resources/v1/payments.d.mts.map +1 -0
  100. package/resources/v1/payments.d.ts +117 -0
  101. package/resources/v1/payments.d.ts.map +1 -0
  102. package/resources/v1/payments.js +71 -0
  103. package/resources/v1/payments.js.map +1 -0
  104. package/resources/v1/payments.mjs +67 -0
  105. package/resources/v1/payments.mjs.map +1 -0
  106. package/resources/v1/plans.d.mts +8 -4
  107. package/resources/v1/plans.d.mts.map +1 -1
  108. package/resources/v1/plans.d.ts +8 -4
  109. package/resources/v1/plans.d.ts.map +1 -1
  110. package/resources/v1/plans.js +8 -4
  111. package/resources/v1/plans.js.map +1 -1
  112. package/resources/v1/plans.mjs +8 -4
  113. package/resources/v1/plans.mjs.map +1 -1
  114. package/resources/v1/settings/billing-providers.d.mts +103 -0
  115. package/resources/v1/settings/billing-providers.d.mts.map +1 -0
  116. package/resources/v1/settings/billing-providers.d.ts +103 -0
  117. package/resources/v1/settings/billing-providers.d.ts.map +1 -0
  118. package/resources/v1/settings/billing-providers.js +48 -0
  119. package/resources/v1/settings/billing-providers.js.map +1 -0
  120. package/resources/v1/settings/billing-providers.mjs +44 -0
  121. package/resources/v1/settings/billing-providers.mjs.map +1 -0
  122. package/resources/v1/settings/index.d.mts +3 -0
  123. package/resources/v1/settings/index.d.mts.map +1 -0
  124. package/resources/v1/settings/index.d.ts +3 -0
  125. package/resources/v1/settings/index.d.ts.map +1 -0
  126. package/resources/v1/settings/index.js +9 -0
  127. package/resources/v1/settings/index.js.map +1 -0
  128. package/resources/v1/settings/index.mjs +4 -0
  129. package/resources/v1/settings/index.mjs.map +1 -0
  130. package/resources/v1/settings/settings.d.mts +54 -0
  131. package/resources/v1/settings/settings.d.mts.map +1 -0
  132. package/resources/v1/settings/settings.d.ts +54 -0
  133. package/resources/v1/settings/settings.d.ts.map +1 -0
  134. package/resources/v1/settings/settings.js +39 -0
  135. package/resources/v1/settings/settings.js.map +1 -0
  136. package/resources/v1/settings/settings.mjs +34 -0
  137. package/resources/v1/settings/settings.mjs.map +1 -0
  138. package/resources/v1/settings.d.mts +2 -0
  139. package/resources/v1/settings.d.mts.map +1 -0
  140. package/resources/v1/settings.d.ts +2 -0
  141. package/resources/v1/settings.d.ts.map +1 -0
  142. package/resources/v1/settings.js +6 -0
  143. package/resources/v1/settings.js.map +1 -0
  144. package/resources/v1/settings.mjs +3 -0
  145. package/resources/v1/settings.mjs.map +1 -0
  146. package/resources/v1/usage.d.mts +4 -2
  147. package/resources/v1/usage.d.mts.map +1 -1
  148. package/resources/v1/usage.d.ts +4 -2
  149. package/resources/v1/usage.d.ts.map +1 -1
  150. package/resources/v1/usage.js +4 -2
  151. package/resources/v1/usage.js.map +1 -1
  152. package/resources/v1/usage.mjs +4 -2
  153. package/resources/v1/usage.mjs.map +1 -1
  154. package/resources/v1/v1.d.mts +8 -0
  155. package/resources/v1/v1.d.mts.map +1 -1
  156. package/resources/v1/v1.d.ts +8 -0
  157. package/resources/v1/v1.d.ts.map +1 -1
  158. package/resources/v1/v1.js +8 -0
  159. package/resources/v1/v1.js.map +1 -1
  160. package/resources/v1/v1.mjs +8 -0
  161. package/resources/v1/v1.mjs.map +1 -1
  162. package/resources/v2/contracts.d.mts +120 -5
  163. package/resources/v2/contracts.d.mts.map +1 -1
  164. package/resources/v2/contracts.d.ts +120 -5
  165. package/resources/v2/contracts.d.ts.map +1 -1
  166. package/src/internal/to-file.ts +1 -1
  167. package/src/resources/shared.ts +190 -7
  168. package/src/resources/v1/alerts.ts +68 -64
  169. package/src/resources/v1/contracts/contracts.ts +61 -9
  170. package/src/resources/v1/credit-grants.ts +10 -5
  171. package/src/resources/v1/customers/alerts.ts +99 -77
  172. package/src/resources/v1/customers/billing-config.ts +18 -7
  173. package/src/resources/v1/customers/commits.ts +3 -2
  174. package/src/resources/v1/customers/customers.ts +39 -25
  175. package/src/resources/v1/customers/index.ts +1 -0
  176. package/src/resources/v1/customers/invoices.ts +210 -4
  177. package/src/resources/v1/customers/plans.ts +8 -4
  178. package/src/resources/v1/index.ts +16 -0
  179. package/src/resources/v1/payments.ts +172 -0
  180. package/src/resources/v1/plans.ts +8 -4
  181. package/src/resources/v1/settings/billing-providers.ts +139 -0
  182. package/src/resources/v1/settings/index.ts +14 -0
  183. package/src/resources/v1/settings/settings.ts +87 -0
  184. package/src/resources/v1/settings.ts +3 -0
  185. package/src/resources/v1/usage.ts +4 -2
  186. package/src/resources/v1/v1.ts +40 -0
  187. package/src/resources/v2/contracts.ts +156 -5
  188. package/src/version.ts +1 -1
  189. package/version.d.mts +1 -1
  190. package/version.d.ts +1 -1
  191. package/version.js +1 -1
  192. package/version.mjs +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,106 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.1.0 (2025-10-31)
4
+
5
+ Full Changelog: [v2.0.0...v2.1.0](https://github.com/Metronome-Industries/metronome-node/compare/v2.0.0...v2.1.0)
6
+
7
+ ### Features
8
+
9
+ * [ORCH-282] plumb `payment_method_id` to the payment gateway object ([15c6c79](https://github.com/Metronome-Industries/metronome-node/commit/15c6c79a1e6bf2eb5d0f7b56f33ca1457dfb3bef))
10
+ * [ORCH-797] add billing_provider_error to invoice.external_invoice ([c0420d3](https://github.com/Metronome-Industries/metronome-node/commit/c0420d37de98fae7d378b9182b09014cf859e245))
11
+ * Add avalara creds + billing provider APIs to SDK. Add avalara creds API to docs. ([039521a](https://github.com/Metronome-Industries/metronome-node/commit/039521addeac2953ff0f30e0c8a08cb972d24c65))
12
+ * add beta tag to stripe auto charge items ([f5e38e8](https://github.com/Metronome-Industries/metronome-node/commit/f5e38e8c777fe60778583c4574345ee631179383))
13
+ * add exclude_zero_balances field behind a FF for anthropic ([c8c7c29](https://github.com/Metronome-Industries/metronome-node/commit/c8c7c299261e60bf7865046357608732ff26c65d))
14
+ * add METRONOME to BillingProvider type ([e242daa](https://github.com/Metronome-Industries/metronome-node/commit/e242daa137de8488bf9e63a3273f2abe9ba9438b))
15
+ * docs(api) Documentation for seat-based subscription linked recurring commits beta release ([667067a](https://github.com/Metronome-Industries/metronome-node/commit/667067a9507777f4d478efdd360da6d1243e92b2))
16
+ * ignore_duplicates ([4ec20ce](https://github.com/Metronome-Industries/metronome-node/commit/4ec20cebb5aa8f1aaa6d7f36dac434eab4cba5e1))
17
+ * internal: moving plans docs to deprecated section of new docs site ([f8c0abf](https://github.com/Metronome-Industries/metronome-node/commit/f8c0abf50cb4f7b2a4ccdbec271c775d769ddb04))
18
+ * not ready for review ([82f5869](https://github.com/Metronome-Industries/metronome-node/commit/82f5869b1f602f9b3b5e9e6bbf29aac79ff576fb))
19
+ * not ready for review ([c2db062](https://github.com/Metronome-Industries/metronome-node/commit/c2db06258d902bc794389c29ec6f751bc63e0a0f))
20
+ * Relax requirement on customer level commits for invoice_contract_id if do_not_invoice is set to true ([fb89c8e](https://github.com/Metronome-Industries/metronome-node/commit/fb89c8ea130da2171c3c5f48944559588788215f))
21
+ * update get customer alerts api to include low seat balance type ([9d9c44c](https://github.com/Metronome-Industries/metronome-node/commit/9d9c44cf27578836e60a4a81f0118b9f24c88f85))
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * **api:** Make id field required in /v2/notifications/edit ([afd6647](https://github.com/Metronome-Industries/metronome-node/commit/afd6647d668f6031892fa1cbd6323514ce375e94))
27
+ * **mcpb:** pin @anthropic-ai/mcpb version ([4542481](https://github.com/Metronome-Industries/metronome-node/commit/454248130b0cdd15854808634fd0beb9210e3ef0))
28
+
29
+
30
+ ### Chores
31
+
32
+ * **api:** Note SQL BM is not supported in previewCustomerEvents description ([ea70362](https://github.com/Metronome-Industries/metronome-node/commit/ea70362ab43c4505d92b382bca361f937d162d3a))
33
+
34
+
35
+ ### Documentation
36
+
37
+ * add migrate amendments to edits page ([8553655](https://github.com/Metronome-Industries/metronome-node/commit/85536552c0f2ab2e5f5be34a16ec43c9df705a32))
38
+
39
+ ## 2.0.0 (2025-10-16)
40
+
41
+ Full Changelog: [v1.0.0...v2.0.0](https://github.com/Metronome-Industries/metronome-node/compare/v1.0.0...v2.0.0)
42
+
43
+ ### ⚠ BREAKING CHANGES
44
+
45
+ * **api:** Remove customer_id from preview events payload
46
+ * **api:** in getEditHistory endpoint, commit invoice schedule amount, unit price, and quantity are now optional values
47
+ * **api:** Added optional archive_filter param to /notifications/offset/list endpoint
48
+
49
+ ### Features
50
+
51
+ * Add empty handler for cancelPayment ([8a9f2e8](https://github.com/Metronome-Industries/metronome-node/commit/8a9f2e800db4f6d977d8fade405836f91cf0ca9f))
52
+ * Add payment + billing invoice APIs to the API reference docs ([8cd1d7a](https://github.com/Metronome-Industries/metronome-node/commit/8cd1d7a4678a3887a60fe26c6e6bda89fa4b9bec))
53
+ * Add payment APIs to the SDK ([0adfefc](https://github.com/Metronome-Industries/metronome-node/commit/0adfefc9acf0ab3d480041495f2726446efb9cb4))
54
+ * **api:** add billing_periods to Subscription ([9498382](https://github.com/Metronome-Industries/metronome-node/commit/9498382c48d925d2dc52fb5286d302009371751a))
55
+ * **api:** add new payments/attempt v1 api endpoint ([51234ab](https://github.com/Metronome-Industries/metronome-node/commit/51234abdd9de4ed0a2733b3333e936abec7a4301))
56
+ * **api:** Added optional archive_filter param to /notifications/offset/list endpoint ([efb0aa1](https://github.com/Metronome-Industries/metronome-node/commit/efb0aa188a8c2df9ec025e0f666886f3efd381a0))
57
+ * **api:** Remove customer_id from preview events payload ([d80600b](https://github.com/Metronome-Industries/metronome-node/commit/d80600b4f3be4f9cfc3b94f6acbd13184c7e5c31))
58
+ * Bump graphql version and fix type errors ([a6349d5](https://github.com/Metronome-Industries/metronome-node/commit/a6349d555d194b13a8f6fec4092e01dd49a4f7d4))
59
+ * elia/orch 128 add external apis for payments ([637dc77](https://github.com/Metronome-Industries/metronome-node/commit/637dc77cdf4847ab2ab8458fc06f243d878db724))
60
+ * feat(api):Allow clients retrieve archived config via `/notifications/get` ([ab0b0b1](https://github.com/Metronome-Industries/metronome-node/commit/ab0b0b10ab2102da479552ee5fc3155382085dbd))
61
+ * internal: releasing x-mint ([6f0209a](https://github.com/Metronome-Industries/metronome-node/commit/6f0209a8aa776c96b61ca7bc93ad95b0704009b6))
62
+ * internal: Skip retrieve_pdf API SDK tests ([47426e8](https://github.com/Metronome-Industries/metronome-node/commit/47426e8fea7aa2194c3e31d243becbda73295551))
63
+ * internal(docs): adding confluent endpoints ([66682c2](https://github.com/Metronome-Industries/metronome-node/commit/66682c2705aa432cf5b42bf6c02da3aebbbc187b))
64
+ * LAUNCH-516 add getSubscriptionSeatsScheduleHistory api ([87bffd4](https://github.com/Metronome-Industries/metronome-node/commit/87bffd4eef2a8bbe890d1efcdfddfd351236fa22))
65
+ * **mcp:** add docs search tool ([5b2bce7](https://github.com/Metronome-Industries/metronome-node/commit/5b2bce751297111cae257591faa3da4546ff5065))
66
+ * **mcp:** add option for including docs tools ([4e51097](https://github.com/Metronome-Industries/metronome-node/commit/4e51097669b68a0c473659530ff5920272db1559))
67
+ * **mcp:** enable experimental docs search tool ([9f3a19d](https://github.com/Metronome-Industries/metronome-node/commit/9f3a19d6fd24629865c90ec943be13066929724c))
68
+ * rename getSubscriptionSeatsScheduleHistory to getSubscriptionSeatsHistory ([2a45a7e](https://github.com/Metronome-Industries/metronome-node/commit/2a45a7ecf906d1e07d5530385138590f940626f7))
69
+ * Return array of invoices instead of single invoice and handle multipl… ([843ca4c](https://github.com/Metronome-Industries/metronome-node/commit/843ca4c0cbb15c4bcb13a66ce783452adbad9316))
70
+ * Set up contract get and create with new AH info ([2a15df8](https://github.com/Metronome-Industries/metronome-node/commit/2a15df82e9595ba74d5ca3625d8a582bd9838cb6))
71
+ * update api docs ([ddc0510](https://github.com/Metronome-Industries/metronome-node/commit/ddc0510f876f3cdea0456301c0ec6ef4548100b5))
72
+
73
+
74
+ ### Bug Fixes
75
+
76
+ * **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))
77
+ * **ci:** set permissions for DXT publish action ([b1bcdad](https://github.com/Metronome-Industries/metronome-node/commit/b1bcdadbf37415497c02cd83e38695be81ac7b44))
78
+ * LAUNCH-1130 remove min and max in api spec for better valiation error message ([20b4d2c](https://github.com/Metronome-Industries/metronome-node/commit/20b4d2cba2d177a71bed7f9db62faabab028cc81))
79
+ * **mcp:** fix cli argument parsing logic ([6db4b4a](https://github.com/Metronome-Industries/metronome-node/commit/6db4b4af661841fe68536cc086a270ea9b93d71f))
80
+
81
+
82
+ ### Performance Improvements
83
+
84
+ * faster formatting ([08badd1](https://github.com/Metronome-Industries/metronome-node/commit/08badd16ee6d0a3594977c68540a233fabac163a))
85
+
86
+
87
+ ### Chores
88
+
89
+ * **codegen:** internal codegen update ([1dc34a9](https://github.com/Metronome-Industries/metronome-node/commit/1dc34a9cc5066a72c19cfd382472d607effcde75))
90
+ * do not install brew dependencies in ./scripts/bootstrap by default ([607b9b0](https://github.com/Metronome-Industries/metronome-node/commit/607b9b0ada5cb004718cd31c074333c6d9870bdf))
91
+ * extract some types in mcp docs ([2f279f4](https://github.com/Metronome-Industries/metronome-node/commit/2f279f4edb3881f5b4b4ab8577497159915c6680))
92
+ * **internal:** codegen related update ([dde1c3b](https://github.com/Metronome-Industries/metronome-node/commit/dde1c3bababf9ce3b224aa0bd8f69e6a395548e3))
93
+ * **internal:** fix incremental formatting in some cases ([e6aa27e](https://github.com/Metronome-Industries/metronome-node/commit/e6aa27e75896fc2b10f8f0c3f890c839c812afc0))
94
+ * **internal:** gitignore .mcpb files ([0e48487](https://github.com/Metronome-Industries/metronome-node/commit/0e48487bcbd06f3230acd0d9ffa44f9d684d2ae5))
95
+ * **internal:** ignore .eslintcache ([63e1f8e](https://github.com/Metronome-Industries/metronome-node/commit/63e1f8e459f108f4f5d10e2e3a93c64ec090b006))
96
+ * **internal:** remove .eslintcache ([68b87db](https://github.com/Metronome-Industries/metronome-node/commit/68b87dbb06b8b2d3ca403a713434b6daf4a6170b))
97
+ * **internal:** remove deprecated `compilerOptions.baseUrl` from tsconfig.json ([da007e0](https://github.com/Metronome-Industries/metronome-node/commit/da007e0a5e459e623ed8fe8f9b255a70f29532d4))
98
+ * **internal:** use npm pack for build uploads ([610d7b1](https://github.com/Metronome-Industries/metronome-node/commit/610d7b191822a83c6afdd9c4b67859a14b05f653))
99
+ * **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))
100
+ * **mcp:** allow pointing `docs_search` tool at other URLs ([996112b](https://github.com/Metronome-Industries/metronome-node/commit/996112b87d1cf2cd7421f49143f40762e4b0b656))
101
+ * **mcp:** rename dxt to mcpb ([f57db37](https://github.com/Metronome-Industries/metronome-node/commit/f57db3729eadc05ce4b806ff8748540abb7b04ff))
102
+ * update lockfile ([1657600](https://github.com/Metronome-Industries/metronome-node/commit/16576000f23fe49205c7d4d9842416627a7ffbad))
103
+
3
104
  ## 1.0.0 (2025-09-15)
4
105
 
5
106
  Full Changelog: [v0.3.0...v1.0.0](https://github.com/Metronome-Industries/metronome-node/compare/v0.3.0...v1.0.0)
package/bin/cli CHANGED
@@ -4,26 +4,19 @@ const { spawnSync } = require('child_process');
4
4
 
5
5
  const commands = {
6
6
  migrate: {
7
- description:
8
- 'Run migrations to update your code using @metronome/sdk@0.3.0 to be compatible with @metronome/sdk@1.0.0',
7
+ description: 'Run migrations to update your code using @metronome/sdk@0.3.0 to be compatible with @metronome/sdk@1.0.0',
9
8
  fn: () => {
10
9
  const result = spawnSync(
11
10
  'npx',
12
- [
13
- '-y',
14
- 'https://github.com/stainless-api/migrate-ts/releases/download/0.0.2/stainless-api-migrate-0.0.2-6.tgz',
15
- '--migrationConfig',
16
- require.resolve('./migration-config.json'),
17
- ...process.argv.slice(3),
18
- ],
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)],
19
12
  { stdio: 'inherit' },
20
13
  );
21
14
  if (result.status !== 0) {
22
15
  process.exit(result.status);
23
16
  }
24
- },
25
- },
26
- };
17
+ }
18
+ }
19
+ }
27
20
 
28
21
  function exitWithHelp() {
29
22
  console.log(`Usage: metronome-sdk <subcommand>`);
@@ -33,7 +33,7 @@ export interface ResponseLike {
33
33
  export type ToFileInput = FileLike | ResponseLike | Exclude<BlobLikePart, string> | AsyncIterable<BlobLikePart>;
34
34
  /**
35
35
  * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
36
- * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s
36
+ * @param value the raw content of the file. Can be an {@link Uploadable}, BlobLikePart, or AsyncIterable of BlobLikeParts
37
37
  * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible
38
38
  * @param {Object=} options additional properties
39
39
  * @param {string=} options.type the MIME type of the content
@@ -33,7 +33,7 @@ export interface ResponseLike {
33
33
  export type ToFileInput = FileLike | ResponseLike | Exclude<BlobLikePart, string> | AsyncIterable<BlobLikePart>;
34
34
  /**
35
35
  * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
36
- * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s
36
+ * @param value the raw content of the file. Can be an {@link Uploadable}, BlobLikePart, or AsyncIterable of BlobLikeParts
37
37
  * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible
38
38
  * @param {Object=} options additional properties
39
39
  * @param {string=} options.type the MIME type of the content
@@ -27,7 +27,7 @@ const isResponseLike = (value) => value != null &&
27
27
  typeof value.blob === 'function';
28
28
  /**
29
29
  * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
30
- * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s
30
+ * @param value the raw content of the file. Can be an {@link Uploadable}, BlobLikePart, or AsyncIterable of BlobLikeParts
31
31
  * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible
32
32
  * @param {Object=} options additional properties
33
33
  * @param {string=} options.type the MIME type of the content
@@ -24,7 +24,7 @@ const isResponseLike = (value) => value != null &&
24
24
  typeof value.blob === 'function';
25
25
  /**
26
26
  * Helper for creating a {@link File} to pass to an SDK upload method from a variety of different data formats
27
- * @param value the raw content of the file. Can be an {@link Uploadable}, {@link BlobLikePart}, or {@link AsyncIterable} of {@link BlobLikePart}s
27
+ * @param value the raw content of the file. Can be an {@link Uploadable}, BlobLikePart, or AsyncIterable of BlobLikeParts
28
28
  * @param {string=} name the name of the file. If omitted, toFile will try to determine a file name from bits if possible
29
29
  * @param {Object=} options additional properties
30
30
  * @param {string=} options.type the MIME type of the content
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metronome/sdk",
3
- "version": "1.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "The official TypeScript library for the Metronome API",
5
5
  "author": "Metronome <dev-feedback@metronome.com>",
6
6
  "types": "./index.d.ts",
@@ -387,7 +387,7 @@ export declare namespace Contract {
387
387
  */
388
388
  interface CustomerBillingProviderConfiguration {
389
389
  archived_at: string | null;
390
- billing_provider: 'aws_marketplace' | 'stripe' | 'netsuite' | 'custom' | 'azure_marketplace' | 'quickbooks_online' | 'workday' | 'gcp_marketplace';
390
+ billing_provider: 'aws_marketplace' | 'stripe' | 'netsuite' | 'custom' | 'azure_marketplace' | 'quickbooks_online' | 'workday' | 'gcp_marketplace' | 'metronome';
391
391
  delivery_method: 'direct_to_billing_provider' | 'aws_sqs' | 'tackle' | 'aws_sns';
392
392
  id?: string;
393
393
  /**
@@ -437,7 +437,7 @@ export interface ContractV2 {
437
437
  * Either a **parent** configuration with a list of children or a **child**
438
438
  * configuration with a single parent.
439
439
  */
440
- hierarchy_configuration?: HierarchyConfiguration;
440
+ hierarchy_configuration?: ContractV2.ParentHierarchyConfiguration | ContractV2.ChildHierarchyConfigurationV2;
441
441
  /**
442
442
  * Defaults to LOWEST_MULTIPLIER, which applies the greatest discount to list
443
443
  * prices automatically. EXPLICIT prioritization requires specifying priorities for
@@ -694,7 +694,7 @@ export declare namespace ContractV2 {
694
694
  multiplier?: number;
695
695
  override_specifiers?: Array<Override.OverrideSpecifier>;
696
696
  override_tiers?: Array<Shared.OverrideTier>;
697
- overwrite_rate?: Shared.OverwriteRate;
697
+ overwrite_rate?: Override.OverwriteRate;
698
698
  priority?: number;
699
699
  product?: Override.Product;
700
700
  target?: 'COMMIT_RATE' | 'LIST_RATE';
@@ -715,6 +715,35 @@ export declare namespace ContractV2 {
715
715
  recurring_commit_ids?: Array<string>;
716
716
  recurring_credit_ids?: Array<string>;
717
717
  }
718
+ interface OverwriteRate {
719
+ rate_type: 'FLAT' | 'PERCENTAGE' | 'SUBSCRIPTION' | 'TIERED' | 'CUSTOM';
720
+ credit_type?: Shared.CreditTypeData;
721
+ /**
722
+ * Only set for CUSTOM rate_type. This field is interpreted by custom rate
723
+ * processors.
724
+ */
725
+ custom_rate?: {
726
+ [key: string]: unknown;
727
+ };
728
+ /**
729
+ * Default proration configuration. Only valid for SUBSCRIPTION rate_type. Must be
730
+ * set to true.
731
+ */
732
+ is_prorated?: boolean;
733
+ /**
734
+ * Default price. For FLAT rate_type, this must be >=0. For PERCENTAGE rate_type,
735
+ * this is a decimal fraction, e.g. use 0.1 for 10%; this must be >=0 and <=1.
736
+ */
737
+ price?: number;
738
+ /**
739
+ * Default quantity. For SUBSCRIPTION rate_type, this must be >=0.
740
+ */
741
+ quantity?: number;
742
+ /**
743
+ * Only set for TIERED rate_type.
744
+ */
745
+ tiers?: Array<Shared.Tier>;
746
+ }
718
747
  interface Product {
719
748
  id: string;
720
749
  name: string;
@@ -871,7 +900,7 @@ export declare namespace ContractV2 {
871
900
  * ID of Customer's billing provider configuration.
872
901
  */
873
902
  id: string;
874
- billing_provider: 'aws_marketplace' | 'stripe' | 'netsuite' | 'custom' | 'azure_marketplace' | 'quickbooks_online' | 'workday' | 'gcp_marketplace';
903
+ billing_provider: 'aws_marketplace' | 'stripe' | 'netsuite' | 'custom' | 'azure_marketplace' | 'quickbooks_online' | 'workday' | 'gcp_marketplace' | 'metronome';
875
904
  delivery_method: 'direct_to_billing_provider' | 'aws_sqs' | 'tackle' | 'aws_sns';
876
905
  }
877
906
  /**
@@ -892,6 +921,63 @@ export declare namespace ContractV2 {
892
921
  */
893
922
  credits: boolean;
894
923
  }
924
+ interface ParentHierarchyConfiguration {
925
+ /**
926
+ * List of contracts that belong to this parent.
927
+ */
928
+ children: Array<ParentHierarchyConfiguration.Child>;
929
+ parent_behavior?: ParentHierarchyConfiguration.ParentBehavior;
930
+ }
931
+ namespace ParentHierarchyConfiguration {
932
+ interface Child {
933
+ contract_id: string;
934
+ customer_id: string;
935
+ }
936
+ interface ParentBehavior {
937
+ /**
938
+ * Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
939
+ * generated by the parent in a customer hierarchy
940
+ *
941
+ * **CONCATENATE**: Statements on the invoices of child customers will be appended
942
+ * to the consolidated invoice
943
+ *
944
+ * **NONE**: Do not generate consolidated invoices
945
+ */
946
+ invoice_consolidation_type?: 'CONCATENATE' | 'NONE';
947
+ }
948
+ }
949
+ interface ChildHierarchyConfigurationV2 {
950
+ /**
951
+ * The single parent contract/customer for this child.
952
+ */
953
+ parent: ChildHierarchyConfigurationV2.Parent;
954
+ /**
955
+ * Account hierarchy M3 - Indicates which customer should pay for the child's
956
+ * invoice charges **SELF**: The child pays for its own invoice charges **PARENT**:
957
+ * The parent pays for the child's invoice charges
958
+ */
959
+ payer?: 'SELF' | 'PARENT';
960
+ /**
961
+ * Account hierarchy M3 - Indicates the behavior of the child's invoice statements
962
+ * on the parent's invoices.
963
+ *
964
+ * **CONSOLIDATE**: Child's invoice statements will be added to parent's
965
+ * consolidated invoices
966
+ *
967
+ * **SEPARATE**: Child's invoice statements will appear not appear on parent's
968
+ * consolidated invoices
969
+ */
970
+ usage_statement_behavior?: 'CONSOLIDATE' | 'SEPARATE';
971
+ }
972
+ namespace ChildHierarchyConfigurationV2 {
973
+ /**
974
+ * The single parent contract/customer for this child.
975
+ */
976
+ interface Parent {
977
+ contract_id: string;
978
+ customer_id: string;
979
+ }
980
+ }
895
981
  interface RecurringCommit {
896
982
  id: string;
897
983
  /**
@@ -1149,7 +1235,7 @@ export interface ContractWithoutAmendments {
1149
1235
  usage_statement_schedule: ContractWithoutAmendments.UsageStatementSchedule;
1150
1236
  credits?: Array<Credit>;
1151
1237
  /**
1152
- * This field's availability is dependent on your client's configuration.
1238
+ * This field's availability is dependent on your client's
1153
1239
  */
1154
1240
  discounts?: Array<Discount>;
1155
1241
  ending_before?: string;
@@ -1639,18 +1725,51 @@ export declare namespace HierarchyConfiguration {
1639
1725
  * List of contracts that belong to this parent.
1640
1726
  */
1641
1727
  children: Array<ParentHierarchyConfiguration.Child>;
1728
+ parent_behavior?: ParentHierarchyConfiguration.ParentBehavior;
1642
1729
  }
1643
1730
  namespace ParentHierarchyConfiguration {
1644
1731
  interface Child {
1645
1732
  contract_id: string;
1646
1733
  customer_id: string;
1647
1734
  }
1735
+ interface ParentBehavior {
1736
+ /**
1737
+ * Account hierarchy M3 - Indicates the desired behavior of consolidated invoices
1738
+ * generated by the parent in a customer hierarchy
1739
+ *
1740
+ * **CONCATENATE**: Statements on the invoices of child customers will be appended
1741
+ * to the consolidated invoice
1742
+ *
1743
+ * **NONE**: Do not generate consolidated invoices
1744
+ */
1745
+ invoice_consolidation_type?: 'CONCATENATE' | 'NONE';
1746
+ }
1648
1747
  }
1649
1748
  interface ChildHierarchyConfiguration {
1650
1749
  /**
1651
1750
  * The single parent contract/customer for this child.
1652
1751
  */
1653
1752
  parent: ChildHierarchyConfiguration.Parent;
1753
+ /**
1754
+ * Account hierarchy M3 - Indicates which customer should pay for the child's
1755
+ * invoice charges
1756
+ *
1757
+ * **SELF**: The child pays for its own invoice charges
1758
+ *
1759
+ * **PARENT**: The parent pays for the child's invoice charges
1760
+ */
1761
+ payer?: 'SELF' | 'PARENT';
1762
+ /**
1763
+ * Account hierarchy M3 - Indicates the behavior of the child's invoice statements
1764
+ * on the parent's invoices.
1765
+ *
1766
+ * **CONSOLIDATE**: Child's invoice statements will be added to parent's
1767
+ * consolidated invoices
1768
+ *
1769
+ * **SEPARATE**: Child's invoice statements will appear not appear on parent's
1770
+ * consolidated invoices
1771
+ */
1772
+ usage_statement_behavior?: 'CONSOLIDATE' | 'SEPARATE';
1654
1773
  }
1655
1774
  namespace ChildHierarchyConfiguration {
1656
1775
  /**
@@ -1782,7 +1901,7 @@ export interface PaymentGateConfig {
1782
1901
  * not wish Metronome to calculate tax on your behalf. Leaving this field blank
1783
1902
  * will default to NONE.
1784
1903
  */
1785
- tax_type?: 'NONE' | 'STRIPE' | 'ANROK' | 'PRECALCULATED';
1904
+ tax_type?: 'NONE' | 'STRIPE' | 'ANROK' | 'AVALARA' | 'PRECALCULATED';
1786
1905
  }
1787
1906
  export declare namespace PaymentGateConfig {
1788
1907
  /**
@@ -1838,7 +1957,7 @@ export interface PaymentGateConfigV2 {
1838
1957
  * not wish Metronome to calculate tax on your behalf. Leaving this field blank
1839
1958
  * will default to NONE.
1840
1959
  */
1841
- tax_type?: 'NONE' | 'STRIPE' | 'ANROK' | 'PRECALCULATED';
1960
+ tax_type?: 'NONE' | 'STRIPE' | 'ANROK' | 'AVALARA' | 'PRECALCULATED';
1842
1961
  }
1843
1962
  export declare namespace PaymentGateConfigV2 {
1844
1963
  /**
@@ -2168,6 +2287,10 @@ export interface SpendThresholdConfigurationV2 {
2168
2287
  threshold_amount: number;
2169
2288
  }
2170
2289
  export interface Subscription {
2290
+ /**
2291
+ * Previous, current, and next billing periods for the subscription.
2292
+ */
2293
+ billing_periods: Subscription.BillingPeriods;
2171
2294
  collection_schedule: 'ADVANCE' | 'ARREARS';
2172
2295
  proration: Subscription.Proration;
2173
2296
  /**
@@ -2175,6 +2298,11 @@ export interface Subscription {
2175
2298
  * QUANTITY_ONLY. **QUANTITY_ONLY**: The subscription quantity is specified
2176
2299
  * directly on the subscription. `initial_quantity` must be provided with this
2177
2300
  * option. Compatible with recurring commits/credits that use POOLED allocation.
2301
+ * **SEAT_BASED**: (BETA) Use when you want to pass specific seat identifiers (e.g.
2302
+ * add user_123) to increment and decrement a subscription quantity, rather than
2303
+ * directly providing the quantity. You must use a **SEAT_BASED** subscription to
2304
+ * use a linked recurring credit with an allocation per seat. `seat_config` must be
2305
+ * provided with this option.
2178
2306
  */
2179
2307
  quantity_management_mode: 'SEAT_BASED' | 'QUANTITY_ONLY';
2180
2308
  /**
@@ -2197,6 +2325,28 @@ export interface Subscription {
2197
2325
  name?: string;
2198
2326
  }
2199
2327
  export declare namespace Subscription {
2328
+ /**
2329
+ * Previous, current, and next billing periods for the subscription.
2330
+ */
2331
+ interface BillingPeriods {
2332
+ current?: BillingPeriods.Current;
2333
+ next?: BillingPeriods.Next;
2334
+ previous?: BillingPeriods.Previous;
2335
+ }
2336
+ namespace BillingPeriods {
2337
+ interface Current {
2338
+ ending_before: string;
2339
+ starting_at: string;
2340
+ }
2341
+ interface Next {
2342
+ ending_before: string;
2343
+ starting_at: string;
2344
+ }
2345
+ interface Previous {
2346
+ ending_before: string;
2347
+ starting_at: string;
2348
+ }
2349
+ }
2200
2350
  interface Proration {
2201
2351
  invoice_behavior: 'BILL_IMMEDIATELY' | 'BILL_ON_NEXT_COLLECTION_DATE';
2202
2352
  is_prorated: boolean;