@hyperline/cli 0.1.0-build.1.8b45ff8 → 0.1.0-build.1.8e2d811
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin/hyperline-main.js +174 -12
- package/package.json +1 -1
|
@@ -38762,7 +38762,7 @@ How customer invoices are issued from the parent organisation.
|
|
|
38762
38762
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
38763
38763
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
38764
38764
|
- \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
|
|
38765
|
-
`).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", `
|
|
38765
|
+
`).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", `
|
|
38766
38766
|
Examples:
|
|
38767
38767
|
hyperline customers create-customer
|
|
38768
38768
|
hyperline customers create-customer --name <name> --type <type>
|
|
@@ -38819,6 +38819,10 @@ Examples:
|
|
|
38819
38819
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
38820
38820
|
if (opts.priceBookId !== void 0)
|
|
38821
38821
|
args.price_book_id = opts.priceBookId;
|
|
38822
|
+
if (opts.ownerId !== void 0)
|
|
38823
|
+
args.owner_id = opts.ownerId;
|
|
38824
|
+
if (opts.followerIds !== void 0)
|
|
38825
|
+
args.follower_ids = opts.followerIds;
|
|
38822
38826
|
if (opts.taxRateCustom !== void 0)
|
|
38823
38827
|
args.tax_rate_custom = Number(opts.taxRateCustom);
|
|
38824
38828
|
if (opts.customPaymentDelay !== void 0)
|
|
@@ -38887,7 +38891,7 @@ How customer invoices are issued from the parent organisation.
|
|
|
38887
38891
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
38888
38892
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
38889
38893
|
- \`concat\`: Customer invoices will be grouped into a global parent invoice at a regular schedule (configured on the organisation).
|
|
38890
|
-
`).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", `
|
|
38894
|
+
`).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", `
|
|
38891
38895
|
Examples:
|
|
38892
38896
|
hyperline customers update --id <id>
|
|
38893
38897
|
hyperline customers update --id <id> --name <name> --type <type>
|
|
@@ -38948,6 +38952,10 @@ Examples:
|
|
|
38948
38952
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
38949
38953
|
if (opts.priceBookId !== void 0)
|
|
38950
38954
|
args.price_book_id = opts.priceBookId;
|
|
38955
|
+
if (opts.ownerId !== void 0)
|
|
38956
|
+
args.owner_id = opts.ownerId;
|
|
38957
|
+
if (opts.followerIds !== void 0)
|
|
38958
|
+
args.follower_ids = opts.followerIds;
|
|
38951
38959
|
if (opts.taxRateCustom !== void 0)
|
|
38952
38960
|
args.tax_rate_custom = Number(opts.taxRateCustom);
|
|
38953
38961
|
if (opts.customPaymentDelay !== void 0)
|
|
@@ -40603,7 +40611,7 @@ Examples:
|
|
|
40603
40611
|
queryParamKeys: []
|
|
40604
40612
|
});
|
|
40605
40613
|
});
|
|
40606
|
-
resource.command("delete-invoice-transaction").description(`Delete a scheduled transaction from an invoice
|
|
40614
|
+
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", `
|
|
40607
40615
|
Examples:
|
|
40608
40616
|
hyperline invoices-transactions delete-invoice-transaction --id <id> --transaction-id <transactionId>
|
|
40609
40617
|
hyperline invoices-transactions delete-invoice-transaction --id <id> --transaction-id <transactionId> --output json`).action(async (opts) => {
|
|
@@ -41404,13 +41412,13 @@ Examples:
|
|
|
41404
41412
|
// build/commands/generated/quotes.js
|
|
41405
41413
|
function registerQuotesCommands(parent) {
|
|
41406
41414
|
const resource = parent.command("quotes").description("Manage quotes");
|
|
41407
|
-
resource.command("create").description(`Create a new quote for a customer. Use \`subscription\` (or \`template_id\`) for subscription quotes; use \`invoice\` for one-off quotes backed by a draft invoice with line items. Quotes can be sent for signature and converted to subscriptions or one-off invoices.`).option("--status <value>", `
|
|
41415
|
+
resource.command("create").description(`Create a new quote for a customer. Use \`subscription\` (or \`template_id\`) for subscription quotes; use \`invoice\` for one-off quotes backed by a draft invoice with line items. Quotes can be sent for signature and converted to subscriptions or one-off invoices. 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>", `
|
|
41408
41416
|
Quote status.
|
|
41409
41417
|
|
|
41410
41418
|
- \`draft\`: The quote is a draft.
|
|
41411
41419
|
- \`approved\`: The quote is approved and ready to be sent to the customer.
|
|
41412
41420
|
- \`pending_signature\`: The quote is awaiting the customer's signature.
|
|
41413
|
-
`).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("--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.
|
|
41421
|
+
`).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.
|
|
41414
41422
|
|
|
41415
41423
|
- \`all\`: Display all pricing tiers.
|
|
41416
41424
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
@@ -41442,6 +41450,8 @@ Examples:
|
|
|
41442
41450
|
args.collect_payment_details = opts.collectPaymentDetails;
|
|
41443
41451
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
41444
41452
|
args.collect_custom_property_ids = opts.collectCustomPropertyIds;
|
|
41453
|
+
if (opts.contractClauseIds !== void 0)
|
|
41454
|
+
args.contract_clause_ids = opts.contractClauseIds;
|
|
41445
41455
|
if (opts.requireTaxId !== void 0)
|
|
41446
41456
|
args.require_tax_id = opts.requireTaxId;
|
|
41447
41457
|
if (opts.displayQuoteValue !== void 0)
|
|
@@ -41698,7 +41708,7 @@ Examples:
|
|
|
41698
41708
|
queryParamKeys: []
|
|
41699
41709
|
});
|
|
41700
41710
|
});
|
|
41701
|
-
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` to create or replace the draft subscription configuration, or pass \`invoice\` on a one-off quote to replace the linked draft invoice.`).requiredOption("--id <value>", `id parameter`).option("--owner-email <value>", `Email address of the Hyperline user acting as the quote owner.`).option("--comments <value>", `Custom comments displayed on the quote.`).option("--terms <value>", `Custom quotation terms.`).option("--amount <number>", `Estimated contract value. Set to \`null\` to clear the manually set value.`).option("--collect-payment-details <value>", `Collect customer payment method mandate during signature flow or not.`).option("--collect-custom-property-ids <value>", `IDs of the customer custom properties required to be filled during the signature flow.`).option("--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.
|
|
41711
|
+
resource.command("update").description(`Update quote-level fields before a quote is finalized. On draft quotes, pass \`subscription\` to create or replace the draft subscription configuration, or pass \`invoice\` on a one-off quote to replace the linked draft invoice. 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.
|
|
41702
41712
|
|
|
41703
41713
|
- \`all\`: Display all pricing tiers.
|
|
41704
41714
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
@@ -41726,6 +41736,8 @@ Examples:
|
|
|
41726
41736
|
args.collect_payment_details = opts.collectPaymentDetails;
|
|
41727
41737
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
41728
41738
|
args.collect_custom_property_ids = opts.collectCustomPropertyIds;
|
|
41739
|
+
if (opts.contractClauseIds !== void 0)
|
|
41740
|
+
args.contract_clause_ids = opts.contractClauseIds;
|
|
41729
41741
|
if (opts.requireTaxId !== void 0)
|
|
41730
41742
|
args.require_tax_id = opts.requireTaxId;
|
|
41731
41743
|
if (opts.displayQuoteValue !== void 0)
|
|
@@ -41927,6 +41939,128 @@ Examples:
|
|
|
41927
41939
|
});
|
|
41928
41940
|
}
|
|
41929
41941
|
|
|
41942
|
+
// build/commands/generated/quotes-templates.js
|
|
41943
|
+
function registerQuotes_TemplatesCommands(parent) {
|
|
41944
|
+
const resource = parent.command("quotes-templates").description("Manage quotes > templates");
|
|
41945
|
+
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", `
|
|
41946
|
+
Examples:
|
|
41947
|
+
hyperline quotes-templates list-quote-templates
|
|
41948
|
+
hyperline quotes-templates list-quote-templates --take <take> --id <id>`).action(async (opts) => {
|
|
41949
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41950
|
+
if (!ctx) {
|
|
41951
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41952
|
+
process.exit(1);
|
|
41953
|
+
}
|
|
41954
|
+
const args = {};
|
|
41955
|
+
if (opts.id !== void 0)
|
|
41956
|
+
args.id = opts.id;
|
|
41957
|
+
if (opts["id.not"] !== void 0)
|
|
41958
|
+
args.id__not = opts["id.not"];
|
|
41959
|
+
if (opts["id.isNull"] !== void 0)
|
|
41960
|
+
args.id__isNull = opts["id.isNull"];
|
|
41961
|
+
if (opts["id.isNotNull"] !== void 0)
|
|
41962
|
+
args.id__isNotNull = opts["id.isNotNull"];
|
|
41963
|
+
if (opts["id.equals"] !== void 0)
|
|
41964
|
+
args.id__equals = opts["id.equals"];
|
|
41965
|
+
if (opts["id.contains"] !== void 0)
|
|
41966
|
+
args.id__contains = opts["id.contains"];
|
|
41967
|
+
if (opts["id.startsWith"] !== void 0)
|
|
41968
|
+
args.id__startsWith = opts["id.startsWith"];
|
|
41969
|
+
if (opts["id.endWith"] !== void 0)
|
|
41970
|
+
args.id__endWith = opts["id.endWith"];
|
|
41971
|
+
if (opts.name !== void 0)
|
|
41972
|
+
args.name = opts.name;
|
|
41973
|
+
if (opts["name.not"] !== void 0)
|
|
41974
|
+
args.name__not = opts["name.not"];
|
|
41975
|
+
if (opts["name.isNull"] !== void 0)
|
|
41976
|
+
args.name__isNull = opts["name.isNull"];
|
|
41977
|
+
if (opts["name.isNotNull"] !== void 0)
|
|
41978
|
+
args.name__isNotNull = opts["name.isNotNull"];
|
|
41979
|
+
if (opts["name.equals"] !== void 0)
|
|
41980
|
+
args.name__equals = opts["name.equals"];
|
|
41981
|
+
if (opts["name.contains"] !== void 0)
|
|
41982
|
+
args.name__contains = opts["name.contains"];
|
|
41983
|
+
if (opts["name.startsWith"] !== void 0)
|
|
41984
|
+
args.name__startsWith = opts["name.startsWith"];
|
|
41985
|
+
if (opts["name.endWith"] !== void 0)
|
|
41986
|
+
args.name__endWith = opts["name.endWith"];
|
|
41987
|
+
if (opts.subscriptionTemplateId !== void 0)
|
|
41988
|
+
args.subscription_template_id = opts.subscriptionTemplateId;
|
|
41989
|
+
if (opts["subscriptionTemplateId.not"] !== void 0)
|
|
41990
|
+
args.subscription_template_id__not = opts["subscriptionTemplateId.not"];
|
|
41991
|
+
if (opts["subscriptionTemplateId.isNull"] !== void 0)
|
|
41992
|
+
args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
|
|
41993
|
+
if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
|
|
41994
|
+
args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
|
|
41995
|
+
if (opts["subscriptionTemplateId.equals"] !== void 0)
|
|
41996
|
+
args.subscription_template_id__equals = opts["subscriptionTemplateId.equals"];
|
|
41997
|
+
if (opts["subscriptionTemplateId.contains"] !== void 0)
|
|
41998
|
+
args.subscription_template_id__contains = opts["subscriptionTemplateId.contains"];
|
|
41999
|
+
if (opts["subscriptionTemplateId.startsWith"] !== void 0)
|
|
42000
|
+
args.subscription_template_id__startsWith = opts["subscriptionTemplateId.startsWith"];
|
|
42001
|
+
if (opts["subscriptionTemplateId.endWith"] !== void 0)
|
|
42002
|
+
args.subscription_template_id__endWith = opts["subscriptionTemplateId.endWith"];
|
|
42003
|
+
if (opts.search !== void 0)
|
|
42004
|
+
args.search = opts.search;
|
|
42005
|
+
if (opts.take !== void 0)
|
|
42006
|
+
args.take = Number(opts.take);
|
|
42007
|
+
if (opts.skip !== void 0)
|
|
42008
|
+
args.skip = Number(opts.skip);
|
|
42009
|
+
await ctx.execute({
|
|
42010
|
+
method: "GET",
|
|
42011
|
+
path: "/v1/quotes/templates",
|
|
42012
|
+
args,
|
|
42013
|
+
queryParamKeys: [
|
|
42014
|
+
"take",
|
|
42015
|
+
"skip",
|
|
42016
|
+
"id",
|
|
42017
|
+
"id__not",
|
|
42018
|
+
"id__isNull",
|
|
42019
|
+
"id__isNotNull",
|
|
42020
|
+
"id__equals",
|
|
42021
|
+
"id__contains",
|
|
42022
|
+
"id__startsWith",
|
|
42023
|
+
"id__endWith",
|
|
42024
|
+
"name",
|
|
42025
|
+
"name__not",
|
|
42026
|
+
"name__isNull",
|
|
42027
|
+
"name__isNotNull",
|
|
42028
|
+
"name__equals",
|
|
42029
|
+
"name__contains",
|
|
42030
|
+
"name__startsWith",
|
|
42031
|
+
"name__endWith",
|
|
42032
|
+
"subscription_template_id",
|
|
42033
|
+
"subscription_template_id__not",
|
|
42034
|
+
"subscription_template_id__isNull",
|
|
42035
|
+
"subscription_template_id__isNotNull",
|
|
42036
|
+
"subscription_template_id__equals",
|
|
42037
|
+
"subscription_template_id__contains",
|
|
42038
|
+
"subscription_template_id__startsWith",
|
|
42039
|
+
"subscription_template_id__endWith",
|
|
42040
|
+
"search"
|
|
42041
|
+
]
|
|
42042
|
+
});
|
|
42043
|
+
});
|
|
42044
|
+
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", `
|
|
42045
|
+
Examples:
|
|
42046
|
+
hyperline quotes-templates get-quote-template --id <id>`).action(async (opts) => {
|
|
42047
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42048
|
+
if (!ctx) {
|
|
42049
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42050
|
+
process.exit(1);
|
|
42051
|
+
}
|
|
42052
|
+
const args = {};
|
|
42053
|
+
if (opts.id !== void 0)
|
|
42054
|
+
args.id = opts.id;
|
|
42055
|
+
await ctx.execute({
|
|
42056
|
+
method: "GET",
|
|
42057
|
+
path: "/v1/quotes/templates/{id}",
|
|
42058
|
+
args,
|
|
42059
|
+
queryParamKeys: []
|
|
42060
|
+
});
|
|
42061
|
+
});
|
|
42062
|
+
}
|
|
42063
|
+
|
|
41930
42064
|
// build/commands/generated/subscriptions.js
|
|
41931
42065
|
function registerSubscriptionsCommands(parent) {
|
|
41932
42066
|
const resource = parent.command("subscriptions").description("Manage subscriptions");
|
|
@@ -43528,6 +43662,7 @@ function registerAllCommands(program2) {
|
|
|
43528
43662
|
registerProductsCommands(program2);
|
|
43529
43663
|
registerPrice_ConfigurationsCommands(program2);
|
|
43530
43664
|
registerQuotesCommands(program2);
|
|
43665
|
+
registerQuotes_TemplatesCommands(program2);
|
|
43531
43666
|
registerSubscriptions_TemplatesCommands(program2);
|
|
43532
43667
|
registerSubscriptionsCommands(program2);
|
|
43533
43668
|
registerSubscriptions_TransitionsCommands(program2);
|
|
@@ -61663,6 +61798,7 @@ import * as winston from "winston";
|
|
|
61663
61798
|
|
|
61664
61799
|
// ../hyperline-monitoring/build/logger/formatting/format.js
|
|
61665
61800
|
import prune from "json-prune";
|
|
61801
|
+
var REDACTED_HEADER_KEY_PATTERN = /authorization|authenticate|cookie|secret|token|credential|signature|jwt|api[_-]?key|access[_-]?token|refresh[_-]?token|private[_-]?key/i;
|
|
61666
61802
|
function jsonFormat(info) {
|
|
61667
61803
|
const prunedInfo = JSON.parse(prune(info));
|
|
61668
61804
|
for (const [key, value] of Object.entries(prunedInfo)) {
|
|
@@ -61745,17 +61881,26 @@ function formatAxiosError(error48) {
|
|
|
61745
61881
|
url: request?.url,
|
|
61746
61882
|
baseURL: request?.baseURL,
|
|
61747
61883
|
params: request?.params,
|
|
61748
|
-
headers: request?.headers,
|
|
61884
|
+
headers: redactHeaders({ headers: request?.headers }),
|
|
61749
61885
|
"axios-retry": request?.["axios-retry"]
|
|
61750
61886
|
},
|
|
61751
61887
|
response: {
|
|
61752
61888
|
status: response?.status,
|
|
61753
61889
|
statusText: response?.statusText,
|
|
61754
|
-
headers: response?.headers,
|
|
61890
|
+
headers: redactHeaders({ headers: response?.headers }),
|
|
61755
61891
|
data: response?.data
|
|
61756
61892
|
}
|
|
61757
61893
|
};
|
|
61758
61894
|
}
|
|
61895
|
+
function redactHeaders({ headers }) {
|
|
61896
|
+
if (!isRecord(headers)) {
|
|
61897
|
+
return headers;
|
|
61898
|
+
}
|
|
61899
|
+
return Object.fromEntries(Object.entries(headers).map(([headerKey, headerValue]) => [
|
|
61900
|
+
headerKey,
|
|
61901
|
+
REDACTED_HEADER_KEY_PATTERN.test(headerKey) ? "<redacted>" : headerValue
|
|
61902
|
+
]));
|
|
61903
|
+
}
|
|
61759
61904
|
function isRecord(value) {
|
|
61760
61905
|
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
61761
61906
|
}
|
|
@@ -61779,13 +61924,16 @@ function logHttpRequest(logger2, request, extra) {
|
|
|
61779
61924
|
});
|
|
61780
61925
|
}
|
|
61781
61926
|
function logHttpResponse(logger2, response, responseTime, extra) {
|
|
61782
|
-
const { request, statusCode, responseBody } = response;
|
|
61927
|
+
const { request, statusCode, responseBody, responseHeaders } = response;
|
|
61783
61928
|
const { message, metadata } = transform2(request);
|
|
61784
61929
|
const readableResponseTime = responseTime ? getReadableTime(responseTime) : void 0;
|
|
61785
61930
|
const responseMetadata = {
|
|
61786
61931
|
statusCode,
|
|
61787
61932
|
responseTime,
|
|
61788
|
-
responseBody
|
|
61933
|
+
responseBody,
|
|
61934
|
+
// Redacted so secrets (authorization/cookie/token/…) never reach the logs
|
|
61935
|
+
// while diagnostic headers (e.g. rate-limit headers on a 429) stay visible.
|
|
61936
|
+
responseHeaders: responseHeaders === void 0 ? void 0 : redactHeaders({ headers: responseHeaders })
|
|
61789
61937
|
};
|
|
61790
61938
|
logger2.info(`HTTP RES - ${message} ${statusCode} ${readableResponseTime || ""} ${extra?.postfix || ""}`, {
|
|
61791
61939
|
...metadata,
|
|
@@ -62125,6 +62273,7 @@ var de = {
|
|
|
62125
62273
|
"accounting.revrec.creditLineDescription": "Umsatz realisieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
62126
62274
|
"accounting.revrec.debitLineDescription": "Abgrenzungsposten reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
62127
62275
|
"accounting.revrec.discountCreditLineDescription": "Erl\xF6sminderung (Rabatt) erfassen \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
62276
|
+
"accounting.revrec.closedPeriodFallbackNote": " (in die n\xE4chste offene Periode gebucht \u2013 Zielperiode geschlossen; urspr\xFCngliches Datum {{originalDate}})",
|
|
62128
62277
|
"accounting.revrec.discountDebitLineDescription": "Abgegrenzten Rabatt reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
62129
62278
|
"accounting.revrec.entryDescription": "Umsatzrealisierung f\xFCr Zeitplan {{scheduleId}}, Zeitraum {{periodStart}} - {{periodEnd}}",
|
|
62130
62279
|
"creditNotes.refundChargeName": "R\xFCckerstattung f\xFCr die Rechnung",
|
|
@@ -62197,6 +62346,7 @@ var en = {
|
|
|
62197
62346
|
"accounting.revrec.creditLineDescription": "Recognize revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62198
62347
|
"accounting.revrec.discountDebitLineDescription": "Decrease deferred discount \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62199
62348
|
"accounting.revrec.discountCreditLineDescription": "Recognize contra-revenue (discount) \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62349
|
+
"accounting.revrec.closedPeriodFallbackNote": " (posted to next open period \u2014 target accounting period closed; original date {{originalDate}})",
|
|
62200
62350
|
"einvoicing.paymentProcessed": "Payment processed",
|
|
62201
62351
|
"einvoicing.paymentReceived": "Payment received",
|
|
62202
62352
|
"einvoicing.paymentFromWallet": "Payment from wallet"
|
|
@@ -62211,6 +62361,7 @@ var es = {
|
|
|
62211
62361
|
"accounting.revrec.creditLineDescription": "Reconocer ingresos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62212
62362
|
"accounting.revrec.debitLineDescription": "Disminuci\xF3n de ingresos diferidos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62213
62363
|
"accounting.revrec.discountCreditLineDescription": "Reconocer contra-ingresos (descuento) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62364
|
+
"accounting.revrec.closedPeriodFallbackNote": " (registrado en el pr\xF3ximo per\xEDodo abierto \u2014 per\xEDodo contable de destino cerrado; fecha original {{originalDate}})",
|
|
62214
62365
|
"accounting.revrec.discountDebitLineDescription": "Disminuci\xF3n de descuento diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62215
62366
|
"accounting.revrec.entryDescription": "Reconocimiento de ingresos para el cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
|
|
62216
62367
|
"creditNotes.refundChargeName": "Reembolso por factura",
|
|
@@ -62250,6 +62401,7 @@ var fr = {
|
|
|
62250
62401
|
"accounting.revrec.creditLineDescription": "Reconnaissance du chiffre d'affaires \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62251
62402
|
"accounting.revrec.debitLineDescription": "Diminution des produits constat\xE9s d'avance \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62252
62403
|
"accounting.revrec.discountCreditLineDescription": "Reconnaissance du contre-revenu (remise) \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62404
|
+
"accounting.revrec.closedPeriodFallbackNote": " (comptabilis\xE9 sur la prochaine p\xE9riode ouverte \u2014 p\xE9riode comptable cible cl\xF4tur\xE9e ; date d'origine {{originalDate}})",
|
|
62253
62405
|
"accounting.revrec.discountDebitLineDescription": "Diminution des remises diff\xE9r\xE9es \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62254
62406
|
"accounting.invoicePosted.entryDescription": "\xC9criture de comptabilisation pour la facture {{invoiceId}}",
|
|
62255
62407
|
"accounting.transactionSettled.entryDescription": "R\xE8glement de la facture {{invoiceId}}",
|
|
@@ -62297,6 +62449,7 @@ var it = {
|
|
|
62297
62449
|
"accounting.revrec.creditLineDescription": "Riconoscere i ricavi \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62298
62450
|
"accounting.revrec.debitLineDescription": "Diminuzione dei ricavi differiti \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62299
62451
|
"accounting.revrec.discountCreditLineDescription": "Riconoscere il contra-ricavo (sconto) \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62452
|
+
"accounting.revrec.closedPeriodFallbackNote": " (registrato nel prossimo periodo aperto \u2014 periodo contabile di destinazione chiuso; data originale {{originalDate}})",
|
|
62300
62453
|
"accounting.revrec.discountDebitLineDescription": "Diminuzione dello sconto differito \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62301
62454
|
"accounting.revrec.entryDescription": "Riconoscimento dei ricavi per il programma {{scheduleId}}, periodo {{periodStart}} - {{periodEnd}}",
|
|
62302
62455
|
"creditNotes.refundChargeName": "Rimborso per fattura",
|
|
@@ -62340,6 +62493,7 @@ var nl = {
|
|
|
62340
62493
|
"accounting.revrec.creditLineDescription": "Omzet erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62341
62494
|
"accounting.revrec.debitLineDescription": "Uitgestelde omzet verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62342
62495
|
"accounting.revrec.discountCreditLineDescription": "Omzetvermindering (korting) erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62496
|
+
"accounting.revrec.closedPeriodFallbackNote": " (geboekt in de volgende open periode \u2014 doelboekingsperiode gesloten; oorspronkelijke datum {{originalDate}})",
|
|
62343
62497
|
"accounting.revrec.discountDebitLineDescription": "Uitgestelde korting verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62344
62498
|
"accounting.revrec.entryDescription": "Omzeterkenning voor schema {{scheduleId}}, periode {{periodStart}} - {{periodEnd}}",
|
|
62345
62499
|
"creditNotes.refundChargeName": "Terugbetaling voor factuur",
|
|
@@ -62383,6 +62537,7 @@ var pl = {
|
|
|
62383
62537
|
"accounting.revrec.creditLineDescription": "Rozpoznanie przychodu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62384
62538
|
"accounting.revrec.debitLineDescription": "Zmniejszenie przychod\xF3w przysz\u0142ych okres\xF3w \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62385
62539
|
"accounting.revrec.discountCreditLineDescription": "Rozpoznanie kontra-przychodu (rabat) \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62540
|
+
"accounting.revrec.closedPeriodFallbackNote": " (zaksi\u0119gowano w nast\u0119pnym otwartym okresie \u2014 docelowy okres ksi\u0119gowy zamkni\u0119ty; pierwotna data {{originalDate}})",
|
|
62386
62541
|
"accounting.revrec.discountDebitLineDescription": "Zmniejszenie odroczonego rabatu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62387
62542
|
"accounting.revrec.entryDescription": "Rozpoznanie przychodu dla harmonogramu {{scheduleId}}, okres {{periodStart}} - {{periodEnd}}",
|
|
62388
62543
|
"creditNotes.refundChargeName": "Zwrot za faktur\u0119",
|
|
@@ -62426,6 +62581,7 @@ var pt = {
|
|
|
62426
62581
|
"accounting.revrec.creditLineDescription": "Reconhecer receita \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62427
62582
|
"accounting.revrec.debitLineDescription": "Diminui\xE7\xE3o da receita diferida \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62428
62583
|
"accounting.revrec.discountCreditLineDescription": "Reconhecer contra-receita (desconto) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62584
|
+
"accounting.revrec.closedPeriodFallbackNote": " (lan\xE7ado no pr\xF3ximo per\xEDodo aberto \u2014 per\xEDodo cont\xE1bil de destino fechado; data original {{originalDate}})",
|
|
62429
62585
|
"accounting.revrec.discountDebitLineDescription": "Diminui\xE7\xE3o do desconto diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62430
62586
|
"accounting.revrec.entryDescription": "Reconhecimento de receita para o cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
|
|
62431
62587
|
"creditNotes.refundChargeName": "Reembolso pela fatura",
|
|
@@ -62562,10 +62718,16 @@ function buildHttpClient(dependencies) {
|
|
|
62562
62718
|
return response;
|
|
62563
62719
|
}, (error48) => {
|
|
62564
62720
|
if (error48.response) {
|
|
62565
|
-
const { config: responseConfig, status } = error48.response;
|
|
62721
|
+
const { config: responseConfig, status, headers } = error48.response;
|
|
62566
62722
|
const timeStart = responseConfig.metadata.timeStart;
|
|
62567
62723
|
const responseTime = timeStart ? Date.now() - timeStart : void 0;
|
|
62568
|
-
logHttpResponse(logger2, {
|
|
62724
|
+
logHttpResponse(logger2, {
|
|
62725
|
+
request: toLogRequest(responseConfig),
|
|
62726
|
+
statusCode: status,
|
|
62727
|
+
// Surfaces upstream response headers on error responses (e.g. the
|
|
62728
|
+
// rate-limit headers on a 429); redacted in logHttpResponse.
|
|
62729
|
+
responseHeaders: headers
|
|
62730
|
+
}, responseTime, { metadata: { error: error48.message } });
|
|
62569
62731
|
}
|
|
62570
62732
|
return Promise.reject(error48);
|
|
62571
62733
|
});
|