orb-billing 5.75.1 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +31 -0
- package/README.md +118 -45
- package/api-promise.d.mts +3 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +3 -0
- package/api-promise.d.ts.map +1 -0
- package/api-promise.js +6 -0
- package/api-promise.js.map +1 -0
- package/api-promise.mjs +3 -0
- package/api-promise.mjs.map +1 -0
- package/client.d.mts +474 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +474 -0
- package/client.d.ts.map +1 -0
- package/client.js +650 -0
- package/client.js.map +1 -0
- package/client.mjs +645 -0
- package/client.mjs.map +1 -0
- package/core/api-promise.d.mts +46 -0
- package/core/api-promise.d.mts.map +1 -0
- package/core/api-promise.d.ts +46 -0
- package/core/api-promise.d.ts.map +1 -0
- package/core/api-promise.js +74 -0
- package/core/api-promise.js.map +1 -0
- package/core/api-promise.mjs +70 -0
- package/core/api-promise.mjs.map +1 -0
- package/core/error.d.mts +131 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +131 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +294 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +266 -0
- package/core/error.mjs.map +1 -0
- package/core/pagination.d.mts +67 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +67 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +101 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +95 -0
- package/core/pagination.mjs.map +1 -0
- package/core/resource.d.mts +6 -0
- package/core/resource.d.mts.map +1 -0
- package/core/resource.d.ts +6 -0
- package/core/resource.d.ts.map +1 -0
- package/core/resource.js +11 -0
- package/core/resource.js.map +1 -0
- package/core/resource.mjs +7 -0
- package/core/resource.mjs.map +1 -0
- package/core/uploads.d.mts +3 -0
- package/core/uploads.d.mts.map +1 -0
- package/core/uploads.d.ts +3 -0
- package/core/uploads.d.ts.map +1 -0
- package/core/uploads.js +6 -0
- package/core/uploads.js.map +1 -0
- package/core/uploads.mjs +2 -0
- package/core/uploads.mjs.map +1 -0
- package/error.d.mts +3 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +2 -131
- package/error.d.ts.map +1 -1
- package/error.js +3 -291
- package/error.js.map +1 -1
- package/error.mjs +2 -265
- package/error.mjs.map +1 -1
- package/index.d.mts +7 -401
- package/index.d.mts.map +1 -0
- package/index.d.ts +6 -400
- package/index.d.ts.map +1 -1
- package/index.js +15 -286
- package/index.js.map +1 -1
- package/index.mjs +6 -259
- package/index.mjs.map +1 -1
- package/internal/builtin-types.d.mts +73 -0
- package/internal/builtin-types.d.mts.map +1 -0
- package/internal/builtin-types.d.ts +73 -0
- package/internal/builtin-types.d.ts.map +1 -0
- package/internal/builtin-types.js +4 -0
- package/internal/builtin-types.js.map +1 -0
- package/internal/builtin-types.mjs +3 -0
- package/internal/builtin-types.mjs.map +1 -0
- package/internal/detect-platform.d.mts +15 -0
- package/internal/detect-platform.d.mts.map +1 -0
- package/internal/detect-platform.d.ts +15 -0
- package/internal/detect-platform.d.ts.map +1 -0
- package/internal/detect-platform.js +162 -0
- package/internal/detect-platform.js.map +1 -0
- package/internal/detect-platform.mjs +157 -0
- package/internal/detect-platform.mjs.map +1 -0
- package/internal/errors.d.mts +3 -0
- package/internal/errors.d.mts.map +1 -0
- package/internal/errors.d.ts +3 -0
- package/internal/errors.d.ts.map +1 -0
- package/internal/errors.js +41 -0
- package/internal/errors.js.map +1 -0
- package/internal/errors.mjs +36 -0
- package/internal/errors.mjs.map +1 -0
- package/internal/headers.d.mts +20 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +20 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +79 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +74 -0
- package/internal/headers.mjs.map +1 -0
- package/internal/parse.d.mts +12 -0
- package/internal/parse.d.mts.map +1 -0
- package/internal/parse.d.ts +12 -0
- package/internal/parse.d.ts.map +1 -0
- package/internal/parse.js +40 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +37 -0
- package/internal/parse.mjs.map +1 -0
- package/internal/qs/formats.d.mts +7 -0
- package/internal/qs/formats.d.mts.map +1 -0
- package/internal/qs/formats.d.ts +1 -0
- package/internal/qs/formats.d.ts.map +1 -1
- package/internal/qs/formats.js +4 -2
- package/internal/qs/formats.js.map +1 -1
- package/internal/qs/formats.mjs +2 -1
- package/internal/qs/formats.mjs.map +1 -1
- package/internal/qs/index.d.mts +10 -0
- package/internal/qs/index.d.mts.map +1 -0
- package/internal/qs/index.d.ts +2 -2
- package/internal/qs/index.d.ts.map +1 -1
- package/internal/qs/index.mjs.map +1 -1
- package/internal/qs/stringify.d.mts +3 -0
- package/internal/qs/stringify.d.mts.map +1 -0
- package/internal/qs/stringify.d.ts.map +1 -1
- package/internal/qs/stringify.js +16 -19
- package/internal/qs/stringify.js.map +1 -1
- package/internal/qs/stringify.mjs +17 -19
- package/internal/qs/stringify.mjs.map +1 -1
- package/internal/qs/types.d.mts +57 -0
- package/internal/qs/types.d.mts.map +1 -0
- package/internal/qs/utils.d.mts +15 -0
- package/internal/qs/utils.d.mts.map +1 -0
- package/internal/qs/utils.d.ts +1 -0
- package/internal/qs/utils.d.ts.map +1 -1
- package/internal/qs/utils.js +22 -21
- package/internal/qs/utils.js.map +1 -1
- package/internal/qs/utils.mjs +12 -12
- package/internal/qs/utils.mjs.map +1 -1
- package/internal/request-options.d.mts +75 -0
- package/internal/request-options.d.mts.map +1 -0
- package/internal/request-options.d.ts +75 -0
- package/internal/request-options.d.ts.map +1 -0
- package/internal/request-options.js +14 -0
- package/internal/request-options.js.map +1 -0
- package/internal/request-options.mjs +10 -0
- package/internal/request-options.mjs.map +1 -0
- package/internal/shim-types.d.mts +17 -0
- package/internal/shim-types.d.mts.map +1 -0
- package/internal/shim-types.d.ts +17 -0
- package/internal/shim-types.d.ts.map +1 -0
- package/internal/shim-types.js +4 -0
- package/internal/shim-types.js.map +1 -0
- package/internal/shim-types.mjs +3 -0
- package/internal/shim-types.mjs.map +1 -0
- package/internal/shims.d.mts +26 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +26 -0
- package/internal/shims.d.ts.map +1 -0
- package/internal/shims.js +92 -0
- package/internal/shims.js.map +1 -0
- package/internal/shims.mjs +85 -0
- package/internal/shims.mjs.map +1 -0
- package/internal/to-file.d.mts +45 -0
- package/internal/to-file.d.mts.map +1 -0
- package/internal/to-file.d.ts +45 -0
- package/internal/to-file.d.ts.map +1 -0
- package/internal/to-file.js +91 -0
- package/internal/to-file.js.map +1 -0
- package/internal/to-file.mjs +88 -0
- package/internal/to-file.mjs.map +1 -0
- package/internal/tslib.js +81 -0
- package/internal/tslib.mjs +17 -0
- package/internal/types.d.mts +69 -0
- package/internal/types.d.mts.map +1 -0
- package/internal/types.d.ts +69 -0
- package/internal/types.d.ts.map +1 -0
- package/internal/types.js +4 -0
- package/internal/types.js.map +1 -0
- package/internal/types.mjs +3 -0
- package/internal/types.mjs.map +1 -0
- package/internal/uploads.d.mts +42 -0
- package/internal/uploads.d.mts.map +1 -0
- package/internal/uploads.d.ts +42 -0
- package/internal/uploads.d.ts.map +1 -0
- package/internal/uploads.js +141 -0
- package/internal/uploads.js.map +1 -0
- package/internal/uploads.mjs +131 -0
- package/internal/uploads.mjs.map +1 -0
- package/internal/utils/base64.d.mts +3 -0
- package/internal/utils/base64.d.mts.map +1 -0
- package/internal/utils/base64.d.ts +3 -0
- package/internal/utils/base64.d.ts.map +1 -0
- package/internal/utils/base64.js +38 -0
- package/internal/utils/base64.js.map +1 -0
- package/internal/utils/base64.mjs +33 -0
- package/internal/utils/base64.mjs.map +1 -0
- package/internal/utils/bytes.d.mts +4 -0
- package/internal/utils/bytes.d.mts.map +1 -0
- package/internal/utils/bytes.d.ts +4 -0
- package/internal/utils/bytes.d.ts.map +1 -0
- package/internal/utils/bytes.js +31 -0
- package/internal/utils/bytes.js.map +1 -0
- package/internal/utils/bytes.mjs +26 -0
- package/internal/utils/bytes.mjs.map +1 -0
- package/internal/utils/env.d.mts +9 -0
- package/internal/utils/env.d.mts.map +1 -0
- package/internal/utils/env.d.ts +9 -0
- package/internal/utils/env.d.ts.map +1 -0
- package/internal/utils/env.js +22 -0
- package/internal/utils/env.js.map +1 -0
- package/internal/utils/env.mjs +18 -0
- package/internal/utils/env.mjs.map +1 -0
- package/internal/utils/log.d.mts +37 -0
- package/internal/utils/log.d.mts.map +1 -0
- package/internal/utils/log.d.ts +37 -0
- package/internal/utils/log.d.ts.map +1 -0
- package/internal/utils/log.js +87 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +81 -0
- package/internal/utils/log.mjs.map +1 -0
- package/internal/utils/path.d.mts +15 -0
- package/internal/utils/path.d.mts.map +1 -0
- package/internal/utils/path.d.ts +15 -0
- package/internal/utils/path.d.ts.map +1 -0
- package/internal/utils/path.js +79 -0
- package/internal/utils/path.js.map +1 -0
- package/internal/utils/path.mjs +74 -0
- package/internal/utils/path.mjs.map +1 -0
- package/internal/utils/query.d.mts +2 -0
- package/internal/utils/query.d.mts.map +1 -0
- package/internal/utils/query.js +3 -26
- package/internal/utils/query.js.map +1 -1
- package/internal/utils/query.mjs.map +1 -1
- package/internal/utils/sleep.d.mts +2 -0
- package/internal/utils/sleep.d.mts.map +1 -0
- package/internal/utils/sleep.d.ts +2 -0
- package/internal/utils/sleep.d.ts.map +1 -0
- package/internal/utils/sleep.js +7 -0
- package/internal/utils/sleep.js.map +1 -0
- package/internal/utils/sleep.mjs +3 -0
- package/internal/utils/sleep.mjs.map +1 -0
- package/internal/utils/uuid.d.mts +5 -0
- package/internal/utils/uuid.d.mts.map +1 -0
- package/internal/utils/uuid.d.ts +5 -0
- package/internal/utils/uuid.d.ts.map +1 -0
- package/internal/utils/uuid.js +19 -0
- package/internal/utils/uuid.js.map +1 -0
- package/internal/utils/uuid.mjs +15 -0
- package/internal/utils/uuid.mjs.map +1 -0
- package/internal/utils/values.d.mts +18 -0
- package/internal/utils/values.d.mts.map +1 -0
- package/internal/utils/values.d.ts +18 -0
- package/internal/utils/values.d.ts.map +1 -0
- package/internal/utils/values.js +112 -0
- package/internal/utils/values.js.map +1 -0
- package/internal/utils/values.mjs +94 -0
- package/internal/utils/values.mjs.map +1 -0
- package/internal/utils.d.mts +8 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +8 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +12 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +9 -0
- package/internal/utils.mjs.map +1 -0
- package/package.json +122 -65
- package/pagination.d.mts +3 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +2 -30
- package/pagination.d.ts.map +1 -1
- package/pagination.js +3 -37
- package/pagination.js.map +1 -1
- package/pagination.mjs +2 -35
- package/pagination.mjs.map +1 -1
- package/resource.d.mts +3 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +2 -5
- package/resource.d.ts.map +1 -1
- package/resource.js +3 -8
- package/resource.js.map +1 -1
- package/resource.mjs +2 -6
- package/resource.mjs.map +1 -1
- package/resources/alerts.d.mts +430 -0
- package/resources/alerts.d.mts.map +1 -0
- package/resources/alerts.d.ts +14 -17
- package/resources/alerts.d.ts.map +1 -1
- package/resources/alerts.js +37 -27
- package/resources/alerts.js.map +1 -1
- package/resources/alerts.mjs +36 -25
- package/resources/alerts.mjs.map +1 -1
- package/resources/beta/beta.d.mts +2826 -0
- package/resources/beta/beta.d.mts.map +1 -0
- package/resources/beta/beta.d.ts +13 -9
- package/resources/beta/beta.d.ts.map +1 -1
- package/resources/beta/beta.js +10 -30
- package/resources/beta/beta.js.map +1 -1
- package/resources/beta/beta.mjs +8 -6
- package/resources/beta/beta.mjs.map +1 -1
- package/resources/beta/external-plan-id.d.mts +2713 -0
- package/resources/beta/external-plan-id.d.mts.map +1 -0
- package/resources/beta/external-plan-id.d.ts +10 -6
- package/resources/beta/external-plan-id.d.ts.map +1 -1
- package/resources/beta/external-plan-id.js +7 -5
- package/resources/beta/external-plan-id.js.map +1 -1
- package/resources/beta/external-plan-id.mjs +7 -5
- package/resources/beta/external-plan-id.mjs.map +1 -1
- package/resources/beta/index.d.mts +3 -0
- package/resources/beta/index.d.mts.map +1 -0
- package/resources/beta/index.d.ts +2 -2
- package/resources/beta/index.d.ts.map +1 -1
- package/resources/beta/index.js.map +1 -1
- package/resources/beta/index.mjs.map +1 -1
- package/resources/beta.d.mts +2 -0
- package/resources/beta.d.mts.map +1 -0
- package/resources/beta.d.ts.map +1 -1
- package/resources/beta.js +2 -15
- package/resources/beta.js.map +1 -1
- package/resources/beta.mjs.map +1 -1
- package/resources/coupons/coupons.d.mts +148 -0
- package/resources/coupons/coupons.d.mts.map +1 -0
- package/resources/coupons/coupons.d.ts +10 -11
- package/resources/coupons/coupons.d.ts.map +1 -1
- package/resources/coupons/coupons.js +24 -38
- package/resources/coupons/coupons.js.map +1 -1
- package/resources/coupons/coupons.mjs +21 -12
- package/resources/coupons/coupons.mjs.map +1 -1
- package/resources/coupons/index.d.mts +3 -0
- package/resources/coupons/index.d.mts.map +1 -0
- package/resources/coupons/index.d.ts +1 -1
- package/resources/coupons/index.d.ts.map +1 -1
- package/resources/coupons/index.js +1 -2
- package/resources/coupons/index.js.map +1 -1
- package/resources/coupons/index.mjs +1 -1
- package/resources/coupons/index.mjs.map +1 -1
- package/resources/coupons/subscriptions.d.mts +34 -0
- package/resources/coupons/subscriptions.d.mts.map +1 -0
- package/resources/coupons/subscriptions.d.ts +5 -6
- package/resources/coupons/subscriptions.d.ts.map +1 -1
- package/resources/coupons/subscriptions.js +21 -12
- package/resources/coupons/subscriptions.js.map +1 -1
- package/resources/coupons/subscriptions.mjs +20 -11
- package/resources/coupons/subscriptions.mjs.map +1 -1
- package/resources/coupons.d.mts +2 -0
- package/resources/coupons.d.mts.map +1 -0
- package/resources/coupons.d.ts.map +1 -1
- package/resources/coupons.js +2 -15
- package/resources/coupons.js.map +1 -1
- package/resources/coupons.mjs.map +1 -1
- package/resources/credit-blocks.d.mts +275 -0
- package/resources/credit-blocks.d.mts.map +1 -0
- package/resources/credit-blocks.d.ts +50 -9
- package/resources/credit-blocks.d.ts.map +1 -1
- package/resources/credit-blocks.js +7 -5
- package/resources/credit-blocks.js.map +1 -1
- package/resources/credit-blocks.mjs +7 -5
- package/resources/credit-blocks.mjs.map +1 -1
- package/resources/credit-notes.d.mts +144 -0
- package/resources/credit-notes.d.mts.map +1 -0
- package/resources/credit-notes.d.ts +8 -8
- package/resources/credit-notes.d.ts.map +1 -1
- package/resources/credit-notes.js +19 -10
- package/resources/credit-notes.js.map +1 -1
- package/resources/credit-notes.mjs +18 -9
- package/resources/credit-notes.mjs.map +1 -1
- package/resources/customers/balance-transactions.d.mts +135 -0
- package/resources/customers/balance-transactions.d.mts.map +1 -0
- package/resources/customers/balance-transactions.d.ts +8 -9
- package/resources/customers/balance-transactions.d.ts.map +1 -1
- package/resources/customers/balance-transactions.js +29 -13
- package/resources/customers/balance-transactions.js.map +1 -1
- package/resources/customers/balance-transactions.mjs +28 -11
- package/resources/customers/balance-transactions.mjs.map +1 -1
- package/resources/customers/costs.d.mts +314 -0
- package/resources/customers/costs.d.mts.map +1 -0
- package/resources/customers/costs.d.ts +5 -6
- package/resources/customers/costs.d.ts.map +1 -1
- package/resources/customers/costs.js +243 -11
- package/resources/customers/costs.js.map +1 -1
- package/resources/customers/costs.mjs +243 -11
- package/resources/customers/costs.mjs.map +1 -1
- package/resources/customers/credits/credits.d.mts +287 -0
- package/resources/customers/credits/credits.d.mts.map +1 -0
- package/resources/customers/credits/credits.d.ts +55 -19
- package/resources/customers/credits/credits.d.ts.map +1 -1
- package/resources/customers/credits/credits.js +38 -50
- package/resources/customers/credits/credits.js.map +1 -1
- package/resources/customers/credits/credits.mjs +36 -24
- package/resources/customers/credits/credits.mjs.map +1 -1
- package/resources/customers/credits/index.d.mts +4 -0
- package/resources/customers/credits/index.d.mts.map +1 -0
- package/resources/customers/credits/index.d.ts +3 -3
- package/resources/customers/credits/index.d.ts.map +1 -1
- package/resources/customers/credits/index.js +1 -7
- package/resources/customers/credits/index.js.map +1 -1
- package/resources/customers/credits/index.mjs +3 -3
- package/resources/customers/credits/index.mjs.map +1 -1
- package/resources/customers/credits/ledger.d.mts +1202 -0
- package/resources/customers/credits/ledger.d.mts.map +1 -0
- package/resources/customers/credits/ledger.d.ts +11 -14
- package/resources/customers/credits/ledger.d.ts.map +1 -1
- package/resources/customers/credits/ledger.js +172 -27
- package/resources/customers/credits/ledger.js.map +1 -1
- package/resources/customers/credits/ledger.mjs +171 -24
- package/resources/customers/credits/ledger.mjs.map +1 -1
- package/resources/customers/credits/top-ups.d.mts +357 -0
- package/resources/customers/credits/top-ups.d.mts.map +1 -0
- package/resources/customers/credits/top-ups.d.ts +19 -16
- package/resources/customers/credits/top-ups.d.ts.map +1 -1
- package/resources/customers/credits/top-ups.js +24 -29
- package/resources/customers/credits/top-ups.js.map +1 -1
- package/resources/customers/credits/top-ups.mjs +23 -26
- package/resources/customers/credits/top-ups.mjs.map +1 -1
- package/resources/customers/credits.d.mts +2 -0
- package/resources/customers/credits.d.mts.map +1 -0
- package/resources/customers/credits.d.ts.map +1 -1
- package/resources/customers/credits.js +2 -15
- package/resources/customers/credits.js.map +1 -1
- package/resources/customers/credits.mjs.map +1 -1
- package/resources/customers/customers.d.mts +1453 -0
- package/resources/customers/customers.d.mts.map +1 -0
- package/resources/customers/customers.d.ts +17 -18
- package/resources/customers/customers.d.ts.map +1 -1
- package/resources/customers/customers.js +30 -53
- package/resources/customers/customers.js.map +1 -1
- package/resources/customers/customers.mjs +27 -27
- package/resources/customers/customers.mjs.map +1 -1
- package/resources/customers/index.d.mts +5 -0
- package/resources/customers/index.d.mts.map +1 -0
- package/resources/customers/index.d.ts +3 -3
- package/resources/customers/index.d.ts.map +1 -1
- package/resources/customers/index.js +1 -5
- package/resources/customers/index.js.map +1 -1
- package/resources/customers/index.mjs +3 -3
- package/resources/customers/index.mjs.map +1 -1
- package/resources/customers.d.mts +2 -0
- package/resources/customers.d.mts.map +1 -0
- package/resources/customers.d.ts.map +1 -1
- package/resources/customers.js +2 -15
- package/resources/customers.js.map +1 -1
- package/resources/customers.mjs.map +1 -1
- package/resources/dimensional-price-groups/dimensional-price-groups.d.mts +150 -0
- package/resources/dimensional-price-groups/dimensional-price-groups.d.mts.map +1 -0
- package/resources/dimensional-price-groups/dimensional-price-groups.d.ts +11 -12
- package/resources/dimensional-price-groups/dimensional-price-groups.d.ts.map +1 -1
- package/resources/dimensional-price-groups/dimensional-price-groups.js +21 -39
- package/resources/dimensional-price-groups/dimensional-price-groups.js.map +1 -1
- package/resources/dimensional-price-groups/dimensional-price-groups.mjs +18 -13
- package/resources/dimensional-price-groups/dimensional-price-groups.mjs.map +1 -1
- package/resources/dimensional-price-groups/external-dimensional-price-group-id.d.mts +53 -0
- package/resources/dimensional-price-groups/external-dimensional-price-group-id.d.mts.map +1 -0
- package/resources/dimensional-price-groups/external-dimensional-price-group-id.d.ts +7 -6
- package/resources/dimensional-price-groups/external-dimensional-price-group-id.d.ts.map +1 -1
- package/resources/dimensional-price-groups/external-dimensional-price-group-id.js +6 -5
- package/resources/dimensional-price-groups/external-dimensional-price-group-id.js.map +1 -1
- package/resources/dimensional-price-groups/external-dimensional-price-group-id.mjs +6 -5
- package/resources/dimensional-price-groups/external-dimensional-price-group-id.mjs.map +1 -1
- package/resources/dimensional-price-groups/index.d.mts +3 -0
- package/resources/dimensional-price-groups/index.d.mts.map +1 -0
- package/resources/dimensional-price-groups/index.d.ts +1 -1
- package/resources/dimensional-price-groups/index.d.ts.map +1 -1
- package/resources/dimensional-price-groups/index.js +1 -2
- package/resources/dimensional-price-groups/index.js.map +1 -1
- package/resources/dimensional-price-groups/index.mjs +1 -1
- package/resources/dimensional-price-groups/index.mjs.map +1 -1
- package/resources/dimensional-price-groups.d.mts +2 -0
- package/resources/dimensional-price-groups.d.mts.map +1 -0
- package/resources/dimensional-price-groups.d.ts.map +1 -1
- package/resources/dimensional-price-groups.js +2 -15
- package/resources/dimensional-price-groups.js.map +1 -1
- package/resources/dimensional-price-groups.mjs.map +1 -1
- package/resources/events/backfills.d.mts +389 -0
- package/resources/events/backfills.d.mts.map +1 -0
- package/resources/events/backfills.d.ts +11 -12
- package/resources/events/backfills.d.ts.map +1 -1
- package/resources/events/backfills.js +24 -15
- package/resources/events/backfills.js.map +1 -1
- package/resources/events/backfills.mjs +23 -13
- package/resources/events/backfills.mjs.map +1 -1
- package/resources/events/events.d.mts +536 -0
- package/resources/events/events.d.mts.map +1 -0
- package/resources/events/events.d.ts +10 -11
- package/resources/events/events.d.ts.map +1 -1
- package/resources/events/events.js +7 -29
- package/resources/events/events.js.map +1 -1
- package/resources/events/events.mjs +5 -5
- package/resources/events/events.mjs.map +1 -1
- package/resources/events/index.d.mts +4 -0
- package/resources/events/index.d.mts.map +1 -0
- package/resources/events/index.d.ts +1 -1
- package/resources/events/index.d.ts.map +1 -1
- package/resources/events/index.js +1 -2
- package/resources/events/index.js.map +1 -1
- package/resources/events/index.mjs +1 -1
- package/resources/events/index.mjs.map +1 -1
- package/resources/events/volume.d.mts +79 -0
- package/resources/events/volume.d.mts.map +1 -0
- package/resources/events/volume.d.ts +4 -3
- package/resources/events/volume.d.ts.map +1 -1
- package/resources/events/volume.js +1 -1
- package/resources/events/volume.js.map +1 -1
- package/resources/events/volume.mjs +1 -1
- package/resources/events/volume.mjs.map +1 -1
- package/resources/events.d.mts +2 -0
- package/resources/events.d.mts.map +1 -0
- package/resources/events.d.ts.map +1 -1
- package/resources/events.js +2 -15
- package/resources/events.js.map +1 -1
- package/resources/events.mjs.map +1 -1
- package/resources/index.d.mts +22 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts +13 -13
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +7 -33
- package/resources/index.js.map +1 -1
- package/resources/index.mjs +12 -12
- package/resources/index.mjs.map +1 -1
- package/resources/invoice-line-items.d.mts +245 -0
- package/resources/invoice-line-items.d.mts.map +1 -0
- package/resources/invoice-line-items.d.ts +4 -3
- package/resources/invoice-line-items.d.ts.map +1 -1
- package/resources/invoice-line-items.js +1 -1
- package/resources/invoice-line-items.js.map +1 -1
- package/resources/invoice-line-items.mjs +1 -1
- package/resources/invoice-line-items.mjs.map +1 -1
- package/resources/invoices.d.mts +1795 -0
- package/resources/invoices.d.mts.map +1 -0
- package/resources/invoices.d.ts +25 -27
- package/resources/invoices.d.ts.map +1 -1
- package/resources/invoices.js +105 -38
- package/resources/invoices.js.map +1 -1
- package/resources/invoices.mjs +104 -36
- package/resources/invoices.mjs.map +1 -1
- package/resources/items.d.mts +163 -0
- package/resources/items.d.mts.map +1 -0
- package/resources/items.d.ts +11 -12
- package/resources/items.d.ts.map +1 -1
- package/resources/items.js +20 -15
- package/resources/items.js.map +1 -1
- package/resources/items.mjs +19 -13
- package/resources/items.mjs.map +1 -1
- package/resources/license-types.d.mts +112 -0
- package/resources/license-types.d.mts.map +1 -0
- package/resources/license-types.d.ts +9 -10
- package/resources/license-types.d.ts.map +1 -1
- package/resources/license-types.js +14 -13
- package/resources/license-types.js.map +1 -1
- package/resources/license-types.mjs +13 -11
- package/resources/license-types.mjs.map +1 -1
- package/resources/licenses/external-licenses.d.mts +127 -0
- package/resources/licenses/external-licenses.d.mts.map +1 -0
- package/resources/licenses/external-licenses.d.ts +4 -3
- package/resources/licenses/external-licenses.d.ts.map +1 -1
- package/resources/licenses/external-licenses.js +6 -2
- package/resources/licenses/external-licenses.js.map +1 -1
- package/resources/licenses/external-licenses.mjs +6 -2
- package/resources/licenses/external-licenses.mjs.map +1 -1
- package/resources/licenses/index.d.mts +4 -0
- package/resources/licenses/index.d.mts.map +1 -0
- package/resources/licenses/index.d.ts +1 -1
- package/resources/licenses/index.d.ts.map +1 -1
- package/resources/licenses/index.js +1 -2
- package/resources/licenses/index.js.map +1 -1
- package/resources/licenses/index.mjs +1 -1
- package/resources/licenses/index.mjs.map +1 -1
- package/resources/licenses/licenses.d.mts +177 -0
- package/resources/licenses/licenses.d.mts.map +1 -0
- package/resources/licenses/licenses.d.ts +12 -12
- package/resources/licenses/licenses.d.ts.map +1 -1
- package/resources/licenses/licenses.js +13 -38
- package/resources/licenses/licenses.js.map +1 -1
- package/resources/licenses/licenses.mjs +9 -11
- package/resources/licenses/licenses.mjs.map +1 -1
- package/resources/licenses/usage.d.mts +226 -0
- package/resources/licenses/usage.d.mts.map +1 -0
- package/resources/licenses/usage.d.ts +5 -5
- package/resources/licenses/usage.d.ts.map +1 -1
- package/resources/licenses/usage.js +15 -6
- package/resources/licenses/usage.js.map +1 -1
- package/resources/licenses/usage.mjs +15 -6
- package/resources/licenses/usage.mjs.map +1 -1
- package/resources/licenses.d.mts +2 -0
- package/resources/licenses.d.mts.map +1 -0
- package/resources/licenses.d.ts.map +1 -1
- package/resources/licenses.js +2 -15
- package/resources/licenses.js.map +1 -1
- package/resources/licenses.mjs.map +1 -1
- package/resources/metrics.d.mts +147 -0
- package/resources/metrics.d.mts.map +1 -0
- package/resources/metrics.d.ts +15 -11
- package/resources/metrics.d.ts.map +1 -1
- package/resources/metrics.js +19 -14
- package/resources/metrics.js.map +1 -1
- package/resources/metrics.mjs +18 -12
- package/resources/metrics.mjs.map +1 -1
- package/resources/plans/external-plan-id.d.mts +61 -0
- package/resources/plans/external-plan-id.d.mts.map +1 -0
- package/resources/plans/external-plan-id.d.ts +5 -4
- package/resources/plans/external-plan-id.d.ts.map +1 -1
- package/resources/plans/external-plan-id.js +4 -3
- package/resources/plans/external-plan-id.js.map +1 -1
- package/resources/plans/external-plan-id.mjs +4 -3
- package/resources/plans/external-plan-id.mjs.map +1 -1
- package/resources/plans/index.d.mts +4 -0
- package/resources/plans/index.d.mts.map +1 -0
- package/resources/plans/index.d.ts +2 -2
- package/resources/plans/index.d.ts.map +1 -1
- package/resources/plans/index.js +1 -3
- package/resources/plans/index.js.map +1 -1
- package/resources/plans/index.mjs +2 -2
- package/resources/plans/index.mjs.map +1 -1
- package/resources/plans/migrations.d.mts +99 -0
- package/resources/plans/migrations.d.mts.map +1 -0
- package/resources/plans/migrations.d.ts +15 -10
- package/resources/plans/migrations.d.ts.map +1 -1
- package/resources/plans/migrations.js +17 -16
- package/resources/plans/migrations.js.map +1 -1
- package/resources/plans/migrations.mjs +16 -14
- package/resources/plans/migrations.mjs.map +1 -1
- package/resources/plans/plans.d.mts +1682 -0
- package/resources/plans/plans.d.mts.map +1 -0
- package/resources/plans/plans.d.ts +13 -14
- package/resources/plans/plans.d.ts.map +1 -1
- package/resources/plans/plans.js +18 -41
- package/resources/plans/plans.js.map +1 -1
- package/resources/plans/plans.mjs +15 -15
- package/resources/plans/plans.mjs.map +1 -1
- package/resources/plans.d.mts +2 -0
- package/resources/plans.d.mts.map +1 -0
- package/resources/plans.d.ts.map +1 -1
- package/resources/plans.js +2 -15
- package/resources/plans.js.map +1 -1
- package/resources/plans.mjs.map +1 -1
- package/resources/prices/external-price-id.d.mts +55 -0
- package/resources/prices/external-price-id.d.mts.map +1 -0
- package/resources/prices/external-price-id.d.ts +7 -6
- package/resources/prices/external-price-id.d.ts.map +1 -1
- package/resources/prices/external-price-id.js +6 -5
- package/resources/prices/external-price-id.js.map +1 -1
- package/resources/prices/external-price-id.mjs +6 -5
- package/resources/prices/external-price-id.mjs.map +1 -1
- package/resources/prices/index.d.mts +3 -0
- package/resources/prices/index.d.mts.map +1 -0
- package/resources/prices/index.d.ts.map +1 -1
- package/resources/prices/index.mjs.map +1 -1
- package/resources/prices/prices.d.mts +5950 -0
- package/resources/prices/prices.d.mts.map +1 -0
- package/resources/prices/prices.d.ts +13 -13
- package/resources/prices/prices.d.ts.map +1 -1
- package/resources/prices/prices.js +23 -37
- package/resources/prices/prices.js.map +1 -1
- package/resources/prices/prices.mjs +20 -12
- package/resources/prices/prices.mjs.map +1 -1
- package/resources/prices.d.mts +2 -0
- package/resources/prices.d.mts.map +1 -0
- package/resources/prices.d.ts.map +1 -1
- package/resources/prices.js +2 -15
- package/resources/prices.js.map +1 -1
- package/resources/prices.mjs.map +1 -1
- package/resources/shared.d.mts +13354 -0
- package/resources/shared.d.mts.map +1 -0
- package/resources/shared.d.ts +4 -7
- package/resources/shared.d.ts.map +1 -1
- package/resources/shared.js +0 -11
- package/resources/shared.js.map +1 -1
- package/resources/shared.mjs +1 -7
- package/resources/shared.mjs.map +1 -1
- package/resources/subscription-changes.d.mts +434 -0
- package/resources/subscription-changes.d.mts.map +1 -0
- package/resources/subscription-changes.d.ts +10 -12
- package/resources/subscription-changes.d.ts.map +1 -1
- package/resources/subscription-changes.js +18 -18
- package/resources/subscription-changes.js.map +1 -1
- package/resources/subscription-changes.mjs +17 -16
- package/resources/subscription-changes.mjs.map +1 -1
- package/resources/subscriptions.d.mts +10821 -0
- package/resources/subscriptions.d.mts.map +1 -0
- package/resources/subscriptions.d.ts +24 -29
- package/resources/subscriptions.d.ts.map +1 -1
- package/resources/subscriptions.js +284 -40
- package/resources/subscriptions.js.map +1 -1
- package/resources/subscriptions.mjs +283 -37
- package/resources/subscriptions.mjs.map +1 -1
- package/resources/top-level.d.mts +21 -0
- package/resources/top-level.d.mts.map +1 -0
- package/resources/top-level.d.ts +4 -3
- package/resources/top-level.d.ts.map +1 -1
- package/resources/top-level.js +1 -1
- package/resources/top-level.js.map +1 -1
- package/resources/top-level.mjs +1 -1
- package/resources/top-level.mjs.map +1 -1
- package/resources/webhooks.d.mts +24 -0
- package/resources/webhooks.d.mts.map +1 -0
- package/resources/webhooks.d.ts +2 -2
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +18 -5
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +16 -3
- package/resources/webhooks.mjs.map +1 -1
- package/resources.d.mts +2 -0
- package/resources.d.mts.map +1 -0
- package/resources.d.ts.map +1 -1
- package/resources.js +2 -15
- package/resources.js.map +1 -1
- package/resources.mjs.map +1 -1
- package/src/api-promise.ts +2 -0
- package/src/client.ts +1499 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +92 -0
- package/src/core/error.ts +456 -0
- package/src/core/pagination.ts +167 -0
- package/src/core/resource.ts +11 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -456
- package/src/index.ts +6 -923
- package/src/internal/README.md +3 -0
- package/src/internal/builtin-types.ts +93 -0
- package/src/internal/detect-platform.ts +196 -0
- package/src/internal/errors.ts +33 -0
- package/src/internal/headers.ts +97 -0
- package/src/internal/parse.ts +56 -0
- package/src/internal/qs/formats.ts +2 -1
- package/src/internal/qs/stringify.ts +17 -20
- package/src/internal/qs/utils.ts +14 -14
- package/src/internal/request-options.ts +91 -0
- package/src/internal/shim-types.ts +26 -0
- package/src/internal/shims.ts +107 -0
- package/src/internal/to-file.ts +154 -0
- package/src/internal/types.ts +93 -0
- package/src/internal/uploads.ts +187 -0
- package/src/internal/utils/base64.ts +40 -0
- package/src/internal/utils/bytes.ts +32 -0
- package/src/internal/utils/env.ts +18 -0
- package/src/internal/utils/log.ts +128 -0
- package/src/internal/utils/path.ts +88 -0
- package/src/internal/utils/sleep.ts +3 -0
- package/src/internal/utils/uuid.ts +17 -0
- package/src/internal/utils/values.ts +105 -0
- package/src/internal/utils.ts +9 -0
- package/src/pagination.ts +2 -70
- package/src/resource.ts +2 -11
- package/src/resources/alerts.ts +34 -62
- package/src/resources/beta/beta.ts +23 -13
- package/src/resources/beta/external-plan-id.ts +20 -12
- package/src/resources/beta/index.ts +2 -0
- package/src/resources/coupons/coupons.ts +16 -21
- package/src/resources/coupons/index.ts +7 -1
- package/src/resources/coupons/subscriptions.ts +13 -24
- package/src/resources/credit-blocks.ts +62 -16
- package/src/resources/credit-notes.ts +13 -20
- package/src/resources/customers/balance-transactions.ts +15 -28
- package/src/resources/customers/costs.ts +13 -33
- package/src/resources/customers/credits/credits.ts +76 -56
- package/src/resources/customers/credits/index.ts +8 -6
- package/src/resources/customers/credits/ledger.ts +29 -55
- package/src/resources/customers/credits/top-ups.ts +48 -61
- package/src/resources/customers/customers.ts +37 -48
- package/src/resources/customers/index.ts +4 -4
- package/src/resources/dimensional-price-groups/dimensional-price-groups.ts +19 -30
- package/src/resources/dimensional-price-groups/external-dimensional-price-group-id.ts +12 -10
- package/src/resources/dimensional-price-groups/index.ts +1 -1
- package/src/resources/events/backfills.ts +18 -27
- package/src/resources/events/events.ts +14 -15
- package/src/resources/events/index.ts +1 -1
- package/src/resources/events/volume.ts +4 -3
- package/src/resources/index.ts +29 -28
- package/src/resources/invoice-line-items.ts +5 -4
- package/src/resources/invoices.ts +53 -95
- package/src/resources/items.ts +18 -24
- package/src/resources/license-types.ts +14 -31
- package/src/resources/licenses/external-licenses.ts +10 -5
- package/src/resources/licenses/index.ts +1 -1
- package/src/resources/licenses/licenses.ts +21 -20
- package/src/resources/licenses/usage.ts +9 -20
- package/src/resources/metrics.ts +22 -29
- package/src/resources/plans/external-plan-id.ts +9 -7
- package/src/resources/plans/index.ts +4 -2
- package/src/resources/plans/migrations.ts +30 -31
- package/src/resources/plans/plans.ts +22 -24
- package/src/resources/prices/external-price-id.ts +11 -9
- package/src/resources/prices/prices.ts +23 -31
- package/src/resources/shared.ts +4 -4
- package/src/resources/subscription-changes.ts +21 -44
- package/src/resources/subscriptions.ts +66 -106
- package/src/resources/top-level.ts +4 -3
- package/src/resources/webhooks.ts +17 -3
- package/src/tsconfig.json +2 -2
- package/src/uploads.ts +2 -255
- package/src/version.ts +1 -1
- package/uploads.d.mts +3 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +2 -74
- package/uploads.d.ts.map +1 -1
- package/uploads.js +3 -168
- package/uploads.js.map +1 -1
- package/uploads.mjs +2 -157
- package/uploads.mjs.map +1 -1
- package/version.d.mts +2 -0
- package/version.d.mts.map +1 -0
- package/version.d.ts +1 -1
- package/version.d.ts.map +1 -1
- package/version.js +1 -1
- package/version.js.map +1 -1
- package/version.mjs +1 -1
- package/version.mjs.map +1 -1
- package/_shims/MultipartBody.d.ts +0 -9
- package/_shims/MultipartBody.d.ts.map +0 -1
- package/_shims/MultipartBody.js +0 -16
- package/_shims/MultipartBody.js.map +0 -1
- package/_shims/MultipartBody.mjs +0 -12
- package/_shims/MultipartBody.mjs.map +0 -1
- package/_shims/README.md +0 -46
- package/_shims/auto/runtime-bun.d.ts +0 -5
- package/_shims/auto/runtime-bun.d.ts.map +0 -1
- package/_shims/auto/runtime-bun.js +0 -21
- package/_shims/auto/runtime-bun.js.map +0 -1
- package/_shims/auto/runtime-bun.mjs +0 -2
- package/_shims/auto/runtime-bun.mjs.map +0 -1
- package/_shims/auto/runtime-node.d.ts +0 -5
- package/_shims/auto/runtime-node.d.ts.map +0 -1
- package/_shims/auto/runtime-node.js +0 -21
- package/_shims/auto/runtime-node.js.map +0 -1
- package/_shims/auto/runtime-node.mjs +0 -2
- package/_shims/auto/runtime-node.mjs.map +0 -1
- package/_shims/auto/runtime.d.ts +0 -5
- package/_shims/auto/runtime.d.ts.map +0 -1
- package/_shims/auto/runtime.js +0 -21
- package/_shims/auto/runtime.js.map +0 -1
- package/_shims/auto/runtime.mjs +0 -2
- package/_shims/auto/runtime.mjs.map +0 -1
- package/_shims/auto/types-node.d.ts +0 -5
- package/_shims/auto/types-node.d.ts.map +0 -1
- package/_shims/auto/types-node.js +0 -21
- package/_shims/auto/types-node.js.map +0 -1
- package/_shims/auto/types-node.mjs +0 -2
- package/_shims/auto/types-node.mjs.map +0 -1
- package/_shims/auto/types.d.ts +0 -101
- package/_shims/auto/types.js +0 -3
- package/_shims/auto/types.mjs +0 -3
- package/_shims/bun-runtime.d.ts +0 -6
- package/_shims/bun-runtime.d.ts.map +0 -1
- package/_shims/bun-runtime.js +0 -14
- package/_shims/bun-runtime.js.map +0 -1
- package/_shims/bun-runtime.mjs +0 -10
- package/_shims/bun-runtime.mjs.map +0 -1
- package/_shims/index.d.ts +0 -83
- package/_shims/index.js +0 -17
- package/_shims/index.mjs +0 -11
- package/_shims/manual-types.d.ts +0 -12
- package/_shims/manual-types.js +0 -3
- package/_shims/manual-types.mjs +0 -3
- package/_shims/node-runtime.d.ts +0 -3
- package/_shims/node-runtime.d.ts.map +0 -1
- package/_shims/node-runtime.js +0 -89
- package/_shims/node-runtime.js.map +0 -1
- package/_shims/node-runtime.mjs +0 -56
- package/_shims/node-runtime.mjs.map +0 -1
- package/_shims/node-types.d.ts +0 -42
- package/_shims/node-types.js +0 -3
- package/_shims/node-types.mjs +0 -3
- package/_shims/registry.d.ts +0 -37
- package/_shims/registry.d.ts.map +0 -1
- package/_shims/registry.js +0 -41
- package/_shims/registry.js.map +0 -1
- package/_shims/registry.mjs +0 -37
- package/_shims/registry.mjs.map +0 -1
- package/_shims/web-runtime.d.ts +0 -5
- package/_shims/web-runtime.d.ts.map +0 -1
- package/_shims/web-runtime.js +0 -78
- package/_shims/web-runtime.js.map +0 -1
- package/_shims/web-runtime.mjs +0 -71
- package/_shims/web-runtime.mjs.map +0 -1
- package/_shims/web-types.d.ts +0 -83
- package/_shims/web-types.js +0 -3
- package/_shims/web-types.mjs +0 -3
- package/core.d.ts +0 -255
- package/core.d.ts.map +0 -1
- package/core.js +0 -920
- package/core.js.map +0 -1
- package/core.mjs +0 -888
- package/core.mjs.map +0 -1
- package/shims/node.d.ts +0 -30
- package/shims/node.d.ts.map +0 -1
- package/shims/node.js +0 -31
- package/shims/node.js.map +0 -1
- package/shims/node.mjs +0 -5
- package/shims/node.mjs.map +0 -1
- package/shims/web.d.ts +0 -26
- package/shims/web.d.ts.map +0 -1
- package/shims/web.js +0 -31
- package/shims/web.js.map +0 -1
- package/shims/web.mjs +0 -5
- package/shims/web.mjs.map +0 -1
- package/src/_shims/MultipartBody.ts +0 -9
- package/src/_shims/README.md +0 -46
- package/src/_shims/auto/runtime-bun.ts +0 -4
- package/src/_shims/auto/runtime-node.ts +0 -4
- package/src/_shims/auto/runtime.ts +0 -4
- package/src/_shims/auto/types-node.ts +0 -4
- package/src/_shims/auto/types.d.ts +0 -101
- package/src/_shims/auto/types.js +0 -3
- package/src/_shims/auto/types.mjs +0 -3
- package/src/_shims/bun-runtime.ts +0 -14
- package/src/_shims/index.d.ts +0 -83
- package/src/_shims/index.js +0 -17
- package/src/_shims/index.mjs +0 -11
- package/src/_shims/manual-types.d.ts +0 -12
- package/src/_shims/manual-types.js +0 -3
- package/src/_shims/manual-types.mjs +0 -3
- package/src/_shims/node-runtime.ts +0 -81
- package/src/_shims/node-types.d.ts +0 -42
- package/src/_shims/node-types.js +0 -3
- package/src/_shims/node-types.mjs +0 -3
- package/src/_shims/registry.ts +0 -67
- package/src/_shims/web-runtime.ts +0 -103
- package/src/_shims/web-types.d.ts +0 -83
- package/src/_shims/web-types.js +0 -3
- package/src/_shims/web-types.mjs +0 -3
- package/src/core.ts +0 -1231
- package/src/shims/node.ts +0 -50
- package/src/shims/web.ts +0 -50
package/client.js
ADDED
|
@@ -0,0 +1,650 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
|
|
3
|
+
var _BaseOrb_instances, _a, _BaseOrb_encoder, _BaseOrb_baseURLOverridden;
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.Orb = exports.BaseOrb = void 0;
|
|
6
|
+
const tslib_1 = require("./internal/tslib.js");
|
|
7
|
+
const uuid_1 = require("./internal/utils/uuid.js");
|
|
8
|
+
const values_1 = require("./internal/utils/values.js");
|
|
9
|
+
const sleep_1 = require("./internal/utils/sleep.js");
|
|
10
|
+
const errors_1 = require("./internal/errors.js");
|
|
11
|
+
const detect_platform_1 = require("./internal/detect-platform.js");
|
|
12
|
+
const Shims = tslib_1.__importStar(require("./internal/shims.js"));
|
|
13
|
+
const Opts = tslib_1.__importStar(require("./internal/request-options.js"));
|
|
14
|
+
const query_1 = require("./internal/utils/query.js");
|
|
15
|
+
const version_1 = require("./version.js");
|
|
16
|
+
const Errors = tslib_1.__importStar(require("./core/error.js"));
|
|
17
|
+
const Pagination = tslib_1.__importStar(require("./core/pagination.js"));
|
|
18
|
+
const Uploads = tslib_1.__importStar(require("./core/uploads.js"));
|
|
19
|
+
const API = tslib_1.__importStar(require("./resources/index.js"));
|
|
20
|
+
const api_promise_1 = require("./core/api-promise.js");
|
|
21
|
+
const alerts_1 = require("./resources/alerts.js");
|
|
22
|
+
const credit_blocks_1 = require("./resources/credit-blocks.js");
|
|
23
|
+
const credit_notes_1 = require("./resources/credit-notes.js");
|
|
24
|
+
const invoice_line_items_1 = require("./resources/invoice-line-items.js");
|
|
25
|
+
const invoices_1 = require("./resources/invoices.js");
|
|
26
|
+
const items_1 = require("./resources/items.js");
|
|
27
|
+
const license_types_1 = require("./resources/license-types.js");
|
|
28
|
+
const metrics_1 = require("./resources/metrics.js");
|
|
29
|
+
const subscription_changes_1 = require("./resources/subscription-changes.js");
|
|
30
|
+
const top_level_1 = require("./resources/top-level.js");
|
|
31
|
+
const webhooks_1 = require("./resources/webhooks.js");
|
|
32
|
+
const beta_1 = require("./resources/beta/beta.js");
|
|
33
|
+
const coupons_1 = require("./resources/coupons/coupons.js");
|
|
34
|
+
const customers_1 = require("./resources/customers/customers.js");
|
|
35
|
+
const events_1 = require("./resources/events/events.js");
|
|
36
|
+
const licenses_1 = require("./resources/licenses/licenses.js");
|
|
37
|
+
const plans_1 = require("./resources/plans/plans.js");
|
|
38
|
+
const prices_1 = require("./resources/prices/prices.js");
|
|
39
|
+
const headers_1 = require("./internal/headers.js");
|
|
40
|
+
const env_1 = require("./internal/utils/env.js");
|
|
41
|
+
const log_1 = require("./internal/utils/log.js");
|
|
42
|
+
const values_2 = require("./internal/utils/values.js");
|
|
43
|
+
/**
|
|
44
|
+
* Base class for Orb API clients.
|
|
45
|
+
*/
|
|
46
|
+
class BaseOrb {
|
|
47
|
+
/**
|
|
48
|
+
* API Client for interfacing with the Orb API.
|
|
49
|
+
*
|
|
50
|
+
* @param {string | undefined} [opts.apiKey=process.env['ORB_API_KEY'] ?? undefined]
|
|
51
|
+
* @param {string | null | undefined} [opts.webhookSecret=process.env['ORB_WEBHOOK_SECRET'] ?? null]
|
|
52
|
+
* @param {string} [opts.baseURL=process.env['ORB_BASE_URL'] ?? https://api.withorb.com/v1] - Override the default base URL for the API.
|
|
53
|
+
* @param {number} [opts.timeout=1 minute] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out.
|
|
54
|
+
* @param {MergedRequestInit} [opts.fetchOptions] - Additional `RequestInit` options to be passed to `fetch` calls.
|
|
55
|
+
* @param {Fetch} [opts.fetch] - Specify a custom `fetch` function implementation.
|
|
56
|
+
* @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request.
|
|
57
|
+
* @param {HeadersLike} opts.defaultHeaders - Default headers to include with every request to the API.
|
|
58
|
+
* @param {Record<string, string | undefined>} opts.defaultQuery - Default query parameters to include with every request to the API.
|
|
59
|
+
*/
|
|
60
|
+
constructor({ baseURL = (0, env_1.readEnv)('ORB_BASE_URL'), apiKey = (0, env_1.readEnv)('ORB_API_KEY'), webhookSecret = (0, env_1.readEnv)('ORB_WEBHOOK_SECRET') ?? null, ...opts } = {}) {
|
|
61
|
+
_BaseOrb_instances.add(this);
|
|
62
|
+
_BaseOrb_encoder.set(this, void 0);
|
|
63
|
+
if (apiKey === undefined) {
|
|
64
|
+
throw new Errors.OrbError("The ORB_API_KEY environment variable is missing or empty; either provide it, or instantiate the Orb client with an apiKey option, like new Orb({ apiKey: 'My API Key' }).");
|
|
65
|
+
}
|
|
66
|
+
const options = {
|
|
67
|
+
apiKey,
|
|
68
|
+
webhookSecret,
|
|
69
|
+
...opts,
|
|
70
|
+
baseURL: baseURL || `https://api.withorb.com/v1`,
|
|
71
|
+
};
|
|
72
|
+
this.baseURL = options.baseURL;
|
|
73
|
+
this.timeout = options.timeout ?? _a.DEFAULT_TIMEOUT /* 1 minute */;
|
|
74
|
+
this.logger = options.logger ?? console;
|
|
75
|
+
const defaultLogLevel = 'warn';
|
|
76
|
+
// Set default logLevel early so that we can log a warning in parseLogLevel.
|
|
77
|
+
this.logLevel = defaultLogLevel;
|
|
78
|
+
this.logLevel =
|
|
79
|
+
(0, log_1.parseLogLevel)(options.logLevel, 'ClientOptions.logLevel', this) ??
|
|
80
|
+
(0, log_1.parseLogLevel)((0, env_1.readEnv)('ORB_LOG'), "process.env['ORB_LOG']", this) ??
|
|
81
|
+
defaultLogLevel;
|
|
82
|
+
this.fetchOptions = options.fetchOptions;
|
|
83
|
+
this.maxRetries = options.maxRetries ?? 2;
|
|
84
|
+
this.fetch = options.fetch ?? Shims.getDefaultFetch();
|
|
85
|
+
tslib_1.__classPrivateFieldSet(this, _BaseOrb_encoder, Opts.FallbackEncoder, "f");
|
|
86
|
+
const customHeadersEnv = (0, env_1.readEnv)('ORB_CUSTOM_HEADERS');
|
|
87
|
+
if (customHeadersEnv) {
|
|
88
|
+
const parsed = {};
|
|
89
|
+
for (const line of customHeadersEnv.split('\n')) {
|
|
90
|
+
const colon = line.indexOf(':');
|
|
91
|
+
if (colon >= 0) {
|
|
92
|
+
parsed[line.substring(0, colon).trim()] = line.substring(colon + 1).trim();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
options.defaultHeaders = { ...parsed, ...options.defaultHeaders };
|
|
96
|
+
}
|
|
97
|
+
this._options = options;
|
|
98
|
+
this.idempotencyHeader = 'Idempotency-Key';
|
|
99
|
+
this.apiKey = apiKey;
|
|
100
|
+
this.webhookSecret = webhookSecret;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Create a new client instance re-using the same options given to the current client with optional overriding.
|
|
104
|
+
*/
|
|
105
|
+
withOptions(options) {
|
|
106
|
+
const client = new this.constructor({
|
|
107
|
+
...this._options,
|
|
108
|
+
baseURL: this.baseURL,
|
|
109
|
+
maxRetries: this.maxRetries,
|
|
110
|
+
timeout: this.timeout,
|
|
111
|
+
logger: this.logger,
|
|
112
|
+
logLevel: this.logLevel,
|
|
113
|
+
fetch: this.fetch,
|
|
114
|
+
fetchOptions: this.fetchOptions,
|
|
115
|
+
apiKey: this.apiKey,
|
|
116
|
+
webhookSecret: this.webhookSecret,
|
|
117
|
+
...options,
|
|
118
|
+
});
|
|
119
|
+
return client;
|
|
120
|
+
}
|
|
121
|
+
defaultQuery() {
|
|
122
|
+
return this._options.defaultQuery;
|
|
123
|
+
}
|
|
124
|
+
validateHeaders({ values, nulls }) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
async authHeaders(opts) {
|
|
128
|
+
return (0, headers_1.buildHeaders)([{ Authorization: `Bearer ${this.apiKey}` }]);
|
|
129
|
+
}
|
|
130
|
+
stringifyQuery(query) {
|
|
131
|
+
return (0, query_1.stringifyQuery)(query);
|
|
132
|
+
}
|
|
133
|
+
getUserAgent() {
|
|
134
|
+
return `${this.constructor.name}/JS ${version_1.VERSION}`;
|
|
135
|
+
}
|
|
136
|
+
defaultIdempotencyKey() {
|
|
137
|
+
return `stainless-node-retry-${(0, uuid_1.uuid4)()}`;
|
|
138
|
+
}
|
|
139
|
+
makeStatusError(status, error, message, headers) {
|
|
140
|
+
return Errors.APIError.generate(status, error, message, headers);
|
|
141
|
+
}
|
|
142
|
+
buildURL(path, query, defaultBaseURL) {
|
|
143
|
+
const baseURL = (!tslib_1.__classPrivateFieldGet(this, _BaseOrb_instances, "m", _BaseOrb_baseURLOverridden).call(this) && defaultBaseURL) || this.baseURL;
|
|
144
|
+
const url = (0, values_1.isAbsoluteURL)(path) ?
|
|
145
|
+
new URL(path)
|
|
146
|
+
: new URL(baseURL + (baseURL.endsWith('/') && path.startsWith('/') ? path.slice(1) : path));
|
|
147
|
+
const defaultQuery = this.defaultQuery();
|
|
148
|
+
const pathQuery = Object.fromEntries(url.searchParams);
|
|
149
|
+
if (!(0, values_2.isEmptyObj)(defaultQuery) || !(0, values_2.isEmptyObj)(pathQuery)) {
|
|
150
|
+
query = { ...pathQuery, ...defaultQuery, ...query };
|
|
151
|
+
}
|
|
152
|
+
if (typeof query === 'object' && query && !Array.isArray(query)) {
|
|
153
|
+
url.search = this.stringifyQuery(query);
|
|
154
|
+
}
|
|
155
|
+
return url.toString();
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Used as a callback for mutating the given `FinalRequestOptions` object.
|
|
159
|
+
*/
|
|
160
|
+
async prepareOptions(options) { }
|
|
161
|
+
/**
|
|
162
|
+
* Used as a callback for mutating the given `RequestInit` object.
|
|
163
|
+
*
|
|
164
|
+
* This is useful for cases where you want to add certain headers based off of
|
|
165
|
+
* the request properties, e.g. `method` or `url`.
|
|
166
|
+
*/
|
|
167
|
+
async prepareRequest(request, { url, options }) { }
|
|
168
|
+
get(path, opts) {
|
|
169
|
+
return this.methodRequest('get', path, opts);
|
|
170
|
+
}
|
|
171
|
+
post(path, opts) {
|
|
172
|
+
return this.methodRequest('post', path, opts);
|
|
173
|
+
}
|
|
174
|
+
patch(path, opts) {
|
|
175
|
+
return this.methodRequest('patch', path, opts);
|
|
176
|
+
}
|
|
177
|
+
put(path, opts) {
|
|
178
|
+
return this.methodRequest('put', path, opts);
|
|
179
|
+
}
|
|
180
|
+
delete(path, opts) {
|
|
181
|
+
return this.methodRequest('delete', path, opts);
|
|
182
|
+
}
|
|
183
|
+
methodRequest(method, path, opts) {
|
|
184
|
+
return this.request(Promise.resolve(opts).then((opts) => {
|
|
185
|
+
return { method, path, ...opts };
|
|
186
|
+
}));
|
|
187
|
+
}
|
|
188
|
+
request(options, remainingRetries = null) {
|
|
189
|
+
return new api_promise_1.APIPromise(this, this.makeRequest(options, remainingRetries, undefined));
|
|
190
|
+
}
|
|
191
|
+
async makeRequest(optionsInput, retriesRemaining, retryOfRequestLogID) {
|
|
192
|
+
const options = await optionsInput;
|
|
193
|
+
const maxRetries = options.maxRetries ?? this.maxRetries;
|
|
194
|
+
if (retriesRemaining == null) {
|
|
195
|
+
retriesRemaining = maxRetries;
|
|
196
|
+
}
|
|
197
|
+
await this.prepareOptions(options);
|
|
198
|
+
const { req, url, timeout } = await this.buildRequest(options, {
|
|
199
|
+
retryCount: maxRetries - retriesRemaining,
|
|
200
|
+
});
|
|
201
|
+
await this.prepareRequest(req, { url, options });
|
|
202
|
+
/** Not an API request ID, just for correlating local log entries. */
|
|
203
|
+
const requestLogID = 'log_' + ((Math.random() * (1 << 24)) | 0).toString(16).padStart(6, '0');
|
|
204
|
+
const retryLogStr = retryOfRequestLogID === undefined ? '' : `, retryOf: ${retryOfRequestLogID}`;
|
|
205
|
+
const startTime = Date.now();
|
|
206
|
+
(0, log_1.loggerFor)(this).debug(`[${requestLogID}] sending request`, (0, log_1.formatRequestDetails)({
|
|
207
|
+
retryOfRequestLogID,
|
|
208
|
+
method: options.method,
|
|
209
|
+
url,
|
|
210
|
+
options,
|
|
211
|
+
headers: req.headers,
|
|
212
|
+
}));
|
|
213
|
+
if (options.signal?.aborted) {
|
|
214
|
+
throw new Errors.APIUserAbortError();
|
|
215
|
+
}
|
|
216
|
+
const controller = new AbortController();
|
|
217
|
+
const response = await this.fetchWithTimeout(url, req, timeout, controller).catch(errors_1.castToError);
|
|
218
|
+
const headersTime = Date.now();
|
|
219
|
+
if (response instanceof globalThis.Error) {
|
|
220
|
+
const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;
|
|
221
|
+
if (options.signal?.aborted) {
|
|
222
|
+
throw new Errors.APIUserAbortError();
|
|
223
|
+
}
|
|
224
|
+
// detect native connection timeout errors
|
|
225
|
+
// deno throws "TypeError: error sending request for url (https://example/): client error (Connect): tcp connect error: Operation timed out (os error 60): Operation timed out (os error 60)"
|
|
226
|
+
// undici throws "TypeError: fetch failed" with cause "ConnectTimeoutError: Connect Timeout Error (attempted address: example:443, timeout: 1ms)"
|
|
227
|
+
// others do not provide enough information to distinguish timeouts from other connection errors
|
|
228
|
+
const isTimeout = (0, errors_1.isAbortError)(response) ||
|
|
229
|
+
/timed? ?out/i.test(String(response) + ('cause' in response ? String(response.cause) : ''));
|
|
230
|
+
if (retriesRemaining) {
|
|
231
|
+
(0, log_1.loggerFor)(this).info(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} - ${retryMessage}`);
|
|
232
|
+
(0, log_1.loggerFor)(this).debug(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} (${retryMessage})`, (0, log_1.formatRequestDetails)({
|
|
233
|
+
retryOfRequestLogID,
|
|
234
|
+
url,
|
|
235
|
+
durationMs: headersTime - startTime,
|
|
236
|
+
message: response.message,
|
|
237
|
+
}));
|
|
238
|
+
return this.retryRequest(options, retriesRemaining, retryOfRequestLogID ?? requestLogID);
|
|
239
|
+
}
|
|
240
|
+
(0, log_1.loggerFor)(this).info(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} - error; no more retries left`);
|
|
241
|
+
(0, log_1.loggerFor)(this).debug(`[${requestLogID}] connection ${isTimeout ? 'timed out' : 'failed'} (error; no more retries left)`, (0, log_1.formatRequestDetails)({
|
|
242
|
+
retryOfRequestLogID,
|
|
243
|
+
url,
|
|
244
|
+
durationMs: headersTime - startTime,
|
|
245
|
+
message: response.message,
|
|
246
|
+
}));
|
|
247
|
+
if (isTimeout) {
|
|
248
|
+
throw new Errors.APIConnectionTimeoutError();
|
|
249
|
+
}
|
|
250
|
+
throw new Errors.APIConnectionError({ cause: response });
|
|
251
|
+
}
|
|
252
|
+
const responseInfo = `[${requestLogID}${retryLogStr}] ${req.method} ${url} ${response.ok ? 'succeeded' : 'failed'} with status ${response.status} in ${headersTime - startTime}ms`;
|
|
253
|
+
if (!response.ok) {
|
|
254
|
+
const shouldRetry = await this.shouldRetry(response);
|
|
255
|
+
if (retriesRemaining && shouldRetry) {
|
|
256
|
+
const retryMessage = `retrying, ${retriesRemaining} attempts remaining`;
|
|
257
|
+
// We don't need the body of this response.
|
|
258
|
+
await Shims.CancelReadableStream(response.body);
|
|
259
|
+
(0, log_1.loggerFor)(this).info(`${responseInfo} - ${retryMessage}`);
|
|
260
|
+
(0, log_1.loggerFor)(this).debug(`[${requestLogID}] response error (${retryMessage})`, (0, log_1.formatRequestDetails)({
|
|
261
|
+
retryOfRequestLogID,
|
|
262
|
+
url: response.url,
|
|
263
|
+
status: response.status,
|
|
264
|
+
headers: response.headers,
|
|
265
|
+
durationMs: headersTime - startTime,
|
|
266
|
+
}));
|
|
267
|
+
return this.retryRequest(options, retriesRemaining, retryOfRequestLogID ?? requestLogID, response.headers);
|
|
268
|
+
}
|
|
269
|
+
const retryMessage = shouldRetry ? `error; no more retries left` : `error; not retryable`;
|
|
270
|
+
(0, log_1.loggerFor)(this).info(`${responseInfo} - ${retryMessage}`);
|
|
271
|
+
const errText = await response.text().catch((err) => (0, errors_1.castToError)(err).message);
|
|
272
|
+
const errJSON = (0, values_1.safeJSON)(errText);
|
|
273
|
+
const errMessage = errJSON ? undefined : errText;
|
|
274
|
+
(0, log_1.loggerFor)(this).debug(`[${requestLogID}] response error (${retryMessage})`, (0, log_1.formatRequestDetails)({
|
|
275
|
+
retryOfRequestLogID,
|
|
276
|
+
url: response.url,
|
|
277
|
+
status: response.status,
|
|
278
|
+
headers: response.headers,
|
|
279
|
+
message: errMessage,
|
|
280
|
+
durationMs: Date.now() - startTime,
|
|
281
|
+
}));
|
|
282
|
+
const err = this.makeStatusError(response.status, errJSON, errMessage, response.headers);
|
|
283
|
+
throw err;
|
|
284
|
+
}
|
|
285
|
+
(0, log_1.loggerFor)(this).info(responseInfo);
|
|
286
|
+
(0, log_1.loggerFor)(this).debug(`[${requestLogID}] response start`, (0, log_1.formatRequestDetails)({
|
|
287
|
+
retryOfRequestLogID,
|
|
288
|
+
url: response.url,
|
|
289
|
+
status: response.status,
|
|
290
|
+
headers: response.headers,
|
|
291
|
+
durationMs: headersTime - startTime,
|
|
292
|
+
}));
|
|
293
|
+
return { response, options, controller, requestLogID, retryOfRequestLogID, startTime };
|
|
294
|
+
}
|
|
295
|
+
getAPIList(path, Page, opts) {
|
|
296
|
+
return this.requestAPIList(Page, opts && 'then' in opts ?
|
|
297
|
+
opts.then((opts) => ({ method: 'get', path, ...opts }))
|
|
298
|
+
: { method: 'get', path, ...opts });
|
|
299
|
+
}
|
|
300
|
+
requestAPIList(Page, options) {
|
|
301
|
+
const request = this.makeRequest(options, null, undefined);
|
|
302
|
+
return new Pagination.PagePromise(this, request, Page);
|
|
303
|
+
}
|
|
304
|
+
async fetchWithTimeout(url, init, ms, controller) {
|
|
305
|
+
const { signal, method, ...options } = init || {};
|
|
306
|
+
const abort = this._makeAbort(controller);
|
|
307
|
+
if (signal)
|
|
308
|
+
signal.addEventListener('abort', abort, { once: true });
|
|
309
|
+
const timeout = setTimeout(abort, ms);
|
|
310
|
+
const isReadableBody = (globalThis.ReadableStream && options.body instanceof globalThis.ReadableStream) ||
|
|
311
|
+
(typeof options.body === 'object' && options.body !== null && Symbol.asyncIterator in options.body);
|
|
312
|
+
const fetchOptions = {
|
|
313
|
+
signal: controller.signal,
|
|
314
|
+
...(isReadableBody ? { duplex: 'half' } : {}),
|
|
315
|
+
method: 'GET',
|
|
316
|
+
...options,
|
|
317
|
+
};
|
|
318
|
+
if (method) {
|
|
319
|
+
// Custom methods like 'patch' need to be uppercased
|
|
320
|
+
// See https://github.com/nodejs/undici/issues/2294
|
|
321
|
+
fetchOptions.method = method.toUpperCase();
|
|
322
|
+
}
|
|
323
|
+
try {
|
|
324
|
+
// use undefined this binding; fetch errors if bound to something else in browser/cloudflare
|
|
325
|
+
return await this.fetch.call(undefined, url, fetchOptions);
|
|
326
|
+
}
|
|
327
|
+
finally {
|
|
328
|
+
clearTimeout(timeout);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
async shouldRetry(response) {
|
|
332
|
+
// Note this is not a standard header.
|
|
333
|
+
const shouldRetryHeader = response.headers.get('x-should-retry');
|
|
334
|
+
// If the server explicitly says whether or not to retry, obey.
|
|
335
|
+
if (shouldRetryHeader === 'true')
|
|
336
|
+
return true;
|
|
337
|
+
if (shouldRetryHeader === 'false')
|
|
338
|
+
return false;
|
|
339
|
+
// Retry on request timeouts.
|
|
340
|
+
if (response.status === 408)
|
|
341
|
+
return true;
|
|
342
|
+
// Retry on lock timeouts.
|
|
343
|
+
if (response.status === 409)
|
|
344
|
+
return true;
|
|
345
|
+
// Retry on rate limits.
|
|
346
|
+
if (response.status === 429)
|
|
347
|
+
return true;
|
|
348
|
+
// Retry internal errors.
|
|
349
|
+
if (response.status >= 500)
|
|
350
|
+
return true;
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
async retryRequest(options, retriesRemaining, requestLogID, responseHeaders) {
|
|
354
|
+
let timeoutMillis;
|
|
355
|
+
// Note the `retry-after-ms` header may not be standard, but is a good idea and we'd like proactive support for it.
|
|
356
|
+
const retryAfterMillisHeader = responseHeaders?.get('retry-after-ms');
|
|
357
|
+
if (retryAfterMillisHeader) {
|
|
358
|
+
const timeoutMs = parseFloat(retryAfterMillisHeader);
|
|
359
|
+
if (!Number.isNaN(timeoutMs)) {
|
|
360
|
+
timeoutMillis = timeoutMs;
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
// About the Retry-After header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After
|
|
364
|
+
const retryAfterHeader = responseHeaders?.get('retry-after');
|
|
365
|
+
if (retryAfterHeader && !timeoutMillis) {
|
|
366
|
+
const timeoutSeconds = parseFloat(retryAfterHeader);
|
|
367
|
+
if (!Number.isNaN(timeoutSeconds)) {
|
|
368
|
+
timeoutMillis = timeoutSeconds * 1000;
|
|
369
|
+
}
|
|
370
|
+
else {
|
|
371
|
+
timeoutMillis = Date.parse(retryAfterHeader) - Date.now();
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
// If the API asks us to wait a certain amount of time, just do what it
|
|
375
|
+
// says, but otherwise calculate a default
|
|
376
|
+
if (timeoutMillis === undefined) {
|
|
377
|
+
const maxRetries = options.maxRetries ?? this.maxRetries;
|
|
378
|
+
timeoutMillis = this.calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries);
|
|
379
|
+
}
|
|
380
|
+
await (0, sleep_1.sleep)(timeoutMillis);
|
|
381
|
+
return this.makeRequest(options, retriesRemaining - 1, requestLogID);
|
|
382
|
+
}
|
|
383
|
+
calculateDefaultRetryTimeoutMillis(retriesRemaining, maxRetries) {
|
|
384
|
+
const initialRetryDelay = 0.5;
|
|
385
|
+
const maxRetryDelay = 8.0;
|
|
386
|
+
const numRetries = maxRetries - retriesRemaining;
|
|
387
|
+
// Apply exponential backoff, but not more than the max.
|
|
388
|
+
const sleepSeconds = Math.min(initialRetryDelay * Math.pow(2, numRetries), maxRetryDelay);
|
|
389
|
+
// Apply some jitter, take up to at most 25 percent of the retry time.
|
|
390
|
+
const jitter = 1 - Math.random() * 0.25;
|
|
391
|
+
return sleepSeconds * jitter * 1000;
|
|
392
|
+
}
|
|
393
|
+
async buildRequest(inputOptions, { retryCount = 0 } = {}) {
|
|
394
|
+
const options = { ...inputOptions };
|
|
395
|
+
const { method, path, query, defaultBaseURL } = options;
|
|
396
|
+
const url = this.buildURL(path, query, defaultBaseURL);
|
|
397
|
+
if ('timeout' in options)
|
|
398
|
+
(0, values_1.validatePositiveInteger)('timeout', options.timeout);
|
|
399
|
+
options.timeout = options.timeout ?? this.timeout;
|
|
400
|
+
const { bodyHeaders, body } = this.buildBody({ options });
|
|
401
|
+
const reqHeaders = await this.buildHeaders({ options: inputOptions, method, bodyHeaders, retryCount });
|
|
402
|
+
const req = {
|
|
403
|
+
method,
|
|
404
|
+
headers: reqHeaders,
|
|
405
|
+
...(options.signal && { signal: options.signal }),
|
|
406
|
+
...(globalThis.ReadableStream &&
|
|
407
|
+
body instanceof globalThis.ReadableStream && { duplex: 'half' }),
|
|
408
|
+
...(body && { body }),
|
|
409
|
+
...(this.fetchOptions ?? {}),
|
|
410
|
+
...(options.fetchOptions ?? {}),
|
|
411
|
+
};
|
|
412
|
+
return { req, url, timeout: options.timeout };
|
|
413
|
+
}
|
|
414
|
+
async buildHeaders({ options, method, bodyHeaders, retryCount, }) {
|
|
415
|
+
let idempotencyHeaders = {};
|
|
416
|
+
if (this.idempotencyHeader && method !== 'get') {
|
|
417
|
+
if (!options.idempotencyKey)
|
|
418
|
+
options.idempotencyKey = this.defaultIdempotencyKey();
|
|
419
|
+
idempotencyHeaders[this.idempotencyHeader] = options.idempotencyKey;
|
|
420
|
+
}
|
|
421
|
+
const headers = (0, headers_1.buildHeaders)([
|
|
422
|
+
idempotencyHeaders,
|
|
423
|
+
{
|
|
424
|
+
Accept: 'application/json',
|
|
425
|
+
'User-Agent': this.getUserAgent(),
|
|
426
|
+
'X-Stainless-Retry-Count': String(retryCount),
|
|
427
|
+
...(options.timeout ? { 'X-Stainless-Timeout': String(Math.trunc(options.timeout / 1000)) } : {}),
|
|
428
|
+
...(0, detect_platform_1.getPlatformHeaders)(),
|
|
429
|
+
},
|
|
430
|
+
await this.authHeaders(options),
|
|
431
|
+
this._options.defaultHeaders,
|
|
432
|
+
bodyHeaders,
|
|
433
|
+
options.headers,
|
|
434
|
+
]);
|
|
435
|
+
this.validateHeaders(headers);
|
|
436
|
+
return headers.values;
|
|
437
|
+
}
|
|
438
|
+
_makeAbort(controller) {
|
|
439
|
+
// note: we can't just inline this method inside `fetchWithTimeout()` because then the closure
|
|
440
|
+
// would capture all request options, and cause a memory leak.
|
|
441
|
+
return () => controller.abort();
|
|
442
|
+
}
|
|
443
|
+
buildBody({ options }) {
|
|
444
|
+
const { body, headers: rawHeaders } = options;
|
|
445
|
+
if (!body) {
|
|
446
|
+
// A resource method always passes a `body` key when its operation defines a
|
|
447
|
+
// request body, even if the caller omitted an optional body param. Keep the
|
|
448
|
+
// content-type for those, and only elide it for operations with no body at
|
|
449
|
+
// all (e.g. GET/DELETE).
|
|
450
|
+
if (body == null && 'body' in options) {
|
|
451
|
+
return tslib_1.__classPrivateFieldGet(this, _BaseOrb_encoder, "f").call(this, { body, headers: (0, headers_1.buildHeaders)([rawHeaders]) });
|
|
452
|
+
}
|
|
453
|
+
return { bodyHeaders: undefined, body: undefined };
|
|
454
|
+
}
|
|
455
|
+
const headers = (0, headers_1.buildHeaders)([rawHeaders]);
|
|
456
|
+
if (
|
|
457
|
+
// Pass raw type verbatim
|
|
458
|
+
ArrayBuffer.isView(body) ||
|
|
459
|
+
body instanceof ArrayBuffer ||
|
|
460
|
+
body instanceof DataView ||
|
|
461
|
+
(typeof body === 'string' &&
|
|
462
|
+
// Preserve legacy string encoding behavior for now
|
|
463
|
+
headers.values.has('content-type')) ||
|
|
464
|
+
// `Blob` is superset of `File`
|
|
465
|
+
(globalThis.Blob && body instanceof globalThis.Blob) ||
|
|
466
|
+
// `FormData` -> `multipart/form-data`
|
|
467
|
+
body instanceof FormData ||
|
|
468
|
+
// `URLSearchParams` -> `application/x-www-form-urlencoded`
|
|
469
|
+
body instanceof URLSearchParams ||
|
|
470
|
+
// Send chunked stream (each chunk has own `length`)
|
|
471
|
+
(globalThis.ReadableStream && body instanceof globalThis.ReadableStream)) {
|
|
472
|
+
return { bodyHeaders: undefined, body: body };
|
|
473
|
+
}
|
|
474
|
+
else if (typeof body === 'object' &&
|
|
475
|
+
(Symbol.asyncIterator in body ||
|
|
476
|
+
(Symbol.iterator in body && 'next' in body && typeof body.next === 'function'))) {
|
|
477
|
+
return { bodyHeaders: undefined, body: Shims.ReadableStreamFrom(body) };
|
|
478
|
+
}
|
|
479
|
+
else if (typeof body === 'object' &&
|
|
480
|
+
headers.values.get('content-type') === 'application/x-www-form-urlencoded') {
|
|
481
|
+
return {
|
|
482
|
+
bodyHeaders: { 'content-type': 'application/x-www-form-urlencoded' },
|
|
483
|
+
body: this.stringifyQuery(body),
|
|
484
|
+
};
|
|
485
|
+
}
|
|
486
|
+
else {
|
|
487
|
+
return tslib_1.__classPrivateFieldGet(this, _BaseOrb_encoder, "f").call(this, { body, headers });
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
exports.BaseOrb = BaseOrb;
|
|
492
|
+
_a = BaseOrb, _BaseOrb_encoder = new WeakMap(), _BaseOrb_instances = new WeakSet(), _BaseOrb_baseURLOverridden = function _BaseOrb_baseURLOverridden() {
|
|
493
|
+
return this.baseURL !== 'https://api.withorb.com/v1';
|
|
494
|
+
};
|
|
495
|
+
BaseOrb.Orb = _a;
|
|
496
|
+
BaseOrb.DEFAULT_TIMEOUT = 60000; // 1 minute
|
|
497
|
+
BaseOrb.OrbError = Errors.OrbError;
|
|
498
|
+
BaseOrb.APIError = Errors.APIError;
|
|
499
|
+
BaseOrb.APIConnectionError = Errors.APIConnectionError;
|
|
500
|
+
BaseOrb.APIConnectionTimeoutError = Errors.APIConnectionTimeoutError;
|
|
501
|
+
BaseOrb.APIUserAbortError = Errors.APIUserAbortError;
|
|
502
|
+
BaseOrb.URLNotFound = Errors.URLNotFound;
|
|
503
|
+
BaseOrb.NotFoundError = Errors.NotFoundError;
|
|
504
|
+
BaseOrb.ConflictError = Errors.ConflictError;
|
|
505
|
+
BaseOrb.RateLimitError = Errors.RateLimitError;
|
|
506
|
+
BaseOrb.BadRequestError = Errors.BadRequestError;
|
|
507
|
+
BaseOrb.RequestTooLarge = Errors.RequestTooLarge;
|
|
508
|
+
BaseOrb.TooManyRequests = Errors.TooManyRequests;
|
|
509
|
+
BaseOrb.ResourceNotFound = Errors.ResourceNotFound;
|
|
510
|
+
BaseOrb.ResourceConflict = Errors.ResourceConflict;
|
|
511
|
+
BaseOrb.ResourceTooLarge = Errors.ResourceTooLarge;
|
|
512
|
+
BaseOrb.AuthenticationError = Errors.AuthenticationError;
|
|
513
|
+
BaseOrb.InternalServerError = Errors.InternalServerError;
|
|
514
|
+
BaseOrb.ConstraintViolation = Errors.ConstraintViolation;
|
|
515
|
+
BaseOrb.FeatureNotAvailable = Errors.FeatureNotAvailable;
|
|
516
|
+
BaseOrb.PermissionDeniedError = Errors.PermissionDeniedError;
|
|
517
|
+
BaseOrb.RequestValidationError = Errors.RequestValidationError;
|
|
518
|
+
BaseOrb.OrbAuthenticationError = Errors.OrbAuthenticationError;
|
|
519
|
+
BaseOrb.OrbInternalServerError = Errors.OrbInternalServerError;
|
|
520
|
+
BaseOrb.UnprocessableEntityError = Errors.UnprocessableEntityError;
|
|
521
|
+
BaseOrb.DuplicateResourceCreation = Errors.DuplicateResourceCreation;
|
|
522
|
+
BaseOrb.toFile = Uploads.toFile;
|
|
523
|
+
/**
|
|
524
|
+
* API Client for interfacing with the Orb API.
|
|
525
|
+
*/
|
|
526
|
+
class Orb extends BaseOrb {
|
|
527
|
+
constructor() {
|
|
528
|
+
super(...arguments);
|
|
529
|
+
this.topLevel = new API.TopLevel(this);
|
|
530
|
+
/**
|
|
531
|
+
* The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be subscribed to by a
|
|
532
|
+
* customer. Plans define the billing behavior of the subscription. You can see more about how to configure prices
|
|
533
|
+
* in the [Price resource](/reference/price).
|
|
534
|
+
*/
|
|
535
|
+
this.beta = new API.Beta(this);
|
|
536
|
+
/**
|
|
537
|
+
* A coupon represents a reusable discount configuration that can be applied either as a fixed or percentage amount to an invoice or subscription. Coupons are activated using a redemption code, which applies the discount to a subscription or invoice. The duration of a coupon determines how long it remains available for use by end users.
|
|
538
|
+
*/
|
|
539
|
+
this.coupons = new API.Coupons(this);
|
|
540
|
+
/**
|
|
541
|
+
* The [Credit Note](/invoicing/credit-notes) resource represents a credit that has been applied to a
|
|
542
|
+
* particular invoice.
|
|
543
|
+
*/
|
|
544
|
+
this.creditNotes = new API.CreditNotes(this);
|
|
545
|
+
/**
|
|
546
|
+
* A customer is a buyer of your products, and the other party to the billing relationship.
|
|
547
|
+
*
|
|
548
|
+
* In Orb, customers are assigned system generated identifiers automatically, but it's often desirable to have these
|
|
549
|
+
* match existing identifiers in your system. To avoid having to denormalize Orb ID information, you can pass in an
|
|
550
|
+
* `external_customer_id` with your own identifier. See
|
|
551
|
+
* [Customer ID Aliases](/events-and-metrics/customer-aliases) for further information about how these
|
|
552
|
+
* aliases work in Orb.
|
|
553
|
+
*
|
|
554
|
+
* In addition to having an identifier in your system, a customer may exist in a payment provider solution like
|
|
555
|
+
* Stripe. Use the `payment_provider_id` and the `payment_provider` enum field to express this mapping.
|
|
556
|
+
*
|
|
557
|
+
* A customer also has a timezone (from the standard [IANA timezone database](https://www.iana.org/time-zones)), which
|
|
558
|
+
* defaults to your account's timezone. See [Timezone localization](/essentials/timezones) for
|
|
559
|
+
* information on what this timezone parameter influences within Orb.
|
|
560
|
+
*/
|
|
561
|
+
this.customers = new API.Customers(this);
|
|
562
|
+
/**
|
|
563
|
+
* The [Event](/core-concepts#event) resource represents a usage event that has been created for a
|
|
564
|
+
* customer. Events are the core of Orb's usage-based billing model, and are used to calculate the usage charges for
|
|
565
|
+
* a given billing period.
|
|
566
|
+
*/
|
|
567
|
+
this.events = new API.Events(this);
|
|
568
|
+
/**
|
|
569
|
+
* An [`Invoice`](/core-concepts#invoice) is a fundamental billing entity, representing the request for payment for
|
|
570
|
+
* a single subscription. This includes a set of line items, which correspond to prices in the subscription's plan and
|
|
571
|
+
* can represent fixed recurring fees or usage-based fees. They are generated at the end of a billing period, or as
|
|
572
|
+
* the result of an action, such as a cancellation.
|
|
573
|
+
*/
|
|
574
|
+
this.invoiceLineItems = new API.InvoiceLineItems(this);
|
|
575
|
+
/**
|
|
576
|
+
* An [`Invoice`](/core-concepts#invoice) is a fundamental billing entity, representing the request for payment for
|
|
577
|
+
* a single subscription. This includes a set of line items, which correspond to prices in the subscription's plan and
|
|
578
|
+
* can represent fixed recurring fees or usage-based fees. They are generated at the end of a billing period, or as
|
|
579
|
+
* the result of an action, such as a cancellation.
|
|
580
|
+
*/
|
|
581
|
+
this.invoices = new API.Invoices(this);
|
|
582
|
+
/**
|
|
583
|
+
* The Item resource represents a sellable product or good. Items are associated with all line items, billable metrics,
|
|
584
|
+
* and prices and are used for defining external sync behavior for invoices and tax calculation purposes.
|
|
585
|
+
*/
|
|
586
|
+
this.items = new API.Items(this);
|
|
587
|
+
/**
|
|
588
|
+
* The Metric resource represents a calculation of a quantity based on events.
|
|
589
|
+
* Metrics are defined by the query that transforms raw usage events into meaningful values for your customers.
|
|
590
|
+
*/
|
|
591
|
+
this.metrics = new API.Metrics(this);
|
|
592
|
+
/**
|
|
593
|
+
* The [Plan](/core-concepts#plan-and-price) resource represents a plan that can be subscribed to by a
|
|
594
|
+
* customer. Plans define the billing behavior of the subscription. You can see more about how to configure prices
|
|
595
|
+
* in the [Price resource](/reference/price).
|
|
596
|
+
*/
|
|
597
|
+
this.plans = new API.Plans(this);
|
|
598
|
+
/**
|
|
599
|
+
* The Price resource represents a price that can be billed on a subscription, resulting in a charge on an invoice in
|
|
600
|
+
* the form of an invoice line item. Prices take a quantity and determine an amount to bill.
|
|
601
|
+
*
|
|
602
|
+
* Orb supports a few different pricing models out of the box. Each of these models is serialized differently in a
|
|
603
|
+
* given Price object. The model_type field determines the key for the configuration object that is present.
|
|
604
|
+
*
|
|
605
|
+
* For more on the types of prices, see [the core concepts documentation](/core-concepts#plan-and-price)
|
|
606
|
+
*/
|
|
607
|
+
this.prices = new API.Prices(this);
|
|
608
|
+
this.subscriptions = new API.Subscriptions(this);
|
|
609
|
+
/**
|
|
610
|
+
* [Alerts within Orb](/product-catalog/configuring-alerts) monitor spending,
|
|
611
|
+
* usage, or credit balance and trigger webhooks when a threshold is exceeded.
|
|
612
|
+
*
|
|
613
|
+
* Alerts created through the API can be scoped to either customers or subscriptions.
|
|
614
|
+
*/
|
|
615
|
+
this.alerts = new API.Alerts(this);
|
|
616
|
+
this.dimensionalPriceGroups = new API.DimensionalPriceGroups(this);
|
|
617
|
+
this.subscriptionChanges = new API.SubscriptionChanges(this);
|
|
618
|
+
/**
|
|
619
|
+
* The [Credit Ledger Entry resource](/product-catalog/prepurchase) models prepaid credits within Orb.
|
|
620
|
+
*/
|
|
621
|
+
this.creditBlocks = new API.CreditBlocks(this);
|
|
622
|
+
/**
|
|
623
|
+
* The LicenseType resource represents a type of license that can be assigned to users.
|
|
624
|
+
* License types are used during billing by grouping metrics on the configured grouping key.
|
|
625
|
+
*/
|
|
626
|
+
this.licenseTypes = new API.LicenseTypes(this);
|
|
627
|
+
this.licenses = new API.Licenses(this);
|
|
628
|
+
this.webhooks = new API.Webhooks(this);
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
exports.Orb = Orb;
|
|
632
|
+
Orb.TopLevel = top_level_1.TopLevel;
|
|
633
|
+
Orb.Beta = beta_1.Beta;
|
|
634
|
+
Orb.Coupons = coupons_1.Coupons;
|
|
635
|
+
Orb.CreditNotes = credit_notes_1.CreditNotes;
|
|
636
|
+
Orb.Customers = customers_1.Customers;
|
|
637
|
+
Orb.Events = events_1.Events;
|
|
638
|
+
Orb.InvoiceLineItems = invoice_line_items_1.InvoiceLineItems;
|
|
639
|
+
Orb.Invoices = invoices_1.Invoices;
|
|
640
|
+
Orb.Items = items_1.Items;
|
|
641
|
+
Orb.Metrics = metrics_1.Metrics;
|
|
642
|
+
Orb.Plans = plans_1.Plans;
|
|
643
|
+
Orb.Prices = prices_1.Prices;
|
|
644
|
+
Orb.Alerts = alerts_1.Alerts;
|
|
645
|
+
Orb.SubscriptionChanges = subscription_changes_1.SubscriptionChanges;
|
|
646
|
+
Orb.CreditBlocks = credit_blocks_1.CreditBlocks;
|
|
647
|
+
Orb.LicenseTypes = license_types_1.LicenseTypes;
|
|
648
|
+
Orb.Licenses = licenses_1.Licenses;
|
|
649
|
+
Orb.Webhooks = webhooks_1.Webhooks;
|
|
650
|
+
//# sourceMappingURL=client.js.map
|