@hyperline/cli 0.1.0-build.1.b9d9d57 → 0.1.0-build.1.bb25823

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_zod18 = require_lib();
34897
+ var import_zod20 = require_lib();
34898
34898
  var countryIds2 = ["all", ...countries.map(({ id }) => id)];
34899
- var ZodId = import_zod18.z.enum(countryIds2);
34900
- var ZodTranslationsSchemaFn = (schema) => import_zod18.z.record(import_zod18.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
@@ -38020,7 +38045,7 @@ Examples:
38020
38045
  queryParamKeys: ["take", "skip"]
38021
38046
  });
38022
38047
  });
38023
- resource.command("create").description(`Create a new coupon with discount rules. Supports percentage or fixed amount discounts, duration limits, and redemption restrictions.`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <value>", `List of product IDs the coupon can be applied to. If empty, the coupon can be applied to any product.`).requiredOption("--type <value>", `type`).option("--discount-amount <number>", `Amount to apply as a discount on the total amount (excluding taxes) of a subscription. Expressed in the currency's smallest unit.`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--discount-percent <number>", `Percentage to apply as a discount on the amount (excluding taxes) of a product.`).addHelpText("after", `
38048
+ resource.command("create").description(`Create a new coupon with discount rules. Supports percentage or fixed amount discounts, duration limits, and redemption restrictions.`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <value>", `List of product IDs the coupon can be applied to. If empty, the coupon can be applied to any product.`).option("--repeat <value>", `Default repeat behaviour applied when the coupon is attached to a subscription. Valid values: \`once\`, \`forever\`, \`duration\`. Can be overridden at attach time.`).option("--duration <value>", `Default duration applied when \`repeat\` is \`duration\`. Required when \`repeat\` is \`duration\`, must be null otherwise.`).requiredOption("--type <value>", `type`).option("--discount-amount <number>", `Amount to apply as a discount on the total amount (excluding taxes) of a subscription. Expressed in the currency's smallest unit.`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--discount-percent <number>", `Percentage to apply as a discount on the amount (excluding taxes) of a product.`).addHelpText("after", `
38024
38049
  Examples:
38025
38050
  hyperline coupons create --name <name> --type <type>
38026
38051
  hyperline coupons create --name <name> --type <type> --description <description> --expiration-date <expiration_date>
@@ -38039,6 +38064,10 @@ Examples:
38039
38064
  args.expiration_date = opts.expirationDate;
38040
38065
  if (opts.productIds !== void 0)
38041
38066
  args.product_ids = opts.productIds;
38067
+ if (opts.repeat !== void 0)
38068
+ args.repeat = opts.repeat;
38069
+ if (opts.duration !== void 0)
38070
+ args.duration = opts.duration;
38042
38071
  if (opts.type !== void 0)
38043
38072
  args.type = opts.type;
38044
38073
  if (opts.currency !== void 0)
@@ -38074,7 +38103,7 @@ Examples:
38074
38103
  queryParamKeys: []
38075
38104
  });
38076
38105
  });
38077
- resource.command("update").description(`Update an existing coupon's name, discount rules, or restrictions.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <value>", `List of product IDs the coupon can be applied to. If empty, the coupon can be applied to any product.`).requiredOption("--type <value>", `type`).option("--discount-amount <number>", `Amount to apply as a discount on the total amount (excluding taxes) of a subscription. Expressed in the currency's smallest unit.`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--discount-percent <number>", `Percentage to apply as a discount on the amount (excluding taxes) of a product.`).addHelpText("after", `
38106
+ resource.command("update").description(`Update an existing coupon's name, discount rules, or restrictions.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `Coupon name.`).option("--description <value>", `Coupon description.`).option("--expiration-date <value>", `Date corresponding to the expiration of the coupon.`).option("--redemption-limit <number>", `Maximum number of subscriptions to which a single coupon can be applied.`).option("--product-ids <value>", `List of product IDs the coupon can be applied to. If empty, the coupon can be applied to any product.`).option("--repeat <value>", `Default repeat behaviour applied when the coupon is attached to a subscription. Valid values: \`once\`, \`forever\`, \`duration\`. Can be overridden at attach time.`).option("--duration <value>", `Default duration applied when \`repeat\` is \`duration\`. Required when \`repeat\` is \`duration\`, must be null otherwise.`).requiredOption("--type <value>", `type`).option("--discount-amount <number>", `Amount to apply as a discount on the total amount (excluding taxes) of a subscription. Expressed in the currency's smallest unit.`).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--discount-percent <number>", `Percentage to apply as a discount on the amount (excluding taxes) of a product.`).addHelpText("after", `
38078
38107
  Examples:
38079
38108
  hyperline coupons update --id <id> --name <name> --type <type>
38080
38109
  hyperline coupons update --id <id> --name <name> --type <type> --description <description> --expiration-date <expiration_date>
@@ -38095,6 +38124,10 @@ Examples:
38095
38124
  args.expiration_date = opts.expirationDate;
38096
38125
  if (opts.productIds !== void 0)
38097
38126
  args.product_ids = opts.productIds;
38127
+ if (opts.repeat !== void 0)
38128
+ args.repeat = opts.repeat;
38129
+ if (opts.duration !== void 0)
38130
+ args.duration = opts.duration;
38098
38131
  if (opts.type !== void 0)
38099
38132
  args.type = opts.type;
38100
38133
  if (opts.currency !== void 0)
@@ -38744,13 +38777,17 @@ Customer type.
38744
38777
  - \`corporate\`: The customer is a business entity.
38745
38778
  - \`person\`: The customer is a natural person.
38746
38779
  - \`automatically_created\`: The customer was automatically imported (e.g. from a data loader). This value cannot be used when creating/editing.
38747
- `).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--tax-ids <value>", `Customer tax IDs.`).option("--tax-rate-custom <number>", `Customer custom tax rate. If not defined, the rate will be automatically determined based on the customer's country, your country, and applicable legal requirements.`).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>", `
38780
+ `).option("--currency <value>", `Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).`).option("--is-government-affiliated", `Indicates if the customer is affiliated with a government entity.`).option("--tax-ids <value>", `Customer tax IDs.`).option("--tax-rate-custom <number>", `Customer custom tax rate. If not defined, the rate will be automatically determined based on the customer's country, your country, and applicable legal requirements.`).option("--taxability <value>", `Customer taxability.
38781
+
38782
+ - \`taxable\`: Taxes are automatically determined for the customer.
38783
+ - \`exempt\`: The customer is exempt from tax.
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>", `
38748
38785
  How customer invoices are issued from the parent organisation.
38749
38786
 
38750
38787
  - \`none\`: Invoices will keep being issued from this customer.
38751
38788
  - \`every_invoice\`: Customer invoices will be issued from the organisation individually.
38752
38789
  - \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
38753
- `).option("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).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("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).addHelpText("after", `
38790
+ `).option("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).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("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).option("--owner-id <value>", `ID of the Hyperline user responsible for this customer and targeted by customer agent notifications.`).option("--follower-ids <value>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
38754
38791
  Examples:
38755
38792
  hyperline customers create-customer
38756
38793
  hyperline customers create-customer --name <name> --type <type>
@@ -38769,10 +38806,14 @@ Examples:
38769
38806
  args.currency = opts.currency;
38770
38807
  if (opts.taxIds !== void 0)
38771
38808
  args.tax_ids = opts.taxIds;
38809
+ if (opts.taxability !== void 0)
38810
+ args.taxability = opts.taxability;
38772
38811
  if (opts.registrationNumber !== void 0)
38773
38812
  args.registration_number = opts.registrationNumber;
38774
38813
  if (opts.externalId !== void 0)
38775
38814
  args.external_id = opts.externalId;
38815
+ if (opts.domain !== void 0)
38816
+ args.domain = opts.domain;
38776
38817
  if (opts.invoicingEntityId !== void 0)
38777
38818
  args.invoicing_entity_id = opts.invoicingEntityId;
38778
38819
  if (opts.billingAddress !== void 0)
@@ -38805,6 +38846,10 @@ Examples:
38805
38846
  args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
38806
38847
  if (opts.priceBookId !== void 0)
38807
38848
  args.price_book_id = opts.priceBookId;
38849
+ if (opts.ownerId !== void 0)
38850
+ args.owner_id = opts.ownerId;
38851
+ if (opts.followerIds !== void 0)
38852
+ args.follower_ids = opts.followerIds;
38808
38853
  if (opts.taxRateCustom !== void 0)
38809
38854
  args.tax_rate_custom = Number(opts.taxRateCustom);
38810
38855
  if (opts.customPaymentDelay !== void 0)
@@ -38863,13 +38908,17 @@ Customer type.
38863
38908
  - \`corporate\`: The customer is a business entity.
38864
38909
  - \`person\`: The customer is a natural person.
38865
38910
  - \`automatically_created\`: The customer was automatically imported (e.g. from a data loader). This value cannot be used when creating/editing.
38866
- `).option("--currency <value>", `Customer currency. Can only be changed if the customer doesn't have existing invoices, a wallet or a payment method saved.`).option("--tax-ids <value>", `Customer tax IDs.`).option("--tax-rate-custom <number>", `Customer custom tax rate. If not defined, the rate will be automatically determined based on the customer's country, your country, and applicable legal requirements.`).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>", `
38911
+ `).option("--currency <value>", `Customer currency. Can only be changed if the customer doesn't have existing invoices, a wallet or a payment method saved.`).option("--tax-ids <value>", `Customer tax IDs.`).option("--tax-rate-custom <number>", `Customer custom tax rate. If not defined, the rate will be automatically determined based on the customer's country, your country, and applicable legal requirements.`).option("--taxability <value>", `Customer taxability.
38912
+
38913
+ - \`taxable\`: Taxes are automatically determined for the customer.
38914
+ - \`exempt\`: The customer is exempt from tax.
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>", `
38867
38916
  How customer invoices are issued from the parent organisation.
38868
38917
 
38869
38918
  - \`none\`: Invoices will keep being issued from this customer.
38870
38919
  - \`every_invoice\`: Customer invoices will be issued from the organisation individually.
38871
38920
  - \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
38872
- `).option("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).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("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).addHelpText("after", `
38921
+ `).option("--properties <value>", `Key/value pairs to store any metadata useful in your context.`).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("--invoice-reminders-enabled <value>", `Indicates if invoice reminders are enabled for the customer.`).option("--price-book-id <value>", `Default price book ID assigned to the customer.`).option("--owner-id <value>", `ID of the Hyperline user responsible for this customer and targeted by customer agent notifications.`).option("--follower-ids <value>", `IDs of Hyperline users following this customer.`).addHelpText("after", `
38873
38922
  Examples:
38874
38923
  hyperline customers update --id <id>
38875
38924
  hyperline customers update --id <id> --name <name> --type <type>
@@ -38890,10 +38939,14 @@ Examples:
38890
38939
  args.currency = opts.currency;
38891
38940
  if (opts.taxIds !== void 0)
38892
38941
  args.tax_ids = opts.taxIds;
38942
+ if (opts.taxability !== void 0)
38943
+ args.taxability = opts.taxability;
38893
38944
  if (opts.registrationNumber !== void 0)
38894
38945
  args.registration_number = opts.registrationNumber;
38895
38946
  if (opts.externalId !== void 0)
38896
38947
  args.external_id = opts.externalId;
38948
+ if (opts.domain !== void 0)
38949
+ args.domain = opts.domain;
38897
38950
  if (opts.invoicingEntityId !== void 0)
38898
38951
  args.invoicing_entity_id = opts.invoicingEntityId;
38899
38952
  if (opts.billingAddress !== void 0)
@@ -38928,6 +38981,10 @@ Examples:
38928
38981
  args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
38929
38982
  if (opts.priceBookId !== void 0)
38930
38983
  args.price_book_id = opts.priceBookId;
38984
+ if (opts.ownerId !== void 0)
38985
+ args.owner_id = opts.ownerId;
38986
+ if (opts.followerIds !== void 0)
38987
+ args.follower_ids = opts.followerIds;
38931
38988
  if (opts.taxRateCustom !== void 0)
38932
38989
  args.tax_rate_custom = Number(opts.taxRateCustom);
38933
38990
  if (opts.customPaymentDelay !== void 0)
@@ -39592,6 +39649,7 @@ Export name.
39592
39649
  - \`draft_invoices\`: Export all draft invoices, with customer and product information.
39593
39650
  - \`open_invoices\`: Export all open invoices, with customer and product information.
39594
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).
39595
39653
  `).requiredOption("--file-type <value>", `
39596
39654
  Export file type.
39597
39655
 
@@ -40169,7 +40227,7 @@ Examples:
40169
40227
  - \`archived\`: A previous version of an invoice.
40170
40228
  - \`charged_on_parent\`: Invoice is charged on the parent customer.
40171
40229
  - \`pending_parent_concat\`: Invoice is pending invoices concatenation on the parent customer to be grouped.
40172
- - \`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.
40173
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.
40174
40232
 
40175
40233
  - \`invoice\`: Legal invoice to be paid by your customer.
@@ -40411,7 +40469,7 @@ Examples:
40411
40469
  queryParamKeys: []
40412
40470
  });
40413
40471
  });
40414
- 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.
40415
40473
 
40416
40474
  - \`invoice\`: Legal invoice to be paid by your customer.
40417
40475
  - \`credit_note\`: Legal credit note cancelling an invoice and refunding your customer.
@@ -40583,7 +40641,7 @@ Examples:
40583
40641
  queryParamKeys: []
40584
40642
  });
40585
40643
  });
40586
- resource.command("delete-invoice-transaction").description(`Delete a scheduled transaction from an invoice. Only applies to transactions that haven't been processed yet.`).requiredOption("--id <value>", `id parameter`).requiredOption("--transaction-id <value>", `transactionId parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
40644
+ resource.command("delete-invoice-transaction").description(`Delete a scheduled transaction or wallet debit from an invoice.`).requiredOption("--id <value>", `id parameter`).requiredOption("--transaction-id <value>", `transactionId parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
40587
40645
  Examples:
40588
40646
  hyperline invoices-transactions delete-invoice-transaction --id <id> --transaction-id <transactionId>
40589
40647
  hyperline invoices-transactions delete-invoice-transaction --id <id> --transaction-id <transactionId> --output json`).action(async (opts) => {
@@ -41224,7 +41282,12 @@ Examples:
41224
41282
  ]
41225
41283
  });
41226
41284
  });
41227
- 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", `
41228
41291
  Examples:
41229
41292
  hyperline products create --name <name> --type <type> --price-configurations <price_configurations>
41230
41293
  hyperline products create --name <name> --type <type> --price-configurations <price_configurations> --description <description> --description-display-interval-dates
@@ -41259,6 +41322,8 @@ Examples:
41259
41322
  args.unit_name = opts.unitName;
41260
41323
  if (opts.creditAggregators !== void 0)
41261
41324
  args.credit_aggregators = opts.creditAggregators;
41325
+ if (opts.creditsGrantMode !== void 0)
41326
+ args.credits_grant_mode = opts.creditsGrantMode;
41262
41327
  if (opts.displayMode !== void 0)
41263
41328
  args.display_mode = opts.displayMode;
41264
41329
  if (opts.bundleItems !== void 0)
@@ -41360,6 +41425,32 @@ Examples:
41360
41425
  queryParamKeys: []
41361
41426
  });
41362
41427
  });
41428
+ resource.command("delete").description(`Permanently delete an archived product by ID. Products attached to subscriptions, plans, or templates cannot be deleted.`).requiredOption("--id <value>", `id parameter`).option("--yes", "Skip confirmation").addHelpText("after", `
41429
+ Examples:
41430
+ hyperline products delete --id <id>
41431
+ hyperline products delete --id <id> --output json`).action(async (opts) => {
41432
+ const ctx = resource.parent?.opts()._ctx;
41433
+ if (!ctx) {
41434
+ process.stderr.write("Error: Not authenticated\n");
41435
+ process.exit(1);
41436
+ }
41437
+ const args = {};
41438
+ if (opts.id !== void 0)
41439
+ args.id = opts.id;
41440
+ if (!opts.yes) {
41441
+ const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
41442
+ if (!confirmed) {
41443
+ process.stdout.write("Aborted.\n");
41444
+ return;
41445
+ }
41446
+ }
41447
+ await ctx.execute({
41448
+ method: "DELETE",
41449
+ path: "/v1/products/{id}",
41450
+ args,
41451
+ queryParamKeys: []
41452
+ });
41453
+ });
41363
41454
  resource.command("unarchive").description(`Restore a previously archived product, making it available for new subscriptions again.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
41364
41455
  Examples:
41365
41456
  hyperline products unarchive --id <id>
@@ -41384,18 +41475,18 @@ Examples:
41384
41475
  // build/commands/generated/quotes.js
41385
41476
  function registerQuotesCommands(parent) {
41386
41477
  const resource = parent.command("quotes").description("Manage quotes");
41387
- resource.command("create").description(`Create a new quote for a customer with line items, products, and optional file attachments. Quotes can be sent for signature and converted to subscriptions.`).option("--status <value>", `
41478
+ 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>", `
41388
41479
  Quote status.
41389
41480
 
41390
41481
  - \`draft\`: The quote is a draft.
41391
41482
  - \`approved\`: The quote is approved and ready to be sent to the customer.
41392
41483
  - \`pending_signature\`: The quote is awaiting the customer's signature.
41393
- `).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. If not specified, the Hyperline account owner will be assigned.`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity attached to the quote.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. If not specified, automatically computed from the subscription configuration.`).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("--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.
41484
+ `).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner. If not specified, the Hyperline account owner will be assigned.`).requiredOption("--customer-id <value>", `ID of the customer.`).option("--invoicing-entity-id <value>", `ID of the invoicing entity attached to the quote.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. For subscription quotes, defaults to the computed subscription value if not specified. For one-off quotes, this field is ignored \u2014 the amount is always derived from the linked invoice's \`amount_excluding_tax\`.`).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.
41394
41485
 
41395
41486
  - \`all\`: Display all pricing tiers.
41396
41487
  - \`matching\`: Only display the tiers used to compute the price based on quantity.
41397
41488
  - \`none\`: Hide all pricing tiers.
41398
- `).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("--template-id <value>", `ID of the quote template. If not specified, a subscription configuration must be defined.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--subscription <value>", `Subscription configuration constituting the quote.`).addHelpText("after", `
41489
+ `).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("--template-id <value>", `ID of the quote template. If not specified, a subscription configuration or an \`invoice\` payload must be defined.`).option("--expires-at <value>", `Quote expiration date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--subscription <value>", `Subscription configuration constituting the quote.`).option("--invoice <value>", `Invoice configuration constituting the one-off quote. When provided, a draft invoice is created and linked to the quote. Cannot be combined with \`subscription\` or \`template_id\`.`).addHelpText("after", `
41399
41490
  Examples:
41400
41491
  hyperline quotes create --customer-id <customer_id>
41401
41492
  hyperline quotes create --customer-id <customer_id> --status <status> --owner-email <owner_email>
@@ -41422,6 +41513,8 @@ Examples:
41422
41513
  args.collect_payment_details = opts.collectPaymentDetails;
41423
41514
  if (opts.collectCustomPropertyIds !== void 0)
41424
41515
  args.collect_custom_property_ids = opts.collectCustomPropertyIds;
41516
+ if (opts.contractClauseIds !== void 0)
41517
+ args.contract_clause_ids = opts.contractClauseIds;
41425
41518
  if (opts.requireTaxId !== void 0)
41426
41519
  args.require_tax_id = opts.requireTaxId;
41427
41520
  if (opts.displayQuoteValue !== void 0)
@@ -41440,12 +41533,16 @@ Examples:
41440
41533
  args.display_documents_in_preview = opts.displayDocumentsInPreview;
41441
41534
  if (opts.displaySubscriptionOnUpdate !== void 0)
41442
41535
  args.display_subscription_on_update = opts.displaySubscriptionOnUpdate;
41536
+ if (opts.generateDraftInvoices !== void 0)
41537
+ args.generate_draft_invoices = opts.generateDraftInvoices;
41443
41538
  if (opts.templateId !== void 0)
41444
41539
  args.template_id = opts.templateId;
41445
41540
  if (opts.expiresAt !== void 0)
41446
41541
  args.expires_at = opts.expiresAt;
41447
41542
  if (opts.subscription !== void 0)
41448
41543
  args.subscription = opts.subscription;
41544
+ if (opts.invoice !== void 0)
41545
+ args.invoice = opts.invoice;
41449
41546
  if (opts.amount !== void 0)
41450
41547
  args.amount = Number(opts.amount);
41451
41548
  await ctx.execute({
@@ -41674,12 +41771,12 @@ Examples:
41674
41771
  queryParamKeys: []
41675
41772
  });
41676
41773
  });
41677
- 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 attached to the quote.`).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("--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.
41774
+ 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.
41678
41775
 
41679
41776
  - \`all\`: Display all pricing tiers.
41680
41777
  - \`matching\`: Only display the tiers used to compute the price based on quantity.
41681
41778
  - \`none\`: Hide all pricing tiers.
41682
- `).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("--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.`).addHelpText("after", `
41779
+ `).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", `
41683
41780
  Examples:
41684
41781
  hyperline quotes update --id <id>
41685
41782
  hyperline quotes update --id <id> --owner-email <owner_email> --comments <comments>
@@ -41702,6 +41799,8 @@ Examples:
41702
41799
  args.collect_payment_details = opts.collectPaymentDetails;
41703
41800
  if (opts.collectCustomPropertyIds !== void 0)
41704
41801
  args.collect_custom_property_ids = opts.collectCustomPropertyIds;
41802
+ if (opts.contractClauseIds !== void 0)
41803
+ args.contract_clause_ids = opts.contractClauseIds;
41705
41804
  if (opts.requireTaxId !== void 0)
41706
41805
  args.require_tax_id = opts.requireTaxId;
41707
41806
  if (opts.displayQuoteValue !== void 0)
@@ -41720,10 +41819,16 @@ Examples:
41720
41819
  args.display_documents_in_preview = opts.displayDocumentsInPreview;
41721
41820
  if (opts.displaySubscriptionOnUpdate !== void 0)
41722
41821
  args.display_subscription_on_update = opts.displaySubscriptionOnUpdate;
41822
+ if (opts.generateDraftInvoices !== void 0)
41823
+ args.generate_draft_invoices = opts.generateDraftInvoices;
41824
+ if (opts.crmOpportunityId !== void 0)
41825
+ args.crm_opportunity_id = opts.crmOpportunityId;
41723
41826
  if (opts.expiresAt !== void 0)
41724
41827
  args.expires_at = opts.expiresAt;
41725
41828
  if (opts.subscription !== void 0)
41726
41829
  args.subscription = opts.subscription;
41830
+ if (opts.invoice !== void 0)
41831
+ args.invoice = opts.invoice;
41727
41832
  if (opts.amount !== void 0)
41728
41833
  args.amount = Number(opts.amount);
41729
41834
  await ctx.execute({
@@ -41773,6 +41878,25 @@ Examples:
41773
41878
  queryParamKeys: []
41774
41879
  });
41775
41880
  });
41881
+ resource.command("finalize").description(`Finalize a draft quote. The quote is submitted for approval when approval is required, otherwise it becomes approved and ready to be sent for signature.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
41882
+ Examples:
41883
+ hyperline quotes finalize --id <id>
41884
+ hyperline quotes finalize --id <id> --output json`).action(async (opts) => {
41885
+ const ctx = resource.parent?.opts()._ctx;
41886
+ if (!ctx) {
41887
+ process.stderr.write("Error: Not authenticated\n");
41888
+ process.exit(1);
41889
+ }
41890
+ const args = {};
41891
+ if (opts.id !== void 0)
41892
+ args.id = opts.id;
41893
+ await ctx.execute({
41894
+ method: "POST",
41895
+ path: "/v1/quotes/{id}/finalize",
41896
+ args,
41897
+ queryParamKeys: []
41898
+ });
41899
+ });
41776
41900
  resource.command("send").description(`Send a quote by email for customer signature. Requires the quote to be approved first.`).requiredOption("--id <value>", `id parameter`).requiredOption("--email <value>", `Email address to which the quote will be sent for signature.`).option("--message <value>", `Custom message used in the email content.`).addHelpText("after", `
41777
41901
  Examples:
41778
41902
  hyperline quotes send --id <id> --email <email>
@@ -41880,10 +42004,132 @@ Examples:
41880
42004
  });
41881
42005
  }
41882
42006
 
42007
+ // build/commands/generated/quotes-templates.js
42008
+ function registerQuotes_TemplatesCommands(parent) {
42009
+ const resource = parent.command("quotes-templates").description("Manage quotes > templates");
42010
+ 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", `
42011
+ Examples:
42012
+ hyperline quotes-templates list-quote-templates
42013
+ hyperline quotes-templates list-quote-templates --take <take> --id <id>`).action(async (opts) => {
42014
+ const ctx = resource.parent?.opts()._ctx;
42015
+ if (!ctx) {
42016
+ process.stderr.write("Error: Not authenticated\n");
42017
+ process.exit(1);
42018
+ }
42019
+ const args = {};
42020
+ if (opts.id !== void 0)
42021
+ args.id = opts.id;
42022
+ if (opts["id.not"] !== void 0)
42023
+ args.id__not = opts["id.not"];
42024
+ if (opts["id.isNull"] !== void 0)
42025
+ args.id__isNull = opts["id.isNull"];
42026
+ if (opts["id.isNotNull"] !== void 0)
42027
+ args.id__isNotNull = opts["id.isNotNull"];
42028
+ if (opts["id.equals"] !== void 0)
42029
+ args.id__equals = opts["id.equals"];
42030
+ if (opts["id.contains"] !== void 0)
42031
+ args.id__contains = opts["id.contains"];
42032
+ if (opts["id.startsWith"] !== void 0)
42033
+ args.id__startsWith = opts["id.startsWith"];
42034
+ if (opts["id.endWith"] !== void 0)
42035
+ args.id__endWith = opts["id.endWith"];
42036
+ if (opts.name !== void 0)
42037
+ args.name = opts.name;
42038
+ if (opts["name.not"] !== void 0)
42039
+ args.name__not = opts["name.not"];
42040
+ if (opts["name.isNull"] !== void 0)
42041
+ args.name__isNull = opts["name.isNull"];
42042
+ if (opts["name.isNotNull"] !== void 0)
42043
+ args.name__isNotNull = opts["name.isNotNull"];
42044
+ if (opts["name.equals"] !== void 0)
42045
+ args.name__equals = opts["name.equals"];
42046
+ if (opts["name.contains"] !== void 0)
42047
+ args.name__contains = opts["name.contains"];
42048
+ if (opts["name.startsWith"] !== void 0)
42049
+ args.name__startsWith = opts["name.startsWith"];
42050
+ if (opts["name.endWith"] !== void 0)
42051
+ args.name__endWith = opts["name.endWith"];
42052
+ if (opts.subscriptionTemplateId !== void 0)
42053
+ args.subscription_template_id = opts.subscriptionTemplateId;
42054
+ if (opts["subscriptionTemplateId.not"] !== void 0)
42055
+ args.subscription_template_id__not = opts["subscriptionTemplateId.not"];
42056
+ if (opts["subscriptionTemplateId.isNull"] !== void 0)
42057
+ args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
42058
+ if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
42059
+ args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
42060
+ if (opts["subscriptionTemplateId.equals"] !== void 0)
42061
+ args.subscription_template_id__equals = opts["subscriptionTemplateId.equals"];
42062
+ if (opts["subscriptionTemplateId.contains"] !== void 0)
42063
+ args.subscription_template_id__contains = opts["subscriptionTemplateId.contains"];
42064
+ if (opts["subscriptionTemplateId.startsWith"] !== void 0)
42065
+ args.subscription_template_id__startsWith = opts["subscriptionTemplateId.startsWith"];
42066
+ if (opts["subscriptionTemplateId.endWith"] !== void 0)
42067
+ args.subscription_template_id__endWith = opts["subscriptionTemplateId.endWith"];
42068
+ if (opts.search !== void 0)
42069
+ args.search = opts.search;
42070
+ if (opts.take !== void 0)
42071
+ args.take = Number(opts.take);
42072
+ if (opts.skip !== void 0)
42073
+ args.skip = Number(opts.skip);
42074
+ await ctx.execute({
42075
+ method: "GET",
42076
+ path: "/v1/quotes/templates",
42077
+ args,
42078
+ queryParamKeys: [
42079
+ "take",
42080
+ "skip",
42081
+ "id",
42082
+ "id__not",
42083
+ "id__isNull",
42084
+ "id__isNotNull",
42085
+ "id__equals",
42086
+ "id__contains",
42087
+ "id__startsWith",
42088
+ "id__endWith",
42089
+ "name",
42090
+ "name__not",
42091
+ "name__isNull",
42092
+ "name__isNotNull",
42093
+ "name__equals",
42094
+ "name__contains",
42095
+ "name__startsWith",
42096
+ "name__endWith",
42097
+ "subscription_template_id",
42098
+ "subscription_template_id__not",
42099
+ "subscription_template_id__isNull",
42100
+ "subscription_template_id__isNotNull",
42101
+ "subscription_template_id__equals",
42102
+ "subscription_template_id__contains",
42103
+ "subscription_template_id__startsWith",
42104
+ "subscription_template_id__endWith",
42105
+ "search"
42106
+ ]
42107
+ });
42108
+ });
42109
+ 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", `
42110
+ Examples:
42111
+ hyperline quotes-templates get-quote-template --id <id>`).action(async (opts) => {
42112
+ const ctx = resource.parent?.opts()._ctx;
42113
+ if (!ctx) {
42114
+ process.stderr.write("Error: Not authenticated\n");
42115
+ process.exit(1);
42116
+ }
42117
+ const args = {};
42118
+ if (opts.id !== void 0)
42119
+ args.id = opts.id;
42120
+ await ctx.execute({
42121
+ method: "GET",
42122
+ path: "/v1/quotes/templates/{id}",
42123
+ args,
42124
+ queryParamKeys: []
42125
+ });
42126
+ });
42127
+ }
42128
+
41883
42129
  // build/commands/generated/subscriptions.js
41884
42130
  function registerSubscriptionsCommands(parent) {
41885
42131
  const resource = parent.command("subscriptions").description("Manage subscriptions");
41886
- 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", `
42132
+ 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", `
41887
42133
  Examples:
41888
42134
  hyperline subscriptions create-subscription-update --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --type <type> --payload <payload>
41889
42135
  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>
@@ -41906,6 +42152,8 @@ Examples:
41906
42152
  args.charge_at = opts.chargeAt;
41907
42153
  if (opts.calculationMethod !== void 0)
41908
42154
  args.calculation_method = opts.calculationMethod;
42155
+ if (opts.precision !== void 0)
42156
+ args.precision = opts.precision;
41909
42157
  if (opts.refundMethod !== void 0)
41910
42158
  args.refund_method = opts.refundMethod;
41911
42159
  if (opts.type !== void 0)
@@ -41919,7 +42167,7 @@ Examples:
41919
42167
  queryParamKeys: []
41920
42168
  });
41921
42169
  });
41922
- 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", `
42170
+ 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", `
41923
42171
  Examples:
41924
42172
  hyperline subscriptions create-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
41925
42173
  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>
@@ -41942,6 +42190,8 @@ Examples:
41942
42190
  args.charge_at = opts.chargeAt;
41943
42191
  if (opts.calculationMethod !== void 0)
41944
42192
  args.calculation_method = opts.calculationMethod;
42193
+ if (opts.precision !== void 0)
42194
+ args.precision = opts.precision;
41945
42195
  if (opts.refundMethod !== void 0)
41946
42196
  args.refund_method = opts.refundMethod;
41947
42197
  if (opts.updates !== void 0)
@@ -42000,7 +42250,7 @@ Examples:
42000
42250
  queryParamKeys: []
42001
42251
  });
42002
42252
  });
42003
- 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", `
42253
+ 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", `
42004
42254
  Examples:
42005
42255
  hyperline subscriptions pause --id <id>
42006
42256
  hyperline subscriptions pause --id <id> --reactivate-at <reactivate_at>
@@ -42081,7 +42331,7 @@ Examples:
42081
42331
  queryParamKeys: []
42082
42332
  });
42083
42333
  });
42084
- 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", `
42334
+ 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", `
42085
42335
  Examples:
42086
42336
  hyperline subscriptions simulate-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
42087
42337
  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>
@@ -42104,6 +42354,8 @@ Examples:
42104
42354
  args.charge_at = opts.chargeAt;
42105
42355
  if (opts.calculationMethod !== void 0)
42106
42356
  args.calculation_method = opts.calculationMethod;
42357
+ if (opts.precision !== void 0)
42358
+ args.precision = opts.precision;
42107
42359
  if (opts.refundMethod !== void 0)
42108
42360
  args.refund_method = opts.refundMethod;
42109
42361
  if (opts.updates !== void 0)
@@ -42830,7 +43082,7 @@ Examples:
42830
43082
  ]
42831
43083
  });
42832
43084
  });
42833
- resource.command("create-subscription-transition").description(`Create a transition from one subscription to another, configured from a subscription, plan, or template. Can be applied immediately or scheduled.`).requiredOption("--source-subscription-id <value>", `The ID of the subscription to transition from`).option("--name <value>", `An optional name for the transition`).option("--calculation-method <value>", `The calculation method to use for the transition. 'do_not_charge' will not generate any transition invoice. 'pro_rata' will generate a prorated invoice for the remaining period.`).option("--billing-cycle-transition-method <value>", `The billing cycle transition method to use. 'keep_current_billing_cycle' will keep the current billing cycle dates if possible. 'align_to_new_billing_cycle' will align the billing cycle to the transition date.`).requiredOption("--application-schedule <value>", `Whether the transition should be applied 'immediately' or 'scheduled' for a specific date. Past dates within the current billing period are supported and will be applied immediately.`).option("--transition-date <value>", `The date at which the transition should occur. Only applicable if the application schedule is 'scheduled'. Can be a past date within the current billing period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).requiredOption("--target-subscription <value>", `The configuration of the subscription to transition to`).addHelpText("after", `
43085
+ resource.command("create-subscription-transition").description(`Create a transition from one subscription to another, configured from a subscription, plan, or template. Can be applied immediately or scheduled.`).requiredOption("--source-subscription-id <value>", `The ID of the subscription to transition from`).option("--name <value>", `An optional name for the transition`).option("--calculation-method <value>", `The calculation method to use for the transition. 'do_not_charge' will not generate any transition invoice. 'pro_rata' will generate a prorated invoice for the remaining period. 'refund_and_reinvoice' (only available with application_schedule 'last_renewal') issues a credit note for what was invoiced for the current period and a separate invoice for the new configuration.`).option("--billing-cycle-transition-method <value>", `The billing cycle transition method to use. 'keep_current_billing_cycle' will keep the current billing cycle dates if possible. 'align_to_new_billing_cycle' will align the billing cycle to the transition date.`).requiredOption("--application-schedule <value>", `When the transition should be applied: 'immediately', 'scheduled' for a specific date, or 'last_renewal' to apply it retroactively to the start of the current billing period (refunding what was already invoiced for that period and re-charging the new configuration). Past dates within the current billing period are supported and will be applied immediately.`).option("--transition-date <value>", `The date at which the transition should occur. Only applicable if the application schedule is 'scheduled'. Can be a past date within the current billing period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).requiredOption("--target-subscription <value>", `The configuration of the subscription to transition to`).addHelpText("after", `
42834
43086
  Examples:
42835
43087
  hyperline subscriptions-transitions create-subscription-transition --source-subscription-id <source_subscription_id> --application-schedule <application_schedule> --target-subscription <target_subscription>
42836
43088
  hyperline subscriptions-transitions create-subscription-transition --source-subscription-id <source_subscription_id> --application-schedule <application_schedule> --target-subscription <target_subscription> --name <name> --calculation-method <calculation_method>
@@ -43228,10 +43480,10 @@ Examples:
43228
43480
  queryParamKeys: []
43229
43481
  });
43230
43482
  });
43231
- resource.command("load").description(`Add credits to a wallet by charging the customer's payment method. The customer must have an active payment method.`).requiredOption("--id <value>", `id parameter`).option("--amount <number>", `Amount to be loaded onto the wallet. A corresponding invoice to pay will be generated. Expressed in currency's smallest unit.`).option("--amount-free <number>", `Amount free/offered to be loaded onto the wallet. No invoice is generated. Expressed in currency's smallest unit.`).option("--document-status <value>", `Indicates the status of the document (credit note in case of free top-up or invoice)`).addHelpText("after", `
43483
+ resource.command("load").description(`Add paid credits by charging the customer's payment method, or add free credits by issuing a credit note.`).requiredOption("--id <value>", `id parameter`).option("--type <value>", `Wallet load type. Use \`paid\` to collect payment from the customer's payment method, or \`free\` to grant credits without collecting payment.`).option("--amount <number>", `Amount to be loaded onto the wallet as free credits. A corresponding credit note will be generated and no payment is collected. Expressed in currency's smallest unit.`).option("--comment <value>", `Internal comment stored on the wallet transaction for context.`).option("--document-status <value>", `Indicates the status of the generated credit note for free top-ups.`).option("--bank-account-id <value>", `Bank account ID to use when recording a paid wallet load by bank transfer.`).option("--reference <value>", `Reference stored on the generated payment document for a paid wallet load.`).addHelpText("after", `
43232
43484
  Examples:
43233
43485
  hyperline wallets load --id <id>
43234
- hyperline wallets load --id <id> --amount <amount> --amount-free <amount_free>
43486
+ hyperline wallets load --id <id> --type <type> --amount <amount>
43235
43487
  hyperline wallets load --id <id> --output json`).action(async (opts) => {
43236
43488
  const ctx = resource.parent?.opts()._ctx;
43237
43489
  if (!ctx) {
@@ -43241,12 +43493,18 @@ Examples:
43241
43493
  const args = {};
43242
43494
  if (opts.id !== void 0)
43243
43495
  args.id = opts.id;
43496
+ if (opts.type !== void 0)
43497
+ args.type = opts.type;
43498
+ if (opts.comment !== void 0)
43499
+ args.comment = opts.comment;
43244
43500
  if (opts.documentStatus !== void 0)
43245
43501
  args.document_status = opts.documentStatus;
43502
+ if (opts.bankAccountId !== void 0)
43503
+ args.bank_account_id = opts.bankAccountId;
43504
+ if (opts.reference !== void 0)
43505
+ args.reference = opts.reference;
43246
43506
  if (opts.amount !== void 0)
43247
43507
  args.amount = Number(opts.amount);
43248
- if (opts.amountFree !== void 0)
43249
- args.amount_free = Number(opts.amountFree);
43250
43508
  await ctx.execute({
43251
43509
  method: "POST",
43252
43510
  path: "/v1/wallets/{id}/load",
@@ -43475,6 +43733,7 @@ function registerAllCommands(program2) {
43475
43733
  registerProductsCommands(program2);
43476
43734
  registerPrice_ConfigurationsCommands(program2);
43477
43735
  registerQuotesCommands(program2);
43736
+ registerQuotes_TemplatesCommands(program2);
43478
43737
  registerSubscriptions_TemplatesCommands(program2);
43479
43738
  registerSubscriptionsCommands(program2);
43480
43739
  registerSubscriptions_TransitionsCommands(program2);
@@ -61610,6 +61869,7 @@ import * as winston from "winston";
61610
61869
 
61611
61870
  // ../hyperline-monitoring/build/logger/formatting/format.js
61612
61871
  import prune from "json-prune";
61872
+ var REDACTED_HEADER_KEY_PATTERN = /authorization|authenticate|cookie|secret|token|credential|signature|jwt|api[_-]?key|access[_-]?token|refresh[_-]?token|private[_-]?key/i;
61613
61873
  function jsonFormat(info) {
61614
61874
  const prunedInfo = JSON.parse(prune(info));
61615
61875
  for (const [key, value] of Object.entries(prunedInfo)) {
@@ -61692,17 +61952,26 @@ function formatAxiosError(error48) {
61692
61952
  url: request?.url,
61693
61953
  baseURL: request?.baseURL,
61694
61954
  params: request?.params,
61695
- headers: request?.headers,
61955
+ headers: redactHeaders({ headers: request?.headers }),
61696
61956
  "axios-retry": request?.["axios-retry"]
61697
61957
  },
61698
61958
  response: {
61699
61959
  status: response?.status,
61700
61960
  statusText: response?.statusText,
61701
- headers: response?.headers,
61961
+ headers: redactHeaders({ headers: response?.headers }),
61702
61962
  data: response?.data
61703
61963
  }
61704
61964
  };
61705
61965
  }
61966
+ function redactHeaders({ headers }) {
61967
+ if (!isRecord(headers)) {
61968
+ return headers;
61969
+ }
61970
+ return Object.fromEntries(Object.entries(headers).map(([headerKey, headerValue]) => [
61971
+ headerKey,
61972
+ REDACTED_HEADER_KEY_PATTERN.test(headerKey) ? "<redacted>" : headerValue
61973
+ ]));
61974
+ }
61706
61975
  function isRecord(value) {
61707
61976
  return typeof value === "object" && value !== null && !Array.isArray(value);
61708
61977
  }
@@ -61726,13 +61995,16 @@ function logHttpRequest(logger2, request, extra) {
61726
61995
  });
61727
61996
  }
61728
61997
  function logHttpResponse(logger2, response, responseTime, extra) {
61729
- const { request, statusCode, responseBody } = response;
61998
+ const { request, statusCode, responseBody, responseHeaders } = response;
61730
61999
  const { message, metadata } = transform2(request);
61731
62000
  const readableResponseTime = responseTime ? getReadableTime(responseTime) : void 0;
61732
62001
  const responseMetadata = {
61733
62002
  statusCode,
61734
62003
  responseTime,
61735
- responseBody
62004
+ responseBody,
62005
+ // Redacted so secrets (authorization/cookie/token/…) never reach the logs
62006
+ // while diagnostic headers (e.g. rate-limit headers on a 429) stay visible.
62007
+ responseHeaders: responseHeaders === void 0 ? void 0 : redactHeaders({ headers: responseHeaders })
61736
62008
  };
61737
62009
  logger2.info(`HTTP RES - ${message} ${statusCode} ${readableResponseTime || ""} ${extra?.postfix || ""}`, {
61738
62010
  ...metadata,
@@ -62013,6 +62285,12 @@ var DateTimeSchema = external_exports.iso.datetime({
62013
62285
  example: "2024-12-20T16:04:11Z"
62014
62286
  });
62015
62287
 
62288
+ // ../hyperline-lib/build/http/dto/domain.js
62289
+ var DomainSchema = external_exports.string().trim().toLowerCase().regex(/^(?!:\/\/)(?=.{1,253}$)(?!-)([a-z0-9-]{1,63}\.)+[a-z]{2,63}$/, "Invalid domain").openapi({
62290
+ description: "Domain name.",
62291
+ example: "acme.com"
62292
+ });
62293
+
62016
62294
  // ../hyperline-lib/build/http/dto/error.js
62017
62295
  var ErrorSchema = external_exports.object({
62018
62296
  message: external_exports.string()
@@ -62067,10 +62345,13 @@ var languages = [
62067
62345
  var de = {
62068
62346
  "accounting.invoicePosted.entryDescription": "Buchungseintrag f\xFCr Rechnung {{invoiceId}}",
62069
62347
  "accounting.transactionSettled.entryDescription": "Zahlungsabwicklung f\xFCr Rechnung {{invoiceId}}",
62348
+ "accounting.transactionRefunded.entryDescription": "R\xFCckerstattung f\xFCr Rechnung {{invoiceId}}",
62070
62349
  "accounting.creditNotePosted.entryDescription": "Gutschrift {{creditNoteId}} f\xFCr Rechnung {{invoiceId}}",
62350
+ "accounting.standaloneCreditNotePosted.entryDescription": "Gutschrift {{creditNoteId}}",
62071
62351
  "accounting.revrec.creditLineDescription": "Umsatz realisieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
62072
62352
  "accounting.revrec.debitLineDescription": "Abgrenzungsposten reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
62073
62353
  "accounting.revrec.discountCreditLineDescription": "Erl\xF6sminderung (Rabatt) erfassen \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
62354
+ "accounting.revrec.closedPeriodFallbackNote": " (in die n\xE4chste offene Periode gebucht \u2013 Zielperiode geschlossen; urspr\xFCngliches Datum {{originalDate}})",
62074
62355
  "accounting.revrec.discountDebitLineDescription": "Abgegrenzten Rabatt reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
62075
62356
  "accounting.revrec.entryDescription": "Umsatzrealisierung f\xFCr Zeitplan {{scheduleId}}, Zeitraum {{periodStart}} - {{periodEnd}}",
62076
62357
  "creditNotes.refundChargeName": "R\xFCckerstattung f\xFCr die Rechnung",
@@ -62083,7 +62364,9 @@ var de = {
62083
62364
  "invoices.outstandingProduct.descriptionPeriod": "Unbezahlter Betrag der Rechnung{{invoiceNumber}} vom {{periodStart}} bis {{periodEnd}}",
62084
62365
  "invoices.outstandingProduct.name": "Offener Saldo",
62085
62366
  "invoices.prorata.paymentForItem": "Anteilig berechneter Betrag f\xFCr",
62367
+ "invoices.prorata.paymentForItemFullPeriod": "Zahlung f\xFCr",
62086
62368
  "invoices.prorata.refundForItem": "Anteilig erstatteter Betrag f\xFCr",
62369
+ "invoices.prorata.refundForItemFullPeriod": "Erstattung f\xFCr",
62087
62370
  "subscriptions.closingChargeName": "Abschlussgeb\xFChr f\xFCr das Abonnement",
62088
62371
  "subscriptions.correction": "Vorperiodische Anpassung",
62089
62372
  "subscriptions.updates.addCoupon": "Gutschein hinzuf\xFCgen {{couponName}}",
@@ -62112,7 +62395,9 @@ var en = {
62112
62395
  "invoices.outstandingProduct.descriptionPeriod": "Unpaid amount from the invoice{{invoiceNumber}} from {{periodStart}} to {{periodEnd}}",
62113
62396
  "invoices.outstandingProduct.name": "Outstanding balance",
62114
62397
  "invoices.prorata.paymentForItem": "Prorated payment for",
62398
+ "invoices.prorata.paymentForItemFullPeriod": "Payment for",
62115
62399
  "invoices.prorata.refundForItem": "Prorated refund for",
62400
+ "invoices.prorata.refundForItemFullPeriod": "Refund for",
62116
62401
  "subscriptions.closingChargeName": "Closing fee for subscription",
62117
62402
  "subscriptions.correction": "Adjustment previous period",
62118
62403
  "subscriptions.updates.addCoupon": "Add coupon {{couponName}}",
@@ -62132,12 +62417,15 @@ var en = {
62132
62417
  "subscriptions.updates.updateCount.description.full.not_committed.not_invoiced": "Amount of {{amount}} not invoiced for the full period",
62133
62418
  "accounting.invoicePosted.entryDescription": "Posting entry for Invoice {{invoiceId}} issued",
62134
62419
  "accounting.transactionSettled.entryDescription": "Payment settlement for Invoice {{invoiceId}}",
62420
+ "accounting.transactionRefunded.entryDescription": "Refund for Invoice {{invoiceId}}",
62135
62421
  "accounting.creditNotePosted.entryDescription": "Credit note {{creditNoteId}} for Invoice {{invoiceId}}",
62422
+ "accounting.standaloneCreditNotePosted.entryDescription": "Credit note {{creditNoteId}}",
62136
62423
  "accounting.revrec.entryDescription": "Revenue recognition for schedule {{scheduleId}}, period {{periodStart}} - {{periodEnd}}",
62137
62424
  "accounting.revrec.debitLineDescription": "Decrease deferred revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
62138
62425
  "accounting.revrec.creditLineDescription": "Recognize revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
62139
62426
  "accounting.revrec.discountDebitLineDescription": "Decrease deferred discount \u2013 schedule {{scheduleId}}, period {{periodDate}}",
62140
62427
  "accounting.revrec.discountCreditLineDescription": "Recognize contra-revenue (discount) \u2013 schedule {{scheduleId}}, period {{periodDate}}",
62428
+ "accounting.revrec.closedPeriodFallbackNote": " (posted to next open period \u2014 target accounting period closed; original date {{originalDate}})",
62141
62429
  "einvoicing.paymentProcessed": "Payment processed",
62142
62430
  "einvoicing.paymentReceived": "Payment received",
62143
62431
  "einvoicing.paymentFromWallet": "Payment from wallet"
@@ -62147,10 +62435,13 @@ var en = {
62147
62435
  var es = {
62148
62436
  "accounting.invoicePosted.entryDescription": "Asiento contable para la factura {{invoiceId}}",
62149
62437
  "accounting.transactionSettled.entryDescription": "Liquidaci\xF3n de pago para la factura {{invoiceId}}",
62438
+ "accounting.transactionRefunded.entryDescription": "Reembolso de la factura {{invoiceId}}",
62150
62439
  "accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para la factura {{invoiceId}}",
62440
+ "accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
62151
62441
  "accounting.revrec.creditLineDescription": "Reconocer ingresos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62152
62442
  "accounting.revrec.debitLineDescription": "Disminuci\xF3n de ingresos diferidos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62153
62443
  "accounting.revrec.discountCreditLineDescription": "Reconocer contra-ingresos (descuento) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62444
+ "accounting.revrec.closedPeriodFallbackNote": " (registrado en el pr\xF3ximo per\xEDodo abierto \u2014 per\xEDodo contable de destino cerrado; fecha original {{originalDate}})",
62154
62445
  "accounting.revrec.discountDebitLineDescription": "Disminuci\xF3n de descuento diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62155
62446
  "accounting.revrec.entryDescription": "Reconocimiento de ingresos para el cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
62156
62447
  "creditNotes.refundChargeName": "Reembolso por factura",
@@ -62163,7 +62454,9 @@ var es = {
62163
62454
  "invoices.outstandingProduct.descriptionPeriod": "Monto pendiente de la factura{{invoiceNumber}} del {{periodStart}} al {{periodEnd}}",
62164
62455
  "invoices.outstandingProduct.name": "Saldo pendiente",
62165
62456
  "invoices.prorata.paymentForItem": "Pago prorrateado por",
62457
+ "invoices.prorata.paymentForItemFullPeriod": "Pago por",
62166
62458
  "invoices.prorata.refundForItem": "Reembolso prorrateado por",
62459
+ "invoices.prorata.refundForItemFullPeriod": "Reembolso por",
62167
62460
  "subscriptions.closingChargeName": "Cargo por cierre de suscripci\xF3n",
62168
62461
  "subscriptions.correction": "Ajuste del periodo anterior",
62169
62462
  "subscriptions.updates.addCoupon": "A\xF1adir cup\xF3n {{couponName}}",
@@ -62188,10 +62481,13 @@ var fr = {
62188
62481
  "accounting.revrec.creditLineDescription": "Reconnaissance du chiffre d'affaires \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
62189
62482
  "accounting.revrec.debitLineDescription": "Diminution des produits constat\xE9s d'avance \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
62190
62483
  "accounting.revrec.discountCreditLineDescription": "Reconnaissance du contre-revenu (remise) \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
62484
+ "accounting.revrec.closedPeriodFallbackNote": " (comptabilis\xE9 sur la prochaine p\xE9riode ouverte \u2014 p\xE9riode comptable cible cl\xF4tur\xE9e ; date d'origine {{originalDate}})",
62191
62485
  "accounting.revrec.discountDebitLineDescription": "Diminution des remises diff\xE9r\xE9es \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
62192
62486
  "accounting.invoicePosted.entryDescription": "\xC9criture de comptabilisation pour la facture {{invoiceId}}",
62193
62487
  "accounting.transactionSettled.entryDescription": "R\xE8glement de la facture {{invoiceId}}",
62488
+ "accounting.transactionRefunded.entryDescription": "Remboursement de la facture {{invoiceId}}",
62194
62489
  "accounting.creditNotePosted.entryDescription": "Avoir {{creditNoteId}} pour la facture {{invoiceId}}",
62490
+ "accounting.standaloneCreditNotePosted.entryDescription": "Avoir {{creditNoteId}}",
62195
62491
  "accounting.revrec.entryDescription": "Reconnaissance du chiffre d'affaires pour l'\xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodStart}} - {{periodEnd}}",
62196
62492
  "creditNotes.refundChargeName": "Remboursement pour facture",
62197
62493
  "credits.bundleOf": "{{productName}} - Pack de {{creditCount}} cr\xE9dits",
@@ -62203,7 +62499,9 @@ var fr = {
62203
62499
  "invoices.outstandingProduct.descriptionPeriod": "Montant impay\xE9 de la facture{{invoiceNumber}} du {{periodStart}} au {{periodEnd}}",
62204
62500
  "invoices.outstandingProduct.name": "Solde impay\xE9",
62205
62501
  "invoices.prorata.paymentForItem": "Paiement au prorata pour",
62502
+ "invoices.prorata.paymentForItemFullPeriod": "Paiement pour",
62206
62503
  "invoices.prorata.refundForItem": "Remboursement au prorata pour",
62504
+ "invoices.prorata.refundForItemFullPeriod": "Remboursement pour",
62207
62505
  "subscriptions.closingChargeName": "Frais de cl\xF4ture pour abonnement",
62208
62506
  "subscriptions.correction": "Ajustement p\xE9riode pr\xE9c\xE9dente",
62209
62507
  "subscriptions.updates.addCoupon": "Ajout du coupon {{couponName}}",
@@ -62227,10 +62525,13 @@ var fr = {
62227
62525
  var it = {
62228
62526
  "accounting.invoicePosted.entryDescription": "Registrazione contabile per la fattura {{invoiceId}}",
62229
62527
  "accounting.transactionSettled.entryDescription": "Regolamento pagamento per la fattura {{invoiceId}}",
62528
+ "accounting.transactionRefunded.entryDescription": "Rimborso per la fattura {{invoiceId}}",
62230
62529
  "accounting.creditNotePosted.entryDescription": "Nota di credito {{creditNoteId}} per la fattura {{invoiceId}}",
62530
+ "accounting.standaloneCreditNotePosted.entryDescription": "Nota di credito {{creditNoteId}}",
62231
62531
  "accounting.revrec.creditLineDescription": "Riconoscere i ricavi \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
62232
62532
  "accounting.revrec.debitLineDescription": "Diminuzione dei ricavi differiti \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
62233
62533
  "accounting.revrec.discountCreditLineDescription": "Riconoscere il contra-ricavo (sconto) \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
62534
+ "accounting.revrec.closedPeriodFallbackNote": " (registrato nel prossimo periodo aperto \u2014 periodo contabile di destinazione chiuso; data originale {{originalDate}})",
62234
62535
  "accounting.revrec.discountDebitLineDescription": "Diminuzione dello sconto differito \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
62235
62536
  "accounting.revrec.entryDescription": "Riconoscimento dei ricavi per il programma {{scheduleId}}, periodo {{periodStart}} - {{periodEnd}}",
62236
62537
  "creditNotes.refundChargeName": "Rimborso per fattura",
@@ -62243,7 +62544,9 @@ var it = {
62243
62544
  "invoices.outstandingProduct.descriptionPeriod": "Importo insoluto della fattura{{invoiceNumber}} dal {{periodStart}} al {{periodEnd}}",
62244
62545
  "invoices.outstandingProduct.name": "Saldo insoluto",
62245
62546
  "invoices.prorata.paymentForItem": "Pagamento proporzionale per",
62547
+ "invoices.prorata.paymentForItemFullPeriod": "Pagamento per",
62246
62548
  "invoices.prorata.refundForItem": "Rimborso proporzionale per",
62549
+ "invoices.prorata.refundForItemFullPeriod": "Rimborso per",
62247
62550
  "subscriptions.closingChargeName": "Costo di chiusura per abbonamento",
62248
62551
  "subscriptions.correction": "Correzione periodo precedente",
62249
62552
  "subscriptions.updates.addCoupon": "Aggiungi coupon {{couponName}}",
@@ -62267,10 +62570,13 @@ var it = {
62267
62570
  var nl = {
62268
62571
  "accounting.invoicePosted.entryDescription": "Boekingsregel voor factuur {{invoiceId}}",
62269
62572
  "accounting.transactionSettled.entryDescription": "Betalingsafwikkeling voor factuur {{invoiceId}}",
62573
+ "accounting.transactionRefunded.entryDescription": "Terugbetaling voor factuur {{invoiceId}}",
62270
62574
  "accounting.creditNotePosted.entryDescription": "Creditnota {{creditNoteId}} voor factuur {{invoiceId}}",
62575
+ "accounting.standaloneCreditNotePosted.entryDescription": "Creditnota {{creditNoteId}}",
62271
62576
  "accounting.revrec.creditLineDescription": "Omzet erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
62272
62577
  "accounting.revrec.debitLineDescription": "Uitgestelde omzet verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
62273
62578
  "accounting.revrec.discountCreditLineDescription": "Omzetvermindering (korting) erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
62579
+ "accounting.revrec.closedPeriodFallbackNote": " (geboekt in de volgende open periode \u2014 doelboekingsperiode gesloten; oorspronkelijke datum {{originalDate}})",
62274
62580
  "accounting.revrec.discountDebitLineDescription": "Uitgestelde korting verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
62275
62581
  "accounting.revrec.entryDescription": "Omzeterkenning voor schema {{scheduleId}}, periode {{periodStart}} - {{periodEnd}}",
62276
62582
  "creditNotes.refundChargeName": "Terugbetaling voor factuur",
@@ -62283,7 +62589,9 @@ var nl = {
62283
62589
  "invoices.outstandingProduct.descriptionPeriod": "Onbetaald bedrag van de factuur{{invoiceNumber}} van {{periodStart}} tot {{periodEnd}}",
62284
62590
  "invoices.outstandingProduct.name": "Openstaand saldo",
62285
62591
  "invoices.prorata.paymentForItem": "Gedeeltelijke betaling voor",
62592
+ "invoices.prorata.paymentForItemFullPeriod": "Betaling voor",
62286
62593
  "invoices.prorata.refundForItem": "Gedeeltelijke terugbetaling voor",
62594
+ "invoices.prorata.refundForItemFullPeriod": "Terugbetaling voor",
62287
62595
  "subscriptions.closingChargeName": "Afsluitkosten voor abonnement",
62288
62596
  "subscriptions.correction": "Aanpassing vorige periode",
62289
62597
  "subscriptions.updates.addCoupon": "Coupon toevoegen {{couponName}}",
@@ -62307,10 +62615,13 @@ var nl = {
62307
62615
  var pl = {
62308
62616
  "accounting.invoicePosted.entryDescription": "Zapis ksi\u0119gowy dla faktury {{invoiceId}}",
62309
62617
  "accounting.transactionSettled.entryDescription": "Rozliczenie p\u0142atno\u015Bci dla faktury {{invoiceId}}",
62618
+ "accounting.transactionRefunded.entryDescription": "Zwrot za faktur\u0119 {{invoiceId}}",
62310
62619
  "accounting.creditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}} dla faktury {{invoiceId}}",
62620
+ "accounting.standaloneCreditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}}",
62311
62621
  "accounting.revrec.creditLineDescription": "Rozpoznanie przychodu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
62312
62622
  "accounting.revrec.debitLineDescription": "Zmniejszenie przychod\xF3w przysz\u0142ych okres\xF3w \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
62313
62623
  "accounting.revrec.discountCreditLineDescription": "Rozpoznanie kontra-przychodu (rabat) \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
62624
+ "accounting.revrec.closedPeriodFallbackNote": " (zaksi\u0119gowano w nast\u0119pnym otwartym okresie \u2014 docelowy okres ksi\u0119gowy zamkni\u0119ty; pierwotna data {{originalDate}})",
62314
62625
  "accounting.revrec.discountDebitLineDescription": "Zmniejszenie odroczonego rabatu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
62315
62626
  "accounting.revrec.entryDescription": "Rozpoznanie przychodu dla harmonogramu {{scheduleId}}, okres {{periodStart}} - {{periodEnd}}",
62316
62627
  "creditNotes.refundChargeName": "Zwrot za faktur\u0119",
@@ -62323,7 +62634,9 @@ var pl = {
62323
62634
  "invoices.outstandingProduct.descriptionPeriod": "Nieop\u0142acona kwota z faktury{{invoiceNumber}} od {{periodStart}} do {{periodEnd}}",
62324
62635
  "invoices.outstandingProduct.name": "Niezap\u0142acone saldo",
62325
62636
  "invoices.prorata.paymentForItem": "P\u0142atno\u015B\u0107 proporcjonalna za",
62637
+ "invoices.prorata.paymentForItemFullPeriod": "P\u0142atno\u015B\u0107 za",
62326
62638
  "invoices.prorata.refundForItem": "Zwrot proporcjonalny za",
62639
+ "invoices.prorata.refundForItemFullPeriod": "Zwrot za",
62327
62640
  "subscriptions.closingChargeName": "Op\u0142ata za zamkni\u0119cie subskrypcji",
62328
62641
  "subscriptions.correction": "Korekta poprzedniego okresu",
62329
62642
  "subscriptions.updates.addCoupon": "Dodaj kupon {{couponName}}",
@@ -62347,10 +62660,13 @@ var pl = {
62347
62660
  var pt = {
62348
62661
  "accounting.invoicePosted.entryDescription": "Lan\xE7amento cont\xE1bil para a fatura {{invoiceId}}",
62349
62662
  "accounting.transactionSettled.entryDescription": "Liquida\xE7\xE3o de pagamento para a fatura {{invoiceId}}",
62663
+ "accounting.transactionRefunded.entryDescription": "Reembolso da fatura {{invoiceId}}",
62350
62664
  "accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para a fatura {{invoiceId}}",
62665
+ "accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
62351
62666
  "accounting.revrec.creditLineDescription": "Reconhecer receita \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62352
62667
  "accounting.revrec.debitLineDescription": "Diminui\xE7\xE3o da receita diferida \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62353
62668
  "accounting.revrec.discountCreditLineDescription": "Reconhecer contra-receita (desconto) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62669
+ "accounting.revrec.closedPeriodFallbackNote": " (lan\xE7ado no pr\xF3ximo per\xEDodo aberto \u2014 per\xEDodo cont\xE1bil de destino fechado; data original {{originalDate}})",
62354
62670
  "accounting.revrec.discountDebitLineDescription": "Diminui\xE7\xE3o do desconto diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
62355
62671
  "accounting.revrec.entryDescription": "Reconhecimento de receita para o cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
62356
62672
  "creditNotes.refundChargeName": "Reembolso pela fatura",
@@ -62363,7 +62679,9 @@ var pt = {
62363
62679
  "invoices.outstandingProduct.descriptionPeriod": "Valor em aberto da fatura{{invoiceNumber}} de {{periodStart}} a {{periodEnd}}",
62364
62680
  "invoices.outstandingProduct.name": "Saldo em aberto",
62365
62681
  "invoices.prorata.paymentForItem": "Pagamento proporcional por",
62682
+ "invoices.prorata.paymentForItemFullPeriod": "Pagamento por",
62366
62683
  "invoices.prorata.refundForItem": "Reembolso proporcional por",
62684
+ "invoices.prorata.refundForItemFullPeriod": "Reembolso por",
62367
62685
  "subscriptions.closingChargeName": "Taxa de encerramento da assinatura",
62368
62686
  "subscriptions.correction": "Ajuste do per\xEDodo anterior",
62369
62687
  "subscriptions.updates.addCoupon": "Adicionar cupom {{couponName}}",
@@ -62485,10 +62803,16 @@ function buildHttpClient(dependencies) {
62485
62803
  return response;
62486
62804
  }, (error48) => {
62487
62805
  if (error48.response) {
62488
- const { config: responseConfig, status } = error48.response;
62806
+ const { config: responseConfig, status, headers } = error48.response;
62489
62807
  const timeStart = responseConfig.metadata.timeStart;
62490
62808
  const responseTime = timeStart ? Date.now() - timeStart : void 0;
62491
- logHttpResponse(logger2, { request: toLogRequest(responseConfig), statusCode: status }, responseTime, { metadata: { error: error48.message } });
62809
+ logHttpResponse(logger2, {
62810
+ request: toLogRequest(responseConfig),
62811
+ statusCode: status,
62812
+ // Surfaces upstream response headers on error responses (e.g. the
62813
+ // rate-limit headers on a 429); redacted in logHttpResponse.
62814
+ responseHeaders: headers
62815
+ }, responseTime, { metadata: { error: error48.message } });
62492
62816
  }
62493
62817
  return Promise.reject(error48);
62494
62818
  });
@@ -62581,6 +62905,9 @@ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/
62581
62905
 
62582
62906
  // ../hyperline-mcp/build/server/server.js
62583
62907
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
62908
+ var defaultToolOutputSchema = {
62909
+ result: external_exports.unknown()
62910
+ };
62584
62911
 
62585
62912
  // ../hyperline-mcp/build/session/sessionKey.js
62586
62913
  import { createHmac } from "node:crypto";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hyperline/cli",
3
- "version": "0.1.0-build.1.b9d9d57",
3
+ "version": "0.1.0-build.1.bb25823",
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": {