@hyperline/cli 0.1.0-build.1.a88b5e7 → 0.1.0-build.1.a972870
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/dist/bin/hyperline-main.js +61 -13
- package/package.json +1 -1
|
@@ -37934,7 +37934,7 @@ Examples:
|
|
|
37934
37934
|
queryParamKeys: ["take", "skip"]
|
|
37935
37935
|
});
|
|
37936
37936
|
});
|
|
37937
|
-
resource.command("get").description(`Retrieve a specific bank account by its ID. Returns bank account details
|
|
37937
|
+
resource.command("get").description(`Retrieve a specific bank account by its ID. Returns masked bank account details, account type, balance, and currency.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
37938
37938
|
Examples:
|
|
37939
37939
|
hyperline bank-accounts get --id <id>`).action(async (opts) => {
|
|
37940
37940
|
const ctx = resource.parent?.opts()._ctx;
|
|
@@ -37952,6 +37952,31 @@ Examples:
|
|
|
37952
37952
|
queryParamKeys: []
|
|
37953
37953
|
});
|
|
37954
37954
|
});
|
|
37955
|
+
resource.command("list-bank-account-transactions").description(`List open banking transactions for a specific bank account. Paginated with limit/cursor.`).requiredOption("--id <value>", `id parameter`).option("--limit <number>", `Maximum number of items to return (1-100).`).option("--cursor <value>", `Opaque cursor returned in the previous response's \`next_cursor\`. Omit to fetch the first page.`).option("--include-total <value>", `Set to \`true\` to include \`total\` in the response.`).addHelpText("after", `
|
|
37956
|
+
Examples:
|
|
37957
|
+
hyperline bank-accounts list-bank-account-transactions --id <id>
|
|
37958
|
+
hyperline bank-accounts list-bank-account-transactions --id <id> --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
37959
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
37960
|
+
if (!ctx) {
|
|
37961
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
37962
|
+
process.exit(1);
|
|
37963
|
+
}
|
|
37964
|
+
const args = {};
|
|
37965
|
+
if (opts.id !== void 0)
|
|
37966
|
+
args.id = opts.id;
|
|
37967
|
+
if (opts.cursor !== void 0)
|
|
37968
|
+
args.cursor = opts.cursor;
|
|
37969
|
+
if (opts.includeTotal !== void 0)
|
|
37970
|
+
args.include_total = opts.includeTotal;
|
|
37971
|
+
if (opts.limit !== void 0)
|
|
37972
|
+
args.limit = Number(opts.limit);
|
|
37973
|
+
await ctx.execute({
|
|
37974
|
+
method: "GET",
|
|
37975
|
+
path: "/v1/bank-accounts/{id}/transactions",
|
|
37976
|
+
args,
|
|
37977
|
+
queryParamKeys: ["limit", "cursor", "include_total"]
|
|
37978
|
+
});
|
|
37979
|
+
});
|
|
37955
37980
|
}
|
|
37956
37981
|
|
|
37957
37982
|
// build/commands/generated/companies.js
|
|
@@ -39620,6 +39645,7 @@ Export name.
|
|
|
39620
39645
|
- \`draft_invoices\`: Export all draft invoices, with customer and product information.
|
|
39621
39646
|
- \`open_invoices\`: Export all open invoices, with customer and product information.
|
|
39622
39647
|
- \`live_subscriptions\`: List of all active subscriptions line by line.
|
|
39648
|
+
- \`credit_balances\`: Monthly credit balance roll-forward per customer and credit type (opening, top-ups, consumption, expiry, closing).
|
|
39623
39649
|
`).requiredOption("--file-type <value>", `
|
|
39624
39650
|
Export file type.
|
|
39625
39651
|
|
|
@@ -40197,7 +40223,7 @@ Examples:
|
|
|
40197
40223
|
- \`archived\`: A previous version of an invoice.
|
|
40198
40224
|
- \`charged_on_parent\`: Invoice is charged on the parent customer.
|
|
40199
40225
|
- \`pending_parent_concat\`: Invoice is pending invoices concatenation on the parent customer to be grouped.
|
|
40200
|
-
- \`uncollectible\`: Invoice is uncollectible (bad debt).
|
|
40226
|
+
- \`uncollectible\`: Invoice is uncollectible (bad debt). Only metadata (properties, custom_note, custom_properties) can be updated in this status.
|
|
40201
40227
|
`).option("--invoicing-entity-id <value>", `ID of the invoicing entity attached to the invoice.`).option("--number <value>", `Invoice number. If specified, the invoice will be considered as imported from an external source and the number will not be generated by Hyperline. You are responsible for avoiding duplicates and ensuring it does not impact the numbering sequence in Hyperline.`).option("--type <value>", `Type of the invoice.
|
|
40202
40228
|
|
|
40203
40229
|
- \`invoice\`: Legal invoice to be paid by your customer.
|
|
@@ -40439,7 +40465,7 @@ Examples:
|
|
|
40439
40465
|
queryParamKeys: []
|
|
40440
40466
|
});
|
|
40441
40467
|
});
|
|
40442
|
-
resource.command("update").description(`Update
|
|
40468
|
+
resource.command("update").description(`Update an invoice. Draft/grace_period allow modifying line items, dates, and metadata before finalization. Finalized invoices are restricted to metadata (paid: custom_note; uncollectible: properties/custom_note/custom_properties).`).requiredOption("--id <value>", `id parameter`).option("--type <value>", `Type of the invoice.
|
|
40443
40469
|
|
|
40444
40470
|
- \`invoice\`: Legal invoice to be paid by your customer.
|
|
40445
40471
|
- \`credit_note\`: Legal credit note cancelling an invoice and refunding your customer.
|
|
@@ -41252,7 +41278,12 @@ Examples:
|
|
|
41252
41278
|
]
|
|
41253
41279
|
});
|
|
41254
41280
|
});
|
|
41255
|
-
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <value>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--custom-properties <value>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <value>", `Mapping invoicing entity ID/accounting settings.`).requiredOption("--type <value>", `Product type for fixed fee products.`).requiredOption("--price-configurations <value>", `Price configurations for the product.`).option("--aggregator <value>", `Aggregator configuration to automatically count seats from billable events. Only count aggregators are supported for seat products.`).option("--aggregator-id <value>", `ID of an existing aggregator to link to this product.`).option("--unit-name <value>", `Name of the unit (e.g., 'user', 'seat').`).option("--is-connected-seat-item", `When true, the seat count is automatically synced from an external source (e.g., CRM users).`).option("--credit-aggregators <value>", `Multiple aggregators with weights for multi-aggregator credit consumption. Cannot be used together with aggregator or aggregator_id.`).option("--low-credits-threshold <number>", `Threshold indicating a low level of credits.`).option("--
|
|
41281
|
+
resource.command("create").description(`Create a new product with name, type (flat_fee, per_unit, usage, seat, etc.), and pricing configuration.`).requiredOption("--name <value>", `Product name.`).option("--description <value>", `Product description.`).option("--description-display-interval-dates", `Indicates if the dates of the interval should be automatically added in the product description on the invoices.`).option("--public-description <value>", `Public description of the product.`).option("--translations <value>", `Product name and description translations.`).option("--is-available-on-demand", `is_available_on_demand`).option("--is-available-on-subscription", `is_available_on_subscription`).option("--custom-properties <value>", `A list of key value with the slug of the custom property as the key and the custom property value as value.`).option("--accounting <value>", `Mapping invoicing entity ID/accounting settings.`).requiredOption("--type <value>", `Product type for fixed fee products.`).requiredOption("--price-configurations <value>", `Price configurations for the product.`).option("--aggregator <value>", `Aggregator configuration to automatically count seats from billable events. Only count aggregators are supported for seat products.`).option("--aggregator-id <value>", `ID of an existing aggregator to link to this product.`).option("--unit-name <value>", `Name of the unit (e.g., 'user', 'seat').`).option("--is-connected-seat-item", `When true, the seat count is automatically synced from an external source (e.g., CRM users).`).option("--credit-aggregators <value>", `Multiple aggregators with weights for multi-aggregator credit consumption. Cannot be used together with aggregator or aggregator_id.`).option("--low-credits-threshold <number>", `Threshold indicating a low level of credits.`).option("--credits-grant-mode <value>", `
|
|
41282
|
+
How the periodic credit allowance is granted for partial billing periods.
|
|
41283
|
+
|
|
41284
|
+
- \`prorated\` (default): the granted credits are prorated to the elapsed period.
|
|
41285
|
+
- \`full_allowance\`: the full allowance is always granted (the invoice remains prorated).
|
|
41286
|
+
`).option("--display-mode <value>", `How bundle items are displayed on invoices.`).option("--exclusive-items-enabled", `When true, only one item in the bundle can be active at a time.`).option("--bundle-items <value>", `Products included in this bundle. Percentages must sum to 100.`).addHelpText("after", `
|
|
41256
41287
|
Examples:
|
|
41257
41288
|
hyperline products create --name <name> --type <type> --price-configurations <price_configurations>
|
|
41258
41289
|
hyperline products create --name <name> --type <type> --price-configurations <price_configurations> --description <description> --description-display-interval-dates
|
|
@@ -41287,6 +41318,8 @@ Examples:
|
|
|
41287
41318
|
args.unit_name = opts.unitName;
|
|
41288
41319
|
if (opts.creditAggregators !== void 0)
|
|
41289
41320
|
args.credit_aggregators = opts.creditAggregators;
|
|
41321
|
+
if (opts.creditsGrantMode !== void 0)
|
|
41322
|
+
args.credits_grant_mode = opts.creditsGrantMode;
|
|
41290
41323
|
if (opts.displayMode !== void 0)
|
|
41291
41324
|
args.display_mode = opts.displayMode;
|
|
41292
41325
|
if (opts.bundleItems !== void 0)
|
|
@@ -41412,7 +41445,7 @@ Examples:
|
|
|
41412
41445
|
// build/commands/generated/quotes.js
|
|
41413
41446
|
function registerQuotesCommands(parent) {
|
|
41414
41447
|
const resource = parent.command("quotes").description("Manage quotes");
|
|
41415
|
-
resource.command("create").description(`Create a new quote for a customer. Use \`subscription\` (or \`template_id\`) for subscription quotes; use \`invoice\` for one-off quotes backed by a draft invoice with line items. Quotes can be sent for signature and converted to subscriptions or one-off invoices.`).option("--status <value>", `
|
|
41448
|
+
resource.command("create").description(`Create a new quote for a customer. Use \`subscription\` (or \`template_id\`) for subscription quotes; use \`invoice\` for one-off quotes backed by a draft invoice with line items. Quotes can be sent for signature and converted to subscriptions or one-off invoices. When creating from a quote template, do not combine \`template_id\` with subscription overrides for dates, contract terms, products, phases, coupons, discounts, prices, or seats in this call: first create the quote from \`template_id\` so template terms and contract documents are copied, then call \`update_quote\` with the subscription payload.`).option("--status <value>", `
|
|
41416
41449
|
Quote status.
|
|
41417
41450
|
|
|
41418
41451
|
- \`draft\`: The quote is a draft.
|
|
@@ -41708,7 +41741,7 @@ Examples:
|
|
|
41708
41741
|
queryParamKeys: []
|
|
41709
41742
|
});
|
|
41710
41743
|
});
|
|
41711
|
-
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` to create or replace the draft subscription configuration, or pass \`invoice\` on a one-off quote to replace the linked draft invoice.`).requiredOption("--id <value>", `id parameter`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. Set to \`null\` to clear the manually set value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <value>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <value>", `IDs of the contract clauses used in the quote terms.`).option("--require-tax-id <value>", `Require the customer to provide a tax ID during the signature flow.`).option("--display-quote-value <value>", `Display the total quote value on the quote.`).option("--display-quote-value-with-tax <value>", `Display the total quote value including tax on the quote. Only applies to \`one_off\` quotes.`).option("--display-taxes <value>", `Display tax breakdown on the quote.`).option("--display-price-tiers <value>", `Controls which price tiers are displayed on the quote.
|
|
41744
|
+
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` to create or replace the draft subscription configuration, or pass \`invoice\` on a one-off quote to replace the linked draft invoice. For quotes created from \`template_id\`, use this tool for subscription overrides such as dates, contract terms, products, phases, coupons, discounts, prices, seats, and subscription custom properties. Omit \`terms\`, \`comments\`, and \`contract_clause_ids\` unless deliberately overriding template content.`).requiredOption("--id <value>", `id parameter`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. Set to \`null\` to clear the manually set value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <value>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--contract-clause-ids <value>", `IDs of the contract clauses used in the quote terms.`).option("--require-tax-id <value>", `Require the customer to provide a tax ID during the signature flow.`).option("--display-quote-value <value>", `Display the total quote value on the quote.`).option("--display-quote-value-with-tax <value>", `Display the total quote value including tax on the quote. Only applies to \`one_off\` quotes.`).option("--display-taxes <value>", `Display tax breakdown on the quote.`).option("--display-price-tiers <value>", `Controls which price tiers are displayed on the quote.
|
|
41712
41745
|
|
|
41713
41746
|
- \`all\`: Display all pricing tiers.
|
|
41714
41747
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
@@ -42064,7 +42097,7 @@ Examples:
|
|
|
42064
42097
|
// build/commands/generated/subscriptions.js
|
|
42065
42098
|
function registerSubscriptionsCommands(parent) {
|
|
42066
42099
|
const resource = parent.command("subscriptions").description("Manage subscriptions");
|
|
42067
|
-
resource.command("create-subscription-update").description(`Apply a single update to an existing subscription (e.g. change quantity, add/remove product, modify price).`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--type <value>", `type`).requiredOption("--payload <value>", `payload`).addHelpText("after", `
|
|
42100
|
+
resource.command("create-subscription-update").description(`Apply a single update to an existing subscription (e.g. change quantity, add/remove product, modify price).`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--precision <value>", `Granularity used to prorate the update amount. Defaults to 'calendar_days' when omitted, prorating on whole calendar days; 'milliseconds' prorates on the exact elapsed time, charging the precise partial period.`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--type <value>", `type`).requiredOption("--payload <value>", `payload`).addHelpText("after", `
|
|
42068
42101
|
Examples:
|
|
42069
42102
|
hyperline subscriptions create-subscription-update --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --type <type> --payload <payload>
|
|
42070
42103
|
hyperline subscriptions create-subscription-update --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --type <type> --payload <payload> --apply-at <apply_at> --charge-at <charge_at>
|
|
@@ -42087,6 +42120,8 @@ Examples:
|
|
|
42087
42120
|
args.charge_at = opts.chargeAt;
|
|
42088
42121
|
if (opts.calculationMethod !== void 0)
|
|
42089
42122
|
args.calculation_method = opts.calculationMethod;
|
|
42123
|
+
if (opts.precision !== void 0)
|
|
42124
|
+
args.precision = opts.precision;
|
|
42090
42125
|
if (opts.refundMethod !== void 0)
|
|
42091
42126
|
args.refund_method = opts.refundMethod;
|
|
42092
42127
|
if (opts.type !== void 0)
|
|
@@ -42100,7 +42135,7 @@ Examples:
|
|
|
42100
42135
|
queryParamKeys: []
|
|
42101
42136
|
});
|
|
42102
42137
|
});
|
|
42103
|
-
resource.command("create-subscription-updates").description(`Apply multiple updates at once to an existing subscription in a single atomic operation.`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--updates <value>", `updates`).addHelpText("after", `
|
|
42138
|
+
resource.command("create-subscription-updates").description(`Apply multiple updates at once to an existing subscription in a single atomic operation.`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--precision <value>", `Granularity used to prorate the update amount. Defaults to 'calendar_days' when omitted, prorating on whole calendar days; 'milliseconds' prorates on the exact elapsed time, charging the precise partial period.`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--updates <value>", `updates`).addHelpText("after", `
|
|
42104
42139
|
Examples:
|
|
42105
42140
|
hyperline subscriptions create-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
|
|
42106
42141
|
hyperline subscriptions create-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates> --apply-at <apply_at> --charge-at <charge_at>
|
|
@@ -42123,6 +42158,8 @@ Examples:
|
|
|
42123
42158
|
args.charge_at = opts.chargeAt;
|
|
42124
42159
|
if (opts.calculationMethod !== void 0)
|
|
42125
42160
|
args.calculation_method = opts.calculationMethod;
|
|
42161
|
+
if (opts.precision !== void 0)
|
|
42162
|
+
args.precision = opts.precision;
|
|
42126
42163
|
if (opts.refundMethod !== void 0)
|
|
42127
42164
|
args.refund_method = opts.refundMethod;
|
|
42128
42165
|
if (opts.updates !== void 0)
|
|
@@ -42262,7 +42299,7 @@ Examples:
|
|
|
42262
42299
|
queryParamKeys: []
|
|
42263
42300
|
});
|
|
42264
42301
|
});
|
|
42265
|
-
resource.command("simulate-subscription-updates").description(`Preview the effect of updates on a subscription without applying them. Returns simulated invoice and billing impact.`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--updates <value>", `updates`).addHelpText("after", `
|
|
42302
|
+
resource.command("simulate-subscription-updates").description(`Preview the effect of updates on a subscription without applying them. Returns simulated invoice and billing impact.`).requiredOption("--id <value>", `id parameter`).requiredOption("--application-schedule <value>", `application_schedule`).option("--apply-at <value>", `The date when the update should be applied. Required when application_schedule is 'scheduled'.`).requiredOption("--payment-schedule <value>", `payment_schedule`).option("--charge-at <value>", `The date when the resulting subscription update should be charged. Required when payment_schedule is 'custom'. Must be in the future.`).requiredOption("--calculation-method <value>", `calculation_method`).option("--precision <value>", `Granularity used to prorate the update amount. Defaults to 'calendar_days' when omitted, prorating on whole calendar days; 'milliseconds' prorates on the exact elapsed time, charging the precise partial period.`).option("--refund-method <value>", `Override the refund destination when the update generates a refund credit note (e.g. seat reduction). When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).requiredOption("--updates <value>", `updates`).addHelpText("after", `
|
|
42266
42303
|
Examples:
|
|
42267
42304
|
hyperline subscriptions simulate-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
|
|
42268
42305
|
hyperline subscriptions simulate-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates> --apply-at <apply_at> --charge-at <charge_at>
|
|
@@ -42285,6 +42322,8 @@ Examples:
|
|
|
42285
42322
|
args.charge_at = opts.chargeAt;
|
|
42286
42323
|
if (opts.calculationMethod !== void 0)
|
|
42287
42324
|
args.calculation_method = opts.calculationMethod;
|
|
42325
|
+
if (opts.precision !== void 0)
|
|
42326
|
+
args.precision = opts.precision;
|
|
42288
42327
|
if (opts.refundMethod !== void 0)
|
|
42289
42328
|
args.refund_method = opts.refundMethod;
|
|
42290
42329
|
if (opts.updates !== void 0)
|
|
@@ -61924,13 +61963,16 @@ function logHttpRequest(logger2, request, extra) {
|
|
|
61924
61963
|
});
|
|
61925
61964
|
}
|
|
61926
61965
|
function logHttpResponse(logger2, response, responseTime, extra) {
|
|
61927
|
-
const { request, statusCode, responseBody } = response;
|
|
61966
|
+
const { request, statusCode, responseBody, responseHeaders } = response;
|
|
61928
61967
|
const { message, metadata } = transform2(request);
|
|
61929
61968
|
const readableResponseTime = responseTime ? getReadableTime(responseTime) : void 0;
|
|
61930
61969
|
const responseMetadata = {
|
|
61931
61970
|
statusCode,
|
|
61932
61971
|
responseTime,
|
|
61933
|
-
responseBody
|
|
61972
|
+
responseBody,
|
|
61973
|
+
// Redacted so secrets (authorization/cookie/token/…) never reach the logs
|
|
61974
|
+
// while diagnostic headers (e.g. rate-limit headers on a 429) stay visible.
|
|
61975
|
+
responseHeaders: responseHeaders === void 0 ? void 0 : redactHeaders({ headers: responseHeaders })
|
|
61934
61976
|
};
|
|
61935
61977
|
logger2.info(`HTTP RES - ${message} ${statusCode} ${readableResponseTime || ""} ${extra?.postfix || ""}`, {
|
|
61936
61978
|
...metadata,
|
|
@@ -62715,10 +62757,16 @@ function buildHttpClient(dependencies) {
|
|
|
62715
62757
|
return response;
|
|
62716
62758
|
}, (error48) => {
|
|
62717
62759
|
if (error48.response) {
|
|
62718
|
-
const { config: responseConfig, status } = error48.response;
|
|
62760
|
+
const { config: responseConfig, status, headers } = error48.response;
|
|
62719
62761
|
const timeStart = responseConfig.metadata.timeStart;
|
|
62720
62762
|
const responseTime = timeStart ? Date.now() - timeStart : void 0;
|
|
62721
|
-
logHttpResponse(logger2, {
|
|
62763
|
+
logHttpResponse(logger2, {
|
|
62764
|
+
request: toLogRequest(responseConfig),
|
|
62765
|
+
statusCode: status,
|
|
62766
|
+
// Surfaces upstream response headers on error responses (e.g. the
|
|
62767
|
+
// rate-limit headers on a 429); redacted in logHttpResponse.
|
|
62768
|
+
responseHeaders: headers
|
|
62769
|
+
}, responseTime, { metadata: { error: error48.message } });
|
|
62722
62770
|
}
|
|
62723
62771
|
return Promise.reject(error48);
|
|
62724
62772
|
});
|