@hyperline/cli 0.1.0-build.1.d585d4b → 0.1.0-build.1.d661ec4

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.
@@ -34894,10 +34894,10 @@ var require_shared = __commonJS({
34894
34894
  ZodId: () => ZodId,
34895
34895
  ZodTranslationsSchemaFn: () => ZodTranslationsSchemaFn
34896
34896
  });
34897
- var import_zod19 = require_lib();
34897
+ var import_zod20 = require_lib();
34898
34898
  var countryIds2 = ["all", ...countries.map(({ id }) => id)];
34899
- var ZodId = import_zod19.z.enum(countryIds2);
34900
- var ZodTranslationsSchemaFn = (schema) => import_zod19.z.record(import_zod19.z.string(), schema.optional());
34899
+ var ZodId = import_zod20.z.enum(countryIds2);
34900
+ var ZodTranslationsSchemaFn = (schema) => import_zod20.z.record(import_zod20.z.string(), schema.optional());
34901
34901
  var UsStates = [
34902
34902
  { id: "AA", name: "Armed Forces Americas" },
34903
34903
  { id: "AE", name: "Armed Forces Europe" },
@@ -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 including IBAN, BIC, and currency.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
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
@@ -38756,7 +38781,7 @@ Customer type.
38756
38781
 
38757
38782
  - \`taxable\`: Taxes are automatically determined for the customer.
38758
38783
  - \`exempt\`: The customer is exempt from tax.
38759
- `).option("--registration-number <value>", `Customer registration number.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <value>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--bank-account <value>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
38784
+ `).option("--registration-number <value>", `Customer registration number.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <value>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--bank-account <value>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
38760
38785
  How customer invoices are issued from the parent organisation.
38761
38786
 
38762
38787
  - \`none\`: Invoices will keep being issued from this customer.
@@ -38787,6 +38812,8 @@ Examples:
38787
38812
  args.registration_number = opts.registrationNumber;
38788
38813
  if (opts.externalId !== void 0)
38789
38814
  args.external_id = opts.externalId;
38815
+ if (opts.domain !== void 0)
38816
+ args.domain = opts.domain;
38790
38817
  if (opts.invoicingEntityId !== void 0)
38791
38818
  args.invoicing_entity_id = opts.invoicingEntityId;
38792
38819
  if (opts.billingAddress !== void 0)
@@ -38885,7 +38912,7 @@ Customer type.
38885
38912
 
38886
38913
  - \`taxable\`: Taxes are automatically determined for the customer.
38887
38914
  - \`exempt\`: The customer is exempt from tax.
38888
- `).option("--registration-number <value>", `Customer registration number.`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <value>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--payment-method-id <value>", `ID of the default payment method of the customer. Only applies to card and direct debit.`).option("--bank-account <value>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
38915
+ `).option("--registration-number <value>", `Customer registration number.`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--external-id <value>", `ID of the customer in your system. This helps matching your customer with the one on Hyperline.`).option("--domain <value>", `Customer domain. If not defined, it is inferred from the billing email.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity this customer will be attached to.`).option("--billing-address <value>", `Customer billing address.`).option("--shipping-address <value>", `Customer shipping address.`).option("--billing-email <value>", `Email to which all communications will be sent.`).option("--invoice-emails <value>", `Emails to which invoices will be sent (e.g. payer, finance team, accounting firm). If not defined, invoices will be sent to the \`billing_email\`; otherwise, they won't be sent to the \`billing_email\`.`).option("--language <value>", `Language used for invoices, emails, and hosted pages.`).option("--timezone <value>", `Customer timezone.`).option("--available-payment-methods <value>", `List of payment methods you allow your customer to pay with. You customer will be able to select one of them in their portal page and those will be the default options when creating a checkout session.`).option("--payment-method-type <value>", `Default payment method type used to pay subscriptions and one-off invoices.`).option("--payment-method-id <value>", `ID of the default payment method of the customer. Only applies to card and direct debit.`).option("--bank-account <value>", `Custom bank account for the customer. If not defined and customer paying by bank transfer, the bank accounts configured in your account settings will be used.`).option("--custom-payment-delay <number>", `Custom payment terms in days. If not defined, the default one defined on the related invoicing entity will be used.`).option("--custom-payment-initiation-delay <number>", `Custom initiation delay in days before triggering payment. If not defined, the default one defined on the related invoicing entity will be used.`).option("--organisation-id <value>", `Parent organization ID to which the client is attached.`).option("--organisation-invoicing <value>", `
38889
38916
  How customer invoices are issued from the parent organisation.
38890
38917
 
38891
38918
  - \`none\`: Invoices will keep being issued from this customer.
@@ -38918,6 +38945,8 @@ Examples:
38918
38945
  args.registration_number = opts.registrationNumber;
38919
38946
  if (opts.externalId !== void 0)
38920
38947
  args.external_id = opts.externalId;
38948
+ if (opts.domain !== void 0)
38949
+ args.domain = opts.domain;
38921
38950
  if (opts.invoicingEntityId !== void 0)
38922
38951
  args.invoicing_entity_id = opts.invoicingEntityId;
38923
38952
  if (opts.billingAddress !== void 0)
@@ -39620,6 +39649,7 @@ Export name.
39620
39649
  - \`draft_invoices\`: Export all draft invoices, with customer and product information.
39621
39650
  - \`open_invoices\`: Export all open invoices, with customer and product information.
39622
39651
  - \`live_subscriptions\`: List of all active subscriptions line by line.
39652
+ - \`credit_balances\`: Monthly credit balance roll-forward per customer and credit type (opening, top-ups, consumption, expiry, closing).
39623
39653
  `).requiredOption("--file-type <value>", `
39624
39654
  Export file type.
39625
39655
 
@@ -40197,7 +40227,7 @@ Examples:
40197
40227
  - \`archived\`: A previous version of an invoice.
40198
40228
  - \`charged_on_parent\`: Invoice is charged on the parent customer.
40199
40229
  - \`pending_parent_concat\`: Invoice is pending invoices concatenation on the parent customer to be grouped.
40200
- - \`uncollectible\`: Invoice is uncollectible (bad debt).
40230
+ - \`uncollectible\`: Invoice is uncollectible (bad debt). Only metadata (properties, custom_note, custom_properties) can be updated in this status.
40201
40231
  `).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
40232
 
40203
40233
  - \`invoice\`: Legal invoice to be paid by your customer.
@@ -40439,7 +40469,7 @@ Examples:
40439
40469
  queryParamKeys: []
40440
40470
  });
40441
40471
  });
40442
- resource.command("update").description(`Update a draft or grace_period invoice. Allows modifying line items, dates, and metadata before finalization.`).requiredOption("--id <value>", `id parameter`).option("--type <value>", `Type of the invoice.
40472
+ 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
40473
 
40444
40474
  - \`invoice\`: Legal invoice to be paid by your customer.
40445
40475
  - \`credit_note\`: Legal credit note cancelling an invoice and refunding your customer.
@@ -41252,7 +41282,12 @@ Examples:
41252
41282
  ]
41253
41283
  });
41254
41284
  });
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("--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", `
41285
+ 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>", `
41286
+ How the periodic credit allowance is granted for partial billing periods.
41287
+
41288
+ - \`prorated\` (default): the granted credits are prorated to the elapsed period.
41289
+ - \`full_allowance\`: the full allowance is always granted (the invoice remains prorated).
41290
+ `).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
41291
  Examples:
41257
41292
  hyperline products create --name <name> --type <type> --price-configurations <price_configurations>
41258
41293
  hyperline products create --name <name> --type <type> --price-configurations <price_configurations> --description <description> --description-display-interval-dates
@@ -41287,6 +41322,8 @@ Examples:
41287
41322
  args.unit_name = opts.unitName;
41288
41323
  if (opts.creditAggregators !== void 0)
41289
41324
  args.credit_aggregators = opts.creditAggregators;
41325
+ if (opts.creditsGrantMode !== void 0)
41326
+ args.credits_grant_mode = opts.creditsGrantMode;
41290
41327
  if (opts.displayMode !== void 0)
41291
41328
  args.display_mode = opts.displayMode;
41292
41329
  if (opts.bundleItems !== void 0)
@@ -41412,7 +41449,7 @@ Examples:
41412
41449
  // build/commands/generated/quotes.js
41413
41450
  function registerQuotesCommands(parent) {
41414
41451
  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>", `
41452
+ 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
41453
  Quote status.
41417
41454
 
41418
41455
  - \`draft\`: The quote is a draft.
@@ -41708,12 +41745,12 @@ Examples:
41708
41745
  queryParamKeys: []
41709
41746
  });
41710
41747
  });
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.
41748
+ 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
41749
 
41713
41750
  - \`all\`: Display all pricing tiers.
41714
41751
  - \`matching\`: Only display the tiers used to compute the price based on quantity.
41715
41752
  - \`none\`: Hide all pricing tiers.
41716
- `).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--display-subscription-on-update <value>", `Display subscription details on subscription update quotes.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Set to \`null\` to clear the expiration.`).option("--subscription <value>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <value>", `Invoice configuration constituting the one-off quote. When provided on a draft one-off quote, it deletes the previous draft invoice and creates a fresh one linked to the quote. \`invoice.invoicing_entity_id\` is ignored on update \u2014 the quote's existing invoicing entity is reused.`).addHelpText("after", `
41753
+ `).option("--display-phase-value <value>", `Display per-phase value breakdown on the quote.`).option("--display-first-invoice-amount <value>", `Display the first invoice amount on the quote.`).option("--display-documents-in-preview <value>", `Display attached documents in the quote preview.`).option("--display-subscription-on-update <value>", `Display subscription details on subscription update quotes.`).option("--generate-draft-invoices <value>", `When \`true\`, the invoice issued after signature stays in \`draft\` status instead of being emitted for payment. Use this when you want to review the final invoice manually before sending it. Defaults to \`false\`.`).option("--crm-opportunity-id <value>", `ID of the related opportunity/deal in the connected CRM.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. Set to \`null\` to clear the expiration.`).option("--subscription <value>", `Subscription configuration constituting the quote. When provided on a draft quote, it creates or replaces the draft subscription attached to the quote.`).option("--invoice <value>", `Invoice configuration constituting the one-off quote. When provided on a draft one-off quote, it deletes the previous draft invoice and creates a fresh one linked to the quote. \`invoice.invoicing_entity_id\` is ignored on update \u2014 the quote's existing invoicing entity is reused.`).addHelpText("after", `
41717
41754
  Examples:
41718
41755
  hyperline quotes update --id <id>
41719
41756
  hyperline quotes update --id <id> --owner-email <owner_email> --comments <comments>
@@ -41758,6 +41795,8 @@ Examples:
41758
41795
  args.display_subscription_on_update = opts.displaySubscriptionOnUpdate;
41759
41796
  if (opts.generateDraftInvoices !== void 0)
41760
41797
  args.generate_draft_invoices = opts.generateDraftInvoices;
41798
+ if (opts.crmOpportunityId !== void 0)
41799
+ args.crm_opportunity_id = opts.crmOpportunityId;
41761
41800
  if (opts.expiresAt !== void 0)
41762
41801
  args.expires_at = opts.expiresAt;
41763
41802
  if (opts.subscription !== void 0)
@@ -41939,10 +41978,132 @@ Examples:
41939
41978
  });
41940
41979
  }
41941
41980
 
41981
+ // build/commands/generated/quotes-templates.js
41982
+ function registerQuotes_TemplatesCommands(parent) {
41983
+ const resource = parent.command("quotes-templates").description("Manage quotes > templates");
41984
+ resource.command("list-quote-templates").description(`List quote templates with pagination and optional filters for id, name, subscription_template_id, and search. Use template IDs to create quotes from reusable quote defaults.`).option("--take <number>", `take`).option("--skip <number>", `skip`).option("--id <value>", `id`).option("--id.not <value>", `id__not`).option("--id.is-null <value>", `id__isNull`).option("--id.is-not-null <value>", `id__isNotNull`).option("--id.equals <value>", `id__equals`).option("--id.contains <value>", `id__contains`).option("--id.starts-with <value>", `id__startsWith`).option("--id.end-with <value>", `id__endWith`).option("--name <value>", `name`).option("--name.not <value>", `name__not`).option("--name.is-null <value>", `name__isNull`).option("--name.is-not-null <value>", `name__isNotNull`).option("--name.equals <value>", `name__equals`).option("--name.contains <value>", `name__contains`).option("--name.starts-with <value>", `name__startsWith`).option("--name.end-with <value>", `name__endWith`).option("--subscription-template-id <value>", `subscription_template_id`).option("--subscription-template-id.not <value>", `subscription_template_id__not`).option("--subscription-template-id.is-null <value>", `subscription_template_id__isNull`).option("--subscription-template-id.is-not-null <value>", `subscription_template_id__isNotNull`).option("--subscription-template-id.equals <value>", `subscription_template_id__equals`).option("--subscription-template-id.contains <value>", `subscription_template_id__contains`).option("--subscription-template-id.starts-with <value>", `subscription_template_id__startsWith`).option("--subscription-template-id.end-with <value>", `subscription_template_id__endWith`).option("--search <value>", `search`).addHelpText("after", `
41985
+ Examples:
41986
+ hyperline quotes-templates list-quote-templates
41987
+ hyperline quotes-templates list-quote-templates --take <take> --id <id>`).action(async (opts) => {
41988
+ const ctx = resource.parent?.opts()._ctx;
41989
+ if (!ctx) {
41990
+ process.stderr.write("Error: Not authenticated\n");
41991
+ process.exit(1);
41992
+ }
41993
+ const args = {};
41994
+ if (opts.id !== void 0)
41995
+ args.id = opts.id;
41996
+ if (opts["id.not"] !== void 0)
41997
+ args.id__not = opts["id.not"];
41998
+ if (opts["id.isNull"] !== void 0)
41999
+ args.id__isNull = opts["id.isNull"];
42000
+ if (opts["id.isNotNull"] !== void 0)
42001
+ args.id__isNotNull = opts["id.isNotNull"];
42002
+ if (opts["id.equals"] !== void 0)
42003
+ args.id__equals = opts["id.equals"];
42004
+ if (opts["id.contains"] !== void 0)
42005
+ args.id__contains = opts["id.contains"];
42006
+ if (opts["id.startsWith"] !== void 0)
42007
+ args.id__startsWith = opts["id.startsWith"];
42008
+ if (opts["id.endWith"] !== void 0)
42009
+ args.id__endWith = opts["id.endWith"];
42010
+ if (opts.name !== void 0)
42011
+ args.name = opts.name;
42012
+ if (opts["name.not"] !== void 0)
42013
+ args.name__not = opts["name.not"];
42014
+ if (opts["name.isNull"] !== void 0)
42015
+ args.name__isNull = opts["name.isNull"];
42016
+ if (opts["name.isNotNull"] !== void 0)
42017
+ args.name__isNotNull = opts["name.isNotNull"];
42018
+ if (opts["name.equals"] !== void 0)
42019
+ args.name__equals = opts["name.equals"];
42020
+ if (opts["name.contains"] !== void 0)
42021
+ args.name__contains = opts["name.contains"];
42022
+ if (opts["name.startsWith"] !== void 0)
42023
+ args.name__startsWith = opts["name.startsWith"];
42024
+ if (opts["name.endWith"] !== void 0)
42025
+ args.name__endWith = opts["name.endWith"];
42026
+ if (opts.subscriptionTemplateId !== void 0)
42027
+ args.subscription_template_id = opts.subscriptionTemplateId;
42028
+ if (opts["subscriptionTemplateId.not"] !== void 0)
42029
+ args.subscription_template_id__not = opts["subscriptionTemplateId.not"];
42030
+ if (opts["subscriptionTemplateId.isNull"] !== void 0)
42031
+ args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
42032
+ if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
42033
+ args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
42034
+ if (opts["subscriptionTemplateId.equals"] !== void 0)
42035
+ args.subscription_template_id__equals = opts["subscriptionTemplateId.equals"];
42036
+ if (opts["subscriptionTemplateId.contains"] !== void 0)
42037
+ args.subscription_template_id__contains = opts["subscriptionTemplateId.contains"];
42038
+ if (opts["subscriptionTemplateId.startsWith"] !== void 0)
42039
+ args.subscription_template_id__startsWith = opts["subscriptionTemplateId.startsWith"];
42040
+ if (opts["subscriptionTemplateId.endWith"] !== void 0)
42041
+ args.subscription_template_id__endWith = opts["subscriptionTemplateId.endWith"];
42042
+ if (opts.search !== void 0)
42043
+ args.search = opts.search;
42044
+ if (opts.take !== void 0)
42045
+ args.take = Number(opts.take);
42046
+ if (opts.skip !== void 0)
42047
+ args.skip = Number(opts.skip);
42048
+ await ctx.execute({
42049
+ method: "GET",
42050
+ path: "/v1/quotes/templates",
42051
+ args,
42052
+ queryParamKeys: [
42053
+ "take",
42054
+ "skip",
42055
+ "id",
42056
+ "id__not",
42057
+ "id__isNull",
42058
+ "id__isNotNull",
42059
+ "id__equals",
42060
+ "id__contains",
42061
+ "id__startsWith",
42062
+ "id__endWith",
42063
+ "name",
42064
+ "name__not",
42065
+ "name__isNull",
42066
+ "name__isNotNull",
42067
+ "name__equals",
42068
+ "name__contains",
42069
+ "name__startsWith",
42070
+ "name__endWith",
42071
+ "subscription_template_id",
42072
+ "subscription_template_id__not",
42073
+ "subscription_template_id__isNull",
42074
+ "subscription_template_id__isNotNull",
42075
+ "subscription_template_id__equals",
42076
+ "subscription_template_id__contains",
42077
+ "subscription_template_id__startsWith",
42078
+ "subscription_template_id__endWith",
42079
+ "search"
42080
+ ]
42081
+ });
42082
+ });
42083
+ resource.command("get-quote-template").description(`Retrieve a quote template by ID with quote defaults, display options, attachments, and linked contract template/clause IDs.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
42084
+ Examples:
42085
+ hyperline quotes-templates get-quote-template --id <id>`).action(async (opts) => {
42086
+ const ctx = resource.parent?.opts()._ctx;
42087
+ if (!ctx) {
42088
+ process.stderr.write("Error: Not authenticated\n");
42089
+ process.exit(1);
42090
+ }
42091
+ const args = {};
42092
+ if (opts.id !== void 0)
42093
+ args.id = opts.id;
42094
+ await ctx.execute({
42095
+ method: "GET",
42096
+ path: "/v1/quotes/templates/{id}",
42097
+ args,
42098
+ queryParamKeys: []
42099
+ });
42100
+ });
42101
+ }
42102
+
41942
42103
  // build/commands/generated/subscriptions.js
41943
42104
  function registerSubscriptionsCommands(parent) {
41944
42105
  const resource = parent.command("subscriptions").description("Manage subscriptions");
41945
- 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", `
42106
+ 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", `
41946
42107
  Examples:
41947
42108
  hyperline subscriptions create-subscription-update --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --type <type> --payload <payload>
41948
42109
  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>
@@ -41965,6 +42126,8 @@ Examples:
41965
42126
  args.charge_at = opts.chargeAt;
41966
42127
  if (opts.calculationMethod !== void 0)
41967
42128
  args.calculation_method = opts.calculationMethod;
42129
+ if (opts.precision !== void 0)
42130
+ args.precision = opts.precision;
41968
42131
  if (opts.refundMethod !== void 0)
41969
42132
  args.refund_method = opts.refundMethod;
41970
42133
  if (opts.type !== void 0)
@@ -41978,7 +42141,7 @@ Examples:
41978
42141
  queryParamKeys: []
41979
42142
  });
41980
42143
  });
41981
- 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", `
42144
+ 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", `
41982
42145
  Examples:
41983
42146
  hyperline subscriptions create-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
41984
42147
  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>
@@ -42001,6 +42164,8 @@ Examples:
42001
42164
  args.charge_at = opts.chargeAt;
42002
42165
  if (opts.calculationMethod !== void 0)
42003
42166
  args.calculation_method = opts.calculationMethod;
42167
+ if (opts.precision !== void 0)
42168
+ args.precision = opts.precision;
42004
42169
  if (opts.refundMethod !== void 0)
42005
42170
  args.refund_method = opts.refundMethod;
42006
42171
  if (opts.updates !== void 0)
@@ -42059,7 +42224,7 @@ Examples:
42059
42224
  queryParamKeys: []
42060
42225
  });
42061
42226
  });
42062
- resource.command("pause").description(`Pause a subscription. Billing stops while paused. Optionally specify a reactivate_at date for automatic resumption.`).requiredOption("--id <value>", `id parameter`).option("--reactivate-at <value>", `Date when the subscription will be automatically reactivated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).addHelpText("after", `
42227
+ resource.command("pause").description(`Pause a subscription. Billing stops while paused. Optionally specify a reactivate_at date for automatic resumption. If the subscription is already paused, updates (or clears) its reactivation date.`).requiredOption("--id <value>", `id parameter`).option("--reactivate-at <value>", `Date when the subscription will be automatically reactivated. Must be a future date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).addHelpText("after", `
42063
42228
  Examples:
42064
42229
  hyperline subscriptions pause --id <id>
42065
42230
  hyperline subscriptions pause --id <id> --reactivate-at <reactivate_at>
@@ -42140,7 +42305,7 @@ Examples:
42140
42305
  queryParamKeys: []
42141
42306
  });
42142
42307
  });
42143
- 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", `
42308
+ 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", `
42144
42309
  Examples:
42145
42310
  hyperline subscriptions simulate-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
42146
42311
  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>
@@ -42163,6 +42328,8 @@ Examples:
42163
42328
  args.charge_at = opts.chargeAt;
42164
42329
  if (opts.calculationMethod !== void 0)
42165
42330
  args.calculation_method = opts.calculationMethod;
42331
+ if (opts.precision !== void 0)
42332
+ args.precision = opts.precision;
42166
42333
  if (opts.refundMethod !== void 0)
42167
42334
  args.refund_method = opts.refundMethod;
42168
42335
  if (opts.updates !== void 0)
@@ -43540,6 +43707,7 @@ function registerAllCommands(program2) {
43540
43707
  registerProductsCommands(program2);
43541
43708
  registerPrice_ConfigurationsCommands(program2);
43542
43709
  registerQuotesCommands(program2);
43710
+ registerQuotes_TemplatesCommands(program2);
43543
43711
  registerSubscriptions_TemplatesCommands(program2);
43544
43712
  registerSubscriptionsCommands(program2);
43545
43713
  registerSubscriptions_TransitionsCommands(program2);
@@ -61801,13 +61969,16 @@ function logHttpRequest(logger2, request, extra) {
61801
61969
  });
61802
61970
  }
61803
61971
  function logHttpResponse(logger2, response, responseTime, extra) {
61804
- const { request, statusCode, responseBody } = response;
61972
+ const { request, statusCode, responseBody, responseHeaders } = response;
61805
61973
  const { message, metadata } = transform2(request);
61806
61974
  const readableResponseTime = responseTime ? getReadableTime(responseTime) : void 0;
61807
61975
  const responseMetadata = {
61808
61976
  statusCode,
61809
61977
  responseTime,
61810
- responseBody
61978
+ responseBody,
61979
+ // Redacted so secrets (authorization/cookie/token/…) never reach the logs
61980
+ // while diagnostic headers (e.g. rate-limit headers on a 429) stay visible.
61981
+ responseHeaders: responseHeaders === void 0 ? void 0 : redactHeaders({ headers: responseHeaders })
61811
61982
  };
61812
61983
  logger2.info(`HTTP RES - ${message} ${statusCode} ${readableResponseTime || ""} ${extra?.postfix || ""}`, {
61813
61984
  ...metadata,
@@ -62088,6 +62259,12 @@ var DateTimeSchema = external_exports.iso.datetime({
62088
62259
  example: "2024-12-20T16:04:11Z"
62089
62260
  });
62090
62261
 
62262
+ // ../hyperline-lib/build/http/dto/domain.js
62263
+ var DomainSchema = external_exports.string().trim().toLowerCase().regex(/^(?!:\/\/)(?=.{1,253}$)(?!-)([a-z0-9-]{1,63}\.)+[a-z]{2,63}$/, "Invalid domain").openapi({
62264
+ description: "Domain name.",
62265
+ example: "acme.com"
62266
+ });
62267
+
62091
62268
  // ../hyperline-lib/build/http/dto/error.js
62092
62269
  var ErrorSchema = external_exports.object({
62093
62270
  message: external_exports.string()
@@ -62144,6 +62321,7 @@ var de = {
62144
62321
  "accounting.transactionSettled.entryDescription": "Zahlungsabwicklung f\xFCr Rechnung {{invoiceId}}",
62145
62322
  "accounting.transactionRefunded.entryDescription": "R\xFCckerstattung f\xFCr Rechnung {{invoiceId}}",
62146
62323
  "accounting.creditNotePosted.entryDescription": "Gutschrift {{creditNoteId}} f\xFCr Rechnung {{invoiceId}}",
62324
+ "accounting.standaloneCreditNotePosted.entryDescription": "Gutschrift {{creditNoteId}}",
62147
62325
  "accounting.revrec.creditLineDescription": "Umsatz realisieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
62148
62326
  "accounting.revrec.debitLineDescription": "Abgrenzungsposten reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
62149
62327
  "accounting.revrec.discountCreditLineDescription": "Erl\xF6sminderung (Rabatt) erfassen \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
@@ -62215,6 +62393,7 @@ var en = {
62215
62393
  "accounting.transactionSettled.entryDescription": "Payment settlement for Invoice {{invoiceId}}",
62216
62394
  "accounting.transactionRefunded.entryDescription": "Refund for Invoice {{invoiceId}}",
62217
62395
  "accounting.creditNotePosted.entryDescription": "Credit note {{creditNoteId}} for Invoice {{invoiceId}}",
62396
+ "accounting.standaloneCreditNotePosted.entryDescription": "Credit note {{creditNoteId}}",
62218
62397
  "accounting.revrec.entryDescription": "Revenue recognition for schedule {{scheduleId}}, period {{periodStart}} - {{periodEnd}}",
62219
62398
  "accounting.revrec.debitLineDescription": "Decrease deferred revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
62220
62399
  "accounting.revrec.creditLineDescription": "Recognize revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
@@ -62232,6 +62411,7 @@ var es = {
62232
62411
  "accounting.transactionSettled.entryDescription": "Liquidaci\xF3n de pago para la factura {{invoiceId}}",
62233
62412
  "accounting.transactionRefunded.entryDescription": "Reembolso de la factura {{invoiceId}}",
62234
62413
  "accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para la factura {{invoiceId}}",
62414
+ "accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
62235
62415
  "accounting.revrec.creditLineDescription": "Reconocer ingresos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62236
62416
  "accounting.revrec.debitLineDescription": "Disminuci\xF3n de ingresos diferidos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62237
62417
  "accounting.revrec.discountCreditLineDescription": "Reconocer contra-ingresos (descuento) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
@@ -62281,6 +62461,7 @@ var fr = {
62281
62461
  "accounting.transactionSettled.entryDescription": "R\xE8glement de la facture {{invoiceId}}",
62282
62462
  "accounting.transactionRefunded.entryDescription": "Remboursement de la facture {{invoiceId}}",
62283
62463
  "accounting.creditNotePosted.entryDescription": "Avoir {{creditNoteId}} pour la facture {{invoiceId}}",
62464
+ "accounting.standaloneCreditNotePosted.entryDescription": "Avoir {{creditNoteId}}",
62284
62465
  "accounting.revrec.entryDescription": "Reconnaissance du chiffre d'affaires pour l'\xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodStart}} - {{periodEnd}}",
62285
62466
  "creditNotes.refundChargeName": "Remboursement pour facture",
62286
62467
  "credits.bundleOf": "{{productName}} - Pack de {{creditCount}} cr\xE9dits",
@@ -62320,6 +62501,7 @@ var it = {
62320
62501
  "accounting.transactionSettled.entryDescription": "Regolamento pagamento per la fattura {{invoiceId}}",
62321
62502
  "accounting.transactionRefunded.entryDescription": "Rimborso per la fattura {{invoiceId}}",
62322
62503
  "accounting.creditNotePosted.entryDescription": "Nota di credito {{creditNoteId}} per la fattura {{invoiceId}}",
62504
+ "accounting.standaloneCreditNotePosted.entryDescription": "Nota di credito {{creditNoteId}}",
62323
62505
  "accounting.revrec.creditLineDescription": "Riconoscere i ricavi \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
62324
62506
  "accounting.revrec.debitLineDescription": "Diminuzione dei ricavi differiti \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
62325
62507
  "accounting.revrec.discountCreditLineDescription": "Riconoscere il contra-ricavo (sconto) \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
@@ -62364,6 +62546,7 @@ var nl = {
62364
62546
  "accounting.transactionSettled.entryDescription": "Betalingsafwikkeling voor factuur {{invoiceId}}",
62365
62547
  "accounting.transactionRefunded.entryDescription": "Terugbetaling voor factuur {{invoiceId}}",
62366
62548
  "accounting.creditNotePosted.entryDescription": "Creditnota {{creditNoteId}} voor factuur {{invoiceId}}",
62549
+ "accounting.standaloneCreditNotePosted.entryDescription": "Creditnota {{creditNoteId}}",
62367
62550
  "accounting.revrec.creditLineDescription": "Omzet erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
62368
62551
  "accounting.revrec.debitLineDescription": "Uitgestelde omzet verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
62369
62552
  "accounting.revrec.discountCreditLineDescription": "Omzetvermindering (korting) erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
@@ -62408,6 +62591,7 @@ var pl = {
62408
62591
  "accounting.transactionSettled.entryDescription": "Rozliczenie p\u0142atno\u015Bci dla faktury {{invoiceId}}",
62409
62592
  "accounting.transactionRefunded.entryDescription": "Zwrot za faktur\u0119 {{invoiceId}}",
62410
62593
  "accounting.creditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}} dla faktury {{invoiceId}}",
62594
+ "accounting.standaloneCreditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}}",
62411
62595
  "accounting.revrec.creditLineDescription": "Rozpoznanie przychodu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
62412
62596
  "accounting.revrec.debitLineDescription": "Zmniejszenie przychod\xF3w przysz\u0142ych okres\xF3w \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
62413
62597
  "accounting.revrec.discountCreditLineDescription": "Rozpoznanie kontra-przychodu (rabat) \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
@@ -62452,6 +62636,7 @@ var pt = {
62452
62636
  "accounting.transactionSettled.entryDescription": "Liquida\xE7\xE3o de pagamento para a fatura {{invoiceId}}",
62453
62637
  "accounting.transactionRefunded.entryDescription": "Reembolso da fatura {{invoiceId}}",
62454
62638
  "accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para a fatura {{invoiceId}}",
62639
+ "accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
62455
62640
  "accounting.revrec.creditLineDescription": "Reconhecer receita \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62456
62641
  "accounting.revrec.debitLineDescription": "Diminui\xE7\xE3o da receita diferida \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62457
62642
  "accounting.revrec.discountCreditLineDescription": "Reconhecer contra-receita (desconto) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
@@ -62592,10 +62777,16 @@ function buildHttpClient(dependencies) {
62592
62777
  return response;
62593
62778
  }, (error48) => {
62594
62779
  if (error48.response) {
62595
- const { config: responseConfig, status } = error48.response;
62780
+ const { config: responseConfig, status, headers } = error48.response;
62596
62781
  const timeStart = responseConfig.metadata.timeStart;
62597
62782
  const responseTime = timeStart ? Date.now() - timeStart : void 0;
62598
- logHttpResponse(logger2, { request: toLogRequest(responseConfig), statusCode: status }, responseTime, { metadata: { error: error48.message } });
62783
+ logHttpResponse(logger2, {
62784
+ request: toLogRequest(responseConfig),
62785
+ statusCode: status,
62786
+ // Surfaces upstream response headers on error responses (e.g. the
62787
+ // rate-limit headers on a 429); redacted in logHttpResponse.
62788
+ responseHeaders: headers
62789
+ }, responseTime, { metadata: { error: error48.message } });
62599
62790
  }
62600
62791
  return Promise.reject(error48);
62601
62792
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperline/cli",
3
- "version": "0.1.0-build.1.d585d4b",
3
+ "version": "0.1.0-build.1.d661ec4",
4
4
  "description": "Agent-first CLI for Hyperline API",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -48,7 +48,7 @@
48
48
  "@hyperline/vitest-config": "workspace:*",
49
49
  "@types/node": "24.10.1",
50
50
  "esbuild": "0.28.0",
51
- "typescript": "6.0.3",
51
+ "typescript": "7.0.2",
52
52
  "vitest": "4.1.5"
53
53
  },
54
54
  "publishConfig": {