@flexprice/sdk 2.1.17 → 2.1.19

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 (416) hide show
  1. package/docs/sdk/models/attributed-to-customer-result.md +17 -0
  2. package/docs/sdk/models/bucket-summary.md +26 -0
  3. package/docs/sdk/models/bucket.md +16 -0
  4. package/docs/sdk/models/cancel-subscription-request.md +7 -7
  5. package/docs/sdk/models/commitment-bucket-request.md +22 -0
  6. package/docs/sdk/models/coupon-filter.md +1 -0
  7. package/docs/sdk/models/coupon-response.md +1 -0
  8. package/docs/sdk/models/coupon.md +1 -0
  9. package/docs/sdk/models/create-coupon-request.md +1 -0
  10. package/docs/sdk/models/create-subscription-line-item-request.md +1 -0
  11. package/docs/sdk/models/create-subscription-request.md +3 -2
  12. package/docs/sdk/models/create-tax-association-request.md +12 -10
  13. package/docs/sdk/models/create-user-request.md +1 -0
  14. package/docs/sdk/models/create-user-response.md +1 -0
  15. package/docs/sdk/models/debug-tracker-status.md +2 -2
  16. package/docs/sdk/models/debug-tracker.md +1 -0
  17. package/docs/sdk/models/delete-service-account-request.md +17 -0
  18. package/docs/sdk/models/delink-integration-mapping-request.md +21 -0
  19. package/docs/sdk/models/execute-subscription-modify-request-request.md +1 -1
  20. package/docs/sdk/models/execute-subscription-modify-request.md +3 -1
  21. package/docs/sdk/models/failure-point-type.md +1 -1
  22. package/docs/sdk/models/get-coupon-association-request.md +17 -0
  23. package/docs/sdk/models/get-coupon-by-code-request.md +17 -0
  24. package/docs/sdk/models/get-usage-analytics-request.md +13 -12
  25. package/docs/sdk/models/inheritance-action.md +15 -0
  26. package/docs/sdk/models/line-item-commitment-config.md +10 -9
  27. package/docs/sdk/models/list-coupon-associations-request.md +19 -0
  28. package/docs/sdk/models/list-coupon-associations-response.md +16 -0
  29. package/docs/sdk/models/meter-usage-attribution.md +17 -0
  30. package/docs/sdk/models/preview-subscription-modify-request.md +1 -1
  31. package/docs/sdk/models/price-filter.md +1 -0
  32. package/docs/sdk/models/sub-modify-coupon-action.md +15 -0
  33. package/docs/sdk/models/sub-modify-coupon-params.md +23 -0
  34. package/docs/sdk/models/sub-modify-inheritance-request.md +5 -3
  35. package/docs/sdk/models/sub-modify-tax-action.md +15 -0
  36. package/docs/sdk/models/sub-modify-tax-params.md +20 -0
  37. package/docs/sdk/models/subscription-coupon-input.md +20 -0
  38. package/docs/sdk/models/subscription-line-item-response.md +1 -0
  39. package/docs/sdk/models/subscription-modify-type.md +2 -2
  40. package/docs/sdk/models/subscription-phase-create-request.md +4 -3
  41. package/docs/sdk/models/subscription-subscription-line-item.md +1 -0
  42. package/docs/sdk/models/tax-association-response.md +2 -0
  43. package/docs/sdk/models/time-of-day-bucket.md +22 -0
  44. package/docs/sdk/models/update-service-account-request-request.md +21 -0
  45. package/docs/sdk/models/update-service-account-request.md +17 -0
  46. package/docs/sdk/models/update-service-account-response.md +21 -0
  47. package/docs/sdk/models/update-subscription-line-item-request.md +17 -16
  48. package/docs/sdk/models/update-user-request.md +2 -1
  49. package/docs/sdk/models/update-user-response.md +1 -0
  50. package/docs/sdk/models/usage-analytic-item.md +34 -33
  51. package/docs/sdk/models/usage-analytic-point.md +11 -9
  52. package/docs/sdk/models/user-response.md +1 -0
  53. package/docs/sdk/models/window-size.md +2 -2
  54. package/docs/sdks/couponassociations/README.md +150 -0
  55. package/docs/sdks/coupons/README.md +72 -0
  56. package/docs/sdks/integrations/README.md +80 -0
  57. package/docs/sdks/subscriptions/README.md +4 -4
  58. package/docs/sdks/users/README.md +150 -1
  59. package/esm/funcs/coupon-associations-get-coupon-association.d.ts +17 -0
  60. package/esm/funcs/coupon-associations-get-coupon-association.d.ts.map +1 -0
  61. package/esm/funcs/coupon-associations-get-coupon-association.js +91 -0
  62. package/esm/funcs/coupon-associations-get-coupon-association.js.map +1 -0
  63. package/esm/funcs/coupon-associations-list-coupon-associations.d.ts +17 -0
  64. package/esm/funcs/coupon-associations-list-coupon-associations.d.ts.map +1 -0
  65. package/esm/funcs/coupon-associations-list-coupon-associations.js +91 -0
  66. package/esm/funcs/coupon-associations-list-coupon-associations.js.map +1 -0
  67. package/esm/funcs/coupons-get-coupon-by-code.d.ts +17 -0
  68. package/esm/funcs/coupons-get-coupon-by-code.d.ts.map +1 -0
  69. package/esm/funcs/coupons-get-coupon-by-code.js +91 -0
  70. package/esm/funcs/coupons-get-coupon-by-code.js.map +1 -0
  71. package/esm/funcs/integrations-delink-integration-mapping.d.ts +17 -0
  72. package/esm/funcs/integrations-delink-integration-mapping.d.ts.map +1 -0
  73. package/esm/funcs/integrations-delink-integration-mapping.js +83 -0
  74. package/esm/funcs/integrations-delink-integration-mapping.js.map +1 -0
  75. package/esm/funcs/subscriptions-execute-subscription-modify.d.ts +1 -1
  76. package/esm/funcs/subscriptions-execute-subscription-modify.js +1 -1
  77. package/esm/funcs/subscriptions-preview-subscription-modify.d.ts +1 -1
  78. package/esm/funcs/subscriptions-preview-subscription-modify.js +1 -1
  79. package/esm/funcs/users-delete-service-account.d.ts +17 -0
  80. package/esm/funcs/users-delete-service-account.d.ts.map +1 -0
  81. package/esm/funcs/users-delete-service-account.js +91 -0
  82. package/esm/funcs/users-delete-service-account.js.map +1 -0
  83. package/esm/funcs/users-update-service-account.d.ts +17 -0
  84. package/esm/funcs/users-update-service-account.d.ts.map +1 -0
  85. package/esm/funcs/users-update-service-account.js +93 -0
  86. package/esm/funcs/users-update-service-account.js.map +1 -0
  87. package/esm/funcs/users-update-user.d.ts +1 -1
  88. package/esm/funcs/users-update-user.js +1 -1
  89. package/esm/hooks/types.d.ts +1 -0
  90. package/esm/hooks/types.d.ts.map +1 -1
  91. package/esm/lib/config.d.ts +3 -3
  92. package/esm/lib/config.js +3 -3
  93. package/esm/lib/encodings.js +1 -1
  94. package/esm/lib/encodings.js.map +1 -1
  95. package/esm/lib/matchers.js +1 -1
  96. package/esm/lib/matchers.js.map +1 -1
  97. package/esm/lib/primitives.d.ts +1 -0
  98. package/esm/lib/primitives.d.ts.map +1 -1
  99. package/esm/lib/primitives.js +17 -0
  100. package/esm/lib/primitives.js.map +1 -1
  101. package/esm/lib/sdks.d.ts.map +1 -1
  102. package/esm/lib/sdks.js +50 -16
  103. package/esm/lib/sdks.js.map +1 -1
  104. package/esm/sdk/coupon-associations.d.ts +19 -0
  105. package/esm/sdk/coupon-associations.d.ts.map +1 -0
  106. package/esm/sdk/coupon-associations.js +28 -0
  107. package/esm/sdk/coupon-associations.js.map +1 -0
  108. package/esm/sdk/coupons.d.ts +7 -0
  109. package/esm/sdk/coupons.d.ts.map +1 -1
  110. package/esm/sdk/coupons.js +10 -0
  111. package/esm/sdk/coupons.js.map +1 -1
  112. package/esm/sdk/integrations.d.ts +7 -0
  113. package/esm/sdk/integrations.d.ts.map +1 -1
  114. package/esm/sdk/integrations.js +10 -0
  115. package/esm/sdk/integrations.js.map +1 -1
  116. package/esm/sdk/models/attributed-to-customer-result.d.ts +15 -0
  117. package/esm/sdk/models/attributed-to-customer-result.d.ts.map +1 -0
  118. package/esm/sdk/models/attributed-to-customer-result.js +24 -0
  119. package/esm/sdk/models/attributed-to-customer-result.js.map +1 -0
  120. package/esm/sdk/models/bucket-summary.d.ts +31 -0
  121. package/esm/sdk/models/bucket-summary.d.ts.map +1 -0
  122. package/esm/sdk/models/bucket-summary.js +40 -0
  123. package/esm/sdk/models/bucket-summary.js.map +1 -0
  124. package/esm/sdk/models/bucket.d.ts +19 -0
  125. package/esm/sdk/models/bucket.d.ts.map +1 -0
  126. package/esm/sdk/models/bucket.js +24 -0
  127. package/esm/sdk/models/bucket.js.map +1 -0
  128. package/esm/sdk/models/cancel-subscription-request.d.ts +8 -0
  129. package/esm/sdk/models/cancel-subscription-request.d.ts.map +1 -1
  130. package/esm/sdk/models/cancel-subscription-request.js.map +1 -1
  131. package/esm/sdk/models/commitment-bucket-request.d.ts +29 -0
  132. package/esm/sdk/models/commitment-bucket-request.d.ts.map +1 -0
  133. package/esm/sdk/models/commitment-bucket-request.js +30 -0
  134. package/esm/sdk/models/commitment-bucket-request.js.map +1 -0
  135. package/esm/sdk/models/coupon-filter.d.ts +2 -0
  136. package/esm/sdk/models/coupon-filter.d.ts.map +1 -1
  137. package/esm/sdk/models/coupon-filter.js +2 -0
  138. package/esm/sdk/models/coupon-filter.js.map +1 -1
  139. package/esm/sdk/models/coupon-response.d.ts +1 -0
  140. package/esm/sdk/models/coupon-response.d.ts.map +1 -1
  141. package/esm/sdk/models/coupon-response.js +2 -0
  142. package/esm/sdk/models/coupon-response.js.map +1 -1
  143. package/esm/sdk/models/coupon.d.ts +1 -0
  144. package/esm/sdk/models/coupon.d.ts.map +1 -1
  145. package/esm/sdk/models/coupon.js +2 -0
  146. package/esm/sdk/models/coupon.js.map +1 -1
  147. package/esm/sdk/models/create-coupon-request.d.ts +2 -0
  148. package/esm/sdk/models/create-coupon-request.d.ts.map +1 -1
  149. package/esm/sdk/models/create-coupon-request.js +2 -0
  150. package/esm/sdk/models/create-coupon-request.js.map +1 -1
  151. package/esm/sdk/models/create-subscription-line-item-request.d.ts +3 -0
  152. package/esm/sdk/models/create-subscription-line-item-request.d.ts.map +1 -1
  153. package/esm/sdk/models/create-subscription-line-item-request.js +3 -0
  154. package/esm/sdk/models/create-subscription-line-item-request.js.map +1 -1
  155. package/esm/sdk/models/create-subscription-request.d.ts +15 -0
  156. package/esm/sdk/models/create-subscription-request.d.ts.map +1 -1
  157. package/esm/sdk/models/create-subscription-request.js +3 -0
  158. package/esm/sdk/models/create-subscription-request.js.map +1 -1
  159. package/esm/sdk/models/create-tax-association-request.d.ts +10 -0
  160. package/esm/sdk/models/create-tax-association-request.d.ts.map +1 -1
  161. package/esm/sdk/models/create-tax-association-request.js +4 -0
  162. package/esm/sdk/models/create-tax-association-request.js.map +1 -1
  163. package/esm/sdk/models/create-user-request.d.ts +5 -0
  164. package/esm/sdk/models/create-user-request.d.ts.map +1 -1
  165. package/esm/sdk/models/create-user-request.js +1 -0
  166. package/esm/sdk/models/create-user-request.js.map +1 -1
  167. package/esm/sdk/models/create-user-response.d.ts +1 -0
  168. package/esm/sdk/models/create-user-response.d.ts.map +1 -1
  169. package/esm/sdk/models/create-user-response.js +1 -0
  170. package/esm/sdk/models/create-user-response.js.map +1 -1
  171. package/esm/sdk/models/debug-tracker-status.d.ts +2 -0
  172. package/esm/sdk/models/debug-tracker-status.d.ts.map +1 -1
  173. package/esm/sdk/models/debug-tracker-status.js +2 -0
  174. package/esm/sdk/models/debug-tracker-status.js.map +1 -1
  175. package/esm/sdk/models/debug-tracker.d.ts +2 -0
  176. package/esm/sdk/models/debug-tracker.d.ts.map +1 -1
  177. package/esm/sdk/models/debug-tracker.js +3 -0
  178. package/esm/sdk/models/debug-tracker.js.map +1 -1
  179. package/esm/sdk/models/delete-service-account-op.d.ts +15 -0
  180. package/esm/sdk/models/delete-service-account-op.d.ts.map +1 -0
  181. package/esm/sdk/models/delete-service-account-op.js +12 -0
  182. package/esm/sdk/models/delete-service-account-op.js.map +1 -0
  183. package/esm/sdk/models/delink-integration-mapping-request.d.ts +17 -0
  184. package/esm/sdk/models/delink-integration-mapping-request.d.ts.map +1 -0
  185. package/esm/sdk/models/delink-integration-mapping-request.js +22 -0
  186. package/esm/sdk/models/delink-integration-mapping-request.js.map +1 -0
  187. package/esm/sdk/models/execute-subscription-modify-request.d.ts +6 -0
  188. package/esm/sdk/models/execute-subscription-modify-request.d.ts.map +1 -1
  189. package/esm/sdk/models/execute-subscription-modify-request.js +6 -0
  190. package/esm/sdk/models/execute-subscription-modify-request.js.map +1 -1
  191. package/esm/sdk/models/failure-point-type.d.ts +1 -0
  192. package/esm/sdk/models/failure-point-type.d.ts.map +1 -1
  193. package/esm/sdk/models/failure-point-type.js +1 -0
  194. package/esm/sdk/models/failure-point-type.js.map +1 -1
  195. package/esm/sdk/models/get-coupon-association-op.d.ts +15 -0
  196. package/esm/sdk/models/get-coupon-association-op.d.ts.map +1 -0
  197. package/esm/sdk/models/get-coupon-association-op.js +12 -0
  198. package/esm/sdk/models/get-coupon-association-op.js.map +1 -0
  199. package/esm/sdk/models/get-coupon-by-code-op.d.ts +15 -0
  200. package/esm/sdk/models/get-coupon-by-code-op.d.ts.map +1 -0
  201. package/esm/sdk/models/get-coupon-by-code-op.js +12 -0
  202. package/esm/sdk/models/get-coupon-by-code-op.js.map +1 -0
  203. package/esm/sdk/models/get-usage-analytics-request.d.ts +10 -0
  204. package/esm/sdk/models/get-usage-analytics-request.d.ts.map +1 -1
  205. package/esm/sdk/models/get-usage-analytics-request.js +2 -0
  206. package/esm/sdk/models/get-usage-analytics-request.js.map +1 -1
  207. package/esm/sdk/models/index.d.ts +21 -0
  208. package/esm/sdk/models/index.d.ts.map +1 -1
  209. package/esm/sdk/models/index.js +21 -0
  210. package/esm/sdk/models/index.js.map +1 -1
  211. package/esm/sdk/models/inheritance-action.d.ts +10 -0
  212. package/esm/sdk/models/inheritance-action.d.ts.map +1 -0
  213. package/esm/sdk/models/inheritance-action.js +11 -0
  214. package/esm/sdk/models/inheritance-action.js.map +1 -0
  215. package/esm/sdk/models/line-item-commitment-config.d.ts +11 -0
  216. package/esm/sdk/models/line-item-commitment-config.d.ts.map +1 -1
  217. package/esm/sdk/models/line-item-commitment-config.js +3 -0
  218. package/esm/sdk/models/line-item-commitment-config.js.map +1 -1
  219. package/esm/sdk/models/list-coupon-associations-op.d.ts +35 -0
  220. package/esm/sdk/models/list-coupon-associations-op.d.ts.map +1 -0
  221. package/esm/sdk/models/list-coupon-associations-op.js +23 -0
  222. package/esm/sdk/models/list-coupon-associations-op.js.map +1 -0
  223. package/esm/sdk/models/list-coupon-associations-response.d.ts +13 -0
  224. package/esm/sdk/models/list-coupon-associations-response.d.ts.map +1 -0
  225. package/esm/sdk/models/list-coupon-associations-response.js +17 -0
  226. package/esm/sdk/models/list-coupon-associations-response.js.map +1 -0
  227. package/esm/sdk/models/meter-usage-attribution.d.ts +12 -0
  228. package/esm/sdk/models/meter-usage-attribution.d.ts.map +1 -0
  229. package/esm/sdk/models/meter-usage-attribution.js +23 -0
  230. package/esm/sdk/models/meter-usage-attribution.js.map +1 -0
  231. package/esm/sdk/models/price-filter.d.ts +3 -0
  232. package/esm/sdk/models/price-filter.d.ts.map +1 -1
  233. package/esm/sdk/models/price-filter.js +3 -0
  234. package/esm/sdk/models/price-filter.js.map +1 -1
  235. package/esm/sdk/models/sub-modify-coupon-action.d.ts +10 -0
  236. package/esm/sdk/models/sub-modify-coupon-action.d.ts.map +1 -0
  237. package/esm/sdk/models/sub-modify-coupon-action.js +11 -0
  238. package/esm/sdk/models/sub-modify-coupon-action.js.map +1 -0
  239. package/esm/sdk/models/sub-modify-coupon-params.d.ts +43 -0
  240. package/esm/sdk/models/sub-modify-coupon-params.d.ts.map +1 -0
  241. package/esm/sdk/models/sub-modify-coupon-params.js +29 -0
  242. package/esm/sdk/models/sub-modify-coupon-params.js.map +1 -0
  243. package/esm/sdk/models/sub-modify-inheritance-request.d.ts +11 -0
  244. package/esm/sdk/models/sub-modify-inheritance-request.d.ts.map +1 -1
  245. package/esm/sdk/models/sub-modify-inheritance-request.js +4 -0
  246. package/esm/sdk/models/sub-modify-inheritance-request.js.map +1 -1
  247. package/esm/sdk/models/sub-modify-tax-action.d.ts +10 -0
  248. package/esm/sdk/models/sub-modify-tax-action.d.ts.map +1 -0
  249. package/esm/sdk/models/sub-modify-tax-action.js +11 -0
  250. package/esm/sdk/models/sub-modify-tax-action.js.map +1 -0
  251. package/esm/sdk/models/sub-modify-tax-params.d.ts +28 -0
  252. package/esm/sdk/models/sub-modify-tax-params.d.ts.map +1 -0
  253. package/esm/sdk/models/sub-modify-tax-params.js +23 -0
  254. package/esm/sdk/models/sub-modify-tax-params.js.map +1 -0
  255. package/esm/sdk/models/subscription-coupon-input.d.ts +30 -0
  256. package/esm/sdk/models/subscription-coupon-input.d.ts.map +1 -0
  257. package/esm/sdk/models/subscription-coupon-input.js +23 -0
  258. package/esm/sdk/models/subscription-coupon-input.js.map +1 -0
  259. package/esm/sdk/models/subscription-line-item-response.d.ts +2 -0
  260. package/esm/sdk/models/subscription-line-item-response.d.ts.map +1 -1
  261. package/esm/sdk/models/subscription-line-item-response.js +3 -0
  262. package/esm/sdk/models/subscription-line-item-response.js.map +1 -1
  263. package/esm/sdk/models/subscription-modify-type.d.ts +2 -0
  264. package/esm/sdk/models/subscription-modify-type.d.ts.map +1 -1
  265. package/esm/sdk/models/subscription-modify-type.js +2 -0
  266. package/esm/sdk/models/subscription-modify-type.js.map +1 -1
  267. package/esm/sdk/models/subscription-phase-create-request.d.ts +8 -2
  268. package/esm/sdk/models/subscription-phase-create-request.d.ts.map +1 -1
  269. package/esm/sdk/models/subscription-phase-create-request.js +3 -0
  270. package/esm/sdk/models/subscription-phase-create-request.js.map +1 -1
  271. package/esm/sdk/models/subscription-subscription-line-item.d.ts +2 -0
  272. package/esm/sdk/models/subscription-subscription-line-item.d.ts.map +1 -1
  273. package/esm/sdk/models/subscription-subscription-line-item.js +3 -0
  274. package/esm/sdk/models/subscription-subscription-line-item.js.map +1 -1
  275. package/esm/sdk/models/tax-association-response.d.ts +8 -0
  276. package/esm/sdk/models/tax-association-response.d.ts.map +1 -1
  277. package/esm/sdk/models/tax-association-response.js +4 -0
  278. package/esm/sdk/models/tax-association-response.js.map +1 -1
  279. package/esm/sdk/models/time-of-day-bucket.d.ts +31 -0
  280. package/esm/sdk/models/time-of-day-bucket.d.ts.map +1 -0
  281. package/esm/sdk/models/time-of-day-bucket.js +32 -0
  282. package/esm/sdk/models/time-of-day-bucket.js.map +1 -0
  283. package/esm/sdk/models/update-service-account-op.d.ts +21 -0
  284. package/esm/sdk/models/update-service-account-op.d.ts.map +1 -0
  285. package/esm/sdk/models/update-service-account-op.js +14 -0
  286. package/esm/sdk/models/update-service-account-op.js.map +1 -0
  287. package/esm/sdk/models/update-service-account-request.d.ts +12 -0
  288. package/esm/sdk/models/update-service-account-request.d.ts.map +1 -0
  289. package/esm/sdk/models/update-service-account-request.js +12 -0
  290. package/esm/sdk/models/update-service-account-request.js.map +1 -0
  291. package/esm/sdk/models/update-service-account-response.d.ts +23 -0
  292. package/esm/sdk/models/update-service-account-response.d.ts.map +1 -0
  293. package/esm/sdk/models/update-service-account-response.js +22 -0
  294. package/esm/sdk/models/update-service-account-response.js.map +1 -0
  295. package/esm/sdk/models/update-subscription-line-item-request.d.ts +6 -0
  296. package/esm/sdk/models/update-subscription-line-item-request.d.ts.map +1 -1
  297. package/esm/sdk/models/update-subscription-line-item-request.js +3 -0
  298. package/esm/sdk/models/update-subscription-line-item-request.js.map +1 -1
  299. package/esm/sdk/models/update-user-request.d.ts +2 -0
  300. package/esm/sdk/models/update-user-request.d.ts.map +1 -1
  301. package/esm/sdk/models/update-user-request.js +1 -0
  302. package/esm/sdk/models/update-user-request.js.map +1 -1
  303. package/esm/sdk/models/update-user-response.d.ts +1 -0
  304. package/esm/sdk/models/update-user-response.d.ts.map +1 -1
  305. package/esm/sdk/models/update-user-response.js +1 -0
  306. package/esm/sdk/models/update-user-response.js.map +1 -1
  307. package/esm/sdk/models/usage-analytic-item.d.ts +8 -0
  308. package/esm/sdk/models/usage-analytic-item.d.ts.map +1 -1
  309. package/esm/sdk/models/usage-analytic-item.js +3 -0
  310. package/esm/sdk/models/usage-analytic-item.js.map +1 -1
  311. package/esm/sdk/models/usage-analytic-point.d.ts +8 -0
  312. package/esm/sdk/models/usage-analytic-point.d.ts.map +1 -1
  313. package/esm/sdk/models/usage-analytic-point.js +4 -0
  314. package/esm/sdk/models/usage-analytic-point.js.map +1 -1
  315. package/esm/sdk/models/user-response.d.ts +1 -0
  316. package/esm/sdk/models/user-response.d.ts.map +1 -1
  317. package/esm/sdk/models/user-response.js +1 -0
  318. package/esm/sdk/models/user-response.js.map +1 -1
  319. package/esm/sdk/models/window-size.d.ts +1 -1
  320. package/esm/sdk/models/window-size.js +1 -1
  321. package/esm/sdk/models/window-size.js.map +1 -1
  322. package/esm/sdk/sdk.d.ts +3 -0
  323. package/esm/sdk/sdk.d.ts.map +1 -1
  324. package/esm/sdk/sdk.js +5 -0
  325. package/esm/sdk/sdk.js.map +1 -1
  326. package/esm/sdk/subscriptions.d.ts +2 -2
  327. package/esm/sdk/subscriptions.js +2 -2
  328. package/esm/sdk/users.d.ts +15 -1
  329. package/esm/sdk/users.d.ts.map +1 -1
  330. package/esm/sdk/users.js +21 -1
  331. package/esm/sdk/users.js.map +1 -1
  332. package/jsr.json +1 -1
  333. package/package.json +1 -1
  334. package/src/funcs/coupon-associations-get-coupon-association.ts +182 -0
  335. package/src/funcs/coupon-associations-list-coupon-associations.ts +188 -0
  336. package/src/funcs/coupons-get-coupon-by-code.ts +181 -0
  337. package/src/funcs/integrations-delink-integration-mapping.ts +173 -0
  338. package/src/funcs/subscriptions-execute-subscription-modify.ts +1 -1
  339. package/src/funcs/subscriptions-preview-subscription-modify.ts +1 -1
  340. package/src/funcs/users-delete-service-account.ts +182 -0
  341. package/src/funcs/users-update-service-account.ts +187 -0
  342. package/src/funcs/users-update-user.ts +1 -1
  343. package/src/hooks/types.ts +1 -0
  344. package/src/lib/config.ts +3 -3
  345. package/src/lib/encodings.ts +1 -1
  346. package/src/lib/matchers.ts +1 -1
  347. package/src/lib/primitives.ts +16 -0
  348. package/src/lib/sdks.ts +54 -17
  349. package/src/sdk/coupon-associations.ts +45 -0
  350. package/src/sdk/coupons.ts +18 -0
  351. package/src/sdk/integrations.ts +18 -0
  352. package/src/sdk/models/attributed-to-customer-result.ts +55 -0
  353. package/src/sdk/models/bucket-summary.ts +80 -0
  354. package/src/sdk/models/bucket.ts +45 -0
  355. package/src/sdk/models/cancel-subscription-request.ts +8 -0
  356. package/src/sdk/models/commitment-bucket-request.ts +72 -0
  357. package/src/sdk/models/coupon-filter.ts +4 -0
  358. package/src/sdk/models/coupon-response.ts +3 -0
  359. package/src/sdk/models/coupon.ts +3 -0
  360. package/src/sdk/models/create-coupon-request.ts +4 -0
  361. package/src/sdk/models/create-subscription-line-item-request.ts +11 -0
  362. package/src/sdk/models/create-subscription-request.ts +23 -0
  363. package/src/sdk/models/create-tax-association-request.ts +14 -0
  364. package/src/sdk/models/create-user-request.ts +6 -0
  365. package/src/sdk/models/create-user-response.ts +2 -0
  366. package/src/sdk/models/debug-tracker-status.ts +2 -0
  367. package/src/sdk/models/debug-tracker.ts +9 -0
  368. package/src/sdk/models/delete-service-account-op.ts +35 -0
  369. package/src/sdk/models/delink-integration-mapping-request.ts +52 -0
  370. package/src/sdk/models/execute-subscription-modify-request.ts +18 -0
  371. package/src/sdk/models/failure-point-type.ts +1 -0
  372. package/src/sdk/models/get-coupon-association-op.ts +35 -0
  373. package/src/sdk/models/get-coupon-by-code-op.ts +33 -0
  374. package/src/sdk/models/get-usage-analytics-request.ts +12 -0
  375. package/src/sdk/models/index.ts +21 -0
  376. package/src/sdk/models/inheritance-action.ts +17 -0
  377. package/src/sdk/models/line-item-commitment-config.ts +19 -0
  378. package/src/sdk/models/list-coupon-associations-op.ts +69 -0
  379. package/src/sdk/models/list-coupon-associations-response.ts +41 -0
  380. package/src/sdk/models/meter-usage-attribution.ts +45 -0
  381. package/src/sdk/models/price-filter.ts +8 -0
  382. package/src/sdk/models/sub-modify-coupon-action.ts +17 -0
  383. package/src/sdk/models/sub-modify-coupon-params.ts +83 -0
  384. package/src/sdk/models/sub-modify-inheritance-request.ts +17 -0
  385. package/src/sdk/models/sub-modify-tax-action.ts +17 -0
  386. package/src/sdk/models/sub-modify-tax-params.ts +64 -0
  387. package/src/sdk/models/subscription-coupon-input.ts +62 -0
  388. package/src/sdk/models/subscription-line-item-response.ts +9 -0
  389. package/src/sdk/models/subscription-modify-type.ts +2 -0
  390. package/src/sdk/models/subscription-phase-create-request.ts +16 -2
  391. package/src/sdk/models/subscription-subscription-line-item.ts +9 -0
  392. package/src/sdk/models/tax-association-response.ts +12 -0
  393. package/src/sdk/models/time-of-day-bucket.ts +74 -0
  394. package/src/sdk/models/update-service-account-op.ts +46 -0
  395. package/src/sdk/models/update-service-account-request.ts +32 -0
  396. package/src/sdk/models/update-service-account-response.ts +51 -0
  397. package/src/sdk/models/update-subscription-line-item-request.ts +14 -0
  398. package/src/sdk/models/update-user-request.ts +3 -0
  399. package/src/sdk/models/update-user-response.ts +2 -0
  400. package/src/sdk/models/usage-analytic-item.ts +13 -0
  401. package/src/sdk/models/usage-analytic-point.ts +12 -0
  402. package/src/sdk/models/user-response.ts +2 -0
  403. package/src/sdk/models/window-size.ts +1 -1
  404. package/src/sdk/sdk.ts +6 -0
  405. package/src/sdk/subscriptions.ts +2 -2
  406. package/src/sdk/users.ts +39 -1
  407. package/esm/lib/dlv.d.ts +0 -14
  408. package/esm/lib/dlv.d.ts.map +0 -1
  409. package/esm/lib/dlv.js +0 -46
  410. package/esm/lib/dlv.js.map +0 -1
  411. package/esm/lib/is-plain-object.d.ts +0 -2
  412. package/esm/lib/is-plain-object.d.ts.map +0 -1
  413. package/esm/lib/is-plain-object.js +0 -38
  414. package/esm/lib/is-plain-object.js.map +0 -1
  415. package/src/lib/dlv.ts +0 -53
  416. package/src/lib/is-plain-object.ts +0 -43
@@ -0,0 +1,182 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { FlexpriceCore } from "../core.js";
7
+ import { encodeSimple } from "../lib/encodings.js";
8
+ import { matchStatusCode } from "../lib/http.js";
9
+ import * as M from "../lib/matchers.js";
10
+ import { compactMap } from "../lib/primitives.js";
11
+ import { safeParse } from "../lib/schemas.js";
12
+ import { RequestOptions } from "../lib/sdks.js";
13
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
+ import { pathToFunc } from "../lib/url.js";
15
+ import { FlexPriceError } from "../sdk/models/flex-price-error.js";
16
+ import {
17
+ ConnectionError,
18
+ InvalidRequestError,
19
+ RequestAbortedError,
20
+ RequestTimeoutError,
21
+ UnexpectedClientError,
22
+ } from "../sdk/models/http-client-errors.js";
23
+ import * as models from "../sdk/models/index.js";
24
+ import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
25
+ import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Delete service account
31
+ *
32
+ * @remarks
33
+ * Soft-delete (archive) a service account by ID.
34
+ */
35
+ export function usersDeleteServiceAccount(
36
+ client: FlexpriceCore,
37
+ id: string,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ void,
42
+ | models.ErrorsErrorResponse
43
+ | FlexPriceError
44
+ | ResponseValidationError
45
+ | ConnectionError
46
+ | RequestAbortedError
47
+ | RequestTimeoutError
48
+ | InvalidRequestError
49
+ | UnexpectedClientError
50
+ | SDKValidationError
51
+ >
52
+ > {
53
+ return new APIPromise($do(
54
+ client,
55
+ id,
56
+ options,
57
+ ));
58
+ }
59
+
60
+ async function $do(
61
+ client: FlexpriceCore,
62
+ id: string,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ void,
68
+ | models.ErrorsErrorResponse
69
+ | FlexPriceError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const input: models.DeleteServiceAccountRequest = {
82
+ id: id,
83
+ };
84
+
85
+ const parsed = safeParse(
86
+ input,
87
+ (value) =>
88
+ z.parse(models.DeleteServiceAccountRequest$outboundSchema, value),
89
+ "Input validation failed",
90
+ );
91
+ if (!parsed.ok) {
92
+ return [parsed, { status: "invalid" }];
93
+ }
94
+ const payload = parsed.value;
95
+ const body = null;
96
+
97
+ const pathParams = {
98
+ id: encodeSimple("id", payload.id, {
99
+ explode: false,
100
+ charEncoding: "percent",
101
+ }),
102
+ };
103
+ const path = pathToFunc("/users/{id}")(pathParams);
104
+
105
+ const headers = new Headers(compactMap({
106
+ Accept: "application/json",
107
+ }));
108
+
109
+ const secConfig = await extractSecurity(client._options.apiKeyAuth);
110
+ const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
111
+ const requestSecurity = resolveGlobalSecurity(securityInput);
112
+
113
+ const context = {
114
+ options: client._options,
115
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
116
+ operationID: "deleteServiceAccount",
117
+ oAuth2Scopes: null,
118
+
119
+ resolvedSecurity: requestSecurity,
120
+
121
+ securitySource: client._options.apiKeyAuth,
122
+ retryConfig: options?.retries
123
+ || client._options.retryConfig
124
+ || { strategy: "none" },
125
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
126
+ };
127
+
128
+ const requestRes = client._createRequest(context, {
129
+ security: requestSecurity,
130
+ method: "DELETE",
131
+ baseURL: options?.serverURL,
132
+ path: path,
133
+ headers: headers,
134
+ body: body,
135
+ userAgent: client._options.userAgent,
136
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
137
+ }, options);
138
+ if (!requestRes.ok) {
139
+ return [requestRes, { status: "invalid" }];
140
+ }
141
+ const req = requestRes.value;
142
+
143
+ const doResult = await client._do(req, {
144
+ context,
145
+ isErrorStatusCode: (statusCode: number) =>
146
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
147
+ retryConfig: context.retryConfig,
148
+ retryCodes: context.retryCodes,
149
+ });
150
+ if (!doResult.ok) {
151
+ return [doResult, { status: "request-error", request: req }];
152
+ }
153
+ const response = doResult.value;
154
+
155
+ const responseFields = {
156
+ HttpMeta: { Response: response, Request: req },
157
+ };
158
+
159
+ const [result] = await M.match<
160
+ void,
161
+ | models.ErrorsErrorResponse
162
+ | FlexPriceError
163
+ | ResponseValidationError
164
+ | ConnectionError
165
+ | RequestAbortedError
166
+ | RequestTimeoutError
167
+ | InvalidRequestError
168
+ | UnexpectedClientError
169
+ | SDKValidationError
170
+ >(
171
+ M.nil(204, z.void()),
172
+ M.jsonErr([400, 404], models.ErrorsErrorResponse$inboundSchema),
173
+ M.jsonErr(500, models.ErrorsErrorResponse$inboundSchema),
174
+ M.fail("4XX"),
175
+ M.fail("5XX"),
176
+ )(response, req, { extraFields: responseFields });
177
+ if (!result.ok) {
178
+ return [result, { status: "complete", request: req, response }];
179
+ }
180
+
181
+ return [result, { status: "complete", request: req, response }];
182
+ }
@@ -0,0 +1,187 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { FlexpriceCore } from "../core.js";
7
+ import { encodeJSON, encodeSimple } from "../lib/encodings.js";
8
+ import { matchStatusCode } from "../lib/http.js";
9
+ import * as M from "../lib/matchers.js";
10
+ import { compactMap } from "../lib/primitives.js";
11
+ import { safeParse } from "../lib/schemas.js";
12
+ import { RequestOptions } from "../lib/sdks.js";
13
+ import { extractSecurity, resolveGlobalSecurity } from "../lib/security.js";
14
+ import { pathToFunc } from "../lib/url.js";
15
+ import { FlexPriceError } from "../sdk/models/flex-price-error.js";
16
+ import {
17
+ ConnectionError,
18
+ InvalidRequestError,
19
+ RequestAbortedError,
20
+ RequestTimeoutError,
21
+ UnexpectedClientError,
22
+ } from "../sdk/models/http-client-errors.js";
23
+ import * as models from "../sdk/models/index.js";
24
+ import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
25
+ import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Update service account
31
+ *
32
+ * @remarks
33
+ * Update a service account by ID (name only).
34
+ */
35
+ export function usersUpdateServiceAccount(
36
+ client: FlexpriceCore,
37
+ id: string,
38
+ body: models.UpdateServiceAccountRequest,
39
+ options?: RequestOptions,
40
+ ): APIPromise<
41
+ Result<
42
+ models.UpdateServiceAccountResponse,
43
+ | models.ErrorsErrorResponse
44
+ | FlexPriceError
45
+ | ResponseValidationError
46
+ | ConnectionError
47
+ | RequestAbortedError
48
+ | RequestTimeoutError
49
+ | InvalidRequestError
50
+ | UnexpectedClientError
51
+ | SDKValidationError
52
+ >
53
+ > {
54
+ return new APIPromise($do(
55
+ client,
56
+ id,
57
+ body,
58
+ options,
59
+ ));
60
+ }
61
+
62
+ async function $do(
63
+ client: FlexpriceCore,
64
+ id: string,
65
+ body: models.UpdateServiceAccountRequest,
66
+ options?: RequestOptions,
67
+ ): Promise<
68
+ [
69
+ Result<
70
+ models.UpdateServiceAccountResponse,
71
+ | models.ErrorsErrorResponse
72
+ | FlexPriceError
73
+ | ResponseValidationError
74
+ | ConnectionError
75
+ | RequestAbortedError
76
+ | RequestTimeoutError
77
+ | InvalidRequestError
78
+ | UnexpectedClientError
79
+ | SDKValidationError
80
+ >,
81
+ APICall,
82
+ ]
83
+ > {
84
+ const input: models.UpdateServiceAccountRequestRequest = {
85
+ id: id,
86
+ body: body,
87
+ };
88
+
89
+ const parsed = safeParse(
90
+ input,
91
+ (value) =>
92
+ z.parse(models.UpdateServiceAccountRequestRequest$outboundSchema, value),
93
+ "Input validation failed",
94
+ );
95
+ if (!parsed.ok) {
96
+ return [parsed, { status: "invalid" }];
97
+ }
98
+ const payload = parsed.value;
99
+ const body$ = encodeJSON("body", payload.body, { explode: true });
100
+
101
+ const pathParams = {
102
+ id: encodeSimple("id", payload.id, {
103
+ explode: false,
104
+ charEncoding: "percent",
105
+ }),
106
+ };
107
+ const path = pathToFunc("/users/{id}")(pathParams);
108
+
109
+ const headers = new Headers(compactMap({
110
+ "Content-Type": "application/json",
111
+ Accept: "application/json",
112
+ }));
113
+
114
+ const secConfig = await extractSecurity(client._options.apiKeyAuth);
115
+ const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
116
+ const requestSecurity = resolveGlobalSecurity(securityInput);
117
+
118
+ const context = {
119
+ options: client._options,
120
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
121
+ operationID: "updateServiceAccount",
122
+ oAuth2Scopes: null,
123
+
124
+ resolvedSecurity: requestSecurity,
125
+
126
+ securitySource: client._options.apiKeyAuth,
127
+ retryConfig: options?.retries
128
+ || client._options.retryConfig
129
+ || { strategy: "none" },
130
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
131
+ };
132
+
133
+ const requestRes = client._createRequest(context, {
134
+ security: requestSecurity,
135
+ method: "PUT",
136
+ baseURL: options?.serverURL,
137
+ path: path,
138
+ headers: headers,
139
+ body: body$,
140
+ userAgent: client._options.userAgent,
141
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
142
+ }, options);
143
+ if (!requestRes.ok) {
144
+ return [requestRes, { status: "invalid" }];
145
+ }
146
+ const req = requestRes.value;
147
+
148
+ const doResult = await client._do(req, {
149
+ context,
150
+ isErrorStatusCode: (statusCode: number) =>
151
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
152
+ retryConfig: context.retryConfig,
153
+ retryCodes: context.retryCodes,
154
+ });
155
+ if (!doResult.ok) {
156
+ return [doResult, { status: "request-error", request: req }];
157
+ }
158
+ const response = doResult.value;
159
+
160
+ const responseFields = {
161
+ HttpMeta: { Response: response, Request: req },
162
+ };
163
+
164
+ const [result] = await M.match<
165
+ models.UpdateServiceAccountResponse,
166
+ | models.ErrorsErrorResponse
167
+ | FlexPriceError
168
+ | ResponseValidationError
169
+ | ConnectionError
170
+ | RequestAbortedError
171
+ | RequestTimeoutError
172
+ | InvalidRequestError
173
+ | UnexpectedClientError
174
+ | SDKValidationError
175
+ >(
176
+ M.json(200, models.UpdateServiceAccountResponse$inboundSchema),
177
+ M.jsonErr([400, 404], models.ErrorsErrorResponse$inboundSchema),
178
+ M.jsonErr(500, models.ErrorsErrorResponse$inboundSchema),
179
+ M.fail("4XX"),
180
+ M.fail("5XX"),
181
+ )(response, req, { extraFields: responseFields });
182
+ if (!result.ok) {
183
+ return [result, { status: "complete", request: req, response }];
184
+ }
185
+
186
+ return [result, { status: "complete", request: req, response }];
187
+ }
@@ -30,7 +30,7 @@ import { Result } from "../types/fp.js";
30
30
  * Update current user
31
31
  *
32
32
  * @remarks
33
- * Update the current authenticated user. Only metadata updates are supported.
33
+ * Update the current authenticated user. Supports name and metadata updates.
34
34
  */
35
35
  export function usersUpdateUser(
36
36
  client: FlexpriceCore,
@@ -15,6 +15,7 @@ export type HookContext = {
15
15
  retryConfig: RetryConfig;
16
16
  resolvedSecurity: SecurityState | null;
17
17
  options: SDKOptions;
18
+ timeoutMs?: number;
18
19
  };
19
20
 
20
21
  export type Awaitable<T> = T | Promise<T>;
package/src/lib/config.ts CHANGED
@@ -65,7 +65,7 @@ export function serverURLFromOptions(options: SDKOptions): URL | null {
65
65
  export const SDK_METADATA = {
66
66
  language: "typescript",
67
67
  openapiDocVersion: "1.0",
68
- sdkVersion: "2.1.17",
69
- genVersion: "2.893.0",
70
- userAgent: "speakeasy-sdk/typescript 2.1.17 2.893.0 1.0 @flexprice/sdk",
68
+ sdkVersion: "2.1.19",
69
+ genVersion: "2.904.2",
70
+ userAgent: "speakeasy-sdk/typescript 2.1.19 2.904.2 1.0 @flexprice/sdk",
71
71
  } as const;
@@ -3,7 +3,7 @@
3
3
  */
4
4
 
5
5
  import { bytesToBase64 } from "./base64.js";
6
- import { isPlainObject } from "./is-plain-object.js";
6
+ import { isPlainObject } from "./primitives.js";
7
7
 
8
8
  export class EncodingError extends Error {
9
9
  constructor(message: string) {
@@ -6,7 +6,7 @@ import { ResponseValidationError } from "../sdk/models/response-validation-error
6
6
  import { SDKError } from "../sdk/models/sdk-error.js";
7
7
  import { ERR, OK, Result } from "../types/fp.js";
8
8
  import { matchResponse, matchStatusCode, StatusCodePredicate } from "./http.js";
9
- import { isPlainObject } from "./is-plain-object.js";
9
+ import { isPlainObject } from "./primitives.js";
10
10
 
11
11
  export type Encoding =
12
12
  | "jsonl"
@@ -148,3 +148,19 @@ export function allRequired<V extends Record<string, unknown>>(
148
148
 
149
149
  return v as ReturnType<typeof allRequired<V>>;
150
150
  }
151
+
152
+ export function isPlainObject(
153
+ value: unknown,
154
+ ): value is Record<string, unknown> {
155
+ if (value === null || typeof value !== "object") return false;
156
+ if (Object.prototype.toString.call(value) !== "[object Object]") return false;
157
+ const proto = Object.getPrototypeOf(value);
158
+ if (proto === null || proto === Object.prototype) return true;
159
+ // cross-realm plain objects (vm contexts, iframes) inherit from a
160
+ // different realm's Object.prototype, which itself has a null prototype
161
+ try {
162
+ return Object.getPrototypeOf(proto) === null;
163
+ } catch {
164
+ return false;
165
+ }
166
+ }
package/src/lib/sdks.ts CHANGED
@@ -23,6 +23,7 @@ import {
23
23
  matchContentType,
24
24
  } from "./http.js";
25
25
  import { Logger } from "./logger.js";
26
+ import { combineSignals } from "./primitives.js";
26
27
  import { retry, RetryConfig } from "./retries.js";
27
28
  import { SecurityState } from "./security.js";
28
29
 
@@ -127,27 +128,55 @@ export class ClientSDK {
127
128
  if (path) {
128
129
  baseURL.pathname = baseURL.pathname.replace(/\/+$/, "") + "/";
129
130
  reqURL = new URL(path, baseURL);
131
+ if (!reqURL.search && baseURL.search) {
132
+ reqURL.search = baseURL.search;
133
+ }
130
134
  } else {
131
135
  reqURL = baseURL;
132
136
  }
133
137
  reqURL.hash = "";
134
138
 
135
- let finalQuery = query || "";
136
-
137
- const secQuery: string[] = [];
138
- for (const [k, v] of Object.entries(security?.queryParams || {})) {
139
- const q = encodeForm(k, v, { charEncoding: "percent" });
140
- if (typeof q !== "undefined") {
141
- secQuery.push(q);
139
+ // Appends already-encoded query pairs to a query string, replacing any
140
+ // existing pairs with the same key so later sources take precedence.
141
+ const mergeQuery = (current: string, additions: string): string => {
142
+ if (!additions) {
143
+ return current;
142
144
  }
143
- }
144
- if (secQuery.length) {
145
- finalQuery += `&${secQuery.join("&")}`;
146
- }
145
+ const additionKeys = new Set(
146
+ additions
147
+ .split("&")
148
+ .filter((pair) => pair !== "")
149
+ .map((pair) => pair.split("=")[0] ?? ""),
150
+ );
151
+ const kept = current.split("&").filter((pair) => {
152
+ return pair !== "" && !additionKeys.has(pair.split("=")[0] ?? "");
153
+ });
154
+ return [...kept, additions].join("&");
155
+ };
156
+
157
+ const encodeQueryRecord = (record: Record<string, unknown>): string => {
158
+ return Object.entries(record)
159
+ .map(([k, v]) => {
160
+ if (v == null) {
161
+ return undefined;
162
+ }
163
+ const value = v;
164
+ return encodeForm(k, value, {
165
+ explode: Array.isArray(value),
166
+ charEncoding: "percent",
167
+ });
168
+ })
169
+ .filter((pair): pair is string => typeof pair !== "undefined")
170
+ .join("&");
171
+ };
172
+
173
+ const finalQuery = [
174
+ query || "",
175
+ encodeQueryRecord(security?.queryParams || {}),
176
+ ].reduce(mergeQuery, reqURL.search.slice(1));
147
177
 
148
178
  if (finalQuery) {
149
- const q = finalQuery.startsWith("&") ? finalQuery.slice(1) : finalQuery;
150
- reqURL.search = `?${q}`;
179
+ reqURL.search = `?${finalQuery}`;
151
180
  }
152
181
 
153
182
  const headers = new Headers(opHeaders);
@@ -193,9 +222,8 @@ export class ClientSDK {
193
222
  ...options?.fetchOptions,
194
223
  ...options,
195
224
  };
196
- if (!fetchOptions?.signal && conf.timeoutMs && conf.timeoutMs > 0) {
197
- const timeoutSignal = AbortSignal.timeout(conf.timeoutMs);
198
- fetchOptions.signal = timeoutSignal;
225
+ if (!fetchOptions?.signal && conf.timeoutMs != null && conf.timeoutMs > 0) {
226
+ context.timeoutMs = conf.timeoutMs;
199
227
  }
200
228
 
201
229
  if (conf.body instanceof ReadableStream) {
@@ -242,10 +270,19 @@ export class ClientSDK {
242
270
  >
243
271
  > {
244
272
  const { context, isErrorStatusCode } = options;
273
+ const timeoutMs = context.timeoutMs;
245
274
 
246
275
  return retry(
247
276
  async () => {
248
- const req = await this.#hooks.beforeRequest(context, request.clone());
277
+ const cloned = request.clone();
278
+ let attempt = cloned;
279
+ if (timeoutMs != null && timeoutMs > 0) {
280
+ const timeoutSignal = AbortSignal.timeout(timeoutMs);
281
+ const combined = combineSignals(cloned.signal, timeoutSignal)
282
+ ?? timeoutSignal;
283
+ attempt = new Request(cloned, { signal: combined });
284
+ }
285
+ const req = await this.#hooks.beforeRequest(context, attempt);
249
286
  await logRequest(this.#logger, req).catch((e) =>
250
287
  this.#logger?.log("Failed to log request:", e)
251
288
  );
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import { couponAssociationsGetCouponAssociation } from "../funcs/coupon-associations-get-coupon-association.js";
6
+ import { couponAssociationsListCouponAssociations } from "../funcs/coupon-associations-list-coupon-associations.js";
7
+ import { ClientSDK, RequestOptions } from "../lib/sdks.js";
8
+ import { unwrapAsync } from "../types/fp.js";
9
+ import * as models from "./models/index.js";
10
+
11
+ export class CouponAssociations extends ClientSDK {
12
+ /**
13
+ * List coupon associations
14
+ *
15
+ * @remarks
16
+ * List coupon associations with optional filters. Coupon associations are created and removed via the subscription modify API.
17
+ */
18
+ async listCouponAssociations(
19
+ request?: models.ListCouponAssociationsRequest | undefined,
20
+ options?: RequestOptions,
21
+ ): Promise<models.ListCouponAssociationsResponse> {
22
+ return unwrapAsync(couponAssociationsListCouponAssociations(
23
+ this,
24
+ request,
25
+ options,
26
+ ));
27
+ }
28
+
29
+ /**
30
+ * Get coupon association
31
+ *
32
+ * @remarks
33
+ * Get a single coupon association by ID. Coupon associations are created and removed via the subscription modify API.
34
+ */
35
+ async getCouponAssociation(
36
+ id: string,
37
+ options?: RequestOptions,
38
+ ): Promise<models.CouponAssociationResponse> {
39
+ return unwrapAsync(couponAssociationsGetCouponAssociation(
40
+ this,
41
+ id,
42
+ options,
43
+ ));
44
+ }
45
+ }
@@ -4,6 +4,7 @@
4
4
 
5
5
  import { couponsCreateCoupon } from "../funcs/coupons-create-coupon.js";
6
6
  import { couponsDeleteCoupon } from "../funcs/coupons-delete-coupon.js";
7
+ import { couponsGetCouponByCode } from "../funcs/coupons-get-coupon-by-code.js";
7
8
  import { couponsGetCoupon } from "../funcs/coupons-get-coupon.js";
8
9
  import { couponsQueryCoupon } from "../funcs/coupons-query-coupon.js";
9
10
  import { couponsUpdateCoupon } from "../funcs/coupons-update-coupon.js";
@@ -29,6 +30,23 @@ export class Coupons extends ClientSDK {
29
30
  ));
30
31
  }
31
32
 
33
+ /**
34
+ * Get coupon by code
35
+ *
36
+ * @remarks
37
+ * Use when resolving a coupon by promo code (e.g. checkout or validation).
38
+ */
39
+ async getCouponByCode(
40
+ code: string,
41
+ options?: RequestOptions,
42
+ ): Promise<models.CouponResponse> {
43
+ return unwrapAsync(couponsGetCouponByCode(
44
+ this,
45
+ code,
46
+ options,
47
+ ));
48
+ }
49
+
32
50
  /**
33
51
  * Query coupons
34
52
  *
@@ -2,6 +2,7 @@
2
2
  * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
3
  */
4
4
 
5
+ import { integrationsDelinkIntegrationMapping } from "../funcs/integrations-delink-integration-mapping.js";
5
6
  import { integrationsGetEntityIntegrationMappings } from "../funcs/integrations-get-entity-integration-mappings.js";
6
7
  import { integrationsGetIntegrationConfig } from "../funcs/integrations-get-integration-config.js";
7
8
  import { integrationsLinkIntegrationMapping } from "../funcs/integrations-link-integration-mapping.js";
@@ -42,6 +43,23 @@ export class Integrations extends ClientSDK {
42
43
  ));
43
44
  }
44
45
 
46
+ /**
47
+ * Delink integration mapping
48
+ *
49
+ * @remarks
50
+ * Soft-delete (archive) the mapping between a FlexPrice entity and a provider entity.
51
+ */
52
+ async delinkIntegrationMapping(
53
+ request: models.DelinkIntegrationMappingRequest,
54
+ options?: RequestOptions,
55
+ ): Promise<models.SuccessResponse> {
56
+ return unwrapAsync(integrationsDelinkIntegrationMapping(
57
+ this,
58
+ request,
59
+ options,
60
+ ));
61
+ }
62
+
45
63
  /**
46
64
  * Get entity integration mappings
47
65
  *