@tirdad/sdk 2.1.47 → 2.1.48

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 (250) hide show
  1. package/esm/funcs/commitments-get-commitment-billing-terms.d.ts +17 -0
  2. package/esm/funcs/commitments-get-commitment-billing-terms.d.ts.map +1 -0
  3. package/esm/funcs/commitments-get-commitment-billing-terms.js +91 -0
  4. package/esm/funcs/commitments-get-commitment-billing-terms.js.map +1 -0
  5. package/esm/funcs/commitments-list-commitment-instalments.d.ts +17 -0
  6. package/esm/funcs/commitments-list-commitment-instalments.d.ts.map +1 -0
  7. package/esm/funcs/commitments-list-commitment-instalments.js +96 -0
  8. package/esm/funcs/commitments-list-commitment-instalments.js.map +1 -0
  9. package/esm/funcs/commitments-preview-commitment-billing-terms.d.ts +17 -0
  10. package/esm/funcs/commitments-preview-commitment-billing-terms.d.ts.map +1 -0
  11. package/esm/funcs/commitments-preview-commitment-billing-terms.js +93 -0
  12. package/esm/funcs/commitments-preview-commitment-billing-terms.js.map +1 -0
  13. package/esm/funcs/commitments-replace-commitment-billing-terms.d.ts +17 -0
  14. package/esm/funcs/commitments-replace-commitment-billing-terms.d.ts.map +1 -0
  15. package/esm/funcs/commitments-replace-commitment-billing-terms.js +93 -0
  16. package/esm/funcs/commitments-replace-commitment-billing-terms.js.map +1 -0
  17. package/esm/funcs/commitments-terminate-commitment.d.ts +1 -1
  18. package/esm/funcs/commitments-terminate-commitment.js +1 -1
  19. package/esm/funcs/commitments-trigger-commitment-instalment.d.ts +17 -0
  20. package/esm/funcs/commitments-trigger-commitment-instalment.d.ts.map +1 -0
  21. package/esm/funcs/commitments-trigger-commitment-instalment.js +98 -0
  22. package/esm/funcs/commitments-trigger-commitment-instalment.js.map +1 -0
  23. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-cancelled.d.ts +17 -0
  24. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-cancelled.d.ts.map +1 -0
  25. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-cancelled.js +69 -0
  26. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-cancelled.js.map +1 -0
  27. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-created.d.ts +17 -0
  28. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-created.d.ts.map +1 -0
  29. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-created.js +69 -0
  30. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-created.js.map +1 -0
  31. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-invoiced.d.ts +17 -0
  32. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-invoiced.d.ts.map +1 -0
  33. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-invoiced.js +69 -0
  34. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-invoiced.js.map +1 -0
  35. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-updated.d.ts +17 -0
  36. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-updated.d.ts.map +1 -0
  37. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-updated.js +69 -0
  38. package/esm/funcs/webhook-events-post-webhook-events-billing-instalment-updated.js.map +1 -0
  39. package/esm/funcs/webhook-events-post-webhook-events-billing-terms-created.d.ts +17 -0
  40. package/esm/funcs/webhook-events-post-webhook-events-billing-terms-created.d.ts.map +1 -0
  41. package/esm/funcs/webhook-events-post-webhook-events-billing-terms-created.js +69 -0
  42. package/esm/funcs/webhook-events-post-webhook-events-billing-terms-created.js.map +1 -0
  43. package/esm/funcs/webhook-events-post-webhook-events-billing-terms-updated.d.ts +17 -0
  44. package/esm/funcs/webhook-events-post-webhook-events-billing-terms-updated.d.ts.map +1 -0
  45. package/esm/funcs/webhook-events-post-webhook-events-billing-terms-updated.js +69 -0
  46. package/esm/funcs/webhook-events-post-webhook-events-billing-terms-updated.js.map +1 -0
  47. package/esm/lib/config.d.ts +2 -2
  48. package/esm/lib/config.js +2 -2
  49. package/esm/sdk/commitments.d.ts +36 -1
  50. package/esm/sdk/commitments.d.ts.map +1 -1
  51. package/esm/sdk/commitments.js +51 -1
  52. package/esm/sdk/commitments.js.map +1 -1
  53. package/esm/sdk/models/billing-term-input.d.ts +67 -0
  54. package/esm/sdk/models/billing-term-input.d.ts.map +1 -0
  55. package/esm/sdk/models/billing-term-input.js +43 -0
  56. package/esm/sdk/models/billing-term-input.js.map +1 -0
  57. package/esm/sdk/models/billing-term-kind.d.ts +12 -0
  58. package/esm/sdk/models/billing-term-kind.d.ts.map +1 -0
  59. package/esm/sdk/models/billing-term-kind.js +13 -0
  60. package/esm/sdk/models/billing-term-kind.js.map +1 -0
  61. package/esm/sdk/models/billing-term-owner-type.d.ts +9 -0
  62. package/esm/sdk/models/billing-term-owner-type.d.ts.map +1 -0
  63. package/esm/sdk/models/billing-term-owner-type.js +10 -0
  64. package/esm/sdk/models/billing-term-owner-type.js.map +1 -0
  65. package/esm/sdk/models/billing-term-split.d.ts +12 -0
  66. package/esm/sdk/models/billing-term-split.d.ts.map +1 -0
  67. package/esm/sdk/models/billing-term-split.js +13 -0
  68. package/esm/sdk/models/billing-term-split.js.map +1 -0
  69. package/esm/sdk/models/billing-term-value-type.d.ts +19 -0
  70. package/esm/sdk/models/billing-term-value-type.d.ts.map +1 -0
  71. package/esm/sdk/models/billing-term-value-type.js +17 -0
  72. package/esm/sdk/models/billing-term-value-type.js.map +1 -0
  73. package/esm/sdk/models/billing-terms-response.d.ts +13 -0
  74. package/esm/sdk/models/billing-terms-response.d.ts.map +1 -0
  75. package/esm/sdk/models/billing-terms-response.js +22 -0
  76. package/esm/sdk/models/billing-terms-response.js.map +1 -0
  77. package/esm/sdk/models/billingterm-instalment.d.ts +43 -0
  78. package/esm/sdk/models/billingterm-instalment.d.ts.map +1 -0
  79. package/esm/sdk/models/billingterm-instalment.js +68 -0
  80. package/esm/sdk/models/billingterm-instalment.js.map +1 -0
  81. package/esm/sdk/models/billingterm-term.d.ts +57 -0
  82. package/esm/sdk/models/billingterm-term.d.ts.map +1 -0
  83. package/esm/sdk/models/billingterm-term.js +65 -0
  84. package/esm/sdk/models/billingterm-term.js.map +1 -0
  85. package/esm/sdk/models/cancellation-fee-input.d.ts +18 -0
  86. package/esm/sdk/models/cancellation-fee-input.d.ts.map +1 -0
  87. package/esm/sdk/models/cancellation-fee-input.js +14 -0
  88. package/esm/sdk/models/cancellation-fee-input.js.map +1 -0
  89. package/esm/sdk/models/cancellation-fee-type.d.ts +16 -0
  90. package/esm/sdk/models/cancellation-fee-type.d.ts.map +1 -0
  91. package/esm/sdk/models/cancellation-fee-type.js +14 -0
  92. package/esm/sdk/models/cancellation-fee-type.js.map +1 -0
  93. package/esm/sdk/models/commitment-response.d.ts +9 -1
  94. package/esm/sdk/models/commitment-response.d.ts.map +1 -1
  95. package/esm/sdk/models/commitment-response.js +7 -1
  96. package/esm/sdk/models/commitment-response.js.map +1 -1
  97. package/esm/sdk/models/create-commitment-request.d.ts +12 -0
  98. package/esm/sdk/models/create-commitment-request.d.ts.map +1 -1
  99. package/esm/sdk/models/create-commitment-request.js +6 -0
  100. package/esm/sdk/models/create-commitment-request.js.map +1 -1
  101. package/esm/sdk/models/get-commitment-billing-terms-op.d.ts +15 -0
  102. package/esm/sdk/models/get-commitment-billing-terms-op.d.ts.map +1 -0
  103. package/esm/sdk/models/get-commitment-billing-terms-op.js +12 -0
  104. package/esm/sdk/models/get-commitment-billing-terms-op.js.map +1 -0
  105. package/esm/sdk/models/get-subscription-v2-op.d.ts +1 -1
  106. package/esm/sdk/models/index.d.ts +24 -0
  107. package/esm/sdk/models/index.d.ts.map +1 -1
  108. package/esm/sdk/models/index.js +24 -0
  109. package/esm/sdk/models/index.js.map +1 -1
  110. package/esm/sdk/models/instalment-bill-trigger.d.ts +12 -0
  111. package/esm/sdk/models/instalment-bill-trigger.d.ts.map +1 -0
  112. package/esm/sdk/models/instalment-bill-trigger.js +13 -0
  113. package/esm/sdk/models/instalment-bill-trigger.js.map +1 -0
  114. package/esm/sdk/models/instalment-delivery.d.ts +12 -0
  115. package/esm/sdk/models/instalment-delivery.d.ts.map +1 -0
  116. package/esm/sdk/models/instalment-delivery.js +13 -0
  117. package/esm/sdk/models/instalment-delivery.js.map +1 -0
  118. package/esm/sdk/models/instalment-kind.d.ts +10 -0
  119. package/esm/sdk/models/instalment-kind.d.ts.map +1 -0
  120. package/esm/sdk/models/instalment-kind.js +11 -0
  121. package/esm/sdk/models/instalment-kind.js.map +1 -0
  122. package/esm/sdk/models/instalment-status.d.ts +11 -0
  123. package/esm/sdk/models/instalment-status.d.ts.map +1 -0
  124. package/esm/sdk/models/instalment-status.js +12 -0
  125. package/esm/sdk/models/instalment-status.js.map +1 -0
  126. package/esm/sdk/models/invoice-billing-reason.d.ts +2 -0
  127. package/esm/sdk/models/invoice-billing-reason.d.ts.map +1 -1
  128. package/esm/sdk/models/invoice-billing-reason.js +2 -0
  129. package/esm/sdk/models/invoice-billing-reason.js.map +1 -1
  130. package/esm/sdk/models/invoice-line-item-response.d.ts +4 -0
  131. package/esm/sdk/models/invoice-line-item-response.d.ts.map +1 -1
  132. package/esm/sdk/models/invoice-line-item-response.js +2 -0
  133. package/esm/sdk/models/invoice-line-item-response.js.map +1 -1
  134. package/esm/sdk/models/list-commitment-instalments-op.d.ts +20 -0
  135. package/esm/sdk/models/list-commitment-instalments-op.d.ts.map +1 -0
  136. package/esm/sdk/models/list-commitment-instalments-op.js +13 -0
  137. package/esm/sdk/models/list-commitment-instalments-op.js.map +1 -0
  138. package/esm/sdk/models/list-instalments-response.d.ts +11 -0
  139. package/esm/sdk/models/list-instalments-response.d.ts.map +1 -0
  140. package/esm/sdk/models/list-instalments-response.js +15 -0
  141. package/esm/sdk/models/list-instalments-response.js.map +1 -0
  142. package/esm/sdk/models/preview-commitment-billing-terms-op.d.ts +21 -0
  143. package/esm/sdk/models/preview-commitment-billing-terms-op.d.ts.map +1 -0
  144. package/esm/sdk/models/preview-commitment-billing-terms-op.js +14 -0
  145. package/esm/sdk/models/preview-commitment-billing-terms-op.js.map +1 -0
  146. package/esm/sdk/models/replace-billing-terms-request.d.ts +13 -0
  147. package/esm/sdk/models/replace-billing-terms-request.d.ts.map +1 -0
  148. package/esm/sdk/models/replace-billing-terms-request.js +18 -0
  149. package/esm/sdk/models/replace-billing-terms-request.js.map +1 -0
  150. package/esm/sdk/models/replace-commitment-billing-terms-op.d.ts +21 -0
  151. package/esm/sdk/models/replace-commitment-billing-terms-op.d.ts.map +1 -0
  152. package/esm/sdk/models/replace-commitment-billing-terms-op.js +14 -0
  153. package/esm/sdk/models/replace-commitment-billing-terms-op.js.map +1 -0
  154. package/esm/sdk/models/subscription-response-v2.d.ts +5 -0
  155. package/esm/sdk/models/subscription-response-v2.d.ts.map +1 -1
  156. package/esm/sdk/models/subscription-response-v2.js +2 -0
  157. package/esm/sdk/models/subscription-response-v2.js.map +1 -1
  158. package/esm/sdk/models/subscription-response.d.ts +5 -0
  159. package/esm/sdk/models/subscription-response.d.ts.map +1 -1
  160. package/esm/sdk/models/subscription-response.js +2 -0
  161. package/esm/sdk/models/subscription-response.js.map +1 -1
  162. package/esm/sdk/models/terminate-commitment-request.d.ts +6 -2
  163. package/esm/sdk/models/terminate-commitment-request.d.ts.map +1 -1
  164. package/esm/sdk/models/terminate-commitment-request.js +2 -1
  165. package/esm/sdk/models/terminate-commitment-request.js.map +1 -1
  166. package/esm/sdk/models/trigger-commitment-instalment-op.d.ts +26 -0
  167. package/esm/sdk/models/trigger-commitment-instalment-op.d.ts.map +1 -0
  168. package/esm/sdk/models/trigger-commitment-instalment-op.js +20 -0
  169. package/esm/sdk/models/trigger-commitment-instalment-op.js.map +1 -0
  170. package/esm/sdk/models/trigger-instalment-request.d.ts +15 -0
  171. package/esm/sdk/models/trigger-instalment-request.d.ts.map +1 -0
  172. package/esm/sdk/models/trigger-instalment-request.js +17 -0
  173. package/esm/sdk/models/trigger-instalment-request.js.map +1 -0
  174. package/esm/sdk/models/update-commitment-request.d.ts +5 -0
  175. package/esm/sdk/models/update-commitment-request.d.ts.map +1 -1
  176. package/esm/sdk/models/update-commitment-request.js +2 -0
  177. package/esm/sdk/models/update-commitment-request.js.map +1 -1
  178. package/esm/sdk/models/webhook-dto-billing-instalment-webhook-payload.d.ts +13 -0
  179. package/esm/sdk/models/webhook-dto-billing-instalment-webhook-payload.d.ts.map +1 -0
  180. package/esm/sdk/models/webhook-dto-billing-instalment-webhook-payload.js +22 -0
  181. package/esm/sdk/models/webhook-dto-billing-instalment-webhook-payload.js.map +1 -0
  182. package/esm/sdk/models/webhook-dto-billing-terms-webhook-payload.d.ts +16 -0
  183. package/esm/sdk/models/webhook-dto-billing-terms-webhook-payload.d.ts.map +1 -0
  184. package/esm/sdk/models/webhook-dto-billing-terms-webhook-payload.js +28 -0
  185. package/esm/sdk/models/webhook-dto-billing-terms-webhook-payload.js.map +1 -0
  186. package/esm/sdk/models/webhook-dto-invoice-line-item.d.ts +1 -0
  187. package/esm/sdk/models/webhook-dto-invoice-line-item.d.ts.map +1 -1
  188. package/esm/sdk/models/webhook-dto-invoice-line-item.js +2 -0
  189. package/esm/sdk/models/webhook-dto-invoice-line-item.js.map +1 -1
  190. package/esm/sdk/models/webhook-event-name.d.ts +6 -0
  191. package/esm/sdk/models/webhook-event-name.d.ts.map +1 -1
  192. package/esm/sdk/models/webhook-event-name.js +6 -0
  193. package/esm/sdk/models/webhook-event-name.js.map +1 -1
  194. package/esm/sdk/webhook-events.d.ts +42 -0
  195. package/esm/sdk/webhook-events.d.ts.map +1 -1
  196. package/esm/sdk/webhook-events.js +60 -0
  197. package/esm/sdk/webhook-events.js.map +1 -1
  198. package/jsr.json +1 -1
  199. package/package.json +1 -1
  200. package/src/funcs/commitments-get-commitment-billing-terms.ts +182 -0
  201. package/src/funcs/commitments-list-commitment-instalments.ts +191 -0
  202. package/src/funcs/commitments-preview-commitment-billing-terms.ts +192 -0
  203. package/src/funcs/commitments-replace-commitment-billing-terms.ts +190 -0
  204. package/src/funcs/commitments-terminate-commitment.ts +1 -1
  205. package/src/funcs/commitments-trigger-commitment-instalment.ts +197 -0
  206. package/src/funcs/webhook-events-post-webhook-events-billing-instalment-cancelled.ts +144 -0
  207. package/src/funcs/webhook-events-post-webhook-events-billing-instalment-created.ts +144 -0
  208. package/src/funcs/webhook-events-post-webhook-events-billing-instalment-invoiced.ts +144 -0
  209. package/src/funcs/webhook-events-post-webhook-events-billing-instalment-updated.ts +144 -0
  210. package/src/funcs/webhook-events-post-webhook-events-billing-terms-created.ts +144 -0
  211. package/src/funcs/webhook-events-post-webhook-events-billing-terms-updated.ts +144 -0
  212. package/src/lib/config.ts +2 -2
  213. package/src/sdk/commitments.ts +101 -1
  214. package/src/sdk/models/billing-term-input.ts +127 -0
  215. package/src/sdk/models/billing-term-kind.ts +24 -0
  216. package/src/sdk/models/billing-term-owner-type.ts +16 -0
  217. package/src/sdk/models/billing-term-split.ts +24 -0
  218. package/src/sdk/models/billing-term-value-type.ts +31 -0
  219. package/src/sdk/models/billing-terms-response.ts +49 -0
  220. package/src/sdk/models/billingterm-instalment.ts +128 -0
  221. package/src/sdk/models/billingterm-term.ts +143 -0
  222. package/src/sdk/models/cancellation-fee-input.ts +40 -0
  223. package/src/sdk/models/cancellation-fee-type.ts +23 -0
  224. package/src/sdk/models/commitment-response.ts +22 -2
  225. package/src/sdk/models/create-commitment-request.ts +23 -0
  226. package/src/sdk/models/get-commitment-billing-terms-op.ts +35 -0
  227. package/src/sdk/models/get-subscription-v2-op.ts +1 -1
  228. package/src/sdk/models/index.ts +24 -0
  229. package/src/sdk/models/instalment-bill-trigger.ts +24 -0
  230. package/src/sdk/models/instalment-delivery.ts +24 -0
  231. package/src/sdk/models/instalment-kind.ts +19 -0
  232. package/src/sdk/models/instalment-status.ts +20 -0
  233. package/src/sdk/models/invoice-billing-reason.ts +2 -0
  234. package/src/sdk/models/invoice-line-item-response.ts +6 -0
  235. package/src/sdk/models/list-commitment-instalments-op.ts +41 -0
  236. package/src/sdk/models/list-instalments-response.ts +35 -0
  237. package/src/sdk/models/preview-commitment-billing-terms-op.ts +46 -0
  238. package/src/sdk/models/replace-billing-terms-request.ts +43 -0
  239. package/src/sdk/models/replace-commitment-billing-terms-op.ts +46 -0
  240. package/src/sdk/models/subscription-response-v2.ts +9 -0
  241. package/src/sdk/models/subscription-response.ts +9 -0
  242. package/src/sdk/models/terminate-commitment-request.ts +11 -3
  243. package/src/sdk/models/trigger-commitment-instalment-op.ts +60 -0
  244. package/src/sdk/models/trigger-instalment-request.ts +41 -0
  245. package/src/sdk/models/update-commitment-request.ts +7 -0
  246. package/src/sdk/models/webhook-dto-billing-instalment-webhook-payload.ts +53 -0
  247. package/src/sdk/models/webhook-dto-billing-terms-webhook-payload.ts +61 -0
  248. package/src/sdk/models/webhook-dto-invoice-line-item.ts +3 -0
  249. package/src/sdk/models/webhook-event-name.ts +6 -0
  250. package/src/sdk/webhook-events.ts +96 -0
@@ -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 { TirdadCore } 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 {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../sdk/models/http-client-errors.js";
22
+ import * as models from "../sdk/models/index.js";
23
+ import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
24
+ import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
25
+ import { TirdadError } from "../sdk/models/tirdad-error.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Get billing terms
31
+ *
32
+ * @remarks
33
+ * Returns the commitment's current billing terms with its scheduled and invoiced instalments in billing order. Invoiced instalments may come from terms an edit replaced. Cancelled instalments are listed by the instalments endpoint.
34
+ */
35
+ export function commitmentsGetCommitmentBillingTerms(
36
+ client: TirdadCore,
37
+ id: string,
38
+ options?: RequestOptions,
39
+ ): APIPromise<
40
+ Result<
41
+ models.BillingTermsResponse,
42
+ | models.ErrorsErrorResponse
43
+ | TirdadError
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: TirdadCore,
62
+ id: string,
63
+ options?: RequestOptions,
64
+ ): Promise<
65
+ [
66
+ Result<
67
+ models.BillingTermsResponse,
68
+ | models.ErrorsErrorResponse
69
+ | TirdadError
70
+ | ResponseValidationError
71
+ | ConnectionError
72
+ | RequestAbortedError
73
+ | RequestTimeoutError
74
+ | InvalidRequestError
75
+ | UnexpectedClientError
76
+ | SDKValidationError
77
+ >,
78
+ APICall,
79
+ ]
80
+ > {
81
+ const input: models.GetCommitmentBillingTermsRequest = {
82
+ id: id,
83
+ };
84
+
85
+ const parsed = safeParse(
86
+ input,
87
+ (value) =>
88
+ z.parse(models.GetCommitmentBillingTermsRequest$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("/commitments/{id}/billing-terms")(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: "getCommitmentBillingTerms",
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: "GET",
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
+ models.BillingTermsResponse,
161
+ | models.ErrorsErrorResponse
162
+ | TirdadError
163
+ | ResponseValidationError
164
+ | ConnectionError
165
+ | RequestAbortedError
166
+ | RequestTimeoutError
167
+ | InvalidRequestError
168
+ | UnexpectedClientError
169
+ | SDKValidationError
170
+ >(
171
+ M.json(200, models.BillingTermsResponse$inboundSchema),
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,191 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { TirdadCore } from "../core.js";
7
+ import { encodeFormQuery, 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 {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../sdk/models/http-client-errors.js";
22
+ import * as models from "../sdk/models/index.js";
23
+ import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
24
+ import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
25
+ import { TirdadError } from "../sdk/models/tirdad-error.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * List instalments
31
+ *
32
+ * @remarks
33
+ * Lists the instalments of the commitment in billing order. Without a status filter every instalment is listed, cancelled ones included.
34
+ */
35
+ export function commitmentsListCommitmentInstalments(
36
+ client: TirdadCore,
37
+ id: string,
38
+ status?: Array<string> | undefined,
39
+ options?: RequestOptions,
40
+ ): APIPromise<
41
+ Result<
42
+ models.ListInstalmentsResponse,
43
+ | models.ErrorsErrorResponse
44
+ | TirdadError
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
+ status,
58
+ options,
59
+ ));
60
+ }
61
+
62
+ async function $do(
63
+ client: TirdadCore,
64
+ id: string,
65
+ status?: Array<string> | undefined,
66
+ options?: RequestOptions,
67
+ ): Promise<
68
+ [
69
+ Result<
70
+ models.ListInstalmentsResponse,
71
+ | models.ErrorsErrorResponse
72
+ | TirdadError
73
+ | ResponseValidationError
74
+ | ConnectionError
75
+ | RequestAbortedError
76
+ | RequestTimeoutError
77
+ | InvalidRequestError
78
+ | UnexpectedClientError
79
+ | SDKValidationError
80
+ >,
81
+ APICall,
82
+ ]
83
+ > {
84
+ const input: models.ListCommitmentInstalmentsRequest = {
85
+ id: id,
86
+ status: status,
87
+ };
88
+
89
+ const parsed = safeParse(
90
+ input,
91
+ (value) =>
92
+ z.parse(models.ListCommitmentInstalmentsRequest$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 = null;
100
+
101
+ const pathParams = {
102
+ id: encodeSimple("id", payload.id, {
103
+ explode: false,
104
+ charEncoding: "percent",
105
+ }),
106
+ };
107
+ const path = pathToFunc("/commitments/{id}/instalments")(pathParams);
108
+
109
+ const query = encodeFormQuery({
110
+ "status": payload.status,
111
+ });
112
+
113
+ const headers = new Headers(compactMap({
114
+ Accept: "application/json",
115
+ }));
116
+
117
+ const secConfig = await extractSecurity(client._options.apiKeyAuth);
118
+ const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
119
+ const requestSecurity = resolveGlobalSecurity(securityInput);
120
+
121
+ const context = {
122
+ options: client._options,
123
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
124
+ operationID: "listCommitmentInstalments",
125
+ oAuth2Scopes: null,
126
+
127
+ resolvedSecurity: requestSecurity,
128
+
129
+ securitySource: client._options.apiKeyAuth,
130
+ retryConfig: options?.retries
131
+ || client._options.retryConfig
132
+ || { strategy: "none" },
133
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
134
+ };
135
+
136
+ const requestRes = client._createRequest(context, {
137
+ security: requestSecurity,
138
+ method: "GET",
139
+ baseURL: options?.serverURL,
140
+ path: path,
141
+ headers: headers,
142
+ query: query,
143
+ body: body,
144
+ userAgent: client._options.userAgent,
145
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
146
+ }, options);
147
+ if (!requestRes.ok) {
148
+ return [requestRes, { status: "invalid" }];
149
+ }
150
+ const req = requestRes.value;
151
+
152
+ const doResult = await client._do(req, {
153
+ context,
154
+ isErrorStatusCode: (statusCode: number) =>
155
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
156
+ retryConfig: context.retryConfig,
157
+ retryCodes: context.retryCodes,
158
+ });
159
+ if (!doResult.ok) {
160
+ return [doResult, { status: "request-error", request: req }];
161
+ }
162
+ const response = doResult.value;
163
+
164
+ const responseFields = {
165
+ HttpMeta: { Response: response, Request: req },
166
+ };
167
+
168
+ const [result] = await M.match<
169
+ models.ListInstalmentsResponse,
170
+ | models.ErrorsErrorResponse
171
+ | TirdadError
172
+ | ResponseValidationError
173
+ | ConnectionError
174
+ | RequestAbortedError
175
+ | RequestTimeoutError
176
+ | InvalidRequestError
177
+ | UnexpectedClientError
178
+ | SDKValidationError
179
+ >(
180
+ M.json(200, models.ListInstalmentsResponse$inboundSchema),
181
+ M.jsonErr([400, 404], models.ErrorsErrorResponse$inboundSchema),
182
+ M.jsonErr(500, models.ErrorsErrorResponse$inboundSchema),
183
+ M.fail("4XX"),
184
+ M.fail("5XX"),
185
+ )(response, req, { extraFields: responseFields });
186
+ if (!result.ok) {
187
+ return [result, { status: "complete", request: req, response }];
188
+ }
189
+
190
+ return [result, { status: "complete", request: req, response }];
191
+ }
@@ -0,0 +1,192 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v4-mini";
6
+ import { TirdadCore } 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 {
16
+ ConnectionError,
17
+ InvalidRequestError,
18
+ RequestAbortedError,
19
+ RequestTimeoutError,
20
+ UnexpectedClientError,
21
+ } from "../sdk/models/http-client-errors.js";
22
+ import * as models from "../sdk/models/index.js";
23
+ import { ResponseValidationError } from "../sdk/models/response-validation-error.js";
24
+ import { SDKValidationError } from "../sdk/models/sdk-validation-error.js";
25
+ import { TirdadError } from "../sdk/models/tirdad-error.js";
26
+ import { APICall, APIPromise } from "../types/async.js";
27
+ import { Result } from "../types/fp.js";
28
+
29
+ /**
30
+ * Preview billing terms edit
31
+ *
32
+ * @remarks
33
+ * Returns what editing the billing terms would produce, without saving anything: the new terms with the invoiced and new instalments in billing order.
34
+ */
35
+ export function commitmentsPreviewCommitmentBillingTerms(
36
+ client: TirdadCore,
37
+ id: string,
38
+ body: models.ReplaceBillingTermsRequest,
39
+ options?: RequestOptions,
40
+ ): APIPromise<
41
+ Result<
42
+ models.BillingTermsResponse,
43
+ | models.ErrorsErrorResponse
44
+ | TirdadError
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: TirdadCore,
64
+ id: string,
65
+ body: models.ReplaceBillingTermsRequest,
66
+ options?: RequestOptions,
67
+ ): Promise<
68
+ [
69
+ Result<
70
+ models.BillingTermsResponse,
71
+ | models.ErrorsErrorResponse
72
+ | TirdadError
73
+ | ResponseValidationError
74
+ | ConnectionError
75
+ | RequestAbortedError
76
+ | RequestTimeoutError
77
+ | InvalidRequestError
78
+ | UnexpectedClientError
79
+ | SDKValidationError
80
+ >,
81
+ APICall,
82
+ ]
83
+ > {
84
+ const input: models.PreviewCommitmentBillingTermsRequest = {
85
+ id: id,
86
+ body: body,
87
+ };
88
+
89
+ const parsed = safeParse(
90
+ input,
91
+ (value) =>
92
+ z.parse(
93
+ models.PreviewCommitmentBillingTermsRequest$outboundSchema,
94
+ value,
95
+ ),
96
+ "Input validation failed",
97
+ );
98
+ if (!parsed.ok) {
99
+ return [parsed, { status: "invalid" }];
100
+ }
101
+ const payload = parsed.value;
102
+ const body$ = encodeJSON("body", payload.body, { explode: true });
103
+
104
+ const pathParams = {
105
+ id: encodeSimple("id", payload.id, {
106
+ explode: false,
107
+ charEncoding: "percent",
108
+ }),
109
+ };
110
+ const path = pathToFunc("/commitments/{id}/billing-terms/preview")(
111
+ pathParams,
112
+ );
113
+
114
+ const headers = new Headers(compactMap({
115
+ "Content-Type": "application/json",
116
+ Accept: "application/json",
117
+ }));
118
+
119
+ const secConfig = await extractSecurity(client._options.apiKeyAuth);
120
+ const securityInput = secConfig == null ? {} : { apiKeyAuth: secConfig };
121
+ const requestSecurity = resolveGlobalSecurity(securityInput);
122
+
123
+ const context = {
124
+ options: client._options,
125
+ baseURL: options?.serverURL ?? client._baseURL ?? "",
126
+ operationID: "previewCommitmentBillingTerms",
127
+ oAuth2Scopes: null,
128
+
129
+ resolvedSecurity: requestSecurity,
130
+
131
+ securitySource: client._options.apiKeyAuth,
132
+ retryConfig: options?.retries
133
+ || client._options.retryConfig
134
+ || { strategy: "none" },
135
+ retryCodes: options?.retryCodes || ["429", "500", "502", "503", "504"],
136
+ };
137
+
138
+ const requestRes = client._createRequest(context, {
139
+ security: requestSecurity,
140
+ method: "POST",
141
+ baseURL: options?.serverURL,
142
+ path: path,
143
+ headers: headers,
144
+ body: body$,
145
+ userAgent: client._options.userAgent,
146
+ timeoutMs: options?.timeoutMs || client._options.timeoutMs || -1,
147
+ }, options);
148
+ if (!requestRes.ok) {
149
+ return [requestRes, { status: "invalid" }];
150
+ }
151
+ const req = requestRes.value;
152
+
153
+ const doResult = await client._do(req, {
154
+ context,
155
+ isErrorStatusCode: (statusCode: number) =>
156
+ matchStatusCode({ status: statusCode } as Response, ["4XX", "5XX"]),
157
+ retryConfig: context.retryConfig,
158
+ retryCodes: context.retryCodes,
159
+ });
160
+ if (!doResult.ok) {
161
+ return [doResult, { status: "request-error", request: req }];
162
+ }
163
+ const response = doResult.value;
164
+
165
+ const responseFields = {
166
+ HttpMeta: { Response: response, Request: req },
167
+ };
168
+
169
+ const [result] = await M.match<
170
+ models.BillingTermsResponse,
171
+ | models.ErrorsErrorResponse
172
+ | TirdadError
173
+ | ResponseValidationError
174
+ | ConnectionError
175
+ | RequestAbortedError
176
+ | RequestTimeoutError
177
+ | InvalidRequestError
178
+ | UnexpectedClientError
179
+ | SDKValidationError
180
+ >(
181
+ M.json(200, models.BillingTermsResponse$inboundSchema),
182
+ M.jsonErr([400, 404], models.ErrorsErrorResponse$inboundSchema),
183
+ M.jsonErr(500, models.ErrorsErrorResponse$inboundSchema),
184
+ M.fail("4XX"),
185
+ M.fail("5XX"),
186
+ )(response, req, { extraFields: responseFields });
187
+ if (!result.ok) {
188
+ return [result, { status: "complete", request: req, response }];
189
+ }
190
+
191
+ return [result, { status: "complete", request: req, response }];
192
+ }