@hyperline/cli 0.1.0-build.1.a5d69d7 → 0.1.0-build.1.a6bbe5d
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 +1135 -641
- package/dist/external-deps.json +2 -0
- package/package.json +4 -2
|
@@ -34894,10 +34894,10 @@ var require_shared = __commonJS({
|
|
|
34894
34894
|
ZodId: () => ZodId,
|
|
34895
34895
|
ZodTranslationsSchemaFn: () => ZodTranslationsSchemaFn
|
|
34896
34896
|
});
|
|
34897
|
-
var
|
|
34897
|
+
var import_zod20 = require_lib();
|
|
34898
34898
|
var countryIds2 = ["all", ...countries.map(({ id }) => id)];
|
|
34899
|
-
var ZodId =
|
|
34900
|
-
var ZodTranslationsSchemaFn = (schema) =>
|
|
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
|
|
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)
|
|
@@ -38336,10 +38369,10 @@ Examples:
|
|
|
38336
38369
|
queryParamKeys: []
|
|
38337
38370
|
});
|
|
38338
38371
|
});
|
|
38339
|
-
resource.command("create-custom-property").description(`Create a new custom property definition with a name, type (string, number, boolean, date, select), and optional default value.`).requiredOption("--name <value>", `name`).requiredOption("--type <value>", `type`).requiredOption("--slug <value>", `slug`).requiredOption("--entities <value>", `entities`).option("--api-only", `api_only`).option("--authorized-values <value>", `authorized_values`).addHelpText("after", `
|
|
38372
|
+
resource.command("create-custom-property").description(`Create a new custom property definition with a name, type (string, number, boolean, date, select), and optional default value.`).requiredOption("--name <value>", `name`).requiredOption("--type <value>", `type`).requiredOption("--slug <value>", `slug`).requiredOption("--entities <value>", `entities`).option("--api-only", `api_only`).option("--required", `required`).option("--authorized-values <value>", `authorized_values`).addHelpText("after", `
|
|
38340
38373
|
Examples:
|
|
38341
38374
|
hyperline custom-properties create-custom-property --name <name> --type <type> --slug <slug> --entities <entities>
|
|
38342
|
-
hyperline custom-properties create-custom-property --name <name> --type <type> --slug <slug> --entities <entities> --api-only --
|
|
38375
|
+
hyperline custom-properties create-custom-property --name <name> --type <type> --slug <slug> --entities <entities> --api-only --required
|
|
38343
38376
|
hyperline custom-properties create-custom-property --name <name> --type <type> --slug <slug> --entities <entities> --output json`).action(async (opts) => {
|
|
38344
38377
|
const ctx = resource.parent?.opts()._ctx;
|
|
38345
38378
|
if (!ctx) {
|
|
@@ -38359,6 +38392,8 @@ Examples:
|
|
|
38359
38392
|
args.authorized_values = opts.authorizedValues;
|
|
38360
38393
|
if (opts.apiOnly !== void 0)
|
|
38361
38394
|
args.api_only = true;
|
|
38395
|
+
if (opts.required !== void 0)
|
|
38396
|
+
args.required = true;
|
|
38362
38397
|
await ctx.execute({
|
|
38363
38398
|
method: "POST",
|
|
38364
38399
|
path: "/v1/custom-properties",
|
|
@@ -38366,10 +38401,10 @@ Examples:
|
|
|
38366
38401
|
queryParamKeys: []
|
|
38367
38402
|
});
|
|
38368
38403
|
});
|
|
38369
|
-
resource.command("update-custom-property").description(`Update an existing custom property definition by ID.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `name`).requiredOption("--type <value>", `type`).requiredOption("--slug <value>", `slug`).requiredOption("--entities <value>", `entities`).option("--api-only", `api_only`).option("--authorized-values <value>", `authorized_values`).addHelpText("after", `
|
|
38404
|
+
resource.command("update-custom-property").description(`Update an existing custom property definition by ID.`).requiredOption("--id <value>", `id parameter`).requiredOption("--name <value>", `name`).requiredOption("--type <value>", `type`).requiredOption("--slug <value>", `slug`).requiredOption("--entities <value>", `entities`).option("--api-only", `api_only`).option("--required", `required`).option("--authorized-values <value>", `authorized_values`).addHelpText("after", `
|
|
38370
38405
|
Examples:
|
|
38371
38406
|
hyperline custom-properties update-custom-property --id <id> --name <name> --type <type> --slug <slug> --entities <entities>
|
|
38372
|
-
hyperline custom-properties update-custom-property --id <id> --name <name> --type <type> --slug <slug> --entities <entities> --api-only --
|
|
38407
|
+
hyperline custom-properties update-custom-property --id <id> --name <name> --type <type> --slug <slug> --entities <entities> --api-only --required
|
|
38373
38408
|
hyperline custom-properties update-custom-property --id <id> --name <name> --type <type> --slug <slug> --entities <entities> --output json`).action(async (opts) => {
|
|
38374
38409
|
const ctx = resource.parent?.opts()._ctx;
|
|
38375
38410
|
if (!ctx) {
|
|
@@ -38391,6 +38426,8 @@ Examples:
|
|
|
38391
38426
|
args.authorized_values = opts.authorizedValues;
|
|
38392
38427
|
if (opts.apiOnly !== void 0)
|
|
38393
38428
|
args.api_only = true;
|
|
38429
|
+
if (opts.required !== void 0)
|
|
38430
|
+
args.required = true;
|
|
38394
38431
|
await ctx.execute({
|
|
38395
38432
|
method: "PUT",
|
|
38396
38433
|
path: "/v1/custom-properties/{id}",
|
|
@@ -38744,13 +38781,17 @@ Customer type.
|
|
|
38744
38781
|
- \`corporate\`: The customer is a business entity.
|
|
38745
38782
|
- \`person\`: The customer is a natural person.
|
|
38746
38783
|
- \`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("--
|
|
38784
|
+
`).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.
|
|
38785
|
+
|
|
38786
|
+
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
38787
|
+
- \`exempt\`: The customer is exempt from tax.
|
|
38788
|
+
`).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
38789
|
How customer invoices are issued from the parent organisation.
|
|
38749
38790
|
|
|
38750
38791
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
38751
38792
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
38752
38793
|
- \`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", `
|
|
38794
|
+
`).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
38795
|
Examples:
|
|
38755
38796
|
hyperline customers create-customer
|
|
38756
38797
|
hyperline customers create-customer --name <name> --type <type>
|
|
@@ -38769,10 +38810,14 @@ Examples:
|
|
|
38769
38810
|
args.currency = opts.currency;
|
|
38770
38811
|
if (opts.taxIds !== void 0)
|
|
38771
38812
|
args.tax_ids = opts.taxIds;
|
|
38813
|
+
if (opts.taxability !== void 0)
|
|
38814
|
+
args.taxability = opts.taxability;
|
|
38772
38815
|
if (opts.registrationNumber !== void 0)
|
|
38773
38816
|
args.registration_number = opts.registrationNumber;
|
|
38774
38817
|
if (opts.externalId !== void 0)
|
|
38775
38818
|
args.external_id = opts.externalId;
|
|
38819
|
+
if (opts.domain !== void 0)
|
|
38820
|
+
args.domain = opts.domain;
|
|
38776
38821
|
if (opts.invoicingEntityId !== void 0)
|
|
38777
38822
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38778
38823
|
if (opts.billingAddress !== void 0)
|
|
@@ -38805,6 +38850,10 @@ Examples:
|
|
|
38805
38850
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
38806
38851
|
if (opts.priceBookId !== void 0)
|
|
38807
38852
|
args.price_book_id = opts.priceBookId;
|
|
38853
|
+
if (opts.ownerId !== void 0)
|
|
38854
|
+
args.owner_id = opts.ownerId;
|
|
38855
|
+
if (opts.followerIds !== void 0)
|
|
38856
|
+
args.follower_ids = opts.followerIds;
|
|
38808
38857
|
if (opts.taxRateCustom !== void 0)
|
|
38809
38858
|
args.tax_rate_custom = Number(opts.taxRateCustom);
|
|
38810
38859
|
if (opts.customPaymentDelay !== void 0)
|
|
@@ -38863,13 +38912,17 @@ Customer type.
|
|
|
38863
38912
|
- \`corporate\`: The customer is a business entity.
|
|
38864
38913
|
- \`person\`: The customer is a natural person.
|
|
38865
38914
|
- \`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("--
|
|
38915
|
+
`).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.
|
|
38916
|
+
|
|
38917
|
+
- \`taxable\`: Taxes are automatically determined for the customer.
|
|
38918
|
+
- \`exempt\`: The customer is exempt from tax.
|
|
38919
|
+
`).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
38920
|
How customer invoices are issued from the parent organisation.
|
|
38868
38921
|
|
|
38869
38922
|
- \`none\`: Invoices will keep being issued from this customer.
|
|
38870
38923
|
- \`every_invoice\`: Customer invoices will be issued from the organisation individually.
|
|
38871
38924
|
- \`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", `
|
|
38925
|
+
`).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
38926
|
Examples:
|
|
38874
38927
|
hyperline customers update --id <id>
|
|
38875
38928
|
hyperline customers update --id <id> --name <name> --type <type>
|
|
@@ -38890,10 +38943,14 @@ Examples:
|
|
|
38890
38943
|
args.currency = opts.currency;
|
|
38891
38944
|
if (opts.taxIds !== void 0)
|
|
38892
38945
|
args.tax_ids = opts.taxIds;
|
|
38946
|
+
if (opts.taxability !== void 0)
|
|
38947
|
+
args.taxability = opts.taxability;
|
|
38893
38948
|
if (opts.registrationNumber !== void 0)
|
|
38894
38949
|
args.registration_number = opts.registrationNumber;
|
|
38895
38950
|
if (opts.externalId !== void 0)
|
|
38896
38951
|
args.external_id = opts.externalId;
|
|
38952
|
+
if (opts.domain !== void 0)
|
|
38953
|
+
args.domain = opts.domain;
|
|
38897
38954
|
if (opts.invoicingEntityId !== void 0)
|
|
38898
38955
|
args.invoicing_entity_id = opts.invoicingEntityId;
|
|
38899
38956
|
if (opts.billingAddress !== void 0)
|
|
@@ -38928,6 +38985,10 @@ Examples:
|
|
|
38928
38985
|
args.invoice_reminders_enabled = opts.invoiceRemindersEnabled;
|
|
38929
38986
|
if (opts.priceBookId !== void 0)
|
|
38930
38987
|
args.price_book_id = opts.priceBookId;
|
|
38988
|
+
if (opts.ownerId !== void 0)
|
|
38989
|
+
args.owner_id = opts.ownerId;
|
|
38990
|
+
if (opts.followerIds !== void 0)
|
|
38991
|
+
args.follower_ids = opts.followerIds;
|
|
38931
38992
|
if (opts.taxRateCustom !== void 0)
|
|
38932
38993
|
args.tax_rate_custom = Number(opts.taxRateCustom);
|
|
38933
38994
|
if (opts.customPaymentDelay !== void 0)
|
|
@@ -39059,6 +39120,38 @@ Examples:
|
|
|
39059
39120
|
queryParamKeys: []
|
|
39060
39121
|
});
|
|
39061
39122
|
});
|
|
39123
|
+
resource.command("get-customer-arr-history").description(`List every subscription-level ARR evolution for a customer, including previous and current fixed, variable, and total annual values in each subscription currency. Results are latest-first and 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("--occurred-at.gte <value>", `Return evolutions that occurred at or after this UTC date and time.`).option("--occurred-at.lte <value>", `Return evolutions that occurred at or before this UTC date and time.`).addHelpText("after", `
|
|
39124
|
+
Examples:
|
|
39125
|
+
hyperline customers get-customer-arr-history --id <id>
|
|
39126
|
+
hyperline customers get-customer-arr-history --id <id> --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
39127
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
39128
|
+
if (!ctx) {
|
|
39129
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
39130
|
+
process.exit(1);
|
|
39131
|
+
}
|
|
39132
|
+
const args = {};
|
|
39133
|
+
if (opts.id !== void 0)
|
|
39134
|
+
args.id = opts.id;
|
|
39135
|
+
if (opts.cursor !== void 0)
|
|
39136
|
+
args.cursor = opts.cursor;
|
|
39137
|
+
if (opts["occurredAt.gte"] !== void 0)
|
|
39138
|
+
args.occurred_at__gte = opts["occurredAt.gte"];
|
|
39139
|
+
if (opts["occurredAt.lte"] !== void 0)
|
|
39140
|
+
args.occurred_at__lte = opts["occurredAt.lte"];
|
|
39141
|
+
if (opts.limit !== void 0)
|
|
39142
|
+
args.limit = Number(opts.limit);
|
|
39143
|
+
await ctx.execute({
|
|
39144
|
+
method: "GET",
|
|
39145
|
+
path: "/v1/customers/{id}/arr-history",
|
|
39146
|
+
args,
|
|
39147
|
+
queryParamKeys: [
|
|
39148
|
+
"limit",
|
|
39149
|
+
"cursor",
|
|
39150
|
+
"occurred_at__gte",
|
|
39151
|
+
"occurred_at__lte"
|
|
39152
|
+
]
|
|
39153
|
+
});
|
|
39154
|
+
});
|
|
39062
39155
|
resource.command("get-customer-valuation").description(`Compute aggregated valuation metrics for a customer across all active subscriptions, grouped by currency. Returns contract value, recurring contract value, and ARR for each subscription and aggregated totals. Optionally pass granularity (year/quarter/month) for period breakdown.`).requiredOption("--id <value>", `id parameter`).option("--granularity <value>", `Period granularity for the breakdown. When provided, contract value and recurring contract value include a \`by_period\` array.`).addHelpText("after", `
|
|
39063
39156
|
Examples:
|
|
39064
39157
|
hyperline customers get-customer-valuation --id <id>
|
|
@@ -39592,6 +39685,7 @@ Export name.
|
|
|
39592
39685
|
- \`draft_invoices\`: Export all draft invoices, with customer and product information.
|
|
39593
39686
|
- \`open_invoices\`: Export all open invoices, with customer and product information.
|
|
39594
39687
|
- \`live_subscriptions\`: List of all active subscriptions line by line.
|
|
39688
|
+
- \`credit_balances\`: Monthly credit balance roll-forward per customer and credit type (opening, top-ups, consumption, expiry, closing).
|
|
39595
39689
|
`).requiredOption("--file-type <value>", `
|
|
39596
39690
|
Export file type.
|
|
39597
39691
|
|
|
@@ -40169,7 +40263,7 @@ Examples:
|
|
|
40169
40263
|
- \`archived\`: A previous version of an invoice.
|
|
40170
40264
|
- \`charged_on_parent\`: Invoice is charged on the parent customer.
|
|
40171
40265
|
- \`pending_parent_concat\`: Invoice is pending invoices concatenation on the parent customer to be grouped.
|
|
40172
|
-
- \`uncollectible\`: Invoice is uncollectible (bad debt).
|
|
40266
|
+
- \`uncollectible\`: Invoice is uncollectible (bad debt). Only metadata (properties, custom_note, custom_properties) can be updated in this status.
|
|
40173
40267
|
`).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
40268
|
|
|
40175
40269
|
- \`invoice\`: Legal invoice to be paid by your customer.
|
|
@@ -40411,7 +40505,7 @@ Examples:
|
|
|
40411
40505
|
queryParamKeys: []
|
|
40412
40506
|
});
|
|
40413
40507
|
});
|
|
40414
|
-
resource.command("update").description(`Update
|
|
40508
|
+
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/purchase_order; uncollectible: properties/custom_note/custom_properties).`).requiredOption("--id <value>", `id parameter`).option("--type <value>", `Type of the invoice.
|
|
40415
40509
|
|
|
40416
40510
|
- \`invoice\`: Legal invoice to be paid by your customer.
|
|
40417
40511
|
- \`credit_note\`: Legal credit note cancelling an invoice and refunding your customer.
|
|
@@ -40583,7 +40677,7 @@ Examples:
|
|
|
40583
40677
|
queryParamKeys: []
|
|
40584
40678
|
});
|
|
40585
40679
|
});
|
|
40586
|
-
resource.command("delete-invoice-transaction").description(`Delete a scheduled transaction from an invoice
|
|
40680
|
+
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
40681
|
Examples:
|
|
40588
40682
|
hyperline invoices-transactions delete-invoice-transaction --id <id> --transaction-id <transactionId>
|
|
40589
40683
|
hyperline invoices-transactions delete-invoice-transaction --id <id> --transaction-id <transactionId> --output json`).action(async (opts) => {
|
|
@@ -41224,7 +41318,12 @@ Examples:
|
|
|
41224
41318
|
]
|
|
41225
41319
|
});
|
|
41226
41320
|
});
|
|
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("--
|
|
41321
|
+
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>", `
|
|
41322
|
+
How the periodic credit allowance is granted for partial billing periods.
|
|
41323
|
+
|
|
41324
|
+
- \`prorated\` (default): the granted credits are prorated to the elapsed period.
|
|
41325
|
+
- \`full_allowance\`: the full allowance is always granted (the invoice remains prorated).
|
|
41326
|
+
`).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
41327
|
Examples:
|
|
41229
41328
|
hyperline products create --name <name> --type <type> --price-configurations <price_configurations>
|
|
41230
41329
|
hyperline products create --name <name> --type <type> --price-configurations <price_configurations> --description <description> --description-display-interval-dates
|
|
@@ -41259,6 +41358,8 @@ Examples:
|
|
|
41259
41358
|
args.unit_name = opts.unitName;
|
|
41260
41359
|
if (opts.creditAggregators !== void 0)
|
|
41261
41360
|
args.credit_aggregators = opts.creditAggregators;
|
|
41361
|
+
if (opts.creditsGrantMode !== void 0)
|
|
41362
|
+
args.credits_grant_mode = opts.creditsGrantMode;
|
|
41262
41363
|
if (opts.displayMode !== void 0)
|
|
41263
41364
|
args.display_mode = opts.displayMode;
|
|
41264
41365
|
if (opts.bundleItems !== void 0)
|
|
@@ -41360,6 +41461,32 @@ Examples:
|
|
|
41360
41461
|
queryParamKeys: []
|
|
41361
41462
|
});
|
|
41362
41463
|
});
|
|
41464
|
+
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", `
|
|
41465
|
+
Examples:
|
|
41466
|
+
hyperline products delete --id <id>
|
|
41467
|
+
hyperline products delete --id <id> --output json`).action(async (opts) => {
|
|
41468
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41469
|
+
if (!ctx) {
|
|
41470
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41471
|
+
process.exit(1);
|
|
41472
|
+
}
|
|
41473
|
+
const args = {};
|
|
41474
|
+
if (opts.id !== void 0)
|
|
41475
|
+
args.id = opts.id;
|
|
41476
|
+
if (!opts.yes) {
|
|
41477
|
+
const confirmed = await confirmPrompt("Are you sure? Pass --yes to skip. [y/N] ");
|
|
41478
|
+
if (!confirmed) {
|
|
41479
|
+
process.stdout.write("Aborted.\n");
|
|
41480
|
+
return;
|
|
41481
|
+
}
|
|
41482
|
+
}
|
|
41483
|
+
await ctx.execute({
|
|
41484
|
+
method: "DELETE",
|
|
41485
|
+
path: "/v1/products/{id}",
|
|
41486
|
+
args,
|
|
41487
|
+
queryParamKeys: []
|
|
41488
|
+
});
|
|
41489
|
+
});
|
|
41363
41490
|
resource.command("unarchive").description(`Restore a previously archived product, making it available for new subscriptions again.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
41364
41491
|
Examples:
|
|
41365
41492
|
hyperline products unarchive --id <id>
|
|
@@ -41384,18 +41511,18 @@ Examples:
|
|
|
41384
41511
|
// build/commands/generated/quotes.js
|
|
41385
41512
|
function registerQuotesCommands(parent) {
|
|
41386
41513
|
const resource = parent.command("quotes").description("Manage quotes");
|
|
41387
|
-
resource.command("create").description(`Create a new quote for a customer
|
|
41514
|
+
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
41515
|
Quote status.
|
|
41389
41516
|
|
|
41390
41517
|
- \`draft\`: The quote is a draft.
|
|
41391
41518
|
- \`approved\`: The quote is approved and ready to be sent to the customer.
|
|
41392
41519
|
- \`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.
|
|
41520
|
+
`).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
41521
|
|
|
41395
41522
|
- \`all\`: Display all pricing tiers.
|
|
41396
41523
|
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
41397
41524
|
- \`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", `
|
|
41525
|
+
`).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
41526
|
Examples:
|
|
41400
41527
|
hyperline quotes create --customer-id <customer_id>
|
|
41401
41528
|
hyperline quotes create --customer-id <customer_id> --status <status> --owner-email <owner_email>
|
|
@@ -41422,6 +41549,8 @@ Examples:
|
|
|
41422
41549
|
args.collect_payment_details = opts.collectPaymentDetails;
|
|
41423
41550
|
if (opts.collectCustomPropertyIds !== void 0)
|
|
41424
41551
|
args.collect_custom_property_ids = opts.collectCustomPropertyIds;
|
|
41552
|
+
if (opts.contractClauseIds !== void 0)
|
|
41553
|
+
args.contract_clause_ids = opts.contractClauseIds;
|
|
41425
41554
|
if (opts.requireTaxId !== void 0)
|
|
41426
41555
|
args.require_tax_id = opts.requireTaxId;
|
|
41427
41556
|
if (opts.displayQuoteValue !== void 0)
|
|
@@ -41440,12 +41569,16 @@ Examples:
|
|
|
41440
41569
|
args.display_documents_in_preview = opts.displayDocumentsInPreview;
|
|
41441
41570
|
if (opts.displaySubscriptionOnUpdate !== void 0)
|
|
41442
41571
|
args.display_subscription_on_update = opts.displaySubscriptionOnUpdate;
|
|
41572
|
+
if (opts.generateDraftInvoices !== void 0)
|
|
41573
|
+
args.generate_draft_invoices = opts.generateDraftInvoices;
|
|
41443
41574
|
if (opts.templateId !== void 0)
|
|
41444
41575
|
args.template_id = opts.templateId;
|
|
41445
41576
|
if (opts.expiresAt !== void 0)
|
|
41446
41577
|
args.expires_at = opts.expiresAt;
|
|
41447
41578
|
if (opts.subscription !== void 0)
|
|
41448
41579
|
args.subscription = opts.subscription;
|
|
41580
|
+
if (opts.invoice !== void 0)
|
|
41581
|
+
args.invoice = opts.invoice;
|
|
41449
41582
|
if (opts.amount !== void 0)
|
|
41450
41583
|
args.amount = Number(opts.amount);
|
|
41451
41584
|
await ctx.execute({
|
|
@@ -41674,6 +41807,73 @@ Examples:
|
|
|
41674
41807
|
queryParamKeys: []
|
|
41675
41808
|
});
|
|
41676
41809
|
});
|
|
41810
|
+
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.
|
|
41811
|
+
|
|
41812
|
+
- \`all\`: Display all pricing tiers.
|
|
41813
|
+
- \`matching\`: Only display the tiers used to compute the price based on quantity.
|
|
41814
|
+
- \`none\`: Hide all pricing tiers.
|
|
41815
|
+
`).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", `
|
|
41816
|
+
Examples:
|
|
41817
|
+
hyperline quotes update --id <id>
|
|
41818
|
+
hyperline quotes update --id <id> --owner-email <owner_email> --comments <comments>
|
|
41819
|
+
hyperline quotes update --id <id> --output json`).action(async (opts) => {
|
|
41820
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41821
|
+
if (!ctx) {
|
|
41822
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41823
|
+
process.exit(1);
|
|
41824
|
+
}
|
|
41825
|
+
const args = {};
|
|
41826
|
+
if (opts.id !== void 0)
|
|
41827
|
+
args.id = opts.id;
|
|
41828
|
+
if (opts.ownerEmail !== void 0)
|
|
41829
|
+
args.owner_email = opts.ownerEmail;
|
|
41830
|
+
if (opts.comments !== void 0)
|
|
41831
|
+
args.comments = opts.comments;
|
|
41832
|
+
if (opts.terms !== void 0)
|
|
41833
|
+
args.terms = opts.terms;
|
|
41834
|
+
if (opts.collectPaymentDetails !== void 0)
|
|
41835
|
+
args.collect_payment_details = opts.collectPaymentDetails;
|
|
41836
|
+
if (opts.collectCustomPropertyIds !== void 0)
|
|
41837
|
+
args.collect_custom_property_ids = opts.collectCustomPropertyIds;
|
|
41838
|
+
if (opts.contractClauseIds !== void 0)
|
|
41839
|
+
args.contract_clause_ids = opts.contractClauseIds;
|
|
41840
|
+
if (opts.requireTaxId !== void 0)
|
|
41841
|
+
args.require_tax_id = opts.requireTaxId;
|
|
41842
|
+
if (opts.displayQuoteValue !== void 0)
|
|
41843
|
+
args.display_quote_value = opts.displayQuoteValue;
|
|
41844
|
+
if (opts.displayQuoteValueWithTax !== void 0)
|
|
41845
|
+
args.display_quote_value_with_tax = opts.displayQuoteValueWithTax;
|
|
41846
|
+
if (opts.displayTaxes !== void 0)
|
|
41847
|
+
args.display_taxes = opts.displayTaxes;
|
|
41848
|
+
if (opts.displayPriceTiers !== void 0)
|
|
41849
|
+
args.display_price_tiers = opts.displayPriceTiers;
|
|
41850
|
+
if (opts.displayPhaseValue !== void 0)
|
|
41851
|
+
args.display_phase_value = opts.displayPhaseValue;
|
|
41852
|
+
if (opts.displayFirstInvoiceAmount !== void 0)
|
|
41853
|
+
args.display_first_invoice_amount = opts.displayFirstInvoiceAmount;
|
|
41854
|
+
if (opts.displayDocumentsInPreview !== void 0)
|
|
41855
|
+
args.display_documents_in_preview = opts.displayDocumentsInPreview;
|
|
41856
|
+
if (opts.displaySubscriptionOnUpdate !== void 0)
|
|
41857
|
+
args.display_subscription_on_update = opts.displaySubscriptionOnUpdate;
|
|
41858
|
+
if (opts.generateDraftInvoices !== void 0)
|
|
41859
|
+
args.generate_draft_invoices = opts.generateDraftInvoices;
|
|
41860
|
+
if (opts.crmOpportunityId !== void 0)
|
|
41861
|
+
args.crm_opportunity_id = opts.crmOpportunityId;
|
|
41862
|
+
if (opts.expiresAt !== void 0)
|
|
41863
|
+
args.expires_at = opts.expiresAt;
|
|
41864
|
+
if (opts.subscription !== void 0)
|
|
41865
|
+
args.subscription = opts.subscription;
|
|
41866
|
+
if (opts.invoice !== void 0)
|
|
41867
|
+
args.invoice = opts.invoice;
|
|
41868
|
+
if (opts.amount !== void 0)
|
|
41869
|
+
args.amount = Number(opts.amount);
|
|
41870
|
+
await ctx.execute({
|
|
41871
|
+
method: "PATCH",
|
|
41872
|
+
path: "/v1/quotes/{id}",
|
|
41873
|
+
args,
|
|
41874
|
+
queryParamKeys: []
|
|
41875
|
+
});
|
|
41876
|
+
});
|
|
41677
41877
|
resource.command("download").description(`Download the PDF of a quote. Supports locale parameter for localization.`).requiredOption("--id <value>", `id parameter`).option("--locale <value>", `locale`).addHelpText("after", `
|
|
41678
41878
|
Examples:
|
|
41679
41879
|
hyperline quotes download --id <id>
|
|
@@ -41714,6 +41914,25 @@ Examples:
|
|
|
41714
41914
|
queryParamKeys: []
|
|
41715
41915
|
});
|
|
41716
41916
|
});
|
|
41917
|
+
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", `
|
|
41918
|
+
Examples:
|
|
41919
|
+
hyperline quotes finalize --id <id>
|
|
41920
|
+
hyperline quotes finalize --id <id> --output json`).action(async (opts) => {
|
|
41921
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
41922
|
+
if (!ctx) {
|
|
41923
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
41924
|
+
process.exit(1);
|
|
41925
|
+
}
|
|
41926
|
+
const args = {};
|
|
41927
|
+
if (opts.id !== void 0)
|
|
41928
|
+
args.id = opts.id;
|
|
41929
|
+
await ctx.execute({
|
|
41930
|
+
method: "POST",
|
|
41931
|
+
path: "/v1/quotes/{id}/finalize",
|
|
41932
|
+
args,
|
|
41933
|
+
queryParamKeys: []
|
|
41934
|
+
});
|
|
41935
|
+
});
|
|
41717
41936
|
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", `
|
|
41718
41937
|
Examples:
|
|
41719
41938
|
hyperline quotes send --id <id> --email <email>
|
|
@@ -41821,10 +42040,132 @@ Examples:
|
|
|
41821
42040
|
});
|
|
41822
42041
|
}
|
|
41823
42042
|
|
|
42043
|
+
// build/commands/generated/quotes-templates.js
|
|
42044
|
+
function registerQuotes_TemplatesCommands(parent) {
|
|
42045
|
+
const resource = parent.command("quotes-templates").description("Manage quotes > templates");
|
|
42046
|
+
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", `
|
|
42047
|
+
Examples:
|
|
42048
|
+
hyperline quotes-templates list-quote-templates
|
|
42049
|
+
hyperline quotes-templates list-quote-templates --take <take> --id <id>`).action(async (opts) => {
|
|
42050
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42051
|
+
if (!ctx) {
|
|
42052
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42053
|
+
process.exit(1);
|
|
42054
|
+
}
|
|
42055
|
+
const args = {};
|
|
42056
|
+
if (opts.id !== void 0)
|
|
42057
|
+
args.id = opts.id;
|
|
42058
|
+
if (opts["id.not"] !== void 0)
|
|
42059
|
+
args.id__not = opts["id.not"];
|
|
42060
|
+
if (opts["id.isNull"] !== void 0)
|
|
42061
|
+
args.id__isNull = opts["id.isNull"];
|
|
42062
|
+
if (opts["id.isNotNull"] !== void 0)
|
|
42063
|
+
args.id__isNotNull = opts["id.isNotNull"];
|
|
42064
|
+
if (opts["id.equals"] !== void 0)
|
|
42065
|
+
args.id__equals = opts["id.equals"];
|
|
42066
|
+
if (opts["id.contains"] !== void 0)
|
|
42067
|
+
args.id__contains = opts["id.contains"];
|
|
42068
|
+
if (opts["id.startsWith"] !== void 0)
|
|
42069
|
+
args.id__startsWith = opts["id.startsWith"];
|
|
42070
|
+
if (opts["id.endWith"] !== void 0)
|
|
42071
|
+
args.id__endWith = opts["id.endWith"];
|
|
42072
|
+
if (opts.name !== void 0)
|
|
42073
|
+
args.name = opts.name;
|
|
42074
|
+
if (opts["name.not"] !== void 0)
|
|
42075
|
+
args.name__not = opts["name.not"];
|
|
42076
|
+
if (opts["name.isNull"] !== void 0)
|
|
42077
|
+
args.name__isNull = opts["name.isNull"];
|
|
42078
|
+
if (opts["name.isNotNull"] !== void 0)
|
|
42079
|
+
args.name__isNotNull = opts["name.isNotNull"];
|
|
42080
|
+
if (opts["name.equals"] !== void 0)
|
|
42081
|
+
args.name__equals = opts["name.equals"];
|
|
42082
|
+
if (opts["name.contains"] !== void 0)
|
|
42083
|
+
args.name__contains = opts["name.contains"];
|
|
42084
|
+
if (opts["name.startsWith"] !== void 0)
|
|
42085
|
+
args.name__startsWith = opts["name.startsWith"];
|
|
42086
|
+
if (opts["name.endWith"] !== void 0)
|
|
42087
|
+
args.name__endWith = opts["name.endWith"];
|
|
42088
|
+
if (opts.subscriptionTemplateId !== void 0)
|
|
42089
|
+
args.subscription_template_id = opts.subscriptionTemplateId;
|
|
42090
|
+
if (opts["subscriptionTemplateId.not"] !== void 0)
|
|
42091
|
+
args.subscription_template_id__not = opts["subscriptionTemplateId.not"];
|
|
42092
|
+
if (opts["subscriptionTemplateId.isNull"] !== void 0)
|
|
42093
|
+
args.subscription_template_id__isNull = opts["subscriptionTemplateId.isNull"];
|
|
42094
|
+
if (opts["subscriptionTemplateId.isNotNull"] !== void 0)
|
|
42095
|
+
args.subscription_template_id__isNotNull = opts["subscriptionTemplateId.isNotNull"];
|
|
42096
|
+
if (opts["subscriptionTemplateId.equals"] !== void 0)
|
|
42097
|
+
args.subscription_template_id__equals = opts["subscriptionTemplateId.equals"];
|
|
42098
|
+
if (opts["subscriptionTemplateId.contains"] !== void 0)
|
|
42099
|
+
args.subscription_template_id__contains = opts["subscriptionTemplateId.contains"];
|
|
42100
|
+
if (opts["subscriptionTemplateId.startsWith"] !== void 0)
|
|
42101
|
+
args.subscription_template_id__startsWith = opts["subscriptionTemplateId.startsWith"];
|
|
42102
|
+
if (opts["subscriptionTemplateId.endWith"] !== void 0)
|
|
42103
|
+
args.subscription_template_id__endWith = opts["subscriptionTemplateId.endWith"];
|
|
42104
|
+
if (opts.search !== void 0)
|
|
42105
|
+
args.search = opts.search;
|
|
42106
|
+
if (opts.take !== void 0)
|
|
42107
|
+
args.take = Number(opts.take);
|
|
42108
|
+
if (opts.skip !== void 0)
|
|
42109
|
+
args.skip = Number(opts.skip);
|
|
42110
|
+
await ctx.execute({
|
|
42111
|
+
method: "GET",
|
|
42112
|
+
path: "/v1/quotes/templates",
|
|
42113
|
+
args,
|
|
42114
|
+
queryParamKeys: [
|
|
42115
|
+
"take",
|
|
42116
|
+
"skip",
|
|
42117
|
+
"id",
|
|
42118
|
+
"id__not",
|
|
42119
|
+
"id__isNull",
|
|
42120
|
+
"id__isNotNull",
|
|
42121
|
+
"id__equals",
|
|
42122
|
+
"id__contains",
|
|
42123
|
+
"id__startsWith",
|
|
42124
|
+
"id__endWith",
|
|
42125
|
+
"name",
|
|
42126
|
+
"name__not",
|
|
42127
|
+
"name__isNull",
|
|
42128
|
+
"name__isNotNull",
|
|
42129
|
+
"name__equals",
|
|
42130
|
+
"name__contains",
|
|
42131
|
+
"name__startsWith",
|
|
42132
|
+
"name__endWith",
|
|
42133
|
+
"subscription_template_id",
|
|
42134
|
+
"subscription_template_id__not",
|
|
42135
|
+
"subscription_template_id__isNull",
|
|
42136
|
+
"subscription_template_id__isNotNull",
|
|
42137
|
+
"subscription_template_id__equals",
|
|
42138
|
+
"subscription_template_id__contains",
|
|
42139
|
+
"subscription_template_id__startsWith",
|
|
42140
|
+
"subscription_template_id__endWith",
|
|
42141
|
+
"search"
|
|
42142
|
+
]
|
|
42143
|
+
});
|
|
42144
|
+
});
|
|
42145
|
+
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", `
|
|
42146
|
+
Examples:
|
|
42147
|
+
hyperline quotes-templates get-quote-template --id <id>`).action(async (opts) => {
|
|
42148
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42149
|
+
if (!ctx) {
|
|
42150
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42151
|
+
process.exit(1);
|
|
42152
|
+
}
|
|
42153
|
+
const args = {};
|
|
42154
|
+
if (opts.id !== void 0)
|
|
42155
|
+
args.id = opts.id;
|
|
42156
|
+
await ctx.execute({
|
|
42157
|
+
method: "GET",
|
|
42158
|
+
path: "/v1/quotes/templates/{id}",
|
|
42159
|
+
args,
|
|
42160
|
+
queryParamKeys: []
|
|
42161
|
+
});
|
|
42162
|
+
});
|
|
42163
|
+
}
|
|
42164
|
+
|
|
41824
42165
|
// build/commands/generated/subscriptions.js
|
|
41825
42166
|
function registerSubscriptionsCommands(parent) {
|
|
41826
42167
|
const resource = parent.command("subscriptions").description("Manage subscriptions");
|
|
41827
|
-
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`).requiredOption("--type <value>", `type`).requiredOption("--payload <value>", `payload`).addHelpText("after", `
|
|
42168
|
+
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", `
|
|
41828
42169
|
Examples:
|
|
41829
42170
|
hyperline subscriptions create-subscription-update --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --type <type> --payload <payload>
|
|
41830
42171
|
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>
|
|
@@ -41847,6 +42188,10 @@ Examples:
|
|
|
41847
42188
|
args.charge_at = opts.chargeAt;
|
|
41848
42189
|
if (opts.calculationMethod !== void 0)
|
|
41849
42190
|
args.calculation_method = opts.calculationMethod;
|
|
42191
|
+
if (opts.precision !== void 0)
|
|
42192
|
+
args.precision = opts.precision;
|
|
42193
|
+
if (opts.refundMethod !== void 0)
|
|
42194
|
+
args.refund_method = opts.refundMethod;
|
|
41850
42195
|
if (opts.type !== void 0)
|
|
41851
42196
|
args.type = opts.type;
|
|
41852
42197
|
if (opts.payload !== void 0)
|
|
@@ -41858,7 +42203,7 @@ Examples:
|
|
|
41858
42203
|
queryParamKeys: []
|
|
41859
42204
|
});
|
|
41860
42205
|
});
|
|
41861
|
-
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`).requiredOption("--updates <value>", `updates`).addHelpText("after", `
|
|
42206
|
+
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", `
|
|
41862
42207
|
Examples:
|
|
41863
42208
|
hyperline subscriptions create-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
|
|
41864
42209
|
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>
|
|
@@ -41881,6 +42226,10 @@ Examples:
|
|
|
41881
42226
|
args.charge_at = opts.chargeAt;
|
|
41882
42227
|
if (opts.calculationMethod !== void 0)
|
|
41883
42228
|
args.calculation_method = opts.calculationMethod;
|
|
42229
|
+
if (opts.precision !== void 0)
|
|
42230
|
+
args.precision = opts.precision;
|
|
42231
|
+
if (opts.refundMethod !== void 0)
|
|
42232
|
+
args.refund_method = opts.refundMethod;
|
|
41884
42233
|
if (opts.updates !== void 0)
|
|
41885
42234
|
args.updates = opts.updates;
|
|
41886
42235
|
await ctx.execute({
|
|
@@ -41890,7 +42239,7 @@ Examples:
|
|
|
41890
42239
|
queryParamKeys: []
|
|
41891
42240
|
});
|
|
41892
42241
|
});
|
|
41893
|
-
resource.command("cancel").description(`Cancel a subscription. Supports immediate or end-of-period cancellation. Optionally specify a cancellation reason.`).requiredOption("--id <value>", `id parameter`).option("--cancel-at <value>", `Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--reason <value>", `Reason for the cancellation.`).option("--pro-rata", `Indicates if the cancel should refund the customer using a pro rata strategy.`).addHelpText("after", `
|
|
42242
|
+
resource.command("cancel").description(`Cancel a subscription. Supports immediate or end-of-period cancellation. Optionally specify a cancellation reason.`).requiredOption("--id <value>", `id parameter`).option("--cancel-at <value>", `Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.`).option("--reason <value>", `Reason for the cancellation.`).option("--pro-rata", `Indicates if the cancel should refund the customer using a pro rata strategy.`).option("--refund-method <value>", `Override the refund destination for the resulting credit note. When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).addHelpText("after", `
|
|
41894
42243
|
Examples:
|
|
41895
42244
|
hyperline subscriptions cancel --id <id>
|
|
41896
42245
|
hyperline subscriptions cancel --id <id> --cancel-at <cancel_at> --reason <reason>
|
|
@@ -41907,6 +42256,8 @@ Examples:
|
|
|
41907
42256
|
args.cancel_at = opts.cancelAt;
|
|
41908
42257
|
if (opts.reason !== void 0)
|
|
41909
42258
|
args.reason = opts.reason;
|
|
42259
|
+
if (opts.refundMethod !== void 0)
|
|
42260
|
+
args.refund_method = opts.refundMethod;
|
|
41910
42261
|
if (opts.proRata !== void 0)
|
|
41911
42262
|
args.pro_rata = true;
|
|
41912
42263
|
await ctx.execute({
|
|
@@ -41935,7 +42286,7 @@ Examples:
|
|
|
41935
42286
|
queryParamKeys: []
|
|
41936
42287
|
});
|
|
41937
42288
|
});
|
|
41938
|
-
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", `
|
|
42289
|
+
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", `
|
|
41939
42290
|
Examples:
|
|
41940
42291
|
hyperline subscriptions pause --id <id>
|
|
41941
42292
|
hyperline subscriptions pause --id <id> --reactivate-at <reactivate_at>
|
|
@@ -42016,7 +42367,7 @@ Examples:
|
|
|
42016
42367
|
queryParamKeys: []
|
|
42017
42368
|
});
|
|
42018
42369
|
});
|
|
42019
|
-
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`).requiredOption("--updates <value>", `updates`).addHelpText("after", `
|
|
42370
|
+
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", `
|
|
42020
42371
|
Examples:
|
|
42021
42372
|
hyperline subscriptions simulate-subscription-updates --id <id> --application-schedule <application_schedule> --payment-schedule <payment_schedule> --calculation-method <calculation_method> --updates <updates>
|
|
42022
42373
|
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>
|
|
@@ -42039,6 +42390,10 @@ Examples:
|
|
|
42039
42390
|
args.charge_at = opts.chargeAt;
|
|
42040
42391
|
if (opts.calculationMethod !== void 0)
|
|
42041
42392
|
args.calculation_method = opts.calculationMethod;
|
|
42393
|
+
if (opts.precision !== void 0)
|
|
42394
|
+
args.precision = opts.precision;
|
|
42395
|
+
if (opts.refundMethod !== void 0)
|
|
42396
|
+
args.refund_method = opts.refundMethod;
|
|
42042
42397
|
if (opts.updates !== void 0)
|
|
42043
42398
|
args.updates = opts.updates;
|
|
42044
42399
|
await ctx.execute({
|
|
@@ -42064,7 +42419,7 @@ Strategy used to cancel the subscription. If not specified \`do_nothing\` is use
|
|
|
42064
42419
|
- \`refund_custom\`: Will refund to the customer a custom amount.
|
|
42065
42420
|
- \`end_of_period\`: Will cancel the subscription at the end date of the current billing period.
|
|
42066
42421
|
- \`do_nothing\`: Will only cease the subscription without any additional actions.
|
|
42067
|
-
`).option("--cancellation-amount <number>", `Custom amount used when cancelling the subscription. Only applies to the \`charge_custom\` or the \`refund_custom\` cancellation strategy.`).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("--tax-only <value>", `Only tax will be charged on this subscription.`).option("--generate-draft-invoices <value>", `Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent`).option("--generate-document <value>", `Generate non-legal documents instead of invoices.`).option("--document-name <value>", `If \`generate_document\` is turned on, allows you to give a name to your document.`).option("--add-tax-to-document <value>", `If \`generate_document\` is turned on, will add taxes to document.`).option("--do-not-charge-subscription <value>", `Subscription will be invoiced but not charged (invoices/documents will be settled directly).`).option("--invoice-custom-note <value>", `Default custom note added to invoices generated by the subscription.`).option("--invoice-schedule <value>", `
|
|
42422
|
+
`).option("--cancellation-amount <number>", `Custom amount used when cancelling the subscription. Only applies to the \`charge_custom\` or the \`refund_custom\` cancellation strategy.`).option("--cancellation-refund-method <value>", `Override the refund destination for credit notes generated by \`refund_prorata\` / \`refund_custom\` cancellation strategies. When omitted, falls back to the invoicing entity's \`creditNoteWalletRefundEnabled\` setting.`).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("--tax-only <value>", `Only tax will be charged on this subscription.`).option("--generate-draft-invoices <value>", `Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent`).option("--generate-document <value>", `Generate non-legal documents instead of invoices.`).option("--document-name <value>", `If \`generate_document\` is turned on, allows you to give a name to your document.`).option("--add-tax-to-document <value>", `If \`generate_document\` is turned on, will add taxes to document.`).option("--do-not-charge-subscription <value>", `Subscription will be invoiced but not charged (invoices/documents will be settled directly).`).option("--invoice-custom-note <value>", `Default custom note added to invoices generated by the subscription.`).option("--invoice-schedule <value>", `
|
|
42068
42423
|
Defines when invoices are generated relative to the billing period.
|
|
42069
42424
|
|
|
42070
42425
|
- \`period_start\`: Invoices are generated at the start of the billing period.
|
|
@@ -42119,6 +42474,8 @@ Examples:
|
|
|
42119
42474
|
args.cancel_at = opts.cancelAt;
|
|
42120
42475
|
if (opts.cancellationStrategy !== void 0)
|
|
42121
42476
|
args.cancellation_strategy = opts.cancellationStrategy;
|
|
42477
|
+
if (opts.cancellationRefundMethod !== void 0)
|
|
42478
|
+
args.cancellation_refund_method = opts.cancellationRefundMethod;
|
|
42122
42479
|
if (opts.properties !== void 0)
|
|
42123
42480
|
args.properties = opts.properties;
|
|
42124
42481
|
if (opts.customProperties !== void 0)
|
|
@@ -42401,7 +42758,7 @@ Examples:
|
|
|
42401
42758
|
queryParamKeys: []
|
|
42402
42759
|
});
|
|
42403
42760
|
});
|
|
42404
|
-
resource.command("update").description(`Comprehensive subscription update: modify fields, manage phases (add/update/delete pending phases), update products within phases, and manage coupons.
|
|
42761
|
+
resource.command("update").description(`Comprehensive subscription update: modify fields, manage phases (add/update/delete pending phases), update products within phases, and manage coupons. Draft quote subscription configuration must be updated through PATCH /v1/quotes/{id}.`).requiredOption("--id <value>", `id parameter`).option("--name <value>", `Subscription custom name.`).option("--purchase-order <value>", `Reference to the purchase order.`).option("--minimum-invoice-fee <number>", `Minimum fee applied to each invoice outside of one time payments.`).option("--crm-opportunity-id <value>", `ID of the related opportunity/deal in the connected CRM.`).option("--tax-only <value>", `Only tax will be charged on this subscription.`).option("--generate-draft-invoices <value>", `Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent`).option("--generate-document <value>", `Generate non-legal documents instead of invoices.`).option("--document-name <value>", `If \`generate_document\` is turned on, allows you to give a name to your document.`).option("--add-tax-to-document <value>", `If \`generate_document\` is turned on, will add taxes to document.`).option("--do-not-charge-subscription <value>", `Subscription will be invoiced but not charged (invoices/documents will be settled directly).`).option("--invoice-custom-note <value>", `Default custom note added to invoices generated by the subscription.`).option("--invoice-schedule <value>", `
|
|
42405
42762
|
Defines when invoices are generated relative to the billing period.
|
|
42406
42763
|
|
|
42407
42764
|
- \`period_start\`: Invoices are generated at the start of the billing period.
|
|
@@ -42470,10 +42827,10 @@ Examples:
|
|
|
42470
42827
|
queryParamKeys: []
|
|
42471
42828
|
});
|
|
42472
42829
|
});
|
|
42473
|
-
resource.command("get-subscription-
|
|
42830
|
+
resource.command("get-subscription-arr-history").description(`List every ARR evolution for a subscription, including previous and current fixed, variable, and total annual values in the subscription currency. Results are latest-first and 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("--occurred-at.gte <value>", `Return evolutions that occurred at or after this UTC date and time.`).option("--occurred-at.lte <value>", `Return evolutions that occurred at or before this UTC date and time.`).addHelpText("after", `
|
|
42474
42831
|
Examples:
|
|
42475
|
-
hyperline subscriptions get-subscription-
|
|
42476
|
-
hyperline subscriptions get-subscription-
|
|
42832
|
+
hyperline subscriptions get-subscription-arr-history --id <id>
|
|
42833
|
+
hyperline subscriptions get-subscription-arr-history --id <id> --limit <limit> --cursor <cursor>`).action(async (opts) => {
|
|
42477
42834
|
const ctx = resource.parent?.opts()._ctx;
|
|
42478
42835
|
if (!ctx) {
|
|
42479
42836
|
process.stderr.write("Error: Not authenticated\n");
|
|
@@ -42482,18 +42839,50 @@ Examples:
|
|
|
42482
42839
|
const args = {};
|
|
42483
42840
|
if (opts.id !== void 0)
|
|
42484
42841
|
args.id = opts.id;
|
|
42485
|
-
if (opts.
|
|
42486
|
-
args.
|
|
42842
|
+
if (opts.cursor !== void 0)
|
|
42843
|
+
args.cursor = opts.cursor;
|
|
42844
|
+
if (opts["occurredAt.gte"] !== void 0)
|
|
42845
|
+
args.occurred_at__gte = opts["occurredAt.gte"];
|
|
42846
|
+
if (opts["occurredAt.lte"] !== void 0)
|
|
42847
|
+
args.occurred_at__lte = opts["occurredAt.lte"];
|
|
42848
|
+
if (opts.limit !== void 0)
|
|
42849
|
+
args.limit = Number(opts.limit);
|
|
42487
42850
|
await ctx.execute({
|
|
42488
42851
|
method: "GET",
|
|
42489
|
-
path: "/v1/subscriptions/{id}/
|
|
42852
|
+
path: "/v1/subscriptions/{id}/arr-history",
|
|
42490
42853
|
args,
|
|
42491
|
-
queryParamKeys: [
|
|
42854
|
+
queryParamKeys: [
|
|
42855
|
+
"limit",
|
|
42856
|
+
"cursor",
|
|
42857
|
+
"occurred_at__gte",
|
|
42858
|
+
"occurred_at__lte"
|
|
42859
|
+
]
|
|
42492
42860
|
});
|
|
42493
42861
|
});
|
|
42494
|
-
|
|
42495
|
-
|
|
42496
|
-
|
|
42862
|
+
resource.command("get-subscription-valuation").description(`Compute valuation metrics for a subscription: contract value (total/invoiced/remaining), recurring contract value, and ARR (fixed + variable). Optionally pass granularity (year/quarter/month) for period breakdown.`).requiredOption("--id <value>", `id parameter`).option("--granularity <value>", `Period granularity for the breakdown. When provided, contract value and recurring contract value include a \`by_period\` array.`).addHelpText("after", `
|
|
42863
|
+
Examples:
|
|
42864
|
+
hyperline subscriptions get-subscription-valuation --id <id>
|
|
42865
|
+
hyperline subscriptions get-subscription-valuation --id <id> --granularity <granularity>`).action(async (opts) => {
|
|
42866
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
42867
|
+
if (!ctx) {
|
|
42868
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
42869
|
+
process.exit(1);
|
|
42870
|
+
}
|
|
42871
|
+
const args = {};
|
|
42872
|
+
if (opts.id !== void 0)
|
|
42873
|
+
args.id = opts.id;
|
|
42874
|
+
if (opts.granularity !== void 0)
|
|
42875
|
+
args.granularity = opts.granularity;
|
|
42876
|
+
await ctx.execute({
|
|
42877
|
+
method: "GET",
|
|
42878
|
+
path: "/v1/subscriptions/{id}/valuation",
|
|
42879
|
+
args,
|
|
42880
|
+
queryParamKeys: ["granularity"]
|
|
42881
|
+
});
|
|
42882
|
+
});
|
|
42883
|
+
}
|
|
42884
|
+
|
|
42885
|
+
// build/commands/generated/subscriptions-phases.js
|
|
42497
42886
|
function registerSubscriptions_PhasesCommands(parent) {
|
|
42498
42887
|
const resource = parent.command("subscriptions-phases").description("Manage subscriptions > phases");
|
|
42499
42888
|
resource.command("list-subscription-phases").description(`List all phases of a subscription. Phases define time-bound product configurations within a subscription.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
@@ -42761,7 +43150,7 @@ Examples:
|
|
|
42761
43150
|
]
|
|
42762
43151
|
});
|
|
42763
43152
|
});
|
|
42764
|
-
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>", `
|
|
43153
|
+
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", `
|
|
42765
43154
|
Examples:
|
|
42766
43155
|
hyperline subscriptions-transitions create-subscription-transition --source-subscription-id <source_subscription_id> --application-schedule <application_schedule> --target-subscription <target_subscription>
|
|
42767
43156
|
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>
|
|
@@ -42975,6 +43364,30 @@ Examples:
|
|
|
42975
43364
|
});
|
|
42976
43365
|
}
|
|
42977
43366
|
|
|
43367
|
+
// build/commands/generated/transactions.js
|
|
43368
|
+
function registerTransactionsCommands(parent) {
|
|
43369
|
+
const resource = parent.command("transactions").description("Manage transactions");
|
|
43370
|
+
resource.command("refund").description(`Refund a settled banking transaction for its full amount. The related invoice will switch back to to pay status. Use the create credit note endpoint if you want to cancel (and optionally refund) the initial invoice.`).requiredOption("--id <value>", `id parameter`).addHelpText("after", `
|
|
43371
|
+
Examples:
|
|
43372
|
+
hyperline transactions refund --id <id>
|
|
43373
|
+
hyperline transactions refund --id <id> --output json`).action(async (opts) => {
|
|
43374
|
+
const ctx = resource.parent?.opts()._ctx;
|
|
43375
|
+
if (!ctx) {
|
|
43376
|
+
process.stderr.write("Error: Not authenticated\n");
|
|
43377
|
+
process.exit(1);
|
|
43378
|
+
}
|
|
43379
|
+
const args = {};
|
|
43380
|
+
if (opts.id !== void 0)
|
|
43381
|
+
args.id = opts.id;
|
|
43382
|
+
await ctx.execute({
|
|
43383
|
+
method: "POST",
|
|
43384
|
+
path: "/v1/transactions/{id}/refund",
|
|
43385
|
+
args,
|
|
43386
|
+
queryParamKeys: []
|
|
43387
|
+
});
|
|
43388
|
+
});
|
|
43389
|
+
}
|
|
43390
|
+
|
|
42978
43391
|
// build/commands/generated/wallets.js
|
|
42979
43392
|
function registerWalletsCommands(parent) {
|
|
42980
43393
|
const resource = parent.command("wallets").description("Manage wallets");
|
|
@@ -43135,10 +43548,10 @@ Examples:
|
|
|
43135
43548
|
queryParamKeys: []
|
|
43136
43549
|
});
|
|
43137
43550
|
});
|
|
43138
|
-
resource.command("load").description(`Add credits
|
|
43551
|
+
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", `
|
|
43139
43552
|
Examples:
|
|
43140
43553
|
hyperline wallets load --id <id>
|
|
43141
|
-
hyperline wallets load --id <id> --
|
|
43554
|
+
hyperline wallets load --id <id> --type <type> --amount <amount>
|
|
43142
43555
|
hyperline wallets load --id <id> --output json`).action(async (opts) => {
|
|
43143
43556
|
const ctx = resource.parent?.opts()._ctx;
|
|
43144
43557
|
if (!ctx) {
|
|
@@ -43148,12 +43561,18 @@ Examples:
|
|
|
43148
43561
|
const args = {};
|
|
43149
43562
|
if (opts.id !== void 0)
|
|
43150
43563
|
args.id = opts.id;
|
|
43564
|
+
if (opts.type !== void 0)
|
|
43565
|
+
args.type = opts.type;
|
|
43566
|
+
if (opts.comment !== void 0)
|
|
43567
|
+
args.comment = opts.comment;
|
|
43151
43568
|
if (opts.documentStatus !== void 0)
|
|
43152
43569
|
args.document_status = opts.documentStatus;
|
|
43570
|
+
if (opts.bankAccountId !== void 0)
|
|
43571
|
+
args.bank_account_id = opts.bankAccountId;
|
|
43572
|
+
if (opts.reference !== void 0)
|
|
43573
|
+
args.reference = opts.reference;
|
|
43153
43574
|
if (opts.amount !== void 0)
|
|
43154
43575
|
args.amount = Number(opts.amount);
|
|
43155
|
-
if (opts.amountFree !== void 0)
|
|
43156
|
-
args.amount_free = Number(opts.amountFree);
|
|
43157
43576
|
await ctx.execute({
|
|
43158
43577
|
method: "POST",
|
|
43159
43578
|
path: "/v1/wallets/{id}/load",
|
|
@@ -43382,11 +43801,13 @@ function registerAllCommands(program2) {
|
|
|
43382
43801
|
registerProductsCommands(program2);
|
|
43383
43802
|
registerPrice_ConfigurationsCommands(program2);
|
|
43384
43803
|
registerQuotesCommands(program2);
|
|
43804
|
+
registerQuotes_TemplatesCommands(program2);
|
|
43385
43805
|
registerSubscriptions_TemplatesCommands(program2);
|
|
43386
43806
|
registerSubscriptionsCommands(program2);
|
|
43387
43807
|
registerSubscriptions_TransitionsCommands(program2);
|
|
43388
43808
|
registerSubscriptions_PhasesCommands(program2);
|
|
43389
43809
|
registerTaxesCommands(program2);
|
|
43810
|
+
registerTransactionsCommands(program2);
|
|
43390
43811
|
registerWalletsCommands(program2);
|
|
43391
43812
|
registerWebhooksCommands(program2);
|
|
43392
43813
|
}
|
|
@@ -57177,6 +57598,7 @@ var BooleanSchema = external_exports.boolean().or(external_exports.enum(["true",
|
|
|
57177
57598
|
});
|
|
57178
57599
|
var StringSchemaForMultipartForm = external_exports.string().transform((value) => value === "" ? null : value);
|
|
57179
57600
|
var StringArraySchemaForMultipartForm = external_exports.string().array().or(external_exports.string().length(0)).transform((value) => typeof value === "string" ? [] : value);
|
|
57601
|
+
var CommaSeparatedArraySchema = external_exports.string().optional().transform((raw) => raw ? raw.split(",").filter(Boolean) : void 0);
|
|
57180
57602
|
var urlRegex = /^(?:(?:https?):\/\/)?(?:www\.)?(?:[\w-]+\.)+[a-z]{2,7}(?:\/\S*)?$/i;
|
|
57181
57603
|
var ZodFlexibleUrl = external_exports.string({ message: "Invalid URL" }).regex(urlRegex).transform((url2) => {
|
|
57182
57604
|
if (!url2)
|
|
@@ -57217,165 +57639,545 @@ var AmountSchema = external_exports.number().openapi({
|
|
|
57217
57639
|
description: `Monetary amount. ${amountDescription}`
|
|
57218
57640
|
});
|
|
57219
57641
|
|
|
57220
|
-
//
|
|
57221
|
-
|
|
57222
|
-
var
|
|
57223
|
-
|
|
57224
|
-
|
|
57225
|
-
|
|
57226
|
-
|
|
57227
|
-
|
|
57228
|
-
|
|
57229
|
-
|
|
57230
|
-
|
|
57231
|
-
|
|
57232
|
-
|
|
57233
|
-
|
|
57234
|
-
|
|
57235
|
-
|
|
57236
|
-
|
|
57237
|
-
|
|
57238
|
-
|
|
57239
|
-
|
|
57240
|
-
|
|
57241
|
-
|
|
57242
|
-
|
|
57243
|
-
|
|
57244
|
-
|
|
57245
|
-
|
|
57246
|
-
|
|
57247
|
-
|
|
57248
|
-
|
|
57249
|
-
|
|
57250
|
-
// The modulo mode used when calculating the modulus: a mod n.
|
|
57251
|
-
// The quotient (q = a / n) is calculated according to the corresponding rounding mode.
|
|
57252
|
-
// The remainder (r) is calculated as: r = a - n * q.
|
|
57253
|
-
//
|
|
57254
|
-
// UP 0 The remainder is positive if the dividend is negative, else is negative.
|
|
57255
|
-
// DOWN 1 The remainder has the same sign as the dividend (JavaScript %).
|
|
57256
|
-
// FLOOR 3 The remainder has the same sign as the divisor (Python %).
|
|
57257
|
-
// HALF_EVEN 6 The IEEE 754 remainder function.
|
|
57258
|
-
// EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.
|
|
57259
|
-
//
|
|
57260
|
-
// Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian
|
|
57261
|
-
// division (9) are commonly used for the modulus operation. The other rounding modes can also
|
|
57262
|
-
// be used, but they may not give useful results.
|
|
57263
|
-
modulo: 1,
|
|
57264
|
-
// 0 to 9
|
|
57265
|
-
// The exponent value at and beneath which `toString` returns exponential notation.
|
|
57266
|
-
// JavaScript numbers: -7
|
|
57267
|
-
toExpNeg: -7,
|
|
57268
|
-
// 0 to -EXP_LIMIT
|
|
57269
|
-
// The exponent value at and above which `toString` returns exponential notation.
|
|
57270
|
-
// JavaScript numbers: 21
|
|
57271
|
-
toExpPos: 21,
|
|
57272
|
-
// 0 to EXP_LIMIT
|
|
57273
|
-
// The minimum exponent value, beneath which underflow to zero occurs.
|
|
57274
|
-
// JavaScript numbers: -324 (5e-324)
|
|
57275
|
-
minE: -EXP_LIMIT,
|
|
57276
|
-
// -1 to -EXP_LIMIT
|
|
57277
|
-
// The maximum exponent value, above which overflow to Infinity occurs.
|
|
57278
|
-
// JavaScript numbers: 308 (1.7976931348623157e+308)
|
|
57279
|
-
maxE: EXP_LIMIT,
|
|
57280
|
-
// 1 to EXP_LIMIT
|
|
57281
|
-
// Whether to use cryptographically-secure random number generation, if available.
|
|
57282
|
-
crypto: false
|
|
57283
|
-
// true/false
|
|
57284
|
-
};
|
|
57285
|
-
var inexact;
|
|
57286
|
-
var quadrant;
|
|
57287
|
-
var external = true;
|
|
57288
|
-
var decimalError = "[DecimalError] ";
|
|
57289
|
-
var invalidArgument = decimalError + "Invalid argument: ";
|
|
57290
|
-
var precisionLimitExceeded = decimalError + "Precision limit exceeded";
|
|
57291
|
-
var cryptoUnavailable = decimalError + "crypto unavailable";
|
|
57292
|
-
var tag = "[object Decimal]";
|
|
57293
|
-
var mathfloor = Math.floor;
|
|
57294
|
-
var mathpow = Math.pow;
|
|
57295
|
-
var isBinary = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i;
|
|
57296
|
-
var isHex = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i;
|
|
57297
|
-
var isOctal = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i;
|
|
57298
|
-
var isDecimal = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;
|
|
57299
|
-
var BASE = 1e7;
|
|
57300
|
-
var LOG_BASE = 7;
|
|
57301
|
-
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
57302
|
-
var LN10_PRECISION = LN10.length - 1;
|
|
57303
|
-
var PI_PRECISION = PI.length - 1;
|
|
57304
|
-
var P = { toStringTag: tag };
|
|
57305
|
-
P.absoluteValue = P.abs = function() {
|
|
57306
|
-
var x = new this.constructor(this);
|
|
57307
|
-
if (x.s < 0) x.s = 1;
|
|
57308
|
-
return finalise(x);
|
|
57309
|
-
};
|
|
57310
|
-
P.ceil = function() {
|
|
57311
|
-
return finalise(new this.constructor(this), this.e + 1, 2);
|
|
57312
|
-
};
|
|
57313
|
-
P.clampedTo = P.clamp = function(min2, max2) {
|
|
57314
|
-
var k, x = this, Ctor = x.constructor;
|
|
57315
|
-
min2 = new Ctor(min2);
|
|
57316
|
-
max2 = new Ctor(max2);
|
|
57317
|
-
if (!min2.s || !max2.s) return new Ctor(NaN);
|
|
57318
|
-
if (min2.gt(max2)) throw Error(invalidArgument + max2);
|
|
57319
|
-
k = x.cmp(min2);
|
|
57320
|
-
return k < 0 ? min2 : x.cmp(max2) > 0 ? max2 : new Ctor(x);
|
|
57321
|
-
};
|
|
57322
|
-
P.comparedTo = P.cmp = function(y) {
|
|
57323
|
-
var i, j, xdL, ydL, x = this, xd = x.d, yd = (y = new x.constructor(y)).d, xs = x.s, ys = y.s;
|
|
57324
|
-
if (!xd || !yd) {
|
|
57325
|
-
return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;
|
|
57326
|
-
}
|
|
57327
|
-
if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;
|
|
57328
|
-
if (xs !== ys) return xs;
|
|
57329
|
-
if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;
|
|
57330
|
-
xdL = xd.length;
|
|
57331
|
-
ydL = yd.length;
|
|
57332
|
-
for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {
|
|
57333
|
-
if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1;
|
|
57334
|
-
}
|
|
57335
|
-
return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;
|
|
57336
|
-
};
|
|
57337
|
-
P.cosine = P.cos = function() {
|
|
57338
|
-
var pr, rm, x = this, Ctor = x.constructor;
|
|
57339
|
-
if (!x.d) return new Ctor(NaN);
|
|
57340
|
-
if (!x.d[0]) return new Ctor(1);
|
|
57341
|
-
pr = Ctor.precision;
|
|
57342
|
-
rm = Ctor.rounding;
|
|
57343
|
-
Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;
|
|
57344
|
-
Ctor.rounding = 1;
|
|
57345
|
-
x = cosine(Ctor, toLessThanHalfPi(Ctor, x));
|
|
57346
|
-
Ctor.precision = pr;
|
|
57347
|
-
Ctor.rounding = rm;
|
|
57348
|
-
return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);
|
|
57642
|
+
// ../hyperline-monitoring/build/context/context.js
|
|
57643
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
57644
|
+
var executionContextStorage = new AsyncLocalStorage();
|
|
57645
|
+
function getExecutionContext() {
|
|
57646
|
+
return executionContextStorage.getStore();
|
|
57647
|
+
}
|
|
57648
|
+
|
|
57649
|
+
// ../hyperline-monitoring/build/context/correlationId.js
|
|
57650
|
+
import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
|
|
57651
|
+
var correlationIdStorage = new AsyncLocalStorage2();
|
|
57652
|
+
function getCorrelationId() {
|
|
57653
|
+
return correlationIdStorage.getStore();
|
|
57654
|
+
}
|
|
57655
|
+
|
|
57656
|
+
// ../hyperline-config/build/index.js
|
|
57657
|
+
import "dotenv/config";
|
|
57658
|
+
import * as stackTraceParser from "stacktrace-parser";
|
|
57659
|
+
function coerceBoolean() {
|
|
57660
|
+
return external_exports.any().refine((value) => ["true", "false"].includes(value), {
|
|
57661
|
+
message: "Expected boolean"
|
|
57662
|
+
}).transform((value) => (
|
|
57663
|
+
// biome-ignore lint/complexity/noUselessTernary: ignore
|
|
57664
|
+
value === "true" ? true : false
|
|
57665
|
+
));
|
|
57666
|
+
}
|
|
57667
|
+
var types = {
|
|
57668
|
+
string: external_exports.coerce.string,
|
|
57669
|
+
number: external_exports.coerce.number,
|
|
57670
|
+
boolean: coerceBoolean,
|
|
57671
|
+
enum: external_exports.enum
|
|
57349
57672
|
};
|
|
57350
|
-
|
|
57351
|
-
|
|
57352
|
-
|
|
57353
|
-
|
|
57354
|
-
s = x.s * mathpow(x.s * x, 1 / 3);
|
|
57355
|
-
if (!s || Math.abs(s) == 1 / 0) {
|
|
57356
|
-
n = digitsToString(x.d);
|
|
57357
|
-
e = x.e;
|
|
57358
|
-
if (s = (e - n.length + 1) % 3) n += s == 1 || s == -2 ? "0" : "00";
|
|
57359
|
-
s = mathpow(n, 1 / 3);
|
|
57360
|
-
e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2));
|
|
57361
|
-
if (s == 1 / 0) {
|
|
57362
|
-
n = "5e" + e;
|
|
57363
|
-
} else {
|
|
57364
|
-
n = s.toExponential();
|
|
57365
|
-
n = n.slice(0, n.indexOf("e") + 1) + e;
|
|
57673
|
+
function getConfig(schema, testValues) {
|
|
57674
|
+
const validator = external_exports.object(Object.fromEntries(Object.entries(schema).map(([key, zodType]) => {
|
|
57675
|
+
if (zodType instanceof ZodOptional) {
|
|
57676
|
+
return [key, external_exports.string().optional()];
|
|
57366
57677
|
}
|
|
57367
|
-
|
|
57368
|
-
|
|
57369
|
-
|
|
57370
|
-
|
|
57678
|
+
return [key, external_exports.string()];
|
|
57679
|
+
})));
|
|
57680
|
+
const processEnv = process.env;
|
|
57681
|
+
const isTestMode = processEnv.NODE_ENV === "test";
|
|
57682
|
+
const envVariables = {
|
|
57683
|
+
...processEnv,
|
|
57684
|
+
...isTestMode && testValues ? Object.fromEntries(Object.entries(testValues).map(([key, value]) => [key, String(value)])) : {}
|
|
57685
|
+
};
|
|
57686
|
+
const packageName = envVariables.npm_package_name;
|
|
57687
|
+
const parseProcessEnvResult = validator.safeParse(envVariables);
|
|
57688
|
+
if (!parseProcessEnvResult.success) {
|
|
57689
|
+
const parsedStackTrace = stackTraceParser.parse(parseProcessEnvResult.error.stack ?? "");
|
|
57690
|
+
const getConfigCallLine = parsedStackTrace.find((line) => {
|
|
57691
|
+
return !line.file?.includes("hyperline-config") && (line.file?.includes("apps/") || line.file?.includes("core/") || line.file?.includes("packages/"));
|
|
57692
|
+
});
|
|
57693
|
+
const callerFile = getConfigCallLine?.file;
|
|
57694
|
+
console.error(`Invalid environment variables for service \`${packageName}\`: \`${callerFile}\``);
|
|
57695
|
+
console.error(parseProcessEnvResult.error.format());
|
|
57696
|
+
process.exit(1);
|
|
57371
57697
|
}
|
|
57372
|
-
|
|
57373
|
-
|
|
57374
|
-
|
|
57375
|
-
|
|
57376
|
-
|
|
57377
|
-
|
|
57378
|
-
|
|
57698
|
+
const coercion = external_exports.object(schema);
|
|
57699
|
+
return coercion.parse(parseProcessEnvResult.data);
|
|
57700
|
+
}
|
|
57701
|
+
|
|
57702
|
+
// ../hyperline-monitoring/build/config.js
|
|
57703
|
+
var config2 = getConfig({
|
|
57704
|
+
// config
|
|
57705
|
+
APP_VERSION: types.string().optional(),
|
|
57706
|
+
DD_SERVICE: types.string().optional(),
|
|
57707
|
+
LOGGER_CONSOLE_ENABLED: types.boolean().optional(),
|
|
57708
|
+
LOGGER_STDOUT_ENABLED: types.boolean().optional(),
|
|
57709
|
+
NODE_ENV: types.enum(["local", "test", "staging", "sandbox", "production"]),
|
|
57710
|
+
EVENT_LOOP_MONITORING_ENABLED: types.boolean().optional(),
|
|
57711
|
+
MEMORY_MONITORING_ENABLED: types.boolean().optional(),
|
|
57712
|
+
MEMORY_MONITORING_INTERVAL_MS: types.number().optional()
|
|
57713
|
+
// secrets
|
|
57714
|
+
}, {
|
|
57715
|
+
APP_VERSION: void 0,
|
|
57716
|
+
DD_SERVICE: void 0,
|
|
57717
|
+
LOGGER_CONSOLE_ENABLED: false,
|
|
57718
|
+
LOGGER_STDOUT_ENABLED: false,
|
|
57719
|
+
EVENT_LOOP_MONITORING_ENABLED: false,
|
|
57720
|
+
MEMORY_MONITORING_ENABLED: false,
|
|
57721
|
+
MEMORY_MONITORING_INTERVAL_MS: 3e4,
|
|
57722
|
+
NODE_ENV: "test"
|
|
57723
|
+
});
|
|
57724
|
+
|
|
57725
|
+
// ../hyperline-monitoring/build/logger/logger.js
|
|
57726
|
+
import * as util from "node:util";
|
|
57727
|
+
import prune2 from "json-prune";
|
|
57728
|
+
import * as winston from "winston";
|
|
57729
|
+
|
|
57730
|
+
// ../hyperline-monitoring/build/logger/formatting/format.js
|
|
57731
|
+
import prune from "json-prune";
|
|
57732
|
+
var REDACTED_HEADER_KEY_PATTERN = /authorization|authenticate|cookie|secret|token|credential|signature|jwt|api[_-]?key|access[_-]?token|refresh[_-]?token|private[_-]?key/i;
|
|
57733
|
+
function jsonFormat(info) {
|
|
57734
|
+
const prunedInfo = JSON.parse(prune(info));
|
|
57735
|
+
for (const [key, value] of Object.entries(prunedInfo)) {
|
|
57736
|
+
info[key] = value;
|
|
57737
|
+
}
|
|
57738
|
+
return info;
|
|
57739
|
+
}
|
|
57740
|
+
function addMetadata({ getCorrelationId: getCorrelationId2, getExecutionContext: getExecutionContext2 }) {
|
|
57741
|
+
return (info) => {
|
|
57742
|
+
const correlationId = getCorrelationId2();
|
|
57743
|
+
const executionContext = getExecutionContext2();
|
|
57744
|
+
let traceContext;
|
|
57745
|
+
return {
|
|
57746
|
+
...info,
|
|
57747
|
+
...executionContext ?? {},
|
|
57748
|
+
...traceContext ?? {},
|
|
57749
|
+
correlationId
|
|
57750
|
+
};
|
|
57751
|
+
};
|
|
57752
|
+
}
|
|
57753
|
+
function transformErrorEnrich(info, { depth }) {
|
|
57754
|
+
if (depth <= 0) {
|
|
57755
|
+
return info;
|
|
57756
|
+
}
|
|
57757
|
+
Object.entries(info).forEach(([key, value]) => {
|
|
57758
|
+
let newValue = value;
|
|
57759
|
+
if (newValue instanceof Error) {
|
|
57760
|
+
newValue = {
|
|
57761
|
+
...newValue,
|
|
57762
|
+
// Copy error properties manually because they're not enumerable
|
|
57763
|
+
level: newValue.level,
|
|
57764
|
+
stack: newValue.stack,
|
|
57765
|
+
message: newValue.message,
|
|
57766
|
+
name: newValue.name
|
|
57767
|
+
};
|
|
57768
|
+
}
|
|
57769
|
+
if (newValue instanceof Object) {
|
|
57770
|
+
newValue = transformErrorEnrich(newValue, { depth: depth - 1 });
|
|
57771
|
+
}
|
|
57772
|
+
const isPropertyWritable = Object.getOwnPropertyDescriptor(info, key)?.writable ?? true;
|
|
57773
|
+
if (isPropertyWritable && newValue !== value) {
|
|
57774
|
+
info[key] = newValue;
|
|
57775
|
+
}
|
|
57776
|
+
});
|
|
57777
|
+
return info;
|
|
57778
|
+
}
|
|
57779
|
+
function transformPrune(info) {
|
|
57780
|
+
Object.entries(info).forEach(([key, value]) => {
|
|
57781
|
+
if (typeof value === "function") {
|
|
57782
|
+
return;
|
|
57783
|
+
}
|
|
57784
|
+
const newValue = value instanceof Object ? JSON.parse(prune(value, { depthDecr: 6 })) : value;
|
|
57785
|
+
const isPropertyWritable = Object.getOwnPropertyDescriptor(info, key)?.writable ?? true;
|
|
57786
|
+
if (isPropertyWritable && newValue !== value) {
|
|
57787
|
+
info[key] = newValue;
|
|
57788
|
+
}
|
|
57789
|
+
});
|
|
57790
|
+
return info;
|
|
57791
|
+
}
|
|
57792
|
+
function transformAxiosError(info) {
|
|
57793
|
+
Object.entries(info).forEach(([key, value]) => {
|
|
57794
|
+
if (typeof value === "object" && value?.name === "AxiosError") {
|
|
57795
|
+
info[key] = formatAxiosError(value);
|
|
57796
|
+
}
|
|
57797
|
+
});
|
|
57798
|
+
return info;
|
|
57799
|
+
}
|
|
57800
|
+
function formatAxiosError(error48) {
|
|
57801
|
+
if (!isRecord(error48) || error48.name !== "AxiosError") {
|
|
57802
|
+
return error48;
|
|
57803
|
+
}
|
|
57804
|
+
const request = isRecord(error48.config) ? error48.config : void 0;
|
|
57805
|
+
const response = isRecord(error48.response) ? error48.response : void 0;
|
|
57806
|
+
return {
|
|
57807
|
+
name: error48.name,
|
|
57808
|
+
message: error48.message,
|
|
57809
|
+
code: error48.code,
|
|
57810
|
+
request: {
|
|
57811
|
+
method: request?.method,
|
|
57812
|
+
url: request?.url,
|
|
57813
|
+
baseURL: request?.baseURL,
|
|
57814
|
+
params: request?.params,
|
|
57815
|
+
headers: redactHeaders({ headers: request?.headers }),
|
|
57816
|
+
"axios-retry": request?.["axios-retry"]
|
|
57817
|
+
},
|
|
57818
|
+
response: {
|
|
57819
|
+
status: response?.status,
|
|
57820
|
+
statusText: response?.statusText,
|
|
57821
|
+
headers: redactHeaders({ headers: response?.headers }),
|
|
57822
|
+
data: response?.data
|
|
57823
|
+
}
|
|
57824
|
+
};
|
|
57825
|
+
}
|
|
57826
|
+
function redactHeaders({ headers }) {
|
|
57827
|
+
if (!isRecord(headers)) {
|
|
57828
|
+
return headers;
|
|
57829
|
+
}
|
|
57830
|
+
return Object.fromEntries(Object.entries(headers).map(([headerKey, headerValue]) => [
|
|
57831
|
+
headerKey,
|
|
57832
|
+
REDACTED_HEADER_KEY_PATTERN.test(headerKey) ? "<redacted>" : headerValue
|
|
57833
|
+
]));
|
|
57834
|
+
}
|
|
57835
|
+
function isRecord(value) {
|
|
57836
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
57837
|
+
}
|
|
57838
|
+
|
|
57839
|
+
// ../hyperline-monitoring/build/logger/formatting/routePath.js
|
|
57840
|
+
function transformUrlIntoRoutePath({ params, originalUrl }) {
|
|
57841
|
+
let routePath = originalUrl;
|
|
57842
|
+
for (const [param, value] of Object.entries(params ?? {})) {
|
|
57843
|
+
const strValue = Array.isArray(value) ? value.join("/") : value;
|
|
57844
|
+
routePath = routePath.replace(strValue, `:${param}`);
|
|
57845
|
+
}
|
|
57846
|
+
return routePath.split("?")[0] ?? routePath;
|
|
57847
|
+
}
|
|
57848
|
+
|
|
57849
|
+
// ../hyperline-monitoring/build/logger/formatting/http.js
|
|
57850
|
+
function logHttpRequest(logger2, request, extra) {
|
|
57851
|
+
const { message, metadata } = transform2(request);
|
|
57852
|
+
logger2.info(`HTTP REQ - ${message} ${extra?.postfix || ""}`, {
|
|
57853
|
+
...metadata,
|
|
57854
|
+
...extra?.metadata ?? {}
|
|
57855
|
+
});
|
|
57856
|
+
}
|
|
57857
|
+
function logHttpResponse(logger2, response, responseTime, extra) {
|
|
57858
|
+
const { request, statusCode, responseBody, responseHeaders } = response;
|
|
57859
|
+
const { message, metadata } = transform2(request);
|
|
57860
|
+
const readableResponseTime = responseTime ? getReadableTime(responseTime) : void 0;
|
|
57861
|
+
const responseMetadata = {
|
|
57862
|
+
statusCode,
|
|
57863
|
+
responseTime,
|
|
57864
|
+
responseBody,
|
|
57865
|
+
// Redacted so secrets (authorization/cookie/token/…) never reach the logs
|
|
57866
|
+
// while diagnostic headers (e.g. rate-limit headers on a 429) stay visible.
|
|
57867
|
+
responseHeaders: responseHeaders === void 0 ? void 0 : redactHeaders({ headers: responseHeaders })
|
|
57868
|
+
};
|
|
57869
|
+
logger2.info(`HTTP RES - ${message} ${statusCode} ${readableResponseTime || ""} ${extra?.postfix || ""}`, {
|
|
57870
|
+
...metadata,
|
|
57871
|
+
...responseMetadata,
|
|
57872
|
+
...extra?.metadata ?? {}
|
|
57873
|
+
});
|
|
57874
|
+
}
|
|
57875
|
+
function transform2(request) {
|
|
57876
|
+
const method = request.method.toUpperCase();
|
|
57877
|
+
const message = `${method} ${request.originalUrl}`;
|
|
57878
|
+
const metadata = {};
|
|
57879
|
+
metadata.method = method;
|
|
57880
|
+
metadata.url = request.url;
|
|
57881
|
+
metadata.path = request.path;
|
|
57882
|
+
metadata.hostname = request.hostname;
|
|
57883
|
+
metadata.originalUrl = request.originalUrl;
|
|
57884
|
+
metadata.requestBody = request.body;
|
|
57885
|
+
metadata.routePath = transformUrlIntoRoutePath(request);
|
|
57886
|
+
metadata.apiKeyEnd = request.headers["authorization"]?.slice(-6);
|
|
57887
|
+
return { message, metadata };
|
|
57888
|
+
}
|
|
57889
|
+
function getReadableTime(time3) {
|
|
57890
|
+
return time3 < 1e4 ? `${time3}ms` : `${Math.round(time3 / 1e3)}s`;
|
|
57891
|
+
}
|
|
57892
|
+
|
|
57893
|
+
// ../hyperline-monitoring/build/logger/utils/network.js
|
|
57894
|
+
import * as os2 from "node:os";
|
|
57895
|
+
function getIpAddress() {
|
|
57896
|
+
const interfaces = Object.values(os2.networkInterfaces()).flat().filter((networkInterface) => {
|
|
57897
|
+
return networkInterface !== void 0;
|
|
57898
|
+
});
|
|
57899
|
+
const mainInterface = interfaces.find(({ family, internal }) => family === "IPv4" && internal === false);
|
|
57900
|
+
return mainInterface ? mainInterface.address : null;
|
|
57901
|
+
}
|
|
57902
|
+
|
|
57903
|
+
// ../hyperline-monitoring/build/logger/logger.js
|
|
57904
|
+
function buildLoggerFactory({ config: config4, context }) {
|
|
57905
|
+
const defaultMeta = {
|
|
57906
|
+
env: context.env,
|
|
57907
|
+
service: context.service,
|
|
57908
|
+
version: context.version,
|
|
57909
|
+
pid: process.pid,
|
|
57910
|
+
ppid: process.ppid,
|
|
57911
|
+
host: getIpAddress()
|
|
57912
|
+
};
|
|
57913
|
+
const transports2 = [];
|
|
57914
|
+
if (config4.enableConsoleTransport) {
|
|
57915
|
+
transports2.push(createTransportConsole());
|
|
57916
|
+
}
|
|
57917
|
+
if (config4.enableStdoutTransport) {
|
|
57918
|
+
transports2.push(createTransportStdout());
|
|
57919
|
+
}
|
|
57920
|
+
if (Object.values(config4).every((value) => !value)) {
|
|
57921
|
+
transports2.push(createTransportSilent());
|
|
57922
|
+
}
|
|
57923
|
+
for (const transport of transports2) {
|
|
57924
|
+
transport.on("error", (error48) => {
|
|
57925
|
+
console.error(`Unable to log to transport=${transport.name}: ${error48.message} ${JSON.stringify(error48)}`);
|
|
57926
|
+
});
|
|
57927
|
+
}
|
|
57928
|
+
const internalLogger = winston.createLogger({
|
|
57929
|
+
transports: transports2,
|
|
57930
|
+
defaultMeta,
|
|
57931
|
+
format: winston.format.combine(winston.format.splat(), winston.format(addMetadata({ getCorrelationId, getExecutionContext }))(), winston.format(transformErrorEnrich)({ depth: 5 }), winston.format(transformPrune)(), winston.format(transformAxiosError)(), winston.format.timestamp()),
|
|
57932
|
+
exitOnError: false
|
|
57933
|
+
});
|
|
57934
|
+
function createLogger3({ serviceName }) {
|
|
57935
|
+
const logger2 = internalLogger.child({ subService: serviceName });
|
|
57936
|
+
return {
|
|
57937
|
+
debug: bindLogger(logger2, "debug"),
|
|
57938
|
+
info: bindLogger(logger2, "info"),
|
|
57939
|
+
warn: bindLogger(logger2, "warn"),
|
|
57940
|
+
error: bindLogger(logger2, "error"),
|
|
57941
|
+
on: logger2.on.bind(logger2),
|
|
57942
|
+
end: logger2.end.bind(logger2)
|
|
57943
|
+
};
|
|
57944
|
+
}
|
|
57945
|
+
return {
|
|
57946
|
+
createLogger: createLogger3
|
|
57947
|
+
};
|
|
57948
|
+
}
|
|
57949
|
+
function bindLogger(logger2, severity) {
|
|
57950
|
+
return (message, data) => {
|
|
57951
|
+
logger2[severity].bind(logger2)(message, preserveReservedKeys(data));
|
|
57952
|
+
};
|
|
57953
|
+
}
|
|
57954
|
+
function preserveReservedKeys(data) {
|
|
57955
|
+
if (!data)
|
|
57956
|
+
return;
|
|
57957
|
+
return Object.fromEntries(Object.entries(data).map(([key, value]) => {
|
|
57958
|
+
let finalKey = key;
|
|
57959
|
+
if (key === "status") {
|
|
57960
|
+
finalKey = "_status";
|
|
57961
|
+
} else if (key === "service") {
|
|
57962
|
+
finalKey = "_service";
|
|
57963
|
+
}
|
|
57964
|
+
return [finalKey, value];
|
|
57965
|
+
}));
|
|
57966
|
+
}
|
|
57967
|
+
var verboseLevels = ["warn", "error", "debug"];
|
|
57968
|
+
function createTransportConsole() {
|
|
57969
|
+
return new winston.transports.Console({
|
|
57970
|
+
level: "debug",
|
|
57971
|
+
handleExceptions: true,
|
|
57972
|
+
format: winston.format.combine(winston.format(jsonFormat)(), winston.format((info) => {
|
|
57973
|
+
const { level, message, ...others } = info;
|
|
57974
|
+
const parts = [message];
|
|
57975
|
+
if (Object.keys(others).length > 0 && verboseLevels.includes(level)) {
|
|
57976
|
+
const rawOthers = JSON.parse(prune2(others));
|
|
57977
|
+
parts.push(util.inspect(rawOthers, false, 4, true));
|
|
57978
|
+
}
|
|
57979
|
+
info.message = parts.filter((part) => !!part).join("\n");
|
|
57980
|
+
return info;
|
|
57981
|
+
})(), winston.format.colorize(), winston.format.printf(({ timestamp, level, message, service = "?" }) => {
|
|
57982
|
+
const result = `[${timestamp}] ${level} ${service}: ${message}`;
|
|
57983
|
+
return result.replace(/\\n/g, "\n");
|
|
57984
|
+
}))
|
|
57985
|
+
});
|
|
57986
|
+
}
|
|
57987
|
+
function createTransportStdout() {
|
|
57988
|
+
return new winston.transports.Console({
|
|
57989
|
+
level: "debug",
|
|
57990
|
+
handleExceptions: true,
|
|
57991
|
+
format: winston.format.combine(winston.format(jsonFormat)(), winston.format.timestamp(), winston.format.json())
|
|
57992
|
+
});
|
|
57993
|
+
}
|
|
57994
|
+
function createTransportSilent() {
|
|
57995
|
+
return new winston.transports.Console({
|
|
57996
|
+
silent: true
|
|
57997
|
+
});
|
|
57998
|
+
}
|
|
57999
|
+
|
|
58000
|
+
// ../hyperline-monitoring/build/logger/instance.js
|
|
58001
|
+
var loggerFactory = buildLoggerFactory({
|
|
58002
|
+
config: {
|
|
58003
|
+
enableConsoleTransport: config2.LOGGER_CONSOLE_ENABLED ?? false,
|
|
58004
|
+
enableStdoutTransport: config2.LOGGER_STDOUT_ENABLED ?? false
|
|
58005
|
+
},
|
|
58006
|
+
context: {
|
|
58007
|
+
env: config2.NODE_ENV,
|
|
58008
|
+
service: config2.DD_SERVICE ?? "api",
|
|
58009
|
+
version: config2.APP_VERSION
|
|
58010
|
+
}
|
|
58011
|
+
});
|
|
58012
|
+
var createLogger2 = loggerFactory.createLogger;
|
|
58013
|
+
var logger = loggerFactory.createLogger({ serviceName: "default" });
|
|
58014
|
+
|
|
58015
|
+
// ../hyperline-monitoring/build/tracing/tracing.js
|
|
58016
|
+
import tracer from "dd-trace";
|
|
58017
|
+
|
|
58018
|
+
// ../hyperline-lib/build/utils/aws.js
|
|
58019
|
+
import { GetBucketLocationCommand, S3Client } from "@aws-sdk/client-s3";
|
|
58020
|
+
import { GetCallerIdentityCommand, STSClient } from "@aws-sdk/client-sts";
|
|
58021
|
+
|
|
58022
|
+
// ../../node_modules/decimal.js/decimal.mjs
|
|
58023
|
+
var EXP_LIMIT = 9e15;
|
|
58024
|
+
var MAX_DIGITS = 1e9;
|
|
58025
|
+
var NUMERALS = "0123456789abcdef";
|
|
58026
|
+
var LN10 = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058";
|
|
58027
|
+
var PI = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789";
|
|
58028
|
+
var DEFAULTS = {
|
|
58029
|
+
// These values must be integers within the stated ranges (inclusive).
|
|
58030
|
+
// Most of these values can be changed at run-time using the `Decimal.config` method.
|
|
58031
|
+
// The maximum number of significant digits of the result of a calculation or base conversion.
|
|
58032
|
+
// E.g. `Decimal.config({ precision: 20 });`
|
|
58033
|
+
precision: 20,
|
|
58034
|
+
// 1 to MAX_DIGITS
|
|
58035
|
+
// The rounding mode used when rounding to `precision`.
|
|
58036
|
+
//
|
|
58037
|
+
// ROUND_UP 0 Away from zero.
|
|
58038
|
+
// ROUND_DOWN 1 Towards zero.
|
|
58039
|
+
// ROUND_CEIL 2 Towards +Infinity.
|
|
58040
|
+
// ROUND_FLOOR 3 Towards -Infinity.
|
|
58041
|
+
// ROUND_HALF_UP 4 Towards nearest neighbour. If equidistant, up.
|
|
58042
|
+
// ROUND_HALF_DOWN 5 Towards nearest neighbour. If equidistant, down.
|
|
58043
|
+
// ROUND_HALF_EVEN 6 Towards nearest neighbour. If equidistant, towards even neighbour.
|
|
58044
|
+
// ROUND_HALF_CEIL 7 Towards nearest neighbour. If equidistant, towards +Infinity.
|
|
58045
|
+
// ROUND_HALF_FLOOR 8 Towards nearest neighbour. If equidistant, towards -Infinity.
|
|
58046
|
+
//
|
|
58047
|
+
// E.g.
|
|
58048
|
+
// `Decimal.rounding = 4;`
|
|
58049
|
+
// `Decimal.rounding = Decimal.ROUND_HALF_UP;`
|
|
58050
|
+
rounding: 4,
|
|
58051
|
+
// 0 to 8
|
|
58052
|
+
// The modulo mode used when calculating the modulus: a mod n.
|
|
58053
|
+
// The quotient (q = a / n) is calculated according to the corresponding rounding mode.
|
|
58054
|
+
// The remainder (r) is calculated as: r = a - n * q.
|
|
58055
|
+
//
|
|
58056
|
+
// UP 0 The remainder is positive if the dividend is negative, else is negative.
|
|
58057
|
+
// DOWN 1 The remainder has the same sign as the dividend (JavaScript %).
|
|
58058
|
+
// FLOOR 3 The remainder has the same sign as the divisor (Python %).
|
|
58059
|
+
// HALF_EVEN 6 The IEEE 754 remainder function.
|
|
58060
|
+
// EUCLID 9 Euclidian division. q = sign(n) * floor(a / abs(n)). Always positive.
|
|
58061
|
+
//
|
|
58062
|
+
// Truncated division (1), floored division (3), the IEEE 754 remainder (6), and Euclidian
|
|
58063
|
+
// division (9) are commonly used for the modulus operation. The other rounding modes can also
|
|
58064
|
+
// be used, but they may not give useful results.
|
|
58065
|
+
modulo: 1,
|
|
58066
|
+
// 0 to 9
|
|
58067
|
+
// The exponent value at and beneath which `toString` returns exponential notation.
|
|
58068
|
+
// JavaScript numbers: -7
|
|
58069
|
+
toExpNeg: -7,
|
|
58070
|
+
// 0 to -EXP_LIMIT
|
|
58071
|
+
// The exponent value at and above which `toString` returns exponential notation.
|
|
58072
|
+
// JavaScript numbers: 21
|
|
58073
|
+
toExpPos: 21,
|
|
58074
|
+
// 0 to EXP_LIMIT
|
|
58075
|
+
// The minimum exponent value, beneath which underflow to zero occurs.
|
|
58076
|
+
// JavaScript numbers: -324 (5e-324)
|
|
58077
|
+
minE: -EXP_LIMIT,
|
|
58078
|
+
// -1 to -EXP_LIMIT
|
|
58079
|
+
// The maximum exponent value, above which overflow to Infinity occurs.
|
|
58080
|
+
// JavaScript numbers: 308 (1.7976931348623157e+308)
|
|
58081
|
+
maxE: EXP_LIMIT,
|
|
58082
|
+
// 1 to EXP_LIMIT
|
|
58083
|
+
// Whether to use cryptographically-secure random number generation, if available.
|
|
58084
|
+
crypto: false
|
|
58085
|
+
// true/false
|
|
58086
|
+
};
|
|
58087
|
+
var inexact;
|
|
58088
|
+
var quadrant;
|
|
58089
|
+
var external = true;
|
|
58090
|
+
var decimalError = "[DecimalError] ";
|
|
58091
|
+
var invalidArgument = decimalError + "Invalid argument: ";
|
|
58092
|
+
var precisionLimitExceeded = decimalError + "Precision limit exceeded";
|
|
58093
|
+
var cryptoUnavailable = decimalError + "crypto unavailable";
|
|
58094
|
+
var tag = "[object Decimal]";
|
|
58095
|
+
var mathfloor = Math.floor;
|
|
58096
|
+
var mathpow = Math.pow;
|
|
58097
|
+
var isBinary = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i;
|
|
58098
|
+
var isHex = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i;
|
|
58099
|
+
var isOctal = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i;
|
|
58100
|
+
var isDecimal = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;
|
|
58101
|
+
var BASE = 1e7;
|
|
58102
|
+
var LOG_BASE = 7;
|
|
58103
|
+
var MAX_SAFE_INTEGER = 9007199254740991;
|
|
58104
|
+
var LN10_PRECISION = LN10.length - 1;
|
|
58105
|
+
var PI_PRECISION = PI.length - 1;
|
|
58106
|
+
var P = { toStringTag: tag };
|
|
58107
|
+
P.absoluteValue = P.abs = function() {
|
|
58108
|
+
var x = new this.constructor(this);
|
|
58109
|
+
if (x.s < 0) x.s = 1;
|
|
58110
|
+
return finalise(x);
|
|
58111
|
+
};
|
|
58112
|
+
P.ceil = function() {
|
|
58113
|
+
return finalise(new this.constructor(this), this.e + 1, 2);
|
|
58114
|
+
};
|
|
58115
|
+
P.clampedTo = P.clamp = function(min2, max2) {
|
|
58116
|
+
var k, x = this, Ctor = x.constructor;
|
|
58117
|
+
min2 = new Ctor(min2);
|
|
58118
|
+
max2 = new Ctor(max2);
|
|
58119
|
+
if (!min2.s || !max2.s) return new Ctor(NaN);
|
|
58120
|
+
if (min2.gt(max2)) throw Error(invalidArgument + max2);
|
|
58121
|
+
k = x.cmp(min2);
|
|
58122
|
+
return k < 0 ? min2 : x.cmp(max2) > 0 ? max2 : new Ctor(x);
|
|
58123
|
+
};
|
|
58124
|
+
P.comparedTo = P.cmp = function(y) {
|
|
58125
|
+
var i, j, xdL, ydL, x = this, xd = x.d, yd = (y = new x.constructor(y)).d, xs = x.s, ys = y.s;
|
|
58126
|
+
if (!xd || !yd) {
|
|
58127
|
+
return !xs || !ys ? NaN : xs !== ys ? xs : xd === yd ? 0 : !xd ^ xs < 0 ? 1 : -1;
|
|
58128
|
+
}
|
|
58129
|
+
if (!xd[0] || !yd[0]) return xd[0] ? xs : yd[0] ? -ys : 0;
|
|
58130
|
+
if (xs !== ys) return xs;
|
|
58131
|
+
if (x.e !== y.e) return x.e > y.e ^ xs < 0 ? 1 : -1;
|
|
58132
|
+
xdL = xd.length;
|
|
58133
|
+
ydL = yd.length;
|
|
58134
|
+
for (i = 0, j = xdL < ydL ? xdL : ydL; i < j; ++i) {
|
|
58135
|
+
if (xd[i] !== yd[i]) return xd[i] > yd[i] ^ xs < 0 ? 1 : -1;
|
|
58136
|
+
}
|
|
58137
|
+
return xdL === ydL ? 0 : xdL > ydL ^ xs < 0 ? 1 : -1;
|
|
58138
|
+
};
|
|
58139
|
+
P.cosine = P.cos = function() {
|
|
58140
|
+
var pr, rm, x = this, Ctor = x.constructor;
|
|
58141
|
+
if (!x.d) return new Ctor(NaN);
|
|
58142
|
+
if (!x.d[0]) return new Ctor(1);
|
|
58143
|
+
pr = Ctor.precision;
|
|
58144
|
+
rm = Ctor.rounding;
|
|
58145
|
+
Ctor.precision = pr + Math.max(x.e, x.sd()) + LOG_BASE;
|
|
58146
|
+
Ctor.rounding = 1;
|
|
58147
|
+
x = cosine(Ctor, toLessThanHalfPi(Ctor, x));
|
|
58148
|
+
Ctor.precision = pr;
|
|
58149
|
+
Ctor.rounding = rm;
|
|
58150
|
+
return finalise(quadrant == 2 || quadrant == 3 ? x.neg() : x, pr, rm, true);
|
|
58151
|
+
};
|
|
58152
|
+
P.cubeRoot = P.cbrt = function() {
|
|
58153
|
+
var e, m, n, r, rep, s, sd, t, t3, t3plusx, x = this, Ctor = x.constructor;
|
|
58154
|
+
if (!x.isFinite() || x.isZero()) return new Ctor(x);
|
|
58155
|
+
external = false;
|
|
58156
|
+
s = x.s * mathpow(x.s * x, 1 / 3);
|
|
58157
|
+
if (!s || Math.abs(s) == 1 / 0) {
|
|
58158
|
+
n = digitsToString(x.d);
|
|
58159
|
+
e = x.e;
|
|
58160
|
+
if (s = (e - n.length + 1) % 3) n += s == 1 || s == -2 ? "0" : "00";
|
|
58161
|
+
s = mathpow(n, 1 / 3);
|
|
58162
|
+
e = mathfloor((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2));
|
|
58163
|
+
if (s == 1 / 0) {
|
|
58164
|
+
n = "5e" + e;
|
|
58165
|
+
} else {
|
|
58166
|
+
n = s.toExponential();
|
|
58167
|
+
n = n.slice(0, n.indexOf("e") + 1) + e;
|
|
58168
|
+
}
|
|
58169
|
+
r = new Ctor(n);
|
|
58170
|
+
r.s = x.s;
|
|
58171
|
+
} else {
|
|
58172
|
+
r = new Ctor(s.toString());
|
|
58173
|
+
}
|
|
58174
|
+
sd = (e = Ctor.precision) + 3;
|
|
58175
|
+
for (; ; ) {
|
|
58176
|
+
t = r;
|
|
58177
|
+
t3 = t.times(t).times(t);
|
|
58178
|
+
t3plusx = t3.plus(x);
|
|
58179
|
+
r = divide(t3plusx.plus(x).times(t), t3plusx.plus(t3), sd + 2, 1);
|
|
58180
|
+
if (digitsToString(t.d).slice(0, sd) === (n = digitsToString(r.d)).slice(0, sd)) {
|
|
57379
58181
|
n = n.slice(sd - 3, sd + 1);
|
|
57380
58182
|
if (n == "9999" || !rep && n == "4999") {
|
|
57381
58183
|
if (!rep) {
|
|
@@ -59038,7 +59840,7 @@ function ceil(x) {
|
|
|
59038
59840
|
function clamp(x, min2, max2) {
|
|
59039
59841
|
return new this(x).clamp(min2, max2);
|
|
59040
59842
|
}
|
|
59041
|
-
function
|
|
59843
|
+
function config3(obj) {
|
|
59042
59844
|
if (!obj || typeof obj !== "object") throw Error(decimalError + "Object expected");
|
|
59043
59845
|
var i, p, v, useDefaults = obj.defaults === true, ps = [
|
|
59044
59846
|
"precision",
|
|
@@ -59192,7 +59994,7 @@ function clone2(obj) {
|
|
|
59192
59994
|
Decimal2.ROUND_HALF_CEIL = 7;
|
|
59193
59995
|
Decimal2.ROUND_HALF_FLOOR = 8;
|
|
59194
59996
|
Decimal2.EUCLID = 9;
|
|
59195
|
-
Decimal2.config = Decimal2.set =
|
|
59997
|
+
Decimal2.config = Decimal2.set = config3;
|
|
59196
59998
|
Decimal2.clone = clone2;
|
|
59197
59999
|
Decimal2.isDecimal = isDecimalInstance;
|
|
59198
60000
|
Decimal2.abs = abs;
|
|
@@ -61347,446 +62149,83 @@ var countriesAndCurrencies = (
|
|
|
61347
62149
|
countryName: "Vietnam",
|
|
61348
62150
|
currencyCode: "VND",
|
|
61349
62151
|
population: "89571130",
|
|
61350
|
-
capital: "Hanoi",
|
|
61351
|
-
continentName: "Asia"
|
|
61352
|
-
},
|
|
61353
|
-
{
|
|
61354
|
-
countryCode: "VU",
|
|
61355
|
-
countryName: "Vanuatu",
|
|
61356
|
-
currencyCode: "VUV",
|
|
61357
|
-
population: "221552",
|
|
61358
|
-
capital: "Port Vila",
|
|
61359
|
-
continentName: "Oceania"
|
|
61360
|
-
},
|
|
61361
|
-
{
|
|
61362
|
-
countryCode: "WF",
|
|
61363
|
-
countryName: "Wallis and Futuna",
|
|
61364
|
-
currencyCode: "XPF",
|
|
61365
|
-
population: "16025",
|
|
61366
|
-
capital: "Mata-Utu",
|
|
61367
|
-
continentName: "Oceania"
|
|
61368
|
-
},
|
|
61369
|
-
{
|
|
61370
|
-
countryCode: "WS",
|
|
61371
|
-
countryName: "Samoa",
|
|
61372
|
-
currencyCode: "WST",
|
|
61373
|
-
population: "192001",
|
|
61374
|
-
capital: "Apia",
|
|
61375
|
-
continentName: "Oceania"
|
|
61376
|
-
},
|
|
61377
|
-
{
|
|
61378
|
-
countryCode: "XK",
|
|
61379
|
-
countryName: "Kosovo",
|
|
61380
|
-
currencyCode: "EUR",
|
|
61381
|
-
population: "1800000",
|
|
61382
|
-
capital: "Pristina",
|
|
61383
|
-
continentName: "Europe"
|
|
61384
|
-
},
|
|
61385
|
-
{
|
|
61386
|
-
countryCode: "YE",
|
|
61387
|
-
countryName: "Yemen",
|
|
61388
|
-
currencyCode: "YER",
|
|
61389
|
-
population: "23495361",
|
|
61390
|
-
capital: "Sanaa",
|
|
61391
|
-
continentName: "Asia"
|
|
61392
|
-
},
|
|
61393
|
-
{
|
|
61394
|
-
countryCode: "YT",
|
|
61395
|
-
countryName: "Mayotte",
|
|
61396
|
-
currencyCode: "EUR",
|
|
61397
|
-
population: "159042",
|
|
61398
|
-
capital: "Mamoudzou",
|
|
61399
|
-
continentName: "Africa"
|
|
61400
|
-
},
|
|
61401
|
-
{
|
|
61402
|
-
countryCode: "ZA",
|
|
61403
|
-
countryName: "South Africa",
|
|
61404
|
-
currencyCode: "ZAR",
|
|
61405
|
-
population: "49000000",
|
|
61406
|
-
capital: "Pretoria",
|
|
61407
|
-
continentName: "Africa"
|
|
61408
|
-
},
|
|
61409
|
-
{
|
|
61410
|
-
countryCode: "ZM",
|
|
61411
|
-
countryName: "Zambia",
|
|
61412
|
-
currencyCode: "ZMW",
|
|
61413
|
-
population: "13460305",
|
|
61414
|
-
capital: "Lusaka",
|
|
61415
|
-
continentName: "Africa"
|
|
61416
|
-
},
|
|
61417
|
-
{
|
|
61418
|
-
countryCode: "ZW",
|
|
61419
|
-
countryName: "Zimbabwe",
|
|
61420
|
-
currencyCode: "ZWL",
|
|
61421
|
-
population: "13061000",
|
|
61422
|
-
capital: "Harare",
|
|
61423
|
-
continentName: "Africa"
|
|
61424
|
-
}
|
|
61425
|
-
]
|
|
61426
|
-
);
|
|
61427
|
-
|
|
61428
|
-
// ../hyperline-monitoring/build/context/context.js
|
|
61429
|
-
import { AsyncLocalStorage } from "node:async_hooks";
|
|
61430
|
-
var executionContextStorage = new AsyncLocalStorage();
|
|
61431
|
-
function getExecutionContext() {
|
|
61432
|
-
return executionContextStorage.getStore();
|
|
61433
|
-
}
|
|
61434
|
-
|
|
61435
|
-
// ../hyperline-monitoring/build/context/correlationId.js
|
|
61436
|
-
import { AsyncLocalStorage as AsyncLocalStorage2 } from "node:async_hooks";
|
|
61437
|
-
var correlationIdStorage = new AsyncLocalStorage2();
|
|
61438
|
-
function getCorrelationId() {
|
|
61439
|
-
return correlationIdStorage.getStore();
|
|
61440
|
-
}
|
|
61441
|
-
|
|
61442
|
-
// ../hyperline-config/build/index.js
|
|
61443
|
-
import "dotenv/config";
|
|
61444
|
-
import * as stackTraceParser from "stacktrace-parser";
|
|
61445
|
-
function coerceBoolean() {
|
|
61446
|
-
return external_exports.any().refine((value) => ["true", "false"].includes(value), {
|
|
61447
|
-
message: "Expected boolean"
|
|
61448
|
-
}).transform((value) => (
|
|
61449
|
-
// biome-ignore lint/complexity/noUselessTernary: ignore
|
|
61450
|
-
value === "true" ? true : false
|
|
61451
|
-
));
|
|
61452
|
-
}
|
|
61453
|
-
var types = {
|
|
61454
|
-
string: external_exports.coerce.string,
|
|
61455
|
-
number: external_exports.coerce.number,
|
|
61456
|
-
boolean: coerceBoolean,
|
|
61457
|
-
enum: external_exports.enum
|
|
61458
|
-
};
|
|
61459
|
-
function getConfig(schema, testValues) {
|
|
61460
|
-
const validator = external_exports.object(Object.fromEntries(Object.entries(schema).map(([key, zodType]) => {
|
|
61461
|
-
if (zodType instanceof ZodOptional) {
|
|
61462
|
-
return [key, external_exports.string().optional()];
|
|
61463
|
-
}
|
|
61464
|
-
return [key, external_exports.string()];
|
|
61465
|
-
})));
|
|
61466
|
-
const processEnv = process.env;
|
|
61467
|
-
const isTestMode = processEnv.NODE_ENV === "test";
|
|
61468
|
-
const envVariables = {
|
|
61469
|
-
...processEnv,
|
|
61470
|
-
...isTestMode && testValues ? Object.fromEntries(Object.entries(testValues).map(([key, value]) => [key, String(value)])) : {}
|
|
61471
|
-
};
|
|
61472
|
-
const packageName = envVariables.npm_package_name;
|
|
61473
|
-
const parseProcessEnvResult = validator.safeParse(envVariables);
|
|
61474
|
-
if (!parseProcessEnvResult.success) {
|
|
61475
|
-
const parsedStackTrace = stackTraceParser.parse(parseProcessEnvResult.error.stack ?? "");
|
|
61476
|
-
const getConfigCallLine = parsedStackTrace.find((line) => {
|
|
61477
|
-
return !line.file?.includes("hyperline-config") && (line.file?.includes("apps/") || line.file?.includes("core/") || line.file?.includes("packages/"));
|
|
61478
|
-
});
|
|
61479
|
-
const callerFile = getConfigCallLine?.file;
|
|
61480
|
-
console.error(`Invalid environment variables for service \`${packageName}\`: \`${callerFile}\``);
|
|
61481
|
-
console.error(parseProcessEnvResult.error.format());
|
|
61482
|
-
process.exit(1);
|
|
61483
|
-
}
|
|
61484
|
-
const coercion = external_exports.object(schema);
|
|
61485
|
-
return coercion.parse(parseProcessEnvResult.data);
|
|
61486
|
-
}
|
|
61487
|
-
|
|
61488
|
-
// ../hyperline-monitoring/build/config.js
|
|
61489
|
-
var config3 = getConfig({
|
|
61490
|
-
// config
|
|
61491
|
-
APP_VERSION: types.string().optional(),
|
|
61492
|
-
DD_SERVICE: types.string().optional(),
|
|
61493
|
-
LOGGER_CONSOLE_ENABLED: types.boolean().optional(),
|
|
61494
|
-
LOGGER_STDOUT_ENABLED: types.boolean().optional(),
|
|
61495
|
-
NODE_ENV: types.enum(["local", "test", "staging", "sandbox", "production"]),
|
|
61496
|
-
EVENT_LOOP_MONITORING_ENABLED: types.boolean().optional(),
|
|
61497
|
-
MEMORY_MONITORING_ENABLED: types.boolean().optional(),
|
|
61498
|
-
MEMORY_MONITORING_INTERVAL_MS: types.number().optional()
|
|
61499
|
-
// secrets
|
|
61500
|
-
}, {
|
|
61501
|
-
APP_VERSION: void 0,
|
|
61502
|
-
DD_SERVICE: void 0,
|
|
61503
|
-
LOGGER_CONSOLE_ENABLED: false,
|
|
61504
|
-
LOGGER_STDOUT_ENABLED: false,
|
|
61505
|
-
EVENT_LOOP_MONITORING_ENABLED: false,
|
|
61506
|
-
MEMORY_MONITORING_ENABLED: false,
|
|
61507
|
-
MEMORY_MONITORING_INTERVAL_MS: 3e4,
|
|
61508
|
-
NODE_ENV: "test"
|
|
61509
|
-
});
|
|
61510
|
-
|
|
61511
|
-
// ../hyperline-monitoring/build/logger/logger.js
|
|
61512
|
-
import * as util from "node:util";
|
|
61513
|
-
import prune2 from "json-prune";
|
|
61514
|
-
import * as winston from "winston";
|
|
61515
|
-
|
|
61516
|
-
// ../hyperline-monitoring/build/logger/formatting/format.js
|
|
61517
|
-
import prune from "json-prune";
|
|
61518
|
-
function jsonFormat(info) {
|
|
61519
|
-
const prunedInfo = JSON.parse(prune(info));
|
|
61520
|
-
for (const [key, value] of Object.entries(prunedInfo)) {
|
|
61521
|
-
info[key] = value;
|
|
61522
|
-
}
|
|
61523
|
-
return info;
|
|
61524
|
-
}
|
|
61525
|
-
function addMetadata({ getCorrelationId: getCorrelationId2, getExecutionContext: getExecutionContext2 }) {
|
|
61526
|
-
return (info) => {
|
|
61527
|
-
const correlationId = getCorrelationId2();
|
|
61528
|
-
const executionContext = getExecutionContext2();
|
|
61529
|
-
let traceContext;
|
|
61530
|
-
return {
|
|
61531
|
-
...info,
|
|
61532
|
-
...executionContext ?? {},
|
|
61533
|
-
...traceContext ?? {},
|
|
61534
|
-
correlationId
|
|
61535
|
-
};
|
|
61536
|
-
};
|
|
61537
|
-
}
|
|
61538
|
-
function transformErrorEnrich(info, { depth }) {
|
|
61539
|
-
if (depth <= 0) {
|
|
61540
|
-
return info;
|
|
61541
|
-
}
|
|
61542
|
-
Object.entries(info).forEach(([key, value]) => {
|
|
61543
|
-
let newValue = value;
|
|
61544
|
-
if (newValue instanceof Error) {
|
|
61545
|
-
newValue = {
|
|
61546
|
-
...newValue,
|
|
61547
|
-
// Copy error properties manually because they're not enumerable
|
|
61548
|
-
level: newValue.level,
|
|
61549
|
-
stack: newValue.stack,
|
|
61550
|
-
message: newValue.message,
|
|
61551
|
-
name: newValue.name
|
|
61552
|
-
};
|
|
61553
|
-
}
|
|
61554
|
-
if (newValue instanceof Object) {
|
|
61555
|
-
newValue = transformErrorEnrich(newValue, { depth: depth - 1 });
|
|
61556
|
-
}
|
|
61557
|
-
const isPropertyWritable = Object.getOwnPropertyDescriptor(info, key)?.writable ?? true;
|
|
61558
|
-
if (isPropertyWritable && newValue !== value) {
|
|
61559
|
-
info[key] = newValue;
|
|
61560
|
-
}
|
|
61561
|
-
});
|
|
61562
|
-
return info;
|
|
61563
|
-
}
|
|
61564
|
-
function transformPrune(info) {
|
|
61565
|
-
Object.entries(info).forEach(([key, value]) => {
|
|
61566
|
-
if (typeof value === "function") {
|
|
61567
|
-
return;
|
|
61568
|
-
}
|
|
61569
|
-
const newValue = value instanceof Object ? JSON.parse(prune(value, { depthDecr: 6 })) : value;
|
|
61570
|
-
const isPropertyWritable = Object.getOwnPropertyDescriptor(info, key)?.writable ?? true;
|
|
61571
|
-
if (isPropertyWritable && newValue !== value) {
|
|
61572
|
-
info[key] = newValue;
|
|
61573
|
-
}
|
|
61574
|
-
});
|
|
61575
|
-
return info;
|
|
61576
|
-
}
|
|
61577
|
-
function transformAxiosError(info) {
|
|
61578
|
-
Object.entries(info).forEach(([key, value]) => {
|
|
61579
|
-
if (typeof value === "object" && value?.name === "AxiosError") {
|
|
61580
|
-
info[key] = formatAxiosError(value);
|
|
61581
|
-
}
|
|
61582
|
-
});
|
|
61583
|
-
return info;
|
|
61584
|
-
}
|
|
61585
|
-
function formatAxiosError(error48) {
|
|
61586
|
-
if (!isRecord(error48) || error48.name !== "AxiosError") {
|
|
61587
|
-
return error48;
|
|
61588
|
-
}
|
|
61589
|
-
const request = isRecord(error48.config) ? error48.config : void 0;
|
|
61590
|
-
const response = isRecord(error48.response) ? error48.response : void 0;
|
|
61591
|
-
return {
|
|
61592
|
-
name: error48.name,
|
|
61593
|
-
message: error48.message,
|
|
61594
|
-
code: error48.code,
|
|
61595
|
-
request: {
|
|
61596
|
-
method: request?.method,
|
|
61597
|
-
url: request?.url,
|
|
61598
|
-
baseURL: request?.baseURL,
|
|
61599
|
-
params: request?.params,
|
|
61600
|
-
headers: request?.headers,
|
|
61601
|
-
"axios-retry": request?.["axios-retry"]
|
|
62152
|
+
capital: "Hanoi",
|
|
62153
|
+
continentName: "Asia"
|
|
61602
62154
|
},
|
|
61603
|
-
|
|
61604
|
-
|
|
61605
|
-
|
|
61606
|
-
|
|
61607
|
-
|
|
61608
|
-
|
|
61609
|
-
|
|
61610
|
-
}
|
|
61611
|
-
|
|
61612
|
-
|
|
61613
|
-
|
|
61614
|
-
|
|
61615
|
-
|
|
61616
|
-
|
|
61617
|
-
|
|
61618
|
-
|
|
61619
|
-
|
|
61620
|
-
|
|
61621
|
-
|
|
61622
|
-
|
|
61623
|
-
|
|
61624
|
-
|
|
61625
|
-
|
|
61626
|
-
|
|
61627
|
-
|
|
61628
|
-
|
|
61629
|
-
|
|
61630
|
-
|
|
61631
|
-
|
|
61632
|
-
|
|
61633
|
-
|
|
61634
|
-
|
|
61635
|
-
|
|
61636
|
-
|
|
61637
|
-
|
|
61638
|
-
|
|
61639
|
-
|
|
61640
|
-
|
|
61641
|
-
|
|
61642
|
-
|
|
61643
|
-
|
|
61644
|
-
|
|
61645
|
-
|
|
61646
|
-
|
|
61647
|
-
|
|
61648
|
-
|
|
61649
|
-
|
|
61650
|
-
|
|
61651
|
-
|
|
61652
|
-
|
|
61653
|
-
|
|
61654
|
-
|
|
61655
|
-
|
|
61656
|
-
|
|
61657
|
-
|
|
61658
|
-
|
|
61659
|
-
|
|
61660
|
-
|
|
61661
|
-
|
|
61662
|
-
|
|
61663
|
-
|
|
61664
|
-
|
|
61665
|
-
|
|
61666
|
-
|
|
61667
|
-
|
|
61668
|
-
|
|
61669
|
-
|
|
61670
|
-
|
|
61671
|
-
|
|
61672
|
-
|
|
61673
|
-
|
|
61674
|
-
}
|
|
61675
|
-
|
|
61676
|
-
// ../hyperline-monitoring/build/logger/logger.js
|
|
61677
|
-
function buildLoggerFactory({ config: config4, context }) {
|
|
61678
|
-
const defaultMeta = {
|
|
61679
|
-
env: context.env,
|
|
61680
|
-
service: context.service,
|
|
61681
|
-
version: context.version,
|
|
61682
|
-
pid: process.pid,
|
|
61683
|
-
ppid: process.ppid,
|
|
61684
|
-
host: getIpAddress()
|
|
61685
|
-
};
|
|
61686
|
-
const transports2 = [];
|
|
61687
|
-
if (config4.enableConsoleTransport) {
|
|
61688
|
-
transports2.push(createTransportConsole());
|
|
61689
|
-
}
|
|
61690
|
-
if (config4.enableStdoutTransport) {
|
|
61691
|
-
transports2.push(createTransportStdout());
|
|
61692
|
-
}
|
|
61693
|
-
if (Object.values(config4).every((value) => !value)) {
|
|
61694
|
-
transports2.push(createTransportSilent());
|
|
61695
|
-
}
|
|
61696
|
-
for (const transport of transports2) {
|
|
61697
|
-
transport.on("error", (error48) => {
|
|
61698
|
-
console.error(`Unable to log to transport=${transport.name}: ${error48.message} ${JSON.stringify(error48)}`);
|
|
61699
|
-
});
|
|
61700
|
-
}
|
|
61701
|
-
const internalLogger = winston.createLogger({
|
|
61702
|
-
transports: transports2,
|
|
61703
|
-
defaultMeta,
|
|
61704
|
-
format: winston.format.combine(winston.format.splat(), winston.format(addMetadata({ getCorrelationId, getExecutionContext }))(), winston.format(transformErrorEnrich)({ depth: 5 }), winston.format(transformPrune)(), winston.format(transformAxiosError)(), winston.format.timestamp()),
|
|
61705
|
-
exitOnError: false
|
|
61706
|
-
});
|
|
61707
|
-
function createLogger3({ serviceName }) {
|
|
61708
|
-
const logger2 = internalLogger.child({ subService: serviceName });
|
|
61709
|
-
return {
|
|
61710
|
-
debug: bindLogger(logger2, "debug"),
|
|
61711
|
-
info: bindLogger(logger2, "info"),
|
|
61712
|
-
warn: bindLogger(logger2, "warn"),
|
|
61713
|
-
error: bindLogger(logger2, "error"),
|
|
61714
|
-
on: logger2.on.bind(logger2),
|
|
61715
|
-
end: logger2.end.bind(logger2)
|
|
61716
|
-
};
|
|
61717
|
-
}
|
|
61718
|
-
return {
|
|
61719
|
-
createLogger: createLogger3
|
|
61720
|
-
};
|
|
61721
|
-
}
|
|
61722
|
-
function bindLogger(logger2, severity) {
|
|
61723
|
-
return (message, data) => {
|
|
61724
|
-
logger2[severity].bind(logger2)(message, preserveReservedKeys(data));
|
|
61725
|
-
};
|
|
61726
|
-
}
|
|
61727
|
-
function preserveReservedKeys(data) {
|
|
61728
|
-
if (!data)
|
|
61729
|
-
return;
|
|
61730
|
-
return Object.fromEntries(Object.entries(data).map(([key, value]) => {
|
|
61731
|
-
let finalKey = key;
|
|
61732
|
-
if (key === "status") {
|
|
61733
|
-
finalKey = "_status";
|
|
61734
|
-
} else if (key === "service") {
|
|
61735
|
-
finalKey = "_service";
|
|
62155
|
+
{
|
|
62156
|
+
countryCode: "VU",
|
|
62157
|
+
countryName: "Vanuatu",
|
|
62158
|
+
currencyCode: "VUV",
|
|
62159
|
+
population: "221552",
|
|
62160
|
+
capital: "Port Vila",
|
|
62161
|
+
continentName: "Oceania"
|
|
62162
|
+
},
|
|
62163
|
+
{
|
|
62164
|
+
countryCode: "WF",
|
|
62165
|
+
countryName: "Wallis and Futuna",
|
|
62166
|
+
currencyCode: "XPF",
|
|
62167
|
+
population: "16025",
|
|
62168
|
+
capital: "Mata-Utu",
|
|
62169
|
+
continentName: "Oceania"
|
|
62170
|
+
},
|
|
62171
|
+
{
|
|
62172
|
+
countryCode: "WS",
|
|
62173
|
+
countryName: "Samoa",
|
|
62174
|
+
currencyCode: "WST",
|
|
62175
|
+
population: "192001",
|
|
62176
|
+
capital: "Apia",
|
|
62177
|
+
continentName: "Oceania"
|
|
62178
|
+
},
|
|
62179
|
+
{
|
|
62180
|
+
countryCode: "XK",
|
|
62181
|
+
countryName: "Kosovo",
|
|
62182
|
+
currencyCode: "EUR",
|
|
62183
|
+
population: "1800000",
|
|
62184
|
+
capital: "Pristina",
|
|
62185
|
+
continentName: "Europe"
|
|
62186
|
+
},
|
|
62187
|
+
{
|
|
62188
|
+
countryCode: "YE",
|
|
62189
|
+
countryName: "Yemen",
|
|
62190
|
+
currencyCode: "YER",
|
|
62191
|
+
population: "23495361",
|
|
62192
|
+
capital: "Sanaa",
|
|
62193
|
+
continentName: "Asia"
|
|
62194
|
+
},
|
|
62195
|
+
{
|
|
62196
|
+
countryCode: "YT",
|
|
62197
|
+
countryName: "Mayotte",
|
|
62198
|
+
currencyCode: "EUR",
|
|
62199
|
+
population: "159042",
|
|
62200
|
+
capital: "Mamoudzou",
|
|
62201
|
+
continentName: "Africa"
|
|
62202
|
+
},
|
|
62203
|
+
{
|
|
62204
|
+
countryCode: "ZA",
|
|
62205
|
+
countryName: "South Africa",
|
|
62206
|
+
currencyCode: "ZAR",
|
|
62207
|
+
population: "49000000",
|
|
62208
|
+
capital: "Pretoria",
|
|
62209
|
+
continentName: "Africa"
|
|
62210
|
+
},
|
|
62211
|
+
{
|
|
62212
|
+
countryCode: "ZM",
|
|
62213
|
+
countryName: "Zambia",
|
|
62214
|
+
currencyCode: "ZMW",
|
|
62215
|
+
population: "13460305",
|
|
62216
|
+
capital: "Lusaka",
|
|
62217
|
+
continentName: "Africa"
|
|
62218
|
+
},
|
|
62219
|
+
{
|
|
62220
|
+
countryCode: "ZW",
|
|
62221
|
+
countryName: "Zimbabwe",
|
|
62222
|
+
currencyCode: "ZWL",
|
|
62223
|
+
population: "13061000",
|
|
62224
|
+
capital: "Harare",
|
|
62225
|
+
continentName: "Africa"
|
|
61736
62226
|
}
|
|
61737
|
-
|
|
61738
|
-
|
|
61739
|
-
}
|
|
61740
|
-
var verboseLevels = ["warn", "error", "debug"];
|
|
61741
|
-
function createTransportConsole() {
|
|
61742
|
-
return new winston.transports.Console({
|
|
61743
|
-
level: "debug",
|
|
61744
|
-
handleExceptions: true,
|
|
61745
|
-
format: winston.format.combine(winston.format(jsonFormat)(), winston.format((info) => {
|
|
61746
|
-
const { level, message, ...others } = info;
|
|
61747
|
-
const parts = [message];
|
|
61748
|
-
if (Object.keys(others).length > 0 && verboseLevels.includes(level)) {
|
|
61749
|
-
const rawOthers = JSON.parse(prune2(others));
|
|
61750
|
-
parts.push(util.inspect(rawOthers, false, 4, true));
|
|
61751
|
-
}
|
|
61752
|
-
info.message = parts.filter((part) => !!part).join("\n");
|
|
61753
|
-
return info;
|
|
61754
|
-
})(), winston.format.colorize(), winston.format.printf(({ timestamp, level, message, service = "?" }) => {
|
|
61755
|
-
const result = `[${timestamp}] ${level} ${service}: ${message}`;
|
|
61756
|
-
return result.replace(/\\n/g, "\n");
|
|
61757
|
-
}))
|
|
61758
|
-
});
|
|
61759
|
-
}
|
|
61760
|
-
function createTransportStdout() {
|
|
61761
|
-
return new winston.transports.Console({
|
|
61762
|
-
level: "debug",
|
|
61763
|
-
handleExceptions: true,
|
|
61764
|
-
format: winston.format.combine(winston.format(jsonFormat)(), winston.format.timestamp(), winston.format.json())
|
|
61765
|
-
});
|
|
61766
|
-
}
|
|
61767
|
-
function createTransportSilent() {
|
|
61768
|
-
return new winston.transports.Console({
|
|
61769
|
-
silent: true
|
|
61770
|
-
});
|
|
61771
|
-
}
|
|
61772
|
-
|
|
61773
|
-
// ../hyperline-monitoring/build/logger/instance.js
|
|
61774
|
-
var loggerFactory = buildLoggerFactory({
|
|
61775
|
-
config: {
|
|
61776
|
-
enableConsoleTransport: config3.LOGGER_CONSOLE_ENABLED ?? false,
|
|
61777
|
-
enableStdoutTransport: config3.LOGGER_STDOUT_ENABLED ?? false
|
|
61778
|
-
},
|
|
61779
|
-
context: {
|
|
61780
|
-
env: config3.NODE_ENV,
|
|
61781
|
-
service: config3.DD_SERVICE ?? "api",
|
|
61782
|
-
version: config3.APP_VERSION
|
|
61783
|
-
}
|
|
61784
|
-
});
|
|
61785
|
-
var createLogger2 = loggerFactory.createLogger;
|
|
61786
|
-
var logger = loggerFactory.createLogger({ serviceName: "default" });
|
|
61787
|
-
|
|
61788
|
-
// ../hyperline-monitoring/build/tracing/tracing.js
|
|
61789
|
-
import tracer from "dd-trace";
|
|
62227
|
+
]
|
|
62228
|
+
);
|
|
61790
62229
|
|
|
61791
62230
|
// ../hyperline-lib/build/utils/config/usStates.js
|
|
61792
62231
|
var usStates = [
|
|
@@ -61918,6 +62357,12 @@ var DateTimeSchema = external_exports.iso.datetime({
|
|
|
61918
62357
|
example: "2024-12-20T16:04:11Z"
|
|
61919
62358
|
});
|
|
61920
62359
|
|
|
62360
|
+
// ../hyperline-lib/build/http/dto/domain.js
|
|
62361
|
+
var DomainSchema = external_exports.string().trim().toLowerCase().regex(/^(?!:\/\/)(?=.{1,253}$)(?!-)([a-z0-9-]{1,63}\.)+[a-z]{2,63}$/, "Invalid domain").openapi({
|
|
62362
|
+
description: "Domain name.",
|
|
62363
|
+
example: "acme.com"
|
|
62364
|
+
});
|
|
62365
|
+
|
|
61921
62366
|
// ../hyperline-lib/build/http/dto/error.js
|
|
61922
62367
|
var ErrorSchema = external_exports.object({
|
|
61923
62368
|
message: external_exports.string()
|
|
@@ -61972,10 +62417,13 @@ var languages = [
|
|
|
61972
62417
|
var de = {
|
|
61973
62418
|
"accounting.invoicePosted.entryDescription": "Buchungseintrag f\xFCr Rechnung {{invoiceId}}",
|
|
61974
62419
|
"accounting.transactionSettled.entryDescription": "Zahlungsabwicklung f\xFCr Rechnung {{invoiceId}}",
|
|
62420
|
+
"accounting.transactionRefunded.entryDescription": "R\xFCckerstattung f\xFCr Rechnung {{invoiceId}}",
|
|
61975
62421
|
"accounting.creditNotePosted.entryDescription": "Gutschrift {{creditNoteId}} f\xFCr Rechnung {{invoiceId}}",
|
|
62422
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Gutschrift {{creditNoteId}}",
|
|
61976
62423
|
"accounting.revrec.creditLineDescription": "Umsatz realisieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
61977
62424
|
"accounting.revrec.debitLineDescription": "Abgrenzungsposten reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
61978
62425
|
"accounting.revrec.discountCreditLineDescription": "Erl\xF6sminderung (Rabatt) erfassen \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
62426
|
+
"accounting.revrec.closedPeriodFallbackNote": " (in die n\xE4chste offene Periode gebucht \u2013 Zielperiode geschlossen; urspr\xFCngliches Datum {{originalDate}})",
|
|
61979
62427
|
"accounting.revrec.discountDebitLineDescription": "Abgegrenzten Rabatt reduzieren \u2013 Zeitplan {{scheduleId}}, Zeitraum {{periodDate}}",
|
|
61980
62428
|
"accounting.revrec.entryDescription": "Umsatzrealisierung f\xFCr Zeitplan {{scheduleId}}, Zeitraum {{periodStart}} - {{periodEnd}}",
|
|
61981
62429
|
"creditNotes.refundChargeName": "R\xFCckerstattung f\xFCr die Rechnung",
|
|
@@ -61988,7 +62436,9 @@ var de = {
|
|
|
61988
62436
|
"invoices.outstandingProduct.descriptionPeriod": "Unbezahlter Betrag der Rechnung{{invoiceNumber}} vom {{periodStart}} bis {{periodEnd}}",
|
|
61989
62437
|
"invoices.outstandingProduct.name": "Offener Saldo",
|
|
61990
62438
|
"invoices.prorata.paymentForItem": "Anteilig berechneter Betrag f\xFCr",
|
|
62439
|
+
"invoices.prorata.paymentForItemFullPeriod": "Zahlung f\xFCr",
|
|
61991
62440
|
"invoices.prorata.refundForItem": "Anteilig erstatteter Betrag f\xFCr",
|
|
62441
|
+
"invoices.prorata.refundForItemFullPeriod": "Erstattung f\xFCr",
|
|
61992
62442
|
"subscriptions.closingChargeName": "Abschlussgeb\xFChr f\xFCr das Abonnement",
|
|
61993
62443
|
"subscriptions.correction": "Vorperiodische Anpassung",
|
|
61994
62444
|
"subscriptions.updates.addCoupon": "Gutschein hinzuf\xFCgen {{couponName}}",
|
|
@@ -62017,7 +62467,9 @@ var en = {
|
|
|
62017
62467
|
"invoices.outstandingProduct.descriptionPeriod": "Unpaid amount from the invoice{{invoiceNumber}} from {{periodStart}} to {{periodEnd}}",
|
|
62018
62468
|
"invoices.outstandingProduct.name": "Outstanding balance",
|
|
62019
62469
|
"invoices.prorata.paymentForItem": "Prorated payment for",
|
|
62470
|
+
"invoices.prorata.paymentForItemFullPeriod": "Payment for",
|
|
62020
62471
|
"invoices.prorata.refundForItem": "Prorated refund for",
|
|
62472
|
+
"invoices.prorata.refundForItemFullPeriod": "Refund for",
|
|
62021
62473
|
"subscriptions.closingChargeName": "Closing fee for subscription",
|
|
62022
62474
|
"subscriptions.correction": "Adjustment previous period",
|
|
62023
62475
|
"subscriptions.updates.addCoupon": "Add coupon {{couponName}}",
|
|
@@ -62037,12 +62489,15 @@ var en = {
|
|
|
62037
62489
|
"subscriptions.updates.updateCount.description.full.not_committed.not_invoiced": "Amount of {{amount}} not invoiced for the full period",
|
|
62038
62490
|
"accounting.invoicePosted.entryDescription": "Posting entry for Invoice {{invoiceId}} issued",
|
|
62039
62491
|
"accounting.transactionSettled.entryDescription": "Payment settlement for Invoice {{invoiceId}}",
|
|
62492
|
+
"accounting.transactionRefunded.entryDescription": "Refund for Invoice {{invoiceId}}",
|
|
62040
62493
|
"accounting.creditNotePosted.entryDescription": "Credit note {{creditNoteId}} for Invoice {{invoiceId}}",
|
|
62494
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Credit note {{creditNoteId}}",
|
|
62041
62495
|
"accounting.revrec.entryDescription": "Revenue recognition for schedule {{scheduleId}}, period {{periodStart}} - {{periodEnd}}",
|
|
62042
62496
|
"accounting.revrec.debitLineDescription": "Decrease deferred revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62043
62497
|
"accounting.revrec.creditLineDescription": "Recognize revenue \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62044
62498
|
"accounting.revrec.discountDebitLineDescription": "Decrease deferred discount \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62045
62499
|
"accounting.revrec.discountCreditLineDescription": "Recognize contra-revenue (discount) \u2013 schedule {{scheduleId}}, period {{periodDate}}",
|
|
62500
|
+
"accounting.revrec.closedPeriodFallbackNote": " (posted to next open period \u2014 target accounting period closed; original date {{originalDate}})",
|
|
62046
62501
|
"einvoicing.paymentProcessed": "Payment processed",
|
|
62047
62502
|
"einvoicing.paymentReceived": "Payment received",
|
|
62048
62503
|
"einvoicing.paymentFromWallet": "Payment from wallet"
|
|
@@ -62052,10 +62507,13 @@ var en = {
|
|
|
62052
62507
|
var es = {
|
|
62053
62508
|
"accounting.invoicePosted.entryDescription": "Asiento contable para la factura {{invoiceId}}",
|
|
62054
62509
|
"accounting.transactionSettled.entryDescription": "Liquidaci\xF3n de pago para la factura {{invoiceId}}",
|
|
62510
|
+
"accounting.transactionRefunded.entryDescription": "Reembolso de la factura {{invoiceId}}",
|
|
62055
62511
|
"accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para la factura {{invoiceId}}",
|
|
62512
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
|
|
62056
62513
|
"accounting.revrec.creditLineDescription": "Reconocer ingresos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62057
62514
|
"accounting.revrec.debitLineDescription": "Disminuci\xF3n de ingresos diferidos \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62058
62515
|
"accounting.revrec.discountCreditLineDescription": "Reconocer contra-ingresos (descuento) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62516
|
+
"accounting.revrec.closedPeriodFallbackNote": " (registrado en el pr\xF3ximo per\xEDodo abierto \u2014 per\xEDodo contable de destino cerrado; fecha original {{originalDate}})",
|
|
62059
62517
|
"accounting.revrec.discountDebitLineDescription": "Disminuci\xF3n de descuento diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62060
62518
|
"accounting.revrec.entryDescription": "Reconocimiento de ingresos para el cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
|
|
62061
62519
|
"creditNotes.refundChargeName": "Reembolso por factura",
|
|
@@ -62068,7 +62526,9 @@ var es = {
|
|
|
62068
62526
|
"invoices.outstandingProduct.descriptionPeriod": "Monto pendiente de la factura{{invoiceNumber}} del {{periodStart}} al {{periodEnd}}",
|
|
62069
62527
|
"invoices.outstandingProduct.name": "Saldo pendiente",
|
|
62070
62528
|
"invoices.prorata.paymentForItem": "Pago prorrateado por",
|
|
62529
|
+
"invoices.prorata.paymentForItemFullPeriod": "Pago por",
|
|
62071
62530
|
"invoices.prorata.refundForItem": "Reembolso prorrateado por",
|
|
62531
|
+
"invoices.prorata.refundForItemFullPeriod": "Reembolso por",
|
|
62072
62532
|
"subscriptions.closingChargeName": "Cargo por cierre de suscripci\xF3n",
|
|
62073
62533
|
"subscriptions.correction": "Ajuste del periodo anterior",
|
|
62074
62534
|
"subscriptions.updates.addCoupon": "A\xF1adir cup\xF3n {{couponName}}",
|
|
@@ -62093,10 +62553,13 @@ var fr = {
|
|
|
62093
62553
|
"accounting.revrec.creditLineDescription": "Reconnaissance du chiffre d'affaires \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62094
62554
|
"accounting.revrec.debitLineDescription": "Diminution des produits constat\xE9s d'avance \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62095
62555
|
"accounting.revrec.discountCreditLineDescription": "Reconnaissance du contre-revenu (remise) \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62556
|
+
"accounting.revrec.closedPeriodFallbackNote": " (comptabilis\xE9 sur la prochaine p\xE9riode ouverte \u2014 p\xE9riode comptable cible cl\xF4tur\xE9e ; date d'origine {{originalDate}})",
|
|
62096
62557
|
"accounting.revrec.discountDebitLineDescription": "Diminution des remises diff\xE9r\xE9es \u2013 \xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodDate}}",
|
|
62097
62558
|
"accounting.invoicePosted.entryDescription": "\xC9criture de comptabilisation pour la facture {{invoiceId}}",
|
|
62098
62559
|
"accounting.transactionSettled.entryDescription": "R\xE8glement de la facture {{invoiceId}}",
|
|
62560
|
+
"accounting.transactionRefunded.entryDescription": "Remboursement de la facture {{invoiceId}}",
|
|
62099
62561
|
"accounting.creditNotePosted.entryDescription": "Avoir {{creditNoteId}} pour la facture {{invoiceId}}",
|
|
62562
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Avoir {{creditNoteId}}",
|
|
62100
62563
|
"accounting.revrec.entryDescription": "Reconnaissance du chiffre d'affaires pour l'\xE9ch\xE9ancier {{scheduleId}}, p\xE9riode {{periodStart}} - {{periodEnd}}",
|
|
62101
62564
|
"creditNotes.refundChargeName": "Remboursement pour facture",
|
|
62102
62565
|
"credits.bundleOf": "{{productName}} - Pack de {{creditCount}} cr\xE9dits",
|
|
@@ -62108,7 +62571,9 @@ var fr = {
|
|
|
62108
62571
|
"invoices.outstandingProduct.descriptionPeriod": "Montant impay\xE9 de la facture{{invoiceNumber}} du {{periodStart}} au {{periodEnd}}",
|
|
62109
62572
|
"invoices.outstandingProduct.name": "Solde impay\xE9",
|
|
62110
62573
|
"invoices.prorata.paymentForItem": "Paiement au prorata pour",
|
|
62574
|
+
"invoices.prorata.paymentForItemFullPeriod": "Paiement pour",
|
|
62111
62575
|
"invoices.prorata.refundForItem": "Remboursement au prorata pour",
|
|
62576
|
+
"invoices.prorata.refundForItemFullPeriod": "Remboursement pour",
|
|
62112
62577
|
"subscriptions.closingChargeName": "Frais de cl\xF4ture pour abonnement",
|
|
62113
62578
|
"subscriptions.correction": "Ajustement p\xE9riode pr\xE9c\xE9dente",
|
|
62114
62579
|
"subscriptions.updates.addCoupon": "Ajout du coupon {{couponName}}",
|
|
@@ -62132,10 +62597,13 @@ var fr = {
|
|
|
62132
62597
|
var it = {
|
|
62133
62598
|
"accounting.invoicePosted.entryDescription": "Registrazione contabile per la fattura {{invoiceId}}",
|
|
62134
62599
|
"accounting.transactionSettled.entryDescription": "Regolamento pagamento per la fattura {{invoiceId}}",
|
|
62600
|
+
"accounting.transactionRefunded.entryDescription": "Rimborso per la fattura {{invoiceId}}",
|
|
62135
62601
|
"accounting.creditNotePosted.entryDescription": "Nota di credito {{creditNoteId}} per la fattura {{invoiceId}}",
|
|
62602
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Nota di credito {{creditNoteId}}",
|
|
62136
62603
|
"accounting.revrec.creditLineDescription": "Riconoscere i ricavi \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62137
62604
|
"accounting.revrec.debitLineDescription": "Diminuzione dei ricavi differiti \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62138
62605
|
"accounting.revrec.discountCreditLineDescription": "Riconoscere il contra-ricavo (sconto) \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62606
|
+
"accounting.revrec.closedPeriodFallbackNote": " (registrato nel prossimo periodo aperto \u2014 periodo contabile di destinazione chiuso; data originale {{originalDate}})",
|
|
62139
62607
|
"accounting.revrec.discountDebitLineDescription": "Diminuzione dello sconto differito \u2013 programma {{scheduleId}}, periodo {{periodDate}}",
|
|
62140
62608
|
"accounting.revrec.entryDescription": "Riconoscimento dei ricavi per il programma {{scheduleId}}, periodo {{periodStart}} - {{periodEnd}}",
|
|
62141
62609
|
"creditNotes.refundChargeName": "Rimborso per fattura",
|
|
@@ -62148,7 +62616,9 @@ var it = {
|
|
|
62148
62616
|
"invoices.outstandingProduct.descriptionPeriod": "Importo insoluto della fattura{{invoiceNumber}} dal {{periodStart}} al {{periodEnd}}",
|
|
62149
62617
|
"invoices.outstandingProduct.name": "Saldo insoluto",
|
|
62150
62618
|
"invoices.prorata.paymentForItem": "Pagamento proporzionale per",
|
|
62619
|
+
"invoices.prorata.paymentForItemFullPeriod": "Pagamento per",
|
|
62151
62620
|
"invoices.prorata.refundForItem": "Rimborso proporzionale per",
|
|
62621
|
+
"invoices.prorata.refundForItemFullPeriod": "Rimborso per",
|
|
62152
62622
|
"subscriptions.closingChargeName": "Costo di chiusura per abbonamento",
|
|
62153
62623
|
"subscriptions.correction": "Correzione periodo precedente",
|
|
62154
62624
|
"subscriptions.updates.addCoupon": "Aggiungi coupon {{couponName}}",
|
|
@@ -62172,10 +62642,13 @@ var it = {
|
|
|
62172
62642
|
var nl = {
|
|
62173
62643
|
"accounting.invoicePosted.entryDescription": "Boekingsregel voor factuur {{invoiceId}}",
|
|
62174
62644
|
"accounting.transactionSettled.entryDescription": "Betalingsafwikkeling voor factuur {{invoiceId}}",
|
|
62645
|
+
"accounting.transactionRefunded.entryDescription": "Terugbetaling voor factuur {{invoiceId}}",
|
|
62175
62646
|
"accounting.creditNotePosted.entryDescription": "Creditnota {{creditNoteId}} voor factuur {{invoiceId}}",
|
|
62647
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Creditnota {{creditNoteId}}",
|
|
62176
62648
|
"accounting.revrec.creditLineDescription": "Omzet erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62177
62649
|
"accounting.revrec.debitLineDescription": "Uitgestelde omzet verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62178
62650
|
"accounting.revrec.discountCreditLineDescription": "Omzetvermindering (korting) erkennen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62651
|
+
"accounting.revrec.closedPeriodFallbackNote": " (geboekt in de volgende open periode \u2014 doelboekingsperiode gesloten; oorspronkelijke datum {{originalDate}})",
|
|
62179
62652
|
"accounting.revrec.discountDebitLineDescription": "Uitgestelde korting verlagen \u2013 schema {{scheduleId}}, periode {{periodDate}}",
|
|
62180
62653
|
"accounting.revrec.entryDescription": "Omzeterkenning voor schema {{scheduleId}}, periode {{periodStart}} - {{periodEnd}}",
|
|
62181
62654
|
"creditNotes.refundChargeName": "Terugbetaling voor factuur",
|
|
@@ -62188,7 +62661,9 @@ var nl = {
|
|
|
62188
62661
|
"invoices.outstandingProduct.descriptionPeriod": "Onbetaald bedrag van de factuur{{invoiceNumber}} van {{periodStart}} tot {{periodEnd}}",
|
|
62189
62662
|
"invoices.outstandingProduct.name": "Openstaand saldo",
|
|
62190
62663
|
"invoices.prorata.paymentForItem": "Gedeeltelijke betaling voor",
|
|
62664
|
+
"invoices.prorata.paymentForItemFullPeriod": "Betaling voor",
|
|
62191
62665
|
"invoices.prorata.refundForItem": "Gedeeltelijke terugbetaling voor",
|
|
62666
|
+
"invoices.prorata.refundForItemFullPeriod": "Terugbetaling voor",
|
|
62192
62667
|
"subscriptions.closingChargeName": "Afsluitkosten voor abonnement",
|
|
62193
62668
|
"subscriptions.correction": "Aanpassing vorige periode",
|
|
62194
62669
|
"subscriptions.updates.addCoupon": "Coupon toevoegen {{couponName}}",
|
|
@@ -62212,10 +62687,13 @@ var nl = {
|
|
|
62212
62687
|
var pl = {
|
|
62213
62688
|
"accounting.invoicePosted.entryDescription": "Zapis ksi\u0119gowy dla faktury {{invoiceId}}",
|
|
62214
62689
|
"accounting.transactionSettled.entryDescription": "Rozliczenie p\u0142atno\u015Bci dla faktury {{invoiceId}}",
|
|
62690
|
+
"accounting.transactionRefunded.entryDescription": "Zwrot za faktur\u0119 {{invoiceId}}",
|
|
62215
62691
|
"accounting.creditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}} dla faktury {{invoiceId}}",
|
|
62692
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Nota kredytowa {{creditNoteId}}",
|
|
62216
62693
|
"accounting.revrec.creditLineDescription": "Rozpoznanie przychodu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62217
62694
|
"accounting.revrec.debitLineDescription": "Zmniejszenie przychod\xF3w przysz\u0142ych okres\xF3w \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62218
62695
|
"accounting.revrec.discountCreditLineDescription": "Rozpoznanie kontra-przychodu (rabat) \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62696
|
+
"accounting.revrec.closedPeriodFallbackNote": " (zaksi\u0119gowano w nast\u0119pnym otwartym okresie \u2014 docelowy okres ksi\u0119gowy zamkni\u0119ty; pierwotna data {{originalDate}})",
|
|
62219
62697
|
"accounting.revrec.discountDebitLineDescription": "Zmniejszenie odroczonego rabatu \u2013 harmonogram {{scheduleId}}, okres {{periodDate}}",
|
|
62220
62698
|
"accounting.revrec.entryDescription": "Rozpoznanie przychodu dla harmonogramu {{scheduleId}}, okres {{periodStart}} - {{periodEnd}}",
|
|
62221
62699
|
"creditNotes.refundChargeName": "Zwrot za faktur\u0119",
|
|
@@ -62228,7 +62706,9 @@ var pl = {
|
|
|
62228
62706
|
"invoices.outstandingProduct.descriptionPeriod": "Nieop\u0142acona kwota z faktury{{invoiceNumber}} od {{periodStart}} do {{periodEnd}}",
|
|
62229
62707
|
"invoices.outstandingProduct.name": "Niezap\u0142acone saldo",
|
|
62230
62708
|
"invoices.prorata.paymentForItem": "P\u0142atno\u015B\u0107 proporcjonalna za",
|
|
62709
|
+
"invoices.prorata.paymentForItemFullPeriod": "P\u0142atno\u015B\u0107 za",
|
|
62231
62710
|
"invoices.prorata.refundForItem": "Zwrot proporcjonalny za",
|
|
62711
|
+
"invoices.prorata.refundForItemFullPeriod": "Zwrot za",
|
|
62232
62712
|
"subscriptions.closingChargeName": "Op\u0142ata za zamkni\u0119cie subskrypcji",
|
|
62233
62713
|
"subscriptions.correction": "Korekta poprzedniego okresu",
|
|
62234
62714
|
"subscriptions.updates.addCoupon": "Dodaj kupon {{couponName}}",
|
|
@@ -62252,10 +62732,13 @@ var pl = {
|
|
|
62252
62732
|
var pt = {
|
|
62253
62733
|
"accounting.invoicePosted.entryDescription": "Lan\xE7amento cont\xE1bil para a fatura {{invoiceId}}",
|
|
62254
62734
|
"accounting.transactionSettled.entryDescription": "Liquida\xE7\xE3o de pagamento para a fatura {{invoiceId}}",
|
|
62735
|
+
"accounting.transactionRefunded.entryDescription": "Reembolso da fatura {{invoiceId}}",
|
|
62255
62736
|
"accounting.creditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}} para a fatura {{invoiceId}}",
|
|
62737
|
+
"accounting.standaloneCreditNotePosted.entryDescription": "Nota de cr\xE9dito {{creditNoteId}}",
|
|
62256
62738
|
"accounting.revrec.creditLineDescription": "Reconhecer receita \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62257
62739
|
"accounting.revrec.debitLineDescription": "Diminui\xE7\xE3o da receita diferida \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62258
62740
|
"accounting.revrec.discountCreditLineDescription": "Reconhecer contra-receita (desconto) \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62741
|
+
"accounting.revrec.closedPeriodFallbackNote": " (lan\xE7ado no pr\xF3ximo per\xEDodo aberto \u2014 per\xEDodo cont\xE1bil de destino fechado; data original {{originalDate}})",
|
|
62259
62742
|
"accounting.revrec.discountDebitLineDescription": "Diminui\xE7\xE3o do desconto diferido \u2013 cronograma {{scheduleId}}, per\xEDodo {{periodDate}}",
|
|
62260
62743
|
"accounting.revrec.entryDescription": "Reconhecimento de receita para o cronograma {{scheduleId}}, per\xEDodo {{periodStart}} - {{periodEnd}}",
|
|
62261
62744
|
"creditNotes.refundChargeName": "Reembolso pela fatura",
|
|
@@ -62268,7 +62751,9 @@ var pt = {
|
|
|
62268
62751
|
"invoices.outstandingProduct.descriptionPeriod": "Valor em aberto da fatura{{invoiceNumber}} de {{periodStart}} a {{periodEnd}}",
|
|
62269
62752
|
"invoices.outstandingProduct.name": "Saldo em aberto",
|
|
62270
62753
|
"invoices.prorata.paymentForItem": "Pagamento proporcional por",
|
|
62754
|
+
"invoices.prorata.paymentForItemFullPeriod": "Pagamento por",
|
|
62271
62755
|
"invoices.prorata.refundForItem": "Reembolso proporcional por",
|
|
62756
|
+
"invoices.prorata.refundForItemFullPeriod": "Reembolso por",
|
|
62272
62757
|
"subscriptions.closingChargeName": "Taxa de encerramento da assinatura",
|
|
62273
62758
|
"subscriptions.correction": "Ajuste do per\xEDodo anterior",
|
|
62274
62759
|
"subscriptions.updates.addCoupon": "Adicionar cupom {{couponName}}",
|
|
@@ -62390,10 +62875,16 @@ function buildHttpClient(dependencies) {
|
|
|
62390
62875
|
return response;
|
|
62391
62876
|
}, (error48) => {
|
|
62392
62877
|
if (error48.response) {
|
|
62393
|
-
const { config: responseConfig, status } = error48.response;
|
|
62878
|
+
const { config: responseConfig, status, headers } = error48.response;
|
|
62394
62879
|
const timeStart = responseConfig.metadata.timeStart;
|
|
62395
62880
|
const responseTime = timeStart ? Date.now() - timeStart : void 0;
|
|
62396
|
-
logHttpResponse(logger2, {
|
|
62881
|
+
logHttpResponse(logger2, {
|
|
62882
|
+
request: toLogRequest(responseConfig),
|
|
62883
|
+
statusCode: status,
|
|
62884
|
+
// Surfaces upstream response headers on error responses (e.g. the
|
|
62885
|
+
// rate-limit headers on a 429); redacted in logHttpResponse.
|
|
62886
|
+
responseHeaders: headers
|
|
62887
|
+
}, responseTime, { metadata: { error: error48.message } });
|
|
62397
62888
|
}
|
|
62398
62889
|
return Promise.reject(error48);
|
|
62399
62890
|
});
|
|
@@ -62486,6 +62977,9 @@ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/
|
|
|
62486
62977
|
|
|
62487
62978
|
// ../hyperline-mcp/build/server/server.js
|
|
62488
62979
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
62980
|
+
var defaultToolOutputSchema = {
|
|
62981
|
+
result: external_exports.unknown()
|
|
62982
|
+
};
|
|
62489
62983
|
|
|
62490
62984
|
// ../hyperline-mcp/build/session/sessionKey.js
|
|
62491
62985
|
import { createHmac } from "node:crypto";
|