@metronome/sdk 0.2.0 → 1.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 +62 -0
- package/README.md +123 -51
- package/api-promise.d.mts +2 -0
- package/api-promise.d.mts.map +1 -0
- package/api-promise.d.ts +2 -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 +2 -0
- package/api-promise.mjs.map +1 -0
- package/bin/cli +53 -0
- package/bin/migration-config.json +6 -0
- package/client.d.mts +232 -0
- package/client.d.mts.map +1 -0
- package/client.d.ts +232 -0
- package/client.d.ts.map +1 -0
- package/client.js +464 -0
- package/client.js.map +1 -0
- package/client.mjs +460 -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 +46 -0
- package/core/error.d.mts.map +1 -0
- package/core/error.d.ts +46 -0
- package/core/error.d.ts.map +1 -0
- package/core/error.js +113 -0
- package/core/error.js.map +1 -0
- package/core/error.mjs +97 -0
- package/core/error.mjs.map +1 -0
- package/core/pagination.d.mts +137 -0
- package/core/pagination.d.mts.map +1 -0
- package/core/pagination.d.ts +137 -0
- package/core/pagination.d.ts.map +1 -0
- package/core/pagination.js +158 -0
- package/core/pagination.js.map +1 -0
- package/core/pagination.mjs +150 -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 +2 -0
- package/error.d.mts.map +1 -0
- package/error.d.ts +1 -46
- package/error.d.ts.map +1 -1
- package/error.js +3 -110
- package/error.js.map +1 -1
- package/error.mjs +1 -96
- package/error.mjs.map +1 -1
- package/index.d.mts +7 -144
- package/index.d.mts.map +1 -0
- package/index.d.ts +6 -143
- package/index.d.ts.map +1 -1
- package/index.js +14 -120
- package/index.js.map +1 -1
- package/index.mjs +6 -93
- 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 +26 -0
- package/internal/headers.d.mts.map +1 -0
- package/internal/headers.d.ts +26 -0
- package/internal/headers.d.ts.map +1 -0
- package/internal/headers.js +120 -0
- package/internal/headers.js.map +1 -0
- package/internal/headers.mjs +112 -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 +35 -0
- package/internal/parse.js.map +1 -0
- package/internal/parse.mjs +32 -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.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 +20 -0
- package/internal/shims.d.mts.map +1 -0
- package/internal/shims.d.ts +20 -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 +85 -0
- package/internal/utils/log.js.map +1 -0
- package/internal/utils/log.mjs +79 -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/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 +7 -0
- package/internal/utils.d.mts.map +1 -0
- package/internal/utils.d.ts +7 -0
- package/internal/utils.d.ts.map +1 -0
- package/internal/utils.js +11 -0
- package/internal/utils.js.map +1 -0
- package/internal/utils.mjs +8 -0
- package/internal/utils.mjs.map +1 -0
- package/package.json +116 -64
- package/pagination.d.mts +2 -0
- package/pagination.d.mts.map +1 -0
- package/pagination.d.ts +1 -36
- package/pagination.d.ts.map +1 -1
- package/pagination.js +3 -40
- package/pagination.js.map +1 -1
- package/pagination.mjs +1 -38
- package/pagination.mjs.map +1 -1
- package/resource.d.mts +2 -0
- package/resource.d.mts.map +1 -0
- package/resource.d.ts +1 -5
- package/resource.d.ts.map +1 -1
- package/resource.js +3 -8
- package/resource.js.map +1 -1
- package/resource.mjs +1 -6
- package/resource.mjs.map +1 -1
- package/resources/index.d.mts +5 -0
- package/resources/index.d.mts.map +1 -0
- package/resources/index.d.ts.map +1 -1
- package/resources/index.js +2 -15
- package/resources/index.js.map +1 -1
- package/resources/shared.d.mts +2239 -0
- package/resources/shared.d.mts.map +1 -0
- package/resources/shared.d.ts +1409 -523
- package/resources/shared.d.ts.map +1 -1
- package/resources/v1/alerts.d.mts +203 -0
- package/resources/v1/alerts.d.mts.map +1 -0
- package/resources/v1/alerts.d.ts +78 -7
- package/resources/v1/alerts.d.ts.map +1 -1
- package/resources/v1/alerts.js +73 -3
- package/resources/v1/alerts.js.map +1 -1
- package/resources/v1/alerts.mjs +73 -3
- package/resources/v1/alerts.mjs.map +1 -1
- package/resources/v1/audit-logs.d.mts +108 -0
- package/resources/v1/audit-logs.d.mts.map +1 -0
- package/resources/v1/audit-logs.d.ts +45 -12
- package/resources/v1/audit-logs.d.ts.map +1 -1
- package/resources/v1/audit-logs.js +53 -12
- package/resources/v1/audit-logs.js.map +1 -1
- package/resources/v1/audit-logs.mjs +52 -10
- package/resources/v1/audit-logs.mjs.map +1 -1
- package/resources/v1/billable-metrics.d.mts +293 -0
- package/resources/v1/billable-metrics.d.mts.map +1 -0
- package/resources/v1/billable-metrics.d.ts +70 -15
- package/resources/v1/billable-metrics.d.ts.map +1 -1
- package/resources/v1/billable-metrics.js +70 -16
- package/resources/v1/billable-metrics.js.map +1 -1
- package/resources/v1/billable-metrics.mjs +69 -14
- package/resources/v1/billable-metrics.mjs.map +1 -1
- package/resources/v1/contracts/contracts.d.mts +2984 -0
- package/resources/v1/contracts/contracts.d.mts.map +1 -0
- package/resources/v1/contracts/contracts.d.ts +450 -1285
- package/resources/v1/contracts/contracts.d.ts.map +1 -1
- package/resources/v1/contracts/contracts.js +268 -50
- package/resources/v1/contracts/contracts.js.map +1 -1
- package/resources/v1/contracts/contracts.mjs +266 -26
- package/resources/v1/contracts/contracts.mjs.map +1 -1
- package/resources/v1/contracts/index.d.mts +5 -0
- package/resources/v1/contracts/index.d.mts.map +1 -0
- package/resources/v1/contracts/index.d.ts +3 -3
- package/resources/v1/contracts/index.d.ts.map +1 -1
- package/resources/v1/contracts/index.js +1 -3
- package/resources/v1/contracts/index.js.map +1 -1
- package/resources/v1/contracts/index.mjs +2 -2
- package/resources/v1/contracts/index.mjs.map +1 -1
- package/resources/v1/contracts/named-schedules.d.mts +82 -0
- package/resources/v1/contracts/named-schedules.d.mts.map +1 -0
- package/resources/v1/contracts/named-schedules.d.ts +5 -4
- package/resources/v1/contracts/named-schedules.d.ts.map +1 -1
- package/resources/v1/contracts/named-schedules.js +3 -2
- package/resources/v1/contracts/named-schedules.js.map +1 -1
- package/resources/v1/contracts/named-schedules.mjs +3 -2
- package/resources/v1/contracts/named-schedules.mjs.map +1 -1
- package/resources/v1/contracts/products.d.mts +502 -0
- package/resources/v1/contracts/products.d.mts.map +1 -0
- package/resources/v1/contracts/products.d.ts +47 -17
- package/resources/v1/contracts/products.d.ts.map +1 -1
- package/resources/v1/contracts/products.js +41 -17
- package/resources/v1/contracts/products.js.map +1 -1
- package/resources/v1/contracts/products.mjs +40 -15
- package/resources/v1/contracts/products.mjs.map +1 -1
- package/resources/v1/contracts/rate-cards/index.d.mts +5 -0
- package/resources/v1/contracts/rate-cards/index.d.mts.map +1 -0
- package/resources/v1/contracts/rate-cards/index.d.ts +2 -2
- package/resources/v1/contracts/rate-cards/index.d.ts.map +1 -1
- package/resources/v1/contracts/rate-cards/index.js +1 -3
- package/resources/v1/contracts/rate-cards/index.js.map +1 -1
- package/resources/v1/contracts/rate-cards/index.mjs +2 -2
- package/resources/v1/contracts/rate-cards/index.mjs.map +1 -1
- package/resources/v1/contracts/rate-cards/named-schedules.d.mts +94 -0
- package/resources/v1/contracts/rate-cards/named-schedules.d.mts.map +1 -0
- package/resources/v1/contracts/rate-cards/named-schedules.d.ts +5 -4
- package/resources/v1/contracts/rate-cards/named-schedules.d.ts.map +1 -1
- package/resources/v1/contracts/rate-cards/named-schedules.js +3 -2
- package/resources/v1/contracts/rate-cards/named-schedules.js.map +1 -1
- package/resources/v1/contracts/rate-cards/named-schedules.mjs +3 -2
- package/resources/v1/contracts/rate-cards/named-schedules.mjs.map +1 -1
- package/resources/v1/contracts/rate-cards/product-orders.d.mts +85 -0
- package/resources/v1/contracts/rate-cards/product-orders.d.mts.map +1 -0
- package/resources/v1/contracts/rate-cards/product-orders.d.ts +12 -6
- package/resources/v1/contracts/rate-cards/product-orders.d.ts.map +1 -1
- package/resources/v1/contracts/rate-cards/product-orders.js +8 -3
- package/resources/v1/contracts/rate-cards/product-orders.js.map +1 -1
- package/resources/v1/contracts/rate-cards/product-orders.mjs +8 -3
- package/resources/v1/contracts/rate-cards/product-orders.mjs.map +1 -1
- package/resources/v1/contracts/rate-cards/rate-cards.d.mts +452 -0
- package/resources/v1/contracts/rate-cards/rate-cards.d.mts.map +1 -0
- package/resources/v1/contracts/rate-cards/rate-cards.d.ts +134 -41
- package/resources/v1/contracts/rate-cards/rate-cards.d.ts.map +1 -1
- package/resources/v1/contracts/rate-cards/rate-cards.js +127 -47
- package/resources/v1/contracts/rate-cards/rate-cards.js.map +1 -1
- package/resources/v1/contracts/rate-cards/rate-cards.mjs +123 -20
- package/resources/v1/contracts/rate-cards/rate-cards.mjs.map +1 -1
- package/resources/v1/contracts/rate-cards/rates.d.mts +382 -0
- package/resources/v1/contracts/rate-cards/rates.d.mts.map +1 -0
- package/resources/v1/contracts/rate-cards/rates.d.ts +25 -82
- package/resources/v1/contracts/rate-cards/rates.d.ts.map +1 -1
- package/resources/v1/contracts/rate-cards/rates.js +13 -9
- package/resources/v1/contracts/rate-cards/rates.js.map +1 -1
- package/resources/v1/contracts/rate-cards/rates.mjs +12 -7
- package/resources/v1/contracts/rate-cards/rates.mjs.map +1 -1
- package/resources/v1/contracts/rate-cards.d.mts +2 -0
- package/resources/v1/contracts/rate-cards.d.mts.map +1 -0
- package/resources/v1/contracts/rate-cards.d.ts.map +1 -1
- package/resources/v1/contracts/rate-cards.js +2 -15
- package/resources/v1/contracts/rate-cards.js.map +1 -1
- package/resources/v1/contracts.d.mts +2 -0
- package/resources/v1/contracts.d.mts.map +1 -0
- package/resources/v1/contracts.d.ts.map +1 -1
- package/resources/v1/contracts.js +2 -15
- package/resources/v1/contracts.js.map +1 -1
- package/resources/v1/credit-grants.d.mts +505 -0
- package/resources/v1/credit-grants.d.mts.map +1 -0
- package/resources/v1/credit-grants.d.ts +73 -74
- package/resources/v1/credit-grants.d.ts.map +1 -1
- package/resources/v1/credit-grants.js +52 -18
- package/resources/v1/credit-grants.js.map +1 -1
- package/resources/v1/credit-grants.mjs +51 -16
- package/resources/v1/credit-grants.mjs.map +1 -1
- package/resources/v1/custom-fields.d.mts +151 -0
- package/resources/v1/custom-fields.d.mts.map +1 -0
- package/resources/v1/custom-fields.d.ts +69 -38
- package/resources/v1/custom-fields.d.ts.map +1 -1
- package/resources/v1/custom-fields.js +66 -22
- package/resources/v1/custom-fields.js.map +1 -1
- package/resources/v1/custom-fields.mjs +66 -22
- package/resources/v1/custom-fields.mjs.map +1 -1
- package/resources/v1/customers/alerts.d.mts +288 -0
- package/resources/v1/customers/alerts.d.mts.map +1 -0
- package/resources/v1/customers/alerts.d.ts +128 -23
- package/resources/v1/customers/alerts.d.ts.map +1 -1
- package/resources/v1/customers/alerts.js +112 -10
- package/resources/v1/customers/alerts.js.map +1 -1
- package/resources/v1/customers/alerts.mjs +112 -10
- package/resources/v1/customers/alerts.mjs.map +1 -1
- package/resources/v1/customers/billing-config.d.mts +125 -0
- package/resources/v1/customers/billing-config.d.mts.map +1 -0
- package/resources/v1/customers/billing-config.d.ts +8 -7
- package/resources/v1/customers/billing-config.d.ts.map +1 -1
- package/resources/v1/customers/billing-config.js +8 -6
- package/resources/v1/customers/billing-config.js.map +1 -1
- package/resources/v1/customers/billing-config.mjs +8 -6
- package/resources/v1/customers/billing-config.mjs.map +1 -1
- package/resources/v1/customers/commits.d.mts +456 -0
- package/resources/v1/customers/commits.d.mts.map +1 -0
- package/resources/v1/customers/commits.d.ts +145 -47
- package/resources/v1/customers/commits.d.ts.map +1 -1
- package/resources/v1/customers/commits.js +132 -12
- package/resources/v1/customers/commits.js.map +1 -1
- package/resources/v1/customers/commits.mjs +132 -12
- package/resources/v1/customers/commits.mjs.map +1 -1
- package/resources/v1/customers/credits.d.mts +310 -0
- package/resources/v1/customers/credits.d.mts.map +1 -0
- package/resources/v1/customers/credits.d.ts +124 -46
- package/resources/v1/customers/credits.d.ts.map +1 -1
- package/resources/v1/customers/credits.js +116 -11
- package/resources/v1/customers/credits.js.map +1 -1
- package/resources/v1/customers/credits.mjs +116 -11
- package/resources/v1/customers/credits.mjs.map +1 -1
- package/resources/v1/customers/customers.d.mts +818 -0
- package/resources/v1/customers/customers.d.mts.map +1 -0
- package/resources/v1/customers/customers.d.ts +304 -41
- package/resources/v1/customers/customers.d.ts.map +1 -1
- package/resources/v1/customers/customers.js +214 -73
- package/resources/v1/customers/customers.js.map +1 -1
- package/resources/v1/customers/customers.mjs +207 -41
- package/resources/v1/customers/customers.mjs.map +1 -1
- package/resources/v1/customers/index.d.mts +9 -0
- package/resources/v1/customers/index.d.mts.map +1 -0
- package/resources/v1/customers/index.d.ts +6 -6
- package/resources/v1/customers/index.d.ts.map +1 -1
- package/resources/v1/customers/index.js +1 -8
- package/resources/v1/customers/index.js.map +1 -1
- package/resources/v1/customers/index.mjs +3 -3
- package/resources/v1/customers/index.mjs.map +1 -1
- package/resources/v1/customers/invoices.d.mts +710 -0
- package/resources/v1/customers/invoices.d.mts.map +1 -0
- package/resources/v1/customers/invoices.d.ts +196 -19
- package/resources/v1/customers/invoices.d.ts.map +1 -1
- package/resources/v1/customers/invoices.js +131 -22
- package/resources/v1/customers/invoices.js.map +1 -1
- package/resources/v1/customers/invoices.mjs +130 -19
- package/resources/v1/customers/invoices.mjs.map +1 -1
- package/resources/v1/customers/named-schedules.d.mts +82 -0
- package/resources/v1/customers/named-schedules.d.mts.map +1 -0
- package/resources/v1/customers/named-schedules.d.ts +5 -4
- package/resources/v1/customers/named-schedules.d.ts.map +1 -1
- package/resources/v1/customers/named-schedules.js +3 -2
- package/resources/v1/customers/named-schedules.js.map +1 -1
- package/resources/v1/customers/named-schedules.mjs +3 -2
- package/resources/v1/customers/named-schedules.mjs.map +1 -1
- package/resources/v1/customers/plans.d.mts +281 -0
- package/resources/v1/customers/plans.d.mts.map +1 -0
- package/resources/v1/customers/plans.d.ts +14 -12
- package/resources/v1/customers/plans.d.ts.map +1 -1
- package/resources/v1/customers/plans.js +8 -15
- package/resources/v1/customers/plans.js.map +1 -1
- package/resources/v1/customers/plans.mjs +7 -12
- package/resources/v1/customers/plans.mjs.map +1 -1
- package/resources/v1/customers.d.mts +2 -0
- package/resources/v1/customers.d.mts.map +1 -0
- package/resources/v1/customers.d.ts.map +1 -1
- package/resources/v1/customers.js +2 -15
- package/resources/v1/customers.js.map +1 -1
- package/resources/v1/dashboards.d.mts +133 -0
- package/resources/v1/dashboards.d.mts.map +1 -0
- package/resources/v1/dashboards.d.ts +33 -6
- package/resources/v1/dashboards.d.ts.map +1 -1
- package/resources/v1/dashboards.js +30 -4
- package/resources/v1/dashboards.js.map +1 -1
- package/resources/v1/dashboards.mjs +30 -4
- package/resources/v1/dashboards.mjs.map +1 -1
- package/resources/v1/index.d.mts +15 -0
- package/resources/v1/index.d.mts.map +1 -0
- package/resources/v1/index.d.ts +9 -9
- package/resources/v1/index.d.ts.map +1 -1
- package/resources/v1/index.js +1 -12
- package/resources/v1/index.js.map +1 -1
- package/resources/v1/index.mjs +7 -7
- package/resources/v1/index.mjs.map +1 -1
- package/resources/v1/invoices.d.mts +83 -0
- package/resources/v1/invoices.d.mts.map +1 -0
- package/resources/v1/invoices.d.ts +28 -6
- package/resources/v1/invoices.d.ts.map +1 -1
- package/resources/v1/invoices.js +24 -3
- package/resources/v1/invoices.js.map +1 -1
- package/resources/v1/invoices.mjs +24 -3
- package/resources/v1/invoices.mjs.map +1 -1
- package/resources/v1/plans.d.mts +240 -0
- package/resources/v1/plans.d.mts.map +1 -0
- package/resources/v1/plans.d.ts +24 -15
- package/resources/v1/plans.d.ts.map +1 -1
- package/resources/v1/plans.js +19 -26
- package/resources/v1/plans.js.map +1 -1
- package/resources/v1/plans.mjs +18 -22
- package/resources/v1/plans.mjs.map +1 -1
- package/resources/v1/pricing-units.d.mts +34 -0
- package/resources/v1/pricing-units.d.mts.map +1 -0
- package/resources/v1/pricing-units.d.ts +12 -9
- package/resources/v1/pricing-units.d.ts.map +1 -1
- package/resources/v1/pricing-units.js +20 -12
- package/resources/v1/pricing-units.js.map +1 -1
- package/resources/v1/pricing-units.mjs +19 -10
- package/resources/v1/pricing-units.mjs.map +1 -1
- package/resources/v1/services.d.mts +33 -0
- package/resources/v1/services.d.mts.map +1 -0
- package/resources/v1/services.d.ts +10 -7
- package/resources/v1/services.d.ts.map +1 -1
- package/resources/v1/services.js +7 -5
- package/resources/v1/services.js.map +1 -1
- package/resources/v1/services.mjs +7 -5
- package/resources/v1/services.mjs.map +1 -1
- package/resources/v1/usage.d.mts +488 -0
- package/resources/v1/usage.d.mts.map +1 -0
- package/resources/v1/usage.d.ts +220 -57
- package/resources/v1/usage.d.ts.map +1 -1
- package/resources/v1/usage.js +212 -26
- package/resources/v1/usage.js.map +1 -1
- package/resources/v1/usage.mjs +211 -24
- package/resources/v1/usage.mjs.map +1 -1
- package/resources/v1/v1.d.mts +58 -0
- package/resources/v1/v1.d.mts.map +1 -0
- package/resources/v1/v1.d.ts +15 -15
- package/resources/v1/v1.d.ts.map +1 -1
- package/resources/v1/v1.js +15 -48
- package/resources/v1/v1.js.map +1 -1
- package/resources/v1/v1.mjs +8 -19
- package/resources/v1/v1.mjs.map +1 -1
- package/resources/v1.d.mts +2 -0
- package/resources/v1.d.mts.map +1 -0
- package/resources/v1.d.ts.map +1 -1
- package/resources/v1.js +2 -15
- package/resources/v1.js.map +1 -1
- package/resources/v2/contracts.d.mts +2794 -0
- package/resources/v2/contracts.d.mts.map +1 -0
- package/resources/v2/contracts.d.ts +381 -3862
- package/resources/v2/contracts.d.ts.map +1 -1
- package/resources/v2/contracts.js +102 -12
- package/resources/v2/contracts.js.map +1 -1
- package/resources/v2/contracts.mjs +102 -12
- package/resources/v2/contracts.mjs.map +1 -1
- package/resources/v2/index.d.mts +3 -0
- package/resources/v2/index.d.mts.map +1 -0
- package/resources/v2/index.d.ts.map +1 -1
- package/resources/v2/v2.d.mts +10 -0
- package/resources/v2/v2.d.mts.map +1 -0
- package/resources/v2/v2.d.ts +1 -1
- package/resources/v2/v2.d.ts.map +1 -1
- package/resources/v2/v2.js +3 -25
- package/resources/v2/v2.js.map +1 -1
- package/resources/v2/v2.mjs +1 -1
- package/resources/v2.d.mts +2 -0
- package/resources/v2.d.mts.map +1 -0
- package/resources/v2.d.ts.map +1 -1
- package/resources/v2.js +2 -15
- package/resources/v2.js.map +1 -1
- package/resources/webhooks.d.mts +22 -0
- package/resources/webhooks.d.mts.map +1 -0
- package/resources/webhooks.d.ts +1 -1
- package/resources/webhooks.d.ts.map +1 -1
- package/resources/webhooks.js +3 -3
- package/resources/webhooks.js.map +1 -1
- package/resources/webhooks.mjs +1 -1
- 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/src/api-promise.ts +2 -0
- package/src/client.ts +809 -0
- package/src/core/README.md +3 -0
- package/src/core/api-promise.ts +92 -0
- package/src/core/error.ts +130 -0
- package/src/core/pagination.ts +319 -0
- package/src/core/resource.ts +11 -0
- package/src/core/uploads.ts +2 -0
- package/src/error.ts +2 -130
- package/src/index.ts +6 -220
- 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 +144 -0
- package/src/internal/parse.ts +50 -0
- package/src/internal/qs/formats.ts +3 -2
- package/src/internal/qs/index.ts +3 -3
- package/src/internal/qs/stringify.ts +18 -21
- package/src/internal/qs/utils.ts +16 -16
- 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 +95 -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 +126 -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 +8 -0
- package/src/pagination.ts +2 -82
- package/src/resource.ts +2 -11
- package/src/resources/index.ts +4 -4
- package/src/resources/shared.ts +1786 -520
- package/src/resources/v1/alerts.ts +79 -8
- package/src/resources/v1/audit-logs.ts +48 -26
- package/src/resources/v1/billable-metrics.ts +79 -34
- package/src/resources/v1/contracts/contracts.ts +518 -1622
- package/src/resources/v1/contracts/index.ts +7 -6
- package/src/resources/v1/contracts/named-schedules.ts +8 -6
- package/src/resources/v1/contracts/products.ts +52 -38
- package/src/resources/v1/contracts/rate-cards/index.ts +6 -6
- package/src/resources/v1/contracts/rate-cards/named-schedules.ts +8 -6
- package/src/resources/v1/contracts/rate-cards/product-orders.ts +13 -10
- package/src/resources/v1/contracts/rate-cards/rate-cards.ts +145 -72
- package/src/resources/v1/contracts/rate-cards/rates.ts +28 -98
- package/src/resources/v1/contracts/rate-cards.ts +1 -1
- package/src/resources/v1/contracts.ts +1 -1
- package/src/resources/v1/credit-grants.ts +100 -112
- package/src/resources/v1/custom-fields.ts +106 -74
- package/src/resources/v1/customers/alerts.ts +147 -28
- package/src/resources/v1/customers/billing-config.ts +27 -13
- package/src/resources/v1/customers/commits.ts +153 -54
- package/src/resources/v1/customers/credits.ts +131 -53
- package/src/resources/v1/customers/customers.ts +390 -101
- package/src/resources/v1/customers/index.ts +19 -18
- package/src/resources/v1/customers/invoices.ts +206 -37
- package/src/resources/v1/customers/named-schedules.ts +8 -6
- package/src/resources/v1/customers/plans.ts +24 -22
- package/src/resources/v1/customers.ts +1 -1
- package/src/resources/v1/dashboards.ts +34 -7
- package/src/resources/v1/index.ts +32 -25
- package/src/resources/v1/invoices.ts +28 -9
- package/src/resources/v1/plans.ts +42 -43
- package/src/resources/v1/pricing-units.ts +15 -23
- package/src/resources/v1/services.ts +10 -7
- package/src/resources/v1/usage.ts +244 -72
- package/src/resources/v1/v1.ts +52 -49
- package/src/resources/v1.ts +1 -1
- package/src/resources/v2/contracts.ts +431 -4967
- package/src/resources/v2/index.ts +2 -2
- package/src/resources/v2/v2.ts +3 -3
- package/src/resources/v2.ts +1 -1
- package/src/resources/webhooks.ts +2 -2
- package/src/resources.ts +1 -1
- package/src/tsconfig.json +2 -2
- package/src/uploads.ts +2 -255
- package/src/version.ts +1 -1
- package/uploads.d.mts +2 -0
- package/uploads.d.mts.map +1 -0
- package/uploads.d.ts +1 -74
- package/uploads.d.ts.map +1 -1
- package/uploads.js +3 -168
- package/uploads.js.map +1 -1
- package/uploads.mjs +1 -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.js +1 -1
- package/version.mjs +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 -924
- package/core.js.map +0 -1
- package/core.mjs +0 -892
- 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 -1236
- package/src/shims/node.ts +0 -50
- package/src/shims/web.ts +0 -50
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,67 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.0.0 (2025-09-15)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.3.0...v1.0.0](https://github.com/Metronome-Industries/metronome-node/compare/v0.3.0...v1.0.0)
|
|
6
|
+
|
|
7
|
+
### ⚠ BREAKING CHANGES
|
|
8
|
+
|
|
9
|
+
* **api:** add pagination support to multiple endpoints - Added pagination to CustomerList, AlertList, InvoiceList, CommitList, CreditList, CreditGrantList, CustomerAlerts, UsageList, CustomFields list, and ContractListBalances endpoints.
|
|
10
|
+
* **api:** enhance subscriptions and commits/credits - Added Individual enum to SubscriptionConfig and rate_type enums to UpdateCredit/UpdateCommit.
|
|
11
|
+
* **typescript-sdk:** migrate to latest SDK version - Migrated TypeScript SDK with improved type safety, enhanced error handling, updated method signatures, and restructured package exports. Existing TypeScript SDK integrations will require updates to import paths, method calls, and configuration options. See our Migration Guide for detailed step-by-step instructions.
|
|
12
|
+
* **api:** add comprehensive shared types to SDK - Added 34 new shared types including BaseThresholdCommit, BaseUsageFilter, Commit, CommitHierarchyConfiguration, CommitRate, CommitSpecifier, CommitSpecifierInput, Contract, ContractV2, ContractWithoutAmendments, Credit, CreditTypeData, Discount, EventTypeFilter, HierarchyConfiguration, ID, Override, OverrideTier, OverwriteRate, PaymentGateConfig, PaymentGateConfigV2, PrepaidBalanceThresholdConfiguration, PrepaidBalanceThresholdConfigurationV2, PropertyFilter, ProService, Rate, RecurringCommitSubscriptionConfig, ScheduledCharge, ScheduleDuration, SchedulePointInTime, SpendThresholdConfiguration, SpendThresholdConfigurationV2, Subscription, Tier, and UpdateBaseThresholdCommit.
|
|
13
|
+
|
|
14
|
+
### Features
|
|
15
|
+
|
|
16
|
+
* **api:** add archived_at field to CustomerBillingConfiguration ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
17
|
+
* **api:** add comprehensive shared types to SDK - Added 34 new shared types including BaseThresholdCommit, BaseUsageFilter, Commit, CommitHierarchyConfiguration, CommitRate, CommitSpecifier, CommitSpecifierInput, Contract, ContractV2, ContractWithoutAmendments, Credit, CreditTypeData, Discount, EventTypeFilter, HierarchyConfiguration, ID, Override, OverrideTier, OverwriteRate, PaymentGateConfig, PaymentGateConfigV2, PrepaidBalanceThresholdConfiguration, PrepaidBalanceThresholdConfigurationV2, PropertyFilter, ProService, Rate, RecurringCommitSubscriptionConfig, ScheduledCharge, ScheduleDuration, SchedulePointInTime, SpendThresholdConfiguration, SpendThresholdConfigurationV2, Subscription, Tier, and UpdateBaseThresholdCommit. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
18
|
+
* **api:** add created_at field to Commit ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
19
|
+
* **api:** add customer billing configuration endpoints - Added set and retrieve endpoints for customer billing configurations. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
20
|
+
* **api:** add pagination support to multiple endpoints - Added pagination to CustomerList, AlertList, InvoiceList, CommitList, CreditList, CreditGrantList, CustomerAlerts, UsageList, CustomFields list, and ContractListBalances endpoints. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
21
|
+
* **api:** Add support for granular spend threshold alerts with group key filters. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
22
|
+
* **api:** enhance subscriptions and commits/credits - Added Individual enum to SubscriptionConfig and rate_type enums to UpdateCredit/UpdateCommit. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
23
|
+
* **typescript-sdk:** migrate to latest SDK version - Migrated TypeScript SDK with improved type safety, enhanced error handling, updated method signatures, and restructured package exports. Existing TypeScript SDK integrations will require updates to import paths, method calls, and configuration options. See our Migration Guide for detailed step-by-step instructions. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* **mcp:** fix query options parsing ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
29
|
+
* **mcp:** fix uploading dxt release assets ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
### Chores
|
|
33
|
+
|
|
34
|
+
* coerce nullable values to undefined ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
### Documentation
|
|
38
|
+
|
|
39
|
+
* enhance API documentation - Added more detailed descriptions and styling improvements, and enhanced usage filter documentation with additional context. ([70c82e0](https://github.com/Metronome-Industries/metronome-node/commit/70c82e0b5b0df3a3031f6a4264c0d00e063bf868))
|
|
40
|
+
|
|
41
|
+
## 0.3.0 (2025-09-15)
|
|
42
|
+
|
|
43
|
+
Full Changelog: [v0.2.0...v0.3.0](https://github.com/Metronome-Industries/metronome-node/compare/v0.2.0...v0.3.0)
|
|
44
|
+
|
|
45
|
+
### Features
|
|
46
|
+
|
|
47
|
+
* **api:** api update ([6053d58](https://github.com/Metronome-Industries/metronome-node/commit/6053d586c4fc67e770fad2f9bc9de1706ec363a7))
|
|
48
|
+
* **api:** api update ([1be7b2d](https://github.com/Metronome-Industries/metronome-node/commit/1be7b2d4cc78f10f17cd4021287410c4996900ac))
|
|
49
|
+
* **api:** api update ([fcc3172](https://github.com/Metronome-Industries/metronome-node/commit/fcc3172129d07d7da715b4982acbfb96664f7518))
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Bug Fixes
|
|
53
|
+
|
|
54
|
+
* coerce nullable values to undefined ([db26826](https://github.com/Metronome-Industries/metronome-node/commit/db268263220cb5cacfd6a55ff04de39d2477b323))
|
|
55
|
+
* **mcp:** fix query options parsing ([a680969](https://github.com/Metronome-Industries/metronome-node/commit/a68096999d241b3a6dff06115a76e9c1bacb2fbe))
|
|
56
|
+
* **mcp:** fix uploading dxt release assets ([d2bd1f5](https://github.com/Metronome-Industries/metronome-node/commit/d2bd1f5b6640c9bebf047089347401a2786046d4))
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
### Chores
|
|
60
|
+
|
|
61
|
+
* **internal:** codegen related update ([191878f](https://github.com/Metronome-Industries/metronome-node/commit/191878f4c0c324365353e04f32dcdb12db6d5308))
|
|
62
|
+
* **mcp:** upload dxt as release asset ([870849d](https://github.com/Metronome-Industries/metronome-node/commit/870849d07517ee4e94c9d5f6afc05c46d1a71958))
|
|
63
|
+
* sync repo ([86f91c5](https://github.com/Metronome-Industries/metronome-node/commit/86f91c5d57c205949c945d058c931353b64147fa))
|
|
64
|
+
|
|
3
65
|
## 0.2.0 (2025-07-31)
|
|
4
66
|
|
|
5
67
|
Full Changelog: [v0.1.0...v0.2.0](https://github.com/Metronome-Industries/metronome-node/compare/v0.1.0...v0.2.0)
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# Metronome
|
|
1
|
+
# Metronome TypeScript API Library
|
|
2
2
|
|
|
3
|
-
[](https://npmjs.org/package/@metronome/sdk) 
|
|
3
|
+
[>)](https://npmjs.org/package/@metronome/sdk) 
|
|
4
4
|
|
|
5
5
|
This library provides convenient access to the Metronome REST API from server-side TypeScript or JavaScript.
|
|
6
6
|
|
|
@@ -24,15 +24,17 @@ const client = new Metronome({
|
|
|
24
24
|
bearerToken: process.env['METRONOME_BEARER_TOKEN'], // This is the default and can be omitted
|
|
25
25
|
});
|
|
26
26
|
|
|
27
|
-
await client.v1.usage.ingest(
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
await client.v1.usage.ingest({
|
|
28
|
+
usage: [
|
|
29
|
+
{
|
|
30
|
+
transaction_id: '90e9401f-0f8c-4cd3-9a9f-d6beb56d8d72',
|
|
31
|
+
customer_id: 'team@example.com',
|
|
32
|
+
event_type: 'heartbeat',
|
|
33
|
+
timestamp: '2024-01-01T00:00:00Z',
|
|
34
|
+
properties: { cluster_id: '42', cpu_seconds: 60, region: 'Europe' },
|
|
35
|
+
},
|
|
36
|
+
],
|
|
37
|
+
});
|
|
36
38
|
```
|
|
37
39
|
|
|
38
40
|
### Request & Response types
|
|
@@ -168,8 +170,10 @@ while (page.hasNextPage()) {
|
|
|
168
170
|
### Accessing raw Response data (e.g., headers)
|
|
169
171
|
|
|
170
172
|
The "raw" `Response` returned by `fetch()` can be accessed through the `.asResponse()` method on the `APIPromise` type that all methods return.
|
|
173
|
+
This method returns as soon as the headers for a successful response are received and does not consume the response body, so you are free to write custom parsing or streaming logic.
|
|
171
174
|
|
|
172
175
|
You can also use the `.withResponse()` method to get the raw `Response` along with the parsed data.
|
|
176
|
+
Unlike `.asResponse()` this method consumes the body, returning once it is parsed.
|
|
173
177
|
|
|
174
178
|
<!-- prettier-ignore -->
|
|
175
179
|
```ts
|
|
@@ -188,6 +192,59 @@ console.log(raw.headers.get('X-My-Header'));
|
|
|
188
192
|
console.log(contract.data);
|
|
189
193
|
```
|
|
190
194
|
|
|
195
|
+
### Logging
|
|
196
|
+
|
|
197
|
+
> [!IMPORTANT]
|
|
198
|
+
> All log messages are intended for debugging only. The format and content of log messages
|
|
199
|
+
> may change between releases.
|
|
200
|
+
|
|
201
|
+
#### Log levels
|
|
202
|
+
|
|
203
|
+
The log level can be configured in two ways:
|
|
204
|
+
|
|
205
|
+
1. Via the `METRONOME_LOG` environment variable
|
|
206
|
+
2. Using the `logLevel` client option (overrides the environment variable if set)
|
|
207
|
+
|
|
208
|
+
```ts
|
|
209
|
+
import Metronome from '@metronome/sdk';
|
|
210
|
+
|
|
211
|
+
const client = new Metronome({
|
|
212
|
+
logLevel: 'debug', // Show all log messages
|
|
213
|
+
});
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Available log levels, from most to least verbose:
|
|
217
|
+
|
|
218
|
+
- `'debug'` - Show debug messages, info, warnings, and errors
|
|
219
|
+
- `'info'` - Show info messages, warnings, and errors
|
|
220
|
+
- `'warn'` - Show warnings and errors (default)
|
|
221
|
+
- `'error'` - Show only errors
|
|
222
|
+
- `'off'` - Disable all logging
|
|
223
|
+
|
|
224
|
+
At the `'debug'` level, all HTTP requests and responses are logged, including headers and bodies.
|
|
225
|
+
Some authentication-related headers are redacted, but sensitive data in request and response bodies
|
|
226
|
+
may still be visible.
|
|
227
|
+
|
|
228
|
+
#### Custom logger
|
|
229
|
+
|
|
230
|
+
By default, this library logs to `globalThis.console`. You can also provide a custom logger.
|
|
231
|
+
Most logging libraries are supported, including [pino](https://www.npmjs.com/package/pino), [winston](https://www.npmjs.com/package/winston), [bunyan](https://www.npmjs.com/package/bunyan), [consola](https://www.npmjs.com/package/consola), [signale](https://www.npmjs.com/package/signale), and [@std/log](https://jsr.io/@std/log). If your logger doesn't work, please open an issue.
|
|
232
|
+
|
|
233
|
+
When providing a custom logger, the `logLevel` option still controls which messages are emitted, messages
|
|
234
|
+
below the configured level will not be sent to your logger.
|
|
235
|
+
|
|
236
|
+
```ts
|
|
237
|
+
import Metronome from '@metronome/sdk';
|
|
238
|
+
import pino from 'pino';
|
|
239
|
+
|
|
240
|
+
const logger = pino();
|
|
241
|
+
|
|
242
|
+
const client = new Metronome({
|
|
243
|
+
logger: logger.child({ name: 'Metronome' }),
|
|
244
|
+
logLevel: 'debug', // Send all messages to pino, allowing it to filter
|
|
245
|
+
});
|
|
246
|
+
```
|
|
247
|
+
|
|
191
248
|
### Making custom/undocumented requests
|
|
192
249
|
|
|
193
250
|
This library is typed for convenient access to the documented API. If you need to access undocumented
|
|
@@ -212,9 +269,8 @@ parameter. This library doesn't validate at runtime that the request matches the
|
|
|
212
269
|
send will be sent as-is.
|
|
213
270
|
|
|
214
271
|
```ts
|
|
215
|
-
client.
|
|
216
|
-
|
|
217
|
-
bar: 12,
|
|
272
|
+
client.v1.usage.ingest({
|
|
273
|
+
// ...
|
|
218
274
|
// @ts-expect-error baz is not yet public
|
|
219
275
|
baz: 'undocumented option',
|
|
220
276
|
});
|
|
@@ -234,69 +290,85 @@ validate or strip extra properties from the response from the API.
|
|
|
234
290
|
|
|
235
291
|
### Customizing the fetch client
|
|
236
292
|
|
|
237
|
-
By default, this library
|
|
293
|
+
By default, this library expects a global `fetch` function is defined.
|
|
238
294
|
|
|
239
|
-
If you
|
|
240
|
-
(for example, if you are running Node with `--experimental-fetch` or using NextJS which polyfills with `undici`),
|
|
241
|
-
add the following import before your first import `from "Metronome"`:
|
|
295
|
+
If you want to use a different `fetch` function, you can either polyfill the global:
|
|
242
296
|
|
|
243
297
|
```ts
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
import Metronome from '@metronome/sdk';
|
|
298
|
+
import fetch from 'my-fetch';
|
|
299
|
+
|
|
300
|
+
globalThis.fetch = fetch;
|
|
248
301
|
```
|
|
249
302
|
|
|
250
|
-
|
|
251
|
-
|
|
303
|
+
Or pass it to the client:
|
|
304
|
+
|
|
305
|
+
```ts
|
|
306
|
+
import Metronome from '@metronome/sdk';
|
|
307
|
+
import fetch from 'my-fetch';
|
|
308
|
+
|
|
309
|
+
const client = new Metronome({ fetch });
|
|
310
|
+
```
|
|
252
311
|
|
|
253
|
-
###
|
|
312
|
+
### Fetch options
|
|
254
313
|
|
|
255
|
-
|
|
256
|
-
which can be used to inspect or alter the `Request` or `Response` before/after each request:
|
|
314
|
+
If you want to set custom `fetch` options without overriding the `fetch` function, you can provide a `fetchOptions` object when instantiating the client or making a request. (Request-specific options override client options.)
|
|
257
315
|
|
|
258
316
|
```ts
|
|
259
|
-
import { fetch } from 'undici'; // as one example
|
|
260
317
|
import Metronome from '@metronome/sdk';
|
|
261
318
|
|
|
262
319
|
const client = new Metronome({
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
const response = await fetch(url, init);
|
|
266
|
-
console.log('Got response', response);
|
|
267
|
-
return response;
|
|
320
|
+
fetchOptions: {
|
|
321
|
+
// `RequestInit` options
|
|
268
322
|
},
|
|
269
323
|
});
|
|
270
324
|
```
|
|
271
325
|
|
|
272
|
-
|
|
273
|
-
This is intended for debugging purposes only and may change in the future without notice.
|
|
326
|
+
#### Configuring proxies
|
|
274
327
|
|
|
275
|
-
|
|
328
|
+
To modify proxy behavior, you can provide custom `fetchOptions` that add runtime-specific proxy
|
|
329
|
+
options to requests:
|
|
276
330
|
|
|
277
|
-
|
|
331
|
+
<img src="https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/node.svg" align="top" width="18" height="21"> **Node** <sup>[[docs](https://github.com/nodejs/undici/blob/main/docs/docs/api/ProxyAgent.md#example---proxyagent-with-fetch)]</sup>
|
|
278
332
|
|
|
279
|
-
|
|
333
|
+
```ts
|
|
334
|
+
import Metronome from '@metronome/sdk';
|
|
335
|
+
import * as undici from 'undici';
|
|
336
|
+
|
|
337
|
+
const proxyAgent = new undici.ProxyAgent('http://localhost:8888');
|
|
338
|
+
const client = new Metronome({
|
|
339
|
+
fetchOptions: {
|
|
340
|
+
dispatcher: proxyAgent,
|
|
341
|
+
},
|
|
342
|
+
});
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
<img src="https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/bun.svg" align="top" width="18" height="21"> **Bun** <sup>[[docs](https://bun.sh/guides/http/proxy)]</sup>
|
|
280
346
|
|
|
281
|
-
<!-- prettier-ignore -->
|
|
282
347
|
```ts
|
|
283
|
-
import
|
|
284
|
-
import { HttpsProxyAgent } from 'https-proxy-agent';
|
|
348
|
+
import Metronome from '@metronome/sdk';
|
|
285
349
|
|
|
286
|
-
// Configure the default for all requests:
|
|
287
350
|
const client = new Metronome({
|
|
288
|
-
|
|
351
|
+
fetchOptions: {
|
|
352
|
+
proxy: 'http://localhost:8888',
|
|
353
|
+
},
|
|
289
354
|
});
|
|
355
|
+
```
|
|
290
356
|
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
357
|
+
<img src="https://raw.githubusercontent.com/stainless-api/sdk-assets/refs/heads/main/deno.svg" align="top" width="18" height="21"> **Deno** <sup>[[docs](https://docs.deno.com/api/deno/~/Deno.createHttpClient)]</sup>
|
|
358
|
+
|
|
359
|
+
```ts
|
|
360
|
+
import Metronome from 'npm:@metronome/sdk';
|
|
361
|
+
|
|
362
|
+
const httpClient = Deno.createHttpClient({ proxy: { url: 'http://localhost:8888' } });
|
|
363
|
+
const client = new Metronome({
|
|
364
|
+
fetchOptions: {
|
|
365
|
+
client: httpClient,
|
|
296
366
|
},
|
|
297
|
-
);
|
|
367
|
+
});
|
|
298
368
|
```
|
|
299
369
|
|
|
370
|
+
## Frequently Asked Questions
|
|
371
|
+
|
|
300
372
|
## Semantic versioning
|
|
301
373
|
|
|
302
374
|
This package generally follows [SemVer](https://semver.org/spec/v2.0.0.html) conventions, though certain backwards-incompatible changes may be released as minor versions:
|
|
@@ -311,12 +383,12 @@ We are keen for your feedback; please open an [issue](https://www.github.com/Met
|
|
|
311
383
|
|
|
312
384
|
## Requirements
|
|
313
385
|
|
|
314
|
-
TypeScript >= 4.
|
|
386
|
+
TypeScript >= 4.9 is supported.
|
|
315
387
|
|
|
316
388
|
The following runtimes are supported:
|
|
317
389
|
|
|
318
390
|
- Web browsers (Up-to-date Chrome, Firefox, Safari, Edge, and more)
|
|
319
|
-
- Node.js
|
|
391
|
+
- Node.js 20 LTS or later ([non-EOL](https://endoflife.date/nodejs)) versions.
|
|
320
392
|
- Deno v1.28.0 or higher.
|
|
321
393
|
- Bun 1.0 or later.
|
|
322
394
|
- Cloudflare Workers.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.d.mts","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":""}
|
package/api-promise.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.d.ts","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":""}
|
package/api-promise.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("./internal/tslib.js");
|
|
4
|
+
/** @deprecated Import from ./core/api-promise instead */
|
|
5
|
+
tslib_1.__exportStar(require("./core/api-promise.js"), exports);
|
|
6
|
+
//# sourceMappingURL=api-promise.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.js","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":";;;AAAA,yDAAyD;AACzD,gEAAmC"}
|
package/api-promise.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-promise.mjs","sourceRoot":"","sources":["src/api-promise.ts"],"names":[],"mappings":""}
|
package/bin/cli
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { spawnSync } = require('child_process');
|
|
4
|
+
|
|
5
|
+
const commands = {
|
|
6
|
+
migrate: {
|
|
7
|
+
description:
|
|
8
|
+
'Run migrations to update your code using @metronome/sdk@0.3.0 to be compatible with @metronome/sdk@1.0.0',
|
|
9
|
+
fn: () => {
|
|
10
|
+
const result = spawnSync(
|
|
11
|
+
'npx',
|
|
12
|
+
[
|
|
13
|
+
'-y',
|
|
14
|
+
'https://github.com/stainless-api/migrate-ts/releases/download/0.0.2/stainless-api-migrate-0.0.2-6.tgz',
|
|
15
|
+
'--migrationConfig',
|
|
16
|
+
require.resolve('./migration-config.json'),
|
|
17
|
+
...process.argv.slice(3),
|
|
18
|
+
],
|
|
19
|
+
{ stdio: 'inherit' },
|
|
20
|
+
);
|
|
21
|
+
if (result.status !== 0) {
|
|
22
|
+
process.exit(result.status);
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
function exitWithHelp() {
|
|
29
|
+
console.log(`Usage: metronome-sdk <subcommand>`);
|
|
30
|
+
console.log();
|
|
31
|
+
console.log('Subcommands:');
|
|
32
|
+
|
|
33
|
+
for (const [name, info] of Object.entries(commands)) {
|
|
34
|
+
console.log(` ${name} ${info.description}`);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
console.log();
|
|
38
|
+
process.exit(1);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
if (process.argv.length < 3) {
|
|
42
|
+
exitWithHelp();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const commandName = process.argv[2];
|
|
46
|
+
|
|
47
|
+
const command = commands[commandName];
|
|
48
|
+
if (!command) {
|
|
49
|
+
console.log(`Unknown subcommand ${commandName}.`);
|
|
50
|
+
exitWithHelp();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
command.fn();
|
package/client.d.mts
ADDED
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import type { RequestInit, RequestInfo } from "./internal/builtin-types.mjs";
|
|
2
|
+
import type { PromiseOrValue, MergedRequestInit, FinalizedRequestInit } from "./internal/types.mjs";
|
|
3
|
+
export type { Logger, LogLevel } from "./internal/utils/log.mjs";
|
|
4
|
+
import * as Opts from "./internal/request-options.mjs";
|
|
5
|
+
import * as Errors from "./core/error.mjs";
|
|
6
|
+
import * as Pagination from "./core/pagination.mjs";
|
|
7
|
+
import { type BodyCursorPageParams, BodyCursorPageResponse, type CursorPageParams, CursorPageResponse, type CursorPageWithoutLimitParams, CursorPageWithoutLimitResponse } from "./core/pagination.mjs";
|
|
8
|
+
import * as Uploads from "./core/uploads.mjs";
|
|
9
|
+
import * as API from "./resources/index.mjs";
|
|
10
|
+
import { APIPromise } from "./core/api-promise.mjs";
|
|
11
|
+
import { V1 } from "./resources/v1/v1.mjs";
|
|
12
|
+
import { V2 } from "./resources/v2/v2.mjs";
|
|
13
|
+
import { type Fetch } from "./internal/builtin-types.mjs";
|
|
14
|
+
import { HeadersLike, NullableHeaders } from "./internal/headers.mjs";
|
|
15
|
+
import { FinalRequestOptions, RequestOptions } from "./internal/request-options.mjs";
|
|
16
|
+
import { type LogLevel, type Logger } from "./internal/utils/log.mjs";
|
|
17
|
+
export interface ClientOptions {
|
|
18
|
+
/**
|
|
19
|
+
* Defaults to process.env['METRONOME_BEARER_TOKEN'].
|
|
20
|
+
*/
|
|
21
|
+
bearerToken?: string | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Defaults to process.env['METRONOME_WEBHOOK_SECRET'].
|
|
24
|
+
*/
|
|
25
|
+
webhookSecret?: string | null | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* Override the default base URL for the API, e.g., "https://api.example.com/v2/"
|
|
28
|
+
*
|
|
29
|
+
* Defaults to process.env['METRONOME_BASE_URL'].
|
|
30
|
+
*/
|
|
31
|
+
baseURL?: string | null | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* The maximum amount of time (in milliseconds) that the client should wait for a response
|
|
34
|
+
* from the server before timing out a single request.
|
|
35
|
+
*
|
|
36
|
+
* Note that request timeouts are retried by default, so in a worst-case scenario you may wait
|
|
37
|
+
* much longer than this timeout before the promise succeeds or fails.
|
|
38
|
+
*
|
|
39
|
+
* @unit milliseconds
|
|
40
|
+
*/
|
|
41
|
+
timeout?: number | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Additional `RequestInit` options to be passed to `fetch` calls.
|
|
44
|
+
* Properties will be overridden by per-request `fetchOptions`.
|
|
45
|
+
*/
|
|
46
|
+
fetchOptions?: MergedRequestInit | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Specify a custom `fetch` function implementation.
|
|
49
|
+
*
|
|
50
|
+
* If not provided, we expect that `fetch` is defined globally.
|
|
51
|
+
*/
|
|
52
|
+
fetch?: Fetch | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* The maximum number of times that the client will retry a request in case of a
|
|
55
|
+
* temporary failure, like a network error or a 5XX error from the server.
|
|
56
|
+
*
|
|
57
|
+
* @default 2
|
|
58
|
+
*/
|
|
59
|
+
maxRetries?: number | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Default headers to include with every request to the API.
|
|
62
|
+
*
|
|
63
|
+
* These can be removed in individual requests by explicitly setting the
|
|
64
|
+
* header to `null` in request options.
|
|
65
|
+
*/
|
|
66
|
+
defaultHeaders?: HeadersLike | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Default query parameters to include with every request to the API.
|
|
69
|
+
*
|
|
70
|
+
* These can be removed in individual requests by explicitly setting the
|
|
71
|
+
* param to `undefined` in request options.
|
|
72
|
+
*/
|
|
73
|
+
defaultQuery?: Record<string, string | undefined> | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Set the log level.
|
|
76
|
+
*
|
|
77
|
+
* Defaults to process.env['METRONOME_LOG'] or 'warn' if it isn't set.
|
|
78
|
+
*/
|
|
79
|
+
logLevel?: LogLevel | undefined;
|
|
80
|
+
/**
|
|
81
|
+
* Set the logger.
|
|
82
|
+
*
|
|
83
|
+
* Defaults to globalThis.console.
|
|
84
|
+
*/
|
|
85
|
+
logger?: Logger | undefined;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* API Client for interfacing with the Metronome API.
|
|
89
|
+
*/
|
|
90
|
+
export declare class Metronome {
|
|
91
|
+
#private;
|
|
92
|
+
bearerToken: string;
|
|
93
|
+
webhookSecret: string | null;
|
|
94
|
+
baseURL: string;
|
|
95
|
+
maxRetries: number;
|
|
96
|
+
timeout: number;
|
|
97
|
+
logger: Logger | undefined;
|
|
98
|
+
logLevel: LogLevel | undefined;
|
|
99
|
+
fetchOptions: MergedRequestInit | undefined;
|
|
100
|
+
private fetch;
|
|
101
|
+
protected idempotencyHeader?: string;
|
|
102
|
+
private _options;
|
|
103
|
+
/**
|
|
104
|
+
* API Client for interfacing with the Metronome API.
|
|
105
|
+
*
|
|
106
|
+
* @param {string | undefined} [opts.bearerToken=process.env['METRONOME_BEARER_TOKEN'] ?? undefined]
|
|
107
|
+
* @param {string | null | undefined} [opts.webhookSecret=process.env['METRONOME_WEBHOOK_SECRET'] ?? null]
|
|
108
|
+
* @param {string} [opts.baseURL=process.env['METRONOME_BASE_URL'] ?? https://api.metronome.com] - Override the default base URL for the API.
|
|
109
|
+
* @param {number} [opts.timeout=1 minute] - The maximum amount of time (in milliseconds) the client will wait for a response before timing out.
|
|
110
|
+
* @param {MergedRequestInit} [opts.fetchOptions] - Additional `RequestInit` options to be passed to `fetch` calls.
|
|
111
|
+
* @param {Fetch} [opts.fetch] - Specify a custom `fetch` function implementation.
|
|
112
|
+
* @param {number} [opts.maxRetries=2] - The maximum number of times the client will retry a request.
|
|
113
|
+
* @param {HeadersLike} opts.defaultHeaders - Default headers to include with every request to the API.
|
|
114
|
+
* @param {Record<string, string | undefined>} opts.defaultQuery - Default query parameters to include with every request to the API.
|
|
115
|
+
*/
|
|
116
|
+
constructor({ baseURL, bearerToken, webhookSecret, ...opts }?: ClientOptions);
|
|
117
|
+
/**
|
|
118
|
+
* Create a new client instance re-using the same options given to the current client with optional overriding.
|
|
119
|
+
*/
|
|
120
|
+
withOptions(options: Partial<ClientOptions>): this;
|
|
121
|
+
protected defaultQuery(): Record<string, string | undefined> | undefined;
|
|
122
|
+
protected validateHeaders({ values, nulls }: NullableHeaders): void;
|
|
123
|
+
protected authHeaders(opts: FinalRequestOptions): Promise<NullableHeaders | undefined>;
|
|
124
|
+
protected stringifyQuery(query: Record<string, unknown>): string;
|
|
125
|
+
private getUserAgent;
|
|
126
|
+
protected defaultIdempotencyKey(): string;
|
|
127
|
+
protected makeStatusError(status: number, error: Object, message: string | undefined, headers: Headers): Errors.APIError;
|
|
128
|
+
buildURL(path: string, query: Record<string, unknown> | null | undefined, defaultBaseURL?: string | undefined): string;
|
|
129
|
+
/**
|
|
130
|
+
* Used as a callback for mutating the given `FinalRequestOptions` object.
|
|
131
|
+
*/
|
|
132
|
+
protected prepareOptions(options: FinalRequestOptions): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Used as a callback for mutating the given `RequestInit` object.
|
|
135
|
+
*
|
|
136
|
+
* This is useful for cases where you want to add certain headers based off of
|
|
137
|
+
* the request properties, e.g. `method` or `url`.
|
|
138
|
+
*/
|
|
139
|
+
protected prepareRequest(request: RequestInit, { url, options }: {
|
|
140
|
+
url: string;
|
|
141
|
+
options: FinalRequestOptions;
|
|
142
|
+
}): Promise<void>;
|
|
143
|
+
get<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
|
|
144
|
+
post<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
|
|
145
|
+
patch<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
|
|
146
|
+
put<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
|
|
147
|
+
delete<Rsp>(path: string, opts?: PromiseOrValue<RequestOptions>): APIPromise<Rsp>;
|
|
148
|
+
private methodRequest;
|
|
149
|
+
request<Rsp>(options: PromiseOrValue<FinalRequestOptions>, remainingRetries?: number | null): APIPromise<Rsp>;
|
|
150
|
+
private makeRequest;
|
|
151
|
+
getAPIList<Item, PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>>(path: string, Page: new (...args: any[]) => PageClass, opts?: RequestOptions): Pagination.PagePromise<PageClass, Item>;
|
|
152
|
+
requestAPIList<Item = unknown, PageClass extends Pagination.AbstractPage<Item> = Pagination.AbstractPage<Item>>(Page: new (...args: ConstructorParameters<typeof Pagination.AbstractPage>) => PageClass, options: FinalRequestOptions): Pagination.PagePromise<PageClass, Item>;
|
|
153
|
+
fetchWithTimeout(url: RequestInfo, init: RequestInit | undefined, ms: number, controller: AbortController): Promise<Response>;
|
|
154
|
+
private shouldRetry;
|
|
155
|
+
private retryRequest;
|
|
156
|
+
private calculateDefaultRetryTimeoutMillis;
|
|
157
|
+
buildRequest(inputOptions: FinalRequestOptions, { retryCount }?: {
|
|
158
|
+
retryCount?: number;
|
|
159
|
+
}): Promise<{
|
|
160
|
+
req: FinalizedRequestInit;
|
|
161
|
+
url: string;
|
|
162
|
+
timeout: number;
|
|
163
|
+
}>;
|
|
164
|
+
private buildHeaders;
|
|
165
|
+
private buildBody;
|
|
166
|
+
static Metronome: typeof Metronome;
|
|
167
|
+
static DEFAULT_TIMEOUT: number;
|
|
168
|
+
static MetronomeError: typeof Errors.MetronomeError;
|
|
169
|
+
static APIError: typeof Errors.APIError;
|
|
170
|
+
static APIConnectionError: typeof Errors.APIConnectionError;
|
|
171
|
+
static APIConnectionTimeoutError: typeof Errors.APIConnectionTimeoutError;
|
|
172
|
+
static APIUserAbortError: typeof Errors.APIUserAbortError;
|
|
173
|
+
static NotFoundError: typeof Errors.NotFoundError;
|
|
174
|
+
static ConflictError: typeof Errors.ConflictError;
|
|
175
|
+
static RateLimitError: typeof Errors.RateLimitError;
|
|
176
|
+
static BadRequestError: typeof Errors.BadRequestError;
|
|
177
|
+
static AuthenticationError: typeof Errors.AuthenticationError;
|
|
178
|
+
static InternalServerError: typeof Errors.InternalServerError;
|
|
179
|
+
static PermissionDeniedError: typeof Errors.PermissionDeniedError;
|
|
180
|
+
static UnprocessableEntityError: typeof Errors.UnprocessableEntityError;
|
|
181
|
+
static toFile: typeof Uploads.toFile;
|
|
182
|
+
webhooks: API.Webhooks;
|
|
183
|
+
v2: API.V2;
|
|
184
|
+
v1: API.V1;
|
|
185
|
+
}
|
|
186
|
+
export declare namespace Metronome {
|
|
187
|
+
export type RequestOptions = Opts.RequestOptions;
|
|
188
|
+
export import CursorPage = Pagination.CursorPage;
|
|
189
|
+
export { type CursorPageParams as CursorPageParams, type CursorPageResponse as CursorPageResponse };
|
|
190
|
+
export import BodyCursorPage = Pagination.BodyCursorPage;
|
|
191
|
+
export { type BodyCursorPageParams as BodyCursorPageParams, type BodyCursorPageResponse as BodyCursorPageResponse, };
|
|
192
|
+
export import CursorPageWithoutLimit = Pagination.CursorPageWithoutLimit;
|
|
193
|
+
export { type CursorPageWithoutLimitParams as CursorPageWithoutLimitParams, type CursorPageWithoutLimitResponse as CursorPageWithoutLimitResponse, };
|
|
194
|
+
export { V2 as V2 };
|
|
195
|
+
export { V1 as V1 };
|
|
196
|
+
export type BaseThresholdCommit = API.BaseThresholdCommit;
|
|
197
|
+
export type BaseUsageFilter = API.BaseUsageFilter;
|
|
198
|
+
export type Commit = API.Commit;
|
|
199
|
+
export type CommitHierarchyConfiguration = API.CommitHierarchyConfiguration;
|
|
200
|
+
export type CommitRate = API.CommitRate;
|
|
201
|
+
export type CommitSpecifier = API.CommitSpecifier;
|
|
202
|
+
export type CommitSpecifierInput = API.CommitSpecifierInput;
|
|
203
|
+
export type Contract = API.Contract;
|
|
204
|
+
export type ContractV2 = API.ContractV2;
|
|
205
|
+
export type ContractWithoutAmendments = API.ContractWithoutAmendments;
|
|
206
|
+
export type Credit = API.Credit;
|
|
207
|
+
export type CreditTypeData = API.CreditTypeData;
|
|
208
|
+
export type Discount = API.Discount;
|
|
209
|
+
export type EventTypeFilter = API.EventTypeFilter;
|
|
210
|
+
export type HierarchyConfiguration = API.HierarchyConfiguration;
|
|
211
|
+
export type ID = API.ID;
|
|
212
|
+
export type Override = API.Override;
|
|
213
|
+
export type OverrideTier = API.OverrideTier;
|
|
214
|
+
export type OverwriteRate = API.OverwriteRate;
|
|
215
|
+
export type PaymentGateConfig = API.PaymentGateConfig;
|
|
216
|
+
export type PaymentGateConfigV2 = API.PaymentGateConfigV2;
|
|
217
|
+
export type PrepaidBalanceThresholdConfiguration = API.PrepaidBalanceThresholdConfiguration;
|
|
218
|
+
export type PrepaidBalanceThresholdConfigurationV2 = API.PrepaidBalanceThresholdConfigurationV2;
|
|
219
|
+
export type PropertyFilter = API.PropertyFilter;
|
|
220
|
+
export type ProService = API.ProService;
|
|
221
|
+
export type Rate = API.Rate;
|
|
222
|
+
export type RecurringCommitSubscriptionConfig = API.RecurringCommitSubscriptionConfig;
|
|
223
|
+
export type ScheduledCharge = API.ScheduledCharge;
|
|
224
|
+
export type ScheduleDuration = API.ScheduleDuration;
|
|
225
|
+
export type SchedulePointInTime = API.SchedulePointInTime;
|
|
226
|
+
export type SpendThresholdConfiguration = API.SpendThresholdConfiguration;
|
|
227
|
+
export type SpendThresholdConfigurationV2 = API.SpendThresholdConfigurationV2;
|
|
228
|
+
export type Subscription = API.Subscription;
|
|
229
|
+
export type Tier = API.Tier;
|
|
230
|
+
export type UpdateBaseThresholdCommit = API.UpdateBaseThresholdCommit;
|
|
231
|
+
}
|
|
232
|
+
//# sourceMappingURL=client.d.mts.map
|